ATmega i SPI - pare niejasności

Jul 14, 2005 3 Replies

Witam!



Chciałbym sobie zrobić transmisję między dwoma kontrolerami po SPI. SPI dlatego, że jest i załatwia mi wiele problemów.


1) zgodnie z pdfem połączenie między master a slave odbywa się MOSI->MOSI oraz MISO->MISO. Troche to mnie dziwi, czy nie powinny być krosowane ? Chyba że ma to umożliwiać zmianę ze slave na mastera.


2) Master generuje sygnał zegarowy i slave wypycha bit po bicie cały bajt. Jak juz wypchnie, to zgłasza przerwanie, żeby nakarmić SPI następnym. Hmmm... czy mam rozumieć, że jeśli master taktuje bardzo szybko spi to slave w tym przerwaniu nie ma za bardzo czasu na podejmowanie decyzji ? Oczywiście zakładam, że przerwanie będzie pobierać dane z jakiegoś bufora w ram co powinno być szybkie, ale dalej zastanawia mnie, czy operacja wpisania następnej wartości do rejestru jest krytyczna czasowo (w końcu mówimy tutal o prędkościach max f/4 czyli 4 cykle zegarowe ?).


3) Data order - czy jest jakiś najczęsciej stosowany ?


4) Clock polarity - to samo, nie wiam jaki jest "popularny" ale zakładam, że ten który ma bit o wartości 0 (Leading Edge: Rising)


5) clock phase - to samo

Pytania 4,5 zapewne dotyczą trybu SPI (0,1,2,3) i chciałbym znać najczęsciej używany.


6) W jaki sposób master steruje /SS ? Czy on automagicznie jest aktywny gdy coś wpisuje do rejestru danych czy mam go ręcznie sterować (ale jeśli ręcznie to nie widze żadnego bitu w żadnym rejestrze) ?

Pytania 2 i 6 mogą nie mieć sensu jeśli da się przesyłać wyłącznie bajty a nie grupy bajtów (jednak pdf wyraźnie wspomina o "end of packet" co rozumiem jako grupę bajtów).



A może na sieci jest jakiś prosty turtorial z spi na atmega i nie tylko ?


No tu jest problem bo tego czasu faktycznie jest bardzo malo. Przy maksymalnej predkosci zdazysz jedynie zapisac/odczytac bufor do ramu i to wszystko.

Sebastor

...nie powinno Cie dziwic :)

MOSI czyli MasterOutputSlaveInput.

Innymi slowy to tryb pracy wynusza: jesli master to output, jesli slave to input.

Pozdrawiam AA

formatting link
W dziale avr jest obsluga kart mmc po spi - przeanalizuj to a wiele Ci wyjasni.

Pozdrawiam AA

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required