Mikrokontroler je mikroprocesor sa periferijama, sve u jednom integrisanom kolu. Mikrokontroler nastaje nakon što su ljudi shvatili šta im sve treba pored mikroprocesora u jednom sistemu specijalne namene. Serijski i paraleni blok su jedni od tipičnijih i najčešće korišćenjih periferija u mikrokontroleru. Dalje u tekstu može saznati više o njima.
Paralelni port
Rani mikroprocesori nisu imali ugrañene paralelne portove i za paralelni prenos podataka ka spoljnom svetu se koristilo posebno integrisano kolo. Integrisano kolo PIA 8255 je osedovali tri izlazno/ulazna porta i kontrolni registar za definisanje smera podataka. To je već zaboravljeno u slučaju mikrokontrolera, gde je broj integrisanih izlazno/ulaznih portova sasvim dovoljan. Paraleni port je sa strane mikrokontrolera običan registar sa svojim mestom u memorijskoj mapi. Njegovi (izlazi/ulazi) su preko pinova povezani sa spoljnim svetom i menjaju se obični upisom promenjive na adresu porta. Upis jedinice u jedan bit port registra (SET) se direktno manifestuje pojavom +5V na odgovarajućem izlaznom pinu, dok upis nule u taj bit (CLEAR) dovodi do pojave napona 0V.
Povezivanje paralelnog porta sa mikroprocesorom je prikazano na donjoj slici levo. Dekoder adrese porta je takođe integrisan i jedino što je neophodno znati je adresa samog porta. Na desnoj slici je prikazana realizacija jednog izlazno-ulaznog pina koji predstavlja jedan logički bit porta (jedan port je skupina više pinova, može posedovati 4, 8, 16 bitova).
Slika br.1 Povezivanje paralelnog porta u uC
Slika br.2 Tipična HW realizacija jednog IO pina porta sa alternativnom funkcijom (primer za 8051)
Ulazno/izlazni port se uobičajeno može čitati, pisati ili postaviti u stanje visoke impedance. Takođe, radi uštede pinova, svaki pin IO porta uobičajeno poseduje i alternativnu funkciju, kojom se neki periferni blok mC povezuje sa spoljnim pinovima. Na programeru je da odluči šta mu treba i da li će pin da koristi kao port ili kao ulaz-izlla neke periferije. Na primer, pin na sledećoj slici može biti bit IO porta ili jedan ulaz AD konvertora.
Ukoliko nema potrebe za ovim A/D ulazom, možemo koristiti pin kao ulaz ili kao izlaz, uglavnom kao digitalni port. Postoje specijalni registri kojima se konfigurišu izlazni pinovi mC. Pinovi se uobičajeno konfigurišu odmah nakon reseta i konfiguracija se ne menja tokom rada.
Slika br.3 Primer multipleksiranja jednog port bita i jednog A/D ulaza na jednom pinu mikrokontrolera.
Serijski port
Serijski port je pojednostavljeno gledano pomerački registar (shift) sa paralelnim upisom/čitanjem sa strane CPU (serijski port je običan registar u mikrokontrolerskoj memorijskoj mapi) a serijskim upisom/čitanjem sa strane serijske linije (RX i TX). U sebi obično sadrži interni baud rate generator (softverski se programira pri konfigurisanju serijskog porta) i kontrolnu logiku za paralelni upis/čitanje, dodavanje start, stop i parity bitova, baferisanje podataka, kao i generisanje RX prekida (kada je poslednji bit dolazećeg podatka primljen) i TX prekida (kada je poslednji bit poslatog podatka otišao na liniju).
Slika br.4 Povezivanje serijskog porta sa mikroprocesorom unutar mikrokontrolera
Dodatne napomene:
- Serijski port uobičajeno daje signale nivoa 0V i 5V. PC serijski port radi sa ±12V podacima. Za vezu sa PC je potreban dodatni hardver, MAX232 kolo koje vrši prilagoñenje naponskih nivoa ili modem,
- Ubičajen serijski protokol je RS232 (definiše broj bitova poruke, start bit, stop bit (broj stop bitova 0,1 ili 2), parity bit (odd ili even parity), brzinu serijske veze (baudrate: 2800 4800 9600 17200 itd.)
- CPU je rasterečena čekanja odlaska i nadolaska pojedinih bitova podatka. CPU vrši običan paralelni upis (ili čitanje) u serijski registar (na primer u registar serial buffer – SBUF) što je dovoljan znak za automatski start serijske poruke, serijski port preuzima dalju kontrolu nad slanjem,
- Način pisanja programa za rad sa serijskim portom:
– pulling, ne preporučuje se, procesor ne bi radio ništa drugo nego čekao dolazak podatka – serijski prekid: prvi tip prekida po prijemu (RI), drugi tip prekida po slanju zadnjeg bita na liniju (TI).
Slika br.5 Primer blok dijagrama serijskog porta – Siemens 80535 procesor.
Sva dalja objašnjenja možete pronaći pronaći u sledećim materijalima: Primena mikroprocesora u energetici – mikroprocesor i mikrokontroler