Blog

29 cze 2013

Programowanie mikrokontrolera za pomocą konwertera USB/RS232 MOD-05 czyli przykładowe zastosowanie naszych modułów – artykuł Czytelnika

/
Posted By
/
Comments0
Maciek przysłał nam artykuł, w którym opisał zastosowanie modułu z ATmega8 i konwertera USB/RS232 (MOD-01 i MOD-05). Zastosował konwerter do programowania mikrokontrolera ATmega8 z wgranym bootloaderem, więcej w poniższym artykule
Każdy elektronik/informatyk zajmujący się mikrokontrolerami prędzej czy później napotka na swojej drodze problem podłączenia mikrokontrolera do komputera. Większość, aby rozwiązać ten problem sięgnie po prosty sprawdzony, praktycznie niezastąpiony układ FT232 – konwerter USB/UART – (moduł MOD-05), który podłączony z jednej strony do komputera, a z drugiej do naszego urządzenia umożliwia nam bezproblemową komunikację w obie strony. Jeśli jesteśmy akurat w takiej sytuacji, możemy ułatwić sobie życie i zainstalować Bootloader.
Co to jest bootloader?
Bootloader to mały program na końcu pamięci flash mikrokontrolera odpowiedzialny za… instalację innego programu! W naszym przypadku bootloader będzie instalował program, który prześlemy mu przez konwerter FT232 (MOD-05).  Dzięki temu po jednorazowym zaprogramowaniu procesora programatorem, następne programowanie możemy już przeprowadzić za pomocą samego tylko modułu MOD-05! Wszystko dzięki temu, że po zainstalowaniu bootloadera i zaprogramowaniu odpowiednich fusebitów procesor po resecie nie zaczyna programu od pierwszego adresu pamięci flash, tylko wędruje prawie na sam koniec pamięci i uruchamia umieszczony tam bootloader, który czeka sekundę, jeśli w tym czasie zaczniemy wysyłać mu program to procesor zostanie nim zaprogramowany, jeśli nie, po upływie sekundy bootloader przeskoczy do adresu zerowego pamięci flash i zacznie się uruchamiać właściwy program.
Jak zainstalować bootloader?
Tak jak zwykły program! Ściągamy pliki źródłowe ze strony: http://www.mlodedrwale.pl/2013/06/09/bootlader-avr-ferret/ lub klikając odnośnik – AVRFerret. Kompilujemy je wg, instrukcji z tej strony, dla modułu MOD-01 proponuję ustawić Baudrate na 57600. I gotowym plikiem hex programujemy mikrokontroler.  Musimy tylko pamiętać o odpowiednim ustawieniu fusebitów dla MOD-01 będą to:
LOW: 0x3F
HIGH: 0xCC
Następnie instalujemy program sterujący na komputerze. Ustawiamy port, który odpowiada naszemu konwerterowi, baudrate taki jak ustawiliśmy wcześniej (57600) jako reset line wybieramy „None”. Teraz aby zaprogramować procesor wystarczy wybrać potrzebny plik, wcisnąć reset na procesorze, kliknąć przycisk programowania i w ciągu 3 sekund puścić reset, jeśli wszystko do tej pory zrobiliśmy poprawnie procesor zostanie zaprogramowany!
Autorem nadesłanego artykułu jest Maciek. http://www.mlodedrwale.pl/