スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

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

CS8406_02

S/PDIFを出力するデジタル・オーディオ・トランスミッタ CS8406 の制御テストを行っています。ソフトウェアモードで使用してマイコンへはSPIでつなぎます。
比較的簡単なI/Fだからものの数分で完成…かと思いきや、数週間を費やしてしまいました。原因は、1ピンの半田付け不良という何ともトホホな結果です。その後、S/PDIFのChannel Statusを設定する際に奇妙な現象(仕様)にぶち当たりました。

CS8406ではChannl Statusを指定する事ができますが、マイコンからちゃんとCS8406に設定できているか確認しようとしたら、どうも変な値が返ってくるばかり。


それぞれのレジスタへ値を設定しつつH'00~H'37のレジスタを連続で読んでいると以下の事が分りました。

1. RUN=0の時は全て0になるのでこの時に書いても有効ではない。
2. RUN=1の時はH'20~H'37の値が常に移動している。
3. MUTEAES=1としてもH'20~H'37の値が常に移動している。
4. EFTCI=1としてからH'20~H'37の値を書き込み、EFTCI=0とすると
  移動はしているが、書き込まれる順は正しい。
5. 4.同様にある位置(H'20等)へ書き込むと読み込み位置は移動して
  いるが、前後のデータからすると正しい位置へ書き込まれている(?)

これらの結果より、H'20~H'37の値はRUN=1中にしか設定できなくて、指定の場所へは書き込みできるが、読み込んだ時に移動している。→ F buffer を直接読み込んでいる(?)のではと推測します。


正確な情報を得るにはS/PDIFで出力された波形を解析するか、レシーバICで取得したデータをみるかになりますが、私の現在の環境ではほぼ不可能であります。

たぶん、正しく設定されているだろうとして次作業へ移ることにします。


テストに使用したソースを置いておきます。
cs8406_test_02.zip

--------------------
用語は、トランスポータではなく、トランスポートらしいです。

SDメモリカードにLPCMを入れて転送する方法を ちあきさん + Bunpeiさん が作成されています。
完全に先を越されてしまいました…。

まー私の方は比較的簡単な構成にしていますので、誰でもコピーできる(かもしれない)という路線で作っていきます。
スポンサーサイト

コメントの投稿

非公開コメント

Channel Status用レジスタへのアクセス

遅ればせながら、レジスタアドレス20h~37hへの設定を試してみました。

アドレス範囲00h~37hを連続でリードすると、20h以降が本来の位置より数バイト後ろにずれてリードされるようです。(最初これでハマりました)
でもReserved領域を避けて、00h~13h、20h~37hと別々にリードしたら大丈夫でした。
もしかして『H'20~H'37の値が常に移動』はこれとは関係ないでしょうか?

Re:Channel Status用レジスタへのアクセス

おおっ!
有力な情報ありがとう御座います。

私の場合、00h~37h全てをリードすることしか試していませんでした。
Reserved領域は何をしてくれるか分りませんからね…。
黒ねこ時計 くろック D02
プロフィール

jujurou

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

カレンダー
07 | 2017/08 | 09
- - 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 31 - -
最新記事
最新コメント
カテゴリ
ユーザタグ

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

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

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。