La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Módulo Serial Asicrónico SCI (Serial Communications Interface Module)

Presentaciones similares


Presentación del tema: "Módulo Serial Asicrónico SCI (Serial Communications Interface Module)"— Transcripción de la presentación:

1 Módulo Serial Asicrónico SCI (Serial Communications Interface Module)

2 Características Operación Full-duplex. 32 velocidades de operación configurables por el usuario. Longitud del dato de 8 o 9 bits. Habilitación de las líneas de transmisión y recepción independientes. Interrupción por final de Transmisión Interrupción por buffer de Recepción lleno.

3 Interrupción por error en la línea de recepción: –Error en la longitud de la trama –Error por ruido en la línea –Error de paridad –Error por sobreescritura de datos Banderas de transmisor libre, transmisión finalizada y buffer de recepción lleno. Polaridad de salida configurable para la transmisión. Verificación de paridad por hardware.

4 3 Registros de Control 2 Registros de Estado. 1 Registro de Datos. 1 Registro de selección de velocidad de operación.

5 Diagrama de bloques del Transmisor del Módulo SCI

6 Diagrama de bloques del Receptor del Módulo SCI

7 Registro SCC1 (Dir. 0013H) PTY: Selecciona tipo de paridad 0 = Paridad Par 1 = Paridad Impar PEN: Habilita/deshabilita el bit de paridad 0= Paridad deshabilitada 1= Paridad habilitada

8 M: Selecciona la longitud de los datos 0 = Dato de 8 bits 1 = Dato de 9 bits TXINV: Invierte la polaridad de los datos al transmitir. 0 = Datos con polaridad normal 1 = Datos con polaridad invertida ENSCI: Habilita/deshabilita el módulo SCI 0 = SCI deshabilitado 1 = SCI habilitado

9 Registro SCC2 (Dir. 0014H) RE: Habilita/deshabilita el receptor. 0 = Receptor deshabilitado 1 = Receptor habilitado TE: Habilita/deshabilita el transmisor. 0= Transmisor deshabilitado 1= Transmisor habilitado

10 SCRIE: Habilita/deshabilita interrupción por recepción. 0 = Interrupción por recepción deshabilitada 1 = Interrupción por recepción habilitada Vector de Interrupción: 0FFE4H - 0FFE5H TCIE: Habilita/deshabilita interrupción por final de transmisión. 0 = Interrupción por final de transmisión deshabilitada 1 = Interrupción por final de transmisión habilitada Vector de Interrupción: 0FFE2H-0FFE3H

11 SCTIE: Habilita/deshabilita la interrupción por buffer de transmisión libre. 0 = Interrupción por buffer de transmisión libre deshabilitada 1 = Interrupción por buffer de transmisión libre habilitada Vector de Interrupción: 0FFE2H-0FFE3H

12 Registro SCC3 (Dir. 0015H) PEIE: Habilita/deshabilita interrupción por error de paridad en el receptor. 0 = Interrupción por error de paridad deshabilitada 1 = Interrupción por error de paridad habilitada Vector de Interrupción: 0FFE6H-0FFE7H

13 FEIE: Habilita/deshabilita interrupción por error en la longitud de la trama recibida. 0 = Interrupción por error en la trama deshabilitada 1 = Interrupción por error en la trama habilitada Vector de Interrupción: 0FFE6H-0FFE7H NEIE: Habilita/deshabilita interrupción por error generado por ruido en la línea Rx. 0 = Interrupción por ruido deshabilitada 1 = Interrupción por ruido habilitada Vector de Interrupción: 0FFE6H-0FFE7H

14 ORIE: Habilita/deshabilita interrupción por error por sobreescritura en el receptor. 0 = Interrupción por sobreescritura deshabilitada 1 = Interrupción por sobreescritura habilitada Vector de Interrupción: 0FFE6H-0FFE7H T8: Bit 8 transmitido R8: Bit 8 recibido

15 Registro SCS1 (Dir. 0016H) PE: Bandera de error de paridad en el receptor. 0 = No se ha detectado error de paridad 1 = Error de paridad detectado FE: Bandera de error de longitud de la trama 0 = No se ha detectado error en la trama 1 = Error en la trama detectado

16 NF: Bandera de error de ruido en la línea Rx. 0 = No se ha detectado ruido 1 = Error por ruido en la línea Rx detectado OR: Bandera de error por sobreescritura en el receptor 0 = No se ha detectado sobreescritura 1 = Error por sobreescritura detectado SCRF: Bandera de buffer de recepción lleno 0 = Recepción en progreso 1 = Recepción finalizada (buffer de rx lleno) Esta bandera es borrada por lectura del registro de datos del SCI.

17 TC: Bandera de transmisión completada 0 = Transmisión en progreso 1 = No hay transmisión en progreso SCTE: Bandera de buffer de transmisión libre 0 = Dato no transferido al registro de transmisión (buffer de transmisión ocupado) 1 = Dato transferido al registro de transmisión (buffer de transmisión libre) Esta bandera es borrada escritura en el registro de datos del SCI.

18 Registro SCDR (Dir. 0018H) Registro de datos de SCI, trabaja como un registro de solo lectura, cuando almacena los datos del receptor, y como registro de solo escritura al momento de transmitir datos.

19 Registro SCBR (Dir. 0019H) SCR2:SCR0 Selecciona la rata del divisor de baudios para el clock del SCI. SCR2 SCR1 SCR0 BD 0 0 0 1 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128

20 SCP1-SCP0: Selecciona el preescalizador para el clock del SCI. SPC1 SPC0 PD 0 0 1 0 1 3 1 0 4 1 1 13 Vel. (bps) = Fuente de reloj del SCI 64 x PD x BD Fuente de reloj del SCI: Oscilador externo Bus de reloj interno

21

22 ;Programa que realiza la recepción de caracteres por el puerto serie asincrónico (SCI) a ;una velocidad de 38400 bps utilizando un cristal de 4.9152 Mhz. El dato recibido es ;enviado a uno de los puertos del microcontrolador. INCLUDE ‘MC68HC908AP16.INC' COPDEQU 0 ENSCIEQU 6;Bit 6 del registro SCC1 RE EQU 2;Bit 2 del registro SCC2 SCRF EQU 5;Bit 5 del registro SCS1 ORG 860H ;Inicio de la memoria Flash del AP16 INICIO: BSETCOPD,CONFIG1;Deshabilitar COP MOV #0FFH,DDRA MOV #01H,SCBR ;Preescaler x 1, Divisor de baudios x 2 BSET ENSCI,SCC1;Habilita SCI

23 BSET RE,SCC2;Habilita Rx CICLO: BRCLRSCRF,SCS1,*;Registro SCRF libre? LDA SCDR ;Lee dato recibido (del SCDR) STA PORTA JMP CICLO ORG0FFFEH ;Define vector de Reset FDB INICIO

24 ;Programa que realiza la transmisión de caracteres ASCII por el puerto serie asincrónico ; (SCI) a una velocidad de 38400 bps utilizando un cristal de 4.9152 Mhz. INCLUDE ‘MC68HC908AP16.INC' COPDEQU 0 ENSCIEQU 6;Bit 6 del registro SCC1 TE EQU 3;Bit 3 del registro SCC2 TC EQU 6;Bit 6 del registro SCS1 SCTE EQU 7 ;Bit 7 del registro SCS1 ORG 860H ;Inicio de la memoria Flash del AP16 INICIO: BSETCOPD,CONFIG1;Deshabilitar COP MOV #01H,SCBR ;Preescaler x 1, Divisor de baudios x 2 BSET ENSCI,SCC1;Habilita SCI BSET TE,SCC2 ;Habilita Tx

25 LDASCS1;Borra bandera SCTE por lectura de SCS1 CLRH CLRX LOOP: LDA TABLA,X INCX BRCLRSCTE,SCS1,*;Registro SCDR libre? STA SCDR ;Carga nuevo valor al SCDR CMP #0DH ;Determina si no hay más datos BNE LOOP BRCLRTC,SCS1,$ ;Terminó la Tx del último dato? BCLR TE,SCC2 ;Deshabilita Tx JMP * TABLA: FCB 'Esto es una prueba de transmisión a 38400 bps',0AH,0DH ORG 0FFFEH ;Define vector de Reset FDB INICIO


Descargar ppt "Módulo Serial Asicrónico SCI (Serial Communications Interface Module)"

Presentaciones similares


Anuncios Google