SDカード・トランスポートの作成(その24)

CPLDの回路構成です。

para_siri_16bit


CPLDではマイコンから渡される L/R チャネルの16bitパラレルデータを CS8406 へ渡すためにシリアルデータへ変換します。また、そのクロックを外部(2系統)からもらい メインクロック(512fs)、ビットクロック(64fs)、ワードクロック(fs)を生成します。こうする事で、CPLD以前の状態に左右される事なく正確なクロックを刻む事ができます。2系統の内の1つは トランスポート内部クロックとし、他方を外部から供給できるようにすることによって、外部(DAC)との同期ズレをなくしたり、より正確なクロックを使ったり出来ます。

マイコンに L/R両チャネル 16bitx2 = 32bit のポートを使わすのは酷なので L→Rの順で16bitずつ転送します。バッファはL-chのみ用意して L-chのデータ分のラッチ信号を送ります。R-ch側は必要な時の直前(割り込みを入れる前)に取得することで、CPLD内のフリップフロップを削減します。マイコン側は割り込み信号がきたらL-chのデータをポートへ出力 → ラッチ出力 → R-chのデータをポートへ出力(そのまま維持)と制御します。

この構成により何とか XC9572XL(FF:72個) に収まりそうです。
チョイとテストベンチに手間取っていて確認ができていないので VHDLファイルは後日公開とします…。


スポンサーサイト

コメントの投稿

非公開コメント

黒ねこ時計 くろック D02
プロフィール

jujurou

Author:jujurou
運営HP:チャコの部屋
Twitter:jujurou

カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
最新記事
最新コメント
カテゴリ
ユーザタグ

ぺるけ RaspberryPi Linux TRminiWatterPart4 トランジスタ式ミニワッター MPD イーサネットコンバータ OpenOCD buildroot DAC FON2405E FM3ペリフェラル BeagleBoneBlack ODROID-U2 mingw FM3評価ボード library OpenGL FM4 bitbake KiCad 計測 プリアンプ Edison VMware 6P43P ミニワッター 6N6P シングル TL-WR700N 

月別アーカイブ
ランキング

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter