informe i2c

1 Practica #5 : MODULO I2C Jose Gonzalez; [email protected], Xavier Cardenas; [email protected], Pedro Pi

Views 117 Downloads 6 File size 142KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

1

Practica #5 : MODULO I2C Jose Gonzalez; [email protected], Xavier Cardenas; [email protected], Pedro Pintado; [email protected] UNIVERSIDAD POLITECNICA SALESIANA Sistemas Microprocesados II

I. INTRODUCCION La comunicación serial permite que el microprocesador pueda interactuar con otros dispositivos, como pude ser otro microprocesador, un módulo GSM, un computador, etc. Este tipo de comunicaciones da una gran ventaja al momento de llevar a cabo proyectos en los cuales se necesite enviar información entre dispositivos. A continuación se muestra una práctica desarrollada con comunicación serial permitiendo al microprocesador enviar y recibir información mediante este enlace. Se detalla algunos puntos importantes sobre la configuración y los registros de la comunicación.

de conexión serial se muestra adelante en la figura. Conecte la terminal de transmisión serial del microcontrolador al pin de recepción del cable (pin 2). Conecte la terminal de recepción serial del microcontrolador al pin de transmisión del cable (pin 3). Dependiendo del microcontrolador que se use, esta terminal se puede identifcar con etiquetas como SERIN y SEROUT, RXD y TXD, Serial In y serial out.

II. OBJETIVOS OBJETIVO PRINCIPAL: - Comprobar el funcionamiento del modulo I2C, para realizar una comunicación serial. Figure 1.

OBJETIVOS ESPECIFICOS: - Realizar una interfaz PC-PIC. - Manejo de datos de un reloj de tiempo real. - Visualización de una gráfica, la misma que se encontrara almacenada en una memoria EEPROM - Adquisición de una señal de voltaje y visualización de la misma en la interfaz del computador. III. MARCO TEORICO COMUNICACION SERIAL La comunicación serial consiste en el envío de un bit de información de manera secuencial, ésto es, un bit a la vez y a un ritmo acordado entre el emisior y el receptor. La comunicación serial en computadores ha seguido los estándares definidos en 1969 por el RS-232 (Recommended Standard 232) que establece niveles de voltaje, velocidad de transmisión de los datos, etc. Por ejemplo, este protocolo establece un nivel de -12v como un uno lógico y un nivel de voltaje de +12v como un cero lógico (por su parte, los microcontroladores emplean por lo general 5v como un uno lógico y 0v como un cero lógico). Hardware necesario:: • Una computadora con al menos un puerto serial tipo RS232. • Un cable de conexión serial (terminales tipo hembra). • Un microcontrolador previamente programado para leer y escribir a puerto serial. Conecte el cable de conexión serial a cualquiera de los puertos tipo serial. La configuración de los pines del cable

Configuración conector serial

EL MODULO USART La comunicación de los microcontroladores PIC con el computador es de gran importancia y para esto se ha incorporado un módulo con las características apropiadas para el intercambio de información. Este módulo es conocido como USART (Universal Synchronous Asynchronous Receiver Transmitter) y se estudia en este capítulo. El módulo USART es compatible con el protocolo RS232 que también es muy utilizado en las computadoras personales. Este módulo puede configurarse para operación asincrónica (full -dúplex) y para su empleo en este modo se puede utilizar la librería UART del compilador mikroC PRO. Este es uno de los dos módulos serie E/S, también llamado Interfaz de Comunicación Serie SCI. El módulo USART de los microcontroladores PIC puede configurarse como un sistema asincrónico full-dúplex que puede comunicarse con dispositivos periféricos, tales como terminales CRT y computadoras personales, o puede configurarse como un sistema sincrónico half-dúplex que puede comunicarse con otros dispositivos tales como conversores A/D y D/A, EEPROMs serie, etc. Los modos de operación disponibles son los siguientes: Asincrónico (full-dúplex) Sincrónico-Maestro (half-dúplex) Sincrónico-Esclavo (half-dúplex) Protocolo RS232 Este es un protocolo de comunicación serie ampliamente difundido en las computadoras personales y empleado por los puertos COM del computador. El acceso físico a estos puertos es a través de un conector DB-25 o DB9, machos y hembras. La norma RS232 se estableció para comunicar un computador con un

2

PIN 1 2 3 4 5 6 7 8 9

modem, por lo que en los conectores DB-25 aparecen muchos pines que en otras aplicaciones no se utilizan, y en las que es más común emplear el conector DB9. Cada uno de los terminales del conector RS232 tiene una función especificada por la norma. Unos pines transmiten y reciben datos, mientras que otros permiten el control de la comunicación. Los modos de operación disponibles son los siguientes: • • •

Asincrónico (full-dúplex) Sincrónico-Maestro (half-dúplex) Sincrónico-Esclavo (half-dúplex)

El módulo USART se incluye en los microcontroladores PIC16F88, 16F628A y 16F877A (algunos microcontroladores PIC, como el 16F84A, no tienen este módulo). La biblioteca UART de mikroC PRO proporciona las herramientas para hacer que el empleo de este módulo en modo asincrónico (full-dúplex) sea tan sencillo como nunca lo había sido hasta ahora. Esto permite la comunicación con otros dispositivos a través del protocolo RS232. En la tabla 10.2 se pueden ver las funciones incorporadas con sus características más sobresalientes.

Un dato a tener muy en cuenta es la velocidad de transmisión, que es la cantidad de información enviada por la línea de transmisión en la unidad de tiempo. Se mide en Baudios y es proporcional a los Bits/segundo (bps). Las velocidades de transmisión normalizadas para los puertos COM son: 75, 150, 300, 600, 1200, 2400, 4800, 9600, etc. Baudios. Otra cuestión fundamental se refiere a los niveles de voltaje de la norma:



• • •

Figure 2.

SEÑAL Data Carrier Detec(DCD) Received Data (RxD) Transmitted Data (TxD) Data Terminal Ready(DTR) Signal Groun(SG) Data Set Ready(DSR) Request to Send(RTS) Clear to Send (CTS) Ring Indicator(RI)

Los datos se transmiten con lógica negativa, es decir, un voltaje positivo representa 0, mientras que un voltaje negativo representa 1. El 0L se encuentra entre +3 y +15V. El 1L se encuentra entre -3 y -15V. Los voltajes más usados son +12V para el 0L y -12V para el 1L. Cuando un puerto no está transmitiendo mantiene el terminal de transmisión en 1L (-12V).

Libreria del modulo USART

MODULO I2C

Protocolo RS232 Este es un protocolo de comunicación serie ampliamente difundido en las computadoras personales y empleado por los puertos COM del computador. El acceso físico a estos puertos es a través de un conector DB-25 o DB9, machos y hembras. La norma RS232 se estableció para comunicar un computador con un modem, por lo que en los conectores DB-25 aparecen muchos pines que en otras aplicaciones no se utilizan, y en las que es más común emplear el conector DB9. Cada uno de los terminales del conector RS232 tiene una función especificada por la norma. Unos pines transmiten y reciben datos, mientras que otros permiten el control de la comunicación. En la tabla se observan estos detalles.

El módulo MSSP en modo I2C aplica plenamente todas las funciones de un maestro y esclavo (incluyendo llamada general de apoyo) y proporciona interrupciones en Start y Stop Bits de hardware para determinar un autobús gratuito (multi-master función). El módulo MSSP se aplica la norma especificaciones relativas al modo, así como 7 bits y 10 bits direccionamiento. Dos patillas se utilizan para la transferencia de datos: • Reloj en serie (SCL) - RC3/SCK/SCL • Los datos serie (SDA) - RC4/SDI/SDA El usuario debe configurar estos pines como entradas o salidas a través de la TRISC bits.

3

- Se debe tener en cuenta con que tiene de configuración estamos trabajando en el modulo I2C. Para poder realizar las operaciones dependiendo la necesidad de utilizar el modo maestro o esclavo. - Una pequeña desventaja de la comunicación serial seria que es un tanto lenta y muy atrasada con respecto a las nuevas tecnologías de transmisión de datos. Es por esto que al realizar la practica debemos acoplarnos en la parte de Hardware para conseguir puertos seriales en nuestros computadores. VI. BIBLIOGRAFIA

Figure 3.

Diagrama de bloques del modulo I2C

REGISTROS : El módulo MSSP tiene seis registros para la operación I2C. Estos son: • MSSP Registro de Control 1 (SSPCON1) • MSSP Registro de control 2 (SSPCON2) • Estado MSSP Registro (SSPSTAT) • Serie recepción / transmisión Buffer Register (SSPBUF) • MSSP Shift Register (SSPSR) - No directamente accesibles • MSSP Dirección Register (SSPADD) SSPCON1, SSPCON2 y SSPSTAT son el control y registros de estado de funcionamiento en modo I2C. Los registros SSPCON1 y SSPCON2 son de lectura y escritura. Los menores de 6 bits del SSPSTAT son de sólo lectura. Los dos bits superiores del SSPSTAT son de lectura / escritura. SSPSR es el registro de desplazamiento sirve para mover los datos dentro o fuera. SSPBUF es el registro intermedio de bytes de datos que se escriben o leer. SSPADD registro contiene la dirección del dispositivo esclavo cuando el SSP se configura en modo esclavo I2C. Cuando el SSP se configura en modo maestro, los menores de siete bits de acto SSPADD como la Tasa valor de recarga Generador de baudios. En las operaciones de recibir, SSPSR y SSPBUF juntos crean un receptor de doble almacenamiento intermedio. Cuando SSPSR recibe un byte completo, que se transfiere a SSPBUF y la interrupción SSPIF se establece. Durante la transmisión, el SSPBUF no se DoubleBuffered. Una escritura de SSPBUF escribirá tanto SSPBUF y SSPSR. IV. DESARROLLO DE SOFTWARE Y HARDWARE (V ER A NEXOS ) V. CONCLUSIONES Y RECOMENDACIONES - El módulo I2C nos facilita la comunicación entre micro controladores, memorias y otros dispositivos y permite el intercambio de información entre muchos dispositivos a una velocidad aceptable. - La tensión de funcionamiento va de 2,5V a 5,5V y no es necesaria la presencia de drivers de adaptación de tensión externos.

[1]Documentación técnica del PIC18F4620 de Microchip. [2]ARQUITECTURA Y PROGRAMACION DE MICROCONTROLADORES PIC, Andrés R. Bruno - Saravia Ariel Coria, 2a ed. - Buenos Aires. El autor, 2010. [3]http://microembebidos.wordpress.com/2012/04/10/tutorialc18-comunicacion-uart/ [4]http://www.programarpicenc.com/libro/cap10-usart-uartmicrocontroladores-pic-max232.html