2021年10月22日金曜日

【にわかAVマニアのESS】ES9038Q2Mのレジスタ制御(SLAVE mode)

ねぇねぇ知ってた? 2021.12の冬コミに出展するんです.

DCC+DACのプリント基板を売りに行きます.まぁ売れないだろうけどね.

コミケにES9038Q2MのDAC基板も出そうと思っています.それなのにまだES9038のプリント基板作ってないんだよ、やばいじゃん.出来るのか?

ちなみにAK4495は相変わらずAKMの工場火災でご臨終のようです.オレの崇高なビジネス構想の出鼻をくじいたAKMの罪は重い.

というわけでES9038Q2M試作PCBに火入れ中.レジスタ設定をごにょごにょといじってるところ.  回路図

世の中のES9038Q2Mの使い方はmaster modeがほとんどだと思うけど、わたしはI2Sのslave modeで動かします.このinterfaceとなります.
ES9038Q2Mのhard reset直後のレジスタ値をここにupしときます.datasheetと一部食い違う箇所もあったりする.

PCMとDSDの音が出たので地雷について書いておこうと思います.

ーーーー
PCM再生レジスタ
hard reset後の状態からPCM音声再生まで持っていくのに設定するべきレジスタは以下です.
ES9038_1    0b10000000  //32bit=10,I2S=00,manual_sel=00,PCM=00
ES9038_4    1           // automute time minimum
ES9038_6    0b01000111   // volume time minimum
ES9038_14   0b10001010 // soft start {1,0,x,01010}
ES9038_15   0           // volume max
ES9038_16   0           // volume max

説明します.
1:mustではない.DSD→PCMを行ったり来たりする際に、PCMに叩き込むために都度設定が必要となるため.
4:mustではない.ES9038Q2Mが自己判断でmuteしてくれる機能を気休め的にONする.mute時定数を設定できるが、ここでは最短時間でmuteしてもらえるよう1に設定する.曲の末尾で生じる恐れのあるプチッノイズを極力速やかに消すためだ.
6:mustではない.ES9038Q2Mはvolumeレジスタを変更しても即時反映されないように時定数(可変)がある.グリッチノイズ防止のためである.一方で曲の末尾におけるDCCの対応としては、packetが途切れたら可及的速やかにDAC volumeを最小に叩き込もうとするが、ES9038Q2Mはvolume変更に時定数があるという抵抗をする.そのため、ES9038Q2Mのvolume変更時定数を最小に設定している.[2:0]がそれ.
14:ほぼmust.起動時にaudio outをAVCC/2にさせる.defaultではGNDになってしまうらしい.[7]がそれ.
15:ほぼmust.volume max
16:ほぼmust.volume max

というわけで、いずれも必ず必要というわけではなく、hard reset後そのままでslave PCMの音声は何かしら出るようになっているようです.(音量は小さいけど)

master modeで音出しするには必ず設定しなくてはならないレジスタは多数ありますが、ここでは述べません.てか試行してないし.

DSD再生レジスタ
PCM→DSDに叩き込むには唯一のレジスタで済みます.
ES9038_1   0b10000011   // 32bit=10,I2S=00,manual_select=00,DSD=11
なお、わたしはDoP検出自動切換え機能を使ってません.

地雷1: ES9038はリトルエンディアンかビッグエンディアンか?
アドレス17~20の4BYTE、すなわち32bitはDACのフルスケールを決めるレジスタです.
AVCC=3.3Vを目一杯振らせたいので7FFFFFFFにしますが、endianはリトルかビッグかを知る必要があります.
ところがES9038Q2Mのdatasheetのどこにも「endian」という単語が無いんです.全般的にESSのdatasheetは不親切だなとの印象です.
レジスタダンプさせてこうなりました.これが結論です.ところでこれってリトル?ビッグ?
17 ff
18 ff
19 ff
20 7f

地雷2: LR volume同期モードはDSDでは使えない
ES9038Q2MのvolumeはLR独立しています.
しかし、L volumeでLRをひとまとめに制御することも出来ます.
しかし、この機能はPCMでは有効ですが、DSDでこの機能をONしてしまうとRchの音声が出なくなります.アドレス27の[3]ch1_volumeがその制御レジスタです.

地雷3: MCLKは何を入力すればいいのか?
最後まで判らんかったのがこれ.
ES9038Q2Mには、logicを駆動するために2つのclockモードがあります.
 1)BCKと同期したMCLK=128FSRで動かすモード
 2)BCKと同期しないMCLKで動かすモード
2番では、内部PLLでlogic回路に適する周波数に逓倍してるみたいです.

128FSRとは、例えばサンプリング周波数384kのとき49.152MHzです.
わたしが設計したDCCはその半分の24.576MHzまたは22.579MHzしか出しません.
なので1番は使えません.

ならば、2番で求められるclockはどの周波数範囲なのか?
datasheetを読んでもよく判らんかったのです.
やってみたのは3つ.
 ・100MHzをXIに入力    →MCLK=100MHzで動いた
 ・24.576MHzをXIに入力   →MCLK=24.576MHzで動いた
 ・XIに何も入力しない    →動かない
なのでよく判らんが64FSRでも動くじゃんという結論.
まぁそりゃそうだよなぁ、こうでなけりゃ一般のI2Sでinterfaceできないもんなぁ.

地雷4: レジスタでsoft resetするとI2Cがhung-upする
アドレス0の[0]にsoft resetがあります.
これをassertするとES9038Q2MのI2Cも止まってしまいます.
すると、hand shakeを待っているSTM32のI2C moduleがhung-upして破綻します.なのでsoft resetはつかえないと思います.なんだかなー

蛇足ですが、AKMのAK4495/4490のsoft resetはここら辺がうまく考えられていました.生かしておくべき機能にはsoft resetがかからないようになっています.


他にも気づいたら追記しときます.

さて、PCB作ろうっと.

かしこ

33 件のコメント:

  1. 超々過密必至のコミケが再開とは、ついにコロナ祭も終わりですな^^)。

    コミケって薄い本の販売会だけだと思ってましたが、こういう品もOKなんですね。薄い本以外のお店って、割合としてはどれくらい?。出店料ってけっこう高いんですよね、儲かるんでしょうか?。

    返信削除
    返信
    1. なんと同人回路コーナーとかもあるんです.

      出展料は¥8000です.大半のサークルは赤字と思われます.

      薄い本以外では、CD・DVD販売が多いです.音楽とゲームで.
      あとは、アクセサリーなど販売.
      薄い本は70%ぐらいに思います.

      今回の冬コミは、参加料を有料にして来場人数を数分の一に絞って開催する計画らしいです.んなこと言わないで全開でやれ全開で.

      削除
    2. あら 意外とお安い(近所のフリマでさえ、最近は¥5,000〜ですもんね)。でも、それでも元が取れないなんて...キビシイっすねぇ。

      コミケって、今までは入場料なかったんですか…知らなかった。

      現在の当地のペースは、陽性30〜50人/検査10,000人程度とのこと。まぁインフルエンザですからねぇ、みなに抗体が出来れば終息するのは当たり前っちゃあたりまえのことで...。ほんと何だっの?、あの祭りは。

      削除
    3. >入場料なかった

      そうなんです.
      あの人数が押し寄せるので、ゲートで¥500徴収とかチケット切りとかやったらスタッフさん大忙しになりそうです.冬コミはどうなるんだろう....

      削除
    4. >みなに抗体が出来れば終息

      スガ大明神の神通力、消臭力、長州力、、、

      削除
    5. 出展料¥8000の他に、決算手数料がいくらかかかったきはしますが忘れちゃった

      削除
    6. 昔のコミケは入場料は無料ですが、カタログと言うお布施を払うのが決まりごとでした。
      カタログがないとお目当てのブースがいつ、どこに開かれるか判りませんでした!
      カタログ本から途中からCDが加わっていました。
      事前に購入してチェックするのが・・・・・楽しかったです。
      電子回路などが出たのは2000年以降だったような気がしますが、自分は2000年前に一度行っただけなので、詳しいことは判りません。(^^;
      回路関係はMAKE JAPANもお勧めですね。
      こちらは残念ながら行った事はありませんが、本は6冊くらいまでは買いました。

      削除
    7. カタログを掲げて入場するのは他の即売会でやられているみたいですね.たしか東方イベントでしたか.

      MAKE JAPANは知りませんでした.わたしも参加しようかな.

      削除
    8. >コミケって薄い本の販売会
      いや、それはちょっと偏見すぎますよ・・・ まっとうな本も、たくさん出てます。
      (というか、「薄い本」って、もう「普通の言い方」になってるんですかね。)

      >昔のコミケは入場料は無料ですが、カタログと言うお布施を払うのが決まりごとでした。
      あー、先に書かれてしまった。そうなんです。「カタログ」が、入場料みたいなものでした。
      今は亡き「高岡書店」に、よく買いに行ってたことを思い出します。あのころは、よく「秋葉原 → 神保町 ルート」で、買い物してたな。(その頃は、職場が九段下にあったというのも大きい。)

      削除
    9. >カタログを掲げて・・・
      おぉ それは秀逸なシステムだ!。会場に案内板を置かず、カタログを買って事前情報を盛持っている者だけが勝者となる(なるかも...)なんですね。このシステムなら、地方人などで行けなくともカタログだけを買って溜飲を下げる同志諸兄もおられるでしょうから、実際の入場者数より多く売れるんでしょう…賢い人の考えることは偉大だなぁ。

      >「薄い本」…
      それっぽい本の隠語だとは認知しておりますが、自分は実物を読んだことなんです…したりです すんまそん^^;)。「厚い本(薄くない本)」は、オリジナル作品ってことなんでしょうか?。

      まぁ何につけても…関東モンは行けていいっすねっ!...チッ。


      >「MAKE JAPAN」…
      そうそう、自分も平坂氏が参加するならこちらじゃないの?って思ってました。「Maker Faire」は場内撮影も可能ですから、行けなくとも毎回いろんな方の記事や動画で楽しませて頂いていました。コロナ渦のせいで、2019以降休催している(一部のオンライン開催)のが残念です。

      削除
    10. 高岡書店懐かしい。立ち読み厳禁。

      コミケ3日間開催とすると、Hな薄い本は3日目になるみたいです。鉄道や回路も3日目で見かけます。てか3日目しか行ったことが無いわたくし。

      削除
    11. >関東モンは行けていいっすねっ

      たしかに血糊じゃなかった地の利。泊まってまで見学する熱意は無いかも。

      >make japan
      来年はやるかしら。
      ワクチンパスポート必要と言われたらどどうしよう。

      削除
    12. >ワクチンパスポート必要と言われたらどどうしよう。
      そんなの、たうぜんじゃないですか!。
      これからは、電車に乗るのも、コンビニで買い物するにも、街を歩くにもワクパス必携です。不所持者は逮捕投獄、へ国民として名前・住所が官報SNSに晒され、民権剥奪・村八分にされます。
      ワクパスは毎年更新、発行手続きは「パソナ」が一元代行します。
      更新料は¥10,000/年(税別)※内パソナ事務手数料¥9,600


      「Maker Faire」・・・
      公式開催でない、ご当地版 Maker Faire(有名どこでは京都や広島)なんかも軒並み開催延期しましたからねぇ...。まぁしかし、もう今がこの状況ですゆえ来年にはみな戻ってるんじゃないでしょうか。

      削除
    13. >公式開催でない、ご当地版
      コミケにも、
      「XXXケット」と、名乗った「ご当地版」
      が、たくさんありました。今もあるのかな?

      >高岡書店懐かしい。立ち読み厳禁。
      私もそういう記憶があるのですが、今検索すると、
      「珍しく、立ち読みができる書店だった」
      と、出てくるのですが、何なんでしょうね?(マスコミの情報操作は恐ろしい・・・)
      (もう、閉店してるので、確かめようもない・・・)

      削除
    14. >立ち読み出来る高岡書店

      fake過ぎて草。真逆で腰が抜けるw

      小規模の同人誌販売会はいろいろあるんです。

      削除
    15. >ワクパスは毎年更新、発行手続きは「パソナ」が一元代行します

      さすがはヘイゾー。法律変えてパソナが受注。
      岸田さん、そーゆーのを新自由主義っていうんじゃないのかな?

      削除
    16. ♫ パソナ〜 パソナ〜 中抜きするなら〜 パソナァ〜!♬
      ♬ パソナ〜 パソナ〜 儲けてるのはぁ?〜 ヘイゾォ〜!! ♫

      削除
    17. >岸田さん、そーゆーのを新自由主義っていうんじゃないのかな?
      岸田氏の云われる”新自由主義経済からの脱却”は、(所謂昭和的な)政府主導型経済政策ではなく、新から旧自由主義経済(超グローバリズム)への阿りでしょう。

      こないだ駅前で”れいわ候補者”の辻立ちを聞きましたが、思わず石投げそうになりました^^;)。

      削除
    18. こないだ新橋駅前が混んでて、山本太郎の選挙演説のためでした。見ても仕方ないのでお酒を飲みに行きました。

      自民党の負けは30/40/50のどれかなぁですが、いっそのこと−55ぐらいになって自公に維新か何かが加わってもらっちゃってくれないかなぁ。

      岸田さん宜しくです。

      削除
    19. >山本太郎・・・
      太郎はいかんね! 遺憾よ太郎はまっ赤っか。
      自衛隊を廃し、国際救助隊にすんだってさ…サンダーバードか!。
      太郎の街頭演説って、聴衆から反論されたらとたんに輩の本性丸出しになるところが面白い。


      >維新・・・
      大阪維新は元々、大阪自民の老害に嫌気がさした若手達が独立して作った自称”保守”なのだが...えっ?ってなりますわな。左利きだったんだろうか^^;)。
      下馬評では、15議席逝くんじゃ…とか云われてますが、流石にそれはないでしょう。

      削除
    20. 自と公でなけりゃなんでもいいといっても維ぐらいしか無いのが困ったちゃん。
      松井さんは21議席目指すとTVで言ってました。えっそそんなに。。。

      削除
    21. 山本太郎の国際救助隊は食糧と石油持って北を支援する組織ですね。
      サンダーバード2号には貨物が沢山載りますんで。

      削除
    22. 太郎の妄想…
      自衛隊を解体、国債救助隊へ改編→海外で災害時に駆け付ける
      →感謝感激甘あられされる!!⇛日本国が某国に侵攻される
      →以前助けた国々が味方してくれる(もちろん口だけ)
      →侵攻した国は、「お見逸れしやした」っと引っ返して行く…
      んだそうです。

      ↑は近地での街頭演説で、「自衛隊をなくして国を守れるのか?」
      っという聴衆の質問に太郎が答えたものです(憮然とした態度で)。
      やっぱコイツは、あたまメロリンキュ〜です。

      ----------------------------------------
      「ピーチボーイ・リバーサイド」
      公式Youtubeチャンネルにて全話放送中(11/12まで)。
      進行を順番通りやってるので、改めて見てます^^)。

      削除
    23. >以前助けた国々が味方してくれる

      あー、石投げたい

      削除
    24. >進行を順番通りやってる

      あーそれを有難く思ってしまうのが正直なところです.
      本放送でのあのシャッフルは厳しかった~ww

      削除
  2. すごく・・・リトルです・・・
    MCLKは100MHzをつっこむのをよく見ますね。非同期のほうが音質面で有利だとか。
    DCCから出力される同期クロックより、水晶直の100MHzのほうがジッターが少ないとかそんなオチなんでしょうけど……。

    返信削除
    返信
    1. それはお詳しい.
      わたしも100MHz水晶の回路を見たことがあります.100MがSPEC上限でもあるんです.

      >非同期のほうが音質面で有利

      へーっそうなんですか.

      ESSのDACはAKMのDACよりもlogic回路が多い印象です.

      AKMは音質の邪魔になるのでlogicをなるべく少なくした設計.ある意味で素朴なIC.

      ESSはもっと使い勝手に振った設計で、SPDIFも直接入力できてしまいます.Masterにもなれるし、便利な奴です.

      削除
    2. >水晶直の100MHzのほうがジッターが少ない
      確かに、マトモな水晶なら、フリーランでやれば
      「純度が高い」
      発振をしてくれると思います。
      ※PLLとかもそうだが、「何らかの制御」を、掛けた時点で
      「サイドバンド」が湧いてきて、純度が下がりますね。
      (「正しい周波数」という観点からすれば、必ずしも嬉しくはないが、
      まぁ、「どっちをとるか?」の、問題ですね。)

      削除
    3. EPSONのXTAL発振器で125MHzとかあって、へーっ便利じゃんと思ったら、内部PLLでした.半端な周波数を特注するときにPLLタイプは短納期でよろしいみたいです.まぁでもジッターはあるのでしょう.

      削除
  3. OSCは50MHzまでしか使った事ないですね。
    それ以上のクロックはPLLを使って使いました。

    返信削除
    返信
    1. 100Mを発振するのは水晶が薄くて大変なのか品種が少ない様です。OSC内部PLLで逓倍している疑いを禁じ得ず。。。

      削除
    2. >OSC内部PLLで逓倍
      確か、オーバートーン水晶は、水晶自体を
      「基本派の整数倍」
      で、発振させてたと思います。
      (確かに、100MHzに直に共振する水晶は、それこそμオーダーの厚みになるのでは?
      例えば3倍オーバートーンだと、1/3の周波数(33.3MHz)で、済んじゃいますからね。)
      ※それ考えると、イマドキのCPUって、内部で、10逓倍とか当たり前にやってるのが凄いです。1GHzとか言っても、100MHzの10逓倍とか。)

      削除
    3. >それこそμオーダーの厚みに

      そう思います.
      100MHz直発振はオーバートーンでないと難しい気がします.
      モノリシック回路でタンク回路を内蔵することって可能なのかどうかは知らないところなんですけどね.

      >100MHzの10逓倍

      PLLありがたやです.
      FPGAもPLLがあってこそ性能を発揮できますから.

      削除