Dyskusja:Serial Peripheral Interface
- 1
W pierwszym zawartym bajcie informacji wysyłanym przez SPI nie ma adresu urządzenia - do aktywacji układu do którego są wysyłane dane służy sygnał CS a nie adres.
SPROSTOWANIE: tak, na samym dole SPI jest 8-bitowy, po prostu przesyła dane, od razu w obie strony i to CS aktywuje pracę układu, tzn. wybiera slavea z którym master chce się komunikować. ALE w praktyce na takim podstawowym SPI buduje się wyższe warstwy, z dłuższymi ramkami i wtedy taka ramka może zawierać adres układu, komendę zapis/odczyt itp. Przy takim podejściu to nie CS a adres podany gdzieś na początku ramki (niekoniecznie cały "bajt") wybiera układ do zapisu/odczytu. Może być nawet tak, że linia SDO pozostaje w stanie wysokiej impedancji, pomimo włączonego CSa, dopóki układ - slave nie zobaczy w ramce swojego identyfikatora i komendy odczytu.
No właśnie, problemem równoległego łączenia Slaveów na SPI jest zwarcie ich linii DO (MISO). Jak coś pójdzie nie tak, to odezwą się dwa slavy na raz, zderzą się zero z jedynką i na pewno coś spłonie. Żeby temu przeciwdziałać każdy slave utrzymuje swoją inię DO (MISO) w stanie wysokiej impedancji, dopóki nie zacznie nadawać. W podstawowej wersji SPI steruje tym po prostu linia CS, osobna dla każdego slavea. Przy wyższych warstwach stan wysokiej impedancji jest zdjęty dopiero jak układ rozpozna w ramce swój adres, komendę odczytu i przyjdzie czas na wysłanie do mastera swojej odpowiedzi. W takim wypadku linia CS może być nawet jedna, wspólna dla wszystkich slaveów, tak że aktywuje równoczesny odczyt ramki i polowanie na właściwy adres, bo przed kolizją chroni wyższa warstwa.
- 2 Interfejs SPI MASTER generuje sygnał zerowy za pomocą generatora. Nie zerowy, tylko ZEGAROWY :)))
Rozpocznij dyskusję o stronie „Serial Peripheral Interface”
Na stronach dyskusji rozmawiamy o tym, jak sprawić, aby artykuły Wikipedii były jak najlepsze. Tutaj możesz rozpocząć dyskusję na temat tego, jak udoskonalić stronę „Serial Peripheral Interface”.