CPLD

ALTERAのCPLDが入手不能なので、XILIXのCPLDを使って同等性能でDiscrete DSD DAC 基板が作れないかどうか、このところ検討をしていますが、どうにもなかなか難しいというのが現状です。

S/N、要はFFT解析するところのノイズフロアを下げきれない、ノイズの挙動に奇妙なところがある、というのが今のところの結論です。聴感のみで評価する場合はALTERA版と比較してS/Nが悪いとわかる方がどれだけ存在するかどうか、というのはあります。非常にノイズレベルが低い領域での話であり、少なくとも私には比較不能ですが・・・

これというのも、A/D変換性能の非常に高いADC ICが出てきていて、法外(失礼)に高価なオーディオプレシジョンではなくても当方でも気軽に高性能な測定ができるような環境になってきている。というのがあります。

と、いうことで、CPLDの置き換えだけで簡単に、という話にはなりませんでした。
XILINXのCPLDは非常に古いプロセスを使った設計の古いデバイスで、今どきコア電圧が3.3Vという恐ろしい仕様であることが効いているのではないかと推測しています。

とは言っても、EMMのマイトナーさんのDACではこのCPLDを使ってDiscrete DSD DACを構成されていたようですので、なにか、当方の設計に見落としがあるのかもしれません。

実は、こういった高性能な測定ができるようになって気がついたのですが、FPGA内部のデジタル回路の組み方でアナログDSD出力のS/Nに結構な影響を及ぼすことがあります。たとえば、機能を詰め込んだり、ジャンパ設定などでモードや機能の選択肢を増やしたりしすぎると、良くない影響を及ぼす場合があることもわかってきています。よく言われるグラウンド・バウンスの問題もあると思いますし、FPGA内部で配線の引き回しが増えることで、要らぬジッタを誘発しているということもあると思われます。

要は、FPGA内のロジックも、デジタル機能的に仕様を満たしていれば良しとするだけでなく、アナログ性能に悪影響を与えないように注意深く回路構成を考える必要性が更に高まっているということなのでしょう。当たり前といえば当たり前です。
FPGAだけでなく、そもそもLSI設計における、レイアウト設計のノウハウといったものも、まさにそういった点を含んでいるのでしょうね・・・。

同様にCPLD内部の回路も、レイアウトを含めてXILINX方式に最適化する必要があるのかもしれません (特に複雑な回路ではないのですが)。現状では省電力モードで動作するような設定にしたりとか、しています・・・(^^;

“DSD discrete analog FIR filter DAC”Distribution Details(頒布の詳細について)

Since additional ALTERA CPLDs are hopelessly unavailable, only 6 DSD discrete DACs will be distributed.
XILINX CPLDs are available, but when we build a circuit, the S/N and other performance characteristics are clearly worse than those of ALTERA.
I am considering whether or not to switch to XILINX CPLDs and continue distributing DSD discrete DACs after I run out of ALTERA CPLDs.
I can imagine why XILINX would have poorer analog performance in this case…

The DSD discrete DAC has a lot of components anyway, so it takes a whole day to do the hand soldering. After that, I need to take measurements.
I need at least 2 days from the start of the project.

For the new USB board, I will distribute only 3 pieces, because it is hopeless to obtain additional FPGAs of XILINX or ALTERA QFP type.

The new USB boards have already been hand-soldered and tested for operation, so I will write the latest firmware on them and finish manufacturing.
The new USB board includes a small board for rewriting firmware (technically called a JTAG board), a raw small board for FSLED, a connector post
and a harness for connection to the USB board (see photo).

The new USB board set is 230USD.

The DSD discrete DAC will be distributed at a price of 200USD.

Compatible op-amp boards and power supply boards are also available.
Each raw board costs 5USD a complete op-amp board costs 150USD, and a complete power supply board costs 30USD.
These boards are also hand-soldered, so please allow a few days for delivery.

For orders or questions, please contact us at this address.

*This price is applicable to those who pay by PayPal from outside Japan. EMS shipping fee will be separately added as a shipping charge.

ALTERAのCPLDは追加入手が絶望的ですので、DSD discrete DACは6枚のみの頒布となります。
XILINXのCPLDは入手できるのですが、回路を組んでみるとS/N等、性能がALTERAより測定上明らかに悪くなるので、
ALTERAのCPLDを使い切ったあと、XILINXのCPLDに切り替えてDSD discrete DACの頒布を続行するかどうかを思案中です。
この場合のXILINXのほうがアナログ性能が劣る理由については想像はつくのですが・・・。

DSD discrete DACはとにかく部品点数が多いですので、手半田実装を行うのに丸一日必要です。その後に測定したりしますので、
着手から最低2日は納期を頂きます。

新USB基板は、XILINXやALTERAのQFPタイプのFPGAの追加入手が絶望的ですので、3枚のみの頒布となります。

新USB基板は、すでに手半田実装を終えて動作確認済みですので、最新のファームウェアを書き込んで製造は終了します。
新USB基板には、ファームウェア書き換え用の小基板(専門的にはJTAG基板と称します)、FSLED用の生小基板、コネクタポスト、
ならびにUSB基板との接続用ハーネスを添付します(上の英語説明中の写真参照)。

新USB基板セットは23,000JPY。
DSD discrete DAC は20,000JPY。

で頒布させていただきます。

なお、対応オペアンプ基板や電源基板も頒布可能です。
それぞれの生基板は1枚500JPY、オペアンプ基板完成品は1枚15,000JPY、電源基板完成品は1枚3,000JPYです。
これらも完成品は手半田実装となりますので、2、3日納期をいただくことになります。

About discrete DSD DAC (part 1)

DSD discrete DAC PCB

The specifications of this DAC board are as follows

このDAC基板のスペックは以下のとおりです。

The output of the DAC board is filtered by the following circuit board and circuit. The FFT data was taken with this circuit. Of course, this circuit is just an example, and there may be other circuits with even higher characteristics and sound quality.

DAC基板の出力は下記の回路基板・回路にてフィルタリングしています。FFTデータはこの回路で取りました。もちろんこの回路は一例であって、更に高特性・高音質の得られる回路も当然あるでしょう。

The following test circuit was used as the power supply for the evaluation. I used an isolated DC/DC converter from MORNSUN Power. The input is 5V. An AC adapter with 2A output should be sufficient.

評価に当たって電源は下記の試験回路を使用しました。MORNSUN Power社の絶縁型DC/DCコンバーターを使用しました。入力は5V。ACアダプタは2A出力で足りるでしょう。

If your DSD signal output board/device does not work well, we offer a USB DDC (digital-to-digital converter), which converts all PCM signals such as WAV and FLAC files into DSD signals for output (details are described separately). Single-rate (44.1kHz/48kHz) PCM signals are converted to so-called DSD64 signals, and PCM signals of higher rates are converted to DSD128 signals for output.The internal operation of DSD transfer in USB is only DoP method, and ASIO DSD is not supported.
DSD signals up to DSD256 are supported for playback. (Since no device driver is attached, Windows supports up to DSD128 (by WASSPI).)
*However, due to the shortage of parts, I can only provide a few new boards at the best of my ability. Therefore, the boards that I can provide are hand-soldered by me (not the number that I can ask PCB assembly companies to provide). If you are an old user of mine, I can rewrite firmware of UDA boards, UDA2 boards, etc. with USB AUDIO CLASS 2.0 data redesigned with recent knowledge at a low price. Please contact me for details.

ご使用のDSD信号出力基板・装置でうまく動作しない場合には、USB AUDIO CLASS2.0によるDDC(ディジタル・ディジタル・コンバーター)を用意しています。WAV fileや FLAC fileなどの PCM信号はすべてDSD信号に変換して出力する基板です(詳細は別途記載します)。シングルレート(44.1kHz/48kHz)のPCM信号はいわゆるDSD64信号に、それ以上のレートのPCM信号はDSD128信号に変換して出力します。USBにおけるDSD転送の内部動作としてはDoP方式のみを採用しており、ASIO DSDには非対応です。
DSD信号はDSD256信号までの再生に対応します(デバイスドライバの貼付はしておりませんので、Windowsでは(WASSPI)DSD128までの対応になります)。
*とは申しましてもこの部品不足の折、新規にご用意できる基板はがんばっても数枚単位です。よって私による手半田品となります(実装業者さんにお願いできる数ではありません)。古くからの私のユーザー様でしたら、UDA基板、UDA2基板等を最近の知見を含めて再設計したUSB AUDIO CLASS2.0データでfirmwareを書き換えるサービスを廉価でご用意しております。別途ご相談ください。

New USB AUDIO CLASS2.0 PCB

The evaluation set was configured to connect from the USB board to the operational amplifier board using axial pin headers.
If the physical interface with other DSD signal source output boards, such as the USB board for example, does not match, you can make a jig for connection as shown in the picture. The same configuration could be used for connection to a filter/amplifier board.

評価セットはUSB基板からオペアンプ基板までアキシャルのピンヘッダで接続する構成としました。
例えばUSB基板など、DSD信号ソースを出力する他の基板との物理的なインターフェースが合わない場合には、写真のような接続用のジグを作れば良いと思います。フィルタ・アンプ基板との接続にも同じような構成とすることができると思います。

Example of old USB PCB
Board-to-board connection method

Translated partially with www.DeepL.com/Translator (free version)

“DSD discrete analog FIR filter DAC”を頒布することにしました

I have eight pairs of MAX10CPLDs manufactured by ALTERA, which is probably impossible to get newly, and I am willing to share them with those who are interested in this board. For the same reason as the USB board described below, I will have to deliver the board by my hand mounted and soldering. The number of components is very large. If all the components were readily available in China, it might be reasonable to have a few of them soldered by a mounting machine at a low cost, but this is not the case in this day and age.

We will measure the FFT data for each of these boards and send them to you with the data. Since this CPLD is no longer available, the next release will have to be a large-scale DAC board including USB AUDIO CLASS 2.0 functionality using FPGA.

前回の記事でご紹介させていただいた ”DSD discrete analog FIR filter DAC” ですが、新規に入手するのがおそらく不可能なALTERAのMAX10CPLDを私は手持ち部品として8台分確保してあります。そこで、本基板に興味をお持ちいただいた方に合計8枚お分けできます。後日後述しますUSB基板と同様の理由により、私の手実装での納品とさせていただくことになります。部品点数が非常に多いです。すべての部品が中国で容易に入手できるとしたら、数枚でも実装機でハンダ付けしてもらうのが低コストで実装できて合理的かもしれませんが、今の御時世ではそうもゆきません。

この基板は、1枚1枚FFTのデータを測定してそのデータとともにお届けします。このCPLDはもう入手できませんので、次があるとすればFPGAによるUSB AUDIO CLASS2.0機能も含めた大掛かりなDAC基板としてリリースするしかないと思います。

*Translated to English partially with www.DeepL.com/Translator (free version)

DSD discrete analog FIR filter DAC

こちらのサイトに、当方が過去に配布させていただいた「DSD原理基板」を用いてDSD DACを作成した方が、アナログ出力の測定データを公表されているのを偶然発見しました。WaveSpectraによるFFTのチャートですが、確かに、概ねあのような感じになっているのだろうと思いました。

DSDの analog FIR filterによるD/A変換方式については、「DSD原理基板」のリリース後に、本家の方から理論的・技術的なご教示を賜ったことがあり、その時に得られた知見を元に、「DSD原理基板」より高性能なanalog FIR filter DACを構成可能であるという実証実験は済ませておりました。

せっかくなのできちんと形にして残しておこうと思いつつ、自作オーディオ活動の中断でウヤムヤになっておりました。それからあっという間に数年が経過してしまいましたが、その他、いくつか中断中で心残りのプロトなどもありますので、この際、それだけでもコロナ明け?の今年から少しづつ形にしていければと思っています。

途中休み休みでしたが、このたび形にした、「DSD discrete analog FIR filter DAC」では、DSDデータの “シンボル1” と “シンボル0” との相互干渉による可聴帯域での混変調歪の増加やS/Nの低下を防ぐために、DSDデータそのままの信号をFIR filterに通すのではなく、DSDデータに波形整形処理を施してからFIR filterによる処理を行うように構成した回路に変更しています。これによってノイズフロアを大きく下げることが出来ました。

実機でのFFTは下記のチャートの通りです(念のためですが、I/V変換やLPFを通したあとのアナログ信号を見ています)。あくまでも、DSD信号をまさにアナログに変換するステージの話になります。デジタルのファイルとしてのDSDデータをDSD対応のDAC ICに入力するまでのデジタル信号処理の話ではありません。

さて、この「DSD discrete analog FIR filter DAC」の「アナログ」出力をWAVEファイルとしてキャプチャしたものがこちらです。WaveSpectraなどで、窓関数:Blackman-Harris 7 Term、サンプルデータ数:128kとして再生していただければ、このオーディオ・プレシジョンによるチャートと同じような感じに見えるかと思います。

DSD discrete analog FIR filter DAC all over spec. FFT

I/V変換やそれに続く多重帰還LPFはオペアンプであるOPA134Uを使ったごく平凡な回路です。

DSD信号はPCから自前のUSB DDCなどを通じて取り出したものを喰わせております。ピュアDSDの2.8MHzテスト信号や、44.1kHzから2.8MHzのDSDに変換したもの、さらには88.2kHzから5.6MHzに変換した信号、どれでも概ね同じようなspecでアナログに変換できています。それ以上高いレートのDSD信号に関してはまだテストしていませんが、期待した性能が出るかどうかは、discrete回路最終段のICの最終段MOSトランジスタの吐き出し・吸い込み性能の対称性などに依存するようです。

AKMの工場被災の件などもあって、オーディオ専用部品を一切使わずに全基板を設計したのですが、何の変哲もないようなロジックICまで全く手に入らないことが多く、一体どうなってしまったのでしょうか。Fabが最先端のスマホ用CPUにしかキャパを割り当てないからなのでしょうか?

お陰で、手持ち部品やらなんとか手に入りそうな部品やらを使った数種類の回路構成で複数種の基板を作って実験しています。こんなにたくさんの基板を描くのは久しぶりです。ちなみにIntelやXilinxの手頃なFPGAなんか全く入手できないので泣けてきます。

DSD discrete analog FIR filter DAC PCBs

標準ロジックの574を使ってダブル・ディファレンシャル出力にするので、パターンを合理的に引こうとするとどうしてもこのようになってしまいます(中央の基板がdiscrete DACになります)。DSD信号の波形整形用CPLDはIntel(Altera)製です。ピンピッチが0.4mしかないので実装は大変です。ハンダ面にはチップケミコンが林立しています。

次の写真は出力段のデバイスをシングルタイプに変更したものです。半分はCPLDの手持ち在庫の事情からこのパターンも試しています。こちらはXilinxのCPLD。使い勝手のちょうど良いCPLDも、ディスコンやらコロナやら?で市場から姿を消して久しいですね。泣けてきます(笑。

復旧

諸事情で相応の期間アクセス出来ない状態が続いておりまして、その間にプロバイダの事情でブログ表示が不可能になってしまいました。

こちら側で指示通りの対処が出来なかったのが原因です。

ひとまず応急処置で最低限の閲覧ができるようにしましたが、この先の復旧予定は未定となりますので、どうかお許しください。

アーム(腕ではありません)

最近、基板を作る機会がめっきり減りました。

ちょっとした機能検討なら市販の評価ボードを買う方が安くつくからです。大規模なFPGAデバイスなどは、DigiKeyなどからチップを単体で調達するよりも、こういったボードを買ってしまう方がさらに安い、という場合すらあります。

ということで、死蔵しておりました、こんな基板を使ってSDカードトランスポートを作ってみました。

昨年、我が家からついに光ディスク再生装置が放逐されたのに伴い、CDプレイヤーの代替は必要になったからです。たまには、ネットワークや大げさなストレージにつながっていない、スタンド・アローンな装置がよいというのが気持ちの中にありました。

普及率はそれほど高くはないかもしれませんが、標準化を目指して策定されたであろう、Pmodコネクタというのが複数ついていて、オプションのMicroSDカードスロットなどを増設することができます(そうです。手を汚さずに)。

表示はAmazonで売っている1.3インチOLEDディスプレーモジュール基板(SPI 128×64)を採用しました。こちらはPmodに非対応なので、「手を汚して」取り付けました。

前振りが長くなりましたが、昨年後半に、私の良く使うFPGAメーカーであるXilinx社のFPGAに、Arm(アーム)社のCortex-M3/Cortex-M1(≒0)というマイコンがライセンスフリーで提供が開始され、早速これをArtix-7というFPGAに組み込んでみたかった、というのも大きな理由であります。要するに、FPGA用に暗号化されたソースコードの配布が始まった、ということです。

カードへはSPIでのアクセス(C言語と組込みファイルシステムを駆使)になりますが、カード読み出しの速度的に、DSD2.8MHzまでは大丈夫そうな感じです(趣味を兼ねた研究用途ゆえ、ダメならあきらめてしまえます)。

で、ひとまず44100Hz/16bitのWaveファイルは再生できているので、前回記事のSSDACも入れてDSD変換してやろう、と、手始めに(変換されるであろう)DSD2.8MHzにDoPフラグを付けて176400Hz/24bitのS/PDIFに変換する回路を入れて準備しました。SDIF-3出力などの硬派な出力を使わず、あえてS/PDIFなのはマニアの風上にも置けませんが、小型でそこそこ音が良いという理由で相変わらず愛用しているMytekの初代DACが、S/PDIFでのDoP-DSD2.8を受けられるので試してみたい、というのがあります。

しかし、果たして肝心のSSDACは動きませんでした。機能シミュレーションでは動作しているのですが、Artix-7向けにXilinxのツールで論理合成(回路化)してゲートレベル(実際の論理回路レベル)シミュレーションすると出力が変になってしまうのでした。皮肉なことに、というか当然ですが実機の動作ともそれは一致します。SSDACはAlteraのFPGAで動作確認されていますので致し方ないところです。自分が何かポカをやらかしている可能性も十分ありますが、仕方ないので当面放置です。

***2022/12 現在、Xilinxのデバイス上で動作することを確認しております。なお、工業所有権の申請中とのことですので、これ以上は立ち入らないことにします。

SSDAC

トランジスタ技術誌10月号に掲載された “SSDAC” が興味深かったので、同誌11月号付録DVDに収録された設計データを使用してシミュレーションを行いました。

SSDACが「時間軸」に対して非常に理想的な性質を示すのは記事中からも明白ですが、「周波数軸」は一体どのような性質となっているのかを確認したかったというのも一つの理由です。

VHDLで記載されたソースコードをModelSim Altera Editionを使用し、「名目上」48kHzのデータを入力ベクタとして “SSDAC” に喰わせて、その出力をキャプチャしてWaveSpectraにてモニタしてみました※。

最初にインパルス応答の時間軸における挙動を、ModelSimの波形ウィンドウの結果をもって示します。

上が入力で下が出力ですが、一切の「シュート」が付きません。見事に”NOSDAC” を彷彿とさせます。

次に、10kHzのサイン波を変換した場合の出力を「周波数軸」で見たときの様子を示します。

続いていわゆる「f 特」。いずれも対数表示で右端の周波数を(48kHz/2)×64=1536kHzとしています。

実機動作には、16bitパラレル入力の工業用のDAC ICが載った専用基板を購入する必要がありますが、私的には設計者の意図とは離れてしまうのを覚悟で、これをDSD変換して手持ちのUSB基板+DSD1794Aなどで音の傾向を確認できると思われます。

可聴帯域外のスプリアスが音にどう影響するかですが、前出のマルチビットDACとDSDとではまたかなり違ってくるんでしょうね。DSD変換の音は新潟精密のフルエンシーDAC的な音傾向になる予感がします。

※3次スプライン関数の設定を選択してシミュレーションできていると思いますが、万一結果に間違いがあるようでしたら、ご指摘いただければ訂正いたします。

SSDACに興味のある方はトラ技を入手しましょう。

以下、権利者様の著作権表示となります。

===========
著作権
===========
・SSDAC24642ソースプログラムは 小林芳直 が著作権を持っています。
・個人の研究目的には、修正、改造など自由に使用できます。
・発表される際はこの著作権表示部分を表示してください。
・このプログラムの全部もしくは一部を製品に組み込んだり販売するなどの商業的利用はおやめください。
・本製品SSDACに使用されているデータ補間技術は、小林芳直により発明されSLDJ合同会社により現在特許出願中です。
・本キットに含まれる回路、ソースコードは個人的使用に限り自由に修正、改造ができます。
・本キットに含まれる回路、ソースコードの商業的利用については別途契約が必要です。higon@nifty.comまでご連絡ください。

 

UDA BULK ASIO driver 公開します

UDA BULK ASIO driver を公開いたします。 <====== サポートのご要望はご容赦ください。

これが一体どの様なものか、どういった趣旨なのか、については今年に入ってからの過去記事をご覧ください。ざっと一言でいえば下記のようなものです。

古い初代UDA基板のファームウェアを、ユーザー様にてこちらから提供するファームウェアに書き換えて頂きます。そして新しく書き起こしたASIOドライバーをインストールし、ASIO対応のバルク転送対応USB AUDIO基板として息を吹き返して頂けたら、というものです。

一応、対応環境はWindows10 64bit 「Fall Creators Update」となります。この環境で最新のVisual Studioにてすべてのプログラム類をビルドし、動作テストを行いました。が、ほかの環境でも動作する可能性はあると思います。

ファームウェア・アップデート、ならびにASIOドライバーのインストールに関しては、最初に説明書をお読みいただき、手順が飲み込めた段階で始めてくださるようにお願いします。

プログラム類はこちらになります。

記事や説明書をご覧頂いた上で、なおもご不明な点がございましたらお気軽にメールにてお尋ねください。

(2/11)  Windows7 64bitでの update ならびに動作報告をいただきました。