Mikrokontroleri i Arhitektura 8051: Principi, Komunikacija i Programiranje
Enviado por Anónimo y clasificado en Otras materias
Escrito el en
serbocroata con un tamaño de 9,81 KB
1. Pojava prvih mikrokontrolera i proizvođači
Prvi mikrokontroleri su se pojavili 70-ih godina dvadesetog veka, a proizvodile su ih kompanije Intel i Motorola. Nastali su kao rezultat razvoja računarskih arhitektura i tehnologije izrade integrisanih kola.
2. Razlika između mikroprocesora i mikrokontrolera
Mikroprocesori su pre svega optimizovani za brzinu i performanse kod računarskih programa, dok su mikrokontroleri optimizovani u pravcu integracije većeg broja kola, upravljanja procesima u stvarnom vremenu (real-time control), masovnu proizvodnju, nisku cenu itd.
3.1 Princip rada mikroprocesora
(Objašnjenje principa rada mikroprocesora)
4. Arhitekture računara
4.1 Struktura Von Neumann arhitekture
Von Neumannova arhitektura podrazumeva jedinstveni memorijski prostor u kome se čuvaju i podaci (memorija podataka) i instrukcije (programska memorija).
- Prednost: Jednostavnost, jer je potrebna jedna magistrala za obraćanje obema memorijama.
- Nedostaci: Ograničenja u brzini i zaštiti podataka.
5.1 Struktura Harvard arhitekture
Harvard arhitektura podrazumeva postojanje dva zasebna memorijska prostora za memoriju podataka i programsku memoriju. Ove memorije poseduju zasebne magistrale, što ovu arhitekturu čini bržom, ali i hardverski komplikovanijom (dve magistrale u odnosu na jednu kod Von Neumannove arhitekture).
6. Mikroračunar
Mikroračunar predstavlja računar opšte namene za primene u softverskim aplikacijama. Baziran je na primeni mikroprocesora kome su pridodate:
- ROM i RAM memorije
- Oscilator
- U/I uređaji
- Kola specijalne namene (periferije)
7. Projektovanje mikrokontrolerskih (MC) sistema
Kod projektovanja MC sistema se prvo polazi od funkcionalnih zahteva (zahtevi naručioca). Nakon toga se pristupa projektovanju prototipa hardvera. Slede dva paralelna procesa: izrada modela hardvera i pisanje softvera.
Nakon što su ova dva procesa završena, sledi prenos programa u hardver i verifikacija (testiranje). Ako testiranje pruži očekivane rezultate, MC sistem je gotov; u suprotnom, potrebno je vratiti se na korak pisanja softvera.
Projektovanje hardvera
Pod ovim se podrazumeva projektovanje analognih kola, kola sa mešovitim signalima, RF kola i štampanih ploča. Od opreme su potrebni računari (po mogućstvu sa dva monitora) i softverski paketi poput Altium Designer ili OrCAD. Od alata su neophodni: izvor za napajanje, lemna stanica, kalaj, pasta za lemljenje, lupa, šubler...
8. Osnovni blokovi IDE
- Pre-Procesor: Prihvata direktive pri pisanju asemblerskih naredbi pre samog asembliranja.
- Asembler: Generiše objektni kod.
- Linker: Objedinjuje fajlove u jedan izvršni kod.
9. Emulator
Emulator predstavlja softver koji omogućava da se određeni program ili proces izvršava na platformi (računarskoj arhitekturi ili operativnom sistemu) drugačijoj od one za koju je predviđen. Danas se često zamenjuje naprednim simulatorima i in-circuit debagerima.
10. Kolo za resetovanje i napajanje
10.2 Kolo za resetovanje MC
Resetovanje se vrši tako da reset signal bude dovoljno dug; nivo napajanja treba da se zadrži par sekundi na određenom nivou da bi došlo do resetovanja mikroprocesora.
11.2 Napajanje MC
Napajanje se izvodi tako da se, pored vezivanja na MC, dodaju kondenzatori, dok se na ulaz MC vezuju kalem i kondenzator. Ove komponente poništavaju smetnje koje unosi MC koji vuče struju u impulsima.
12.2 Brown Out efekat
Brown Out predstavlja kratkotrajan pad napona napajanja, što uzrokuje nepredvidivo ponašanje sistema. Eliminiše se korišćenjem kola koje detektuje pad napona i generiše reset signal.
13. Interfejsi i periferije
14.2 Vezivanje tastera
Tasteri se mogu vezati na dva načina: pomoću pull-up otpornika (ka naponu) ili pull-down otpornika (ka masi).
15. Naponski nivoi
Na ulazu MC napon ne sme biti veći od napona napajanja niti manji od napona mase (GND). Uobičajeni radni naponi su između 3V i 5V.
17. I2C Interfejs (Inter-Integrated Circuit)
I2C je sinhroni serijski prenos podataka, polu-dupleks (half-duplex). Koristi dve linije:
- SCL: Takt (Clock)
- SDA: Serijski prenos podataka
Master generiše takt i inicira komunikaciju. Svaki slejv (slave) ima jedinstvenu adresu. Komunikacija se obavlja u transakcijama koje počinju START uslovom i završavaju se STOP uslovom.
18.3 Adresiranje I2C periferija
Periferije mogu imati 7-bitnu ili 10-bitnu adresu. Kod 7-bitnog adresiranja, prvi bajt sadrži adresu i bit smera (R/W). Slejv potvrđuje prijem svakog bajta ACK bitom.
19. SPI Interfejs (Serial Peripheral Interface)
SPI je sinhroni serijski prenos podataka, puni dupleks (full-duplex). Koristi četiri linije:
- SCLK: Serijski takt
- MOSI: Master Output Slave Input
- MISO: Master Input Slave Output
- SS: Slave Select (odabir slejva)
Odnosi takta se konfigurišu preko CPOL (polaritet) i CPHA (faza) parametara.
21. Prednosti i nedostaci SPI u odnosu na I2C
- Prednosti: Full-duplex komunikacija, veća propusnost, jednostavan hardver, manja potrošnja.
- Nedostaci: Veći broj pinova, nema ACK potvrde, nema hardverske kontrole toka, rad na malim rastojanjima.
22. Karakteristike jezgra 8051
- 8-bitni CPU
- 64KB programske i 64KB memorije za podatke
- 4KB programske memorije na čipu
- 128 ili 256 B RAM-a na čipu
- Četiri 8-bitna porta (P0-P3)
- Dva 16-bitna tajmera/brojača
- UART i prekidni sistem
23. Mašinski ciklus
Jedan mašinski ciklus traje 12 taktova oscilatora. Ako je frekvencija kvarca A MHz, frekvencija rada je f = A / 12, a trajanje ciklusa T = 1/f.
24. Portovi: Bidirekcioni vs Kvazi-bidirekcioni
- Bidirekcioni port: Pravi ulazni/izlazni port (npr. P0).
- Kvazi-bidirekcioni portovi: (P1, P2, P3) Mogu se koristiti kao ulazni i izlazni bez posebnih kontrolnih signala za promenu smera.
26. Osnovni registri MC 8051
- Registarske banke: Četiri banke (RB0-RB3), svaka sa registrima R0–R7.
- Akumulator (A ili ACC): Glavni registar za operacije.
- Registar B: Koristi se kod množenja i deljenja.
- DPTR (Data Pointer): Jedini 16-bitni registar dostupan programeru (DPH i DPL).
- PC (Program Counter): Pokazuje na sledeću instrukciju.
- PSW (Program Status Word): Sadrži flegove (CY, AC, OV, P).
32.5 Opis PSW registra
- CY (Carry): Prenos kod aritmetičkih operacija ili 1-bitni registar.
- AC (Auxiliary Carry): Prenos sa bita 3 na bit 4 (za BCD).
- RS1, RS0: Izbor aktivne registarske banke.
- OV (Overflow): Indikator prekoračenja kod označenih brojeva.
- P (Parity): Paritet broja jedinica u akumulatoru.
38. UART kod 8051
UART omogućava serijsku komunikaciju. Ključni flegovi su:
- TI (Transmit Interrupt): Postavlja se kada je slanje karaktera završeno.
- RI (Receive Interrupt): Postavlja se kada stigne novi karakter u SBUF.
42. Prekidni sistem (Interrupts)
Prekid predstavlja privremenu suspenziju glavnog programa radi servisiranja događaja. ISR (Interrupt Service Routine) je podprogram koji obrađuje prekid i završava se instrukcijom RETI.
46. Načini adresiranja kod 8051
- Registarsko:
MOV A, B - Neposredno:
MOV A, #80H - Direktno:
MOV 30H, A - Indirektno:
ADD A, @R0 - Relativno:
SJMP AHEAD - Indeksno:
MOVC A, @A+PC
50. Asembler i Linker
Asembler prevodi simbolički kod u objektni kod. Sastoji se od mašinskih instrukcija, direktiva i kontrola. Linker (BL51) povezuje više objektnih modula u jedan apsolutni izvršni fajl.
68. C programiranje za 8051
Proširenja standardnog C jezika za 8051 uključuju:
- Rad sa specifičnim memorijskim prostorima (
data,idata,xdata,code). - Definisanje SFR registara (
sfr P0 = 0x80;). - Pristup bitovima (
sbit EA = 0xAF;). - Atribute funkcija (
interrupt,using,reentrant).
84. Reentrant funkcije
To su funkcije koje mogu pozivati više procesa istovremeno ili koje mogu pozivati same sebe (rekurzija). Koriste se kada prekidna rutina i glavni program dele istu funkciju.