Mikrokontrolery w mechatronice Wstępne uwagi
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). Architektura mikrokontrolera RISC na przykładzie układu rodziny ATmega (Atmel). Inne rodziny - mikrokontrolery z rdzeniem ARM, procesory DSP. Sposoby pisania programu dla mikrokontrolera, narzędzia programowe i sprzętowe. Sprzęganie mikrokontrolera z urządzeniami zewnętrznymi. Systemy RTOS - wprowadzenie. Inne zagadnienia - kompatybilność elektromagnetyczna (EMC).
Układ sterowania - podstawowe pojęcia Układ o stałym algorytmie działania: działanie układu określone jest przez budowę układu; każdorazowa zmiana realizowanego zadania wymaga przebudowy całego układu. WEJ WYJ "Sztywn y" algorytm dzia lania
Układ programowalny Sposób działania określony jest poprzez algorytm umieszczony w pamięci układu WEJ WYJ Modyfikacja działania U.P. nie wymaga zmiany jego struktury! algorytm dzia lania (p rog ra m ) PAMIĘĆ PROGRAMU Pierwsze przykłady - krosna mechaniczne (XIX w.); Większe rozpowszechnienie - dopiero po wynalezieniu mikroprocesora (lata 70-te XX w.).
System (kod) dziesiętny Używany w życiu codziennym, podstawą systemu jest liczba 10 Np. 1895 = 1*10^3+8*10^2+9*10^1+5*10^0 Do wyrażenia dowolnej liczby naturalnej potrzeba 10 wartości ze zbioru {0,1,2,...,9}. Liczby zapisane w systemie dziesiętnym często oznaczane są przyrostkiem DEC. System bardzo niedogodny do stosowania w technice cyfrowej!
System (kod) binarny (dwójkowy) Podstawą tego systemu (kodu) jest liczba 2. Liczby zapisane w systemie binarnym często oznaczane są przyrostkiem BIN. Do wyrażenia dowolnej liczby naturalnej wystarczają 2 wartoś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!
Każda z pozycji wewnątrz liczby binarnej nazywana jest bitem; bit może przyjąć wartość 0 lub 1. W zapisie liczbowym bit pierwszy od lewej nazywamy najbardziej znaczącym (MSB - Most Significant Bit) a pierwszy od prawej najmniej znaczącym (LSB - Least Significant Bit). 1010 -> MSB=1, LSB=0.
Inne systemy liczbowe Kod szesnastkowy (heksadecymalny) - oznaczenie HEX; podstawą jest liczba 16 (w zapisie dziesiętnym). Kod ósemkowy (oktalny) - oznaczenie OCT; podstawą jest liczba 8 [kod rzadko używany].
Niedogodności kodu binarnego Znaczna 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 = FEBIN Sposób konwersji BIN->HEX : liczbę binarną dzielimy na paczki 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:
DEC BIN HEX OCT 0 00000000 0 0 1 00000001 1 1 2 00000010 2 2 3 00000011 3 3 4 00000100 4 4 5 00000101 5 5 6 00000110 6 6 7 00000111 7 7 8 00001000 8 10 9 00001001 9 11 10 00001010 A 12 11 00001011 B 13 12 00001100 C 14 13 00001101 D 15 14 00001110 E 16 15 00001111 F 17 16 00010000 10 20
Paczki 4-bitowe określamy jako nible natomiast 8-bitowe jako bajty (byte), 16-bitowe jako słowa (word). W technice mikroprocesorowej wykorzystywany jest głównie kod binarny. Wartości 1 przydzielany jest stan wysoki napięcia (stąd oznaczenie H = High), natomiast wartości 0 stan niski (L=Low). Informacje wewnątrz procesora przechowywane są w tzw. rejestrach. Z pewnym przybliżeniem rejestr można potraktować jako komórkę specjalizowanej pamięci o ustalonej pojemności (liczbie bitów). Liczbę tę nazywamy długością rejestru.
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).
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...
Procesory rodziny HC05 - wstępne informacje