Simple Entry DACを考えてみる!の巻き 2016.8.9

コンセプトはSimpleなEntry DACではなく、Simple EntryなDACです。


検討中・・・・。

夏休みにのんびり考えましょう!

きっかけは 2016.8.13

DACを自作する上での構成要素は大きく4つあって、
1.電源・・・これがないとはじまらない。
2.DAI・・・・いわゆるCDPなどからの入り口です。
3.DAC・・・・本体です。でもこれだけでは音はでません。
4.AMP・・・・IVアンプやフィルタアンプなどのDACの後付けのアンプです。
これだけ必要です。意外と構成するための要素部品は多いです。
いままではどちらかといえば、これらの要素を個別に作成していて、その他必要なものは
その時々にあわせて選択して組み合わせるパターンが多かったです。
そうすれば、DAC部分だけを替えたいとか、電源だけを替えたい、という
ことに対して容易に対応できます。
 ただし、反対に何をどのように組み合わせるかを知ってないと、一体全体
どのようにしていいかもわからないこととの裏返しでもあります。
 このHPでの頒布コーナでは、基本的には「初心者はご遠慮ください」というようには
していますが、これは半田付けそのものが一定の技量がないとこなせない場合を想定してのことです。
しかし、半田付けに関しては何回か経験すれば、0.5mmピッチのQFPなどもさほど苦も無く取り付け
られるはずです。
 それよりも、最大の問題はDACとして動かすのに、何を用意してどのように接続して・・・と準備
するほうが大変じゃないかと思ってしまいます。準備だけでなく、実際に接続もしないといけないですから、
その時に発生するリスク(接続間違えやなど)を考えると、初心者の方はハードルが高かったり
するのかな〜と思ったりします。

 そういったことも踏まえて、過去にはFFシリーズなどの電源からDAI、DACそしてアンプもすべて
搭載した基板も設計したことがありました。当時の目的は、面倒な配線をなくして部品の半田付けだけで
すべて完結するようなものが便利だな〜という気持ちがありました。
そういえば最初に設計したPCM61Pの8パラなどはまさにその1例です。電源部分からポストアンプもすべて
含んでいました。

 一体物だと組み立ててみると、確かに配線類は少ないので製作は楽でした。
しかし、入出力のコネクター類は配線しないといけません。このくらいは仕方ないといえば、
それまでですがすぐに音出しをしたい場合には結構面倒です。やっぱり基板が完成したら、
すぐに音出しができて、ケースに入れなくてもそのまま使える基板にしたいな〜という思いが、
最近強くなって、今回の基板を設計しています。

ネーミングが Simple Entry DACになっていますが、その主旨は冒頭でも述べたように
「簡単に導入できる」「DAC」です。
決して「簡単な入門用DAC」ではありません。中身的には高性能なものをつかっているので
音質としては十分なものになるはずです。
 入門用ではありませんが、半田付けが確実にできるなら、とくに機器間の配線などを考えなくてもよいので、
あるいみ入門用かもしれません。

 なんやかんや書いていますが、実は少年のころのTK-80マイコンの思いが強く残っていて、
大きめの1枚の基板上で完結する機器への憧れがまだまだ残っているのかな〜とも思っています。

これの思い出がかなりあります。欲しかったな〜



とりあえず基板のパターンを描いてみました。


こんな感じかな〜

簡単な仕様は
 DAI:DIX9211(入力は同軸×2、光×1、PCM×1、DSD×1)
 DAC:AK4490をモノラル使用
 出力アンプ:OPアンプによる差動合成(RCA出力)
 ヘッドホンアンプ:LME49600 ローノイズオーディオバッファー+OPアンプ構成(ミニジャック出力)
 ボリューム調整:電子ボリューム(AK4490内部ボリューム)
 その他:リレー制御MUTE機能、LCDとSWによる各種コマンド設定
てなところです。これらの機能をすべて基板上の部品のみで配線不要で動作できるようにしています。
もちろん、端子の外だしもできるように基板上のパターンは考慮しています。

電源専用も 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は右を向いているので、シールの読みが反対になっています。


開発環境を取り外してすっきりしました。

  (つづく・・かな?)