390 likes | 610 Views
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
E N D
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 • ( EasilyApplicableGraphicalLayoutEditor ) • 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
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
Płytka drukowana przed wlutowaniem elementów strona elementów strona lutowania
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 – 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ę
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 elektronicznych www.arduino.cc - strona opisująca sterowniki mikroprocesorowe Arduino
` Dziękuję za uwagę i wysłuchanie wykładu.