モジュール複数を同時に接続状態にしておき、配線の切り替え頻度を減らすことで高速化できます。BANKを切り替える命令だけで、あらかじめ作っておいた配線情報が再現できます。
※BANKを使って動かすときの利点・注意点
1、同じBANKのモジュール同士が縦に積まれると、混線する可能性が出てくるため同じモジュール同士を縦に積層しないようにする必要があります。(プログラムのやり方によっては、モジュールの接続位置情報から自動的に危険を回避することも可能)
2、「配線は分岐できない」ので、たとえばSPIを一つのBANKで複数使いたいときは、同じ配線のSPIモジュールを縦に積み上げて、モジュールのゲート信号だけ変更して使います。(Raspberry Piのように、自動で動くチップセレクトピンが少なくても、1つのチップセレクトピンで複数積層できるのが利点です。)
3、パソコンのPCIバスのような物との違いは、基板(BANK)ごとに回路と配線情報が後から自由に入れ替え可能だということです。
EX)
a、移動時はこの回路構成でマイコンに接続、定点観測時にはモータ部分の回路のみ切り他の回路は流用する等
b、故障しやすいモジュールを見越してあらかじめ搭載しておき、壊れたら遠隔地から切替
c、回路のリサイクル性が高いので、別の回路構成に切替可能
現状のサンプルプログラムではユーザーにとって安全のために一つのモジュールごとに配線しなおしていますが改造可能です。
また、mbedでは自動的に高速化するための #define boost というものが用意されています。積層の仕方によって、配線が混戦しないように自動的にBANKを使い分けてくれます。
(上記注意点2、に関しては自動的には行っていません)
0 件のコメント:
コメントを投稿