Gambaran:
Saya berkomunikasi di antara 3 papan PCB kustom dengan dspic33 pada mereka menggunakan SPI. Saya memiliki master dan 2 budak, tetapi saya mengirimkan kedua budak data yang sama (dan membiarkan mereka memilih apa yang harus diperhatikan).
Pengaturan perangkat keras:
Kedua budak telah membangun pengontrol motor BLDC dan Master mengendalikan pengontrol motor ini melalui SPI. Kabel dijalankan sekitar 3 kaki dari master ke masing-masing budak dan header khas .1 "pitch melalui lubang header SAMTECH. Setiap pengontrol motor memiliki regulator 3,3 volt yang menjalankan elektronik dsPIC / LV. Saya menggunakan satu regulator pengontrol motor (ayo panggil dia A) untuk juga menyalakan SPI master DSPIC. Untuk pengontrol motor lainnya (sebut saja B), saya jalankan saja jalur SPI dan ground dari master. CLK SPI berjalan pada 100KHz
Sampai ke titik (Akhirnya):
Dengan tidak ada motor yang menjalankan ini semua berfungsi dengan baik, semua data muncul seperti yang diharapkan untuk kedua budak. Namun, ketika saya memulai motor, Bslave tidak lagi mendapatkan data yang benar. Dia mengambil jam tambahan atau menjatuhkannya, saya kira lakukan untuk kebisingan tambahan. Bagaimanapun, checksumnya mulai gagal. Aslave bekerja seperti seorang juara tidak peduli apa.
1) Apakah Anda berharap bahwa semua perangkat ini perlu dijalankan dari sumber 3,3 volt yang sama? Jika demikian, dapatkah Anda meyakinkan saya dengan berbicara tentang loop induktansi yang lebih panjang dan ilmu hitam seperti itu.
2) Apakah Anda memiliki aturan praktis tentang seberapa cepat saya dapat berharap dapat menjalankan SPI clk dan sukses dengan pengaturan perangkat keras seperti di atas?