DACユニットの検討(製作編21)

f:id:torusanada98:20200728072922j:plain

製作編21

PCM1792AのI2Cインターフェースを使って、モノラルモードの設定を行います。記事作成に余裕があるため、9月4日まで隔日のアップロードを継続します。

I2Cについて

I2Cはフィリップスが開発したシリアルバスです。通信はSDA(シリアルデータ)とSCL(シリアルクロック)の2線式です、7ビットのアドレス空間のうち16の予約アドレスを除いた112個のノードが同一バス上で通信可能な規格です。今回はArduinoをマスター、2枚のDAC基板をスレーブとして通信を行います。話は逸れますが先日ニュースで通信規格仕様中で使用されるマスター、スレーブの呼称を変えるとの報道がありました。日本人にはあまりピンときませんが、奴隷制度を連想する事が理由だそうです。馴染んだ呼称を変える事はすぐにはできそうにありません。

PCM1792Aの仕様

下の抜粋は、PCM1792Aのアドレス設定に関する仕様です。

f:id:torusanada98:20200728072938p:plain

下位の2ビット(ADR0/1)がICの端子電圧で設定され、1つのバス上にアドレス4Ch~4Fhとして最大4個接続可能です。デジットキットではADR0/1を決める各端子がプルアップされているため、デフォルトでアドレスは4Fhとなっています。今回はこのアドレスと、ADR0を決める端子をGNDに落として4Ehの2つのアドレスを使用する事にしました。下記はこの仕様をソースコードに反映した部分です。

f:id:torusanada98:20200728072904p:plain

次はモノラルモード設定に関する仕様を確認します。設定機能はレジスタ20にあります。下記がレジスタ20の機能一覧です。

f:id:torusanada98:20200728072950p:plain

f:id:torusanada98:20200728072946p:plain

この中のMONOビットとCHSLビットを操作して各DAC基板をL/Rバランス出力モードに設定します。下記がMONOビットに関する仕様の抜粋です。

f:id:torusanada98:20200728072933p:plain

MONOビットはデフォルト0で、ステレオ動作となっています。このビットを1にセットします。次にCHSLビットの仕様を確認します。

f:id:torusanada98:20200728072855p:plain

CHSL=0でLチャンネル、CHSL=1でRチャンネル再生モードとなります。これらの設定は、ArduinoWire.hライブラリを使用すると簡単に設定できます。下記はそれぞれのDAC基板にL/Rチャンネルモノラル再生モード設定を行う関数(MonoLI2CとMonoRI2C)のソースです。関数の呼び値valueに設定するDAC基板のアドレスを入れてコールするとその基板が所定の動作モードに設定されます。

f:id:torusanada98:20200728072859p:plain

動作確認用のMain関数は、上記をコールしてループ処理でアイドリングさせています。

f:id:torusanada98:20200728072907p:plain

これで確認用のソースの準備が完了しました。

I2Cバス接続

次はDAC基板とAruduino間を接続します。ソースを作成するためにPCM1792Aの仕様を見ていたところ、このICは5V入力に対応していますが、出力レベルが3.3Vの為、回路変更する事にしました。作成すみのシールド基板を改造します。改造する回路図は以下のとおりです。

f:id:torusanada98:20200728072942p:plain

改造後のシールド基板かこんな感じとなりました。段々汚くなってきましたが、隠れてしまうので気にしない事にします。

f:id:torusanada98:20200728072928j:plain

次は配線用ケーブルをつくる為にDAC基板の仕様を確認します。

f:id:torusanada98:20200728072954p:plain

CN3B(5pin)がマイコンインターフェース用のピンヘッダです。シリアルバスは2芯のシールド線を使用する事とします。SPDIF出力ではシールド電線を使って痛い目にあいましたが、このバスは低速なので問題なしと判断しました。

f:id:torusanada98:20200728072911j:plain

1ピンと2ピンはプルアップされているので、アドレス4Fh設定の場合はオープンとなります。2本の電線は短くカットして端末保護チューブを被せて処理しました。

f:id:torusanada98:20200728072917j:plain

一旦、このケーブルを使って動作確認を行う事にします。本記事のアイキャッチ写真はDAC基板に作成したケーブルを接続した状態です。紙面が尽きたので確認は次回記事で紹介します。

 

つづく(製作編22)