ASRCにDIR9001をつかってみよう。 2007.5.28

DIR1703がディスコンになって久しいのですが、代替機種としてDIR9001がTIより発売されています。
DIGIKEYでも取り扱っているので、入手は可能です。ただし秋葉原や日本橋では多分お目にすることは無いでしょう。

さて、DIR1703用につくったASRC基板は有りますが、すでに手持ちのDIR1703はないので、DIR9001で動かして見ましょう。
その前に、DIR1703とDIR9001を比較して見ましょう。

ジッタ性能が向上
性能面ではこれが一番大きいでしょうか。DIR1703が75psなのに対して、DIR9001は50psになっています。
この25psの差がどのような影響をもつかわかりませんが、物理性能が向上することに対しては歓迎です。

ピン配置はほぼ同じ
ピンの名称が若干ことなっていますが、基本的には同じです。
ということは置き換えをかなり意識したものになっているということでしょう。



ただし完全にはピンコンパチではない
アプリケーション例を見てわかることですが、微妙に違います。ほとんど間違い探しの世界ですが、
下記点に注意しなければなりません。
(1)DIR9001では水晶発振子周辺のフィードバック抵抗が不要になった。ただし電流制限抵抗が加わっている。
(2)DIR9001ではPLLフィルターの接続先がGNDである(DIR1703はVcc)
(3)DIR9001のPin19はGNDに接続(DIR1703は使用するXTALに応じて接続先が変わった)。

なお、DIR9001では使用するXTALの周波数は24.576MHzのみになった。でも、この値は結構店先で買える値でもあります。

          DIR1703の接続例                                    DIR9001の接続例


ASARC(v1c)のパターンを修正してみよう。

1.半田面の修正
修正する箇所は勿論IC3(DIR9001)の裏側のみです。3カ所の切断と2カ所のジャンパが必要です。

ASRC基板(v1c)の修正個所。赤線は切断箇所。黄色線は接続箇所。


修正した様子


2.部品面の修正
ASRC(v1c)基板のPin19はPin17に接続されているので、この部分を切断します。
部品面の修正はここのみです。
少し細かい作業ですが、さほど難しくはありません。

修正個所。青丸印が修正する部分。


修正個所。青線が切断する箇所(シルクは重なるので非表示にしてます)。


切断した様子。

なお、Pin19はアプリケーション例ではGNDに接続されていますが、データシートには次のような記述があります。


すなわち、Pin19(RSV)は予めプルダウンされていますので、わざわざGNDに接続する必要はありません。
もし、部品面のパターンの切断が面倒なら、DIR9001本体のPIN19のみを切り取ってしまうのも一つの方法です。
案外、それが簡単かもしれません。でも、絶対にPin19ですよ!間違って隣のピンを切らないように(笑)。
あ、Pin18は間違えても未使用ですから大丈夫です。Pin20を切り離したら諦めてください(爆)。

3.部品定数の変更
DIR9001に変更する場合は部品定数も若干異なります。といっても変更は4カ所のみです。

DIR1703の場合 DIR9001の場合
X1 16.9344MHz 24.576MHz
R11 1MHz 100Ω(100〜500Ω)
R12 1.2kΩ 680Ω
C11 0.0082uF(823) 0.0047uF (472)


では組み立てましょう!

24.576MHzの水晶は円筒形のものが無かったので、少し形状は違いますが無理矢理取り付けました。
DIR9001はDIR1703に比べて、少し幅が狭いのですが、DIR1703用のパターンでも問題無く半田付けできました。


DIR9001の周辺。

ASRCはIC数は多い(計12個)のですが、CR類の種類が少ないので組み立ては意外と楽です。
小型の電解コンデンサについては横着してすべて47uF/25Vにしました。


組み立て終了!

動作確認!
出力には192kHzまで入力が可能なNOSDAC3を接続して動作確認をしますが、
32kHz〜192kHzまで、すべて問題なく動作しました。まあ、失敗する要素があるとすれば
SSOPの半田付けくらいかな。

これでDIR9001の使用方法は1つ確認できました。

<追加> 2007.7.1

DIR9001用に修正した基板もできあがりましたので、動作の確認をしてみましょう。
修正点はわずかなので、確認するまでもないとは思うのですが、万が一問題があったら大変です。

DIR9001用はDIR1703用と区別がしやすいよう用に、”for DIR9001"とシルクを追加しました。

こちらはDIR9001用です。基板バージョンをv2aにしています。

ASRCの組み立ては部品点数が少ないので短時間にできますが、
SSOPが4つあるので半田付けは注意が必要です。

完成! 同軸出力用などのパルストランスはつけていません。

無事動作確認!

何もトラブルなしに無事動きました。
実は気になることがあったので、少し波形を観測してみました。
気になるというところは、DAIの出力周波数とSRCの出力周波数の差です。
というのはFIFOの検討をしていますが、実際にどのくらいの周波数差が生じるのか知っておかないと、
メモリ容量が導出できません。

さてソースはPCをつかっています。WAVE-GENERATORで48kHzで出力させています。
まずはDAIの出力です。
 
 LRCKは48.009kHz                      BCKは3.0729MHz

上の写真からもわかるように、LRCK=BCK/64ですから、データは32ビット長です。
さて、問題は48.009kHzそのものの値です。オシロの周波数カウンタの測定精度も?なところがあるので、
絶対値自身は意味がありません。

つぎにSRCの出力を観測してみましょう。
周波数は48.003kHzです。DAIの出力とは0.006kHzすなわち6Hzの差があります。

 
 LRCKは48.003kHz                      BCKは3.0722MHz

Hzの差はどのように効くか?


誤差率にすると、6/48000=134ppmになります。
これはCDを1枚分(74分)を再生したときに、生じる時間差は74*60*134E-6=0.55秒です
すなわちメモリバッファとしては余裕をみて、1secは必要な計算です。メモリーが半分溜まってから
出力するとすれば、メモリーは全体で2sec必要です。
すなわち、2sec×48000×4×2=768kBは必要です。
当初の予定の128kBでは足りなさそうです。1MBは必要かもしれません。となると8MBitになるな・・・・
まあ、メモリ量については、ここで検討を進める話でないので、まずはASRCが動作したということで
よしにしましょう。
#PCの水晶の発振精度が悪いのかな?それとも、このくらいのばらつきは普通なのかな?

DAC1704woDAIも修正

こちらもGNDパターンを少し変更したので、再度動作確認のため製作しました。
アナログ部はディスクリート型をつかうかもしれないので、実装していません。
部品についてはPCM1794周辺はOSコンを多様しました。

DAC1704woDAIも再度くみたて。

動作の確認にはASRCと組み合わせてIV抵抗値の両端の電位を測定しました。
横着して、DAC1794woDAIの電源(5V)はASRCより供給させています。
アナログ部がないので、5V単一で動作可です。

ASRC:下とDAC1704-woDAItとの結合!

全chとも問題なく動作!

IV抵抗値の両端の電圧

新しいバージョンの基板についても動作は確認できました。
とりあわず、”ホッ”です。

(おしまい?)