AudioPCIデジタル入出力改造

to English
2001/5/7 英語独立
2001/4/30 引っ越し/日英併合

はじめに Introduction

かなり昔(EnsoniqがCreativeに買収されるかなり前)に、 たまたまAudioPCIっていうサウンドカードを買いまして、 そこそこ音もいいので満足していました。 で、しばらくして98年の春でしょうか、SoundPROなるSPDIF付のサウンドカードが話題になって、 デジタル端子も一応使えるようにはしましたが、、、ぼろぼろで、、、 その点AudioPCIはAD/DACが別チップなのでひょっとしてそこんとこを うまくごまかせば、自然なデジタルにできるかもなあと考えてましたが、 そんなときに nekoさんUYOさんが AudioPCIにSPDIF入力端子をつけることに成功して、、、で、早速真似してみました。感謝です。

入力回路をつける

部品さえ入手できれば、はっきりいって簡単です。 とりあえず、部品です。
CS8412が入手できれば後は問題ないでしょう。
TOSLINKは秋月で売ってます(送受信ペアで700円 追加情報…500円タイプもある)。 あとは、こまごまとした部品なのでうちには買うまでもなくありました。

UYOさんのページを参考にして回路を組んでみました。
実際には自分用なので、更に端折っています。

電源は5V単一なのでPCの電源から分岐させて取ってみました。

ソフトウェアを設定する

最近の拡張カード類はPnPで勝手に資源が割り当てられるように なっているのですが、自分でちょこっとしたI/Oのテストには不便です。
当時のnekoさんの作られたチップのレジスタ制御プログラムもI/Oアドレス固定に なってました。
ってわけで、PnPを無効にしてカードのアドレスを0xe000に固定します。
べつにこのアドレスである必要はないのですが、
伝統的な理由でこのアドレスになってます。
実際に、デジタル入力を行うにはUYOさんのページを参考にするといいと思います。

いろいろ遊んだ末に…録音したい!!

で、光ケーブル経由で入力できるようになりました。 でも、せっかくなので録音するツールがほしいところです。
いろいろ探してみましたが、気に入ったフリーの録音ソフトが見つからなかったので、この際と思って、バグバグですが自分用に簡単なものを作ってみました。
バージョンあがりました(1998/9/26)。
録音ソフトの実行中の画像(12kBytes)です。
無音部分が数秒間続くと別のファイルに 書き込まれるようになってます。作っただけで学校が忙しいので ぜんぜん使ってません。秋になれば本格的に使うでしょう、きっと→まだ夏みたいです

ためしに使ってみたいものズキな方は I/Oアドレスを0xe000に固定した上で(またはオプションで適宜アドレスを指定してください)
これを使ってください(AudioPciRec.exe 45,056バイト) 。Windows9x上で動きます。NTでは絶対動かないでしょう。 あと、Visual C++ 6.0で作られているのでランタイムのDLLが必要です。適宜入手してください。

バグとか要望とかありましたらメールもしくはnekoさんの掲示板(爆)までお願いします。

コマンドラインの説明

オプション 説明
-i  AudioPCIのI/Oアドレスを指定します。(デフォルト:0xe000) -ie000
-w デフォルトで使うフォルダを設定します。 -wc:\tmp
-f 入力信号の仕様を選択します。(デフォルト:i2s) 
-fsony ソニーフォーマット 
-fi2s I2Sフォーマット
-fSony
使用上(仕様上?)の注意
コマンドライン ★オプションの順番は問いません。 
★ひとつのオプションはスペースであけないでください。 
 例:[正]-if000 -wc:\ [誤]-i f000 -w c:\ 
 特にフォルダの指定のときに気をつけてください。
ファイル数 ひとつのフォルダに一日に1000個以上のファイルを録音することは避けてください。一応動くとは思いますが…ファイルが整理しにくくなると思います。
I/Oアクセス デフォルトではI/O空間0xe000をいきなりアクセスします。 
もし、AudioPCI以外のボードで使う場合、気をつけてください。運が悪いとハングします。

次に、出力端子をつけてみる

今度は、またもnekoさんのページを参考にして出力端子をつけてみました。
ついでなので、入力回路を移植してひとつの基板にしました。
入力回路と違ってIC1つというわけにはいかないようです。とりあえず、nekoさんのページを参考にしてロジック部を組み立てます。

あと、TC9231Nのピン接続なのですが最初テキトーにやってみました。すると…
動くには動いたのですが、コピーガード信号が出力される始末。音は聞こえますが、録音できません、かなしい。

まあ、いろいろ試行錯誤で行った結果、図のような接続でうまく行きました。

TC9231Nのピン接続図(5KBytes)です。

こんな感じで組んでみました(製作例)

せっかく作ったので、どんな感じになっているかここで、でで〜んと紹介します。

DAC付近の写真です。
これは、出力用の信号をDACから分けてもらっているところです。
はんだ乗せるのに結構苦労しました。


上のほうのICが入力信号処理用(CS8412)、
ナナメってるICが出力用変調IC(TC9231N)です。
あとの3つはフォーマット変換用のロジックです。
ちなみに、シュリンクパッケージのICは斜めにすると
うまくユニバーサル基板につけることができます。


で、ビスでサウンドカードに固定しました。
TOSLINKは、プリンタポートの金具にねじ止めしました。

回路図です

せっかく作ったのですから備忘録として回路図を残しておきます。
(作ったときは回路図自分で書かなかったが…)
基本的には、入力部分はUYOさんの回路図、出力部分はnekoさんの回路図がベースになってます。
特に工夫はありませんが…バッファが省かれているのがわかると思います(←怠慢なだけです)。
気になる方はHCT86の余ったゲートを使用してバッファにするのがいいと思われます。

回路図です。めちゃめちゃでかいです。

回路図です(21kBytes)

注意点です(回路を組んだ経験が少ない人向け)

74シリーズの各ICに電源をつなげることと、HCT86とHCT74の使っていない部分の入力端子には5VかGNDをつなげることぐらいです(QとY以外は入力端子です)。TOSLINK(光コネクタ)の結線はTOSLINKによって違うので、それぞれのデータシートを参照してください。
あと、各ICの電源とGNDの間に0.1μF程度のセラミックコンデンサをつけてください。
さらに、基板に最低ひとつは電源とGNDの間に100μFから330μF程度の電解コンデンサをつけてください。回路の動作が安定します。