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

Documentos relacionados
Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Enlaces Seriales UART, I2C, SPI

Primer Semestre Facultad de Ingeniería Universidad de San Carlos de Guatemala. Laboratorio de Microcontroladores. David J.

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

Anexo II: Lógica programada y lógica cableada. Ventajas e inconvenientes. MSP430G2553.

MICROCONTROLADORES PIC USART

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Elección de un microcontrolador

MICROCONTROLADOR PIC DE MICROCHIP

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

partir de los 5 Volts que entrega el puerto USB La alimentación puede ser

( hPa a 25 C) ( hpa, C) Medición de la temperatura Rango: C precisión: ± 1. Medición de humedad Precisión: ± 3

Guía de programación PWM. Características de una señal de control con Modulación de Ancho de Pulso.

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE MECANICA ELECTRICA LABORATORIO DE ELECTRONICA PENSUM ELECTRONICA 6

SADE en LabView. IO PIN: SADE cuenta con 13 pines que se pueden configurar como entrada, salida e inclusive como PWM.

El Protocolo SPI. IES Juan de la Cierva. Aprendizaje de la Electrónica a través de la Robótica. Fernando Remiro Domínguez

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Bus de datos Bus de direcciones Pocos bits, los suficientes para direccionar registros internos (ej: A0 y A1)

Curso de. Módulo 10 MSSP: I2C. Ricardo Gómez González Andrés Prieto-Moreno Torres

USB232. Hoja de datos

4.7 Aplicaciones usando la tarjeta Spartan 3E

4. Tarjeta de control

I2C. Ing. Pablo Martín Gomez

RMS1-RM Manual del usuario

Introducción a la Tiva TM4C123G Launchpad

Comunicaciones Digitales: Protocolos seriales (uc)

6-3-5 PC Link (sólo CPUs CJ1M)

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

RMS1-RM Manual del usuario

Introducción a los Microcontroladores

Arquitectura y Periféricos

INTRODUCCIÓN. Comunicación Serial.

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Capítulo 2 LOS MICROCONTROLADORES MC68H(R)C908JL3/JK3/JK1. Capítulo 3 INTRODUCCIÓN A LA PROGRAMACIÓN DE LOS MICROCONTROLADORES MOTOROLA- FREESCALE

Contenido MICROCONTROLADORES PIC16F877A Y PIC16F887 / SALVATIERRA. Alfaomega. 3.4 Soporte Muestras... 25

Tópicos Especiales de Mecatrónica

ÍNDICE. Accesorios, A-1 Acel/desacel ajustada automáticamente, 4-40 Aceleración de curva 2, 4-12 Apoyo Técnico, 1-2

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN

PIC 18F45XX CARACTERÍSTICAS GENERALES

MICROCONTROLADORES PIC

Diseño de Microcontroladores

(SPI) Módulo Serial Sincrónico

Capítulo 5 Transmisión analógica

Sensores inalámbricos de bajo

DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA Laboratorio de Automatización Industrial Mecánica. TEMA: Adquisición de datos

2.- Cargar el código correspondiente a cada Arduino para su funcionamiento como Master o Esclavo.

Hoja de Datos NoMADA Advance [DAT001A NoMADA Advance 02/16]

ESTRUCTURA BÁSICA DEL µc AT89C51

Figura 2. Formato de un dato serie síncrono.

ESPino - Especificaciones

TARJETA DE DESARROLLO DE SISTEMAS CON TECNOLOGÍA FPGA.

MANUAL DE DESCRIPCIÓN

SPI. Teoría y Aplicaciones. INGENIERIA EN MICROCONTROLADORES Protocolo SPI( Serial Peripherical Interface) Protocolo

Prueba del Driver ModBus

LABORATORIO DE ELECTRÓNICA DE POTENCIA PRÁCTICA N 3

Registros SFR vistos hasta ahora: Microcontroladores PIC

Tema: Comunicación en Serie. Interfaz RS-232.

Capítulo 1. Introducción a los PIC de 8 bits

COMUNICACIÓN I2C (Bus de circuito inter-integrado)

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

Dispositivos y Sistemas Programables Avanzados

TEMA 6: CONVERSIÓN DIGITAL / ANALÓGICA

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation)

Curso sobre Microcontroladores Familia HC9S08 de Freescale

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE MICROCONTROLADORES

MCP2200, Conversor serial USB 2.0 a UART de MICROCHIP...

PANORAMA GENERAL DE LOS µc

Transmisión serie. RS232, I2C y SPI

CONVERSIÓN A/D CON PROTOCOLO SPI PARA AUDIOFRECUENCIAS

ARQUITECTURA DE LOS SUBSISTEMAS DE BUSES Y ENTRADA/SALIDA

Sistema de Registro de Temperatura y Humedad

Microprocesadores, Tema 8:

CURSO BÁSICO MICROCONTROLADORES PIC

CAPITULO V. Implementación del Sistema de Transmisión y Recepción.

Transcripción:

Módulo SPI y métodos de conversión D-A Rodrigo Chang Universidad de San Carlos de Guatemala com4.e6.usac@gmail.com 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étodos de conversión digital-analógico Qué es la conversión digital-analógica? Método de conversión por red escalera R-2R Método de conversión utilizando PWM y filtros paso-bajos Método de conversión utilizando DACs SPI 2 Módulo SPI en el TM4C123GH6PM Características y operación Formatos de señales SPI Configuración básica con registros Configuración utilizando la TivaWare Conexión hacia DAC SPI TLV5616 de Texas Instruments 3 Preguntas 4 Reto de la práctica Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 2 / 25

Métodos de conversión digital-analógico Qué es la conversión digital-analógica? Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 3 / 25

Conversión digital-analógica Nos referiremos a éstos generalmente como DACs. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 4 / 25

Conversión digital-analógica Nos referiremos a éstos generalmente como DACs. Se utilizan para convertir un valor digital con una precisión 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ón digital-analógica Nos referiremos a éstos generalmente como DACs. Se utilizan para convertir un valor digital con una precisión de n bits a un valor de voltaje o corriente. Son utilizados en sistemas de procesamiento de señales digitales para reproducción de audio y vídeo. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 4 / 25

Conversión digital-analógica Nos referiremos a éstos generalmente como DACs. Se utilizan para convertir un valor digital con una precisión de n bits a un valor de voltaje o corriente. Son utilizados en sistemas de procesamiento de señales digitales para reproducción de audio y vídeo. Existen varios circuitos que permiten su implementación. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 4 / 25

Métodos de conversión digital-analógico 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ás simple y económica de armar un conversor D/A. Los valores de las resistencias deben ser lo más precisos posibles, sobre todo para los bits más significativos. La velocidad de conversión es alta y el funcionamiento sencillo, a pesar de la gran cantidad de resistencias necesarias. Requiere programación del módulo GPIO en el MCU. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 6 / 25

Métodos de conversión digital-analógico Señal PWM y filtros pasa-bajos Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 7 / 25

Señal PWM y filtro pasa-bajos Utiliza solamente un pin en modo de PWM y es fácil de armar. La señal generada está limitada por la frecuencia de corte del filtro. El orden del filtro afecta la resolución final del DAC. Requiere programación del módulo PWM o Timer en el MCU. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 8 / 25

Señal PWM y filtro pasa-bajos Utiliza solamente un pin en modo de PWM y es fácil de armar. La señal generada está limitada por la frecuencia de corte del filtro. El orden del filtro afecta la resolución final del DAC. Requiere programación del módulo PWM o Timer en el MCU. Para mayor información y hojas de aplicación de TI y Microchip, buscar en Google: pwm dac Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 8 / 25

Métodos de conversión digital-analógico Método de conversión utilizando DACs SPI Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 9 / 25

Conversión con DACs SPI Se delega la tarea de conversión a otro IC. La resolución está dada por las especificaciones del integrado. Requiere un cableado mínimo y programación 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ódulo SPI en el TM4C123GH6PM Características y operación 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ódulo SPI en el TM4C123GH6PM Formatos de señales 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 SPH = 0 Transferencia simple SPO = 0 SPH = 1 Transferencia simple SPO = 0: SSIClk en bajo cuando inactivo. SPO = 1: alto SPH = 0: Datos capturados en 1 ra transición SSIClk. SPH = 1: 2 da 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ódulo SPI en el TM4C123GH6PM Configuración básica con registros Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 13 / 25

Configurar el reloj de transmisión 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úmero par de 2 a 254. La ecuación para la frecuencia del bus SSI es entonces: f SSI = f BUS CPSDVSR (1 + SCR) Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 14 / 25

Configuración con registros 1 // Habilitar el modulo SSI y el puerto A volatile unsigned long delay ; SYSCTL_ RCGCSSI_ R = SYSCTL_ RCGCSSI_ R0 ; 4 SYSCTL_ RCGCGPIO_ R = SYSCTL_ RCGCGPIO_ R0 ; delay = SYSCTL_ RCGCGPIO_ R ; 7 // Configurar funciones alternativas en los pines PA2, 3, 5 GPIO_PORTA_AFSEL_R = 0 x2c ; // Configurar la funcion de SSI en los pines 0 GPIO_ PORTA_ PCTL_ R = ( GPIO_ PORTA_ PCTL_ R & 0 xff0f00ff ) + GPIO_ PCTL_ PA2_ SSI0CLK + GPIO_ PCTL_ PA3_ SSI0FSS + GPIO_ PCTL_ PA5_ SSI0TX ; // Configurar los registros de funciones digitales // configurar pull - up o pull - down alternativamente 3 GPIO_ PORTA_ AMSEL_ R = 0; GPIO_PORTA_DEN_R = 0 x2c ; Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 15 / 25

Configuración con registros 1 // Deshabilitar el modulo SSI antes de hacer cambios SSI0_CR1_R &= ~ SSI_CR1_SSE ; // Configurar la operacion como maestro 4 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 ; 7 // 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 0 // y fase, protocolo y largo de los datos SSI0_CR0_R &= ~( SSI_CR0_SCR_M ); // SCR = 0 // Texas Instruments Synchronous Serial Frame Format 3 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 ; 6 // 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ódulo SPI en el TM4C123GH6PM Configuración utilizando la TivaWare Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 17 / 25

Configuración con la librería de periféricos Para utilizar la librería de periféricos 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ón con la librería de periféricos 1 // Habilitar el reloj SysCtlPeripheralEnable ( SYSCTL_ PERIPH_ SSI0 ); SysCtlPeripheralEnable ( SYSCTL_ PERIPH_ GPIOA ); 4 // Configurar los pines GPIOPinConfigure ( GPIO_ PA2_ SSI0CLK ); 7 GPIOPinConfigure ( GPIO_ PA3_ SSI0FSS ); GPIOPinConfigure ( GPIO_ PA5_ SSI0TX ); GPIOPinTypeSSI ( GPIO_ PORTA_ BASE, GPIO_ PIN_ 2 GPIO_ PIN_ 3 GPIO_PIN_5 ); 0 // Configurar el modulo SSI y habilitarlo SSIConfigSetExpClk ( SSI0_BASE, SysCtlClockGet (), SSI_FRF_TI, SSI_ MODE_ MASTER, 2000000, 16) ; 3 SSIEnable ( SSI0_BASE ); Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 4 de marzo de 2015 19 / 25

Conexión hacia DAC SPI TLV5616 de Texas Instruments Conexión 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ón 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ódulo maestro. SCLK Serial Clock: Señal 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ódulo SSI0, y según la hoja de datos, los pines para el módulo correspondiente se encuentran en los siguientes bits de puertos: Figura: Mapeo de pines para módulo SSI0 en TM4C123GH6PM. Referencia: Hoja de datos, pág. 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áctica 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ón del módulo SSI0, cambiar toda la rutina de configuración para trabajar con el módulo SSI2, que se encuentra en el puerto B. Documentos de ayuda Documentación de la librería de periféricos. Página 1342 de la hoja de datos del TM4C123GH6PM. Puntos extra! Se darán 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