1 / 159

RAZVOJ SISTEMA NA BAZI MIKROKONTROLERA

RAZVOJ SISTEMA NA BAZI MIKROKONTROLERA. Prikaz na primeru razvoja “Crne kutije” i kontrolne table za kamione. Predrag Mini ć mipedja@sezampro.yu Marko Miti ć mimarko@ptt.yu Ljubomir Samard ž i ć ljubex@ptt.yu. Uvod. Koncepcija mikrokontrolera Prednos t i otpornost na šumove kompaktnost

rory
Download Presentation

RAZVOJ SISTEMA NA BAZI MIKROKONTROLERA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RAZVOJ SISTEMA NA BAZI MIKROKONTROLERA Prikaz na primeru razvoja “Crne kutije” i kontrolne table za kamione Predrag Minićmipedja@sezampro.yu Marko Mitićmimarko@ptt.yu Ljubomir Samardžićljubex@ptt.yu

  2. Uvod • Koncepcija mikrokontrolera • Prednosti • otpornost na šumove • kompaktnost • cena • Oblasti primene • kontrola industrijskih procesa • automobilska industrija

  3. Uvod • Kroz primer razvojajednog mikrokontrolerskog sistema ("Crna kutija i kontrolna tabla za vozila") prikazaćemo vam mogućnosti, arhitekturu i organizaciju MCS-51 industrijskog standarda mokrokontrolera, kao i kompletno uputstvo za izradu jednog ovakvog uređaja.

  4. Teme diskusije • Prikaz radnog zadatka • Analiza problema • Izbor hardvera • Razvojni alati • Finalna izrada proizvoda • Mogućnosti proširenja

  5. Crna kutija za kamione (1/2) • Vođenje statistike puta • Brzina tokom puta • Stajanja tokom puta • Pređeni put • Vozači na etapama

  6. Crna kutija za kamione (2/2) • Dijagnostika vozila • Beleženje vitalnih veličina u kamionu (temperature, pritisci...) • Upozoravanje na kritične vrednosti • Prikaz podataka • Komunikacija sa računarom u bazi • Rekonstrukcija i prikaz puta

  7. Analiza problema • Način prihvatanja merenih veličina • Način pamćenja na putu • Problem dugog boravka na putu • Otpornost na smetnje • Prateći softver za korišćenje u bazi

  8. Izbor hardvera • Srce sistema • Mikrokontroler • Periferije • Memorija • Sistem za akviziciju podataka • Senzori • Displej • Tastatura

  9. Razvojni alati • Razvoj softvera • Asembler (asem51) • Kompajleri (C, BASIC) • Simulator (AVOCET 51, JSim51) • Razvoj hardvera • OrCAD • Protel Shematic • Tango PCB Router • EAGLE • gEDA (Linux)

  10. Finalna izrada proizvoda • Nabavka hardvera • Izrada štampane pločice • Programiranje mikrokontrolera • Povezivanje senzora • Izrada kućišta • Ugradnja

  11. Mikrokontroleri • 8051 (MCS-51) • 80c196 (MCS-96) • 80186,80188 (Intel) • 80386 EX (Intel) • 65C02/W65C816S/W65C134S (Western Design Center) • MC14500 (Motorola)

  12. Mikrokontroleri • 68HC05 (Motorola) • 68HC11 (Motorola and Toshiba) • 683xx (Motorola) • PIC (MicroChip) • COP400 Family (National Semiconductor) • COP800 Family (National Semiconductor) • HPC Family (National Semiconductor) • Project Piranha (National Semiconductor)

  13. Mikrokontroleri • Z80 (Zilog) • HD64180 (Hitachi) • TMS370 (Texas Instruments) • 1802 (RCA) • MuP21 (Forth chip) • F21 (Next generation Forth chip)

  14. Familija MCS-51 (Intelovi modeli)

  15. Familija MCS-51 (Intelovi modeli)

  16. MCS 51 • Standardna verzija 8051: • Logički orijentisan procesor • 5 ili 6 prekida:2 spoljna, 2 nivoa prioriteta, podešavanje tipa prekida • 2 ili 3 16-bitnatajmera/brojača • Programabilni full-duplex serijski port • 32 I/O linije (četri 8-bitnaporta) • RAM • ROM/EPROM kod nekih modela

  17. Organizacija procesora

  18. MCS 51: Opis pinova • 1-8: Port 1 • 9: Reset • 10-17: Port 3 • 18-19: X2 i X1 – interni oscilator • 20: Masa • 21-28: Port 2 • 29: PSEN – Program status enable (Prozivanje programskog statusa)

  19. MCS 51: Opis pinova • 30: ALE – Adress Latch Enable (Upis u adresni registar) • 31: EA – External Access (Pristup spoljnoj prog. mem.) • 32-39: Port 0 • 40: Napajanje (+5V)

  20. Port 1 (pinovi od 1 do 8) • Svaki od ovih pinova može da se koristi i kao ulazni i kao izlazni, prema potrebi(kod familije 8x32,52 P1.0 i P1.1 imaju specijalne funkcije T2 i T2EX)

  21. Pin 9: RESET • Visok ligički nivo resetuje sve interne registre ( u stanje 0000000b ) sa sledećim izuzecima • P0,P1,P2,P3 se dovode u stanje 11111111b • SBUF se ne menja • Sadržina RAMa se ne menja • PC se resetuje tako da će započeti izvršavanje programa od 0000h. • zadržavanje 24 ciklusa oscilatora (2 mašinska ciklusa) dok radi oscilator

  22. Port 3 (pinovi od 10 do 17) • Na svakom pinu ima još po neku specijalnu funkciju: • pin 10 (P3.0) RXD Serijski ulaz za asinhronu komunikaciju (mod 1,2,3) ili seriski izlaz za sinhronu komukiaciju (mod 0) • pin 11 (P3.1) TXD Serijski izlaz za asinhronu komunikaciju (mod 1,2,3) ili taktni (clock) za sinhronu komunikaciju

  23. Port 3 (pinovi od 10 do 17) • pin 12 (P3.2) INT0 – ulaz za prekid 0 • pin 13 (P3.3) INT1 – ulaz za prekid 1 • pin 14 (P3.4) T0 – ulaz spoljnog takta za brojač 0 • pin 15 (P3.5) T1 – ulaz spoljnog takta za brojač 1 • pin 16 (P3.6) WR – signal za upis u spoljnu memoriju • pin 17 (P3.7) RD – signal za čitanje iz spoljne memorije

  24. X2 i X1 (pinovi 18 i 19) • Izlaz i ulaz internog oscilatora. Ako se koristi kvarc-kristal za stabilizaciju učestanosti oscilatora on se vezuje za ova dva pina s tim što treba ugraditi još po jedan kondenzator od 20-40pF sa svakog od ovih pinova prema masi. Opseg učestanosti od 1-12 (16) MHz.

  25. Port 2 (pinovi od 21 do 28) • Kada se koristi mikrokontroler sa internim ROM-om a nemate spoljni ROM ili RAM sve linije ovog porta se mogu koristiti kao univerzalni ulaz ili izlaz. Ako imate spoljnu memoriju onda su ovo visoki adresni izlazi, od A8 do A15.

  26. PSEN (pin 29) • Program Status Enable – normalno se ovaj izlaz spaja sa CS ili OE ulazom na spoljnom EPROM-u, jer ga mikrokontroler aktivira svaki put kada čita bajt iz programske memorije (PAŽNJA : ne i iz RAM-a).

  27. ALE (pin 30) • Address Latch Enable – koristi se za “lečovanje” nižeg dela adresa (A0-A7) kada se pristupa spoljnoj memoriji. (zbog potrebe multipleksiranja linija na portu 0 izlaz adresa i ulaz/izlaz podataka)

  28. EA (pin 31) • External Access – Kada je ovaj ulaz nizak, mikrokontroler će sve instrukcije čitati iz spoljnjog ROMa bez obzira da li ima interni.

  29. Port 0 (pinovi od 32 do 39) • Ako nema spoljnje memorije koristi se kao univerzalni ulaz/izlaz, a ako je ima onda je P0 adresni izlaz za A0-A7 kada je ALE visok, a Data Bus kada je ALE nizak.

  30. Organizacija interne memorije

  31. Organizacija interne memorije • Veličina interne memorije 128 bajta (256 za familiju 8x32/52) • Četiri banke registara opšte namene (R0-R7) na adresama 00h-20h • Bit adresibilan prostor naadresama od 20h-2Fh (bit adrese 0-7F) • Slobodan RAM (stek) na adresama 30h-7Fh • Registri specijalnih funkcija SFR na adresama 80h-FFh

  32. Organizacija interne memorije- SFR : registri za specijalne funkcije -

  33. Organizacija interne memorije- SFR : registri za specijalne funkcije - • DTPR – Data Pointer: koristi se prvenstveno za adresiranje spoljnje memorije ili za lookup-tabele u ROMu. 16 bitni registar se sastoji od dva 8-bitna (DTL,DTH) • Portovi 0-3 (P0, P1, P2, P3) ako upisujemo u ove registre upisujemo u Latch registre za izlazne portove a ako čitamo iz njih onda čitamo sa nožica portova ili stanja izlaznih registara

  34. Organizacija interne memorije- SFR : registri za specijalne funkcije - • A - akumulator • B – koristi se pi množenju i deljenju ili kao pomoćni registar • PSW – Program Status Word sadrži informacije o statusu programa • SP – Stack Pointer (stek raste ka višim lokacijama, posle reseta se inicijalizuje uvek na 07h ali se to može promeniti progrmom)

  35. Organizacija interne memorije- SFR : registri za specijalne funkcije - • SBUF – Serial Data Buffer: zapravo dva zasebna registra, jedan za prijem drugi za slanje bajta • Ako čitamo iz njega onda smo adresirali prijemni • Ako upisujemo u njega onda smo adresirali predajni • T1,T0 – Timer Registers: tajmer/brojač • 16-bitni (TH1,TL1), (TH0,TL0)

  36. Organizacija interne memorije- SFR : registri za specijalne funkcije- • Kontrolni registri • IP: Interrupt priority (priorited prekida) • IE: Interrupt enable (dozvole prekida) • TMOD Timer/Counter mode (kontrola i postavljanje moda tajmera) • TCON Timer/Counter control (upravlja eksternim prekidima) • PCON Power control (upravljanje modova za štednju baterije, ...)

  37. Registri za specijalne funkcije- PSW - • CY – prenos • AC – pomoćni prenos (za BCD operacije) • F0 – korisnički definisan bit • RS1,RS0 – selektori jedne od 4 registarske banke • OV – prekoračenje • P – bit parnosti

  38. Registri za specijalne funkcije- TCON - • TF1, TF0 – setuju se kada brojač 1/0 menja sa FFh na 00h a automatski se resetuje kada procesor započne izvršenje prekida • TR1, TR0 – setuje se ili resetuje iz programa čime pokreće ili zaustavlja brojač • IE1, IE0 – setuje se kada se na nožici INT1/INT0 detektuje prekid, a resetuje se kada se počne izvrčavanje prekida • IT1, IT0 – načini prekida za INT1/INT0

  39. Registri za specijalne funkcije- TMOD - • GATE – Hard/soft kontrola tajmera/brojača • C/T – selektor tajmer/brojač događaja • M1,M0 – bitovi za definisanje načina rada • 0,0 MOD0 • 0,1 MOD1 • 1,0 MOD2 • 1,1 MOD4

  40. Registar TMOD- MOD0 - • MOD0 – Tajmer/brojač radi u 13-bitnom režimu

  41. Registar TMOD- MOD1 - • MOD1 – Tajmer/brojač radi u 16-bitnom režimu

  42. Registar TMOD- MOD2 - • MOD2 – Tajmer/brojač je 8-bitan i pri svakom prekoračenju se generiše prekid i puni opet vrednost iz TH1 (auto-reload mode)

  43. Registar TMOD- MOD3 - • MOD3 – Samo za tajmer 0. Tajmer 1 radi kao dva 8-bitna pri čemu TL0 “krade” interapt od tajmera 0

  44. Registri za specijalne funkcije- SCON - • SM0,SM1 – određuju MOD u kome radi serijski port: • 0,0 MOD0 • 0,1 MOD1 • 1,0 MOD2 • 1,1 MOD3 • SM2 – kontrolni bit za zabranu prihvatanja podataka kod koga je B.8=0 • REN – dozvola rada prijemnika (kada je setovan omogućen je prijem) • TB8,RB8 – stanje osmog bita koji se šalje/prima • TI,RI – prekidni fleg predajnika/prijemnika

  45. Serijska komunikacija • MOD0 – Ovaj mod je namenjen proširivanju ulaznih/izlaznih portova pomoću pomeračkih (shift) registara. Učestanost ovog takta je fiksna i iznosi 1/12 učestanosti oscilatora • MOD1 – asinhroni 8-bitni prenos.Prenosi se 10 bitova (start, podaci, stop). Brzina prenosa je promenjiva i određuje se konfigurisanjem tajmera T1/T2 • MOD2,3 – jedanaest bitova se šalje preko TXD i prima preko RXD (start, podaci, bit iz TB8/RB8 i jedan stop bit)

  46. Serijska komunikacija MODE 0

  47. Serijska komunikacija MODE 1

  48. Serijska komunikacija MODE 2

  49. Serijska komunikacija MODE 3

  50. RS 232 interfejs standard (9 pina)

More Related