前回、NTS-1のカスタムコントロールパネル用のライブラリをSTM32F030版Blue Pillで動作させられることを確認しましたので、実際にNTS-1に接続して動作を確認してみました。
結果から書くと、問題なく動作しました。
Blue PillからNTS-1を鳴らしている様子です。
NTS-1との接続は、以前作成したベースボードを使っています。
このベースボードは、以前はNucleo-F030ボードと組み合わせて使用していました。NTS-1と接続されている信号について、今回のBlue PillボードをNucleoと比べると、
・Reset
・Boot0
の2つのピンがBlue Pillでは引き出されていません。
Boot0のほうは、おそらく正規のコントロールパネルでファームウェアを更新する際に使われていると思われますが、当面は接続しなくても問題ないようです。
一方、Reset信号はかなり頻繁に送られます。メインの信号はSPIでやり取りされますが、これはハートビート信号的な役割を兼ねており、通信が1秒間途切れるとメインボードがコントロールパネルをリセットする仕組みになっているようです。実際、SPIは同期が取れなくなったりすることも時々あります。
このため、今回は以下のようにボード上のリセットスイッチからリセット信号線を取り出しました。
また、NucleoボードはLEDとユーザボタンが搭載されていますが、Blue PillはLEDが接続されているピン(PC13)がNucleoとは異なっており、またユーザボタンは用意されていません。
今回はPC14にタクトスイッチを接続しました。(Blue PillのPC14とPC15の間には発振子がつながっているらしいので、Blue Pillをちゃんと使う場合は、PC14とPC15は使わないほうが良さそうです。)
ボード全体での接続は以下のような感じです。
写真左上にタクトスイッチがあります。左の真ん中あたりはUART(PA2、PA3、GND)、左下は電源(3.3VとGND)です。
写真右下がSPI関連の信号(PB12~PB15)で、右上はリセット信号が伸びています。
配線図は以下のようになります。
ボタンを押すとNTS-1から音が出るテストコードは以下です。Nucleoボード用に作ったものそのもので、LEDとスイッチのポートだけ変えています。
コメント