programación de microprocesadores 6

20
SEMANA 6 Interfase Periférica Programa (PPI – 8255) Arquitectura de computadoras

description

programación de microprocesadores 6

Transcript of programación de microprocesadores 6

  • SEMANA 6Interfase Perifrica Programable (PPI 8255)Arquitectura de computadoras

  • ObjetivosAl finalizar esta semana el alumno ser capaz de:Definir qu es una interfase perifrica programable y para qu sirve.Identificar su estructura interna.Identificar sus modos de operacin y cmo se programa.

  • Interfase Perifrica Programable

    6.1Introduccin.

    6.2Estructura interna.

    6.3Programacin y modos de operacin.

  • IntroduccinLa Interfase Perifrica Programable (Programmable Peripheral Interface, PPI) 8255 es un componente para interfase muy popular y de bajo costo presente en muchas aplicaciones.Es utilizado como interfase entre un microprocesador y cualquier dispositivo de E/S compatible con tecnologa TTL.

  • IntroduccinEl PPI cuenta con 24 pines para E/S los cuales son programables en grupos de 12 pines cada uno.Cuentan con varios modos de operacin.Uno de sus grupos cuenta con tres modos de operacin.

  • IntroduccinEl 82C55 (versin CMOS) requiere la insercin de periodos de espera si trabaja con un microcontrolador que trabaje a ms de 8MHz.Puesto que los dispositivos de E/S son relativamente lentos en comparacin con un microprocesador, los periodos de espera no impactan significativamente con la velocidad del sistema.

  • IntroduccinEl 82C55 aun cuenta con aplicaciones En los computadores personales (aun en computadores con procesador Pentium 4) el 82C55 es usado para interfase con el teclado y el puerto paralelo de impresora (aunque ste pueda ya no estar como un componente discreto, encontrndose incorporadas sus funciones al chipset).

  • IntroduccinEl PPI cuenta con 24 pines para E/S los cuales son programables en grupos de 12 pines cada uno.Vcc = pin 26Gnd = pin 7

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PA6

    PA7

    PB0

    PB1

    PB2

    PB3

    PB4

    PB5

    PB6

    PB7

    PC0

    PC1

    PC2

    PC3

    PC4

    PC5

    PC6

    PC7

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    RD

    WR

    A0

    A1

    RESET

    CS

    5

    36

    9

    6

    8

    35

    34

    33

    32

    28

    29

    27

    31

    30

    14

    15

    16

    11

    12

    10

    17

    13

    18

    19

    20

    24

    23

    25

    21

    22

    4

    3

    2

    38

    39

    37

    1

    40

    82C55

  • Estructura Interna del PPITiene tres puertos de E/S: A, B y C.Los puertos son programables por grupos:El grupo A est formado por el puerto A (PA7-PA0) y la mitad superior del puerto C (PC7-PC4).El grupo B est formado por el puerto B (PB7-PB0) y la mitad inferior del puerto C (PC3-PC0).

  • Estructura Interna del PPIEl 82C55 cuenta con seis pines de control: RD, WR, A0, A1, RESET, CS.RD: utilizada para seleccionar una operacin de lectura. Se activa en BAJA.WR: utilizada para seleccionar una operacin de escritura. Se activa en BAJA.A0, A1: permiten seleccionar un registro interno del PPI para programacin u operacin.RESET: para reiniciar al PPI (todos los puertos como puertos de entrada en modo 0).CS: (chip select) utilizada para seleccionar al PPI para programacin o para lectura o escritura de uno de sus puertos. Se activa en BAJA.

  • Estructura Interna del PPIAsignacin de los puertos de E/S para el 82C55.

    A1A0Funcin00Puerto A01Puerto B10Puerto C11Registro de Comando

  • Estructura Interna del PPIEn los computadores personales el 82C55 o su equivalente es mapeado en las direcciones de puerto 60H-63H.Se emplea para control de teclado, as como para control de parlante, temporizador y otros dispositivos internos como expansin de memoria.

  • ProgramacinEl 82C55 es programado a travs de dos registros de control internos.Al recibir un comando por sus lneas de datos el PPI determina a cual registro de control va dirigido dicho comando de acuerdo al valor de su bit ms significativo:1: Registro de control A0: Registro de control B.

  • Programacin

    1

    3

    7

    6

    5

    4

    2

    1

    0

    PortC (PC3 PC0)1 = entrada0 = salida

    PortB1 = entrada0 = salida

    Modo0 = modo 01 = modo 1

    Grupo B

    Byte de control A

    Modo00 = modo 001 = modo 11X = modo 2

    PortA1 = entrada0 = salida

    PortC (PC7 PC4)1 = entrada0 = salida

    Grupo A

    0

    X

    X

    X

    7

    6

    5

    4

    3

    2

    1

    0

    Byte de control B

    Set/Reset de Bit0 = set1 = reset

    Seleccin de unbit del puerto C

  • Programacin:Modo 0EL modo de operacin 0 causa que el 82C55 funcione o como buffer de entrada o como latch de salida. Es decir, los puertos A, B y C pueden ser individualmente programados como puertos de entrada o salida. El puerto C es dividido en dos grupos de 4 bits (nibble), programados cada uno de manera independiente.

  • Programacin:Modo 1El modo de operacin 1 permite la implementacin de una comunicacin paralela unidireccional.En este modo el puerto A y/o el puerto B pueden ser configurados como un registro de entrada. Esto permite que los datos externos enviados se almacenen en el puerto hasta que el microprocesador est listo para leerlos.El puerto C se utiliza para gestionar las seales de reconocimiento o control que hacen funcionar al puerto A y/o al puerto B como puertos de entrada mediante una seal estroboscpica.

  • Programacin:Modo 2El modo de operacin 2 permite la implementacin de una comunicacin paralela bidireccional.Este modo slo es vlido para el grupo A, donde el puerto A se vuelve bidireccional permitiendo transmitir y recibir datos en los 8 bits del bus.

  • Ejemplos de empleoInterfaz para conectar 8 displays de 7 segmentos con un microprocesador 8088 a travs de un PPI

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PA6

    PA7

    PB0

    PB1

    PB2

    PB3

    PB4

    PB5

    PB6

    PB7

    PC0

    PC1

    PC2

    PC3

    PC4

    PC5

    PC6

    PC7

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    RD

    WR

    A0

    A1

    RESET

    CS

    A

    B

    C

    G2A

    G1

    G2B

    1

    2

    3

    4

    6

    5

    A7

    A3

    A4

    A6

    A5

    A0

    Y0

    Y1

    Y2

    Y3

    Y4

    Y5

    Y6

    Y7

    15

    14

    13

    9

    10

    7

    12

    11

    5

    36

    9

    6

    8

    35

    IORC

    IOWC

    A1

    A2

    RESET

    D0

    34

    33

    32

    28

    29

    27

    31

    30

    14

    15

    16

    11

    12

    10

    17

    13

    18

    19

    20

    24

    23

    25

    21

    22

    4

    3

    2

    38

    39

    37

    1

    40

    82C55

    Vcc

    2.2K

    690

    2N2222

    39

    D0

    D1

    D2

    D3

    D5

    D6

    D6

    D7

    2N2907

    D1

    D2

    D3

    D4

    D5

    D6

    D7

  • Ejemplos de empleoInterfaz para controlar un motor de paso. Adicionalmente se controla un teclado matricial y un display LCD.

    Display LCD4 lneas x 20

    PA0

    PA1

    PA2

    PA3

    PA4

    PA5

    PA6

    PA7

    PB0

    PB1

    PB2

    PB3

    PB4

    PB5

    PB6

    PB7

    PC0

    PC1

    PC2

    PC3

    PC4

    PC5

    PC6

    PC7

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    RD

    WR

    A0

    A1

    RESET

    CS

    5

    36

    9

    6

    8

    35

    34

    33

    32

    28

    29

    27

    31

    30

    14

    15

    16

    11

    12

    10

    17

    13

    18

    19

    20

    24

    23

    25

    21

    22

    4

    3

    2

    38

    39

    37

    1

    40

    82C55

    Vee

    VCC

    10K

    VCC

    15

    LEDA

    LEDK

    D0

    D1

    D2

    D3

    D4

    D5

    D6

    D7

    R/W

    RS

    E

    12 V

    Motor de paso

    10K

    10K

    10K

    10K

    10K

    10K

    10K

    10K

    VCC

  • FinIng. Luis Raymi Romn

    ******