電子ボリューム本体基板。
CS3310基板
制御部はプログラムが必要なので後からの製作に回して、コアとなる電子ボリュームのデバイス基板を先に製作します。
今までの基板のデザインに合わせてオーディオ入出力と制御端子をピンヘッダで実装し、電源はJSTのXHで実装です。製作するにあたりデータシートを再度見直すとデジタル系のVD+がアナログ系のVA+より先に立ち上がると内部でラッチアップを起こすと記載があります。
ですのでデータシート通りに電源基板の±5Vの+5Vから10Ωの抵抗(変換基板の下)を介してVD+に供給する回路で製作しました。推奨回路ではデジタルとアナログのGNDが別になっているのですが正電源側の供給元が同じでは分離できませんのでレイアウトは気を付けましたが妥協して共通にしています。
タイミングダイアグラム(CS3310データシートより)
クリックすると拡大表示されます
CS3310との通信ですがCSとSCLKとSDATAIを用い16bitデータを流すSPIに準拠した通信制御方法です。データの流し順としてCSをLoにした後CLKをLoにし、データをHiまたはLoにしてから最短20ns後にCLKをHiにする事でデータをセットアップします。全ビットデータを送信したら最後にCLKをLoに戻しCSをHiにする事でデータが確定しボリュームの設定が行われます。
多分ArduinoのSPIライブラリ関数で操作できそうなのでそちらを使用して開発に臨みたいと思います。
【余談】
今回ピン間1.27mmのSOPパッケージのデバイスを用いるために変換基板を用いたのですがCS3310は一般的なSOPのピン幅よりも大きくて10.32mmもあります。秋月の変換基板(106541/最大パッド幅8.95mm)ではパッド間の幅が足りずに実装困難状態でした。無理やりピンを折りたたんで実装したのですがちょっと無理があるため仕方なく手持ちにあったダイセン工業の変換基板(DO16/最大パッド幅11.8mm)を用いて別途追加で実装しました。