ケンさんのプログラムを横目で眺めつつ色々部品の検討中。
Arduino自体はなんでもよさげ…まぁ今後遊ぶ事も考えてArduino Duemilanove328を、出来上がったアプリの必要システム要件を見て実際のDAC埋め込みはちっこいのを考えるかも…
LCDはまぁなんでもよさそう…適当に16文字x2行のをピックアップし、データバスの4ビットを潰して残り4ビットでやる形でやればよさそう。関連するピンヘッダも調達。Arduino+LCD乗っける基板も必要そうだが…こっちは当面ブレッドボードで仮組み予定。
色々検討したところ…
・VRは普通のVRの電圧値をArduinoのADCでデジタル化し、その値を変換かけてデジタルボリュームとしてレジスタに突っ込んでいる。特に何もしなくてよさげかな…将来的にデジタルボリューム使うようになった際に考えよう。
・SPDIF/I2S切り替えスイッチは…I2S以外で使う気ないからI2S固定でいいや(笑)
・デジタルフィルタ切り替えスイッチは…まぁ、これも後で考えよう
・DPLLのレンジ切り替えと、シリアル入力のフォーマット切り替えは同じロータリースイッチをアナログ入力で読んで変換かけている模様。12連くらいのロータリースイッチを適当な間隔で抵抗貼り付けてコントロールすればいいかしら…
んで、ふと気づく…(順序入れ替えてます)
lcd.print("I2S32bit");
format = Bxxxxxxxx;
lcd.print("I2S16bit");
format = Bxxxxxxxx;
lcd.print("I2S32bit");
format = Bxxxxxxxx;
lcd.print("RJ 32bit");
format = Bxxxxxxxx;
lcd.print("RJ 24bit");
format = Bxxxxxxxx;
lcd.print("RJ 16bit");
format = Bxxxxxxxx;
lcd.print("LJ 32bit");
format = Bxxxxxxxx;
下位4ビットは固定(xxxx)。
上位2ビットでビット幅、その次の2ビットでフォーマットを指定しているように見える。
フォーマット指定はI2S(xx or xx ?) RJ(xx) LJ(xx)で合ってるだろう。
問題は、ビット幅。多分32bit(xx) 24bit(xx) 16bit(xx) なんじゃないだろうかと推測するが、I2S32bit(デフォルトにある奴)が納得いかん。
そーいやI2S24bitもないなぁ…ということで、恐らくdefaultがI2S24bitでデータが(xxxxxxxx)の間違いではないかと思われる。
そういやDPLLの
case 7:
lcd.print("HighBand");
return xxxxxxxx;
もreturnの型がB指定されてないので、凄い値が帰りそう…break文も抜けてるとこが一箇所あるな…
とりあえず質問を投げてみて、回答待ちすることにします。ついでに、VRやロータリースィッチの抵抗値も聞いてしまえw
===追記===
ES9018のレジスタ内容への言及は色々あってまずそうなので、削除。
0 件のコメント:
コメントを投稿