SRC4137をDAIだけで動くようにしてみよう! 2020.4.7
SRC4137はDAIにDIX9211を使用し、ASRC(非同期サンプリングコンバータ)にAK4137を用いた、
DDC(ディジタルディジタルコンバータ)であり、PCM信号をDSDへ、またその逆にも変換できると同時に
サンプリング周波数も変更できる非常に多機能な基板です。
でも用途によってはDAIのみだけでよくASRCまでは不要と言う場合もあります。
そのときはわざわざSRC4137基板を用いなくても、DAI機能だけがあるその他の基板を用いればいいのですが、
DAI単体機能の基板ではLCDを設置できるものがありません。
LCDでDAIで選択している機器名を任意に編集して表示できるようにすれば、ケースに組み込んだときも操作が
しやすくなるかもしれません。というのも、いままではSPDIF入力のときは、単純にSPDIF0とかSPDIF1などと表示して
いましたが、これが、CDP-XXXX とか HDMI INPUT とか実際に接続している機器名が表示できれば
わかりやすくなります。
そこで、SRC4137基板をつかって、DAI単体を動かしてLCDに任意に表示できるようなソフトを作ってやろうというのが
今回の取り組みです。これができれば、DAIを取り付けていない、DAC4499と2WAY化したDIV5142基板に搭載しようかと思っています。
完成したら、これにDAIとして搭載予定です。
部品を準備
SRC4137の基板はありますが、手元のDIX9211の予備が少ないこともあるので、
部品箱を探して評価用に変換基板に取り付けたものを探すことに。
そこから、DIX9211を含めて必要な部品を再利用です。
QFPのICをとりはずすのも、だいぶ慣れてきました。
DIX9211の評価時につかった変換基板をばらして部品を再利用です。
これだけ再利用できます。
基板の再組み立て
新しい基板を用意して、DAIを動かすのに必要な部品だけを搭載です。
AK4137を搭載しないとなると、それに付随する発振器や分周回路が不要になるので
必要な部品はとても少なくて済みます。
必要な部品を搭載しました。かなり少ないです。
黄色線の内側のみが実装エリアです。
ソフトを書いていきましょう
今回はDIX9211ではメインの出力ポートはダイレクトにAK4137に接続されているので、そのまま出力端子
として取り出すことはできません。そのため、SRC4137では入力可能なPCMコネクタが3つありますが、
入力は2個として、1個は出力コネクタに変更します。
入力はPCMが2個で、SPDIFが4個(同軸2、ディジタル2)になります。
PCM(DSD)の入出力こういう形になります。
DAI自体の制御ソフトはいままでに書いているのですが、表示する文字の編集ソフトがすこし時間がかかりそうです。
基本部分は完成 2020.4.10
なんとか、一気に基本部分を書き上げました。まだまだバグはありますが週末にかけて修正していきましょう。
2004のLCDをとりつけ状態です。上2行がタイトルで、3行目が入力、4行目が周波数表示です。
周波数は入力がないのでレンジオーバの表示になっています。
一行目のタイトルを変更している様子です。
1602のLCDも対応です。この場合はタイトル表示はありません。
入力表示を編集してみました。
タクトスイッチをつかって編集するのですが、キーの長押しでリピートはかけていますが、
キャラクター文字が200ほどあるので、選択に結構時間がかかるときがあります。
キーの長押しのリピート速度はかなり速くしたほうが良さそうです。
BCK周波数表示対応 2020.4.11
入力信号の周波数を得る場合、DIX9211のあるレジスターを読み込めばLRクロックの周波数を知ることができます。
LRクロックですから、いわゆるPCM信号時のサンプリング周波数になります。
PCM信号のクロック周波数はDIX9211のレジスタから知ることができます。
それに大して、DSD信号の場合のクロック周波数を知ろうとした場合は、BCKの周波数を測定する必要があります。
これについては、残念ながらDIX9211にはその機能はありません。そもそも、DIX9211はDSD信号を主体に扱うようには
疲れていません。ただし、DIX9211は単なるスイッチの役割だけなのでDSD信号の切り替えはできます。
BCK信号の周波数を知るためには、PICで計測させることにします。
DIX9211からのBCKの出力をPICのCLK計測用の端子に接続です。基板の一部にジャンパーを飛ばします。
勿論。このジャンパーはBCKの信号を計測する場合にのみ必要なので、とくに周波数の表示も不要な場合は必要ありません。
BCK信号を計測するために飛ばしたジャンパー線です。
PICの周波数計測の誤差は実測で1%くらいでる可能もあるので、そのまま周波数を表示することはせず、
近似する既定の周波数に変換して表示させることにしました。モード設定で、測定した生データを表示させても
面白いかもしれませんね。
BCKの周波数の信号を表示できるようにしました。
ほぼ完成! 2020.4.13
ソフトもほぼバグも取れたようです。ここいらで、すこし機能の整理です。
1)入出力
入力は6個
SPDIF0(RX0) ・・・ 同軸入力用(75Ω終端)
SPDIF1(RX1)・・・ 同軸入力用(75Ω終端)
SPDIF2(RX2)・・・・ ディジタル入力用(3.3Vロジック、光受信モジュールなど)
SPDIF3(RX3)・・・・ ディジタル入力用(3.3Vロジック、光受信モジュールなど)
PCM0 ・・・・・・・ PCM/DSD入力(10pコネクタ)
PCM1 ・・・・・・・ PCM/DSD入力(10pコネクタ)
出力は1個(2個追加可能)
AUXOUT・・・・・・ 1個 PCM/DSD入力(10pコネクタ)
MAINPORT・・・・ 2個(オプション。追加でロジックIC実装必要)(*1)
(*1)SRC4137のPCM-OUT,DSD-OUTも使えるようにします(どちらも同じピン配置)
DAC4499を2枚接続する場合などに便利かもです。
出力コネクタを増設する場合の追加です。あまり使うこともないでしょう。
2)電源
5V単一電源です。必要な電流容量はLCDのバックライトを含めて100mA弱(実測)です。
3)操作
基板上の4つのタクトスイッチを用います。基板からの外出し用の基板端子もあります。
TERM+:設定項目の選択(次へ)
TERM-:設定項目の選択(次へ)
INC: パラメータの変更(+1)
INC: パラメータの変更(-1)
4) 入力切替
操作にはSRC4137と同様に4つのスイッチを使いますが、
常用となるのは入力切替(INC、DEC)だけなので、ケースにはINCあるいはDECのどちらか1個だけ
スイッチをとりつけるだけでいいでしょう。
その他の設定は基板上のスイッチで済ませられます(勿論、ケースに組み込んでもOK)。
入力は6個ありますが、使用しない入力もあるので、使用する入力を選択できるようにしました。
これで、切り替え時には未接続な入力をスキップすることができます。
・表示内容(FRONT PAGE)
表示器にはLCDが必要で、1602(16文字2行)あるいは2004(20文字×4行)のものが使用可能です。
(秋月のSC1602とSC2004では電源ピン、GNDピンの位置が異なるの注意が必要です)。
表示は使用するLCDにより情報量がことなります。2004LCDを使用すれば、TITLE1、TITLE2を使用して
装置名等の表示が可能になります。TITLE3,4は6個の入力にあわせて表示します。接続している機器名を
表示することを想定しています。
TITLE4は周波数表示を想定しています。周波数の表示には8文字必要なので末尾の8文字を充当します。
周波数表示については有無を選択できます。
2004LCDの場合
TITLE1: 20文字。編集可。
TITLE2: 20文字。編集可。
TITLE3: 6個の入力にあわせて表示(20文字×6個)。編集可。
TITLE4: 6個の入力にあわせて表示(20文字×6個)。編集可。周波数を表示する場合は末尾の8文字を充当。
1602LCD
TITLE3: 6個の入力にあわせて表示(16文字×6個)。編集可。
TITLE4: 6個の入力にあわせて表示(16文字×6個)。編集可。周波数を表示する場合は末尾の8文字を充当。
・表示に使えるキャラクター
これについてはLCD内蔵のROMを使います。下記の文字が使用可能です。
使用可能なキャラクター文字。
5)各種設定
i)入力設定
6個の入力のそれぞれの使用有無ならびに、使用する場合の画面表示を設定します。
パラメータは下記の4つ
NOT USE ・・・・ 使用しません。入力選択はスキップされます。
USE Title Only ・・・・ 使用します。TITLE4には編集した文字のみ表示されます(周波数は表示しません)。
USE with LR-Frq ・・・・ 使用します。TITLE4の末尾4文字はFS周波数(44.1kHz、192kHz等)が表示されます。
USE with BC-Frq ・・・・ 使用します。TITLE4の末尾4文字はビットクロックの既定周波数(2.822MHz等)が表示されます。
USE with BC RAW ・・・・ 使用します。TITLE4の末尾4文字はビットクロックの測定値(2.822MHz等)が表示されます。
PICの内部クロックで計測しますが1%程度の誤差を含む可能がありますので、値の補正も可です。
入力設定画面
ii)フォーマット設定
SPDIF入力の場合に、出力するフォーマットを選択します。
パラメータは下記の4つ
I2S ・・・・・ PHILIPSとSONYによる提唱フォーマットです。これが現在では標準でしょう。
LEFT JUSTIFIED ・・・ 左詰めフォーマット
RIGHT-J 16Bit ・・・・ 右詰めフォーマット16Bit
RIGHT-J 24Bit ・・・・ 右詰めフォーマット24Bit
フォーマット設定画面
iii) タイトル編集
TITLE1 → TITLE2 → TITLE3-0〜5 → TITLE4-0〜5 の順に編集します。
途中でやめても、内容は保存されています。
編集する文字をTERM-,TERM+で選択し、キャラクタ文字をINC、DECで設定します。
2004LCDの場合は選択する文字位置は”^”で示されます。
1602LCDの場合は選択する文字位置はTITLE3の場合は入力にあわせて”0”〜”5”で示されます。そして
TITLE4の場合は入力にあわせて”A”〜”F”で示されます。
タイトル編集画面例(2004の場合)
タイトル編集画面例(1602の場合)
iv)タイトル文字のコピー
TITLE3ならびにTITLE4は同じ文字を何度も入力する必要が生じることもあるので、
TITLE3-0ならびにTITLE4-0の内容を、それぞれTITLE3-1〜5、TITLE4-1〜5にコピーが可能です。
下記の画面が表示されたときにINCボタンを押せばコピーされます。取り消しはできません。
タイトル文字のコピー
v)ビットクロック測定値の補正入力
入力設定時にUSE with BC RAW を選択した場合に、ビットクロックの測定周波数が表示されますが、
PIC内蔵のクロック誤差が生じます。それを補正するための係数の設定です。この係数を乗じた周波数が
表示されます。設定範囲は0.97〜1.03の範囲で0.0001ステップで変更できます。
ビットクロック測定値の補正入力
vi)自動復帰の有無選択
キー操作が10秒以上なければ自動的にFRONT PAGEへの復帰の有無を設定します。
タイトル編集後に、FRONT PAGEまで戻るのが面倒な場合に、ONにすればいいでしょう。
設定パラメータ
OFF ・・ 自動復帰しません。
ON in 10sec ・・ キー操作が10秒なければ、自動的にFRONT PAGEに戻ります。
自動復帰の有無選択
vii)LCD選択
使用するLCDのタイプを選択します。デフォルトはSC1602になっています。SC2004を実装している場合は、
起動時にTERM-を押せばこの画面になりますので、最初にLCDの選択をすればいいでしょう。
設定パラメータ
SC1602(16*2)・・・ 16文字2行のLCD用に表示します。
SC2004(20*4)・・・ 20文字4行のLCD用に表示します。
LCD選択
5)初期化
操作キーを同時に2個以上押しながら電源を投入した場合に、設定パラメータは初期化されます。
組み込んでみよう! 2020.4.14
ソフトが完成したので、当初予定の機器内に組み込んでいきましょう。
組み入れる機器の現状は
DIV5142(2WAY版)→DAC4499(4ch仕様)→DAC4499−IV(OPA)
になっているので、これに追加して
DIR(onSRC4137)→ DIV5142(2WAY版)→DAC4499(4ch仕様)→DAC4499−IV(OPA)
という構成にして、直接的にSPDIFの信号が入力できるようにします。
DAC4499は4chモードで動かしますが、特段設定を変更するところはないのでシンプルファンクションモードに設定します。
DAC4499の上にDIR(onSRC4137)を搭載します。
DAC4499はシンプルファンクションで4chモードなので、ジャンパーは
すべてとりはずした状態になっています。
基板ののせました。まずはLCDとしてSC1602をのせています。
タイトルを変更しましょう!
折角なので、動作時のタイトルを変更しましょう。あまりゴチャゴチャ表示しても見にくいので、
シンプルに描いてみました。特殊文字をつかえば、凝った表示にできるかもしれませんが、
まずはこれでいいでしょう。
これはデフォルトのタイトルになります。
変更したタイトルです。シンプルに3行目は空白にして、4行目に入力と周波数を表示させました。
さて、備忘録として資料をまとめておきましょう。
製作マニュアルを作成しました → DIRonSRC4137Manual.pdf
PICのラベルも作りました。
これでリリースできますが、DIX9211の在庫あったかな?
リリースしました! 2020.4.15
アクセサリーのコーナに掲載しています。
DIRonSRC4137
基板(SRC4137v2)と主要部品(DIX9211、PIC、水晶、チップCR) : 5500円
オプション(74LVC245、チップR、(チップCは上記の余りを使ってください) 200円
(つづく)