DSD FREQUECY CHECKER の巻き 2015.12.19

こんな書き込みをいただきました。


そういえば、以前にSPDIF用の周波数チェッカー(LRCK周波数を判定)をリリースしましたが、
DSD版もあるといいかもですね。SPDIF用に使用してもBCKの周波数判定にできます。


ということで、DSD用につかつときの周波数テーブルをまとめました。
市販機の範囲なら2.822MHz〜12.288MHzで十分ですが、テーブル自体は最大で24.576MHzまで
持たせました。ただし、PICの動作周波数から20MHz以上は難しいので、とりあえずテーブルだけの
位置づけです。ひょっとして5V動作なら動くかもです。3.3Vではだめだったような記憶があります。

BCK
No PCM相当
(kHz)
(kHz) -3% 3% DSD
0 44.1 2822 2738 2907 64FS
1 48 3072 2980 3164 64FS
2 88.2 5645 5475 5814 128FS
3 96 6144 5960 6328 128FS
4 176.4 11290 10951 11628 256FS
5 192 12288 11919 12657 256FS
6 352.8 22579 21902 23257 512FS
7 384 24576 23839 25313 512FS

PICのピンのアサインは下図のようにしましょう。
個別の周波数でLレベルになるピン群と、44.1あるいは48kHzのシリーズでLレベルになるピン、
そして規定の周波数入力かどうかを出力するピンです。これはACTIVE L あるいは ACTIVE H
のどちらでも使えるように2パターンを用意しましょう。

周波数の判定は規定の周波数の3%範囲に入れば判定することにしました。
これはPICの内部クロックの精度も実質1%程度なので、このくらいの余裕をもたせる必要があります。



ソフトを書いてみましょう。

書書書書書書書書書書書書書書書書書・・・・・・・・・・・・・・・・・・


動作確認してみましょう。

動作確認はブレッドボードにLEDと抵抗をはさんで確認です。
LEDはPICの出力レベルHのときに点灯するようにしています。
すなわちアノード側を抵抗をはさんでVccに、カソード側をPICに接続します。


こんな感じで動作チェックです。未入力時はBCK ACTIVE Hが点灯しています。


低い周波数は問題ないようです。
気になった高い周波数での確認です。
22.570MHz、24.576MHzでも動作しました。
でもPICのスペックオーバーに依存しているかもしれませんね。



22.576MHz入力時での反応も問題なし。



24.57MHz入力時での反応も問題なし。

これで一通りの動作確認できました。

ラベルは

PICのラベルはDSD FREQ v1です。


ラベルをつけました。


こんな小物もあると便利なことがあるでしょう。

(おしまい)