PWMとmbed
デジタルからアナログへのデータ変換でハード・ソフト共に判ってないことが多いので、改めてネットをさまよって調べてみた。
R-2Rラダーはすぐに判った。これは判りやすい。
パルス幅変調についても、何とか判った。これで音をコントロールするには周期とパルスの幅の2つのパラメーターが必要になるんで、これをどうデータとして作るのかはまだ良く判っていない。
周期自体はCPUのクロックに基づいて計算はできるのだろうけど、パルス幅の計算にはフーリエ変換が必要なのか。
シグマデルタ変調はまださっぱり判らんのだけど、パルス幅変調の特殊な例なんだろうなあ、という気はしてきた。上2つの変換の際に積分器(要はローパスフィルター)が必要なのはわかるけれどシグマデルタモジュレーターの時には更に必要となる遅延回路ってのが判らない。
ただ、遅延回路ってのがプロペラのレジスタ・カウンタいじる操作の時に関わっているような気がしてきた。(「気がしてきた」ばっかりだ。)
あと、mbed関連のブツが届いたのでイジってみる。
mbed LPC1114FN28 の使い方 | 1up.jpのお薦め通りに、LPC1114FN28といくつかの小物を買ってみたので合体させる。
これで後々、チップ単体で回路を組むとき楽になるはず。
そしてあらかじめアカウントを作っておいたmbed上にChromiumでログインし、LEDチカのサンプルをコンパイルしてみる。
うーん、クラウドっちゅうかネットでなんでも出来てしまう時代なんですねえ。
出来たバイナリをUSBストレージとして認識させたmbed LPC1114FN24に放り込むと自動的に再起動して実行してくれる。
せっかくチップの取り付け取り外しを簡単にしたので、評価用ボード上ではなく、チップ単体で動かしてみる。
簡単にLEDチカ完了。プロペラのクイックボードを初めて動かした時並に簡単。
これまで評価用ボードばっかり触っていたので、こうしてPCにつながらず単体でチップが動いている(しかも簡単に)のを見ると結構感動した。良いですね。
ついでにmbed上でmbed対応のボードを色々調べていたら良さ気なものを見つけたので更に調べてみた。
これ、秋月電子だと1500円で12bitのDACが3つも付いてる。凄くないですかこれ?自分のやりたいことってハードウェア的にはこれで良くない?足りなければArduinoのシールド乗っければ良いし。(MIDIインターフェースとか外部メモリとかそんなの)
ちなみにマイファーストキーボード&サンプラーはローランドのW-30なんだけど、これは12bitサンプリングでした。熊本に引っ越す時に手放してしまったけど今聴いても良い感じの音なんだよ。