PCM to SPDIF基板の更新は実現するか? 2022.4.20
以前にMini DSPを改造してSPDIF信号と生成するためにPCMtoSPDIF基板なるものを作りました。
日付をみてみると、いまから6年ほど前ですね。 そういえばMini DSPってどこにあるだろう(笑。
で、この基板も在庫がなくなり、絶版予定です。というかこれにつかっているDIT419なる
トランスミッタ素子も入手が怪しいです。もう設計も古いですからね〜。
更新を考えるなら、そろそろDIT4192に変わる新しい素子を使う必要がありそうです。
6年前にリリースしたPCMtoSPDIF基板です。もう絶版です。
DIT4192をPCM9211で代替できるか?
DIT4192の代わりにPCM9211をつかうのもいいかもしれません。PCM9211はDIT(Transmitter)機能だけでなく、
DIR(Receiver)やADC機能もあって多機能なので勿体ないですがDIT機能だけを使います。その代わりに
不必要な回路はすべて省きます。
PCM9211を本来の機能で動かすにはPLLのための抵抗やコンデンサ、そして水晶振動子が必要です。
しかし、PLLはSPDIF受信すなわちDIR機能だけに必要ですし、水晶振動子もADCのサンプリング周波数を
決めるために必要ですが、単純にPCM入力でDITだけを動かすなら、PLLも水晶振動子も不要なはずです。
ということで、本当にPLLや水晶振動子もなくて動くか試してみました。
Renew DAI9211基板をつかってテストです。
DITに必要な部品のみを実装してみました。LEDはソフト作成を考えてとりあえず実装です。
動くかな?動いた!
ソフトはとりあえずはRenew DAI9211-Sのソフトそのままです。LEDの表示をみれば、動いているか
どうかもわかります。ただ、スイッチを取り付けていないので、操作はピンセットで接触させて行います。
PCM信号のソースとしてSRC4137を接続して動作確認です。
SPDIF出力をみるとそれらしい信号がでていますし、正弦波を入れると変化するので
たぶん大丈夫でしょう。
SRC4137をPCMソースとして使いました。
無音時のSPDIF出力です。
正弦波信号入力時のSPDIF出力です。変化があるということは
動いているということかな?
DACをつないでみましょう!
念のためSPDIF出力が正常なのかを確認するためにDACにつないでみましょう。
手元にあったアナログ出力可能な適当なDACで確認です。
で、結果としては問題なく動きました。
SPDIF出力をSimple DAI for DIR9001につないで、その出力をPT8211に接続して動作確認です。
SPDIF出力も問題ないようですね。
結論としては、PCM9211でDIT機能だけを使うならPLL回路も水晶振動子も不要であることが確認できました。
基板を作ってみるかな?
以前のPCMtoSPDIFは3ch分の機能がありましたが、4wayでつかうことも考えると4CHに拡張できるように
したほうがいいかもしれません。 それに、以前と同じ機能でつくっても仕方ないですからね。
で、サイズは従来より少し大きくなりますが標準サイズの半分に納まるべく考えてみましょう!
納まるかな? 2022.4.21
標準サイズの1/2に納めるとして、ちゃんと部品納まるだろうか?
PCM9211のようなQFPパッケージって4方に足がでているから、意外と配線スペースが必要なんですよね〜.
とりあえず、部品を置いてみて様子を伺ってみましょう.
なんとかなりそう?
色々と配置を考えながら試行です.
チップ部品をつかって、両面実装にすればなんとか納まりそうな感じがしてきました.
全然はいりそうにないです. さらにジャンパーピンやLED、そして基板端子を加えるスペースが全然ありせん.
3端子レギュレータをなくして、リード部品をチップ部品に変更してみました.これで大分スペースが確保できました.
でも、3.3V動作となると面倒だな〜.やっぱり5V動作が他の基板と混在するときには便利です.
チップ部品をパルストランスの裏面の半田面に押しやりました.こうすればスペースが大分確保できます.
一応、ジャンパーピンやLED.,3端子レギュレータも搭載です.
さて、これで配線ができるかな?
ここらで回路図を書いてみましょう!
こんな感じかな? もうちょっと部品レイアウトを見直したほうが良さそうです.
また、明日考えてみましょう!
基板パターンを書いてみました。 2022.4.22
PICの位置をロジックICの近くに変更したほうがよさそうなので、すこし部品レイアウトを変更して配線してみました。
パターンを書いてみました。
PCM信号入力部分のシルクが窮屈なところがあるので、
ダンピング抵抗を半田面に追いやってやりましょう。
ダンピング抵抗(Ra)が部品面にあると、基板端子のシルクが窮屈です。
ダンピング抵抗は半田面(裏面)に追いやりました。
これでシルクが余裕をもって描けます。
基板ができてきました 2022.5.30
そうこうしているうちに、基板ができてきました。
でも、プログラムの作成は仕事が終わってからだなあ〜(間もなく締め切りがやってくる・・・・。
でも、実装くらいならストレス解消にできるかも(笑。
基板ができました。
まずは1ch分を実装! 2022.6.4
う〜締め切りまであと2日、でも現実逃避〜。
とりあえず1ch分だけ実装しました。ちょっとストレス解消です(笑。
まずは1ch分を実装してみました。
プログラムも組みましょう
基板が組みあがったら動かしたくなりますよね〜。ということでプログラム作成です。ああ現実逃避〜。
プログラムですが、基本的は前作のPCMtoSPDIF基板と同じ使い勝手にしたかったので、
前作のプログラムを流用です(単に手抜き?
流用といっても、前作でつかったDIT4192と今回使用したPCM9211とはコマンドも通信方法も全然違いますから、
かなりの部分を入れ替えています(単なる手抜きでない言い訳です。
動作確認
プログラムも作成したので動作確認です。
しかし、容量のあるPIC18F26K83をつかったのでプログラム容量は全体の3%のみです。
前作ではPIC16F87あるいはPIC16F1827をつかったので25%くらいは使いましたが
流石にPIC18Fシリーズはオーバスペックだったかな〜。
それに最大64MHzで動作できますが、動作周波数も8MHzにしています。これは、単純に
消費電流を小さくしたかったからですが。ちなみに1chだけの動作の場合、実測で約20(48kHz)
〜32mA(192kHz)でした。
さて、入力にSRC4137からの出力を入れて本基板でSPDIFに変換してDACに接続して
動作確認です。
で、問題なく動作することが確認できました。ほっと一安心です。
出力電圧も、75Ω終端時で約0.6Vppですから、ほぼ既定値(0.5Vpp)にドンピシャでした。
プログラム作成して動作確認中です。
出力電圧は75Ω終端時で約0.6Vppですからほぼ既定値(0.5Vpp)です。
4ch分を実装
さて、残りのPCM9211も実装してみましょう.
他の部品が取りついていると、すこし半田ゴテがはいりにくかったりしますが、
まあこのくらいスペースのある状態だと余裕です.
お出かけ用の写真もこのタイミングで撮りました.
裏面の実装の様子です.一部、交流GND接続用のコンデンサは不要なので実装していません.
PICのラベルも作っておきました.
全チャンネル動かしてみましょう
まず、PCM9211を実装した部分のジャンパーピンを接続します.
CH.0はかならず実装するとしてこの部分のジャンパーピンはありませんが、
CH.1,CH.2,CH.3に実装した場合はジャンパーピンのID1,ID2,ID3をそれぞれ短絡させます.
プログラムとしてはPCM9211が実装されているかどうかは自動で判別できますが、
半田不良で実装されていないと判別される可能性も捨てきれないなので、実装箇所を
明示するようにしました.
入力は4つ必要ですが、動作確認なのでCH.0のDATA信号を他のCHに分配させます.
CH0以外に実装したPCM9211に相当する部分はジャンパー短絡させます.
動作確認のためCH.0のDATを他の入力に共通に分配しておきます.
#ちょと休憩. 梅田に呑みに行こ!(結構予約で満席のところ多かったなあ〜)
再度本基板の出力をDACにつないで、全チャンネルで再生できるか確認です.
結果としては問題なく4CHとも動作しました.
全チャンネルでの動作確認できました.
192kHz(SC:49MHz)で動作させて消費電流は60mA程度でした。
機能整理
項目 | 仕様 | 備考 |
チャンネル数 | 1〜4 | |
入力フォーマット | PCM(I2S,LJ,RJ16,RJ24) | |
入力周波数 | 最大192kHz | |
システムクロック | 最大49.152MHz 128,256,512fs |
PCM9211の機能から 384fsは対応不可 |
必要電源 | 5V 80mA程度 |
さて、ここいらでHPのTOPに掲載しておきましょう。
あとはマニュアル作成です。 これは前作のがかなりコピペできるかなあ〜
またまた超手抜きバージョンのマニュアル作成です.
RenewPCMtoSPDIFmanual.pdf
(つづくかな?)