1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ルーターでI2S

Last updated at Posted at 2022-07-20

PC Audioは以下の様なパターンがあります。

PC-AUDIO.png

これまでやったことがなかった一番下のタイプを、AtherosのPCMドライバーで試してみました。

ターゲットはハードオフで324円で購入したAtherosのAR9341を使ったルーターです。

I2Sは機器内での配線の為の規格で、あまり長く引き伸ばすこはできません。しかしクロックが信号線に含まれるためにより正確な処理が可能です。

SOCでI2Sのサポートがあってもマスタークロックのない3本の信号線のものがありますがAR9341は4本の正式なI2Sのサポートです。

I2Sは4本必要なのですが、ちょうどルーターのLANのLEDが4つありそれを使うことにします。LEDはGPIO1,2,3,4に接続されていました。

写真(2022-06-19 7.57).jpg

LEDではなくI2Sで使うためC394,C398,C397,C396を外します。プルアップやダンパー抵抗はあっても動くことが多いので、そのままにしておきます。

GPIOのPIN MUXでGPIOからI2Sに変更します。hintsはこの様にしました。

# pcm
hint.pcm.0.at="apb0"
hint.pcm.0.maddr=0x180b0000
hint.pcm.0.msize=0x1000
hint.pcm.0.irq=7

# I2S
hint.gpio.0.func.1.gpiofunc=15
hint.gpio.0.func.1.gpiomode=1
hint.gpio.0.func.2.gpiofunc=14
hint.gpio.0.func.2.gpiomode=1
hint.gpio.0.func.3.gpiofunc=13
hint.gpio.0.func.3.gpiomode=1
hint.gpio.0.func.4.gpiofunc=12
hint.gpio.0.func.4.gpiomode=1

gpiofuncはデーターシートを参考にしています。

image.png

LEDを付けたままアノード側から信号を拾い出します。LEDを付けたままの方がパターンの強度が保たれます。

48Kのマスタークロックは256fsです。

pcmドライバーのコードはここにあります。

新潟精密のDACにつないでWBGOを聞いてみました。自分が作ったと言うだけどいい音に聞こえますし、オカルトUSBケーブルも必要ありません。

IMGP0026.JPG

シルバーの箱はぺるけさんのFET式差動ヘッドフォンアンプです。

コネクタはUSB DAI同じにしました。

Pin Function
1 5V
2 GND
3 MCLK
4 BCLK
5 LRCLK
6 SDATA

FN1242,PCM5102はOKでしたがTDA1543,AK4382AはNGでした。まだ調整が必要なようです。

STEREO_CONFIGのI2S_DELAYが現在0なのですが1で試してもだめでした。1にするとちゃんと鳴ってるFN1242にもノイズが出ます。

このルーターはブートローダーをu-boot_modで焼きなおしてあります。

そのままつないだらノイズまみれだったFN1241がバッファに74HC125を入れたところちゃんと鳴るようになったのですが、74LVC125に変えたらまったく鳴らなくなりました。FN1242は鳴ります。LVCの方がいいというページもあったのですが。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?