マイコンでサイン波、コサイン波を作れますか?:Q&Aで学ぶマイコン講座(8)(1/3 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。8回目は、上級者の方からよく質問される「マイコンでサイン波、コサイン波を作れますか?」です。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、上級者から多く寄せられる質問です。
マイコンからサイン波(正弦波)やコサイン波(余弦波)を出力することはできますか?また、周波数も変更できますか?
マイコンに搭載されているD-Aコンバータ(デジタル-アナログ変換回路/Digital to Analog Converter/以下、DAC)を使えば、サイン波(正弦波)やコサイン波(余弦波)を作ることができます。DACは一定電圧の範囲内で、任意のアナログ電圧を出力することができる機能です。10ビット分解能のDACであれば、一定電圧を2の10乗(1024)-1=1023ステップで分割し、ユーザーがレジスタで指定した値(1023以下の値)に相当する電圧を出力できます。出力周期を変更すれば周波数も変えられます。
あらかじめRAMに出力したい電圧値のテーブルを作り、一定周期でその値を順次DACから出力すれば、サイン波、コサイン波はもとより、他の形の波形を出力することが可能です。
図1に1周期を18分割した場合のサイン波の出力例を示します。
10ビット分解能のDACであれば最大1023分割で値を変えられます。出力端子においてコンデンサなどでフィルタリングすれば、理想のサイン波に近い滑らかなカーブが得られます。
タイマで一定周期を作って、CPUまたはDMAがRAMからDACにデータを送ります。ピーク電圧は1.00Vです。タイマの周期を変えれば、DACの出力データの切り替え時間が変わって、周波数が変ります。
Copyright © ITmedia, Inc. All Rights Reserved.