Saya telah mengerjakan proyek di mana master OMI Linux SPI berinteraksi dengan 6 perangkat budak SPI (konverter 5x A / D dan magnetometer tunggal).
Saya dapat mengatur frekuensi clock SPI dan telah bereksperimen dengan 50 kHz, 100 kHz, dan 1MHz.
Saya memasang diagram kabel / papan yang menunjukkan panjang dari master SPI dan semua periferal. Panjang bus SPI (semua panjang kawat) dari master kira-kira 970mm untuk kasing percobaan saya.
Masalah yang saya temukan adalah bahwa komunikasi dengan 1 perangkat gagal ketika saya menambahkan lebih banyak perangkat lain di bus. Bahkan jika komunikasi menembus magnetometer di sisi jauh dari bus, komunikasi dengan konverter A / D di sisi lain gagal sampai magnet harness stub dilepas dan kemudian bagian A / D kembali.
Saya sudah membaca di sini: Pertimbangan Pengakhiran Bus SPI dan di sini: Komunikasi Dewan Jarak Pendek ke Dewan
di mana disarankan untuk meletakkan RC LPF sedekat mungkin dengan node penggerak, jadi SCLK dan MOSI di sisi master dan masing-masing dari sinyal MISO / SOMI 6x saya. Saya telah melihat pendekatan serupa dilakukan untuk USB dengan jaringan RC 47pF / 27R. Niat saya adalah untuk mencoba ini di sirkuit saya dalam upaya untuk mengurangi tepi tajam cepat ~ transisi 100nsec tepi.
Apakah ini prosedur yang tepat yang saya ikuti di sini dengan menambahkan RC LPF? Ini sepertinya sangat goyah, apakah ada latihan yang lebih baik? Saya melihat catatan aplikasi dari TI di mana mereka berbicara tentang memperpanjang SPI untuk jarak bus yang lebih panjang, apakah ini solusi yang tepat di sini atau masalah saya hanyalah salah satu harmonik frekuensi tinggi dari transisi tepi kecepatan tinggi? http://www.ti.com/lit/an/slyt441/slyt441.pdf
Terima kasih, Nick