機能追加してみました。2012.5.9こんなメールいたしました。ES9018のDataSheetには乗っていないのですが、QUANTIZER(量子化ビット数)を設定するレジスタをご存じでしょうか。ここを変更することで結構音に違いがあります。QUANTIZERを起動時に設定していただけるようにできないでしょうか。8'b11111111ES9018にはDACモジュールが8個ありますが、音をよくする方法として、DACモジュールの出力を束ねる方法と大きなビット数で量子化器を使ってDACモジュールに送る方法があるとのことです。15は、QUANTIZERを設定するレジスタで、6-bit〜9-bitまで設定できます。8、9-bitの場合、DACモジュールを消費してしまうため、出力を束ねることができなくなるというデメリットがあるとのことです。15はデフォルト値は8'b00000000ですが、うちのBaffaloIIでは7-bitQUANTIZERを設定して使用しています。明らかによくなった気がします。追加はそれほど難しくありませんが、プログラムの容量が心配ですがなんとか押し込めました。消費電流は・・・・これについては実測はしているのですが44.1kHzのときだったので192kHzの入力時にどうなるか調べてみました。なんとES9018が電圧出力時でも690mA(アナログ約105mA、ディジタル585mA)も消費します。いうことは電流出力になると約80mA増えると考えればよいので、ディジタルは600mA以上、アナログ部は200mA以上用意する必要がありそうです。余裕をみればディジタル800mA、アナログ部300mAでしょうか。電源はしっかりと作る必要があります。こんなリクエストもなるほど。CS8416の周りにはDATA、LRCK、BCKを取り出すランドがあるので、そこからPCM入力(CN2)に接続すればいいですね。いった入力モードも作ってみましょう。CS8416周辺のデータの取り出しパッドです。取り出しパッドからPCM入力(CN2)へ配線です。表示はこんな感じです。SPDIF1PのPがポイントです。実際のデータはPCM(CN2)にしています。SPDIF1の後のPがポイントです。このため入力はSPDIF1SPDIF2SPDIF3SPDIF4PCM−INDSD−INS−DSDSPDIF1PSPDIF2PSPDIF3PSPDIF4Pのなかからセレクトすることになります。多くなってしまいましたが、まあ自作ならではですね。ちなみに、この入力パターンはフルファンクションモードのみサポートです。ここまで機能を増やしたらプログラム容量も97%になりました。このPICプログラムバージョンでリリースしていきましょう。いっても週末は合宿なので、作業が出来るのは日曜日の夜になりそうです。2012.5.15このDACはとても電流を必要としてます。3.3Vで約800mAです。RA40-144トランスの容量は十分ですが、リニアレギュレータで構成すると大きな放熱板が必要です。8V(AC)出力を使用した場合、整流後の電圧は約11Vです。それを3.3V800mAを流すまでドロップさせると(11-3.3)*0.8=6.16Wの熱損失があります。この電力は小型の放熱板で補えるものではありません。いうことで、すこし電源を考えないといけないです。ひとつの案は3.3Vラインはアナログとディジタル部にわかれます。ディジタルは約600mA、アナログは約200mA(100mA×2)です。アナログ部はでリニアレギュレータとして左右分離すれば、片チャンネルあたりの熱損失は(11-3.3)*0.1=0.77Wであり、これは小型の放熱板でも大丈夫でしょう。問題はディジタルです。そこでディジタル部はスイッチングレギュレータとリニアレギュレータのハイブリッドを考えてみましょう。スイッチングレギュレータで5Vまで降圧し、そこから3.3Vまでリニアレギュレータで落とします。すれば、効率と電圧リップルの低減の両立をはかることができます。電力損失は(5-3.3)*0.6=1.02Wですから小型の放熱板でも大丈夫でしょう。こんなスイッチングICを買ってみました。5V固定電圧出力ですが3Aの容量のあるICを買ってみました。これをつかって特性を調べていきましょう。回路はこんな感じでしょう。5→3.3Vのリニアレギュレータは3端子レギュレータでもよいのですが、もうすこし性能を出したいこともありOPAによる制御回路を採用してみましょう。基準電圧はシャンとレギュレータのTL431(IC2)を使います。誤差増幅のOPAはまずは安価なLM358あたりを使ってみましょう。試作してみる回路はこんな感じ。ユニバーサルでつくってみましょう。2012.5.20まずは5Vのスイッチングレギュレータ部をつくりました。部品は手元にあるものだけでです。コンデンサは1000uF/50Vのものです。これはデジットで安かったので大量に買いましたが、いつになったら消費できるのって感じです。スイッチングレギュレータ部のみをつくりました。無負荷時の電圧を測定してみると5.13Vと少し高めです。3%程度ですから問題はありません。負荷には1A程度をかけようと思います。手元に10Ωの抵抗があったので、それを2つ並列にして5Ωとしてちょうど1Aが流れるように設定しました。5Ωの負荷抵抗を接続しました。負荷を接続すると少し電圧がさがりました。4.95Vなので−1%です。このくらいがちょうどいいでしょう。負荷時(1A)の出力電圧。ついでに出力電圧のリップルの様子を観測です。振幅で10mV程度のリップルがあります。周期は約7uSですから140kHzとスイッチングレギュレータの素子のスペックに合致します。リップルの低減のために、電解コンデンサに並列にOSコンデンサをいれたところ約半分に減りました。このところにつかうコンデンサはESRの小さいものがいいですね。リップルは10mV程度です。3.3Vのリニアレギュレータをくみたてる。次は5Vから3.3Vに降圧するためレギュレータ部を組み立てます。放熱板は秋月で売っている@50円のものをつかいました。これは11°C/Wありますから、1W程度の消費電力でつかうには十分です。完成!各種の部品を載せて完成です。レイアウトがあまりよくありませんが・・・・。負荷には3Ωの抵抗を接続しました。電流にすれば約1.1Aになります。DAC9018Dで必要とするディジタル部の電流の2倍の負荷になります。気になるリップルをみて見ましょう。鋭いひげもありますが、およそ振幅で5mV程度かな。へっていますが、この回路での高周波数リップル除去の限界でしょうか。DAC基板の動作上は問題のないリップルですが、やはりスイッチングレギュレータではなくすべてリニアレギュレータにするべきかな?ちょっと悩んでしまいます。振幅で5mV程度のリップルが残留しています。回路をいじってみましょう。測定方法でずいぶん変わるな〜オシロのプローブを動かすと、かなり波形がかわります。オシロのプローブのループ部で誘導が起こっているようです。いうことで、できるだけループ面積が小さくなるように取り付けました。オシロプローブのループができるだけ小さくなるようにして接続です。段差が小さくなったつぎに出力にESRの小さいOSコンデンサをはさんで見ました。リード線をもっと短くしたいところですが、あとで再利用することも考えてそのままの長さで我慢です。OSコンをはさむとさらに改善しますね。OSコンをはさんでみると、さらにリップルが小さくなりました。つぎにOSコンを取り外して、出力に100uHのインダクターを接続してみました。こんぼ場合でも改善が見られます。インダクターをとりつけても改善が見られます。インダクタとコンデンサを両方とりつけてみましょう。いわゆるLPFを構成することになります。この場合の効果は大きいです。リップルは見られなくなりました。高周波数そスパイクは若干残っています。これらはもっとインダクターの容量をあげると抑制できるかな?インダクターとコンデンサの両方を取り付けて試してみました。リップルはほぼなくなりました。電源はシリーズレギュレータかな。2012.5.27スイッチング電源は効率はいいのですが、どうしても高周波数のスイッチングノイズが発生しています。可聴域をはるかに超えていますが、やはり心理的なハードルがでてしまいます。いうことでは、やっぱり電源はシリーズレギュレータにしましょう。DAC9018D専用電源はどうかな?最初、DAC9018Dの基板サイズですべて収まるかな?と思ったりしましたが、放熱板がたくさんいるのでかなり無理そうです。いうことで、DAC9018DとIV基板が搭載可能なまで基板サイズを拡張してすべての電源がまかなえるDAC9018Dの電源を考えてみることにしました。電源基板の長さは200mm前後になります。搭載したときのイメージはこんな感じです。正5V(50mAくらい)×1なんだけど、かなりの部分がTYPE-D,TYPE-E電源と重なります。考えてみるも定まりません。正5V(50mAくらい)×1の部分があればいいので、この部分だけ小型の基板をつくってもいいのかな〜という気もしています。TYPE-G基板にしてみました。出力は3.3V(1A)と5V(100mA)を想定しています。3.3Vはディスクリートでの誤差増幅アンプを搭載しています。5Vは簡単に3端子レギュレータです。3.3Vの出力電流は外付けのトランジスタ容量に依存です。2段ダーリントンですから、初段が150、2段目が60で10000倍の電流増幅率が見込めます。初段のベース電流0.1mAで1A程度なら安定して動作するでしょう。電流が必要なら3段以上にしたほうがいいかもしれません。そのときは2段目をダーリントンタイプにすればいいでしょう。TYPE−G基板なるものを描いてみました。2012.6.16リモコン化計画は別ページに移転しました。2012.7.4ようやく基板が到着しました。一気に組み立ててみましょう。電源基板TYPE−G基板です。部品箱を探しているとこんなダイオードが見つかりました。何のおまけか忘れてしまいました。ダイオードの容量は2Aあるのでこれで十分でしょう。おまけでもらった整流ダイオード。音響用って何がちがうのかな?部品点数も少ないのであっという間に完成です。お出かけ用の写真をパチリです。動作テストのために、外付けのトランジスタをとりつけます。今回は汎用のTIP32CTIP31Cをつけています。Ic=3Aの普通のパワートラです。放熱板にとりつけていますが、本来はケース底面に取り付けるようなことを想定します。動作確認用に外付けパワトラを取り付けました。動作確認!まずは通電して無事動くことを確認しました。部品点数も少ないので、間違うことはあまりないでしょう。この規模で動かなかったら、ちょっとショックで寝込んでしまうかもしれません(笑)。動作することがわかれば、VRを調整して出力電圧を3.3Vにあわせてました。つぎは負荷テストです。負荷には4Ωの抵抗をつなげました。2Ω×2個の構成です。3.3Vで4Ωの負荷ですから電流は約800mA強流れます。元電源の容量の都合からこの値にしました。負荷抵抗をつないでチェックです。負荷を接続すると若干ですが電圧が落ちましたが、この程度ならレギュレーションも優秀です。約6mV低下ですが、出力抵抗0.01Ω以下ですから優秀です。この電源基板もマニュアルを作成してリリースしたいとおもいます。基本はV1基板と同じですが、入力部に若干回路を追加しました。追加の部分は下記のような回路です。意識しなければ従来のV1基板と同じように使うことができます。V1基板とV2基板の違い。JP1は既定値が接続なので、V1基板と同じように取り扱えます。変更点はここにまとめました。2014.5.29こんな投稿をいただきました。いうことで#25レジスターの×128モードを設定できるようなソフトを組んでみました。LENGTHの項目を入れ替えました。自分では試していません。元にもどせるようにオリジナルのバイナリーもアップしました。×128モードを追加(つづく、かな?)。