Skocz do zawartości

[Komunikacja] Radiowa transmisja danych, cz. II (moduły MMcc1100)


Pomocna odpowiedź

A można 2 takie moduły wykorzystać w bezprzewodowym programowaniu procków bez dodatkowej elektroniki?? To znaczy, podpinam bezpośrednio do programatora czy taka sztuczka się nie uda? Potrzebuję bezprzewodowo programować mojego LF.

Teoretycznie jest to możliwe, ale na pewno nie proste.

Problem w tym, że podczas każdej transmisji radiowej często pojawiają się błędy. Więc proste wgrywanie (jak po rs232) raczej nie ma szans zadziałać.

Pozostaje użyć ISP (In-system-programming), czyli napisać program, który będzie pobierał dane, weryfikował poprawność i programował flash.

W ten sposób działają procesory ARM - w wydzielonym fragmencie pamięci zapisany jest bootloader, który pobiera dane z RS232 i zapisuje program w pozostałej pamięci. Można taki program napisać dla AVR (chyba już nawet został napisany dla RS232). Wymaga to sporo wiedzy i pracy.

chyba już nawet został napisany dla RS232

Jest cała masa bootloaderów na avr, rs232 najprostszy, są też obsługujace bezpośrednio usb (HID/podszywanie się pod USBasp/z osobnym sterownikiem i programem... dużo tego :>). Do bezprzewodowego programowania uC wykorzystałbym moduł BT, mamy komunikację po "rs'ie" i bardzo mały współczynniki traconych danych, szczególnie przy małych odległościach i niskim baudzie :] Inna opcja to podczerwień, widziałem gdzieś taki projekt. Osobiście osobom, które nie potrzebują programowania bezprzewodowego polecam usbasploader - podszywa się pod usbasp :> Hmmm, to jest całkiem obszerny temat, może pokuszę się w wakacje o napisanie artykułu o tym 🙂

  • 7 miesiące później...

Witam 🙂

nie znam się najlepiej na elektronice, z tego powodu nie rozumiem gdzie powinienem podłączyć CSn. Może to być dowolny pin mikrokontrolera? Czy koniecznie musi to być SS(Atmega8a)

Pozdrawiam 🙂

Może być prawie dowolny, tylko potem w programie musi być odpowiednio to określone. Co więcej, jeśli używasz do komunikacji SPI to jest spora szansa, że podłączając CS układu do SS uC, tylko narobisz sobie problemów, bo może próbować przejść w SPI do trybu Slave.

Dzięki za odpowiedź 🙂

ale taki problem wystąpi tylko jeśli zdefiniuje SS jako wejście, jeśli atmega będzie w trybie Master to wtedy wystarczy ustawić SS jako wyjście i wszystko powinno być ok?

No właśnie niekoniecznie - tak jakby ATmega sama siebie wybierze jako Slave przez zmianę stanu na wyjściu. Problem występuje zresztą chyba nie tylko w ATmedze. Być może nawet nie we wszystkich AVRach - ale zgodnie z prawem Murphyego weźmiesz akurat taki układ, w którym ten problem występuje :|

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...