サンプルレートコンバータを検討してみよう!

ASRCとは
サンプルレートコンバータとは、名前のとおりでディジタルオーディオ信号のサンプル周波数を変更するものです。
たとえば44.1kHzでサンプルされたものを96kHzや192kHzに変換します。
変換といっても、互いの周波数が整数倍ではないので非同期変換となることから、ASRC(非同期サンプルレートコンバータ)と一般には呼ばれています。
ASRCをつかうと何がいいかというと、ジッタが低減するということらしいです。
フラフラしたCDのディジタル出力を一旦リクロックするという感じでしょうか(本人もよくわかっていない)。
あとは、44.1kHzで送り出すより96kHzや192kHzでDACに供給したほうがカッコいい!ってところです。
アクセサリーとしては面白い一品だと思いますね(ちょっとオカルト系のような気がしないでもない)。
逆にASRCを使うデメリットは、非同期変換を行うわけですから途中に信号処理が行われます。
これが音質に影響を与えることが予想されます。
ただし、メーカカタログみてもTHD+Nが-140dBとかありますからノイズが混入することはなさそうです(ディジタル変換だからあたりまえ)。
しかし音質までは数値で表現できないのでどうなるかはわかりません。つくってみないとなんともいえないといったところです。
あとのデメリットとしてはコストがかかる、機器が増えて場所をとる、といったところが上げらるでしょう。
いづれにしても趣味の世界の装置ですね。

#本来のASRCの使い方は複数のディジタル機器の出力を1つにまとめる(スタジオのコンソールミキサーに相当)ことなんでしょう。

構成
ASRCの中心はTIのSRC4192です。
ソフトコントロールできるSRC4193もありますが、PIC等に慣れていない小生にはハードコントロールできるSRC4192の方が楽チンです。
構成はごくシンプルに、DIR1703で信号を受けて、SRC4192で変換して、DIT4192で送り出します。
DIT4192に供給するクロックはPLL1707で生成します。
入力は4系統(同軸×2とTTL×2)として、出力はディジタル×1と同軸×1です。
変換周波数は32,44.1,48,88.2,96,172.6,192kHzをロータリスイッチ1つで切り替えられたら音質確認等でべんりなので、すこしロジックを追加します。入力のスルー機能もあったほうがいいでしょう。回路ブロックは下図の通りです。

全体のブロック図


回路図作成
 相変わらず手書きです。早い話がCADがないだけです。
でも味があるでしょう(笑)。方眼紙に書きますが鉛筆書きなので濃くコピーをとったときに升目が写るのが難点です。
電源には5Vと3.3Vが必要です。両方ともLM317をつかった安定化電源としました。
ディジタル部では電圧変動が起こると論理レベルのHighとLowの閾値が変わるのでジッタの原因となります。
電流はさほど必要ではないのですが念のため放熱板もとりつけないといけないでしょう。

相変わらずの手書きの回路図。


動作確認のための試作
本当にこの構成で動くのかどうかを一応確認してみます。
回路図通りではなく、主要な接続で動作が確認するかどうかの確認のための最低限の構成です。
実験では44.1kHz→96kHzに変換してみました。問題なく変換できているようです。
スルーの時に比べて波形の揺らぎが減っているような印象があります(ホントかな?)。
接続したDACは初代NOSDACですが96kHzでもロックするようです。
DAI部分はPCM1794のバグ基板をつかい、出力(DIT4192)はADCバグ基板。
SRC4192はPCM1794バグ基板配布のときに一緒に添付したSSOPの変換基板をつかいました。
ちょっと勿体ない使い方ですが、こういった実験のときにはかなり便利です。

動作確認中のASRC。いろいろな基板の寄せ集めで動作確認します。


基板のアートワーク
基本的に動くことが確認できたので、おもむろに基板のアートワークにかかります。
まずは部品の配置を決める!これを決めるのが一番難しいです。
できるだけコンパクトに、かつ配線がしやすいように配置を決めます。
今回は電源部も含むので基板サイズも比較的大きくなってしまいました。
といってもDACに比べると小さいですね。

まずは大まかに部品の配置を決めていきます。


パターンを引きながら部品配置も見直し(遅々として進まない・・・・)


とりあえずパターン描きは完了!これから回路図の再チェックとパターンチェックを2〜3回繰り返して試作にはいります。
しかし2〜3回チェックをしても、間違いが出てしまうのはやっぱり人間である証拠ですね。
基板サイズは約100×150mmと比較的おおきなサイズです。

基板発注!
 じっくりチェックすれば、色々とミスが出て来そうですが試作ですので、とりあえず作ってみましょう。
動かないときはそのときです(楽観主義です)。2005.12.11にインターネットで発注しました。
データの確認作業があるので、たぶん12日の受付となって発送は12/19頃でしょう。到着は12/20かな?
3連休のときにでも動作確認できそうです。

あらかじめケースの加工!
ディジットにちょうどよいケースが安くありました。幅270mm×奥行150mmでちょうどぴったしです。
値段も400円なのでどこかのアウトレット品でしょう。あとはTORX179/TX179を調達したので入力もフル仕様で製作予定です。


ケースに関する部品は結構安いものばっかり集めました。
ケース(400円)、ロータリーSW(155円×2)、ツマミ(150円×2)、スイッチ(100円×2)、
RCA(120円×3)、TOSLINK(250円×3)、トランス(800円くらい)、ACケーブル(拾い物)、
スペーサ(15円×4)、FUSE-BOX(75円)かな?合計すると3255円。塵もつもれば結構かかるものです。
この手のケースは1mm厚のアルミ板なので加工が楽です。角穴もニブラーを通せばすぐに加工できます。
また、丸穴のおおきなものもステップドリルをハンドドリルに取り付けて扱えます。

部品の準備!
部品はあらかじめ必要なものを準備しておくと製作時間がものすごく短縮できます。
私はカラーコードが読めないので抵抗は分類して部品表に張り付けておきます。


基板到着!
予定より1日遅れの到着です。どうもこのシーズン(12月末)は雪や贈り物の配達の関係でトラフィックが集中して遅れることがあるようです。
私みたいな趣味の人は納期が遅れてもきになりませんが、仕事の人は困るでしょうね。


製作開始!
部品の取り付けは小さい部品から取り付けるのがセオリーですが、今回は違います。
電源部が同居しているのでここで出力電圧を間違おうものなら下流の部品をすべて飛ばしてしまいます。
で、まずは電源だけを組み立て通電後に電圧を測定します。
この回路では3.3V、5Vが必要ですがそれぞれ3.28V、5.06でした。
電源が正常でまずは一安心です。



電源のチェックはパターン上に+3.3V、+5Vのランドをつけているのでここで確認します。


つぎは鬼門(?)のSSOPの半田づけです。いつもは直接つけてしまうのですが、ここはマニュアル作製を睨んで丁寧に作業して写真もとります。
まずはテープでSSOPを仮固定して、フラクスを塗ります。


そしておもむろに半田付け。”引き半田”でつけますが、どうしてもブリッジなどができてしまいます。
でも、こんなのは気にする必要ありません。吸引式の半田吸い取り器で「ポン」とやればすぐにとれてしまいます。


今回は4つのSSOPパッケージがありますが、それらが取り付けばあとは楽チン!
部品点数はさほど多くないのですぐに完成です。


でもって、お出かけよう(笑)の写真をパチリ!


さて通電だ!
この瞬間がやっぱり一番緊張します。
まずはおそるおそる電源ON!そしてすぐにICを触って異常に熱いICがないかを触って確認します。
とりあえずはなさそうです。そして入力にCDからの同軸をつないで波形を確認。
DIRの出口とSRCの出口でそれぞれBCK、LRCK、DATAの波形が出ていることをオシロで確認します。
ここまでくれば大丈夫でしょう!



音だし!
いつもの音だしに使うCDを鳴らします。木住野佳子さんのJAZZナンバです。
まずは44.1kHz、つぎは96kHzに変換!おおおお・・・・・違うぞ!!!!
切り替えたときの瞬間・・・・でもどう違うかは内緒!

あれ?

音だしと同時に同軸出力の波形を監視していますが、44.1kHz、48kHz、88.2kHz、96kHzは選択したときは正常に出力されますが32kHz、176.4kHz、192kHzを選択したときの出力の周波数が違います。これら3つを選択したときは、88kHzあるいは96kHzになってしまっています。
おそらくパターンミスか回路のミスかどちらかのようです。でも、まずは96kHzで動きました!あとは簡単なチェックで直るでしょう。
デバッグもまた楽し!です。

バグ発見!
周波数がうまく切り替わらないバグが判明!なんと単なる半田付け忘れでした。周波数切り替えにはロジックICの74HC00をつかっていますがピンを2カ所半田付けしただけで、残りは半田付けがごっそり抜けていました。ここを修正してすべての周波数(32kHから192kHz)に選択できることが確認できました。しかしながら、我が家には192kHzでの動作を確認できるDACがないので、これだけはオシロで所定の周波数がでていることでしか動作が確認できません。
 しかし、ここまで基板のミスは無いようです。珍しいこともあるもんだ。

最後はケースに収めよう!
動作も確認したことだし、今後じっくり評価するためにもケースに納めましょう。基板のままでほったらかしにしておくと必ずといっていいほど朽ちてきます(そのまま年末掃除で捨てられてるおそれも・・・・)。ケースの加工はできていますのであと一息です。


すこし大きめのケースの中に収まりました。


左が周波数の選択ロータリスイッチ、真ん中がASRC機能のON/OFF、右が入力切り替。


入力は光×2,同軸×2。出力は同軸、光 と基板のフル仕様。





完成!
ようやくASRCも完成しました。これでまた一つオーディオをいじる楽しさが増えたような気がします。
しかし、いまとなって後悔するのは安いケースに入れてしまったことです。愛用のケース(タカチのOS)とのデザインの統一性がとれない(泣)。
あとは安いロータリスイッチなので操作フィーリングもそれなりです。
ケースの入れ替えはそのうちやりましょう。

ASRC+DAC63S
ASRCの外部出力端子としてSRC4192の出力がでています。
フォーマットはRight Justified に設定していますのでそのままDACに接続することができます。
試しにDAC63Sに接続してましたが問題なく動くようです。LRCKを反転したものを他方のDACに
同じように接続すればASRCがDAI代わりで使えます。
ジャンパーを変更すればPCM63Pの20BIT-DACでも接続できるはずなので、ASRC+DAC63Sの
組み合わせてとすれば面白いかもしれません。
 連続的に周波数を32〜192kHzに変更すればどの様に音が変化していくでしょう???????

単純な結線でDACが動作します。

ちょっと波形をみてみましょう。PCのWaveGeneratorをつかって正弦波を出してみました。
オシロの縦軸は2V/Div共通です。

    
サンプル周波数32kHz(入力約8kHz)              サンプル周波数44.1kHz(入力約11kHz) 

  
サンプル周波数48kHz(入力約12kHz)              サンプル周波数96kHz(入力約12kHz) 

   
サンプル周波数176.4kHz(入力約12kHz)              サンプル周波数192kHz(入力約12kHz) 

予想通り、サンプル周波数が高くになるに従って補間が働いている様子がよくわかります。
これがどのように音に影響を与えているかは聞いてみないと判らないでしょうね。
私みたいな駄耳だと、周波数を変えたときに変わった気になっているだけかもしれませんが、
趣味ですから、変わった気になっていればいいでしょう。

ASRCはちょっと遊べるアクセサリーだと思います。

チャンチャン!

(おしまい 2005.12.29)


ASRC基板のバグ(v1,v1a、v1b) 2006.2.12

IC7(74HC153)のPin2がフロート状態になっているミスがありました。
動作として安定しない状況になる場合があります(IC7に指を近づけると音がとぎれる)。

対策としてはPin2をGNDに接続しますが、隣のPin1あるいはPin3がGNDになっているのでPin2をどちらか(pin2あるいはPin3)に接続してください。
半田面でも部品面(直接ICのPin同士を接続)でも修正は容易だと思います。


SRC4192/4190のBYPASSピン?

SRC4190/4190にはBypassピンがあります。
これはデフォルトではOFF(ASRCが完全に機能する)としていますが、ON(ACTIVE)にするとどうなるのでしょうか?
なんとなく入力信号がそのまま出ていきそうな雰囲気があります。

設定変更は簡単です。BpとあるパターンはベタGNDに接続されていますが、これを切ってHIGHにします。

BpとあるところがBYPASSピンにつながっている。


Vdd(3.3V)が来ているところに1/6Wの抵抗で接続

ASRCに入力信号として6kHzの正弦波をパソコン(48kHz)で入力して、ASRCをDAI代わりにつかってR-2R LADDER DACに接続して波形を確認します。


BYPASSがOFF(DEFAULT)の場合は下図の通りです。出力周波数が上がると補間が効いて波形がなめらかに変化していきます。

 
         fs=32kHz                           fs=48kHz

 
        fs=96kHz                           fs=192Hz




BYPASSがON(ACTIVE)の場合は下図の通りです。出力周波数が上がると48kHzまでは補間が効いていますが、
それ以降は同じ波形になります。しかし、出力周波数は確実に変わっています。
なお32,48kHzでは波形出力の同期が崩れました。ASRCとしての機能も一部スルーになっているように見えます。
 
           fs=32kHz                           fs=48kHz

 
        fs=96kHz                           fs=192Hz

BYPASS機能はたぶん使うことはないと思うのですが、フィルタをあまりかけずに単純に周波数を上げる用途に良いのかもしれません。
切り替えも容易ですから、外付けSWなんかをつけたら面白いかも。


とりあえず元に戻して置こう!

(つづく?)