USBオーディオ出力を試す

by K.I
2016/12/20〜

Index


概要

USB Audio I/F

No. Name Description
1 DOUT データ出力・16bit I2Sformat
2 LRCLKO Left/Rightクロック出力 (サンプリングクロック)
3 BCKO ビットクロック出力
4 SCKO システムクロック(256fs)
5 GND グラウンド

D級アンプ

No. Name Description
1 Vin 2.5〜5.5Vだが、通常は+5Vとする
2 GND グラウンド
3 SD_MODE 0.16V以下:Shutdown、0.16〜0.77V:Left+Right、0.77〜1.4V:Right、1.4V以上:Left
4 GAIN 15dB:100kΩPullDown、12dB:GND、9dB:default、6dB:Vin、3dB:100kΩPullUp
5 DIN Data Input
6 BCLK Bit Clock
7 LRCLK Left/Right Clock

スピーカーをつなぐ


1GNDと+5V電源を入れると、5本になるけど。

[top]

Windowsで USB Audio出力

正弦波生成

ロジックアナライザで確認

0.985倍の謎

Dout 計算値 Dout/計算値
0 0 -
4582 4652 0.984952709
9072 9211 0.984909348
13378 13582 0.984980121
17412 17679 0.984897336
21092 21417 0.984825139
24344 24721 0.984749808
27104 27525 0.984704814
29312 29770 0.984615385
30928 31412 0.984591876
31916 32418 0.984514776
32260 32766 0.984557163
31952 32451 0.98462297
30994 31478 0.984624182
29407 29867 0.984598386
27225 27651 0.984593686
24491 24874 0.984602396
21261 21593 0.984624647
17600 17875 0.984615385
13583 13795 0.984632113
9288 9434 0.984524062
4808 4883 0.98464059
228 233 0.978540773
-4353 -4421 0.984618865
-8847 -8986 0.984531493
-13164 -13370 0.984592371
-17212 -17482 0.984555543
-20913 -21240 0.98460452
-24192 -24568 0.984695539
-26978 -27397 0.984706355
-29220 -29672 0.984766783
-30869 -31345 0.984814165
-31892 -32383 0.984837723
-32270 -32765 0.984892416
-31993 -32482 0.984945508
-31067 -31542 0.984940714
-29511 -29962 0.9849476
-27357 -27775 0.984950495
-24648 -25025 0.984935065
-21441 -21768 0.984977949
-17798 -18070 0.984947427
-13795 -14006 0.984935028
-9513 -9658 0.98498654
-5036 -5114 0.984747751
-459 -466 0.984978541

何故か、僅かに計算値よりDoutが小さい。
どうやら、0.985倍になっているようだ

ピークリミッタを無効に

Dout 計算値 Dout-計算値
0 0 0
4652 4652 0
9211 9211 0
13582 13582 0
17679 17679 0
21417 21417 0
24720 24721 -1
27525 27525 0
29770 29770 0
31411 31412 -1
32418 32418 0
32766 32766 0
32451 32451 0
31478 31478 0
29868 29867 1
27651 27651 0
24875 24874 1
21593 21593 0
17874 17875 -1
13795 13795 0
9434 9434 0
4883 4883 0
233 233 0
-4421 -4421 0
-8986 -8986 0
-13371 -13370 -1
-17482 -17482 0
-21241 -21240 -1
-24568 -24568 0
-27398 -27397 -1
-29671 -29672 1
-31346 -31345 -1
-32383 -32383 0
-32766 -32765 -1
-32482 -32482 0
-31542 -31542 0
-29963 -29962 -1
-27775 -27775 0
-25025 -25025 0
-21768 -21768 0
-18070 -18070 0
-14006 -14006 0
-9658 -9658 0
-5114 -5114 0
-466 -466 0

I2Sの出力波形


2I2Sの解析機能があって良かった。これがなかったら、かなり大変だったと思う。
3まさか、0.985というキーワードで見つかるとは思わなかったんだけど。。
4サンプリング周波数は44.1kHzのはずなので、これは測定誤差なのかな?
5まぁ好意的に見ればだけど。なにか理由があるとは思うんだけど、やっぱり邪魔だなぁ。。
6実際、0.985倍になっている理由が分かるのに随分と時間を食ってしまった。

[top]

MacOSXで USB Audio出力

フィルタが掛かっている?

Dout 計算値
0 0
118 4652
4092 9211
8649 13582
12412 17679
16460 21417
19918 24721
23159 27525
26029 29770
28335 31412
30309 32418
31626 32766
32494 32451
32767 31478
32471 29867
31668 27651
30257 24874
28386 21593
25994 17875
23165 13795
19954 9434
16376 4883
12545 233
8477 -4421
4276 -8986
2 -13370
-4280 -17482
-8477 -21240
-12541 -24568
-16382 -27397
-19946 -29672
-23171 -31345
-25994 -32383
-28377 -32765
-30272 -32482
-31650 -31542
-32486 -29962
-32767 -27775
-32486 -25025
-31650 -21768
-30272 -18070
-28376 -14006
-25995 -9658
-23169 -5114
-19946 -466
-16383 4190
-12539 8762
-8481 13156
-4276 17284
1 21062
4277 24413
8480 27269
12539 29572
16383 31276
19947 32346
23170 32761
25996 32512
28377 31604
30272 30056
31650 27898
32486 25175
32766 21942
32486 18264
31650 14217
30272 9881
28376 5344
25995 700
23169 -3958
19946 -8537
16383 -12942
12540 -17085
8480 -20882
4276 -24256
0 -27138

あぁ、グラフを描いてみるとよく分かるが、周期が全然違っている
どうやら、48ks/sのようだ

出力レートの変更

Dout 計算値
0 0
4652 4652
9211 9211
13582 13582
17679 17679
21417 21417
24721 24721
27525 27525
29770 29770
31412 31412
32418 32418
32766 32766
32451 32451
31478 31478
29867 29867
27651 27651
24874 24874
21593 21593
17875 17875
13795 13795
9434 9434
4883 4883
233 233
-4421 -4421
-8986 -8986
-13370 -13370
-17482 -17482
-21240 -21240
-24568 -24568
-27397 -27397
-29672 -29672
-31345 -31345
-32383 -32383
-32765 -32765
-32482 -32482
-31542 -31542
-29962 -29962
-27775 -27775
-25025 -25025
-21768 -21768
-18070 -18070
-14006 -14006
-9658 -9658
-5114 -5114
-466 -466
4190 4190

[top]

raspberryPiで USB Audio

出力サンプルレートの変更


[top]

まとめ

参考


[top] [プログラムの部屋に戻る]