VHDLを書く前に、どんな回路なら動きそうか考えた。
その2で作った図は64fs 16bit右詰めからの変換だったが、
今回は64fs 32bit I2Sを48fs 16bit 右詰めに変換になる。
とりあえず上図の様に考えた。当然、動作検証はしていない。
LRCKの変化をチェックする為の74164は実際には7474で
作れるが、まあ実際に作らないと思うのとICの数が減る訳
でも無いので上の回路のコピペで書いた。NOTの為に7404
を追加するのも勿体ないので7486でNOTを作った。
このままVHDLにするとxc2c64aに入らない気がする。
一番上のビットシフトの段数を減らす必要があるだろう。
ここまで書いて思ったのだが、I2Sからの変換よりも右詰め
からの変換の方が一番上のビットシフトの段数が減りそうだ。
(PIC32MXは右詰め出力も可能)
あと、FIFOメモリがあればもっと簡単になりそうな気がする。
※訂正、図に7447と書いてあるが、7474です。
0 件のコメント:
コメントを投稿