Proces projektowania i uruchamiania sterowników mikroprocesorowych autor prezentacji: Ryszard Zenker Poznań 2013
Spis treści etapy realizacji sterownika mikroprocesorowego edycja płytki drukowanej sterownika schemat układu elektronicznego sterownika montaż płytki drukowanej sterownika programowanie sterownika mikroprocesorowego - w języku programowania: asembler AVR - w języku programowania: C AVR - w języku programowania: BASCOM AVR przykłady sterowników mikroprocesorowych literatura i strony www
Etapy realizacji sterownika mikroprocesorowego Założenia funkcjonalne – jakie funkcje sterownik ma realizować? Schemat układu – z jakich elementów się składa? Płytka drukowana – jak mają być rozmieszczone elementy? Wykonanie płytki drukowanej – zlecamy fachowcom Montaż sterownika – lutowanie elementów – już widać jak sterownik będzie wyglądać Uruchomienie elektroniki – usunięcie drobnych błędów Programowanie sterownika – w językach: asembler, C++, BASCOM Testowanie – debbugowanie oprogramowania – pytamy się skąd w programie znalazło się tak dużo błędów? Zapisanie programu w pamięci sterownika Testowanie sterownika – czy sterownik spełnia założenia? Dokumentacja techniczna i użytkowa – niestety konieczna Przekazanie sterownika do eksploatacji – być może będą z tego jakieś pieniądze
Założenia i narzędzia zastosowane w projekcie: mikroprocesor: ATtiny2313 firmy ATMEL edytor schematu – program: EAGLE v. 6.5.0 edytor płytki drukowanej – program: EAGLE v. 6.5.0 programowanie mikroprocesora – program: AVR STUDIO v. 4.07 symulacja pracy – program: AVR STUDIO v. 4.07 programowanie mikroprocesora – program: BASCOM v. 1.5 wpisanie programu do pamięci – program: PONY-2000 Uwagi: ad1: pełna dokumentacja układu oraz dokumentacje przykładowych aplikacji ATtiny2313 znajdują się na stronie internetowej: www.atmel.com ad2-3: wersja edukacyjna programu ( darmowa ) EAGLE dostępna jest na stronie internetowej: www.cadsoft.de ad4-5: pełna darmowa wersja programu AVR STUDIO znajduje się na stronie internetowej: www.atmel.com ad6: darmowa wersja programu BASCOM AVR znajduje się na stronie internetowej: www.mcselec.com ad7: darmowy program PONY-2000 znajduje się na stronie internetowej: www.LancOS.com
Założenia dla mikroprocesorowego sterownika temperatury: mikroprocesor: ATtiny2313 – produkcji firmy ATMEL zasilanie: +5 V sygnał taktujący: częstotliwość 20 MHz wyświetlacz: 2 cyfrowy – 14 mm 3 przyciski sterujące interfejs UART do połączenia z komputerem PC diody świecące: 3 zielone i 4 czerwone termometr elektroniczny – firmy MAX DS1820 wyjścia sygnałów – portów mikroprocesora na złączu igłowym
Dane techniczne uniwersalnego mikroprocesora: ATtiny2313: architektura RISC napięcie zasilanie: +5 V sygnał taktujący: częstotliwość max 20 MHz, wydajność 20 MIPS jednostka arytmetyczno-logiczna: 32 rejestry 8 bitowe ogólnego przeznaczenia, 118 instrukcji pamięć wewnętrzna: 2 kB flash, 128 B EEPROM, 128 B SRAM porty wejściowo/wyjściowe: PORTB – 8 bitowy, PORTD - 7 bitowy 2 zegary/liczniki: 16 bitowy i 8 bitowy 11 wewnętrznych przerwań 2 przerwania zewnętrzne komparator analogowy programowany watchdog interfejs UART do połączenia dupleks z komputerem PC interfejs SPI – programowanie pamięci
Wyprowadzenia - nóżki mikroprocesora: ATtiny2313: 1 – sygnał RESET 2 – PD0 – RXD – odbiornik UART 3 – PD1 – TXD – nadajnik UART 4 – XTAL2 – kwarc taktujący 5 – XTAL1 – kwarc taktujący 6 – PD2 – INT0 – przerwanie zewnętrzne 0 7 – PD3 – INT1 – przerwanie zewnętrzne 1 8 – PD4 – T0 – zegar/licznik 0 9 – PD5 – T1 – zegar/licznik 1 10 – GND – masa zasilania 11 – PD6 – ICP – wejście zegara/licznika 12 – PB0 – AIN0 – dodatnie wejście komparatora 13 – PB1 – AIN1 – ujemne wejście komparatora 14 – PB2 – 15 – PB3 – OC1 – wyjście zegara/licznika 16 – PB4 – 17 – PB5 – MOSI – wyjście interfejsu szeregowego 18 – PB6 – MISO – wejście interfejsu szeregowego 19 – PB7 – SCK – zegar interfejsu szeregowego 20 – VCC – +5V – napięcie zasilające
Budowa wewnętrzna mikroprocesora: ATtiny2313
Program – edytor schematu Do narysowania schematu układu sterownika mikroprocesorowego zastosujemy wersję edukacyjną program EAGLE v. 6.5.0 ( Easily Applicable Graphical Layout Editor ) firmy: CadSoft Strona internetowa: www.cadsoft.de Darmową wersję edukacyjną programu można pobrać z w/w strony internetowej. Wersja edukacyjna programu posiada wszystkie możliwości wersji profesjonalnej z trzema ograniczeniami: Płytka drukowana może mieć max. wielkość: 100 x 80 mm Rysunek schematu może mieć max. wielkość formatu A3 Płytka drukowana może mieć max. 2 warstwy przewodzące
Schemat projektowanego sterownika
Płytka dwustronna: od 8,00 zł do 20,00 zł za 1 dm2 Program – edytor płytki drukowanej Do wykonania projektu płytki drukowanej zastosujemy również program EAGLE v. 6.5.0 firmy: CadSoft Po wykonaniu projektu płytki drukowanej otrzymany plik projektu przekazujemy do producenta płytek drukowanych np. do firmy: Przykładowa cena: Płytka dwustronna: od 8,00 zł do 20,00 zł za 1 dm2
Klisze płytki drukowanej ścieżek przewodzących strona elementów strona lutowania
Klisza opisów płytki drukowanej
Płytka drukowana przed wlutowaniem elementów strona elementów strona lutowania
Płytka sterownika po wlutowaniu elementów
Program – AVR STUDIO Do programowania i testowania programu sterownika mikroprocesorowego zastosujemy program AVR STUDIO v. 4.07 firmy: ATMEL Strona internetowa: www.atmel.com Darmową pełną wersję programu można pobrać z w/w strony internetowej. Program umożliwia wykonanie następujących prac: Edycję programu dla mikroprocesorów firmy ATMEL w językach: asembler i C/C++ Kompilację programu w językach asembler i C/C++ Testowanie programu przy pomocy debuggera – usuwanie błędów Przepisanie programu wynikowego ( binarnego ) do pamięci uruchamianego sterownika
Fragment programu .cseg .org adresPC zegar0: ; przerwanie od licznika 0 wskutek przepełnienia ; wywołanie co 4 ms push r0 ; zapamiętaj rejestr r0 in r0,SREG ; zapamiętaj rejestr stanu SREG push r0 push r16 ; zapamiętaj rejestry r16 ldi r16,limpulsow ; załaduj wartość początkową zegara out TCNT0,r16 ori r20,0x80 ; rejestr stanu czasomierza - zaznacz, że minęły 4 ms dec r22 ; czy skończyła się sekunda ? brne zeg_9 ; nie ldi r22,250 ; tak - załaduj ilość impulsów 4 ms składających się ; na 1 sek i uaktualnij aktualny czas push r17 ; zapamiętaj rejestry r17, r18 push r18
Program umożliwia wykonanie następujących prac: Program – BASCOM AVR Do programowania i testowania programu sterownika mikroprocesorowego można również zastosować program BASCOM AVR v. 4.07 firmy: MCSELEC.COM Strona internetowa: www.mcselec.com Darmową demonstracyjną wersję programu można pobrać z w/w strony internetowej. Program umożliwia wykonanie następujących prac: Edycję programu dla mikroprocesorów firmy ATMEL w języku BASCOM AVR Kompilację programu w języku BASCOM AVR Testowanie programu przy pomocy debuggera – usuwanie błędów Przepisanie programu wynikowego do pamięci uruchamianego sterownika
Sterownik już został uruchomiony - potrafi nawet mierzyć temperaturę
wykorzystanych do projektowania sterownika mikroprocesorowego Wejścia do programów wykorzystanych do projektowania sterownika mikroprocesorowego Uruchom program AVRStudio Uruchom program EAGLE
Spis literatury: Książki wydawnictwa: www.btc.pl - wydawcy serii książek dotyczących mikrokontrolerów: Jarosław Doliński – „Mikrokontrolery AVR w praktyce”, 2003 Paweł Hadam – „Projektowanie systemów mikroprocesorowych”, 2004 Marcin Wiązania – „Programowanie mikrokontrolerów AVR w języku BASCOM”, 2004 Rafał Baranowski – „Mikrokontrolery AVR ATmega w praktyce”, 2005 Rafał Baranowski – „Mikrokontrolery AVR ATtiny w praktyce”, 2006 Piotr Górecki – „Mikrokontrolery dla poczatkujących”, 2006 Andrzej Pawluczuk – „Sztuka programowania mikrokontrolerów AVR - podstawy”, 2006 Henryk Wieczorek – Eagle – pierwsze kroki”, 2007 Andrzej Pawluczuk – „Sztuka programowania mikrokontrolerów AVR - przykłady”, 2007 Jacek Michalski – „Mikroklocki – Mikroprocesory dla początkujących”, 2007 Marcin Wiązania – „BASCOM AVR w przykładach”, 2008 Jarosław Doliński – Mikrokontrolery AVR – niezbędnik programisty”, 2009 Robert Wołgajew – „Mikrokontrolery AVR dla początkujących”, 2010 Książki wydawnictwa: www.atnel.pl - wydawcy książek dotyczących mikrokontrolerów: Mirosław Kardaś – „Mikrokontrolery AVR – Język C – Podstawy programowania”, 2011 Mirosław Kardaś – „Język C – Pasja programowania mikrokontrolerów 8-bitowych”, 2012 Książki wydawnictwa: www.helion.pl - wydawcy książek z informatyki: Tomasz Francuz – „Język C dla mikrokontrolerów AVR”, 2011 Andrzej Witkowski – „Mikrokontrolery AVR – programowanie w języku C”, 2006 wyd. PAN
Spis stron www www.atmel.com - producent mikrokontrolerów ATMEL – dokumentacje mikroprocesorów www.atmel.com - producent programu AVR-Studio – programowanie i uruchamianie programów w języku asembler www.lancos.com - producent programu PONY2000 – programowanie pamięci mikroprocesorów www.mcselec.com - producent oprogramowania BASCOM AVR – języka programowania mikroprocesorów www.cadsoft.de - producent programu EAGLE - projektowanie płytek drukowanych www.btc.pl - wydawca książek z dziedziny elektroniki oraz sprzedawca elementów elektronicznych www.atnel.pl - wydawca książek z dziedziny elektroniki oraz sprzedawca elementów www.arduino.cc - strona opisująca sterowniki mikroprocesorowe Arduino
Dziękuję za uwagę i wysłuchanie ` Dziękuję za uwagę i wysłuchanie wykładu.