/ ブレークスルー AK4490 I2C 通信 設定

`24.6:500:281:0:0:DCIM0539:left:1:1::
| Main | シェル上のスクリプトではコントール出来る事は分かったので
`実用に向けてマイコン制御でもコントール出来るか確認してみた。
`一番気になる部分はPCM-DSD切り替えの自動化であると思うが
`ある方に基本プログラムを見せていただいたお陰で
`ハード改造を含めて一日で出来るようになった(笑)
`ラズパイといっしょでgpioピンが開放されているため
`DIYINHK製DDCのDSDON端子のDSD再生時の信号を
`H or Lでセンスしてif文で切り替えるオーソドックスな方法で問題無いようだ?!
`この部分のプログラムもArduino Uno Rev3コントロールソフト添付の
`サンプルプログラムをちょっと弄っただけだ。
`次は鬼門のボリュームとミュートコントロール...
`シェル上のスクリプトで予行演習できるのであんまり深い穴には落ちないで済む(笑)
`27.2:481:500:0:0:DCIM0557:left:1:1::
`21.7:500:281:0:0:DCIM0558:left:1:1::
`参考リンク: FET搭載 I2C用双方向レベルシフタ 
`http://www.amazon.co.jp/gp/product/B014KBO6GI/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1
»

ブレークスルー AK4490 I2C 通信 設定

この二ヶ月ぐらい寝ても覚めても考えていた、やってみたかったAK4490のシリアルモードによる設定と動作
学校で習った16進数と2進数などとっくの昔に忘れ去り不眠症の霞がかった頭を絞りに絞った(笑)
ついに出来た!!マイコン屋さんのように出来る人からみれば下らない事なのかもしれない。
マイコンを使用せずLinuxのシェルレベルからI2S通信でレジスタへの書き込みを行って
音を出して且つ色々な制御をする...理屈では出来るはずだったがやってみると意外に難関であった。
旭化成のカタログを読んでそれらしい?値を書き込んでみても雑音さえしない情けない状態がかなり続いた
だがしかしズルを思いついた。他のシリアルモードで音が出ている状態でのDAC_ICの内部設定が読めればと(笑)
やったことがあればおわかりだと思うがI2Cの仕様でマスターからしか作業はいっさい出来ない様になっている。
I2Cにラズパイを繋いでもディテクト出来ない。..これで悩んでいた。待てよと...音が出た後にマスターになっている
XMOSをそっとはずしてラズパイを繋げるとダンプ出来た!!!それと同じ状態をラズパイのコマンドで書き込んでみると
見事に音が出た!!嬉しい!!知識の有る方に質問してもある方にははぐらかされ、ある方はアンタには分からんとバカにされ
絶対出来るはずとの妄念に突き動かされて音が出るところまで来た。C言語もコンパイルもいらない。
PICも出来なくても大丈夫(笑)
コマンドを打つ事で実現できる。ある程度設定が見えたらシェルスクリプトを書けば終わり!!
画像はDIYINHKのXMOSから切り離してラズパイのI2C通信端子を引っ張り出して繋いだ状態です。
それでも次の段階ではマイコンボード「Arduino Uno R3」を購入してラズパイを組み込まない場合にも
対応出来るようにノウハウを得るつもりです。
DIYINHK製のDAC基板をもう一枚購入すればデュアルモノだって可能になるかも(^_^;)!!!
      

DCIM0545


ラズパイからI2C通信で設定を行う。

DCIM0546


もちろんXMOS基板からのI2C通信の配線はしていない(笑)

— posted by くま at 10:19 pm   commentComment [0]  pingTrackBack [0]

この記事に対する TrackBack URL:


コメントをどうぞ。 名前(ペンネーム)は必須で、ウェブサイトURLはオプションです。

ウェブサイト (U):

タグは使えません。http://・・・ は自動的にリンク表示となります

:) :D 8-) ;-) :P :E :o :( (TT) ):T (--) (++!) ?;w) (-o-) (**!) ;v) f(--; :B l_P~ (QQ)

     

[Top ↑]

<< 2016.3 >>
SMTWTFS
  12 345
6789 1011 12
1314 1516171819
2021222324 2526
2728293031  
 










T: Y: ALL: Online:
ThemePanel
Created in 0.0205 sec.