2017年5月7日日曜日

PSoC 4 DCO ノコギリ波~三角波を可変して出力するようにしてみた。

矩形波のパルス幅(デューティ比)の値を利用して、ノコギリ波と三角波を連続可変できるようにしてみた。


ノコギリ波~三角波は16bit整数で上昇下降の傾きを出して計算し、8bitに丸めてPSoC4に内蔵のIDACに出力している。。周期を1/256して割り込みをかけているので、周波数が高くなると演算が追いつかなくなる。

また、単純に計算するとOverflow/Underflowしてしまうので、範囲チェックしている。Overflow/Underflowすると値が激しく飛ぶのでひどいノイズが発生します。

数学的な検証は全然していないし、演算量的にちょっと心配だったが、ベースで使う周波数あたりでは出力出来ているようだ。←ちゃんとテストしていないです。

Github:
https://github.com/ryood/PSoC4_DCO/tree/master/PSoC/PSoC4_PrototypingKit_DCO_for_NucleoF401RE.cydsn