CursMS11_Prezentat_2014

14
•1 Liliana Dobrica, Sisteme cu Microprocesoare 2013-2014 1 Agenda Agenda • 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

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