CursMS11_Prezentat_2014
-
Upload
vlad-stefan-cristian -
Category
Documents
-
view
216 -
download
0
Transcript of CursMS11_Prezentat_2014
•1
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 1
AgendaAgenda
• Sistemul I/O
• Interfatarea cu circuitele de Intrare/Iesire
• Circuite suport programabile
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 2
Modalități de acces la spațiul I/O
•2
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 3
Exemple simple de porturi I/O
Port de intrare pe 8 biti cu 74ALS244
Port de iesire pe 8 biti cu 74ALS374
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 4
Aplicatie
• Sistem supervizor de control cu 64 switches si 64 LEDs.
• Magistrala sistem include 8 linii de date, 16 linii de adrese, linii de control pentru citire si scriere. Fiecare 8-bit input port (switch) si perechea corespunzatoare 8-bit output port (LED) au aceeasi adresa.
• Spatiul I/O este de la CBF0H-CBF7H.
• Decodificatoare, latch-uri, buffere sau porti logice sunt utilizate dupa cum este nevoie.
• Subrutinele citesc switches si seteaza LED-urile corespunzatoare.
•3
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 5
Aplicatie
• Arhitectura sistemului de control
8 8-bit buffers
Input
Output
DCD Logic
Data Bus (D0-D7)
Address Bus
(A0-A15)
64 Switches
64 LEDs
64
64
8
16
Write
Read
CS
8 8-bit buffers
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 6
Aplicatie
• Logica decodificatoare – DCD: decodifica liniile de adresa sa genereze semnalele de selectie.
• Fiecare linie a tabelului este adresa binara de la CBF0 la CBF7
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0
1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1
1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 0
1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 1
1 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0
1 1 0 0 1 0 1 1 1 1 1 1 0 1 0 1
1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0
1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1
Constant Variable
•4
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 7
Implementarea logicii decodificatoare
CS1
CS2
CS3
CS4
CS5 CS6
CS7
CS8
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 8
Implementarea sistemului
•5
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 9
Aplicatie
• Secventa de instructiuni de operare a sistemului
MOV DX,CBF4H ; incarca adresa portului.
IN AL,DX ; citeste valoare switch-uri.
OUT DX,AL ; actualizeaza starea LED-urilor
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 10
8255A – Interfata paralela programabila
• Diagrama generala
µµµµp
DCD
der
Read
Data
Adr
IR
READY
Write
Reset
Control register
Buffer data in
Buffer data out
Status register
PPI I/O device
Data in ready
Data in ack
Data out
Data in
Data out ready
Data out ack
•6
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 11
8255A – Interfata paralela programabila
• Interfatarea la magistrala sistemului
READY
DCD
der
Read
Data (D0-D7)
Adr
Write
Reset
8255A
Port A
PA 0;7
Port C PC 7;4
Port B
PB 0;7
Control reg.
PC 0;3
Group A
Group B
H L
A 1
A 0
CS
A1 A0 Selected Port
0 0 Port A
0 1 Port B
1 0 Port C
1 1 Control register
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 12
8255A – Interfata paralela programabila
• Exemplu: Interfatarea 8255A la magistrala sistemului. Magistrala sistemului are 16 linii de date (D0-D15), IORC\ si IOWC\ comenzi pentru operatiile de citire, respectiv de scriere. Porturile I/O pentru 8255A sunt: Port A: 00C0H, Port B: 00C2H, Port C: 00C4 and Control Register: 00C6.
• Procedura de proiectare: se decodifica adresele rezervate pentru 8255A astfel incat sa se obtina semnalul SEL\ pentru pinul de intrare CS\.
• Adresele in forma binara sunt:
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0
Constant A1 A0 C
8255A
•7
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 13
8255A – Interfata paralela programabila
• Implementarea selectiei si interfatarea
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 14
8255A – Interfata paralela programabila
• Programarea
• Octetul de control
7 6 5 4 3 2 1 0
D7 D6 D5 D4 D3 D2 D1 D0
Group B
Port C (PC7 – PC4) 1 – inputs 0 – outputs Port A 1 – input 0 – output Mode 00 – mode 0 01 – mode 1 1X – mode 2
Group A
Mode set flag 1 - active
Port C (PC3 – PC0) 1 – inputs 0 – outputs Port B 1 – input 0 – output Mode 0 – mode 0 1 – mode 1
•8
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 15
8255A – Interfata paralela programabila
• Programarea
• 8255A Set/Reset Port C
• Exemplu: Scrierea 00001101 in control register al 8255A selecteaza bitul 6 si-l seteaza pe 1.Astfel, output PC6 a Portului C este modificata pe nivelul 1 logic.
7 6 5 4 3 2 1 0
0 X X X D3 D2 D1 D0
Bit set/reset 1 – set 0 – reset Bit select
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 16
8255A – Interfata paralela programabila
• Modurile de operare: Mod 0, Mod 1 si Mod 2
• Modul 0. Selecteaza operarea simpla ca I/O. Bitii cuvantului de control sunt asociati fiecarui grup. Grupul A de 12 biti consta din port A (8 biti) si 4 biti din port C 7:4 . Similar grup B de 12 biti consta din f port B (8 biti) si 4 biti din port C 3:0.
• D4 – port A
• D3 – port C 7:4
• D1 – port B
• D0 – port C 3:0
•
• In modul 0 fiecare grup poate fi initializat ca output sau input.
•9
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 17
8255A – Interfata paralela programabila
• Modurile de operare: Mod 0, Mod 1 si Mod 2
• Modul 0. Exemplu: Initializare in modul 0 Group A and Group B outputs; control register address is COMMAND.
MOV AL, 10000000B ; set command byte
MOV DX, COMMAND ; load control register address
OUT DX, AL
• Aplicatii: 8255A opereaza in Modul 0 atunci cand Portul A si Portul B sunt conectate la un set de 8 LED-uri 7-segmente.
• 8255 opereaza in Modul 0 sa ofere semnale prin Port A pentru rotirea armaturii unui motor pas cu pas.
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 18
8255A – Interfata paralela programabila
•10
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 19
8255A – Interfata paralela programabila
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 20
Alte circuite suport
8279 - Programmable keyboard/display interface
• Permite scanarea unei tastaturii de 64 de taste având un buffer intern de 8 taste
• Permite controlul unui afișaj cu 16 caractere având o memorie internă RAM de 16 x 8
•11
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 21
Alte circuite suport
8279 - Programmable keyboard/display interface
• Pini
• A0 – selectează modul de date sau de control
• /BD - șterge display-ul
• /CS – chip select
• DB7-DB0 – pini de date bidirecționali
• IRQ – Interrupt request – indică apăsarea unei taste
• CN/ST, SHIFT – Control, Shift – conectate la butoanele echivalente ale tastaturii
• RL7-RL0 – Return Line - linii de citire a tastaturii
• SL3-SL0 – Scan Line – linii de scanare a tastaturii și display-ului
• OUTA,B0-OUTA,B3 – linii de comandă pentru display
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 22
Alte circuite suport
8279 - Programmable keyboard/display interface –Interfatarea cu tastatura
•12
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 23
Alte circuite suport
8279 - Programmable keyboard/display interface –Interfatarea cu displayul
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 24
Alte circuite suport
8254 – Real-time clock
•13
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 25
Alte circuite suport
8254 – Real-time clock - Cuvantul de comanda
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 26
Alte circuite suport
8254 – Real-time clock – Moduri de functionare
•14
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 27
Alte circuite suport
8254 – Real-time clock – Moduri de functionare (2)
• Mod 0 – după inițializare OUT devine 0 până când registrul intern de numărare devine 0, pinul G poate dezactiva numărătoarea
• Mod 1 – idem, dar cu activare pe pinul G
• Mod 2 – generator de frecvență / divizor, pinul G poate dezactiva numărătoarea
• Mod 3 – generator de semnal dreptunghiular , pinul G poate dezactiva numărătoarea
• Mod 4 – declanșator, pinul G poate dezactiva numărătoarea
• Mod 5 – declanșator cu activate pe pinul G
Liliana Dobrica, Sisteme cu Microprocesoare
2013-2014 28
Alte circuite suport
8254 – Real-time clock – Exemplu de utilizare