0% encontró este documento útil (0 votos)
84 vistas8 páginas

Modulo Adaptador Puerto Serie

Este documento describe un módulo adaptador que permite la comunicación entre un microcontrolador y una computadora a través del puerto serie. Explica que el módulo utiliza un circuito integrado MAX232 para convertir los niveles de voltaje entre los protocolos TTL y RS-232. También incluye diagramas del circuito, la distribución de los componentes en la placa de circuito impreso y un ejemplo de código para programar un microcontrolador PIC16F628A para comunicación serial.

Cargado por

ismael
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
84 vistas8 páginas

Modulo Adaptador Puerto Serie

Este documento describe un módulo adaptador que permite la comunicación entre un microcontrolador y una computadora a través del puerto serie. Explica que el módulo utiliza un circuito integrado MAX232 para convertir los niveles de voltaje entre los protocolos TTL y RS-232. También incluye diagramas del circuito, la distribución de los componentes en la placa de circuito impreso y un ejemplo de código para programar un microcontrolador PIC16F628A para comunicación serial.

Cargado por

ismael
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

Módulo Adaptador Puerto Serie

Ismael Cervantes de Anda


Docente ESCOM IPN
[email protected]
El presente artículo es tomado de uno publicado recientemente, en el cual se
propuso un módulo que sirva para comunicar cualquier circuito electrónico con la
computadora. Para realizar la comunicación se debe de seguir el formato del
protocolo serial RS-232.
Aunque como se menciono anteriormente, el módulo adaptador puede funcionar
para cualquier circuito, el presente módulo tiene la finalidad de ser empleado con
un microcontrolador, por lo tanto, se debe de tener el conocimiento de la
programación del microcontrolador, para lo que se recomienda que sea utilizada la
herramienta que de manera exprofesa incluyen los microcontroladores y que por lo
general recibe el nombre de USART, por lo que en el presente proyecto se
mostrara tan solo a manera de ejemplo la manera de habilitar la comunicación
serial “Full duplex” en un microcontrolador PIC, siendo de manera especifica el
PIC16F628A, sobre el que se mostrara el ejemplo.
Antes revisemos la manera en que trabaja el protocolo RS-232. En el caso del
puerto serie existe el inconveniente de que un microcontrolador trabaja con niveles
de voltaje TTL y el puerto serie de la computadora trabaja con niveles de voltaje
de acuerdo a la norma RS232. Estas diferencias en los niveles de voltaje hacen
que sea imposible realizar una conexión “directa” de un microcontrolador al puerto
serie de la computadora.
0 0V – 0.8V
Entrada
1 2V – 5V
TTL
0 0V – 0.4 V
Salida
1 2.4V – 5V
0 -3V – -15V
Entrada
1 +3V – +15V
RS232
0 +5V – +15V
Salida
1 -5V – -15V
Tabla 1.- Niveles de voltaje TTL y RS232.
Para poder establecer comunicación entre el puerto serie de una computadora y
un microcontrolador es necesario construir un módulo adaptador de RS232 a TTL,
dicho módulo debe ser capaz de convertir los niveles de voltaje de RS232 a TTL
para realizar una transmisión de datos ( desde la computadora ) y de TTL a RS232
para realizar una recepción de datos (desde el microcontrolador), en el mercado
se encuentra un circuito integrado que realiza esta tarea, específicamente el
MAX232, este circuito integrado es muy popular debido a que para un
funcionamiento adecuado solo necesita de cuatro capacitores electrolíticos y una
fuente de alimentación de 5V.
La siguiente figura muestra el diagrama esquemático del Módulo “Adaptador
Puerto Serie”.

Fig. 1.- Diagrama esquemático del adaptador de RS232 a TTL.


El módulo adaptador puerto serie es un circuito muy sencillo ya que, como se
menciono anteriormente, el circuito integrado MAX232 (IC1) realiza la tarea de
cambiar los niveles de voltaje de RS232 a TTL en el caso de una transmisión de
datos y de TTL a RS232 en el caso de una recepción de datos. El MAX232 (IC1)
necesita para funcionar solo de cuatro capacitares electrolíticos y de una fuente de
alimentación de 5V, internamente el MAX232 (IC1) tiene dos fuentes conmutadas
la primera de ellas en conjunto con los capacitores electrolíticos C3 y C2 “adaptan”
el nivel de voltaje tomado de la alimentación de +5V a +10V, la segunda fuente
conmutada y los capacitores electrolíticos C1 y C4 invierten los niveles de voltaje
para que se puedan obtener -10V, estos niveles de voltaje son utilizados para
realizar la adaptación de los voltajes RS232 y se encuentran dentro de los rangos
permitidos por la norma RS232.

Fig.2.- Detalle del circuito integrado MAX232.


El circuito integrado MAX232 (IC1) tiene dos terminales para conectar señales con
niveles de voltaje TTL que serán adaptadas en señales con niveles de voltaje
RS232, y otras dos terminales para conectar señales con niveles de voltaje RS232
que serán adaptadas a señales con niveles lógicos TTL.
TTL Terminales RS232
11→14
Entradas TTL Salidas RS232
10→ 7
12←13
Salidas TTL Entradas RS232
9←8
Tabla 2.- Terminales para señales del MAX232.
En el diagrama esquemático se observa que no todas las terminales del circuito
integrado MAX232 (IC1) están conectadas, esto debido a que solo utilizamos la
señal de la terminal 2 del conector DB9 (Rx) y la señal de la terminal 3 del
conector DB9 (Tx), estas señales se utilizan para hacer la recepción y la
transmisión de datos respectivamente. En el caso de la recepción de datos la
señal con niveles de voltaje TTL, procedente de un microcontrolador o cualquier
dispositivo que maneje niveles de voltaje TTL, entra por la terminal 11 del MAX232
(IC1), en el MAX232 se adaptan los niveles de voltaje de TTL a RS232 y la señal
con niveles de voltaje RS232 sale por la terminal 14 del MAX232 (IC1) a la
terminal 2 del conector DB9 (Rx); en el caso de la transmisión de datos, la señal
de la terminal 3 del conector DB9 (Tx) con niveles de voltaje RS232 entra por la
terminal 13 del MAX232 (IC1) en el MAX232 se adaptan los niveles de voltaje de
RS232 a TTL y la señal con niveles de voltaje TTL sale por la terminal 12 del
MAX232 (IC1), esta señal puede ser conectada a la terminal receptora de un
microcontrolador.

Fig. 3.- Circuito impreso.


También se observa que las terminales 1, 4 y 6 del conector DB9 están
cortocircuitadas entre si, así como las terminales 7 y 8 del conector DB9 también
están cortocircuitadas, esto es necesario cuando la computadora maneja la
transmisión y recepción de datos por el puerto serie con algún método de control
de flujo, ya que nos permite simular una terminal receptora que emite las señales
de control de flujo necesarias para establecer la comunicación, en el caso de que
la computadora maneje los datos sin ningún método de control de flujo no es
necesario realizar ninguna conexión entre las terminales del puerto serie, aunque
si la computadora no maneja los datos con algún método de control de flujo y
dichas conexiones se encuentran hechas no afectan la comunicación entre la
computadora y el microcontrolador.
Las terminales del conector X1 se describen en la siguiente tabla.
Terminal Descripción
1 Recepción de Datos
2 Transmisión de Datos
3 Alimentación
4 Tierra
Tabla 3.-Descripción de terminales del conector JP1
La siguiente figura muestra la distribución de los componentes en el circuito
impreso, es importante mencionar que es recomendable soldar primero una base
para circuito integrado de 16 pines y después colocar sobre ella el MAX232, ya
que así evitaremos dañar el circuito integrado con temperaturas excesivas al
momento de soldar los componentes, también es importante colocar los
capacitores electrolíticos con la polaridad adecuada, ya que si no se hace así el
Modulo adaptador RS232- TTL no funcionara correctamente

Figura 4.- Distribución de componentes sobre el circuito impreso.


En la figura 5 se muestra un diagrama que se sugiere para el empleo del módulo
adaptador, para comunicar al microcontrolador PIC16F628 con la PC. En el
diagrama se muestra un circuito en donde al PIC se le tiene que habilitar el
oscilador interno, o en su defecto, se le coloque un oscilador externo por lo que se
le tiene que habilitar cuando se programe el microcontrolador y obviamente
colocárselo en el circuito. El conector DB9 del módulo adaptador se conecta a
la PC, por medio de la utilización de un cable tipo serie.

Figura 5.- Distribución de componentes sobre el circuito impreso.


Para completar el proyecto se requiere de una aplicación que se encuentre
instalada en la PC, y para ello se ofrece una aplicación 100% funcional para que la
PC transmita y reciba información hacia el microcontrolador a través del módulo.
En la figura 6 se ilustra la imagen de la aplicación para comunicar un PIC con la
PC.
A continuación se anota el código para programar al microcontrolador PIC, para
que se comunique de manera serial a la PC, en una estructura Full Duplex. El
programa en el microcontrolador esta diseñado de tal manera que el dato que
reciba de la PC, será retransmitido nuevamente a la PC.
;====================================== ; Declaración de Bits
; Autor: Ismael Cervantes de Anda. ;======================================
; Habilitación de la comunicación Serial c equ 0 ;carry / borrow bit
; Fecha: 27/11/2006 z equ 2 ;bit cero
; PIC: 16F628A rcif equ 5
; Modo de oscilador interno "intRC I/O" rcie equ 5
;====================================== rp0 equ 5 ;registrer banck select bit
LIST P=PIC16F628A rp1 equ 6 ;registrer banck select bit
;====================================== peie equ 6
; Declaración de Registros gie equ 7
;====================================== spen equ 7
w equ 00h ;======================================
status equ 0x03 ; Vector del reset
porta equ 0x05 ;======================================
portb equ 0x06 reset
intcon equ 0x0b org 0
pir1 equ 0x0c goto IniProg
rcsta equ 0x18 org 4
txreg equ 0x19 bcf status,rp0 ;cambiar al banco 0
rcreg equ 0x1a bcf status,rp1
cmcon equ 0x1f btfsc pir1,rcif
opsion equ 0x81 goto interserie
trisa equ 0x85 retfie
trisb equ 0x86 ;======================================
pie1 equ 0x8c ; Interrupcion por USART
txsta equ 0x98 ;======================================
spbrg equ 0x99 interserie
var1 equ 0x24 bcf status,rp0 ;cambiar al banco 0
var2 equ 0x25 bcf status,rp1
var3 equ 0x26 bcf intcon,gie ;desactivar habilitador
recep equ 0x32 ;general de interrupciones
;====================================== movf rcreg,w ;recuperar el dato
movwf recep ;recibido por rs232 bcf status,rp0 ;cambiar al banco 0
bsf bandera,0 bcf status,rp1
bcf pir1,rcif call retardo1seg
bsf intcon,gie btfss bandera,0
retfie goto Ciclo
;====================================== call transmisión
; Comienzo del programa principal bcf bandera,0
;====================================== goto Ciclo
IniProg ;======================================
movlw 0x02 ;configura pines 0 y 2 a 7 ;Subrutinas
movwf trisb ;como salida, pin 1 como ;======================================
;entrada del puerto B retardo1seg
movlw 0xFF ;configurar los pines del ;Retardo de 1 segundo
movwf trisa ;puerto A como entrada movlw .255
;del puerto A movwf var1
bcf status,rp0 ;cambiar al banco 0 ciclo_3
bcf status,rp1 movlw .08
movlw 0x07 ;configurar los pines del movwf var2
movwf cmcon ;puerto A como entradas ciclo_2
;o salidas discretas movlw .166
movlw 0x00 movwf var3
movwf recep ciclo_1
;********************************************************* decfsz var3,1 ;497
; Activacion de la USART microsegundos = aprox. 0.5 milisegundos
;********************************************************* goto ciclo_1
bsf status,rp0 ;cambiar al banco 1 decfsz var2,1
bcf status,rp1 goto ciclo_2
movlw b'00100110' decfsz var1,1
movwf txsta goto ciclo_3
movlw .25 return
movwf spbrg transmisión
bcf status,rp0 ;cambiar al banco 0 bsf status,rp0 ;cambiar al banco 1
bcf status,rp1 bcf status,rp1
bsf rcsta,spen ;habilitacion del movlw b'00100110'
;puerto de comunicacion serial movwf txsta
bsf rcsta,cren movlw .25
bsf intcon,gie ;activar habilitador movwf spbrg
;general de interrupciones bcf status,rp0 cambiar al banco 0
bsf intcon,peie ;activar habilitador bcf status,rp1
;general de interrupciones por perifericos bsf rcsta,spen
bsf status,rp0 ;cambiar al banco 1 movf recep,w
bcf status,rp1 movwf txreg
bsf pie1,rcie ;activar interrupción por txespera
;fin de recepción por usart btfss pir1,txif
;------------------------------------------------------------ goto txespera
;Rutina que transmite el dato que recibe return
;------------------------------------------------------------ End
Ciclo

Lista de Materiales del Módulo Adaptador Puerto Serie (ICA-021).


C1 a C4 Capacitor electrolíticos 1 µF @ 15 V.
IC1 Circuito integrado MAX232.
X1 Conector DB9 hembra para circuito impreso.
Varios.- Circuito impreso, base de 16 pines, cables de conexión.

También podría gustarte