おはよーございまぁす.本日もよろしくおねがいしまぁす.現場では明るい挨拶から.
とある中華製DDS function generatorを使っています.こういう外観、わたしが買った3年ほど前は送料込み¥1150だったのが、現在では¥1700と値上がりしています.netでこれについて触れているのは海外のこのサイトぐらいかも.
1~65534Hz
sine, square, sawtooth, triangle, impulse, random
0~10Vppぐらい
スマホのwave genアプリでも波形生成は可能ですが、作業中に電話が掛かってくるとあたふたしてしまいます.転ばぬ先の杖でスタンドアロンのこれを使うのだっっ.
↓CPUの近くに抵抗がたくさん載ってるのでピンと来る人多数と思いますが、波形生成はR-2RラダーによるDACのようです.そしてそのDACを駆動しているのはATMEGA16 CPUです.LCD制御もATMEGA16でやってます.(ATMEGA16にDACは無し)
DDSと銘打ってはいるけど、語義通りのDDSは基板上に乗ってないので、命名は盛ってる気はする.(写真の8pin DIPは電圧ダブラの電源であってDDSではない)
源発振16MHzをATMEGA内部で分周して1~64kHzを1Hz stepで生成しているんじゃないかと想像しますが、割り切れない変な周波数をどうやって生成しているのかはいまいち謎です.
↓基板剥き出しだと使いづらいので、3DPでちゃちゃっとケースを作りました.STLおよびDesignSparkMechのCAD fileをzipしたのを置いときます.
>海外のこのサイト
返信削除この「Hackaday」というサイトは、調べ物をしてるとよく引っかかりますね。内容は、
「何だこれは!?」というモノから「これは凄い!」と思うものまで、ピンキリですが。
>語義通りのDDSは基板上に乗ってない
DDSって、単に「Direct Digital Synthesizer」の略だから、別に専用ICである必要も無いと思います。(まぁでも、これは私も「なんちゃってDDS」だよな、とは思いますが。)
Wikiによれば、定義は、
「単一で固定の発振源から、任意の波形や周波数をデジタル的に生成するための電子回路」
とあるのですが、これじゃぁ「PLLシンセサイザ」だってそうじゃん!(そもそも、DDSというのは、マーケティング的に、PLLシンセサイザとの差別化を図るための命名だと個人的には認識してたのですが・・・) ホントに、Wikipediaも質が下がったな。
ATMEGA16 って、RAMは1kByteしかないから、流石に、これをDACのデータテーブルに使ってるとは思えないし(しかも、LCD表示制御もしてるし)
CPUの高速性(16MIPS!)を生かして、タイマ周期ごとに「毎回計算」してるのでしょうかね?CORDICあたりを使って。
※これも、「誰かが開発したソフト」を、色んなところで使ってるんでしょうかね。中華製品で有りがちな。
わたしのDDSのイメージは、有理数倍できるPLLとのイメージだったりしますがよくわかりません.
削除sine波はFLASHにテーブル持ってる感じか、音声帯域だからsin()を浮動小数点演算してるか、モヤモヤします.ATMEGAのfloat演算はどのくらいで動くのかな?
昔、STM8SでCライブラリでsin()cos()を計算させたらすごく遅くて、8bit CPUでやるもんじゃないわと思いました.
>有理数倍できるPLLとのイメージ
削除はじめは、いわゆる「DDS」は、出力を「D/Aコンバータで取り出す」ところが、PLLと違う、(アナログPLLなら、これは正しい。)
と、思ってたのですが、「デジタルPLL」だと、「内部カウンタの値を、D/Aコンバータに突っ込めば」DDS と、「何が違うの?」に、なりますね・・・
(ますます、「DDS」って、「マーケティング由来の、バズワードの一種」の、疑いが濃厚になって来ました・・・)
まぁ、「回路図」で示せば、「一目瞭然」なんですが、広告にそんなの載せるワケにもいかないから、こういう 「便利な言葉」が、流行っちゃうんでしょうね・・・
おはよーございます
削除>マーケティング由来のDDS
なんかそんな気が.もっとかっこいいモノかと思ってたのにもう.