ES9018K2Mを調べてみる!の巻き。 2014.10.22

こんな投稿をいただきました。

ES9018K2Mは他の方のHPみてみると、ES9018Sの簡易版のような仕様ですが、追加されている機能もありそうです。
でも、あいかわらずESS社の素子の詳しいデータは公開されていなくて、メーカとNDA契約を結ぶ必要があります。

ということで、取り扱い商社に連絡してNDAに必要な書類をもらって、早速サインして送り返しました。
あとは、メーカからデータマニュアルが送られてくるのをまつだけです。

同時に素子の見積もりもとってみましたが、ES9018Sに比べるとかなり安いです。ちょうど、PCM1794たW8741あたりと
同じ値段です。おそらく、そのあたりとの競合も考えているのかな? さすがにES9018Sはかなり高価なので、おいそれと
安いセットに組み込むのは難しいでしょうからね。
ただし、最小購入数量はES9018Sのときに比べて増えています。

まずはマニュアルを眺めてから、素子を購入するかどうか決めましょう。

素子がとどきました。 2014.11.15

ようやく到着です。5mm四方のパッケージは小さいです。
さて、ほかにやりたいことも沢山あり、なかなか時間がとれませんが
回路設計にかかっていきましょう!

素子がとどきました。

アートワークにかかりましょう! 2014.11.18

必要になりそうな部品を載せて、基板上の密度感を確認です。

とりあえず適当に部品を置いてみました。

製作コンセプトは

ES9018K2MをつかってのDACの製作イメージはこんな感じです。

1.DAC9018Dと同様にデュアルモノ構成。

2.出力はDACそのものおよび差動オペアンプの2種類。
  本基板だけでアナログ出力も得られるように考えています。

3.入力構成 SPDIF×2、PCM×2(うち1つはRaspberry Pi配置)、DSD×2

4.動作モードは、シンプルファンクションモードとLCDを用いたフルファンクションモード。

5.電子ボリューム機能

6.外付けEEPROM付加
 独自ディジタルフィルターの定数設定用(将来プラン?)

7.電源電圧は5V単一、あるいは3.3V単一動作


こんな感じかなあ〜 


ひととおり書いてみました。

パターン完成?2014.11.27

システムクロックを外部からの供給できるように少し修正しました。
これで、逓倍モードでの動作もできるでしょう。


少し修正して完成かな〜。

ほぼ完成しました。2014.11.30

クロック逓倍のアドオン基板も描いてみました。
アドオン基板はメイン基板のCPUからI2Cで直接制御しようかとおもいましたたが、
色々と考えて、独立したCPUを持たせることにしました。その理由は途中で周波数が変わることも想定
されるので、それらをすべてメインのCPUに負担させると処理が重たくなるのと、プログラムが入りきらない
可能性が高いためです。同じ構成のDAC9018SではCPUのプログラムROMは97%までつかっています。


こんな感じでアドオン基板も描いてみました。

アドオン基板も描きあがりました 2014.12.5

こんなかんじかな?これで製作してみましょう。

アドオン基板です。


基板ができてきました。2014.12.18

こんな感じでできてきました。

基板完成。まだ動くかどうかわかりませんが・・・


基板の半田面です。

部品も少ないので、平日ですが組みたててみましょう!
ES9018K2Mは小さいですね。落としたら見つけるのが大変そうです。

とりあえず完成です。

作成しているときに、1箇所間違いをみつけました。LCDのとりつけコネクタの5pinがGNDに落ちていなかったので、
修正しました。となりのピンと接続して修正です。

  
   修正前                                            修正後(間違い探しです(笑))。
 
いよいよ動作確認

動作確認のための、端子類やLCDをとりつけて準備完了です。
動作確認にはソフトも組まないといけないので、週末にじっくりやりましょう。


とりあえずここまでできました。

最小限のソフトをつくって動作確認 2014.12.20

まずはもっともシンプルなソフトを作って動作の確認です。
まずはSPDIF入力に設定して確認です。

SPDIFでの動作確認。


SPDIFは問題なく動きました。

PCMは?あれ?


SPDIFは問題なく動作して、幸先いいスタートかな〜とおもいましたが、PCMではうまく動きません。
あたらめて見ると、一部パターンミスありました。それを修正して動き出しました。

DSDの再生に関してのパターンミスがありましたが、修正して動きだしました。


修正部分の備忘録です。PIC16F886のPIN9がGNDに誤接続されているところを切断して、
PIN8をGNDに接続です。


残るはDSDですが、これも動き出しました。

DSD入力での動作確認。

さて、ここまで動作を確認したら、ハードは大丈夫でしょう。
ソフトの作成にかかりましょう!

年末どたばた・・・・

この週末はゆっくりソフトを組もうと思っていましたが、流石に年末らしく部屋の模様替えや掃除に
奔走してしまい、結局ほとんど手付かずでした。
 もう一つ懸念事項を解消したいことがあって、最近取り組んでいました。それは、WINDOWS7の導入です。
いまのメインPCはXPをつかっています。なぜ保守も終わったXPをつかい続けているかといえば、
基板CADが古いものなのでXPまででしか動かないこと(以前にVISTAに入れても動かなかった。)。
それと最近のソフトも動作がおかしいことです。紹介してもらったKiCADなんかもXPだと動作が安定しません。
ということで、Windows7を導入して徐々にPC環境を移行しようと考えています。なぜWindows8ではなくて
Windows7かといえば、会社のPCも7なのでそのほうが取り扱いがなれているかな〜という簡単な理由です。
でも、娘に買ったノートPCは8だったりするので、家の中はPC環境は無茶苦茶です。
 
で・・・・・

いまさら7の新品も手にし難いのでAmazonで中古を購入することにしました。2万円弱でそれなりの性能のものが
手にはいります。でも、ほとんどが4年ほど企業で使われたリース落ちなのでHDDはほとんど寿命がないと思っています。
そこで、リカバリーディスクがあることを前提に探しました。
 そこで18000円ほどでCore2DUOのものがあったのでAMAZONで購入。2日後に届きましたが、なんと本体だけ。
送り状に「当初の送付物は本体のみです」と。リカバリーディスク有りとWEBにはありましたが、異なります。ということで、
交渉するまでもなく返品手続きしました。
 さらに探して次はCORE2QUADのものが2万円程度であったのでそれを購入しました。今度はリカバリーディスクでけでなく
キーボード、マウスも付いています。でもHDDは320GBです。容量は問題ないのですがすでに4年ほど使われたことを考えると
このまま使い続けることは危険なので、ついでにAMAZONで1TBのHDDをあわせて購入しました。これが、
災難の始まりです。

リカバリーできない・・・・

次にとどいたPCについては、電源を入れることもなく、蓋をあけてあたらしいHDDに換装してリカバリーの開始です。
リカバリーディスクも問題なく付いてきたので作業を始めましたが、途中で「このコンピューターのハードウェアで動作
するように Windows を構成できませんでした」とエラーが出てとまってしまいます。何度繰り返しても同じメッセージです。
ひょっとして、出展者がリカバリーディスクを間違えた?のではと思い、もともと付いていたHDDでリカバリーをやってみて
それで動かなければ返品しようと思っていました。ところが、もともと付いていたHDDでは問題なくリカバリーできます。
こりゃなんなんだろう?

調べてみると・・・・

原因をWEBで調べてみると沢山でてきました。どうやらAFTなるものがキーワードです。従来のHDDはセクターサイズが512バイト
ですが、最近のものは4kになっているようです。ここに問題があるようです。原因がわかれば新しいHDDを調達するまで。
近くの家電量販店に行ってみて「内蔵ハードディスクで非AFTのものある?」と聞いてみました。店員は「???」という反応でしたが、
色々と調べてくれました。結論は店においてあるHDDはすべてAFT対応とのこと。あきらめて家に帰ることに。

さらに調べてみると・・・。

AFT対応のHDDをつかうためにBIOSの設定を「従来ATA」に変更することも1つの手段のようです。
ということとで、BIOSのDRIVEの項目から「LEGACY DEVICE」を選択して再度(何回目かな?)リカバリーを行いました。
を!なんと、うまくいきました!買ったWinodws7パソコンがゴミにならずにすみました。
 しかし、リカバリー一つも難しいものです。パソコンに疎くなってしまうと、このようなこともハードルが高くなってしまいます。

気分直しに・・・

この週末はWINDOWS7のリカバリーにかなりの時間がとられましたが、なんとなく半田ゴテも握りたくなって
DAC9018SK2Mのアドオンボードを組み立てることにしました。

クロック逓倍ドータボードを作成!

こちらは部品点数も多くないので比較的簡単です。
まずは、部品箱から必要な部品を集めましょう。

必要になりそうな部品を集めました。実は全然足りない(笑)。

作成時間は15分程度でしょうか。完成しました!

ドータボードの完成です。

こちらもソフト制御ですが、手付かずです。こりゃ年末年始のお楽しみだな〜。

ソフトを組んでいきましょう!

年末のバタバタするときですが、時間をつくってソフトを組んでいきましょう。

動作環境は整っているので、あとはソフトだけ(?)です。

ソフトを組むとわかってくることが色々とあります。一つはディジタルフィルタの選択です。
3つの特性から選ぶことができ、下記のような特徴があります。
パルスを入力したときの応答になります。

基本部分はほぼ完成です。

こんな感じの表示です。DAC9018S,DAC9018Dとほぼ似た形になっています。

Menu DISPLAY PARAMETER CONTENT
TOP SPDIF0
SPDIF1
PCM1
PCM2
DSD1
DSD2
入力ソース、電子ボリューム値、
入力周波数、DPLLのロック状態を示します。

既定値:SPDIF0
1 - L-CHのDPLL値を表示します。
DPLLの値は次式となります
FSR=(DPLL×FMCLK)/(2^32)

FSR:入力周波数
FMCLK:100MHz
2 - R-CHのDPLL値を表示します。
DPLLの値は同上
3 OFF


15
I2S(PCM)入力におけるDPLLのバンド幅を指定します。
OFF、1:Lowest 〜15:Highest

既定値:5
4 OFF


15
DSD入力におけるDPLLのバンド幅を指定します。
OFF、1:Lowest 〜15:Highest

既定値:10
5 DISABLED
ENABLED
De-emphasis filterの動作を指定します。

既定値:DISABLED
6 Not AUTOMATIC
AUTOMATIC

SPDIF入力時のDe-emphasisフィルタの自動ON/OFFを指定します。

既定値:Not AUTOMATIC
7 32kHz(def)
44.1kHz
48kHz
De-emphasisフィルタの周波数を指定します。

既定値:32kHz
8 FASR ROLLOFF
SLOW ROLLOFF
MINIMUM PHASE
ディジタルフィルタを選択します。

既定値:FAST ROLLOFF
9 47.44kHz
50kHz
60kHz
70kHz
IIRフィルタのバンド幅を指定します。
10 NORMAL OPERATION
SYNC 128FSR
SYNC MODEを設定します。
NORMAL OPERARIONはDPLL、ASRCは通常動作
SYNC 128FSRはマスタークロックが128FSR時のシンクロモードになります。
11

15
Set the number of FSR edges that must occur before DPLL and ASRC can lock on to the incoming signal
0 : 16384FSR EDGES
1 : 8192
2 : 5461
3 : 4096
4 : 3276
5 : 2730 (default)
6 : 2340
7 : 2048
8 : 1820
9 : 1638
10 :1489
11 :1365
12 :1260
13 :1170
14 :1092
15 :1024
12 NORMAL PHASE
PHASE INVERTED
出力位相の非反転/反転を指定します。
13 ACTIVE
NOT USE
ドータボードからのクロック供給を指定します。ACTIVEにした場合、ドータボードからのクロック供給を受け入れます(PCM,DSDの場合のみ)。
14 USE IIR FILTER
BYPASS IIR FLT
IIRフィルタの利用の有無を設定
15 USE 8X INTP FLT
BYPASS INTP FLT
内蔵の8倍オーバサンプリングフィルターの利用の有無を設定

まだ追加できる機能あれば組み込んでいきましょう(M14,15を追加しました)。

次はドータボードのソフト作成

まずは機能を定義します。機能についてはJP1,2,3で設定します。通常は最大周波数モードで使用することになるでしょう。
オーバークロックモードは一度試してみたいのですが、ICが加熱しないかどうかが若干心配。

JP1 JP2 JP3 説明
OPEN OPEN - 最大周波数モード BCKを逓倍して100MHzにもっとも近い周波数を設定します。
SHORT OPEN - 最低周波数モード ES9018K2Mの動作下限の周波数に設定
OPEN SHORT - 2N周波数モード BCKの逓倍率を2N倍になるように設定。
SHORT SHORT - オーバークロックモード 100MHzを超える周波数の設定を可能にする。
- - SHORT 128FSR優先モード 176.4kHz(FSR)以上では128FSRに設定する。
これは他の動作モードをに対して優先する。
176.4kHz未満についてはJP1,2で設定された周波数を供給。

具体的な逓倍率と周波数は下表のようになります。

入力信号(BCK) 最高周波数モード 最低周波数モード オーバークロックモード 2N周波数モード 128FSR優先モード
入力周波数
(MHz)
FSR
(kHz)
倍率 MHz 倍率 MHz 倍率 MHz 倍率 MHz
2.048 32 32 65.54 32 65.536 32 65.536 32 65.536
2.8224 44.1 32 90.32 8 22.5792 32 90.3168 16 45.1584
3.072 48 32 98.30 8 24.576 32 98.304 16 49.152
4.096 64 20 81.92 6 24.576 32 131.072 16 65.536
5.6448 88.2 16 90.32 4 22.5792 20 112.896 16 90.3168
6.144 96 16 98.30 4 24.576 20 122.88 16 98.304
8.192 128 12 98.30 4 32.768 16 131.072 8 65.536
11.2896 176.4 8 90.32 4 45.1584 12 135.4752 8 90.3168 2 22.5792
12.288 192 8 98.30 4 49.152 12 147.456 8 98.304 2 24.576
16.384 256 6 98.30 4 65.536 8 131.072 4 65.536 2 32.768
22.5792 352.8 4 90.32 4 90.3168 6 135.4752 4 90.3168 2 45.1584
24.576 384 4 98.30 4 98.304 6 147.456 4 98.304 2 49.152

ソフト完成! 2015.1.15

ドータボードのソフト完成しました。動作モードで周波数が頻繁に変わるので、正しい周波数がでているかどうかを確認するために
即席で周波数カウンタを作りました。オシロにも周波数カウンタの機能はありますが、20MHz程度が限界で100MHz近傍を測定するには
役立たずです。


即席の周波数カウンタです。PICで計数できるように事前に分周しています。


全体の動作確認です。

動作周波数をモニターしながら動作確認です。

Renew FFASRC → DAC9018K2M

の構成で動かしています。問題なく動いているようです。

全体の動作確認です。

試聴してみましょう!
ここまできたら一気に試聴してみましょう。
まずは簡単にSPDIF入力での試聴です。

構成は (PC SPDIF)→DAC9018K2M→EVC1159(ヘッドホンアンプ代替) です。

SPDIF入力でのバラック試聴です。

試聴のソースは去年のクリスマスのダイレクトメールでもらったCDです(笑)。でも、いい音で入っているので試聴にはもってこいです。
それにお気に入りのラフマニノフなので試聴にはピッタリです。

試聴につかったCDです。

いや〜いい音楽だな〜!!!

DACの試聴といっても、いつも音楽に聞き入ってしまってまともに試聴にならなりのですが、
最初の印象としては、極めて明るい音がするな〜という感じです。PCM1794とは少し違うかな?
どちらかといえば繊細系のPCM1704に近いかな? まあ、主観なので宛てになりませんが(笑)。

つぎはPCM入力に切り替えて試聴

つぎはPCM入力での試聴です。
構成は Renew FFASRC → ジッタクリーナー →DAC9018K2M→EVC1159(ヘッドホンアンプ代替)
です。ジッタクリーナをあえていれたのは、あとでジッタクリーナの切り替え器を試すためでもあります。


PCM入力での試聴です。

PCM入力の方が、音の滑らかさが増した気がします。これはアドオンボードによくクロック逓倍が効を奏しているのかな?
クロック逓倍については、その方法で色々と試してみる必要がありそうですが、これままた後ほど。

ジッタクリーナ切り替え器を試してみる!

これについては、着想から丸々1年かかっていますが、ようやく形になりそうになってきています。
ちょうど、ソフトも製作して動作確認の段階になっているので、ここでその効果について試してみることにしました。
この切り替え器の役割ですが、ジッタクリーナのドータボードの構成になっていて、ジッタクリーナの動作が安定するまでは
元信号を排出する基板です。なぜ、これがいるかといえばジッタクリーナの周波数の安定性は抜群にいいのですが、
周波数の切り替え自体が時間がかかるので、このあいだにDACから盛大なノイズがでることになります。このノイズを
抑制するために、ジッタクリーナの出力周波数が過渡的に変化している状態を検知して、その間はもと信号に強制的に
切り替える役割をもっています。

ジッタクリーナに切り替えドータボードを装着しました。

構成は Renew FFASRC → ジッタクリーナー(切り替え基板付き) →DAC9018K2M→EVC1159(ヘッドホンアンプ代替)

となります。さてさて、効果はどうでしょうか?

効果抜群!

最初は切り替え器の機能をOFFにして試聴しましたが、周波数の切り替え期間には盛大なノイズが発生します。
しかし、切り替え器の機能をONにすると、周波数が切り替わった直後は一旦音が途切れます(これはDAC側の問題であり仕方ない)が、
元信号からジッタクリーナを通したクロックに切り替わるときはまったくノイズがでません。これは快適です。
そりゃ、位相がそろった信号を切り替えるわけですからノイズがでるわけないですよね。これは外せないな〜。

ジッタクリーナの切り替え器を通して動作確認。ノイズも出なくて快適です。

しかし、ジッタクリーナを通すと結構電力をくいます。
DAC9018K2M単体だけだと実測で5V350mA(44.1kHz時)ですが、それにRenew FFASRCとジッタクリーナをつなげると、
一気に消費電流は1A以上になります。細い線で電源を供給していると、すぐに100〜200mA程度の電圧降下が生じてしましいます。
ケースに組み込むときは配線の太さも注意が必要です。

波形をみてみよう!

※それにして、あすからまた会社だなあ〜〜・・・・・。

波形を観察では、大振幅ではほとんど違いが判らないこともあり、できるだけサンプリング周波数をあげて、かつ
出力振幅を絞った状態で観察しました。


周波数192kHzで出力です。

 
出力振幅も-40dB(1/100)として観測しました。周波数は1kHzです。

波形の滑らかさは・・・ 2015.1.13


おもしおろいことに下記のような結果です。少々波形にノイズがあるので見にくいところはありますが、
波形の滑らかさは周波数に依存しています。128FSR優先モード(SYNC MODE)ではマスタークロック周波数が低いためか
波形の滑らかさがすこし足りません。周波数があがると徐々に波形の滑らかさが増していきます。
SYNC MODEはひょっとして352kHzや384kHzなどの入力にも動作できるように(マスタークロックが低くても動作する)、設定
されたモードかもしれません。

波形の滑らかさで、もっとも良好なのがオーバクロックモードです。でも、147MHzですからジッタクリーナならびにES9018K2Mの動作範囲外なので
このまま問題なく動いてくれるかどうかは????ですが。まあ、パソコンのオーバクロックを試すのに似ていますね。

ただ、波形の滑らかさと音質にどのような関係があるかはわかりません。多少歪があったほうが聴感上はよいということも
あるので、こればかりは試聴してみないとわかりません。

マスタークロック
周波数
波形 備考
128FSR優先モード 24.576MHz SYNC MODEで動作
最低周波数 49.152MHz
2N周波数 98.304MHz
内蔵水晶 100MHz アドオンカードは無しで使用。
オーバクロックモード 147.456MHz ジッタクリーナもES9018K2Mも動作範囲外。


さてさて、

動作確認もできたので、修正版(V2)の基板パターンで製作にかかりましょう。

消費電流をはかってみましょう! 2015.1.18

ES9018K2Mはモバイルも目的に設計されたDACですが、全体としてどのくらいの消費電流かを調べておきましょう。
もっとも消費電流が大きくなる192kHz入力時で測定しました。なんせICのプロセスはCMOSなので、
動作周波数に依存して消費電流が増大します。

組み合わせ 消費電流 説明
DAC9018K2M単体 401mA 予想以上に結構電流喰います。
DAC9018K2M
 +バックライトLCD
417mA 増加分は約16mA。これはバックライトLEDの消費電流が支配的です。
DAC9018K2M
 +バックライトLCD
 +ADDONクロック
 (最大周波数モード)
606mA 流石にアドオンは電流を消費します。一気に約200mAほど増えました。
Si5317Dが大喰らいです。動作周波数は約98MHzです。
DAC9018K2M
 +バックライトLCD
 +ADDONクロック
 (オーバクロックモード)
695mAA オーバクロック(約147MHz)にするとさらに90mAの増大です。
でも、波形の滑らかさは捨てがたい・・・。

3.3Vのレギュレータを使うならこれがいいですね。800mAの容量があります。

あれれ・・・・・ 2015.1.24

製作マニュアルを作成しつつ、最終確認をしているときにアナログ部に一部パターンミスがあることをみつけました。
せっかくV2基をつくったのに、修正し忘れたようです。
差動合成部のアンプなので、外付けアンプを使用する場合は修正は不要なのですが、お気楽にアンプをつなぐ場合は
つかうところです。

修正箇所は
1箇所のパターンカットと1箇所のジャンパーです。




ちなみに、差動合成後のアナログ部の電圧出力は約2Vrmsになるので、ちょうどいいくらいです。

マニュアル作成!!!!

なんとか時間ができたのでマニュアルを作成しました。
DAC9018K2M_Manual.pdf

まずは、修正が必要ですがV2基板をそろそろリリースしましょう。

その前に、アドオンクロック基板のマニュアルもつくりましょう・・・。
でも、一番面倒なのがこのマニュアル作成です(笑)。

アドオンクロックのマニュアルも作成しました。
ADDONCLOCK_DAC018K2M.pdf

【重要】追加修正箇所(V2基板) 2015.3.1
IC9のDVDD(PIN18)の接続が抜けていることがわかりました。
動作上は問題ないようなのですが、要修正箇所ですので修正願います。
具体的にはIC9のPIN18、19を半田ジャンパーで接続します。


修正箇所(黄色線で示したパッドを半田ジャンパーする)

上側のピンは左からPIN21,20,19,18,17,16,15なので
左から3本目と4本目を半田ジャンパーします。右から数えると4本目と5本目になります。


修正例

(つづくかな?)