ファームウェアを多少いじってみたが、通信状態が不安定なのでブレッドボード用のジャンパ線ではなく、ケーブルをフラット・ケーブルとQIピンを使って作り直してみた。
接続状態は改善した(不用意に抜けたりしなくなった)が、やはり挙動が不安定。ためしに、SPIの信号線の途中でブレッドボード上でダンピング抵抗を入れてみた。
ケーブル長は、UI Controller(SPI Master)からブレッドボードまで30cm程度、ブレッドボードからSequnecer(SPI Slave)まで20cm程度。SPIのクロックは約2.6MHz。
SPI信号の波形
ダンピング抵抗なし
ch1:MOSI ch2:SCK
ch1:MISO ch2:SCK
33Ωのダンピング抵抗を入れた
ch1:MOSI ch2:SCK
ch1:MISO ch2:SCK
ch1: SlaveからMasterへの割り込み
信号線全部にダンピング抵抗を入れたら改善された感じだ。安定して動作するかどうか、もうしばらく動かしっぱなしにしてようすをみる。
ファームウェアも多少変更
BaseMachine UI Controller
https://developer.mbed.org/users/ryood/code/BaseMachine_UI_Controller/ Revision:50
BaseMachine Sequencer
https://developer.mbed.org/users/ryood/code/BaseMachine_Sequencer/ Revision:40
メモ:
ダンピング抵抗は出力側に近いほうがいいらしいので(理論的なことはよくわからないが)、UI ControllerのNucleoボード上にArduinoシールドを載せてダンピング抵抗を並べてみる。
→抵抗値を変更できるようにしておく。ついでにオシロのプローブを当てやすくしておく。ケーブルの配線長を短くする。
マスターの起動/リセット時にスレーブにリセットを掛けられるようにRESET線を用意する?
同軸ケーブルのインピーダンスは50Ωとか75Ωになっているが、普通の線材の場合は自力で測定するしかないのか?どうすればいいかもう忘れたけど(^q^;
0 件のコメント:
コメントを投稿