mikrokontrolery i ich zastosowania
TRANSCRIPT
![Page 1: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/1.jpg)
Mikrokontroleryi ich zastosowania
Wstępne uwagi
![Page 2: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/2.jpg)
Wstępny program wykładu:
• Układy sterowania;układy programowalne.• System binarny i heksadecymalny.• Mikroprocesor i mikrokontroler - podobieństwa i różnice.• Charakterystyka przykładowego mikrokontrolera na przykładzie
układu z rodziny HC05 (Motorola/Freescale).• Sposoby pisania programu dla mikrokontrolera, narzędzia
programowe i sprzętowe.• Sprzęganie mikrokontrolera z urządzeniami zewnętrznymi.
![Page 3: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/3.jpg)
Układ sterowania -podstawowe pojęcia
• Układ o stałym algorytmie działania:działanie układu określone jest przezbudowę układu; każdorazowa zmianarealizowanego zadania wymagaprzebudowy całego układu.
WEJ WYJ
"Sztywny"algorytm dzia lania
![Page 4: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/4.jpg)
Układ programowalny• Sposób działania określony jest poprzez
algorytm umieszczony w pamięci układuWEJ WYJ
a lgorytm dz ia lan ia(p rogram )
P AMIĘĆPROGRAMU
Modyfikacja działania U.P.nie wymaga zmiany jegostruktury!
Pierwsze przykłady - krosnamechaniczne (XIX w.);Większe rozpowszechnienie- dopiero po wynalezieniumikroprocesora (lata 70-teXX w.).
![Page 5: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/5.jpg)
System (kod) dziesiętny
Używany w życiu codziennym, podstawą systemu jestliczba 10
Np. 1895 = 1*10^3+8*10^2+9*10^1+5*10^0
Do wyrażenia dowolnej liczby naturalnej potrzeba 10wartości ze zbioru {0,1,2,...,9}.
Liczby zapisane w systemie dziesiętnym często oznaczanesą przyrostkiem DEC.
System bardzo niedogodny do stosowania w technicecyfrowej!
![Page 6: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/6.jpg)
System (kod) binarny(dwójkowy)
Podstawą tego systemu (kodu) jest liczba 2. Liczbyzapisane w systemie binarnym często oznaczane sąprzyrostkiem BIN.
Do wyrażenia dowolnej liczby naturalnej wystarczają 2wartości = 0 oraz 1.
1011BIN=1*2^3+0*2^2*1*2^1+1*2^0 = 11DEC
System łatwy do zastosowania w technice cyfrowej!
![Page 7: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/7.jpg)
Każda z pozycji wewnątrz liczby binarnejnazywana jest bitem; bit może przyjąć wartość 0lub 1. W zapisie liczbowym bit pierwszy od lewejnazywamy najbardziej znaczącym (MSB - MostSignificant Bit) a pierwszy od prawej najmniejznaczącym (LSB - Least Significant Bit).
1010 -> MSB=1, LSB=0.
![Page 8: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/8.jpg)
Inne systemy liczbowe
•Kod szesnastkowy (heksadecymalny) - oznaczenie HEX;podstawą jest liczba 16 (w zapisie dziesiętnym).
•Kod ósemkowy (oktalny) - oznaczenie OCT; podstawą jestliczba 8 [kod rzadko używany].
![Page 9: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/9.jpg)
Niedogodności kodu binarnegoZnaczna długość zapisywanych wyrażeń:
254DEC = 11111101BIN ; przy użyciu n cyfr binarnych (bitów)można zapisać 2^n możliwych wartości.
Np. przy użyciu 8 bitów = 256DEC możliwych wartości.
Z pomocą przychodzi kod szesnastkowy
254DEC = FDHEX
Sposób konwersji BIN->HEX : liczbę binarną dzielimy napaczki po 4 bity, zaczynając od prawej (czyli od LSB);następnie każdą paczkę zamieniamy na liczbę szesnastkowąwedług następującej tabeli:
![Page 10: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/10.jpg)
DEC BIN HEX OCT0 00000000 0 01 00000001 1 12 00000010 2 23 00000011 3 34 00000100 4 45 00000101 5 56 00000110 6 67 00000111 7 78 00001000 8 109 00001001 9 1110 00001010 A 1211 00001011 B 1312 00001100 C 1413 00001101 D 1514 00001110 E 1615 00001111 F 1716 00010000 10 20
![Page 11: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/11.jpg)
„Paczki” 4-bitowe określamy jako „nible” natomiast 8-bitowejako bajty (byte), 16-bitowe jako słowa (word).
W technice mikroprocesorowej wykorzystywany jest główniekod binarny. Wartości 1 przydzielany jest stan wysokinapięcia (stąd oznaczenie H = High), natomiast wartości 0stan niski (L=Low).
Informacje wewnątrz procesora przechowywane są w tzw.rejestrach. Z pewnym przybliżeniem rejestr możnapotraktować jako komórkę specjalizowanej pamięci oustalonej pojemności (liczbie bitów). Liczbę tę nazywamydługością rejestru.
![Page 12: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/12.jpg)
Mikroprocesor i mikrokontroler -- podobieństwa i różnice
MIKROPROCESOR:• duży pobór prądu (>1A)• duża moc obliczeniowa• duża liczba niezbędnych układów
pomocniczych• dość wysoka cena
• MIKROKONTROLER:• niewielki pobór prądu (<10mA)• mała lub średnia moc obliczeniowa• minimalna liczba niezbędnych
elementów pomocniczych• niewielka cena (<1 US$).
Dodatkowe cechy:• możliwość przejścia w stan uśpienia,• sprzętowe zabezpieczenia przed
zawieszeniem się programu(watchdog).
![Page 13: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/13.jpg)
Najważniejsi producenci mikrokontrolerów
• Microchip - procesory rodziny PIC• Philips - procesory rodz. 8051,ARM• Freescale (do 07.2004 jako Motorola) -
rodziny HC05,08,11,16,32...• Atmel - 8051, AVR• Hitachi - Renesas• ST Microelectronics - ST6,ST7...
![Page 14: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/14.jpg)
Uzupełnienie - udział mikrokontrolerów (MCU) w rynku
Rynek elementów półprzewodnikowych w r. 2006 - ok. 246 mld US$
Rynek mikrokontrolerów - ok. 26 mld US$ (przychody ze sprzedaży)
Cechy rynku:
•Ponad 40 producentów MCU
•Ponad 50 oferowanych architektur MCU
•Żadna z architektur nie przekracza 5% udziału w całym rynku
•Proporcje udziału poszczególnych grup zastosowań:
-zast. przemysłowe: 9 mld US$
-zast. konsumenckie: 6 mld US$
-zast. motoryzacyjne: 11 mld US$
![Page 15: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/15.jpg)
Procesory rodziny HC05 -wstępne informacje
![Page 16: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/16.jpg)
Procesor 68HCJ1A - wersja w obudowie DIP
![Page 17: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/17.jpg)
Charakterystyka przykładowego mikrokontrolera na przykładzieukładu z rodziny 68HC05 (Motorola/Freescale):
• Architektura wewnętrzna• Mapa pamięci• Lista rozkazów rodziny 68HC05 - wprowadzenie• Sposoby pisania programu dla mikrokontrolera, narzędzia
programowe i sprzętowe.
![Page 18: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/18.jpg)
Procesor 68HCJ1A - wersja w obudowie DIP
![Page 19: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/19.jpg)
Opis wyprowadzeń:
-Zerowanie procesora , sygnał aktywny w stanieniskim.
- wejście zewnętrznego przerwania niemaskowalnego
-wyprowadzenia zewnętrznego, dwukierunkowegoportu danych (portu A) - 7 bitów
-wyprowadzenia zewnętrznego, dwukierunkowegoportu danych (portu B) - 5 bitów
![Page 20: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/20.jpg)
OSC1,2 -
VCC
VSS
wejścia do podłączenia rezonatora kwarcowego lubceramicznego
Zasilanie +
Zasilanie -
![Page 21: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/21.jpg)
![Page 22: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/22.jpg)
![Page 23: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/23.jpg)
Rejestry CPU
![Page 24: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/24.jpg)
Uproszczony opis pracy procesora - kolejne czynności
•Po resecie - sprawdzenie stanu komórek o adresach 7FEhex oraz7FFhex (wektor resetu)
•Przejście pod adres w pamięci, który zapisany jest w komórkach7FE oraz 7FF
•Pobranie rozkazu
•Zdekodowanie rozkazu
•Wykonanie rozkazu
•Pobranie następnego rozkazu
![Page 25: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/25.jpg)
Lista rozkazów procesora HC05 - grupy instrukcji
• Instrukcje typu rejestr/pamięć• instrukcje typu czytaj-modyfikuj-zapisz• instrukcje skoków i rozgałęzień• instrukcje manipulacji bitami• instrukcje sterujące
Dokładniejsze informacje - dokumentacja procesora.
![Page 26: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/26.jpg)
Charakterystyka przykładowego mikrokontrolera na przykładzie układuz rodziny 68HC05 (Motorola/Freescale) - ciąg dalszy:
• Lista rozkazów rodziny 68HC05 - dokończenie.• Wybrane techniki programowania w asemblerze; metody pisania
programu dla mikrokontrolera, narzędzia programowe i sprzętowe.• Sprzęganie mikrokontrolera z urządzeniami wejścia/wyjścia (I/O);
obsługa sygnałów analogowych i cyfrowych• Wybrane architektury mikrokontrolerów• Programowanie mikrokontrolera w języku wysokiego poziomu -
wprowadzenie• kompatybilność elektromagnetyczna a mikrokontrolery - wybrane
zagadnienia
![Page 27: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/27.jpg)
Lista rozkazów procesora HC05 - grupy instrukcji
• Instrukcje typu rejestr/pamięć• instrukcje typu czytaj-modyfikuj-zapisz• instrukcje skoków i rozgałęzień• instrukcje manipulacji bitami• instrukcje sterujące
![Page 28: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/28.jpg)
Instrukcje rejestr - pamięćPrzetwarzają dane z rejestrów CPU i komórek pamięci. Większość
używa 2 argumentów - jeden z rejestru CPU, drugi z komórkipamięci.
![Page 29: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/29.jpg)
Instrukcje Czytaj-Modyfikuj-ZapiszPrzetwarzają dane z rejestrów CPU lub komórek pamięci. Instrukcja
odczytuje zawartość rejestru, przetwarza ją i wynik zapisuje zpowrotem do rejestru.
![Page 30: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/30.jpg)
Instrukcje skoków i rozgałęzieńUmożliwiają zmianę normalnej kolejności wykonywania rozkazów
wchodzących w skład programu.
Najważniejsze z nich to JMP (Jump = skok bezwarunkowy) oraz JSR (Jump to Subroutine = skok dopodprogramu).
JMP = skok bez zapamiętania adresu powrotu
JSR = skok do podprogramu z zapamiętaniem adresu powrotu. Adres ten przechowywany jest w wydzielonymobszarze pamięci (na stosie procesora). Adres wierzchołka stosu przechowywany jest w rejestrze SP (StackPointer).
Ważne instrukcje - BRCLR oraz BRSET : skok warunkowy wykonywany po sprawdzeniu stanu bitu w obszarzepierwszych 256 bajtów przestrzeni adresowej procesora.
Przykłady zastosowania:
BRSET 4,PORTA, ALARM ; jeśli stan bitu nr 4 portu A (PA4) jest wysoki (PA4=1), to skocz do etykiety ALARM
BRCLR 2,PORTB, KONIEC ; jeśli bit PB2=0 to skocz do etykiety KONIEC.
![Page 31: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/31.jpg)
![Page 32: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/32.jpg)
Przykład zastosowania instrukcji skoku
Org rom
start: lda #$06
sta ddra
lda ddra
jsr czekaj
lda #$01
sta porta
jsr czekaj ;podprogram opóźnienia
petla: inca
sta porta
jsr czekaj
jmp petla
Czekaj: sta $00c0 ; zapamiętaj A w komórce pamięci oadresie 00c0 hex
lda #$80 ; wartość 80hex do akumulat.
Skok: Deca ; zmniejsz zawartość akumulatora o 1.
bpl skok ; jeśli flaga N=0 (tzn. jeśli A>0)
lda $00c0; przywróć zawartość A
rts ; powrót do programu głównego
![Page 33: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/33.jpg)
Instrukcje manipulacji na bitachUmożliwiają zapis lub odczyt dowolnego bitu z obszaru pierwszych256 bajtów przestrzeni adresowej procesora; do tej grupy można
również zaliczyć wybrane instrukcje skoków warunkowych
![Page 34: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/34.jpg)
Przykład zastosowania instrukcji operacji bitowych
BSET 4,PORTA ; ustaw bit nr 4 portu A (PA4) w stan wysoki (PA4=1) bez sprawdzania warunków
BCLR 2,PORTB; skasuj bit PB2 (tzn. PB2=0) bez sprawdzania warunków
Instrukcje tej grupy są bardzo przydatne przysterowaniu pojedynczych wyjść/wejść procesora
![Page 35: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/35.jpg)
Instrukcje sterująceMają wpływ na zawartość rejestrów oraz na sposób pracyprocesora (np. wejście w tryb obniżonego poboru mocy).
![Page 36: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/36.jpg)
Sprzęganie mikrokontrolera zurządzeniami wejścia/wyjścia (I/O);
Podstawowe zagadnienie: jak wprowadzić do procesora (MCU) lubwyprowadzić z niego sygnał sterujący. Pojawiają się tu następująceproblemy:
a) dostosowanie poziomów napięć i prądów sygnałów do wymagańprocesora
b) ochrona przed zakłóceniami oraz ich skutkami.
c) konwersja postaci sygnału (np. z postaci szeregowej na równoległą,zmiana protokołu sygnału).
d) zapewnienie właściwych uwarunkowań czasowych (np. czas reakcji nazdarzenie krytyczne).
![Page 37: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/37.jpg)
Przykład zastosowania - pilot RTV zrealizowany przyużyciu procesora HC05
Źródło - nota aplikacyjna AN463 Freescale Semiconductors
![Page 38: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/38.jpg)
Przy sterowaniu obciążeń indukcyjnych pojawiają się specyficzne problemy -przepięcia mogące uszkodzić porty procesora; ponadto wydajność prądowaportu jest zwykle niewystarczająca np. do załączenia przekaźnika; dlatego
zalecane jest stosowanie tranzystorów pośredniczących i diodantyprzepięciowych; poniżej prosty przykład na bazie procesora atMega128
(moduł Mmnet firmy Propox)
![Page 39: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/39.jpg)
Sterowanie urządzeń mocy - wybrane zagadnieniaPrzy sterowaniu urządzeń zasilanych napięciem 230V AC lub wyższym pojawia się
problem bezpieczeństwa operatora oraz zabezpieczenia mikrokontrolera przeduszkodzeniami. Najlepszym rozwiązaniem jest separacja galwaniczna (oddzielenie
elektryczne urządzeń).
Rozwiązanie 1 - optoizolacja = użycie transoptora
![Page 40: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/40.jpg)
Elementem wykonawczym często jest tyrystor lub triakjego główną zaletą jest brak elementów mechanicznych
i stąd duża trwałość (liczba cykli łączeniowych >108)
![Page 41: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/41.jpg)
Przykład aplikacji - minirobotzadanie nawigacyjne = śledzenie czarnej linii narysowanej na podłożu
Źródło: Seattle Robotics Society
![Page 42: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/42.jpg)
Przykład aplikacji - minirobotzadanie nawigacyjne = śledzenie czarnej linii narysowanej na podłożu
![Page 43: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/43.jpg)
Przy okazji - inne zastosowanie transoptora - czujnik optycznypodłoża
![Page 44: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/44.jpg)
Schemat blokowy układu sterowania
![Page 45: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/45.jpg)
Inne architektury procesorów
![Page 46: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/46.jpg)
Mikrokontrolery AVR (Atmel)
Nowości:
wbudowanyUART (układtransmisjiszeregowej)
ProgramowanieISP (w systemie)
![Page 47: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/47.jpg)
Narzędzie potrzebne do pracy z systemem =programator ISP
Koszt elementów <10 PLN
![Page 48: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/48.jpg)
Układ docelowy do współpracy z programatorem
![Page 49: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/49.jpg)
Procesory AVR -atMega (Atmel)
Nowości:wbudowany
przetwornik A/C
Mocnorozbudowany układczasowy (timery z
możliwościągeneracji PWM).
![Page 50: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/50.jpg)
Dalsze zagadnienia:
• Wybrane architektury mikrokontrolerów - konstrukcjezaawansowane
• Programowanie mikrokontrolera w języku wysokiego poziomu -wprowadzenie
• kompatybilność elektromagnetyczna a mikrokontrolery - wybranezagadnienia - ciąg dalszy
• systemy operacyjne czasu rzeczywistego - wprowadzenie
![Page 51: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/51.jpg)
Procesory rodziny ARM
• Opracowanie - firma ARM (Wielka Brytania) www.arm.com• brak własnej produkcji, udostępnianie na zasadach licencyjnych
innym producentom (obecnie ponad 40 firm).• Oferowane jest kilka rodzin procesorów, najbardziej popularne
są procesory rodziny ARM7 oraz ARM9.
![Page 52: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/52.jpg)
Uproszczony schemat blokowy procesora rodziny ARM7
Wybrane cechy:
•Częstotliwość zegara do 133MHz;
•Dodatkowe bloki wbudowane wstrukturę procesora, np. MMU -Moduł Zarządzania Pamięcią
•Pipelining, czyli jednoczesnaobsługa kilku rozkazów(przetwarzanie potokowe, 3 rozk.)
•Kompatybilność z różnymisystemami operacyjnymi(Embedded Linux, Windows CE,Symbian, Palm OS).
•Zastosowania: drukarki, prostepalmtopy, aparaty cyfrowe,telefony GSM, sprzęt medyczny
![Page 53: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/53.jpg)
Uproszczony schemat blokowy procesora rodziny ARM9
Wybrane cechy:
•Częstotliwość zegara do 250MHz;
•Dodatkowe bloki wbudowane wstrukturę procesora, np. MMU -Moduł Zarządzania Pamięcią
•Pipelining, czyli jednoczesnaobsługa kilku rozkazów(przetwarzanie potokowe, 5 rozk.)
•Kompatybilność z różnymisystemami operacyjnymi(Embedded Linux, Windows CE,Symbian, Palm OS).
•Zastosowania: konsole do gier,zaawans. palmtopy, telefony 3G,routery sieciowe
![Page 54: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/54.jpg)
Dalszy rozwój rodziny rdzeni procesorów ARM (mapa drogowa)
Dalszy rozwój technologii, zmniejszenie zużycia mocy: np. dla ARM11 - pobór mocyprzy Ucc=1,2V nie przekracza 0.4 mW/MHz; dla f=500 MHz P<=0,2W
Spokrewnione/ bazujące na ARM rodziny - Intel XScale
![Page 55: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/55.jpg)
Programowanie mikrokontrolerów w języku wysokiego poziomu -wprowadzenie
Programowanie w języku asemblera:
Zalety:
•Pełne panowanie nadzasobami procesora
•Możliwość ręcznejoptymalizacji algorytmu
•Mały rozmiar programu(kodu) wynikowego
Wady:
•Mała produktywność pracyprogramisty
•Nieczytelny kod źródłowy
•Bardzo trudneprogramowanie np.złożonych operacjimatematycznych
![Page 56: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/56.jpg)
Porównanie wyglądu kodu (fragmenty)
Asembler:
lda $#0xf5 ; załaduj do A wartość
;f5 hex
sta porta ; zawartość akumulatora
prześlij do portu A
;---------------------------
inc porta
??????? (brak gotowej procedury!)
Język C:
porta=0xf5;
porta++;
y=sin(x);
![Page 57: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/57.jpg)
Programowanie w języku C:
Zalety:
•Szybkość tworzenia programu
•duża przenośność kodu
•łatwe programowanie złożonychalgorytmów
•łatwa obsługa operacji wej/wyj
•wielka liczba dostępnych bibliotek
Wady:
•Nieco większa objętośćkodu źródłowego (przestajebyć to obecnie problemem).
•Dość drogie narzędziaprogramistyczne(ale częstodostępne są wersjedarmowe)
![Page 58: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/58.jpg)
Programowanie w języku C - przykładowa literatura:
1) Kernighan , Ritchie - Język C; wyd. WNT 1985+wznow.
2) Kardach, Majewski - Mikrokontrolery jednoukładowe 8051;programowanie w języku C w przykładach, Wyd. PWr 1995, wyd. II2002
3) Strostroup - Język C++ (dla ambitnych!).
![Page 59: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/59.jpg)
Programowanie w języku C: przykładowe programy dla procesora rodziny8051 (© Krzysztof Kardach & Jacek Majewski)
/**************************************************************************Program zapala lub gasi diody LED dołączone do portu P3 w zależności odstanu przycisków P1 (gdy przycisk wciśnięty to odpowiednia dioda świeci).**************************************************************************/sfr P1= 0x90; /* definicja adresu portu P1 */sfr P3= 0xB0; /* definicja adresu portu P2 */
void main(void){ data char i;
while (1) { i=P3; /* odczyt stanu portu P3 i kopiowanie tego stanu do zmiennej i */ P1=i; /* kopiowanie stanu zmiennej i do portu P1 */ }
}
![Page 60: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/60.jpg)
/**************************************************************************Ćwiczenie 2
Program symuluje działanie 8-bitowego licznika binarnego. Ekspozycja stanówlicznika odbywa się na diodach LED (DDS) dołączonych do portu P1.
**************************************************************************/#include <io51.h> /* zbiór definiujący adresy rejestrów procesora 8051 */
void main(void){ int i;
while (1) { P1++; /* zwiększanie zawartości portu P3 */ for(i=0;i<0x7fff;i++){}; /* opóźnienie czasowe */ }
}
![Page 61: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/61.jpg)
/**************************************************************************Ćwiczenie 3
Program symuluje działanie 8-bitowego licznika binarnego.Ekspozycja stanu licznika prezentowana jest na diodach LED, dołączonych doportu P1 (DDS). Program wywołuje podprogram opóźnienia czasowego - Delay.
**************************************************************************/#include <io51.h> /* zbiór definiujący adresy rejestrów procesora 8051 */
#define SPEED 0x7fff /* definicja stałej */
void Delay(int time) /* podprogram opóźnienia czasowego */{ int i; for(i=0;i<time;i++){}; /* opóźnienie czasowe */}
void main(void){ char k;
while (1) { P1=~--k; /* zmniejszanie zawartości portu P1 */ /* negacja zapewnia świecenie diody gdy odpowiedni bit portu P1 jest w stanie 1 (high) */ Delay(SPEED); }
}
![Page 62: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/62.jpg)
Przykładowe narzędzie - kompilator ICC-AVR firmy ImageCraft dlaprocesorów AVR:
![Page 63: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/63.jpg)
Wybór opcji kompilatora:
![Page 64: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/64.jpg)
Wybór opcji programatora:
![Page 65: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/65.jpg)
Przydatne narzędzie : AVR Calc (kalkulator konfiguracyjny)
![Page 66: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/66.jpg)
Perspektywy rozwoju
![Page 67: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/67.jpg)
Rozwiązania Embedded Linux - minimoduł firmy Gumstixwww.gumstix.com
![Page 68: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/68.jpg)
Kompatybilność elektromagnetyczna a mikrokontrolery
-wybrane zagadnienia
Literatura:
•Intel - Application Note AP-125
•ST - Application Note AN1015 i inne
![Page 69: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/69.jpg)
Definicja kompatybilnościelektromagnetycznej (EMC)
• Odpornośc na zakłócenia przedostające sięz zewnątrz do układu
• Niski poziom zakłóceń generowanych
Badania EMC - norma ISO/IEC 61000
![Page 70: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/70.jpg)
Objawy niekompatybilnościEMC
• Niestabilność systemu - np. resetowaniesterownika przy zmianach napięcia zasilania- załączenie innego odbiornika w siecipowoduje zawieszenie programu
• zakłócanie pracy innych urządzeń.
Wszystkie urządzenia sprzedawane w UEmuszą spełniać wymagania dot. EMC
![Page 71: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/71.jpg)
Należy odróżniać EMS od EMC
![Page 72: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/72.jpg)
Przykładowe źródła zakłóceń• Impulsy zakłócające z obwodu zasilania• Wyładowanie elektrostatyczne w obudowę
urządzenia
Model zastępczy obwodu zasilania - wyłączenie obciążeniaR1, R2 powoduje przepięcie indukcyjne.
![Page 73: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/73.jpg)
Wyładowania iskrowe• Częste źródło problemów w układach
motoryzacyjnych (układ zapłonowy - wysokienapięcie).
• Występują również w układach zawierającychsilniki komutatorowe (iskrzenia naszczotkach).
• Użycie w takich warunkach sterownikamikroprocesorowego wymaga specjalnychśrodków zaradczych.
![Page 74: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/74.jpg)
Dalsze informacje
• Intel - nota aplikacyjna AP-125
![Page 75: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/75.jpg)
Programowe metody polepszenianiezawodności systemów
mikroprocesorowych• Specjalna konstrukcja programu -
sprawdzanie w pętli, czy nie nastąpiłozakłócenie pracy programu
• Przydatne jest użycie watchdoga (w raziezawieszenia programu w ciągu ms generujesprzętowy sygnał reset).
![Page 76: Mikrokontrolery i ich zastosowania](https://reader030.vdocuments.net/reader030/viewer/2022012104/616a198d11a7b741a34ecc7c/html5/thumbnails/76.jpg)
Dalsze informacje -
• Nota ST Microelectronics = AN1015