Jak uzyskać dostęp do wielu interfejsów SPI na Arduino

17

Pracowałem na urządzeniach SPI połączonych pojedynczo z Arduino. Jak mogę pracować z dwoma różnymi urządzeniami SPI jednocześnie?

Abhishek Kulshrestha
źródło

Odpowiedzi:

18

Zakładając, że po prostu chcesz podłączyć dwa urządzenia podrzędne SPI do magistrali SPI i używać ich w wzajemnie wykluczający się sposób pod kontrolą oprogramowania, z Arduino jako urządzeniem nadrzędnym, musisz tylko upewnić się, że używasz innego pinu do wyboru urządzenia podrzędnego ( SS) na każdym urządzeniu SPI.

Kiedy chcesz porozmawiać z jednym niewolnikiem, trzymaj jego SS nisko, a drugiego podbijaj wysoko. Zrób coś przeciwnego, aby porozmawiać z drugim niewolnikiem.

W szczegółach jest kilka diabłów korzystających z wielu niewolników, które zostały tu wyjaśnione bardziej szczegółowo , ale ogólnie rzecz biorąc, używanie więcej niż jednego urządzenia SPI jako niewolnika jest dość powszechne.

Ten post na blogu zawiera więcej informacji i jest dobrym miejscem do rozpoczęcia czytania.

Roger Rowland
źródło
2
Z założenia musisz połączyć MOSI / MISO / SCK równolegle dla wielu urządzeń podrzędnych z wyjątkiem SS. Można użyć obwodu rejestru przesuwnego / układu scalonego, aby użyć połączenia łańcuchowego w slave dla linii SS.
wajatimur