Redalyc.Unidad Básica de Comunicación Serial en un ... · El medio de transmisión para la...

6
Polibits ISSN: 1870-9044 [email protected] Instituto Politécnico Nacional México Herrera Lozada, Juan Carlos; Tlizaliturri Flores, Ian; Morales Castillo, Mario Unidad Básica de Comunicación Serial en un Microcontrolador Polibits, núm. 33, 2006, pp. 3-7 Instituto Politécnico Nacional Distrito Federal, México Disponible en: http://www.redalyc.org/articulo.oa?id=402640446001 Cómo citar el artículo Número completo Más información del artículo Página de la revista en redalyc.org Sistema de Información Científica Red de Revistas Científicas de América Latina, el Caribe, España y Portugal Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

Transcript of Redalyc.Unidad Básica de Comunicación Serial en un ... · El medio de transmisión para la...

Page 1: Redalyc.Unidad Básica de Comunicación Serial en un ... · El medio de transmisión para la interfaz USART requiere de al menos dos vias, por lo que la complejidad, costos y el uso

Polibits

ISSN: 1870-9044

[email protected]

Instituto Politécnico Nacional

México

Herrera Lozada, Juan Carlos; Tlizaliturri Flores, Ian; Morales Castillo, Mario

Unidad Básica de Comunicación Serial en un Microcontrolador

Polibits, núm. 33, 2006, pp. 3-7

Instituto Politécnico Nacional

Distrito Federal, México

Disponible en: http://www.redalyc.org/articulo.oa?id=402640446001

Cómo citar el artículo

Número completo

Más información del artículo

Página de la revista en redalyc.org

Sistema de Información Científica

Red de Revistas Científicas de América Latina, el Caribe, España y Portugal

Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

Page 2: Redalyc.Unidad Básica de Comunicación Serial en un ... · El medio de transmisión para la interfaz USART requiere de al menos dos vias, por lo que la complejidad, costos y el uso

Unidad Básica de Comunicación serial en un Microcontrolador

l!Jnidad Básica de €omunicaciánSerial en un Microcontroladore

M. en C.¡uan Carlos Herrera LozadaInvestigador del CIDETEC IPNJan Rizaliturri. FloresAlumnodeloM..strúlenTecnologfadeC6mputodel CIDETEC IPNMario Morales CastilloAlumno de laMaestriaen TecnologlaAvanzadadel CICAD! IPN (Lego....)

111 presente artículo infiereel diseño de una UIÚdad decomUIÚcación serial imple­

mentada con un microcontrolador.La funcionalidad de este prototipopermite enviar y recibir datos decualquier sistema de cómputo quesoporteelestándarRS-232,dadoquesu generalidad permite adaptarloa cualquier aplicación sin cambiosdrásticos. Este trabajo expone losresultados preliminares del proyec­to "Sistemas de Control para Motores,Supervisados porComputadoras de Bol­sillo" que se desarrolla actualmenteen el ODETEC - IPN.

INTRODUCCIÓN

Los microcontroladores actualesnormalmentecuentanconunmódu­lo funcional de comUIÚcación serieUSART/SCI (Universal SynchronousAsynchronousReceiver Transmitter/Se­riJlI Comunication Interface); en casocontrario éste puede implementar­se en la mayoría de sus funcionesmediante software. Este módulo seutiIiza ampliamente en sistemas decómputo en general, por lo que elmicrocontroladorvisto como un core

XVI 1 n

o UIÚdad básica puede establecercomUIÚcaciónde manerasimpleconel procesador del equipo y acceder alos recursos del sistema completo.

El medio de transmisión parala interfaz USART requiere deal menos dos vias, por lo que lacomplejidad, costos y el uso determinales del microcontroladorse reducen; esta interfaz tiene dosmodos de comUIÚcación: asincronao síncrona. La primera esfull duplexconunavia RX (Recepción)y otraTX(Transmisión), la segunda interfazeshalf duplex, utiliza una via de CLK(reloj) y otra de DT (Transmisión dedatos), con sus configuraciones pordispositivo como maestro o esclavo.En los microcontroladores tambiénpueden existir otros módulos decomUIÚcación serie como el SPI(Serial Peripherial Interface) o I2C([nter.-Integrated Circuit! que son detipo síncrono.

Cuando el módulo USART ma­neja la comunicación en modo asÍn­cronose denomina UART(UniversalAsynchronous Receiver/Transmitter).Para establecer comUIÚcación me­diante el UART se requiere que losparámetros sean iguales para TX yRX¡ estos parámetros son: númerode bits del dato, número de bits deparo (stop), velocidaddetransmisión(en baudios), control de paridad yniveles lógicos utiIizados. La lineaque transmite los datos en serieestá inicialmente en estado alto; alcomenzar la transferencia se envía

polibib

un bit "O" lógico o bit de inicio. Trasél irán los bits de datos a transmitir(en ocasiones son 8, 7, 6 o 5): estosbitsestánespaciadosconunintervalotemporal fijo y preciso, ligado a lavelocidad de transmisión que se estéempleando.

Posteriormente podría venir unbit de paridad que indica si se haenviado un número par o imparde bits con un nivel lógico alto enla palabra; al final aparecerá un bit(a veces un bit y medio ó dos bits)a "1" lógico, representando los bitsde paro. Medio bit significa que laseñal correspondiente en el tiempoa un bit dura la mitad; realmente, encomunicaciones se utilizael términobaudio para hacer referencia a lasvelocidades y por lo general, unbaudioequivaleaunbitporsegundo.La presenciade losbitsde inicioypa­rada permite sincronizar la estaciónemisora con la receptora, haciendoque los relojes de ambas vayan a lapar, por eso el tipo de transmisiónse denomina asíncrona por paquetey sincrona por bit.

Existen varios estándares decomunicación serie asíncrona, queemplean tensiones diferenciadasapropiadas para distancias largasentre dispositivos como RS-422, RS­485 u otros que emplean niveles detensiónparalainmUIÚdada ruido, talcomo RS-232. El UARTtiene compa­tibilidadconesteú1timoensuterceraversión, denominada con uC".

3

Page 3: Redalyc.Unidad Básica de Comunicación Serial en un ... · El medio de transmisión para la interfaz USART requiere de al menos dos vias, por lo que la complejidad, costos y el uso

Unidad Básica de Comanicación Serial en an Microcontrolador

Pin PinDB9 DB25

Nombre Dirección Descripción

l 8 CD Entrada Detección de portadora

2 3 RxD Entrada Recepción de datos

3 2 TxD Salida Transmisión de datos

4 20 DTR Salida Terminal de datos preparadas

5 7 GND - Masa del sistema

6 6 DSR Entrada Set de datos preparados

7 4 RTS Salida Petición para enviar

8 5 CTS Entrada Listo para enviar

9 22 RI Entrada Indicador de llamada

Tabla 1. Pines de los conectores DB9 y DB25.

..

PROGRAMACIÓN EN PIcBASIC PRO

2006

Para la programación delmicrocontrolador se utiliza PI­CBASIC PRO, el cual utiliza unlenguaje de alto nivel que dismi­nuye considerablemente la com­plejidad y el tiempo de diseño.

UNIDAD SERIAL IMPLEMENTADA EN

MICROCONTROLADOR

Es posible utilizar cualquiermicrocontrolador considerandoalgunas excepciones que se mencio­nan posteriormente. Para unificar lametodologíaseutilizóprimeramenteel microcontrolador PIC16F628Ade Microchip, debido a que es undispositivo de bajo costo y que seconsigue fácilmente en el mercadonacional; las características de estecircuito integrado son: 2048x14 bitsen memoria de código, 224x8 bitsen memoria de datos, 128x8 bits enmemoria EEPROM, una frecuenciade trabajo máxima de 20MHz, 16puertos E/S, dos comparadores ana­lógicos, USART y un módulo PWMde 10bits. Elmódulo USARTincluidotiene una memoria FIFO, BRG (Baud

Rate Generador) y control de pari­dad. Se recomienda acceder a lahoja de especificaciones de estemicrocontrolador para profun­dizar en el mismo.

polibits

CONSTRUCCIÓN DEL CABLE

Para la comunicación serial sim­plificada, considerando la robustezque pueda presentar el diseño, serequiere un cable Null - Modem de3 hilos, interconectando las señalessobrantes en el mismo conectorOB9, tal y como se aprecia en laFigura 1. Este procedimiento emulael protocolo CTS/RTS y OSR/OTRpor hardware; para controlar el flujode datos se recurre al protocolo desoftware XON/XOFF.

PC común utilizacircuitos integradosUART tales comoel 8250, el 16450, el16550, etc.; cadauno de estos con susvariantesenmáximavelocidad de comu­nicación, elementosde almacenamiento,control de flujo dedatos, funcionali­dad adicional y enel cumplimiento dela norma RS-232C;por ello, adecuarlosrequerimientos de la~_~ F_i;;;.gu_r_a_l_.C_a_b_l_e_N_u_ll_-M....;"od_e;,:m:.:.:..d.:.,e.:.,3.:,;h.:,;il,:;os:.;,· .....!!!!!!!!!!...llunidad básica de co­municaciónserial (microcontroladorprogramado como tal) no representamayor problema.

ESTÁNDAR Rs-232c

DISEÑO DEL PROTOTIPO

El core diseñado está dispuestocomo enlace entre el sistema decómputo y una aplicación externa(monitoreo de señales, adquisiciónde datos, sistemas de control, etc.).El microcontrolador intercambia in­formación conel equipo de cómputovía el puerto serie. Por ejemplo, una

4

Propuesto por la Asociación deIndustrias Electrónicas (ElA), reali­zándose posteriormenteuna versióninternacional por el CCITT (Con­sultative Committee Jor InternationalTelegraphy and Telephony) conocidacomo V.24 con pocas diferenciasentre ambas. El estándar estipula lascaracterísticas mecánicas, eléctricasy de unprotocolo orientado al enlacefísico punto a punto. Lascaracterísti­cas eléctricas ofrecenalta inmunidada ruido, y una distancia de enlace dehasta 16 metros dependiendo de lavelocidad de transmisión utilizada.Los niveles de voltaje aplicado parael Ológico están en el rango de +3Va +15Y, y para el1lógico se tiene unrango de -3V a -15V; de -3V a +3Vse tiene una zona de transición. Esteestándar cuenta con dos tipos de co­nectores físicos: el conector OB9 y elconectorOB25. LaTabla1muestra laconfiguraciónfísica de las terminalespara ambos casos.

Page 4: Redalyc.Unidad Básica de Comunicación Serial en un ... · El medio de transmisión para la interfaz USART requiere de al menos dos vias, por lo que la complejidad, costos y el uso

Unidad Básica de Comunicación Serial en un Microcontrolador--------

Tabla 2. Modos de transmisión aceptados por SERIN y SERüUT.

PIC16F628AMAX232

U1

El circuito integrado MAX232permite acoplar los voltajes de laUSARTy el PIe (opción más reco­mendable), aunque los microcon­troladores de Microchip permitenacoplar los voltajes sin necesidadde un dispositivo adicional.

El código programado destinatiempo de proceso paraestablecerparámetros iniciales de funciona­miento que se estipulan en co­rrespondencia al manejo de unaUSART en protocolo completo.En este circuito, la velocidad degiro y el paro del motor puedenmanejarse en cualquier momentomediante la terminal. Obsérveseque el control del motor se realizaa través de la instrucción HPWMque permite modular el anchodel pulso y obtener un equiva­lente analógico en voltaje parareducir o aumentar la velocidaddel motor.

este trabajo se utilizaron dos termi­nales, unapara simulación (contenidaen la herramienta software 1515 deProteus) y otra para pruebas físicasque se descargó de http://bray.velenje.cx/avr/terminal/.

10u

C2-

Q1

MOTOR12V

12V -

TERMINAL

APLICACIÓN CON COMUNICACIÓN

COMPLETA

El circuito de la Figura 2 muestraal microcontrolador PIC16F628Aconectado a un motor CD. El bloquedenominado TERMINAL representaa la interfaz de usuario, que permiteenviar datos hacia el microcontrola­dor y visualizar los datos recibidos.Esta terminal puede ser propietaria,o es posible diseñarla con VisualBasic, C, o algún otro lenguaje quepermita acceso al puerto serie. En

Esta instrucciónenvía los datos demanera serial a tra­vés del pin indicado,utilizando el mismoformato estándar dela instrucción SE­RIN. Para utilizarel protocolo RS-232completo con la inter­faz USART (no sólotres hilos, sino todoslos del conector), seutilizan H5ERIN yH5EROUT. Es estecaso será necesariodefinir los paráme­

tros de la comunicación y construirel cable adecuado.

SEROUT Pin, Mode,[ltem[,ltem...}]

La sintaxis de lainstruccióndeen­trada serial SERIN es la siguiente:

SERIN Pin, Mode, {Timeout,Label,}{[Qual...],}{Item...}

La sintaxis de la instrucción parala salida serial SEROUT es:

Este lenguaje contiene dos instruc­ciones básicas para la comunicaciónserial bajo un protocolo simple:SERlN y SEROUT (comunicaciónserial asíncrona paraentrada/salida).El compilador, así como el manualde usuario y algunos tutoriales, sepueden obtener directamente delsitio web del fabricante http://www.melabs.com/pbpdemo.htm.

En ella se indica la recepción dedatos sobre la terminal (pin) indi­cada (de acuerdo a la distribuciónde pines del microcontrolador) enel formato estándar asíncrono queutiliza 8 bits de datos, sin bit deparidad y un solo bit de paro (8N1).El modo selecciona la frecuencia detransmisión y el tipo de la mismade acuerdo a la Tabla 2. Mode (p.e.T24DD para indicar el baudaje) estádefinido en el archivo MODEDEFS.BAS,quese incluyeutilizando la líneaInclude "modedejs.bas"

símbolo valor- baudios modos

~2400 O 2400

T1200 11 11200 TTL Lógica

~9600 2 9600T Positiva

T300 :3 300

N2400 4 2400

N1200 5 11200 TTL Lógica

N9600 6 9600 Invertida

N300 7 300

OT2400 B .2400

OT1200 9 11200 Or-enaje0'7' 96 00 110 9600 Abierto

0']["3 o o 11 300

ON2400 12 2400

ON1200 113 11200 FuenteON9600 "l4- 9600 Abierta

ON300 115 300

Figura 2. Control Simple de un Motor a CD vía el puerto serie. PIC16F628A.

XVI 1 33 polibits 5

Page 5: Redalyc.Unidad Básica de Comunicación Serial en un ... · El medio de transmisión para la interfaz USART requiere de al menos dos vias, por lo que la complejidad, costos y el uso

Unidad Básica de Comunicación Serial en un Microcontrolador<-------- -----------"

R1

Figura 3. Control Simple de un Motor a CD vía el puerto serie. PIC12CS08A.

La transmisión serial resultafácil de implementar, además deque es segura y de bajo costo. En elcaso de un microcontrolador comointerfaz hardware de intercambiocon cualquier sistema de cómputo(principalmente PC's, y computado­ras de bolsillo), es viable considerarlas propuestas realizadas en estetrabajo, yaque se adaptana cualquieraplicación similar, debido a que launidadbásica de comunicaciónseriees la misma en todo momento.

CONCLUSIONES

SELECT CASE RESPUESTACASE 49 'Velocidad 1VELOCIDAD =85case 50 'Velocidad 2VELOCIDAD =179case 51 'Velocidad totalVELOCIDAD =255end selectFOR TIEMPO = 1 TO 5 ' M i c r o

4MHz,5ms*255*5 =6 segPWM GPI0.5,VELOCIDAD,255NEXTTIEMPOPWM GPI0.5,O,1

SEROUT GPI0.0,N2400,["FIN DEPWM",10,13]GOTO INICIOEND

La utilización de la herramientaPICBASIC PRO para la programa­ción de microcontroladores facilitaen gran medida el diseño, aunquecabe considerar que si se obtiene, através del compilador, el ensambla­dor equivalente y posteriormente el

Se mostraron dos aplicacionesque utilizan el core diseñado; por unladounmicrocontroladorde lagamamedia con un dispositivo adicionalpara el acoplamiento de voltajespara la transmisión; por otro, unmicrocontrolador de la gama baja ysin acoplamiento de voltajes, con 10que se tiene una referencia mayorpara realizar otras aproximaciones(ver Figura 4).

GP5/0SC1

GP4/0SC2

GP3/MCLR

de 4MHz, 6 líneas de E/S y 8pines. Este dispositivo no tienemódulos PWM y USART, por 10que su funcionamiento debe serprogramado en su totalidad y to­mando tiempo de procesamientopara su utilización. En el caso dela función PW.A1, sólo se utilizapara poder procesar la siguienteacción; en la comunicación no seutilizó el circuito de acoplamientode voltajes, por 10 que el estadode transición en Ov o menos enRS-232C es tomado en el mi­crocontrolador como "O" lógico ycualquier voltaje arriba de 5v estomado como"1"lógico; en el RS­232 los Ov del microcontroladorson tomados como "1" lógico ylos 5v equivalen a "O". El no ade­cuar el acoplamiento de voltajesaumenta los errores y reduce lavelocidad en la comunicación.

Include "modedefs.bas"@DEVICEMCLR_OFF,INTRC_OSC,WDT_OFF,PROTECT_OFF

'DECLARACiÓN DE VARIABLESRESPUESTA var byteVELOCIDAD VAR BYTETIEMPO VAR BYTE

'PROGRAMA PRINCIPALVELOCIDAD = OSEROUT GPI0.0,N2400,["CONTROL DEVELOCIDAD PARA MOTOR DC",10,13]INICIO: SEROUT GPI0.0,N2400,["DEMELA VELOCIDAD 1 2 3 PARO POR TIEM­PO",10,13]

SERIN GPI0.1,N2400,D,RESPUESTA'Espera para respuestaSEROUT GPI0.O,N2400,[RESPUESTA,10,13]

Q1BUZ10

U1

5V

5V

ApUCACIÓN CON COMUNICACIÓN

SlMPUFICADA

El microcontrolador utilizadoen el circuito de la Figura 3 esun PIC12CS08A, que cuentacon 768x12 bits en memoria decódigo, 25x8 bits en memoriade datos, frecuencia máxima

Include Umodedefs.bas"'BITS DE CONFIGURACION DEL MICRO­CONTROLADOR@ DEVICE MCLR_OFF, INTRC_OSC,WDT_OFF,@ DEVICE LVP_OFF, BOD_OFF, PWRT_OFF, PROTECT_OFF

'CONFIGURACION DE TERMINALESDEFINE HSER_BAUD 2400 'VELOCI-DADDEFINE HSER_SPBRG 25DEFINE HSER_BITS 8 'BITS DE DATOS

'DECLARACION DE VARIABLESRESPUESTA VAR BYTE

'PROGRAMA PRINCIPALHSEROUT ["CONTROL DE VELOCIDADPARA MOTOR DC",1 o,13]INICIO: HSEROUT["INTRODUZCAOPCIÓNDE VELOCIDAD 1 2 3, STOP 0",10,13]HSERIN [str RESPUESTA \1\"A"]HSEROUT [RESPUESTA,1 o,13]SELECT CASE RESPUESTACASE 49 'Velocidad 1HPWM 1,85,245

case 50 'Velocidad 2HPWM 1,170,245

case 51 'Velocidad totalHPWM 1,255,245

case 48 'Paro de motorHPWM 1,0,245

end selectGOTOINICIOEND

DRXD I---------'--i GPO

TXD 1-------"---1 GP1

RTS GP2fTOCKI~== --l

CTS PIC12C508A

TERMINAL

6 polibits __________---=2=--=006

Page 6: Redalyc.Unidad Básica de Comunicación Serial en un ... · El medio de transmisión para la interfaz USART requiere de al menos dos vias, por lo que la complejidad, costos y el uso

«Iniciad IMska ele Comunlcacl6n Serial en un Mlcrvcontrolador

Figura 4. Aplicación que adquiere datos y los muestra.

[2] JoseM.Angulo Usategui;Mi­crocontroladores PIe: primera ysegundJlpmu. Terceraedición.McGrawHill

. :: :~._.-.. .crs .. _ ..... ,....

u,: AA7IOK'aHoI _ •~ AA.-..

1--"1~ :=._oc~

u=¡¡¡---~­-~ .'M •'oc •

~Mn.OSOTtOO •~"~

archivo hexadecimal ron el que seprogramará el microcontrolador!éste último implica un uso mayorde la memoria del dispositivocomparado con un diseño total enensamblador. Aún así! el lenguajede alto rnvel resulta un recurso am­pliamente socorridoporestudiantesy diseñadores profesionales.

Con respecto al proyecto quedio pie a este artículo, "Sistemas deControl para Motores Superoisados porComputadoras de Bolsillo", cabe men­cionar que la portabilidad y el poderde procesamiento de un PDA

(Asistente Pers<J7Ul1 DigitRlI permitenconcebir a estos dispositivos comosistemas altamente rentables paraanalizar datos en campo, sinIanece­sidaddeotrosaparatosdemorntoreoy medición. La propuesta es pro­gramar bajo MU:rosoft Wmdows CE(actualmente Windows Mohik) paraestudiar la factibilidad de la imple­mentación de sistemas de contro~

idealmentedemotoresa CO,motoresapasos y servomotores, controladospor la Pocket Pe vía el puerto seriey el protocolo &5-232.

XVI 1 33

~I..•

u,

Adicionalmente, se planteanpruebas utilizando la comunicaciónRF (radiofrecuencia) y la tendenciaactual hacia RFID de identificacióninalámbrica; ambas coinciden en elesquema de transmisión serial. Latecnologla RFID reconoce códigosválidos a través de una seña1 deradiofrea¡encla en un esquema deemisor - receptor tipo wireless (ina­lámbrico). En la actualidad existeninnumerables aplicaciones que vandesde sustituir un lector de códigode barras, hasta descontar saldosen cuentas (tarjetas del Metrobús yboletos del metro, de la Ciudad deMéxico).

poIlb1ts

[1]

[3]

[4]

[5]

[6]

BJlIUOCJWÚ

lovine,John; PICMicroconlro­ller Project Book, McCraw Hill,Segunda edición

Manual de PIC16F6281628N648A. Microchip, !ne.

Monual de PicBasíc Pro Compi­/er. MicrioEnginnering Laba.!nc.

http://www.cidetec.ipn.mx/pofesores/jcrls/

hllp://www.todopic.com.ar/pbp_sp/

7