Módulo SPI y métodos de conversión D-A

M´odulo SPI y m´etodos de conversi´on D-A Rodrigo Chang Universidad de San Carlos de Guatemala [email protected] 4 de marzo de 2015 Rodrigo Cha

0 downloads 88 Views 868KB Size

Story Transcript

M´odulo SPI y m´etodos de conversi´on D-A Rodrigo Chang Universidad de San Carlos de Guatemala [email protected]

4 de marzo de 2015

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

1 / 25

Lo que veremos hoy... 1

M´etodos de conversi´on digital-anal´ ogico ¿Qu´e es la conversi´on digital-anal´ ogica? M´etodo de conversi´ on por red escalera R-2R M´etodo de conversi´ on utilizando PWM y filtros paso-bajos M´etodo de conversi´ on utilizando DACs SPI

2

M´odulo SPI en el TM4C123GH6PM Caracter´ısticas y operaci´ on Formatos de se˜ nales SPI Configuraci´on b´asica con registros Configuraci´on utilizando la TivaWare Conexi´on hacia DAC SPI TLV5616 de Texas Instruments

3

Preguntas

4

Reto de la pr´actica Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

2 / 25

M´etodos de conversi´on digital-anal´ogico

¿Qu´e es la conversi´on digital-anal´ogica?

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

3 / 25

Conversi´on digital-anal´ogica Nos referiremos a ´estos generalmente como DACs.

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

4 / 25

Conversi´on digital-anal´ogica Nos referiremos a ´estos generalmente como DACs. Se utilizan para convertir un valor digital con una precisi´on de n bits a un valor de voltaje o corriente.

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

4 / 25

Conversi´on digital-anal´ogica Nos referiremos a ´estos generalmente como DACs. Se utilizan para convertir un valor digital con una precisi´on de n bits a un valor de voltaje o corriente. Son utilizados en sistemas de procesamiento de se˜ nales digitales para reproducci´on de audio y v´ıdeo.

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

4 / 25

Conversi´on digital-anal´ogica Nos referiremos a ´estos generalmente como DACs. Se utilizan para convertir un valor digital con una precisi´on de n bits a un valor de voltaje o corriente. Son utilizados en sistemas de procesamiento de se˜ nales digitales para reproducci´on de audio y v´ıdeo. Existen varios circuitos que permiten su implementaci´on.

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

4 / 25

M´etodos de conversi´on digital-anal´ogico

Red escalera R-2R

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

5 / 25

Red escalera R-2R Es la forma m´as simple y econ´ omica de armar un conversor D/A. Los valores de las resistencias deben ser lo m´as precisos posibles, sobre todo para los bits m´as significativos. La velocidad de conversi´ on es alta y el funcionamiento sencillo, a pesar de la gran cantidad de resistencias necesarias. Requiere programaci´on del m´ odulo GPIO en el MCU.

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

6 / 25

M´etodos de conversi´on digital-anal´ogico

Se˜nal PWM y filtros pasa-bajos

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

7 / 25

Se˜nal PWM y filtro pasa-bajos Utiliza solamente un pin en modo de PWM y es f´acil de armar. La se˜ nal generada est´a limitada por la frecuencia de corte del filtro. El orden del filtro afecta la resoluci´ on final del DAC. Requiere programaci´on del m´ odulo PWM o Timer en el MCU.

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

8 / 25

Se˜nal PWM y filtro pasa-bajos Utiliza solamente un pin en modo de PWM y es f´acil de armar. La se˜ nal generada est´a limitada por la frecuencia de corte del filtro. El orden del filtro afecta la resoluci´ on final del DAC. Requiere programaci´on del m´ odulo PWM o Timer en el MCU.

Para mayor informaci´on y hojas de aplicaci´ on de TI y Microchip, buscar en Google: pwm dac Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

8 / 25

M´etodos de conversi´on digital-anal´ogico

M´etodo de conversi´on utilizando DACs SPI

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

9 / 25

Conversi´on con DACs SPI Se delega la tarea de conversi´ on a otro IC. La resoluci´on est´a dada por las especificaciones del integrado. Requiere un cableado m´ınimo y programaci´ on del USCI en el MCU. Varios DACs se pueden armar sin espacio excesivo como en la red R-2R.

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

10 / 25

M´odulo SPI en el TM4C123GH6PM

Caracter´ısticas y operaci´on

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

11 / 25

SSI en el TM4C123GH6PM Cuatro módulos SSI. Cada uno con: 

Formatos 

Freescale SPI,



MICROWIRE



Interfaz serial síncrona de TI



Operacion como maestro o esclavo



Velocidad de reloj programable con prescaler



Tamaño de la trama programable de 4 a 16 bits.



Memorias FIFO separadas para transmisión y recepción ( 8 x16-bits )



Interrupciones y soporte para uDMA

Diagrama de bloques...

Diagrama de bloques del módulo SSI Pines para señales (n = 0 a 3) SSInClk: SSI Module n Clock SSInFss: SSI Module n Frame Signal SSInRx: SSI Module n Receive SSInTx: SSI Module n Transmit

Interrupciones...

Interrupciones en el módulo SSI Una interrupción por módulo, borrada automáticamente

Condiciones para interrupción: 

Servicio de transmisión FIFO (cuando la FIFO llena a la mitad o menos)



Servicio de recepción de FIFO (cuando la FIFO llena a la mitad o más)



Timeout excedido en la memoria FIFO de recepción.



Errores en la FIFO de recepción.



Fin de la transmisión



Transferencia de recepción DMA completa.



Transferencia de transmisión de DMA completa.

Interrupciones en estas condiciones pueden ser habilitadas individualmente. El código manejador de la ISR debe determinar la fuente de la interrupción SSI y borrar las banderas. Operación uDMA...

M´odulo SPI en el TM4C123GH6PM

Formatos de se˜nales SPI

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

12 / 25

Formatos de señales en SPI Freescale 

Interfaz de cuatro cables. Full duplex.



SSIFss actua como Chip-select



Estado inactivo y fase del reloj programables a través de los bits SPO y SPH (parámetro SSI_FRF_MOTO_MODE_0-3) 

SPO = 0: SSIClk en bajo cuando inactivo. SPO = 1: alto



SPH = 0: Datos capturados en 1ra transición SSIClk. SPH = 1: 2da

SPO = 0 SPH = 0 Transferencia simple SPO = 0 SPH = 1 Transferencia simple Formatos de señal TI...

Formato TI Synchronous Serial 

Interfaz de tres cables



Dispositivos siempre como esclavos



SSIClk y SSIFss forzados en estado bajo y SSITx en tri-estado cuando el módulo SSI está inactivo.

Transferencia única

Transferencia

continua

Formato Microwire...

Formato de señal Microwire 

Interfaz de cuatro cables



Similar a SPI, con transmisión full-duplex.



Técnica de paso de mensajes Maestro – Esclavo

Transferencia única

Transferencia

continua

Laboratorio...

M´odulo SPI en el TM4C123GH6PM

Configuraci´on b´asica con registros

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

13 / 25

Configurar el reloj de transmisi´on

Para configurar el reloj debemos tener en cuenta tres cosas: La frecuencia del bus del sistema. El campo de 8 bits SCR en el registro SSIx CR0 R. Y el campo de 8 bits CPSDVSR en el registro SSIx CPSR R cuyo valor debe ser un n´ umero par de 2 a 254. La ecuaci´on para la frecuencia del bus SSI es entonces: fSSI =

Rodrigo Chang (USAC)

fBUS CPSDVSR ∗ (1 + SCR)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

14 / 25

Configuraci´on con registros 1

4

7

10

13

// Habilitar el modulo SSI y el puerto A volatile unsigned long delay ; SYSCTL_RCGCSSI_R |= SYSCTL_RCGCSSI_R0 ; SYS CTL_RCGCGPIO_ R |= SYSCTL_RCGCGPIO_R0 ; delay = SYSCTL _RCGCG PIO_R ; // Configurar funciones alternativas en los pines PA2 , 3 , 5 GP IO_PORTA _A FS EL _R |= 0 x2c ; // Configurar la funcion de SSI en los pines GPI O_PORTA_PCTL_ R = ( GPIO_PORTA_PCTL_R & 0 xff0f00ff ) + GPI O_P C T L _ P A 2 _ S S I 0CLK + GPI O_PC TL_PA 3_SS I0FSS + GPIO_P C T L _ P A 5 _ S S I 0TX ; // Configurar los registros de funciones digitales // configurar pull - up o pull - down alternativamente GP IO_PORTA _A MS EL _R = 0; GPIO_PORTA_DEN_R |= 0 x2c ;

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

15 / 25

Configuraci´on con registros 1

4

7

10

13

// Deshabilitar el modulo SSI antes de hacer cambios SSI0_CR1_R &= ~ SSI_CR1_SSE ; // Configurar la operacion como maestro SSI0_CR1_R &= ~ SSI_CR1_MS ; // Configurar la fuente de reloj como reloj del sistema basado en un factor de division SSI0_CC_R &= ~ SSI_CC_CS_M ; // Configurar el prescaler para una frecuencia del modulo SSI de 2 MHz = 40 MHz /20 SSI0_CPSR_R = ( SSI0_CPSR_R & ~ SSI_CPSR_CPSDVSR_M ) + 20; // Configurar el serial clock rate , polaridad del reloj // y fase , protocolo y largo de los datos SSI0_CR0_R &= ~( SSI_CR0_SCR_M ) ; // SCR = 0 // Texas Instruments Synchronous Serial Frame Format SSI0_CR0_R = ( SSI0_CR0_R & ~ SSI_CR0_FRF_M ) + SSI_CR0_FRF_TI ; // 16 bits de datos SSI0_CR0_R = ( SSI0_CR0_R & ~ SSI_CR0_DSS_M ) + SSI_CR0_DSS_16 ;

16

// Finalmente , habilitar el modulo SPI SSI0_CR1_R |= SSI_CR1_SSE ; Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

16 / 25

M´odulo SPI en el TM4C123GH6PM

Configuraci´on utilizando la TivaWare

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

17 / 25

Configuraci´on con la librer´ıa de perif´ericos

Para utilizar la librer´ıa de perif´ericos debemos incluir las siguientes cabeceras: # include " driverlib / pin_map . h " # include " driverlib / ssi . h "

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

18 / 25

Configuraci´on con la librer´ıa de perif´ericos 1

// Habilitar el reloj S y s C tl Per i p h e r a l E n a b le ( SYSCTL_PERIPH_SSI0 ) ; S y s C tl Per i p h e r a l E n a b le ( SYSCTL_PERIPH_GPIOA ) ;

4

7

// Configurar los pines GPIOPinConfigure ( GPIO_PA2_SSI0CLK ) ; GPIOPinConfigure ( GPIO_PA3_SSI0FSS ) ; GPIOPinConfigure ( GPIO_PA5_SSI0TX ) ; GPIOPinTypeSSI ( GPIO_PORTA_BASE , GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_5 ) ;

10

13

// Configurar el modulo SSI y habilitarlo SS IConfigS et Ex pC lk ( SSI0_BASE , SysCtlClockGet () , SSI_FRF_TI , SSI_MODE_MASTER , 2000000 , 16) ; SSIEnable ( SSI0_BASE ) ;

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

19 / 25

Conexi´on hacia DAC SPI TLV5616 de Texas Instruments

Conexi´on de ejemplo

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

20 / 25

TLV5616 De acuerdo con la hoja de datos del TLV5616, la conexi´on se puede realizar utilizando una interfaz SPI three-wire y conectando de la siguiente forma:

SS Slave Select: Selecciona el chip SPI a utilizar. MOSI Master Output, Slave Input: L´ınea de datos de maestro a esclavo. Equivalente al pin TX del m´ odulo maestro. SCLK Serial Clock: Se˜ nal de reloj de maestro a esclavo para captura de datos. Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

21 / 25

Conexiones en la Tiva Launchpad

En este ejemplo se utiliza el m´ odulo SSI0, y seg´ un la hoja de datos, los pines para el m´odulo correspondiente se encuentran en los siguientes bits de puertos:

Figura: Mapeo de pines para m´ odulo SSI0 en TM4C123GH6PM. Referencia: Hoja de datos, p´ag. 1341

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

22 / 25

Preguntas

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

23 / 25

Reto de la pr´actica

Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

24 / 25

Reto El reto es: Con el proyecto de ejemplo de configuraci´ on del m´ odulo SSI0, cambiar toda la rutina de configuraci´ on para trabajar con el m´odulo SSI2, que se encuentra en el puerto B.

Documentos de ayuda Documentaci´on de la librer´ıa de perif´ericos. P´agina 1342 de la hoja de datos del TM4C123GH6PM.

¡Puntos extra! Se dar´an cinco (5) puntos extras a quienes comuniquen entre s´ı dos Launchpads. Una (configurada como maestra) debe enviar continuamente datos a la otra (esclava), que puede utilizar interrupciones o polling para determinar que ha recibido datos y finalmente mostrarlos en la ventana del depurador. Los datos a enviar pueden ser valores de un contador. Rodrigo Chang (USAC)

Laboratorio de Comunicaciones 4

4 de marzo de 2015

25 / 25

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.