概要:
SPIを使用して、dspic33を搭載した3つのカスタムPCBボード間で通信しています。私はマスターと2つのスレーブを持っていますが、両方のスレーブに同じデータを送信しています(注意を払う対象を選択させる)。
ハードウェアのセットアップ:
2つのスレーブにはBLDCモーターコントローラーが組み込まれており、マスターはこれらのモーターコントローラーをSPI経由で制御しています。ワイヤーはマスターから各スレーブまで約3フィートであり、ヘッダーは標準的な0.1インチピッチスルーホールのSAMTECHヘッダーです。各モーターコントローラーには、dsPIC / LV電子回路を実行する独自の3.3ボルトレギュレーターがあります。モーターコントローラーレギュレーターを1つ使用します(彼をAと呼びます)SPIマスターDSPICにも電力を供給します。他のモーターコントローラー(彼をBと呼びます)に対しては、マスターからSPIラインとグラウンドを実行します。SPIclkは100KHzで動作しています
要点(最終的に):
これを実行しているモーターがないため、すべてが正常に機能し、すべてのデータが期待どおりに両方のスレーブに送信されます。ただし、モーターを起動すると、Bslaveは正しいデータを取得しなくなります。彼は余分な時計を拾っているか落としているかのどちらかだと思います。いずれにしても、彼のチェックサムは失敗し始めます。Aslaveは何があってもチャンピオンのように機能します。
1)これらのすべてのデバイスを同じ3.3ボルト電源で実行する必要があると思いますか?もしそうなら、より長いインダクタンスループとそのような黒魔術について話して私を説得できますか?
2)SPI clkを実行し、上記のようなハードウェアセットアップで成功することができると私がどれほど速く期待できるかについて、どんな経験則がありますか?