Renew DAI9211を作ってみるかな?!の巻き 2021.6.11
DAI(ディジタルオーディオインターフェイス)あれこれ
DAIはSPDIFフォーマットをPCMフォーマット(BCK,LRCK,,DATAの3線制御信号)に変換するめに必要なデバイスで
DACの製作には欠かせないものです.いままで使ってみたDAIにはこんなものがありました.思い出しながら、時系列で並べて
みました.
1)TC9245
はじめて使ったDAIです.秋月で売っていました.また在庫あるようです.
16bit/48kHzまでの対応ということで、年代を感じるものですがシュリンクDIPタイプなので
ユニバーサル基板にも45度傾ければ実装できたので、結構便利につかいました.
PCM61PのパラDACもこれを使いました. まだDAC1860 mini にも使っています.
出力は右詰めフォーマットですが、LRクロックの位相が反転していますので、インバータが1回路必要です.
2)DIR1703
TIから出たDAIでTC9245の後継でつかったと思います. なおDIRとはDigital
Interface Receiverの略称のようです.
これはPCM1704をつかったDACあたりに結構つかいました. SSOPなので、このころから半田付けのレベルが上昇しました.
このICのあとには、ほどなくピンコンパチのDIR9001がでました.
3)DIR9001
DIR1703の後継機種です. 384fsでの変換が可能なのでFN1241をつかったDAC1241には、
これしかつかえそうなDAIが見あたりません.384fsが使えるのはDIR9001が便利なのか、
それともFN1241が特殊なのか.そりゃ後者ですね.
4)CS8416
DIR1703,DIR9001は0.65mmピッチのSSOPパッケージしかありませんでしたが、CS8416は1.27mmのSOパッケージもありました.
I2Cで制御できるので、マイコンのI/O数も少なくて済むので、結構つかいました.SPDIFの入力アンプを持っているので外付けロジックも不要で、
8chまで入力できたので、DIR9001から乗り換えました.
5)WM8805
ちょっと癖があるようなので、1つのDAI基板にしか使わなかったなあ〜.
6)DIX9211
QFPの48Pinになったことで、SPDIF信号だけでなくてPCM信号も入力できますので切替器としても重宝しました.
ディジタルオーディオの入力部分にはかなり便利です. 現有のDACではこのDAIを結構多用しています.
7)PCM9211
DIX9211の上位互換があり、ほぼピンコンパチでソフトも無変更でつかえます.最大の特徴は96kHzサンプルのAD変換器を内蔵していますので、
最近ではこれをつかうようになってきました.
DIX9211がない??
まだまだDIX9211をつかっているDAC基板があるのですが.,DIX9211の手持ちがないこともあり購入しようと色々と探しましたが、
どこにも見つかりません.PCM9211も店頭に見あたらない状況なのですが、PCM9211についてはまだ少しですが手持ちもあるので、
いいのですが、DIX9211の基板にPCM9211も搭載しても大丈夫なんだろうか?
DIX9211はPCM9211乗せ換えられる?
DIX9211とPCM9211はほぼピンコンパチです.この”ほぼ”というのが曲者かもしれません.
今一度、マニュアルを確認してみました.
DIX9211ではPin44〜48が予約端子となっています.それに対してPCM9211ではPin44〜48はAD変換器に関するピンになっています.
問題は、AD変換器を動作させるための電源に関するピンの取り扱いですが、DIX9211のデータシートではRSV端子のPin45,46はGND
接続になっています.すなわちPCM9211でいうところのAGNDADとVCCADをGNDに接続するということです.すなわちAD変換器の部分には
電源を供給しないという設定になっているわけですから、このようなパターンにしていればDIX9211のパターンにPCM9211を載せても
問題ないことになります.もちろんADは使えません.
DIX9211 | PCM9211 |
PIN44〜48は予約になっています. |
PIN44〜48はAD変換器に関するピンです.. |
PIN5,46はGND接続しろとマニュアルにか記載してあります. |
DIX9211使用パターンのPin45,46のGND接続であれば、 PCM9211のAD変換器に電源が供給されない状態ですから、 問題なく置き換えできそうです. |
DIX9211を使っている基板は大丈夫かな?
ここで、DIX9211をつかっている基板について、どのようなパターンになっているか確認です.
横着者なので、マニュアル通りのピンの処置をしてないかもしれません..ちょっと心配です.
調査結果としては、すべてマニュアル通りPin45,46をGNDに落としていました. ということで、DIX9211がない場合は
PCM9211に乗せ換えることが可能ということです.
DAI9211はマニュアル通り、Pin45,46はGND接続になっています.
(この基板は終了しています)
SimpleEntryDAC4490もマニュアル通り、Pin45,46はGND接続になっています.
SRC4137基板もマニュアル通りです.
しかし、なぜあたかもPCM9211がリリースされる前提でDIX9211のRSV端子を設定しているのだろう?
つかっていない端子ならNC(無接続)でもいいような気がします.
もともとDIX9211のあとにAD変換器を搭載したPCM9211をリリースする予定で、すでにピン配置が決まっていたのだろうか?
あるいは、DIX9211はPCM9211のAD変換器部分がうまく動作しないものの選別品だったのだろうか?
なんとなく後者のような気がしますが、実際のところはどうなんでしょうね.
でも、PCM9211がDIX9211の上位互換であるとするならば、まもなくDIX9211は製造中止になる懸念が芽生えてきます.
Renew DAI9211を作ろう!
DIX9211の代わりにPCM9211を搭載できそうなことはわかりましたが、そのまま置き換えただけでは
PCM9211のAD変換機能が使えませんから勿体ないです.折角なのでPCM9211の機能がフルに使える
ようにDAI9211基板をリニューアルしてみることを考えてみましょう.
ただ、DAI9211基板にAD変換端子を設けるだけでは、ちょっと寂しい気がします.というのもDAI9211基板は
搭載する部品も少ないので余裕部分が多く、ユニバーサルスペースもあるくらいです.
ここはもうすこしPCM9211の機能が生かせるように考えましょう.
DIX9211をつかったDAI9211基板は部品点数も少なくすこし寂しいです.
DIT機能と、Integration Unitの基板と併用できるようにしよう!
PCM9211にはDIX9211と同様に、内部にDIT(Digital Interface Transmitter)の機能も搭載しています.
すなわち、PCM信号をSPDIFフォーマットに変換することもできます(できるはずです).ということであれば、
パルストランスを搭載してSPDIFの同軸出力もできるように考えてやりましょう.しかしパルストランスを搭載した
としても、まだまだ寂しい気もします.
DAIとしての機能が増えるとそのパラメータ等の設定のためにスイッチ類やLCDも接続できるようにする必要があります.
そうであれば、Integration Unit用の基板としても使えることを考えてやりましょう.1枚の基板でも、搭載ソフトを変えることで
RenewしたDAI9211とIntegration Unit用基板の両方が実現できれば便利かもです.
Integration UnitについてはPICだけのソフトのみのリリースで、基板はDual I2C Controller を代用してつかっているので、
Integration Unitに適したベース基板も必要なかあ〜と思っていたところでした..
早速基板パターンを作成!
ということで、早速パターンを書いてみました.
部品面パターン
半田面パターン
Integration Unit部分の回路図
DAI部分の回路図
さてさて、基板パターンを書いてみたものの、作ろうかどうしようか?
ちょっと道草!? LCD用変換基板を描いてみよう! 2021.6.12
LCDは各種の情報を表示するのにとても便利なデバイスで、秋月電子などで購入できます。
表示したい量に応じて16x2文字や20x4文字のものを選択するのですが、よくやらかすミスは電源の間違えです。
16x2文字タイプのSC1602と20x4文字タイプのSC2004では電源ピンが逆になっています。
うっかりと間違って挿そうものなら、あっという間に昇天です。とくに、このLCDに使っている制御用のICは
電源の逆接に弱いようで、一瞬でも間違って通電することほぼ確実に壊れてしまいます。
SC1602ならまだ我慢できますが、SC2004をとばそうものならちょっと凹んでしまいます。
いままで何回もやらかしました。
これらも、もうちょっと安いといいのですけれどね。
16x2の液晶モジュール 1個800円。バックライトが無ければ500円程度のものがあります。 |
Pin1はVDDになっています。 |
20x4の液晶モジュール 1個 1700円と結構お高いです。 バックライトがなくても1400円くらいします。 |
Pin1はVSSになっています。 |
価格面から、LCDをつかうときは、最近ではAMZONで売られているLCDをつかうことが多くなりました。
バックライト付でも秋月のものの半額以下で購入することができます。
またピンが一列で並んでいるのでブレッドボードとの相性もいいです。また16x2文字でも20x4文字タイプのものでも
ピン配置は同じです。Pin1がVSSになっています。そのため、差し替えによるトラブルはありません。
バックライト付液晶はAMAZONで安く買えます。どちらもシングルインラインでPin1はVSSです。
シングルインラインなのでブレッドボードと相性いいです。16ピンありますが
Pin15がバックライトLEDのアノード、Pin16がカソードです。
ただし、ピン配置がシングルインラインというのはブレッドボードにはいいのですが、基板のアートワークを描くときは
場所を取ります。こういったときは2列ピンの方が扱い易いです。それに2列だと基板からLCDへの配線もリボンケーブルが使えます。
いいとこどりできないかな?
ということで、安価なLCDのシングルインラインのピンを2列に変更できる変換基板があれば、基板との接続が容易になります。
また、LCDは14pinで8ビット転送できるようになっていますが、実際にはデータ転送は4ビットでおこなう場合がほとんどなので、
4ピン分余分です。ということで、14Pinではなくて10Pinのリボンケーブルでも接続できるようにしておけば、ケーブルの取り回しも随分と
楽になるはずです。ということで、それらができそうな基板を描いてみました。
ちょうどHDMI基板のアートワークの確認と面付けをやっているのですが、基板の空きスペースができそうなので、その隙間に
入れこもうと思っています。
で、描いてみたのがこのようなものです。
部品面です。
半田面です。
基板は左右で切り離してつかうのですが、右側はDAC基板などの14PinのLCDコネクタを10ピンに変換する基板です。
左側がLCD側に取り付ける基板で、14Pinあるいは10Pinのコネクタがどちらも使えるようにしています。こちらの基板には
LCDのコントラス用のVRとバックライトの電流調整用の抵抗も実装できるようにしておきました。
こういった基板が何枚か手元にあると便利でしょう。
ただし、沢山あっても仕方ないので余りそうな分は粗品に回しましょう。
勿論、作ればという前提がありますが・・・。
閑話休題
基板製作中 2021.6.16
6/26には納品されそうです。
試作(?)基板が到着しました。 2021.6.25
手をつけるのは、もうちょっと後になってからかな〜。
ポチポチつくりましょう。 2021.7.1
夜の夜長に作業です。
まずはLCD用の変換基板です。これをつくっておけば安価なシングルラインのLCDを10Pの
リボンケーブルで基板本体と接続できます。
このようにして使います。動くかな?
本体も完成!
思いつくままに部品を実装していきます。NETFLIXをみながらのながら運転です。
必要な部品はこれで全部かな?
お出かけ用の写真です。電解コンデンサはチップ部品を使って半田面にとりつけました。
半田面の状態です。
I/Oをとりつけなくっちゃ!
ソフトを作るためにも、必要なI/Oを取り付けましょう。必要なものあったかな?
とりあえず通電テスト 2021.7.8
まずはPCM9211との通信テストもかねて通電です。LCD動作にはSRC4137(DAI部分のみ)をソフト
を移植です。LCDへの配線は今回つくった変換基板をつかって、安価なLCDと10Piケーブルで接続しています。
LCD
10Pへの変換基板もつかってでの通電テストです。
14Piでのストレート接続も念のため確認です。
LCDに接続する変換基板の回路図です。回路図にするとややこしいですが、単純なるストレート接続です。
ついでに、コントラスト調整用のVRも搭載しておきました。これは、本来は本体基板側にあるものですが、
テストなどでLCDをつかうときは、LCD側にあったほうが便利な場合が多々あります。
LCD側に接続する変換基板です。
こちらは14→10Pの変換基板の回路図です。ジャンパーの切替でPin1,2を入れ替えるようにしておきました。
STだとPin1;GND,Pin2:VCCになりますが、REVだとPin1:VCC、Pin2:GNDになります。これで、秋月のSC1602用
に設計した基板ではREV設定にすれば、問題なく接続できます。
14→10Pの変換基板です。
思い出したように再開! 2022.3.15
思い出したように再開、いや、単に忘れていました(笑。
色々のソフトのプラットフォームの位置づけだけど、まずはDAI9211の代替を目指すべく
まずはシンプルなDAIとしての機能を組んでいきましょう。
DIF4245に接続してPCM出力が問題ないかを確認しています。
SPDIF入力は問題なしですね。
結構ややこしい・・・
DAI9211と同じ機能を実現するだけなら、あまり難しいことはないのですが、Renew
DAI9211では
PCM9211を使うことからADCも使えるようにしています。さらに、PCM9211のDIT機能すなわち、
PCMからSPDIFに変換する機能も活用します(そのためにパルストランスも搭載している)ので、
フォーマットを指定するようにもできないといけません。
割り切ってI2Sだけにするという手もありますが、R-2R DACなど右詰めフォーマットが必要になる
場合もあるので、ある程度はフォーマットの変更ができるようにしておいてほうがよさそうです。
ここで、難しいのはそのフォーマットの設定方法です。 LCDとコンソールスイッチを設ければ簡単ですが、
あくまでスイッチとLEDだけで行いたいので、どのようにしようか考えどころです。
とりあえず、仕様の整理も含めて必要な機能をリストアップです。
入力: SPDIF×2,PCM×3、アナログ×1
出力; PCM×1、SPDIF×1
電源: 5V単一(およそ50mA)
入力切替:スイッチ操作(シーケンシャル切替、個別選択のどちらもできるように)
各入力での機能設定
SPDIF入力 : PCMの出力フォーマットは4種(I2S,右詰め(16,24Bit)、左詰め)から選択できるようにする。
SPDIF出力はSPDIF入力をそのままスルー
AUX0−2入力 : PCMの出力フォーマットはそのままスルー(それしかできない)
SPDIF出力を有効にするため、フォーマット(4種)ならびにマスタクロック周波数倍率(128fs、256fs,512fs)を設定可に。
ADC入力 : PCMの出力フォーマットは4種(I2S,右詰め(16,24Bit)、左詰め)から選択できるようにする。
変換速度は96kHz固定(可能なら48kHzと96kHzの選択可にする)。
入力ゲインは固定(可能なら調整可能にする)
んん・・・これだけの設定をスイッチとLEDだけで行うのは結構面倒かも。
設定のときだけLCDをつかうように日和ちゃおうかな〜。
すこし割り切って 2022.3.16
全部の入力について、フォマット等を設定できる必要はないと割り切って
SPDIF、PCMとも1ポートのみ変更可能とすれば、設定もシンプルになりそうです。
LEDは6個あるので、3個を設定箇所、のこりの3個を設定パラメータを表すものとして
考えてみました。
LEDの点灯状態: ◎点灯 ●消灯 設定箇所の切替: SW2 設定パラメータの切替: SW1 設定モード : SW1の長押し |
||||||
入力等 | LED6 | LED5 | LED4 | 設定パラメータ (LED3,2,1点灯) |
既定値 | |
入力切替 | ● | ● | ◎ | ●●◎ シーケンシャル切替 ●◎● ダイレクト切替 |
シーケンシャル | |
SPDIF IN0 PCM出力フォーマット設定 |
● | ◎ | ● | ●●◎ I2S ●◎● LJ(左詰め) ●◎◎ RJ16(右詰め16Bit) ◎●● RJ24(右詰め24Bit) |
I2S |
|
SPDIF IN1 PCM出力フォーマット |
I2S固定 | |||||
AUX0 入力フォーマット設定 |
● | ◎ | ◎ | ●●◎ I2S ●◎● LJ(左詰め) ●◎◎ RJ16(右詰め16Bit) ◎●● RJ24(右詰め24Bit) |
I2S | |
AUX0 入力クロック設定 |
◎ | ● | ● | ●●◎ 128fs ●◎● 256fs ●◎◎ 512fs ◎●● 半自動 |
半自動 44,48kHJzは512fs 88,96kHJzは2562fs 176,192kHzは128fs |
|
AUX1 入力フォーマット 入力クロック |
フォーマットはI2S クロックは半自動 |
同上 | ||||
AUX2 入力フォーマット 入力クロック |
フォーマットはI2S クロックは256fs固定 |
同上 | ||||
ADC PCM出力フォーマット |
◎ | ● | ◎ | ●●◎ I2S ●◎● LJ(左詰め) ●◎◎ RJ16(右詰め16Bit) ◎●● RJ24(右詰め24Bit) |
I2S | |
ADC 変換速度 |
◎ | ◎ | ● | ●●◎ 48kHz ●◎● 96kHz |
96kHz | |
初期化 | ◎ | ◎ | ◎ | ◎◎◎ 初期化実行 |
たとえば初期化をする場合は、まずはSW1を長押ししてパラメータ設定モードに入ります。
LED4とLED1が点灯します(通常動作モードではLED点灯は1箇所のみになるので、2箇所以上点灯している場合は
パラメータ設定モードであることがわかるようにします)。
SW2を6回押してLED6,5,4をすべて点灯させます。そのあと、SW1を6回押すと初期化実行します。
心配なのはLEDの点灯明るさかな〜。
LEDはどれか1個のみ点灯することを前提に回路を描いているので、すべて点灯させたときにどの程度の
明るさになるだろうか? まあ、パラメータ設定なんてほとんどしないだろうから、暗くても判別できればそれでよしです。
夜の夜長のソフト作成!
#あ、その前に明日からの出張の準備しなくっちゃ・・・・。
ソフト完成! 2022.3.21
ようやく完成です。ソフト作成にかかったというより、チェックの時間が結構かかりました。
なんせ、入力はSPDIF、PCM、ADCの3種類もあり、設定できるパラメータも多いので、それぞれで動作するかを
確認するために、色々な機器を接続しなければならなかったからです。
一瞬思ったのは、PCMの出力フォーマットがI2Sか、LJ、あるいはRJかを自動的に判別できるようなものが
あれば便利かな〜と思ってしまいました。
動作チェックのために色々な機器との接続です。これが大変。
最後の仕上げは・・ 2022.4.5
ようやくマニュアルが書けました。
RenewDAI9211_S_Manual.pdf
そろそろリリースの準備にかかりましょう。
リリースしました。 2022.4.9
RasPiとも接続 2022.4.18
現在、RenewDAI9211-SにはBluetooth DACのI2S出力を基板のAUX2に入力しています。
これで、ノートPCからワイヤレスで音楽を鳴らすことができます。
折角入力ポートも余っているので、AUX0にPiLVDS基板を接続することにしました。
これで、RasPiからのI2S信号をSPDIFに変換して、メインシステムのDACに送り込むことができます。
RasPiに音楽CDのHDDを接続しているので、ワイヤレスな音楽ソースの出来あがりです。
課題はHDDだな〜。もともと録画用のHDDでもあり普通の磁気ディスクのHDDなので動作音が
すこし五月蠅いです。ここはやはりSSDに替えたいところです。
あとは全体をケースやプレートに納めないと、すぐにバラバラになりそうです。
Renew DAI9211-SにBluetooth DACのI2SとPiLVDSのI2S出力を接続してSPDIFに変換しています。
PiLVDSと接続している状態です。
(つづく)