連載
» 2014年11月17日 10時00分 UPDATE

Q&Aで学ぶマイコン講座(8):マイコンでサイン波、コサイン波を作れますか? (1/3)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。8回目は、上級者の方からよく質問される「マイコンでサイン波、コサイン波を作れますか?」です。

[菅井賢(STマイクロエレクトロニクス),EDN Japan]
tt140519QAM_icon120_90.jpg

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、上級者から多く寄せられる質問です。


tt140407STNEWQQQ.jpg

 マイコンからサイン波(正弦波)やコサイン波(余弦波)を出力することはできますか?また、周波数も変更できますか?

tt140407STNEWAAA.jpg

 マイコンに搭載されているD-Aコンバータ(デジタル-アナログ変換回路/Digital to Analog Converter/以下、DAC)を使えば、サイン波(正弦波)やコサイン波(余弦波)を作ることができます。DACは一定電圧の範囲内で、任意のアナログ電圧を出力することができる機能です。10ビット分解能のDACであれば、一定電圧を2の10乗(1024)-1=1023ステップで分割し、ユーザーがレジスタで指定した値(1023以下の値)に相当する電圧を出力できます。出力周期を変更すれば周波数も変えられます。

 あらかじめRAMに出力したい電圧値のテーブルを作り、一定周期でその値を順次DACから出力すれば、サイン波、コサイン波はもとより、他の形の波形を出力することが可能です。

 図1に1周期を18分割した場合のサイン波の出力例を示します。

tt141114QAM001.jpg 図1 D-Aコンバータ(DAC)を使ったサイン波出力 (クリックで拡大)

 10ビット分解能のDACであれば最大1023分割で値を変えられます。出力端子においてコンデンサなどでフィルタリングすれば、理想のサイン波に近い滑らかなカーブが得られます。

 タイマで一定周期を作って、CPUまたはDMAがRAMからDACにデータを送ります。ピーク電圧は1.00Vです。タイマの周期を変えれば、DACの出力データの切り替え時間が変わって、周波数が変ります。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.