|
|
2001/2/21更新:CDのエラー観察
| What’s? |
|---|
訂正不可能エラー (CDなどの再生時、読み取りエラーが起こり、それを訂正できずに、プレイヤによって何らかの補間処理が行われた事態) をカウントする装置です。
ネタ的には一昔前ですが、Webでの検証記事は少ないようなので...
CD再生時における、訂正不可能エラーのレートは、十分低く、エラーそのものが直接、音質を変える要因にはなっていないのは周知の事実です。 雑誌や個人の Webページでも検証されていますし、エラー云々よりもっと踏み込んだ形で、個人的に実験されている方も大勢いらっしゃるでしょう。 (→ A-1DRIVE 関連記事) 従って、「何を今更」的な装置なのですが...個人的興味から、また、プレイヤのディジタル出力(DAI(Digital Audio Interface, S/PDIF)信号)から下記の チャネルステータスデータ等も抽出・表示できることから、 「有れば有るで面白いでしょう」ということで、製作することにしました。製作には MJ誌 1995/3,4 徳久氏「デジタルオーディオエラーカウンタの製作」が参考になります。
AudioPCIなどのサウンドカードを改造し、生ディジタルI/Oを付ける、というのが少し前に流行りましたが、 そのとき自分もやってみようと DAIレシーバ(CS8412)を購入したものの、結局実行には移せず、石が遊んでいてもったいない、という事情もあります(^^; (まぁ、当初からサウンドカード改造か、このエラーカウンタのどちらかを作ろうともくろんでいた。) いまだに「ディジタルなんだから、エラーが起こらない限り音は変わらない」という意見をたまに聞くが、そういった、古い言葉で言う「ディジタル神話」は世の中から早く払拭したいものだ...
CS8412は ¥3000弱の石です。今は 96kHzサンプリングに対応した CS8414も ¥4000ぐらいで手に入るようです。(若松通商で通販入手可)
CDのエラーレートの検証記事は、CDプレイヤ内部から、直接、Tracking Errorや、Focusing Error、ないしC1/C2デコードエラーを観察しているものが多いです。 プレイヤの箱を開け、「TE」「FE」「VERF」などのピンが基板上に立っていれば、そこから何らかのエラー情報を取り出せる訳ですし...特に装置を自作しなくても良いので、ある意味簡単です。 ここで製作する装置は、プレイヤの外から、最終的な訂正不可能エラー(だけ、というかこれしかできない)をカウントするものです。
原理は、CDプレイヤなどの再生機器に訂正不可能エラーが発生し、補間・前値ホールド・ミュートなどが行なわれると、プレイヤは、Didital Out(S/PDIF)の信号の中の「Vフラグ」というのを HIにします。 本機は、入力された S/PDIF信号ストリームの中から、この Vフラグを抽出、カウントします。再生音を聴きながら、今まさに再生された音が、正当な音なのか確認できるというからくりです。 エラーはサブフレーム単位(1サンプリング点毎)でカウントします。S/PDIF信号からフラグを取り出しているので、再生機器が、DigitalOUTを持ってさえいれば、種類を問わず(CD,DAT,MD,PC,DVD...)使えます。
これは未だに誤解のある部分なのですが、CD-DAとはいえ、エラー訂正機構はあります。 というか、CD-ROMなどの規格は CD-DAをベースに作られたものであり、CD-DAの訂正機構+α(+リトライ)という万全の体制でデータ化けを防いでいる訳です。
「CD-DAでエラーが起こったら、即 “補間”され、この補間法が音質を決めている」と、よく勘違いされるようですが、実際は、小さな規模エラーのものであれば 「方程式を解く」事によって、もとのデータと全く同じ物が復元できます。更に「CD-DAのエラー訂正能力は貧弱だ」と、また勘違いされるのですが、 それは、CD-ROMなどと比べた場合であって、例えば CD上の傷では円周方向に 2mm近くまでなら、完全訂正可能です。
今回製作するエラーカウンタは、「訂正できなかったエラー」をカウントするものです。これが、再生中にバシバシカウントされるようなら、 「エラーで音が変わるんだ」と一喝できますが...(←そうではないのです)
CS8412から取り出せる情報はすべて利用するという意気込みで、エラーカウント以外にも、S/PDIF信号の チャネルステータスデータ(著作権情報などを含む 32bitのコード)、 DAI信号の正当性、伝送エラー、サンプリング周波数及びその精度など、さまざまな情報を表示させます。ディジタルオーディオ・チェッカとしても面白いかと思います。
エラーレートを計るといっても、C1/C2エラーやジッタ成分を観察するものではないので、エラーやジッタ、サーボ電流云々などといった事と、音質との 相関をさぐるような程度の高いことをやるものではなく、あくまで参考程度のお遊び機器であります。(スペアナをボーッと見るのと似た雰囲気(爆))
| ディジタルオーディオインタフェイス についての簡単な理解 |
|---|
IEC 60958 / EIAJ CP1201で規格化されているディジタルオーディオインタフェイスで、最も一般的で馴染みが深いのが、 S/PDIF(Sony/Philips Digital Interface Format)です。 1本の信号線でデータとクロック、チャネル識別のためのワードシンクをまとめて送る、DI-SYNCという方式に分類されます。
その中を流れる信号は、「ブロック」という大きな区切りがあり、1ブロックは、192個の「フレーム」から成ります。 フレームは2個の「サブフレーム」で構成されます。サブフレームは1サンプル分のデータを含む以下のような 32ビットで構成されます。
プリアンブル以外は、バイフェーズマークという変調が施されています。なかなか巧妙なもので、これによりプリアンブルの区別ができたり、 コネクタの極性が逆になっても正しくデータ転送ができるようになっています。
いわゆる「SCMS」は、C bitの BitNo.2と No.8〜15のカテゴリコード及びLビット世代情報フラグを見る仕組みです。
| 回 路 |
|---|
回路は以下の通りです。MJ の回路と大部分は同じ構成ですが、入力部・リセット回路などを若干アレンジ、クロック精度表示関係の機能を追加してあります。 大別して、メイン基板、カウンタ基板、デコード基板に分割して作ります。
| リセットに関して |
当初、エラーレポートをリセットするのに、図のような接続にしましたが、「No Lock」が点灯しっぱなしで、うまく動きません。 M0〜M3を HIにすると、CS8412自体がリセットされるので、エラーレポートもクリアされるだろうと思い、図のようにしたのですが... 良く考えると、リセットがかかってから、信号のブロックの先頭が来るまでは、物理的に PLLがロックしていても、信号レベルでは「No Lock」の状態ですから、 エラーレポートにもそれが表示され、全然リセットする意味が無い、ということなんですね。データシートを良く見ると、エラーレポートのクリアには、 「bringing SEL high for more htan 8 MCK cycles」とあったので、M0〜M3に入力していたリセット出力を、SELピンに入れ、M0〜M3は GNDに固定すれば良いことになります。 幸いにも出来上がった基板の2ヶ所をパターンカット・修正だけで済んだので一安心。上の回路図及び、後のパターンは修正を加えたものです。 |
CS8412からの エラーレポート、Fs精度情報をデコードし LEDを点灯します。内容は以下の通りです。
| クリティカル度高い ↓ | E0 | E1 | E2 | ||
| 0 | 0 | 0 | No Error | ||
| 0 | 0 | 1 | V flag HI | プレイヤ側で訂正不可能なエラーがあった | |
| 0 | 1 | 0 | Confidence flag | 伝送ラインの0/1が不明確(伝送品質が悪い/不適合など) | |
| 1 | 0 | 0 | CRC Error (Pro only) | CRCエラー(業務用信号のみ) | |
| 1 | 0 | 1 | Parity Error | パリティエラー(伝送系でエラーが発生) | |
| 1 | 1 | 0 | Bi-Phase Coding Error | バイフェーズマーク変調が不正(伝送エラーや不正な出力) | |
| 1 | 1 | 1 | Un Lock | ロックできない/信号が無い |
CS8412のデータシートでは 「Confidence flag」の部分が Reservedになっていますが、上のような機能があるようです
プレイヤの訂正不可能エラーは「V frag HI」となります。それ以外は、Digital OUT,伝送路にまつわるエラーです。 従って、ディジタル機器が、ちゃんとした Digital OUTを持ち、適正な信号を出し、本機に適切なケーブルで接続されていれば、 V frag HIよりクリティカルなエラーは出ないはずです。 逆に、そういったエラーが出るようなら、送り出しの品質(特に PCなど。ピュアオーディオ機器ではなかなか無いと思いますが...)や 伝送路などの品質が疑わしいということです。
| F0 | F1 | F2 | |
| 0 | 0 | 0 | Out of Range |
| 0 | 0 | 1 | 48kHz ± 4% |
| 0 | 1 | 0 | 44.1kHz ± 4% |
| 0 | 1 | 1 | 32kHz ± 4% |
| 1 | 0 | 0 | 48kHz ± 400ppm |
| 1 | 0 | 1 | 44.1kHz ± 400ppm |
| 1 | 1 | 0 | 44.056kHz ± 400ppm |
| 1 | 1 | 1 | 32kHz ± 400ppm |
Fs精度はチャネルステータス の中にも「自己申告」の情報がありますが、ここでは「実測値」(FCKを基準とした相対値)を表示します。 (44.056kHzって...? 昔の機器?)

電源は ACアダプタからとります。3端子レギュレータは 1Aタイプのものが良いでしょう。
| データシート | |
| CS8412 | DAI Receiver |
| 74HC02 | Quad 2-input NOR gate |
| 74HC14 | Hex schmitt inverter |
| 74HC93 | 4bit Binary Counter |
| 74HC123 | Dual monostable multivibrator |
| 74HC138 | 3-to-8 line decoder |
| 74HC595 | 8-bit shift register/latch (3-state) |
| 74HC4511 | BCD-to-Seven Segment Latch/Decoder/Driver |
| 74HC4518 | Dual BCD Up Counters |
| TORX17x | TOS Link |
NEXT (製作・実装)...
|