DIX9211 PCM5102A? PCM1792A? 2015/03/07 2016/08/07 追記
○眠っていたDIX9211を作ってテストしてみます。
まだまだ書きかけです。下のを見て再現されて、問題有っても責任は持ちません。
同時に切り替えたわけではないので、アレですが。。
PCM5102Aが、合計金額を考えるといいかもしれません。
PCM1792Aは、金額的に不利かもです。
別ページのTPA6130A2も金額的&部品点数を考えるといい感じかと思います。
両方ともケースに入れてみないと聞き比べてみましょう。
●DIX9211 PCM1792A 2016/08/07
少し前にケースに詰め込みました。
●PCM1792A 2015/04/29 DIX9211とPCM1792A,ヘッドホンアンプ
テスト中です。
上側は、コントローラーとヘッドホンアンプ。真ん中は電源。
基板的には、CN5のシルク間違え。コンデンサのシルク反対1コ間違い有り。
配線などには、問題ないと思います。小さい液晶しかつけていないので、チャンネル表示など見えない。
strawberry-linuxさんの液晶がどこかにあると思うので、探そう。
図面は、ココです。
●怪しくハコに 2015/03/28 DIX9211とPCM5102A,ヘッドホンアンプ
スイッチの手持ちがないので、やっつけで。
入力チャンネルとレジスタの変更が出来るようにしてあります。
チャンネル切り替えは、スイッチダイレクトで切り替えた方が便利でしょう。
変えることがないので、とりあえずはこのままで。
PIC16F1825を使用しています。
PICの新しいF1シリーズ、16F1823.16F1825,16F1829あたりが非常に使いやすく思えて
最近は、こればかりです。18F26k22も使いやすい。
古い物を処分?ヤフオクで安く出さないと、ICケースがいっぱいです。
●コントロール簡易版 PIC12F1822(8Pin)
これが大変シンプルで、イイかと。
テストでつないでいるのでアレですが、(クリックで大きくなります。)
液晶は、SB0802G。後、PIC12F1822
サンプリング周波数表示。白いスイッチで、入力切り替えのみ。
図面・部品表とプログラム一式。個人利用でご自由に。prg修正2015.05.04
SCLのところは、プログラムを書き込み保護気分で抵抗入れてます。
★★ PCM1792A(TI全般)も同じ感じで、書けると思います。★★
部品適当に変更してください。プログラムも。
いじくりながら使用していますが、とても使いやすいように思います。
●コントロール簡易版 PIC18F26k22 いろいろ追加しようとする方向け
試してみようと思われる方用に、VR,入力CH,サンプリング周波数取得のバージョンをおいておきます。
こちらです。←クリックで落とせます。個人利用でお願いします。 2015/03/08
元気有れば、コメントをもう少し入れます。
解凍後、作成したプロジェクトフォルダに入れて、ファイルを登録していただけると使用できます。
下の説明の白と緑SWで操作します。
コンローラー図面。
ブレッドボードにコントローラーくんだもの
DIX9211の実態配線図?みたいな物もココに。字&絵が汚くアレですが。
●ボード
手作業で、コネコネ。基板頼むのが、ベターかも。
パスコン入れてください。
テスト中。
●図面
取説の49ページで組み立てます。ただし、上のFILT・VCC・AGNDのところ変です。気をつけてください。
DIR9001見たくつなげば、okです。
B0-3は、サンプリングを表示するように設定するので、バッファを入れてLEDでもつけてください。
液晶にも表示するので、必要はないですけど。レジスタ読めなかったときの確認用です。
I2C選択する為27PinをGNDに、アドレス23,26はGND。これで、0x80です。
リセットは適当なICを。私は、秋月のTCM809Rを使用しました。
●コントロール
とりあえず動かすには、
0x34 0b01000000 入力0選択,0用ampをenable。
0x6F 0b01010000 MPIO設定。サンプリング表示をportB。
0x74 0b10111010 port割り当て。0x6Fで決まってしまう?変更出来ない?
0x75 0b11011100 port割り当て。0x6Fで決まってしまう?変更出来ない?
0x79 0b11110000 port 出力指定。
これだけ書けば、問題ないです。
実際、には・・・(タイミングは47ページ)
mainに 上段:入力reg初期設定 下段:サンプリング周波数reg取得
writeDIX9211(DIX9211, 0x34, 0b01000000, TW_WRITE); // DIR Input Biphase
Source Select, Coax Amplifier Control
sfsout = readDIX9211(DIX9211, 0x39, TW_READ); // Sampling Frequency
しておき。
別のところに
/**********************************************
* DIX9211 コマンドを送る
***********************************************/
void writeDIX9211(unsigned char chip_address, unsigned char address, unsigned char data, unsigned char rd_wr){
i2c_start(); //スタート条件出力
i2c_wait; //出力完了待ち
DataTrans( chip_address | rd_wr); //チップアドレスと制御データ出力
DataTrans( address ); //上位アドレス出力
DataTrans( data ); //下位アドレス出力
i2c_stop(); //ストップ条件出力
}
しておけば問題ないです。
読むには、
/**********************************************
* DIX9211 データ読む
***********************************************/
char readDIX9211(unsigned char chip_address, unsigned char address, unsigned char rd_wr){
char data;
i2c_start(); //スタート条件出力
i2c_wait; //出力完了待ち
DataTrans( chip_address | 0x00); //チップアドレスと制御データ出力
DataTrans( address ); //上位アドレス出力
i2c_repeat_start();
DataTrans( chip_address | rd_wr); //チップアドレスと制御データ出力
data = i2c_read_byte(0x00);
i2c_stop(); //ストップ条件出力
return(data);
}
こんな感じです。
このあたりは、他のチップをいじっている方は、全く問題ないと思います。
WM8741(WM8742)のところにも書いているので、不明であれば参考にしてください。
↑クリックで、飛びます。
ソースをそれぞれ用にいじれば、問題ないです。(怪しいところ直してね。)
まだ、私自身reg内容すべて確認していません。何が出来る?かは不明。
Tiのチップは、説明書はわかりやすいと思います。
とりあえず HEX です。2015/03/07
レジスタ番号は存在するところだけですが、R/Wは考慮していません。ReadOnlyでも、書きに行く。
動作確認的な感じです。バグったらリセットで解決。
リセットしても入力0(上記設定だと)に信号を入れておけば、何も問題なく(ノイズもなく)動きます。
ボードは先のWMのページを見てください。
●現在操作法(基本的に前のと同じ)
A.電源投入時。 |
|
B. CH SEL切り替え(白) |
|
C. UP(緑)もしくはDOWN(ダイ) |
|
D. カーソルが出て、 |
|
E. 次に移動。再度UPorDOWN。 |
|
|
|