CS8416を使ったソフトDAI Ver.2
前回のは失敗作だったので・・・・、
リモコンで入力切替、ジャンパーでフォーマットの変更・外部クロック使用可能、入力周波数の表示など行えるように変更しました。
入力サンプリング周波数の表示は、電子ボリュームの時に製作したLCD基板を使用します。
回路図
部品表
部品番号 | 部品名 | 型式 | 備考 |
R1〜4 | 金属皮膜抵抗(1/4W) | 75Ω | |
R5・R6 | カーボン抵抗(1/4W) | 47KΩ | |
R7 | 金属皮膜抵抗(1/4W) | 3KΩ | |
R8 | カーボン抵抗(1/4W) | 10KΩ | |
R9〜12 | カーボン抵抗(1/4W) | 22Ω | |
R13 | カーボン抵抗(1/4W) | 10KΩ | |
R14 | 金属皮膜抵抗(1/4W) | 100Ω | |
R15 | カーボン抵抗(1/4W) | 1KΩ | |
C1〜4 | フィルムコンデンサ | 0.01μF | 0.01μ = 10n |
C5・C6 | 電解コンデンサ | 100μF | |
C7〜9 | フィルムコンデンサ | 0.1μF | |
C10 | フィルムコンデンサ | 0.01μF | |
C12 | フィルムコンデンサ | 0.022μF | = 22n |
C13 | フィルムコンデンサ | 1000pF | = 1n |
C11・C14・C16 | フィルムコンデンサ | 0.1μF | |
L1 | フェライトビーズ | BL02RN2-R62-01 | 47μHの小型インダクタでも代用可 |
L2 | フェライトビーズ | BL02RN2-R62-01 | 47μHの小型インダクタでも代用可 |
IC1 | DAI IC | CS8416 | |
IC2 | 3.3vレギュレター | TA48M033F | 1:IN、2:GND、3:OUTの物なら何でもOK |
IC3 | PICマイコン | PIC16F88 | |
QG1 | クリスタルオシレータ | 12.288MHz | 11.2896MHz 使用可 |
部品配置図
使用するLCD表示機は電子ボリュームと同じ物ですのでこちらで確認してください。
http://homepage2.nifty.com/naisudac/CS3310/CS3310-all.htm
LCD表示機とDAIに安定した5V電源を供給してください。
LCD表示機とDAIは2本接続してください。
LCD:DATA → DAI:D-IN
DAI:TX → LCD:RS
LCD表示機にはDAIから表示用信号が送られ、LCD表示機に取り付けられている赤外線モジュールの信号をDAIに送ります。
LCD表示機の接続端子(X1)’DATA’・’RX’の隣にある’GND’は電源(+5V)がDAIと共通であれば不要です。
接続するとこのようになります。
設定用ジャンパピンの内容
JP1 使用するオシレータの電源電圧を切り替えます。
設定内容 | 1-2ショート | 2-3ショート | |
JP1 | オシレータ用電圧の設定 | 3.3V | 5V |
JP2 出力フォーマットの切り替えを行います。
IS2が二つあるのは、システムクロックを256Fsと128Fsに切り切り替える為です。(WM8741で必要です)
出力bitは16bitと24bitに切り替えられます。CS8416は20bitにも対応していますが、私が20bitのDACを持っていないので未対応としました。
設定内容 | JP2-1 オープン JP2-2 オープン |
JP2-1 ショート JP2-2 オープン |
JP2-1 ショート JP2-2 ショート |
JP2-1 オープン JP2-2 ショート |
|
JP2-1 JP2-2 |
フォーマットの変更 | I2S(256Fs) | 右詰め | 左詰め | I2S(128Fs) |
設定内容 | オープン | ショート | |
JP2-3 | 出力bit | 24bit | 16bit |
JP3 外部クロックを使用するか。基板に取り付けるオシレータの周波数の設定。
入力切替にて使用するリモコンのメーカー設定。
設定内容 | オープン | ショート | |
JP3-1 | 外部(EXTCLK)クロック使用 | 未使用 | 使用 |
JP3-2 | 基板取り付けクロック | 12.288MHz | 11.288MHz |
JP3-3 | 赤外線リモコンセットメーカー | 日立 | NEC |
設定例として、
オシレータのクロックが12.288MHzで、I2S対応のDACならば、JP2とJP3にジャンパーは不要です。
JP3-1をショートすると外部クロック使用可能となり、写真のような表示となります。
基板に取り付けるオシレータは基本的に、入力サンプリング周波数を判定するだけに取り付けています。
その為取り外しても信号の出力に影響はありません、周波数の表示がおかしくなるだけです。
精度の高いオシレータを使用した場合、音の違いを調べたい時だけ使用してください。
使用するオシレータのクロックによって使用できる入力周波数が違っています。
入力周波数(kHz) | 外部入力周波数(MHz) |
44.1 | 11.2896 |
48 | 12.288 |
88.2 | 22.5792 |
96 | 24.576 |
192 | 49.152 |
11.2896MHzのオシレータをつけて外部クロック使用にすると、入力サンプリング周波数は44.1kHz専用となります。
ちなみにこの状態でオシレータを抜くと音が出なくなります、システムクロックが出なくなるだけではありませんので、
PCM56Pなどのシステムクロックを使用しないDACでも音は出なくなります。
GPO0、GPO1、GPO2端子は、S/PDIF信号の状態をHI/LOW で出力します。
GPO0:通常 LOW 、88kHz以上 HIGH
GPO1:入力有り LOW、入力なし HIGH
GPO2も一応エファンシスの信号検出用に設定していますが、エファンシス対応のCDをもっていませんので確認出来ていません。
入力切替は赤外線リモコン、TV操作の入力切り替えボタンにて行います。
市販の多機能リモコンにてTV(アナログ)の使用メーカーの設定は日立かNECにしてください。(JP3-3の設定も必要です。)
入力サンプリング周波数の表示を行います。
周波数の表示を行う場合は、12.288MHzか11.288MHzのオシレータを使用してください。
プログラムはここ、(CCSが必要)、HEXはここ
チョコチョコ作っていたのでソースは汚いです。XCで書き直す予定です。