SlideShare a Scribd company logo
1 of 36
Download to read offline
Módulos de Comunicación Serie




                         COMUNICACIÓN SERIE
           PARA SISTEMAS BASADOS EN MICROCONTROLADORES PIC




                                                               1
MicrocontroladoresPIC             ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




                                          COMUNICACIÓN SERIE
      • Los datos se envían bit a bit por una misma línea y durante un tiempo fijo

      • Velocidad de transmisión: número de bits enviados por segundo (baudios)

      • Transferencia Síncrona: se envía señal de reloj para sincronizar cada bit

      • Transferencia Asíncrona: no se envía la señal de reloj. Se necesitan relojes
        en el emisor y en el receptor de la misma frecuencia y en fase
                                                                   Datos

                                  Datos
                                                                           Bi   Bi+1       t
                                  ¿Reloj?
           EMISOR                            RECEPTOR             Reloj

                             Referencia                                                    t
                             de tensión



                                                                                       2
MicrocontroladoresPIC                        ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




                                  COMUNICACIÓN SERIE (II)

     • Se emplean dos registros de desplazamiento (uno en el emisor y otro
     en el receptor) encadenados para la conversión paralelo/serie en la emisión
     y la serie/paralelo en la recepción

     • Sincronizaciones:

             * De los sucesivos bits
             * De cada paquete de bits (8 ó 9 bits)

     • Se envía la señal de reloj si la distancia entre Emisor y Receptor es corta:
     menores retardos en las transiciones y menores flancos en la señal de reloj
     recibida

     • Codificaciones posibles de cada bit:

             *   NRZ (nivel alto: 1 / nivel bajo: 0)
             *   NRZI (cambio de nivel: 1 / sin cambio de nivel: 0)
             *   RZ (impulso: 1 / sin impulso: 0)
             *   ....
                                                                                   3
MicrocontroladoresPIC                  ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  TRANSFERENCIA SÍNCRONA

     • Dispositivo Maestro: el que genera la señal de reloj, es el que tiene capacidad
     de iniciar o finalizar una transferencia

     • Dispositivo Esclavo: recibe la señal de reloj, no tiene capacidad para iniciar
     una transferencia de información

     • Es posible una transmisión continua de bits, no hay limite en tamaño de datos




                          Dato                                             Dato

       Maestro             Clk     Esclavo                   Maestro       Clk     Esclavo
                           Ref.                                            Ref.


              Maestro Emitiendo                                      Maestro Recibiendo

                                                                                             4
MicrocontroladoresPIC                   ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                   TRANSFERENCIA ASÍNCRONA

     • Se emplean relojes de igual frecuencia (se acuerda y configura la velocidad
     de transmisión) pero es necesario que estén en fase (sincronizados)

     • Cada paquete de bits de tamaño fijo se “enmarca” con bits de arranque y de
     parada que sirven para sincronizar los relojes del emisor y del receptor

     • La línea de datos inactiva a “1”, si se desea enviar un dato se manda un bit
     de arranque que sitúa a “0” la línea durante el tiempo correspondiente a un bit

     • Al finalizar el envío de un dato, la línea se sitúa a “1” al menos durante el
     tiempo de un bit: bit de parada


                                                 Datos
           Reg. desplazamiento                                         Reg. desplazamiento


                                             Referencia                Sincr.       Reloj
                                  Reloj
                                                                                             5
MicrocontroladoresPIC                     ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




          Microcontroladores PIC: MÓDULOS DE COMUNICACIÓN SERIE

       • Módulo SCI (Serial Communication Interface)
         ó USART (Universal Synchronous Asynchronous Receiver Transmitter)

              Dos pines asignados para la comunicación:            RC6/TX/CK
                                                                   RC7/RX/DT
              Modo Asíncrono (full dúplex)
              Modo Síncrono (semi dúplex)


       • Módulo SSP (Synchronous Serial Port)

              Cuatro pines asignados para comunicación:            RC5/SDO
                                                                   RC4/SDI
              Interface Síncrono                                   RC3/SCK
                  SPI (Serial Peripheral Interface) full dúplex    RA5/SS
                  I2C (Inter-Integrated Circuit) semi dúplex

                                                                               6
MicrocontroladoresPIC                 ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




   Configurable en tres modos de trabajo:
                                                                     MÓDULO SCI

          1.- Asíncrono (full dúplex)

                 - Recepción y transmisión independientes compartiendo generador
                 de relación de baudios (BRG)
                 - TX: pin de transmisión (salida)
                 - RX: pin de recepción (entrada)

          2.- Síncrono modo Maestro (semi dúplex)

                 - CK: reloj generado por el PIC (salida)
                 - DT: datos entrantes (recepción) o salientes (transmisión)

          3.- Síncrono modo Esclavo (semi dúplex)

                 - CK: reloj entrante
                 - DT: datos entrantes (recepción) o salientes (transmisión)

                                                                                  7
MicrocontroladoresPIC                   ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  MÓDULO SCI (II)
    • Los pines relacionados con la comunicación no es necesario que sean
    configurados como salidas en el TRISC, si está operativo el módulo
    prevalecen sobre el registro de dirección de datos

    • Registros asociados al SCI:

    Registros de control y estado
    TXSTA (0x98) & RCSTA (0x18)

    Registro de Relación de Baudios
    SPBRG (0x99)

    Registro de datos de transmisión:
    TXREG (0x19)

    Registro de recepción de datos:
    RCSTA (0x18)
                                                                            8
MicrocontroladoresPIC                 ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                        MÓDULO SCI EN TRANSMISIÓN ASÍNCRONA

• Es la conexión más adecuada para la comunicación con un equipo alejado

• Los niveles lógicos de las señales se corresponden con los niveles eléctricos
de alimentación del microcontrolador

• Hay varias normas de transmisión serie asíncrona: RS232, RS485, RS422,...
que emplean niveles de tensión más inmunes al ruido (RS232) o que emplean
tensiones diferenciales (RS485, RS422) y que son más apropiadas para
distancias largas entre dispositivos

• Para implementar estas transmisiones, sería necesario la adaptación de
niveles eléctricos mediante los correspondientes circuitos integrados de
adaptación (drivers o transceivers)

• Si los microcontroladores a comunicar están cercanos podría obviarse esa
adaptación

• La transmisión puede ser unidireccional o bidireccional y simultánea
                                                                            9
MicrocontroladoresPIC               ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




 Ejemplo típico: comunicación PIC - PC mediante puerto serie (RS232)



                                                      Niveles escritura RS232
            “1” -> 5V                                   “1” -> -5V a -15V
            “0” -> 0V                                   “0” -> +5V a +15V

                                  RX    Driver                   TX
                                        RS232
                                  TX                                  RX
                                       (MAX232)
                        GND                                           GND

                                                      Niveles lectura RS232
                                                        “1” -> -3V a -15V
    CONEXIÓN A 3 HILOS                                  “0” -> +3V a +15V
       FULL DÚPLEX


                                                                                10
MicrocontroladoresPIC                    ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



   BLOQUES PARA SCI EN MODO ASÍNCRONO:

          • Generador de Relación de Baudios (BRG)

                 - Define la velocidad de transferencia (transmisión y recepción)
                 - Genera reloj de comunicación a partir del oscilador del MCU

          • Circuito de Muestreo

                 - Detección de “1” ó “0” en pin RX
                 - Sincronización de reloj

          • Transmisor Asíncrono

                 - Registro serie de transmisión con buffer de carga

          • Receptor Asíncrono

                 - Registro serie de recepción con doble buffer
                                                                                11
MicrocontroladoresPIC                 ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  Generador de Relación de Baudios (BRG)

    • Se emplea para determinar la frecuencia de reloj para los registros de
    desplazamiento de los bloques de transmisión y recepción

    • Depende del valor X cargado en el registro de generación de la
    relación de baudios SPBRG (dirección 0x99) y del estado del bit BRGH
    del registro TXSTA



 Modo Síncrono (1) ó Asíncrono (0)

                        BRGH = 1 (velocidad alta): baudios = fosc /(16*(X+1))

                        BRGH = 0 (velocidad baja): baudios = fosc /(64*(X+1))

        SCI Asíncrono ( en modo síncrono BRGH se ignora y es otra la fórmula)

                                                                                12
MicrocontroladoresPIC                        ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  Generador de Relación de Baudios (II)

    • Al ser SPBRG un registro de 8 bits, puede que no sea posible alcanzar de
    manera exacta la velocidad de transmisión deseada

    • Cálculo del Error = (Valor calculado - Valor deseado) / Valor deseado

    Ejemplo:
                  Valor deseado = 9600 baudios
                  fosc = 16MHz

                  BRGH = 0 -> 9600 = 16000000 / (64 * (X+1))
                                 X = 25,042 -> SPBRG = 25

                  Valor calculado = 16000000 / (64 * (25+1)) = 9615 baudios

                  Error = (9615 - 9600)/9600 = 0,16 %

    • Puede alcanzarse menor error configurando velocidad alta (BRGH=1)
                                                                              13
MicrocontroladoresPIC                        ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



Ejemplos con BRGH=0
Ejemplos con BRGH=1




                                                                          14
    MicrocontroladoresPIC                    ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  Circuito de Muestreo

  • Codificación de los bits de los datos NRZ (Non Return to Zero) con un bit de start,
  8 ó 9 bits de datos y un bit de stop

  • El transmisor saca sus bits por TX (empezando por B0) con los flancos que
  marca su generador de relación de baudios (reloj), pero no lo envía

  • El receptor introduce los bits que van apareciendo en su línea RX al ritmo
  de su generador de relación de baudios (que tendrá un valor similar al del
  transmisor) pero debe sincronizarse mediante la aparición del bit de start
  en la línea de datos

  • Es materialmente imposible hacer coincidir flancos de relojes de TX y RX

  • Por tal motivo se necesita un circuito de muestreo de la línea de datos
  que trata de leer si hay un “uno” o un “cero” en la mitad del periodo de
  cada bit (señal estabilizada tras posible cambio)

                                                                                   15
MicrocontroladoresPIC               ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                    Circuito de Muestreo (II)

           • Se emplea un sistema “votado” mediante tres muestras tomadas en el centro
           de cada bit mediante un reloj de frecuencia 16 veces superior al de recepción
           si BRGH=0




                         Tras el flanco de bajada del bit de Start, se muestrea
                               en los flancos de bajada 7, 8 y 9 del reloj
                             de frecuencia 16 veces la del reloj de baudios




                                                                                     16
MicrocontroladoresPIC                     ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




      • O bien tres muestras tomadas con otro criterio también en el centro
      de cada bit mediante un reloj de frecuencia 4 veces el de recepción si BRGH=1




           Tras el primer flanco de bajada en reloj de baudios x 4 después de Start,
                   se muestrea en los 3 flancos (subida o bajada) del oscilador
                        anteriores al segundo flanco de subida del reloj




                                                                                       17
MicrocontroladoresPIC                 ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                         Transmisor Asíncrono
     Indica TXREG
    vacío (TXIF=1)                                          TXREG: buffer del Registro de Desplazamiento
                                                                 (accesible para lectura/escritura)



                                                                                Salida de Datos




                                                                                          Módulo SCI activo
 Permite entrada
de reloj al registro
  de transmisión                                                         Indica TSR vacío (TRMT=1)
        TSR                                                                     Diagrama de Bloques

           Bit 9 si Datos de 9 bits                  TSR: Registro de Desplazamiento
                                                       (no accesible directamente)
                        Config. Datos de 9 bits


                                                                                                      18
MicrocontroladoresPIC                       ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



  Si TSR vacío y se escribe en TXREG, el dato pasa a TSR y se inicia transmisión

                                          movwf TXREG
                   DATO


TXREG                         vacío                                     vacío



TSR                          vacío                                      DATO


  Si TSR lleno y se escribe en TXREG, nuevo dato en TXREG hasta que TSR quede vacío
                                           movwf TXREG
                   DATO2


TXREG                             vacío                                  DATO2




  TSR                         DATO1                                     DATO1
                                                                                   19
MicrocontroladoresPIC                      ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



             TSR vacío cuando se envía bit de STOP, el dato en TXREG pasa a TSR




TXREG                             DATO2                                 vacío




  TSR            vacío (fin transm.DATO1)                              DATO2



    FLAGS indicadores:

           •TXIF: (PIR1<4>) TXREG vacío (puede activar interrupción). Este flag
           se pone a cero automáticamente (no por software) si TXREG ocupado.
           El flag está activo si lo está la transmisión (TXEN=1)

           •TRMT: (TXSTA<1>) TSR vacío


                                                                                  20
MicrocontroladoresPIC                     ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  Cronograma del envío de un dato:




                           Cronograma del envío de dos datos consecutivos:




                                                                             21
MicrocontroladoresPIC                     ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie


                                                REGISTROS PARA CONFIGURAR LA TRANSMISIÓN:
Configuración de Transmisión Serie Asíncrona
                                                                      TXREG vacío




                                               Máscara de interrupción si TXREG vacío
                                                                                     Registro RCSTA (0x18)




                                                                                                             22
MicrocontroladoresPIC                                                   ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




      Configuración de Transmisión Serie Asíncrona
                                                                           Bits que afectan a transmisión
                                                                                   serie asíncrona




                                                                  Registro TXSTA (0x98)




                                                                                                       23
MicrocontroladoresPIC                                ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                Pasos a dar para realizar una Transmisión serie Asíncrona:


    1.- Cargar SPBRG para una velocidad de transmisión dada (baudios) y
    configurar velocidad alta o baja (BRGH)

    2.- Activar módulo SCI (SPEN=1) y definirlo como Asíncrono (SYNC=0)

    3.- Si se quiere detectar buffer vacío por interrupción TXIE=1

    4.- Si se desea tamaño de datos de 9 bits configurar TX9=1

    5.- Activar transmisión (TXEN=1) que hará que TXIF=1

    6.- Si se seleccionaron 9 bits, cargar el 9º en TX9D

    7.- Cargar el dato en TXREG (se inicia la transmisión)



                                                                             24
MicrocontroladoresPIC                ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                         Receptor Asíncrono                 RSR: Registro Desplazamiento
                                                                             (no accesible directamente)
                         Habilita Recepción RCSTA<4>

                                                                                            Indicadores
                                                                                            de errores




    Entrada Serie
                                      Datos de 9 bits
                 SCI activo


     Diagrama de Bloques

                                                                     RCREG: doble buffer recepción
          RCIF: indica recepción completada                               (estructura FIFO)
              (dato no leido en FIFO)

                                                                                                     25
MicrocontroladoresPIC                       ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



    Llegada de un dato y RCREG vacío


 RSR                          Dato1                      RSR           Vacío


                              Vacío                                    Vacío
RCREG                                                  RCREG
(doble)                       Vacío                    (doble)         Dato1


    Llegada de un segundo dato y RCREG no leído


   RSR                            Dato2                    RSR          Vacío


                                  Vacío                                 Dato2
  RCREG                                                   RCREG
  (doble)                         Dato1                   (doble)       Dato1



                                                                                26
MicrocontroladoresPIC                     ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



   Llegada de un tercer dato y RCREG doble no leído


  RSR                             Dato3                       Error de Overrun: OERR=1 (grave)

                                                              Se pierde el Dato3
                                  Dato2
 RCREG                                                        Bloqueo total de la Recepción
 (doble)                          Dato1                       Se debe resetear el sistema de recepción:
                                                                       CREN=0 y luego CREN=1

    FLAGS indicadores:

           •RCIF: (PIR1<5>) (puede activar interrupción). Indica dato/s disponible/s
           para lectura en RCREG. Se pone a cero automáticamente (no por software)
           cuando RCREG esté vacío (el doble buffer debe estarlo).

           •OERR(=RCSTA<1>) Error de Overrun: hay que resetear el receptor para volver a 0

           •FERR(=RCSTA<2>) Error de Trama: el bit de STOP debería ser “0” pero se lee “1”
           (también presenta un doble buffer FIFO)

                                                                                                 27
MicrocontroladoresPIC                     ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  Cronograma de recepción de un dato:

                                                 Llegada de un segundo dato:
    Llegada de un primer dato:                           bit de STOP                      Tercer dato
           bit de STOP                                                             sin haber realizado lectura
                                                                                       (error de Overrun)




                                                                   Lecturas posteriores
                                                                 a la llegada del 3er dato




         RCREG vacío al principio                                           Reset de Recepción
                                                                           para volver OERR a 0


                                                                                                    28
MicrocontroladoresPIC                       ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie


                                                   REGISTROS PARA CONFIGURAR LA RECEPCIÓN:
                                                                      Dato en RCREG
      Configuración de Recepción Serie Asíncrona




                                                    Máscara de interrupción                          Velocidad
                                                        si RCREG lleno                               recepción



                                                                          SCI asíncrono
                                                                           ó síncrono




                                                                                                                 29
MicrocontroladoresPIC                                                   ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




      Configuración de Recepción Serie Asíncrona   Bits que afectan a la Recepción serie Asíncrona




                                                                                       Registro RCSTA (0x18)




                                                                                                               30
MicrocontroladoresPIC                                                    ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie


                  Pasos a dar para preparar una Recepción serie Asíncrona:
         1.- Inicializar el registro SPBRG para una velocidad dada (baudios) de
         recepción y configurar velocidad alta o baja (BRGH)

         2.- Activar módulo SCI (SPEN=1) y definirlo como Asíncrono (SYNC=0)

         3.- Si se quiere detectar recepción por interrupción RCIE=1

         4.- Si se desea tamaño de datos de 9 bits configurar RX9=1

         5.- Activar recepción (CREN=1)

         6.- Al completarse la recepción de un dato RCIF=1 y si se habilitaron
         interrupciones, se generará una

         7.- Si se seleccionaron 9 bits, leer el 9º en RX9D de RCSTA. Se determina
         también si se dio algún error (OERR ó FERR)

         8.- Leer el dato en RCREG para obtener el dato recibido

         9.- Si se dio algún error resetear con CREN=0
                                                                                     31
MicrocontroladoresPIC                 ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  Detección de “Dirección” en la Recepción

                 SÓLO es posible en algunos microcontroladores (p.e. PIC16F87x)
                       los que tienen el bit ADDEN en el registro RCSTA




                                                                     Tiene efecto sólo si están
                                                                     definidos los datos de tamaño 9 bits

                                                                     Si se activa sirve para admitir sólo
                                                                     los datos que lleguen con el bit más
                                                                     signif. a uno y no admitir el resto




                                                                                                    32
MicrocontroladoresPIC                        ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie



                                  Detección de “Dirección” en la Recepción (II)

          • Este procedimiento se emplearía para una comunicación serie en la que hay
          varios receptores posibles y se identifican los destinatarios de los mensajes
          mediante una dirección

          • Se distinguen bytes de datos y bytes de direcciones

                        Dirección del destinatario                           Dato

                                     TX

                   EMISOR                        RX                         RX            RX

                                           Receptor                 Receptor        Receptor
                                           Dirección 1             Dirección 2      Dirección n




          • Los bytes de direcciones se pueden diferenciar de los de datos en que
          tienen el 9º bit a uno y se pueden emplear para filtrar mediante ADDEN

                                                                                                  33
MicrocontroladoresPIC                          ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie

                                  Modificación del diagrama de bloques
                                       para PICs con bit ADDEN




               Para que ADDEN tenga efecto
                se debe tener también RX9=1




                                                                         34
MicrocontroladoresPIC                       ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




     Cronograma recepción: byte de datos seguido de byte de dirección con ADDEN=1




                        El byte de datos no entra en RCREG debido a que ADDEN=1




                                                                                  35
MicrocontroladoresPIC                      ©ATE-Universidad de Oviedo
Módulos de Comunicación Serie




      Cronograma recepción: byte de dirección seguido de byte de datos con ADDEN=1




                 El byte de datos no entra en RCREG debido a que todavía ADDEN=1



     • Tras detectar una dirección (bit 8 a “1”) y comprobar que el resto del byte de
     dirección se corresponde con la asignada al dispositivo, se debe poner el bit
     ADDEN a “0” para que se admita el byte de datos que viene a continuación (o el
     resto de la dirección si es mayor de 1 byte el tamaño)




                                                                                    36
MicrocontroladoresPIC                 ©ATE-Universidad de Oviedo

More Related Content

What's hot

gerbang-logika-dan-aljabar-boole.ppt
gerbang-logika-dan-aljabar-boole.pptgerbang-logika-dan-aljabar-boole.ppt
gerbang-logika-dan-aljabar-boole.pptpecahkongsi
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
 
Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos GM Lamo
 
Apuntes diodos transistores
Apuntes diodos transistoresApuntes diodos transistores
Apuntes diodos transistoresattipax
 
Diseño de un Oscilador Controlado por Tensión (VCO) en Tecnología SiGe 0.35µm...
Diseño de un Oscilador Controlado por Tensión (VCO) en Tecnología SiGe 0.35µm...Diseño de un Oscilador Controlado por Tensión (VCO) en Tecnología SiGe 0.35µm...
Diseño de un Oscilador Controlado por Tensión (VCO) en Tecnología SiGe 0.35µm...RFIC-IUMA
 
Guia para el examen de electronica digital
Guia para el examen de electronica digitalGuia para el examen de electronica digital
Guia para el examen de electronica digitalGabriel Vazquez
 
EDII15 [2012.1] Classificação Externa
EDII15 [2012.1]   Classificação ExternaEDII15 [2012.1]   Classificação Externa
EDII15 [2012.1] Classificação ExternaKianeLedok
 
Pencacah biner
Pencacah biner Pencacah biner
Pencacah biner pungkinur
 
Manejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreManejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreLuis Zurita
 
Trabajo preparatorio 3
Trabajo preparatorio 3Trabajo preparatorio 3
Trabajo preparatorio 3Sara Emilia
 
Robot line follower analog
Robot line follower analogRobot line follower analog
Robot line follower analogPuput Dani
 
Amplificadores TBJ
Amplificadores TBJAmplificadores TBJ
Amplificadores TBJBertha Vega
 

What's hot (17)

filtros activos
filtros activos filtros activos
filtros activos
 
Electrónica: Aplicaciones transistor
Electrónica: Aplicaciones transistorElectrónica: Aplicaciones transistor
Electrónica: Aplicaciones transistor
 
Biestable
Biestable  Biestable
Biestable
 
gerbang-logika-dan-aljabar-boole.ppt
gerbang-logika-dan-aljabar-boole.pptgerbang-logika-dan-aljabar-boole.ppt
gerbang-logika-dan-aljabar-boole.ppt
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4
 
Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos
 
Apuntes diodos transistores
Apuntes diodos transistoresApuntes diodos transistores
Apuntes diodos transistores
 
Familias ttl y cmos
Familias ttl y cmosFamilias ttl y cmos
Familias ttl y cmos
 
Diseño de un Oscilador Controlado por Tensión (VCO) en Tecnología SiGe 0.35µm...
Diseño de un Oscilador Controlado por Tensión (VCO) en Tecnología SiGe 0.35µm...Diseño de un Oscilador Controlado por Tensión (VCO) en Tecnología SiGe 0.35µm...
Diseño de un Oscilador Controlado por Tensión (VCO) en Tecnología SiGe 0.35µm...
 
Elektronika analog 2
Elektronika analog 2Elektronika analog 2
Elektronika analog 2
 
Guia para el examen de electronica digital
Guia para el examen de electronica digitalGuia para el examen de electronica digital
Guia para el examen de electronica digital
 
EDII15 [2012.1] Classificação Externa
EDII15 [2012.1]   Classificação ExternaEDII15 [2012.1]   Classificação Externa
EDII15 [2012.1] Classificação Externa
 
Pencacah biner
Pencacah biner Pencacah biner
Pencacah biner
 
Manejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladoreManejo de perifericos para microcontroladore
Manejo de perifericos para microcontroladore
 
Trabajo preparatorio 3
Trabajo preparatorio 3Trabajo preparatorio 3
Trabajo preparatorio 3
 
Robot line follower analog
Robot line follower analogRobot line follower analog
Robot line follower analog
 
Amplificadores TBJ
Amplificadores TBJAmplificadores TBJ
Amplificadores TBJ
 

Similar to Sci asincrono

Conceptos+generales+de+redes[1]
Conceptos+generales+de+redes[1]Conceptos+generales+de+redes[1]
Conceptos+generales+de+redes[1]victor8706
 
Conceptos generales de redes gil
Conceptos generales de redes  gilConceptos generales de redes  gil
Conceptos generales de redes gilGilberto661025
 
Rs 232
Rs 232Rs 232
Rs 232UPSE
 
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdfUNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdfSistemadeEstudiosMed
 
Resumen machin
Resumen machinResumen machin
Resumen machinfalso1223
 
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Cristina Urdiales
 
Introduccion a los sistemas de comunicación
Introduccion a los sistemas de comunicaciónIntroduccion a los sistemas de comunicación
Introduccion a los sistemas de comunicaciónRafael Menacho
 
Telecomunicaciones internet
Telecomunicaciones internetTelecomunicaciones internet
Telecomunicaciones internetisraeltinajero
 
Sistemas domóticos basados en bus de campo
Sistemas domóticos basados en bus de campoSistemas domóticos basados en bus de campo
Sistemas domóticos basados en bus de campodomotizando
 
Comunicaciones en serie
Comunicaciones  en serieComunicaciones  en serie
Comunicaciones en seriejenym
 
REDES DE ORDENADORES
REDES DE ORDENADORESREDES DE ORDENADORES
REDES DE ORDENADORESPipe Diaz
 
Arquitectura decomputadoras
Arquitectura decomputadorasArquitectura decomputadoras
Arquitectura decomputadorasLuiFer Cvil
 
Clase 2 Capa Fisica
Clase 2 Capa FisicaClase 2 Capa Fisica
Clase 2 Capa FisicaProfesorDroy
 

Similar to Sci asincrono (20)

Conceptos+generales+de+redes[1]
Conceptos+generales+de+redes[1]Conceptos+generales+de+redes[1]
Conceptos+generales+de+redes[1]
 
Conceptos generales de redes gil
Conceptos generales de redes  gilConceptos generales de redes  gil
Conceptos generales de redes gil
 
Norma RS232
Norma RS232Norma RS232
Norma RS232
 
No Guiados Codific Multiplex
No Guiados Codific MultiplexNo Guiados Codific Multiplex
No Guiados Codific Multiplex
 
Rs 232
Rs 232Rs 232
Rs 232
 
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdfUNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
 
Resumen machin
Resumen machinResumen machin
Resumen machin
 
Señales y sistemas de teleproceso
Señales y sistemas de teleprocesoSeñales y sistemas de teleproceso
Señales y sistemas de teleproceso
 
Protocolo comunicación serial
Protocolo comunicación serialProtocolo comunicación serial
Protocolo comunicación serial
 
Comunicación Serie
Comunicación SerieComunicación Serie
Comunicación Serie
 
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
 
Introduccion a los sistemas de comunicación
Introduccion a los sistemas de comunicaciónIntroduccion a los sistemas de comunicación
Introduccion a los sistemas de comunicación
 
Telecomunicaciones internet
Telecomunicaciones internetTelecomunicaciones internet
Telecomunicaciones internet
 
Puertoserial[1]
Puertoserial[1]Puertoserial[1]
Puertoserial[1]
 
Sistemas domóticos basados en bus de campo
Sistemas domóticos basados en bus de campoSistemas domóticos basados en bus de campo
Sistemas domóticos basados en bus de campo
 
Comunicaciones en serie
Comunicaciones  en serieComunicaciones  en serie
Comunicaciones en serie
 
actividad 1
actividad 1actividad 1
actividad 1
 
REDES DE ORDENADORES
REDES DE ORDENADORESREDES DE ORDENADORES
REDES DE ORDENADORES
 
Arquitectura decomputadoras
Arquitectura decomputadorasArquitectura decomputadoras
Arquitectura decomputadoras
 
Clase 2 Capa Fisica
Clase 2 Capa FisicaClase 2 Capa Fisica
Clase 2 Capa Fisica
 

Sci asincrono

  • 1. Módulos de Comunicación Serie COMUNICACIÓN SERIE PARA SISTEMAS BASADOS EN MICROCONTROLADORES PIC 1 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 2. Módulos de Comunicación Serie COMUNICACIÓN SERIE • Los datos se envían bit a bit por una misma línea y durante un tiempo fijo • Velocidad de transmisión: número de bits enviados por segundo (baudios) • Transferencia Síncrona: se envía señal de reloj para sincronizar cada bit • Transferencia Asíncrona: no se envía la señal de reloj. Se necesitan relojes en el emisor y en el receptor de la misma frecuencia y en fase Datos Datos Bi Bi+1 t ¿Reloj? EMISOR RECEPTOR Reloj Referencia t de tensión 2 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 3. Módulos de Comunicación Serie COMUNICACIÓN SERIE (II) • Se emplean dos registros de desplazamiento (uno en el emisor y otro en el receptor) encadenados para la conversión paralelo/serie en la emisión y la serie/paralelo en la recepción • Sincronizaciones: * De los sucesivos bits * De cada paquete de bits (8 ó 9 bits) • Se envía la señal de reloj si la distancia entre Emisor y Receptor es corta: menores retardos en las transiciones y menores flancos en la señal de reloj recibida • Codificaciones posibles de cada bit: * NRZ (nivel alto: 1 / nivel bajo: 0) * NRZI (cambio de nivel: 1 / sin cambio de nivel: 0) * RZ (impulso: 1 / sin impulso: 0) * .... 3 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 4. Módulos de Comunicación Serie TRANSFERENCIA SÍNCRONA • Dispositivo Maestro: el que genera la señal de reloj, es el que tiene capacidad de iniciar o finalizar una transferencia • Dispositivo Esclavo: recibe la señal de reloj, no tiene capacidad para iniciar una transferencia de información • Es posible una transmisión continua de bits, no hay limite en tamaño de datos Dato Dato Maestro Clk Esclavo Maestro Clk Esclavo Ref. Ref. Maestro Emitiendo Maestro Recibiendo 4 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 5. Módulos de Comunicación Serie TRANSFERENCIA ASÍNCRONA • Se emplean relojes de igual frecuencia (se acuerda y configura la velocidad de transmisión) pero es necesario que estén en fase (sincronizados) • Cada paquete de bits de tamaño fijo se “enmarca” con bits de arranque y de parada que sirven para sincronizar los relojes del emisor y del receptor • La línea de datos inactiva a “1”, si se desea enviar un dato se manda un bit de arranque que sitúa a “0” la línea durante el tiempo correspondiente a un bit • Al finalizar el envío de un dato, la línea se sitúa a “1” al menos durante el tiempo de un bit: bit de parada Datos Reg. desplazamiento Reg. desplazamiento Referencia Sincr. Reloj Reloj 5 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 6. Módulos de Comunicación Serie Microcontroladores PIC: MÓDULOS DE COMUNICACIÓN SERIE • Módulo SCI (Serial Communication Interface) ó USART (Universal Synchronous Asynchronous Receiver Transmitter) Dos pines asignados para la comunicación: RC6/TX/CK RC7/RX/DT Modo Asíncrono (full dúplex) Modo Síncrono (semi dúplex) • Módulo SSP (Synchronous Serial Port) Cuatro pines asignados para comunicación: RC5/SDO RC4/SDI Interface Síncrono RC3/SCK SPI (Serial Peripheral Interface) full dúplex RA5/SS I2C (Inter-Integrated Circuit) semi dúplex 6 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 7. Módulos de Comunicación Serie Configurable en tres modos de trabajo: MÓDULO SCI 1.- Asíncrono (full dúplex) - Recepción y transmisión independientes compartiendo generador de relación de baudios (BRG) - TX: pin de transmisión (salida) - RX: pin de recepción (entrada) 2.- Síncrono modo Maestro (semi dúplex) - CK: reloj generado por el PIC (salida) - DT: datos entrantes (recepción) o salientes (transmisión) 3.- Síncrono modo Esclavo (semi dúplex) - CK: reloj entrante - DT: datos entrantes (recepción) o salientes (transmisión) 7 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 8. Módulos de Comunicación Serie MÓDULO SCI (II) • Los pines relacionados con la comunicación no es necesario que sean configurados como salidas en el TRISC, si está operativo el módulo prevalecen sobre el registro de dirección de datos • Registros asociados al SCI: Registros de control y estado TXSTA (0x98) & RCSTA (0x18) Registro de Relación de Baudios SPBRG (0x99) Registro de datos de transmisión: TXREG (0x19) Registro de recepción de datos: RCSTA (0x18) 8 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 9. Módulos de Comunicación Serie MÓDULO SCI EN TRANSMISIÓN ASÍNCRONA • Es la conexión más adecuada para la comunicación con un equipo alejado • Los niveles lógicos de las señales se corresponden con los niveles eléctricos de alimentación del microcontrolador • Hay varias normas de transmisión serie asíncrona: RS232, RS485, RS422,... que emplean niveles de tensión más inmunes al ruido (RS232) o que emplean tensiones diferenciales (RS485, RS422) y que son más apropiadas para distancias largas entre dispositivos • Para implementar estas transmisiones, sería necesario la adaptación de niveles eléctricos mediante los correspondientes circuitos integrados de adaptación (drivers o transceivers) • Si los microcontroladores a comunicar están cercanos podría obviarse esa adaptación • La transmisión puede ser unidireccional o bidireccional y simultánea 9 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 10. Módulos de Comunicación Serie Ejemplo típico: comunicación PIC - PC mediante puerto serie (RS232) Niveles escritura RS232 “1” -> 5V “1” -> -5V a -15V “0” -> 0V “0” -> +5V a +15V RX Driver TX RS232 TX RX (MAX232) GND GND Niveles lectura RS232 “1” -> -3V a -15V CONEXIÓN A 3 HILOS “0” -> +3V a +15V FULL DÚPLEX 10 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 11. Módulos de Comunicación Serie BLOQUES PARA SCI EN MODO ASÍNCRONO: • Generador de Relación de Baudios (BRG) - Define la velocidad de transferencia (transmisión y recepción) - Genera reloj de comunicación a partir del oscilador del MCU • Circuito de Muestreo - Detección de “1” ó “0” en pin RX - Sincronización de reloj • Transmisor Asíncrono - Registro serie de transmisión con buffer de carga • Receptor Asíncrono - Registro serie de recepción con doble buffer 11 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 12. Módulos de Comunicación Serie Generador de Relación de Baudios (BRG) • Se emplea para determinar la frecuencia de reloj para los registros de desplazamiento de los bloques de transmisión y recepción • Depende del valor X cargado en el registro de generación de la relación de baudios SPBRG (dirección 0x99) y del estado del bit BRGH del registro TXSTA Modo Síncrono (1) ó Asíncrono (0) BRGH = 1 (velocidad alta): baudios = fosc /(16*(X+1)) BRGH = 0 (velocidad baja): baudios = fosc /(64*(X+1)) SCI Asíncrono ( en modo síncrono BRGH se ignora y es otra la fórmula) 12 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 13. Módulos de Comunicación Serie Generador de Relación de Baudios (II) • Al ser SPBRG un registro de 8 bits, puede que no sea posible alcanzar de manera exacta la velocidad de transmisión deseada • Cálculo del Error = (Valor calculado - Valor deseado) / Valor deseado Ejemplo: Valor deseado = 9600 baudios fosc = 16MHz BRGH = 0 -> 9600 = 16000000 / (64 * (X+1)) X = 25,042 -> SPBRG = 25 Valor calculado = 16000000 / (64 * (25+1)) = 9615 baudios Error = (9615 - 9600)/9600 = 0,16 % • Puede alcanzarse menor error configurando velocidad alta (BRGH=1) 13 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 14. Módulos de Comunicación Serie Ejemplos con BRGH=0 Ejemplos con BRGH=1 14 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 15. Módulos de Comunicación Serie Circuito de Muestreo • Codificación de los bits de los datos NRZ (Non Return to Zero) con un bit de start, 8 ó 9 bits de datos y un bit de stop • El transmisor saca sus bits por TX (empezando por B0) con los flancos que marca su generador de relación de baudios (reloj), pero no lo envía • El receptor introduce los bits que van apareciendo en su línea RX al ritmo de su generador de relación de baudios (que tendrá un valor similar al del transmisor) pero debe sincronizarse mediante la aparición del bit de start en la línea de datos • Es materialmente imposible hacer coincidir flancos de relojes de TX y RX • Por tal motivo se necesita un circuito de muestreo de la línea de datos que trata de leer si hay un “uno” o un “cero” en la mitad del periodo de cada bit (señal estabilizada tras posible cambio) 15 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 16. Módulos de Comunicación Serie Circuito de Muestreo (II) • Se emplea un sistema “votado” mediante tres muestras tomadas en el centro de cada bit mediante un reloj de frecuencia 16 veces superior al de recepción si BRGH=0 Tras el flanco de bajada del bit de Start, se muestrea en los flancos de bajada 7, 8 y 9 del reloj de frecuencia 16 veces la del reloj de baudios 16 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 17. Módulos de Comunicación Serie • O bien tres muestras tomadas con otro criterio también en el centro de cada bit mediante un reloj de frecuencia 4 veces el de recepción si BRGH=1 Tras el primer flanco de bajada en reloj de baudios x 4 después de Start, se muestrea en los 3 flancos (subida o bajada) del oscilador anteriores al segundo flanco de subida del reloj 17 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 18. Módulos de Comunicación Serie Transmisor Asíncrono Indica TXREG vacío (TXIF=1) TXREG: buffer del Registro de Desplazamiento (accesible para lectura/escritura) Salida de Datos Módulo SCI activo Permite entrada de reloj al registro de transmisión Indica TSR vacío (TRMT=1) TSR Diagrama de Bloques Bit 9 si Datos de 9 bits TSR: Registro de Desplazamiento (no accesible directamente) Config. Datos de 9 bits 18 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 19. Módulos de Comunicación Serie Si TSR vacío y se escribe en TXREG, el dato pasa a TSR y se inicia transmisión movwf TXREG DATO TXREG vacío vacío TSR vacío DATO Si TSR lleno y se escribe en TXREG, nuevo dato en TXREG hasta que TSR quede vacío movwf TXREG DATO2 TXREG vacío DATO2 TSR DATO1 DATO1 19 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 20. Módulos de Comunicación Serie TSR vacío cuando se envía bit de STOP, el dato en TXREG pasa a TSR TXREG DATO2 vacío TSR vacío (fin transm.DATO1) DATO2 FLAGS indicadores: •TXIF: (PIR1<4>) TXREG vacío (puede activar interrupción). Este flag se pone a cero automáticamente (no por software) si TXREG ocupado. El flag está activo si lo está la transmisión (TXEN=1) •TRMT: (TXSTA<1>) TSR vacío 20 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 21. Módulos de Comunicación Serie Cronograma del envío de un dato: Cronograma del envío de dos datos consecutivos: 21 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 22. Módulos de Comunicación Serie REGISTROS PARA CONFIGURAR LA TRANSMISIÓN: Configuración de Transmisión Serie Asíncrona TXREG vacío Máscara de interrupción si TXREG vacío Registro RCSTA (0x18) 22 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 23. Módulos de Comunicación Serie Configuración de Transmisión Serie Asíncrona Bits que afectan a transmisión serie asíncrona Registro TXSTA (0x98) 23 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 24. Módulos de Comunicación Serie Pasos a dar para realizar una Transmisión serie Asíncrona: 1.- Cargar SPBRG para una velocidad de transmisión dada (baudios) y configurar velocidad alta o baja (BRGH) 2.- Activar módulo SCI (SPEN=1) y definirlo como Asíncrono (SYNC=0) 3.- Si se quiere detectar buffer vacío por interrupción TXIE=1 4.- Si se desea tamaño de datos de 9 bits configurar TX9=1 5.- Activar transmisión (TXEN=1) que hará que TXIF=1 6.- Si se seleccionaron 9 bits, cargar el 9º en TX9D 7.- Cargar el dato en TXREG (se inicia la transmisión) 24 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 25. Módulos de Comunicación Serie Receptor Asíncrono RSR: Registro Desplazamiento (no accesible directamente) Habilita Recepción RCSTA<4> Indicadores de errores Entrada Serie Datos de 9 bits SCI activo Diagrama de Bloques RCREG: doble buffer recepción RCIF: indica recepción completada (estructura FIFO) (dato no leido en FIFO) 25 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 26. Módulos de Comunicación Serie Llegada de un dato y RCREG vacío RSR Dato1 RSR Vacío Vacío Vacío RCREG RCREG (doble) Vacío (doble) Dato1 Llegada de un segundo dato y RCREG no leído RSR Dato2 RSR Vacío Vacío Dato2 RCREG RCREG (doble) Dato1 (doble) Dato1 26 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 27. Módulos de Comunicación Serie Llegada de un tercer dato y RCREG doble no leído RSR Dato3 Error de Overrun: OERR=1 (grave) Se pierde el Dato3 Dato2 RCREG Bloqueo total de la Recepción (doble) Dato1 Se debe resetear el sistema de recepción: CREN=0 y luego CREN=1 FLAGS indicadores: •RCIF: (PIR1<5>) (puede activar interrupción). Indica dato/s disponible/s para lectura en RCREG. Se pone a cero automáticamente (no por software) cuando RCREG esté vacío (el doble buffer debe estarlo). •OERR(=RCSTA<1>) Error de Overrun: hay que resetear el receptor para volver a 0 •FERR(=RCSTA<2>) Error de Trama: el bit de STOP debería ser “0” pero se lee “1” (también presenta un doble buffer FIFO) 27 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 28. Módulos de Comunicación Serie Cronograma de recepción de un dato: Llegada de un segundo dato: Llegada de un primer dato: bit de STOP Tercer dato bit de STOP sin haber realizado lectura (error de Overrun) Lecturas posteriores a la llegada del 3er dato RCREG vacío al principio Reset de Recepción para volver OERR a 0 28 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 29. Módulos de Comunicación Serie REGISTROS PARA CONFIGURAR LA RECEPCIÓN: Dato en RCREG Configuración de Recepción Serie Asíncrona Máscara de interrupción Velocidad si RCREG lleno recepción SCI asíncrono ó síncrono 29 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 30. Módulos de Comunicación Serie Configuración de Recepción Serie Asíncrona Bits que afectan a la Recepción serie Asíncrona Registro RCSTA (0x18) 30 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 31. Módulos de Comunicación Serie Pasos a dar para preparar una Recepción serie Asíncrona: 1.- Inicializar el registro SPBRG para una velocidad dada (baudios) de recepción y configurar velocidad alta o baja (BRGH) 2.- Activar módulo SCI (SPEN=1) y definirlo como Asíncrono (SYNC=0) 3.- Si se quiere detectar recepción por interrupción RCIE=1 4.- Si se desea tamaño de datos de 9 bits configurar RX9=1 5.- Activar recepción (CREN=1) 6.- Al completarse la recepción de un dato RCIF=1 y si se habilitaron interrupciones, se generará una 7.- Si se seleccionaron 9 bits, leer el 9º en RX9D de RCSTA. Se determina también si se dio algún error (OERR ó FERR) 8.- Leer el dato en RCREG para obtener el dato recibido 9.- Si se dio algún error resetear con CREN=0 31 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 32. Módulos de Comunicación Serie Detección de “Dirección” en la Recepción SÓLO es posible en algunos microcontroladores (p.e. PIC16F87x) los que tienen el bit ADDEN en el registro RCSTA Tiene efecto sólo si están definidos los datos de tamaño 9 bits Si se activa sirve para admitir sólo los datos que lleguen con el bit más signif. a uno y no admitir el resto 32 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 33. Módulos de Comunicación Serie Detección de “Dirección” en la Recepción (II) • Este procedimiento se emplearía para una comunicación serie en la que hay varios receptores posibles y se identifican los destinatarios de los mensajes mediante una dirección • Se distinguen bytes de datos y bytes de direcciones Dirección del destinatario Dato TX EMISOR RX RX RX Receptor Receptor Receptor Dirección 1 Dirección 2 Dirección n • Los bytes de direcciones se pueden diferenciar de los de datos en que tienen el 9º bit a uno y se pueden emplear para filtrar mediante ADDEN 33 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 34. Módulos de Comunicación Serie Modificación del diagrama de bloques para PICs con bit ADDEN Para que ADDEN tenga efecto se debe tener también RX9=1 34 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 35. Módulos de Comunicación Serie Cronograma recepción: byte de datos seguido de byte de dirección con ADDEN=1 El byte de datos no entra en RCREG debido a que ADDEN=1 35 MicrocontroladoresPIC ©ATE-Universidad de Oviedo
  • 36. Módulos de Comunicación Serie Cronograma recepción: byte de dirección seguido de byte de datos con ADDEN=1 El byte de datos no entra en RCREG debido a que todavía ADDEN=1 • Tras detectar una dirección (bit 8 a “1”) y comprobar que el resto del byte de dirección se corresponde con la asignada al dispositivo, se debe poner el bit ADDEN a “0” para que se admita el byte de datos que viene a continuación (o el resto de la dirección si es mayor de 1 byte el tamaño) 36 MicrocontroladoresPIC ©ATE-Universidad de Oviedo