Simple Entry DACを考えてみる!の巻き 2016.8.9
コンセプトはSimpleなEntry DACではなく、Simple EntryなDACです。
検討中・・・・。
夏休みにのんびり考えましょう!
きっかけは 2016.8.13
DACを自作する上での構成要素は大きく4つあって、電源専用も 2016.8.30
DAC部を除いた電源部だけも描いてみました。
MUTE制御も必要になるでしょうから、その部分も搭載です。
電源部のみです。
基板を発注しましょう!
できあがるまでしばらく待ちましょう!
基板ができてきました。 2016.9.5
メインの基板ができました。
メインの基板の裏側です。
これは電源部分のみの基板です。
まずは電源基板から 2016.9.6
今日の夜は短いので、まずは簡単に作れそうな電源基板から作成しましょう。
コンデンサはリードタイプとスナップサイズのどちらも使えますが、どちらにしようかちょっと
悩んでしまいます。でも、背の低いスナップタイプで作りましょう。
リードタイプだとこんな感じです。
スナップタイプだとこんな感じです。
まずはスナップタイプで完成です。
まずは基板が完成しました。制御用のPICは載せていません。
まずはこの段階でトランスを接続して出力電圧が問題ないか確認しました。
トランスを接続しました。ネジ端子なので簡単にとりつけられます。
あれ?
トランスの色と基板のシルクの色でORANGEとREDを入れ違えてしまいました。
まあ、これはご愛嬌です。
トランスの色を一部間違えてしまいました。
まずは電源基板の完成です
あとは制御用のPICを搭載して基板の完成です。
PICはリレー制御用のMUTE回路です。これについては、べっとソフトを書き込みましょう。
PIC周辺を搭載して基板は完成です。
PICには12F675をつかいました。8Pの定番のPICです。
PIC周辺の回路です。
つぎはDAC用の基板です。
ボチボチと製作中です。
まずはフロントの部品を取り付けてちょっと雰囲気を感じています。
まずはフロント部分の部品を取り付けてみました。雰囲気を感じています。
RCAコネクタの穴は少し大きかったです。まあ、大は小を兼ねるかな(笑)。
次は電源部を組み立てましょう! 2016.9.15
本来は背の高い部品を先にとりつけてしまうと、あとあとIC等をとりつけるのが難しくなりますが、
電源を確認しておかないと、下流の部品を全部お釈迦にする可能性があるので通常の取り付け順番は無視です。
今回のコンデンサは場所に応じて色々と変えています。
ディジタル部は容量重視で3300uF/50Vを4本並列。
DACアナログ部は2200uF/50Vを4本並列。
アナログ部はオーディオグレードの1000uF/50V(MUSE)を4本並列(計8本)です。
1000uF/50Vはかなり背が高いです。
レギュレータ出側のコンデンサは100uF/50V(MUSE)ですこし容量が小さいですが、
オーディオグレードを持ちました。
まずは背の高い部品の電源部から組み立てました
トランスを接続して電圧の確認です。
残りの部品を取り付けましょう! 2016.9.20
一気に残りの部品を取り付けました。
まずはすべての部品が搭載できました。
LCDを載せるとこんな感じです。
コンデンサはDAC周りに何をつかおうか悩みましたが、ここは奮発してOSコンをつかいました。
耐圧6.3Vで47uFのものです。このくらいなら背が低いのでLCDと干渉しません。
OSコンも製造中止なので、手持ちの貴重なパーツの放出です。持ってても使わないともったいないですからね。
DACの周りはOSコンで固めました。
ヘッドホンアンプ周辺のコンデンサをMUSEをつかいました。
ヘッドホンアンプの周辺です。
すべての部品を搭載すると重量で500gを超えました。さすがにオールインワンタイプだと重くなりますね。
結構な重さがあります。
ソフトを作成するぞ!
その前におっかなびっくり動作確認をすすめなくっちゃ!これが怖いです(笑)。
まずは電源基板のみ用のソフト作成です。 2016.9.21
リレーとLEDをとりつけて動作確認でのソフトデバッグをしながら作成です。
こんな感じでソフトの動作確認環境を構築しています。
何回かデバッグしながらソフト完成です。
では、手元の基板を組み合わせて動作させてみましょう。
この基板は標準サイズの基板を2枚重ねて搭載できるようにネジ穴のピッチを併せています。
ということでDAI9211とDAC4490-5を搭載してみました。
こんな感じで電源部の動作確認をしてみました。使う電源は5Vのみです。アナログ15V電源は使っていません。
次はSimpleEntryDACにかかりましょう。 2016.9.25
基板を眺めていて間違いを一箇所見つけました(まだまだ見つかるかもしれませんが)。
電源電圧を検知する部分の分圧する抵抗の片端がGNDに接続されていませんでした。
近くのベタのレジストを剥がして接続すればいいのですが、レジストを剥ぐより近くのGND端子に接続した方が
速そうなので、そちらを採用です。ちょうど近くのPICのVSS端子があったので、そこに接続しました。
黄色○の部分がベタGNDに接続されていませんでした。 近くのGND端子にジャンパーを飛ばします。
今回はICSPを使ってみましょう
いつもはPICにライタでプログラムを書き込んで、再度基板のICソケットに差し込んで動作確認を行っていました。
しかしこの作業はいちいちPICを取り外さないといけないので、面倒は面倒だったですが、まあなんとかやってました。
というのも、基板側にICSP(In Circuit Serial Programming)に対応したパターンを描いていなかったことがあるのですが、
さすがに今回はプログラムの規模も大きくなりそうな気配なので、頻繁なデバッグへの対応のためICSPを使うことにしました。
基板パターンにICSPの対応がないので、PICに接続のためのコネクタを取り付けです。
基板のパターンではPICのMCLR(VPP)は直接基板内のVddに接続されているので、この状態ではICSPがつかえませんので、
47kΩの抵抗を間に挟むようにしています。
こんな形でICSPに対応したコネクタ(ピン)をとりつけました。
ライターにはPICKIT2を使っています。
まずは最小限のソフトを書いて 2016.9.29
まずは動作確認のために、最小限のソフトを書いてみました。
最小限といっても、電子ボリュームの機能も生かしていますので、それなりのコードになります。
最小限というより最小構成という感じでしょうか。あとは、色々なメニューを追加することになります。
まずは動作確認中です。
とくに問題ないようです。
いきなり試聴です。
ハードウエアはとくに問題ないようなので、こうなったらやっぱり試聴したくなりますね。
ヘッドホンを接続してお気にいりのCDをならしてみましょう。
このヘッドホンに用いたバッファーアンプのLME49600は大容量でありがなら、
きわめて高帯域なのでヘッドホンにはもったいないデバイスですが、それを使用した甲斐もあって
鋭い音を聞かせてくれます。いや?コンデンサに高品質なものをつかったからかな?
まあ、どちらでもいいでしょう。
ヘッドホンを接続して試聴です。
本格的にソフトを組みましょう!
ハードウエアは問題ないようなので、あとは安心してソフトを組んでいきましょう。
今回のSimpleEntryDACではPICに大容量のPIC16F1938を用いるので、結構なソフトが組めます。
さらに、この基板ではLCDのバックライトもソフト制御しているので、操作後はLEDを消灯することも
できるようにしましょう。結構LEDの明るさって目につきますからね。
この週末の完成を目指しましょう!
ソフトが完成! 2016.10.1
こまかいチューニングが残っているとこがありますが、骨格はできあがりました。
PICにはPIC16F1938を使いましたが、ROMの使用率は69%です。PC16F1938はPIC16F886の倍のROM容量
があるので、PIC16F886換算では138%ですから完全にオーバです。まあ、それだけ機能を盛り込んだ
ことになるのか、それとも単にソフトの書き方が不味いのか(笑)。
こんな感じでSRC4137と接続しながらソフトの製作を進めています。
ソフトの機能はこんな感じです。
ROMの容量も大きいので、入れてみたかった機能の一つであるテキストエディト機能もいれました。
これはオープニングのタイトル表示と、入力信号表示のタイトルを任意に変更できるようにしました。
いつ製作したとか、何をつないでいるかなどの情報を表示すると備忘録になるでしょう。、
ページ | 画面例 | 機能/操作パラーメータ | 説明 |
Front Page | Front Page 入力切替 SPDIF0 SPDIF1 OPTICAL PORT-0 PORT-1 |
起動時の画面。 入力信号、周波数、フォーマット、 出力ゲインが表示されます。 右下のASは出力リレーの状態です。 A:ANALOG出力リレー動作中 S:ヘッドホン出力リレー動作中。 |
|
1# | Headphone output control Headphone ON Headphone OFF |
ヘッドホン出力のリレー制御です。 ONにすればヘッドホンが使えます。 |
|
2# | Electrical Volume select VR USE SW USE |
電子ボリュームの切り替えです。 VRを使う場合とSW(ボタン)を使うか を切り替えられます。 |
|
3# | Electrical Volume select 0 to -127.5dB (SW controlled) |
2#でSWを選択した場合のボリューム設定です。 設定ボタンは長押し(連続入力)対応です。し |
|
4# | DAC filter select 0 Sharp roll off Slow roll off |
DACのフィルターの設定を行います。遮断特性のなだらかさ (SLOW,SHARP)を選択します。 |
|
5# | DAC filter select 1 Short Delay Normal Delay |
DACのフィルターの設定を行います。時間遅れを(Short、Normal) を選択します。 |
|
6# | DAC filter select 2 Super Slow OFF Super Slow ON |
DACのフィルターの設定を行います。遮断特性の超なだらかな特性の ON/OFFを選択します。 |
|
7# | DAC Sound select Sound Setting 1 Sound Setting 2 Sound Setting 3 |
DACの音調を選択します。 | |
8# | DSD filter Cut off 50kHz Cut off 150kHz |
DSD入力時のカットオフフィルタを選択します。 | |
9# | DSD Play back Normal Path Volume Bypass |
DSD入力時の電子ボリュームの使用有無を選択します。 Normal Pathでは電子ボリューム機能は有効です。 |
|
10# | DSD DATA MUTE Mute Disable Mute Enable |
DSDのDATAが連続してゼロの場合に出力MUTEをかけるかどうかを選択します。 | |
11# | PORT-0 format select I2S LJ RJ16 RJ24 DSD |
front Pageで入力をPORT-0を選択した場合の入力フォーマットを選択します。 PCM入力ならI2S,LJ(Left Justified,Right Justified 16/24Bit)、あるいはDSD入力のどれかを選択します。 |
|
12# | PORT-0 format select I2S LJ RJ16 RJ24 DSD |
front Pageで入力をPORT-1を選択した場合の入力フォーマットを選択します。 PCM入力ならI2S,LJ(Left Justified,Right Justified 16/24Bit)、あるいはDSD入力のどれかを選択します。 |
|
13# | DAC Phase select Normal Phase Inverted Phase |
DACの出力信号の位相を設定します。Invertedを選択する出力信号位相が反転します。 | |
14# | Start up time +0 〜10sec |
電源立ち上げからMUTEリレー解除までの時間を指定します。内部設定処理に必要な時間を除いているので、おおむね表示+1秒が立ち上がり時間になります。0secを選択すると、出力にポップノイズがでます。 | |
15# | Backlight LED Control Always ON Always OFF 5 sec 10 sec 30 sec |
バックライトの表示制御です。 常に点灯、常に消灯、ボタン操作が終わってから5,10,30秒後に消灯を選択できます。 |
|
16# | POWER VOLTAGE MONITOR | もっとも消費電力の大きなディジタルラインの電源電圧を監視しています。 絶対電圧とともに、起動時の電圧に対する現在の出力電圧レベルを%で示しています。 この値が90%を下回った場合には、即座にシャットダウンをかけます。 |
|
17# | SYSTEM TITLE STRING EDIT (Openinig title and Input select string edit) |
オープニングタイトルおよび入力選択表示のテキストエディターを起動します。 | |
18# | VERSION INFORMATION | ソフトのバージョン情報です。 |
全入力確認 2016.10.5
念のためPCM/DSD入力端子を両方ともつないで動作確認です。コネクタのピッチが狭いこともあって、
片側はコネクタではなく基板用のコネクタをつかってばら線でつないでいます。
PCM/DSD入力の最終確認です。
光入力も確認です。光をつかうことはほとんどないので、光出力を出すものを探すのが大変でした(笑)。
結局はかなり昔につかった光送信モジュールをつかってFFASRCのディジタル出力を光に変換しました。
久しぶりに光をつかってみました。
光送信モジュールはだいぶ昔に作ったものを引っ張りだしました。
最終チューニング中 2016.10.5
ソフトはほぼ完成してあとはチューニングです。なにをチューニングしているかというと、操作中のノイズをできるだけ減らすような工夫です。
というのも信号を切り替えるときに若干ポップノイズが出ます。これはDAC素子の仕様からも避けられないのですが、同軸やOPTICALなどの
SPDIF入力間の切り替えではとくに気になるほどではありません。気になるポップノイズはSPDIFと未入力状態のPCM/DSDとの切り替えの
タイミングです。
というのもSPDIF入力は未入力であった場合はDIX9211が未入力を検知してDACへの信号出力に水晶発振によるクロック信号を供給してくれます。
それに対してPCM/DSD入力の場合は、未入力であった場合にはDACへの出力にはクロック信号がでていきません。
DAC(AK4490)はクロック信号を受けていれば、アナログ出力はVcc/2の電位で一定になるのですが、クロック信号がDACに
供給されないと何が起こるかといえば、DAC(AK4490)はリセット状態になりアナログ出力がフロート状態になります。
そうすれば、OPA差動合成出力のレベルがSPDIFを受けている状態とは大きくずれてしまって、おおきなポップノイズを発生させてしまいます。
このときのポップノイズを避ける必要があるのですが、その手立てとしてPCM/DSD入力が選択されたときに、クロックの有無を判定して、
もし未入力であれば入力選択を拒否して、SPDIF入力に強制的に切り替えするようなロジックを組み込もうとしています。
さらに、PORT自体の入力をうけつけるかどうかのメニュー設定も追加することにしました。
これができれば完成です。
完成!
さらに色々と考えてメニューが2つ増えました。
製作マニュアルもできました。
SimpleEntryDac4490.pdf
今宵は音楽を聴きまくりましょう!
さて、PICにとりついていた開発環境をとりはずし、新品のPICにプログラムを書き込んで仕上げです。
PICは右を向いているので、シールの読みが反対になっています。
開発環境を取り外してすっきりしました。
(つづく・・かな?)