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です。
ラベルをつけました。
こんな小物もあると便利なことがあるでしょう。
(おしまい)