Procesory jednoukładowe Inne nazwy: mikrokontrolery jednoukładowe, mikrokomputery jednoukładowe Czym jest procesor jednoukładowy? Istotą tego określenia jest to, że w jednej kości układu scalonego zawarte są wszystkie elementy niezbędne do działania komputera (systemu procesorowego). Oczywiście nie chodzi to o komputer w potocznym rozumieniu tego słowa (z monitorem i klawiaturą) lecz o „urządzenie do automatycznego przetwarzania informacji w sposób określony przez program”. Komputer jednoukładowy będzie zastępować złożone układy kombinacyjne i sekwencyjne, dając potencjalną możliwość zmiany działania urządzenia poprzez zmianę programu. Mikrokontroler stanowi użyteczny i całkowicie autonomiczny system mikroprocesorowy, który z reguły do swej pracy nie potrzebuje dodatkowych układów, może bezpośrednio współpracować z różnymi urządzeniami zewnętrznymi. Mikrokontrolery wykorzystuje się powszechnie w sprzęcie AGD, układach kontrolnopomiarowych, w przemysłowych układach automatyki, w telekomunikacji itp. Podstawowe własności każdego procesora jednoukładowego: • jednostka arytmetyczno-logiczna 8 bitowa (lista rozkazów zawsze taka sama) • pamięć RAM 128 B (danych) • pamięć ROM 2 kB (programu) • możliwość adresowania 64 kB pamięci programu i 64 kB pamięci danych. • cztery 8-bitowe porty wejścia-wyjścia • układ przerwań priorytetowych • układ wejścia-wyjścia szeregowego • dwa układy czasowo-licznikowe • układ resetu (wymagający elementów zewnętrznych) • układ generacji przebiegu zegarowego (wymagający zewnętrznego rezonatora kwarcowego) Jak zmieniały się procesory jednoukładowe? Historyczny już procesor 8051 był wyposażony w 2 kB pamięci ROM programowanej przez producenta. Aby projektant mógł decydować o zawartości pamięci ROM bez udziału producenta wprowadzono model 8751, w którym pamięć programu była zrealizowana w oparciu o pamięć EPROM. Wadą takiego rozwiązania była wysoka cena. Z tego powodu każdy komputer jednoukładowy (również z pamięcią ROM) miał możliwość zablokowania wewnętrznej pamięci ROM i podłączenia pamięci zewnętrznej. Takie rozwiązanie powodowało utratę dwóch portów wejścia-wyjścia oraz rozbudowę układu. Rozwój układów pamięci spowodował jednak, że na dzień dzisiejszy pamięć jest zrealizowana w oparciu o układy typu Flash, i nie ma to znaczącego wpływu na cenę. Na bazie cech powyższych produkowana jest ogromna ilość odmian z takim cechami jak: • zwiększenie pojemności pamięci wewnętrznej (ROM i RAM) • zwiększenie ilości układów czasowo-licznikowych • zwiększenie ilości układów wejścia-wyjścia szeregowego • sprzętowe kodowanie RAS • układ interfejsu radiowego • przetwornik(i) analogowo-cyfrowe • dekoder mp3 • magistrale I2C, CANBUS • komparator analogowy • nieulotna pamięć danych EEPROM • watchdog • całkowicie wewnętrzny generator sygnału zegarowego • układy w mniejszych obudowach (po rezygnacji z części portów) • interfejs ISP Na szczególną uwagę zasługuje interfrejs ISP (In System Programming). Aby zaprogramować standardowy układ rodziny 8051 należy użyć programatora równoległego, którego wartość niejednokrotnie przekracza wartość konstruowanego układu. Aby rozwiązać ten problem wprowadzono interfrejs ISP charakteryzujący się tym że: 1. Aby zaprogramować układ nie trzeba go wyciągać (wylutowywać) z układu 2. Programator podłączany do LPT komputera można zrobić samemu po minimalnych kosztach Wśród wbudowanych w mikrokontroler bloków funkcjonalnych można znaleźć: jednostkę obliczeniową (ALU) - 8-bitową, ale także 16 i 32-bit, pamięć danych (RAM, EEPROM) i programu (EPROM, EEPROM, Flash, ROM), liczniki, kontrolery przerwań, kontrolery transmisji szeregowej lub równoległej (UART, SPI, I2C, USB, CAN, 1-Wire itp.), przetworniki analogowo-cyfrowe lub cyfrowo-analogowe, zegar czasu rzeczywistego RTC. Zegar procesora mikrokontrolerów może być taktowany zewnętrznie (poprzez układ oscylatora kwarcowego i dwóch kondensatorów lub poprzez generator) lub wewnętrznie (wiele nowoczesnych mikrokontrolerów ma wbudowane układy taktujące, również w bardziej rozbudowanej wersji z syntezą częstotliwości przy pomocy pętli synchronizacji fazowej). Zegary współczesnych mikrokontrolerów osiągają częstotliwości do kilkuset MHz. Oprogramowanie mikrokontrolerów może być zapisane do układu na etapie produkcji (pamięć ROM) lub do zaprogramowania przez użytkownika: w pamięci do jednokrotnego programowania (OTP - one time programmable), do wielokrotnego programowania (w pamięci EPROM, EEPROM, FLASH EEPROM itp.) lub do programowania w zmontowanym urządzeniu (ISP - in-system programmable, programowanie mikrokontrolera bez wyjmowania go z układu, najczęściej poprzez wydzielone wyjścia mikrokontrolera za pomocą komputera osobistego). Do programowania mikrokontrolerów najczęściej używane są asemblery, język C oraz dialekty BASICa. Istnieją również specjalizowane narzędzia umożliwiające zaprogramowanie mikrokontrolera w oparciu o schemat blokowy algorytmu, schemat automatu skończonego lub układ połączeń bloków operacyjnych (np. Actum Realizer). Rozwój technologii, oprócz wzrostu niezawodności, zasobów i poprawy parametrów, umożliwił także zmiany w architekturze tych układów. Wprowadza się rozbudowane układy peryferyjne (sterownik wyświetlacza LCD, dekoder MP3, sterownik magistrali ATA, radiomodem i inne). Oprócz klasycznych rozwiązań ośmio- i szesnastobitowych, pojawiają się układy ze słowem 32bitowym. Jeden z kierunków rozwojowych oferuje sprzętowe wsparcie języków wysokiego poziomu takich, jak Java. Niektóre firmy produkują również wersje uproszczone mikrokontrolerów, w niewielkich obudowach (począwszy od trzech wyprowadzeń), co zapewnia zminimalizowanie kosztów dla układów stosowanych w prostych aplikacjach. Do najbardziej popularnych mikrokontrolerów należą układy takich firm jak Atmel, Intel, Freescale Semiconductor (dawniej Motorola), Infineon, Analog Devices, Philips, ST, Hitachi i wielu innych. Niekwestionowany standard dla rynku masowego narzuciła firma Intel, która wprowadziła na rynek mikrokontroler 8051. Obecnie wielu producentów stara się zachować zgodność wstecz z rodziną 8051 (oznaczaną także jako S51 lub x51). Bardzo popularne są również mikrokontrolery AVR firmy Atmel oraz PIC firmy Microchip Technology. 4-bitowy Intel 4004 - pierwszy na świecie (1971r. ) komercyjny jednoukładowy procesor komputerowy. Dziękuję za uwagę