Czy występują problemy z dostępem do karty microSD przez SPI, gdy istnieją inne urządzenia podrzędne SPI?


10

Pracuję nad projektem, który ma procesor z tylko jednym portem SPI. Mam wiele (3) urządzeń podrzędnych podłączonych do tego portu, z których jednym jest karta microSD.

Oto raport inżyniera, który mówi, że karty SD są zaprojektowane do działania jako jedyne urządzenia podrzędne dla mastera SPI.

Czy ktoś inny był w stanie używać karty microSD wraz z innymi urządzeniami podrzędnymi SPI na tej samej magistrali? Być może ten raport był oparty na konkretnej, problematycznej karcie miniSD?

Czy ktoś poleciłby bramkowanie linii SPI CLK linią Slave Select, która trafia na kartę miniSD, dla bezpieczeństwa?

Odpowiedzi:


12

Zgodnie z tą stroną karty SD napędzają i / lub zwalniają linię DO synchronicznie z linią sclk:

W magistrali SPI każde urządzenie podrzędne jest wybierane z oddzielnymi sygnałami CS, a wiele urządzeń można podłączyć do magistrali SPI. Ogólne urządzenie slave SPI asynchronicznie steruje / zwalnia swój sygnał DO sygnałem CS, aby współdzielić szynę SPI. Jednak MMC / SDC napędza / uwalnia sygnał DO podczas synchronizacji z SCLK. Oznacza to, że istnieje możliwość konfliktu magistrali z MMC / SDC i innymi urządzeniami podrzędnymi SPI podłączonymi do magistrali SPI. Obraz po prawej stronie pokazuje czas napędu / zwolnienia MMC / SDC (sygnał DO jest wyciągany do 1/2 vcc, aby zobaczyć stan magistrali). Dlatego, aby nadać sygnał DO zwolnienia MMC / SDC, urządzenie nadrzędne musi wysłać bajt po anulowaniu potwierdzenia sygnału CS.

Tak więc wystarczy wysłać bajt zastępczy do SPI po podniesieniu wysokiej linii CS. Powyższa strona ma schemat czasowy magistrali SPI podczas podnoszenia linii CS wysoko na karcie SD.

Ponadto dobrze jest upewnić się, że po włączeniu / włożeniu karty mikrokontroler negocjuje użycie karty SPI z trybem SPI. Te szczegóły można znaleźć tutaj

Podsumowując, współdzielenie magistrali SPI z wieloma urządzeniami peryferyjnymi powinno być OK, o ile zostaną podjęte powyższe środki ostrożności.


Świetne zasoby, Justin. Dzięki! Mam nadzieję, że to wszystko, co muszę zrobić, aby poradzić sobie z konfliktami niewolników z SD.
jpeskin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.