Академический Документы
Профессиональный Документы
Культура Документы
CAPTULO III
DISEO Y DESARROLLO
DE LOS SISTEMAS DE
COMUNICACIN
56
CAPTULO III
modems telefnicos. Cabe comentar que los dos primeros interfaces se encuentran en equipos
PC, Laptops o PDA (Asistente Personal Digital, Personal Digital Assistant). El modem telefnico
se emplea para al comunicacin con una estacin central, por medio de una lnea telefnica,
como se muestra en la figura 3.1.
57
CAPTULO III
Microcontrolador
Para el caso particular del diseo en cuestin, el microcontrolador empleado es el AT90S8515
de la familia AVR de ATMEL, el circuito es de tipo CMOS, de una familia de microcontroladores
RISC de ocho bits, cuenta con una unidad de recepcin y transmisin asncrona UART,
mediante la cual es posible implementar la comunicacin RS-232. El microcontrolador es el
encargado de generar los tiempos necesarios en el ancho de los bits de transmisin de acuerdo
a la velocidad deseada. Para el envo de datos se escribe en un registro, y para verificar la
informacin que llega de algn dispositivo externo se lee otro registro de llegada. La velocidad
de transmisin se configura en un registro del microcontrolador. De igual forma, la unidad de
comunicacin serial asncrona del microcontrolador contar con un sistema de deteccin de
errores de formato y de desbordamiento.
El microcontrolador utilizado cuenta con una memoria interna de datos no voltil de tipo
EEPROM, en donde se almacenan los datos, por ejemplo: nombre de la estacin de operacin,
datos en ciertos periodos de tiempo, lectura de seales, etc. El espacio de memoria no voltil
para datos del microcontrolador permite el almacenamiento de esta informacin.
El microcontrolador cuenta con el suficiente nmero de terminales de E/S, para controlar los
perifricos (32 lneas de E/S), los cuales se encuentran en cuatro puertos bi-direccionales de
E/S (A, B, C y D), cada uno de 8 bits. Para nuestra aplicacin son empleados dos puertos, el B
y el D.
El puerto B es bi-direccional de 8 bits con resistencias de pull-up internas. Existen tres
localidades de memoria de E/S asociadas al puerto B, los cuales son: registro de datos
(PORTB), registro de direccin de datos (DDRB), y registro de entrada en las terminales (PINB).
El registro de entrada en las terminales es de slo lectura, mientras que los registros de datos y
de direccin de datos son registros de lectura/escritura. Los registros mencionados son
utilizados en el sistema a desarrollar.
58
CAPTULO III
Todas las terminales del puerto B poseen resistencias de pull-up, las cuales se pueden
seleccionar de forma individual mediante software; adems de que el puerto B tiene funciones
alternas, como se muestran en la tabla 3.1.
Terminal
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
Funcin Alterna
T0 (Entrada externa del contador 0)
T1 (Entrada externa del contador 1)
AIN0 (Entrada positiva del comparador analgico)
AIN1 (Entrada negativa del comparador analgico)
SS (Entrada de seleccin de esclavo del SPI)
MOSI (Salida del maestro/entrada del esclavo del bus SPI)
MISO (Entrada del maestro/salida del esclavo del bus SPI)
SCK (Reloj del bus serial SPI)
Tabla 3.1. Funciones alternas del puerto B.
Con respecto al puerto D tambin es un puerto bi-direccional de 8 bits con resistencias de pullup internas. Existen tres localidades de memoria de E/S asociadas al puerto D, las cuales son el
registro de datos (PORTD), registro de direccin de datos (DDRD), y el registro de entrada en
las terminales (PIND). El registro de entrada en las terminales PIND es de slo lectura, mientras
que los registros de datos y de direccin de datos son registros de lectura/escritura.
Todas las terminales del puerto D poseen, igual que el puerto B, resistencias de pull-up, las
cuales se pueden seleccionar de forma individual mediante software. Cuando el puerto D es
configurado como puerto digital de E/S, son empleados los registros del puerto D, PORTD,
DDRD y PIND. Para llevar acabo la transmisin de datos por medio de la UART son utilizados
las terminales PD0 (RXD, terminal de entrada de la UART) y PD1 (TXD, terminal de salida de
la UART), stas son terminales conectadas directamente al transceptor para realizar la
transmisin RS-232C. Las configuraciones que se debern tomar en cuenta en este punto son:
velocidad de transmisin/recepcin, cantidad de bits por dato, nmero de bits de parada y si es
que se emplear la paridad para detectar errores. Para este mdulo de comunicacin, la
velocidad empleada para el envo y recepcin de informacin es de 19,200 bauds, se
emplearn ocho bits de datos, un bit de parada y un bit sin paridad.
El puerto D cuenta con funciones alternas, las cuales se muestran en la tabla 3.2.
59
CAPTULO III
Terminal
PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7
Funcin Alterna
RXD (Terminal de entrada de la UART)
TXD (Terminal de salida de la UART)
INT0 (Entrada de la interrupcin externa 0)
INT1 (Entrada de la interrupcin externa 1)
(No tiene otra funcin)
OC1A (Salida de comparacin A del temp/cont 1)
WR (Escritura)
RD (Lectura )
Un nuevo carcter ha sido escrito hacia el registro de datos UDR, despus de que el bit de
parada del carcter previo ha sido transmitido. El registro de desplazamiento es cargado
inmediatamente.
Un nuevo carcter ha sido escrito al registro de datos UDR, antes de que el bit de parada
del dato previo haya sido transmitido. El registro de desplazamiento es cargado cuando el
bit de parada del carcter que est siendo actualmente transmitido es enviado.
AT90S8515
8 k Bytes
512 Bytes
512 Bytes
32
8 canales 10 bits
60
CAPTULO III
Comparadores
Temporizadores/WDT
1
1 de 8 bits
1 RTC de 8 bits
1 de 16 bits
1 WDT
UART
I2C
SPI
8 MHz
9 bits, 8x8
4
@ 4 MHz
Activo 5mA
Modo de espera 1.9 mA
Bajo consumo < 1 A
2.7 V a 6.0 V
118
niveles TTL es enviada a la terminal T1IN del MAX2232 para convertirla a niveles RS232 y
poder ser recibida por el puerto serie a travs de la terminal RxD (terminal 2 del conector DB9).
61
CAPTULO III
62
CAPTULO III
La figura 3.6 muestra la rutina de transmisin, la cual tendr como objetivo verificar la
comunicacin establecida, ya que sta puede llegar a fallar por cuestiones inesperadas (fallo en
el cable o una operacin indebida en el sistema), si se llegara a dar este caso el sistema se
inicializar. De otra manera se espera una bandera (IN), la cual indica el comienzo de una
transmisin vlida, en caso de que esta bandera no sea la comentada anteriormente, la rutina
vuelve a la verificacin de la comunicacin, para despus volver a preguntar por la bandera
(IN). Si la bandera fue vlida se lleva a cabo la transmisin del byte de informacin, esta
transmisin continuar hasta que exista una bandera (FN), la cual indicar la finalizacin de la
informacin, cuando esto suceda la rutina volver a la rutina de comando, la cual se encontrar
lista para recibir el siguiente comando de operacin para los diferentes mdulos.
63
CAPTULO III
La figura 3.7 muestra la rutina de recepcin, la cual esta diseada de manera semejante que la
rutina anterior, ya que hace manejo de la bandera de inicio (IN), la cual recibida, esperar la
informacin por byte, la cual ser almacenada por el microcontrolador; aunque puede suceder
que el byte no se reciba por algn error o que llegue informacin en blanco, en el primer caso el
microcontrolador inicializar el sistema, mientras que en el otro caso se volver a verificar si
existe algn otro byte. Existir otra bandera de fin de recepcin (FN), la cual cuando sea
afirmativa se regresar a la rutina de comando para preparar la siguiente comunicacin.
64
CAPTULO III
Para el desarrollo y programacin del mdulo RS232 se utiliza el sistema de desarrollo AVR
STK500, figura 3.8, el cual es un sistema para realizar pruebas de microcontroladores, que
incluye al microcontrolador AT90S8515. La ventaja de utilizar el sistema AVR STK500, es que
se puede programar el microcontrolador a utilizar en la misma tarjeta, as que evidentemente
proporcionar un ahorro de tiempo en el desarrollo del sistema. Las caractersticas principales
de dicha tarjeta son: contiene la interfaz RS232, tiene sockets de 8, 20, 28 y 40 terminales para
dispositivos AVR, 8 botones y 8 leds de propsito general, puertos de I/O, alimentacin
regulada de 10 a 15V.
65
CAPTULO III
66
CAPTULO III
R16,LOW(RAMEND)
SPL,R16
LDI
LDI
OUT
LDI
OUT
LDI
OUT
LDI
OUT
R16,HIGH(RAMEND)
R17,$FF
DDRb,R17
R17,$00
PORTb,R17
R17,23
UBRR,R17
R17,0B00011000
UCR,R17
El cdigo siguiente muestra la forma de realizar la verificacin del las banderas de inicio y fin.
; RUTINA DE TRANSMISIN DE INFORMACIN
TX_1:
TX_T1:
LDI
OUT
SBIS
RJMP
SBI
RCALL
LDI
OUT
SBIS
RJMP
R17,'I'
UDR,R17
USR,TXC
TX_1
USR,TXC
DELAY
R17,'N'
UDR,R17
USR,TXC
TX_T1
; CARGA EL CARACTER I
; TRANSMITE LA A
; ESPERA A QUE SE TRANSMITA LA I
; MIENTRAS NO SE TRANSMITA VERIFICA
; ESPERA UN TIEMPO
; CARGA EL CARCTER N
; TRANSMITE LA N
;ESPERA A QUE SE TRANSMITE LA N
; MIENTRAS NO SE TRANSMITA VERIFICA
SBIS
RJMP
IN
CPI
BRNE
USR,RXC
ESPERA_A1
R17,UDR
R17,'I'
ERROR_AA
RJMP
ESPERA_T1
; RECIBE CARACTER DE I
; VERIFICA HASTA QUE SE RECIBA DATO
; ENTRADA POR EL REGISTRO R17
; COMPARACIN DE LA LETRA I
;SI EXISTE UN ERROR BRINCA AL MANEJO DE
; ERRORES
; CONTINUA CON LA TRANSMISIN
67
CAPTULO III
puerto serial asncrono. En la figura 3.10 se muestra la arquitectura del circuito antes
mencionado. El conversor es de tipo bidireccional y contiene la lgica necesaria para
comunicarse con una computadora mediante el puerto USB; esto lo realiza por medio de un
microcontrolador 8052 de 8 bits, con una memoria RAM de16 kbytes (que puede ser cargada
desde la PC) y con un una memoria ROM de 10 kbytes (permiten al microcontrolador configurar
el puerto USB al momento de inicializacin). El conversor cuenta con las funciones de
decodificacin de las seales del USB (USB-RS232 y RS232-USB), configuracin de la UART y
manejo de errores que son administrados por el firmware (programa interno del circuito) del
microcontrolador. Es posible reutilizar la metodologa de la comunicacin RS232 en el
microcontrolador AT90S8515.
68
CAPTULO III
Soporte para las operaciones de: suspender, reanudar y reiniciar procesos de manera
remota.
2K en RAM compartida.
Cristal a 12MHz.
El circuito conversor opera de la siguiente manera, figura 3.11(a): el flujo de datos proveniente
de la PC, va su puerto USB, son alimentados a la entrada USB de circuito conversor, y son
enviados a travs de la lnea SOUT al puerto serie de la estacin remota. De igual manera, los
datos enviados a la PC, a travs del circuito conversor, son transferidos desde el puerto serie
de la estacin remota por la lnea SIN. La figura 3.11 (b) muestra la conexin electrnica
implementada del conversor en la estacin remota.
(a)
69
CAPTULO III
(b)
Figura 3.11. (a) Flujo de datos; (b) alambrado electrnico del conversor
RS232 a USB.
Los parmetros que necesita el conversor para operar son: RTS, CTS, DTR y DSR, con sus
transceptores para los niveles de voltaje, y son configurados por la estacin remota.
70
CAPTULO III
71
CAPTULO III
Software de la interfaz
En lo que corresponde a la programacin del microcontrolador AVR, se utilizar prcticamente
la misma programacin que se uso para la comunicacin RS232, ya que ambos sistemas
comparten el mismo protocolo de comunicacin, slo con la particularidad del empleo de
comandos Hayes para el manejo del modem telefnico. Por ejemplo, para comenzar la
comunicacin de un modem telefnico fuente a uno destino, se llevar a cabo la siguiente
secuencia: el modem destino verificar su estado, es decir activo o inactivo, este estado puede
ser monitoreado
microcontrolador, segn la forma de transmisin que puede ser de estacin central a remota
de estacin remota a central. El modem podr responder de dos maneras: OK o ERROR, si el
dispositivo est activo, la respuesta al comando ATA ser OK, de lo contrario el modem estar
inactivo. Cuando el modem est en calidad de activo, se enva el comando ATH1 para dar lnea,
si el comando es exitoso, responder con un OK; posteriormente, se marca el nmero del
modem destino con el comando ATDnmero, emitiendo en el telfono destino un comando
RING, el cual contestar con el comando ATA, para enlazar la comunicacin. Una vez que la
comunicacin es establecida, el modem fuente est configurado con el baudaje de 9600, para
llevar a cabo el intercambio de informacin entre modems. Para concluir con la comunicacin
se emitir el comando +++AT, el cual concluir la transferencia de datos. En la figura 3.14 se
muestra la secuencia antes descrita.
72
CAPTULO III
Figura 3.14. Secuencia de pasos para establecer una comunicacin va modem telefnico.
La programacin del modem se realiz conforme al diseo de comunicacin antes mencionado.
En el cdigo que se muestra en seguida se aprecia la secuencia del comando ATA con la
verificacin de su respectivo OK. En el apndice B son presentados los cdigos completos de
la transmisin de datos va modem telefnico.
;******************************************************************
;COMANDOS TRANSMISTIDOS -ATA PARA ESPERAR LA CONTESTACINL OK;******************************************************************
AGAIN: RCALL DELAY
LDI
R17,'A'
OUT
UDR,R17
;TRANSMITE LA A
TX_A:
SBIS
USR,TXC
;ESPERA A QUE SE TRANSMITA LA A
RJMP
TX_A
SBI
USR,TXC
RCALL DELAY
LDI
R17,'T'
OUT
UDR,R17
;TRANSMITE LA T
TX_T:
SBIS
USR,TXC
;ESPERA A QUE SE TRANSMITE LA T
RJMP
TX_T
SBI
USR,TXC
LDI
R17,'
A'
OUT
UDR,R17
;TRANSMITE LA A
TX_T:
SBIS
USR,TXC
;ESPERA A QUE SE TRANSMITE LA T
RJMP
TX_T
SBI
USR,TXC
;****************************************************************
;RUTINA DE VERIFICACIN DEL COMANDO ATA
;****************************************************************
ESPERA_A:
SBIS
USR,RXC
RJMP
ESPERA_A
; ESPERA EL CARACTER
IN
R17,UDR
;VERIFICA LO QUE EXISTE EN EL PUERTO DE ENTRADA
73
CAPTULO III
ESPERA_T:
ESPERA_A1:
R17,'A'
ERROR_A
USR,RXC
ESPERA_T
R17,UDR
R17,'T'
ERROR_T
USR,RXC
ESPERA_A1
R17,UDR
R17,'A'
ERROR_A
;****************************************************************
;RUTINA DE VERIFICACIN DE COMANDO OK
;****************************************************************
ESPERA_O:
SBIS
RJMP
IN
CPI
BRNE
USR,RXC
ESPERA_O
R17,UDR
R17,'O'
ERROR_O
;ESPERA O
;ESPERA EL CARACTER
;VERIFICA LO QUE EXISTE EN EL PUERTO DE ENTRADA
;COMPARA EL PRIMER CARACTER O
;MANEJO DE ERRORES PARA EL CARACTER COMPARADO
ESPERA_K:
SBIS
RJMP
IN
CPI
BRNE
USR,RXC
ESPERA_K
R17,UDR
R17,'K'
ERROR_K
;ESPERA K
;ESPERA EL CARACTER
;VERIFICA LO QUE EXISTE EN EL PUERTO
;COMPARA EL PRIMER CARACTER K
;MANEJO DE ERRORES PARA EL CARACTER COMPARADO
74
CAPTULO III
hardware como software, mientras que los dos ltimos se disearn slo por hardware, por las
caractersticas propias de los dispositivos.
75
CAPTULO III
Caractersticas
Memoria de programa FLASH
Memoria de datos RAM
Memoria de datos EEPROM
Puertos de E/S
Conversor analgico/digital
Comparadores
Temporizadores/WDT
PIC16F877
8 k Bytes
256 Bytes
256 Bytes
33
8 canales 10 bits
2
1 de 8 bits
1 RTC de 8 bits
1 de 16 bits
1 WDT
UART
I2C
SPI
20 MHz
2
4
@ 4 MHz
Activo 5mA
Modo de espera 1.9 mA
Bajo consumo < 1 A
2.0 V a 5.5 V
35
76
CAPTULO III
77
CAPTULO III
78
CAPTULO III
79
CAPTULO III
Enable UART
movlw 0x24
movwf TXSTA
;movlw B19200at20MHz
;movlw B9600at20MHz
movlw B57600at20MHz
movwf SPBRG
clrf STATUS
movlw 0x90
movwf RCSTA
RESET
bcf dtr
bcf rst
bsf rst
WAIT2150
btfss dsr
goto WAIT2150
goto
MAIN
btfsc cd
goto WAITCD
bcf
rts
btfsc
goto
btfsc
goto
goto
PIR1, RCIF
GOTBYTE1
cd
MAIN
RXWAIT1
MAIN
WAITCD
RXWAIT1
80
CAPTULO III
Capa fsica.
Es la responsable de la definicin
Capa de enlace de datos. Mediante esta capa se mantiene la integridad de los datos de
una transmisin sobre un canal de comunicaciones, es decir proporciona un canal fiable
para la transmisin de datos sobre un medio fsico. Entre sus funciones se encuentran
las de deteccin y correccin de errores de transmisin que pudieran ocurrir en el nivel
fsico.
Capa de red. Esta capa asegura que la informacin se transmita correctamente a travs
de la red. Proporciona a las entidades del nivel de transporte una transferencia de datos
transparente. En este sentido, libera al nivel de transporte de la necesidad de conocer
los mecanismos de transmisin de datos o tecnologas utilizadas para conectar
sistemas. Este nivel tiene como funciones la conexin y desconexin de las redes,
sincronizacin y control de flujo de las transferencias y la deteccin de errores en la
transmisin, recuperndolos en caso necesario. En caso de que hubiera ms de una red
implicada en la transmisin de informacin, tambin tiene como funcin el
encaminamiento entre redes. Destacando que si la comunicacin se realiza por
infrarrojo, esta slo puede funcionar punto a punto.
81
CAPTULO III
Transceptor ptico
Para la adecuacin de las seales elctricas a seales infrarrojas se utiliz un dispositivo que
cumple con el estndar IrDA, es un modelo fabricado por Agilent Technologies (Figura 3.21).
Este dispositivo provee la interfaz entre la lgica y las seales infrarrojas para el establecimiento
del envo y recepcin de datos en un sistema half duplex, permitiendo una velocidad de hasta
115kb/s, considerando que el microcontrolador y el circuito comunicacin infrarroja pueden
operar en cuatro diferentes baudajes (9600, 19200, 57600 y 115200). El dispositivo mvil puede
operar en cinco diferentes baudajes (9600, 19200, 37400, 57600 y 115200). En lo que respecta
a la conexin de las terminales del transceptor y el controlador de comunicaciones infrarrojas,
stas son conectadas con tres terminales del transceptor al controlador de comunicaciones
infrarrojas, el cual se encargar de generar las seales para su transmisin y lectura de seales
de entrada para decodificar la informacin.
82
CAPTULO III
En cuanto a las caractersticas elctricas del transceptor ptico, ste es un dispositivo que
puede trabajar dentro de un rango de voltaje comprendido entre 2.5 y 5.5 V.
El circuito
83
CAPTULO III
84
CAPTULO III
Los
comunicacin que se requiera. Estas configuraciones pueden ser: punto-punto, puntomultipunto, multipunto-multipunto y comunicacin por subgrupos. En la figura 3.24 se muestran
las diferentes configuraciones para la transmisin de informacin entre radio modems. Los radio
modems podrn ser configurados a travs de los comandos MYID=nmero y TOID=nmero. La
primera configuracin representa el identificador del radio modem, mientras que el comando
TOID=nmero, indica entre qu radio modems puede realizarse la comunicacin. Para el caso
del proyecto se configurarn los radio modem en modo punto a multipunto, es decir, la
comunicacin entre radio modems se realizar mediante una estacin central, la cual podrn
transmitir y recibir datos de los diferentes radio modems instalados en varias estaciones
remotas.
85
CAPTULO III
se
86
CAPTULO III
RS232 y
Para llevar a cabo la transmisin de datos se realizar como primer paso la verificacin de la
conexin con el radio modem, si se pierde el sistema se inicializar, mientras que si contina se
comparar la bandera IN, la cual indica que es el comienzo de una informacin vlida. Si la
bandera no se llegara a presentar, el microcontrolador esperar en un ciclo, verificando la
conexin, si la conexin llega a desconectarse se inicializar el sistema del mdulo. En caso de
que la bandera sea la indicada, el sistema comenzar a transmitir la informacin, la cual
terminar hasta que se presente otra bandera de fin de informacin FN. Si es el caso el
sistema se regresar a la rutina comando para otra comunicacin. Lo anterior se muestra en la
figura 3.26.
87
CAPTULO III
88
CAPTULO III
que recibir ms informacin hasta que se presente la bandera FN de fin de informacin, que
una vez recibida se regresar a la rutina de comando.
89
CAPTULO III
PROG aa b. Habilita o deshabilita banderas para las funciones del radio modem.
TOID nnnn. Determina el identificador del radio modem que se pretende comunicar.
Los radio modem son configurados en modo punto-multipunto, como se coment en el diseo
de esta comunicacin, figura 3.28. En la estacin central se encuentra configurado el radio
modem que tiene acceso a los radio modems ubicados en las diferentes estaciones remotas. El
radio modem de la estacin central se identifica con el nmero 1234 y puede transmitir y
90
CAPTULO III
recibir informacin de 16 diferentes radio modems 000F. Los radio modems instalados en las
diferentes estaciones remotas slo pueden establecer comunicacin con el radio modem de la
estacin central, por ejemplo, a la estacin remota nmero 1, le corresponde el identificador
0001 y puede comunicarse con el radio modem con el identificador 1234, figura 3.30. Para
poder realizar las pruebas de laboratorio correspondientes, slo se cont con dos radio
modems, el cual uno de ellos se emple para simular la estacin central y el segundo se
configur con diferentes identificadores, simulando las diferentes estaciones remotas.
R16,LOW(RAMEND)
SPL,R16
LDI
LDI
OUT
LDI
OUT
LDI
OUT
LDI
OUT
R16,HIGH(RAMEND)
R17,$FF
DDRb,R17
R17,$00
PORTb,R17
R17,23
UBRR,R17
R17,0B00011000
UCR,R17
91
CAPTULO III
El cdigo siguiente muestra la forma de realizar la verificacin del las banderas de inicio y fin.
; RUTINA DE TRANSMISIN DE INFORMACIN
LDI
OUT
SBIS
RJMP
SBI
RCALL
LDI
OUT
SBIS
RJMP
TX_1:
TX_T1:
R17,'I'
UDR,R17
USR,TXC
TX_1
USR,TXC
DELAY
R17,'N'
UDR,R17
USR,TXC
TX_T1
; CARGA EL CARACTER I
; TRANSMITE LA A
; ESPERA A QUE SE TRANSMITA LA I
; MIENTRAS NO SE TRANSMITA VERIFICA
; ESPERA UN TIEMPO
; CARGA EL CARCTER N
; TRANSMITE LA N
;ESPERA A QUE SE TRANSMITE LA N
; MIENTRAS NO SE TRANSMITA VERIFICA
ERROR_AA:
SBIS
RJMP
IN
CPI
BRNE
USR,RXC
ESPERA_A1
R17,UDR
R17,'I'
ERROR_AA
RJMP
RJMP
ESPERA_T1
; RECIBE CARACTERER DE I
; VERIFICA HASTA QUE SE RECIBA DATO
; SALIDA POR EL REGISTRO R17
; COMPARACIN DE LA LETRA I
; SI EXISTE UN ERROR BRINCA AL MANEJO DE
; ERRORES
; CONTINUA CON LA TRANSMISIN
ERROR_M
92
CAPTULO III
seleccionar la opcin de
93
CAPTULO III
94
CAPTULO III
Con respecto a la rutina de recepcin de datos, sta se llevar a cabo con el comando
AT+CMGL, que es para lectura de datos, es decir, si el microcontrolador adems de recibir el
comando AT+CMGF=1, recibe el comando AT+CMGL para lectura de datos, si estas banderas
no se cumplen el sistema se quedar en un ciclo hasta encontrar ambas banderas activadas,
cuando stas banderas son afirmativas
informacin byte por byte, realizando una verificacin de conexin en caso de no encontrar
ms datos, el sistema se inicializar inmediatamente, de otra forma el sistema regresar a la
verificacin de los prximos byte hasta recibir la bandera FN, la cual indicar el fin de
informacin, una vez recibida dicha bandera el sistema regresar a la rutina comando del
microcontrolador, figura 3.32.
95
CAPTULO III
Para el desarrollo de este mdulo se emple un telfono celular que cuenta con la
comunicacin va GSM, adems de manejar la comunicacin infrarroja. Se emple su cable de
conexin correspondiente para comunicacin RS232, como se muestra en la figura 3.33.
Adems, para la programacin se ocup el sistema de desarrollo AVR STK500, figura 3.3, el
cual es un sistema para realizar pruebas de microcontroladores, que incluye al microcontrolador
AT90S8515, comentado anteriormente.
ERROR5:
NUM_2:
; CARGA EL NUMERO 5
;TRANSMITE EL 5
SBIS
RJMP
SBI
SBIS
USR,TXC
NUM_1
USR,TXC
USR,RXC
RJMP
IN
CPI
BRNE
RJMP
ESPERA5
R17,UDR
R17,'5'
ERROR5
NUM_2
ERROR_M
R17,'5'
; MANEJO DE ERRORES
; CARGA EL NUMERO 5
RJMP
LDI
96
CAPTULO III
OUT
UDR,R17
;TRANSMITE EL DATO
TX_NUM2:
SBIS
RJMP
SBI
USR,TXC
TX_NUM2
USR,TXC
ESPERAN2:
SBIS
RJMP
IN
CPI
BRNE
RJMP
RJMP
LDI
OUT
USR,RXC
ESPERAN2
R17,UDR
R17,'5'
ERRORN2
NUM_3
ERROR_M
R17,'2'
UDR,R17
TX_3:
SBIS
RJMP
SBI
USR,TXC
TX_3
USR,TXC
ESPERAN3:
SBIS
RJMP
IN
CPI
BRNE
RJMP
USR,RXC
ESPERAN3
R17,UDR
R17,'2'
ERRORN3
NUM_4
ERRORN2:
NUM_3:
97
CAPTULO III
Habiendo terminado de describir las interfaces del hardware de cada uno de los mdulos que
integran el sistema de comunicaciones almbricas e inalmbricas, se proceder al diseo y
desarrollo del software de la estacin central.
El software para la estacin central se desarrollar para dos plataformas, la primera de ella ser
para Windows XP, sta proporciona
novedosa por sus colores llamativos, facilidad de uso, mayor compatibilidad con las nuevas
tecnologas en software y hardware, compatibilidad con redes (inalmbricas, infrarrojas, etc.) y
controladores de dispositivos actualizados. Las desventajas que presenta este sistema
operativo se encuentran las siguientes: la necesidad de un mnimo de memoria en RAM de 128
MB, vulnerabilidad en infecciones de virus o algn programa mal intencionado y adems
presenta numerosos bugs (errores de software). La segunda plataforma a utilizar es Windows
CE, esta plataforma se emplea para dispositivos mviles, como pueden ser PDA. Las ventajas
de emplear este sistema operativo se encuentran las siguientes: consume pocas cantidades de
RAM (todos los componentes de Windows CE se pueden ejecutar en ROM), es independiente
del hardware del sistema, es un sistema operativo de plataforma cruzada, multihilos (threads),
adems
98
CAPTULO III
Visual C++, Visual Basic y Visual Studio. NET; ya que las caractersticas de cada mdulo de
comunicacin difieren considerablemente al mtodo de programacin desarrollado para cada
una. En seguida se describen brevemente algunas caractersticas importantes de cada lenguaje
de programacin.
Visual Basic
Es un lenguaje de programacin para Windows de Microsoft, este lenguaje est diseado
especficamente para crear aplicaciones con interfaz grfica de forma rpida y sencilla. Visual
Basic est centrado en dos tipos de objetos, ventanas y controles, que permiten crear una
interfaz grfica para una aplicacin dada. Para realizar una aplicacin se crean ventanas,
llamadas formularios, y sobre ellas se dibujan objetos llamados controles (cajas de texto,
botones de rdenes, listas desplegables, etc.). Una vez realizado lo anterior se desarrolla
cdigo fuente relacionado con cada objeto (ventanas y controles). Cada objeto est ligado a un
cdigo que permanece inactivo hasta que se d el suceso que lo activa.
Otras ventajas de emplear Visual Basic se encuentran: controles visuales preconstruidos por
terceros (controles Visual Basic eXtention VBX),
Windows y rutinas escritas en otros lenguajes (DLL, Dynamic Link Libraries), visualizacin y
manipulacin de datos de otras aplicaciones Windows, utilizando controles OLE (Objet Linking
And Embedding).
Un ltimo aspecto de importancia en este lenguaje de programacin es el control de
comunicaciones (Communications) que permite una funcionalidad sencilla de comunicaciones
del puerto serie, contiene una herramienta de comunicaciones completa controlada por eventos.
Adems, proporciona una interfaz con un conjunto estndar de comandos de comunicaciones,
permitiendo establecer una conexin con un puerto serie, el cual es atendido como un solo
proceso. Por lo tanto, como programador en Visual Basic, slo se tiene que establecer y
supervisar las propiedades y eventos del control Communications.
Los mdulos que se implementarn con el lenguaje de programacin Visual Basic sern:
modem telefnico, radio modem y GSM.
99
CAPTULO III
Visual C++
Cuando se utiliza la plataforma Windows XP, es posible la ejecucin de varios programas
simultneamente. Esta posibilidad se denomina multitarea. Adems de esta posibilidad tambin
es posible la ejecucin de procesos independientes que no son aplicaciones completas,
denominados hilos.
programa multihilo, cada hilo tiene su propia pila y funciona de forma independiente a otros hilos
que se ejecutan en el mismo programa. Una aplicacin puede crear varios hilos, es decir varios
flujos de ejecucin diferentes y ejecutarlos concurrentemente. Por lo tanto cada aplicacin
puede ejecutar varias aplicaciones a la vez. Este es el caso de la comunicacin infrarroja, el
sistema operativo emplea hilos para lograr la transmisin de informacin con un dispositivo.
En el lenguaje de programacin denominado Visual C++ , adems de contar con todas las
facilidades que cuenta Visual Basic, es posible la programacin de los hilos antes mencionados,
causa principal para emplear el lenguaje de programacin. Cabe destacar que Visual C++,
tambin cuenta con las siguientes ventajas: asistentes para generar cdigo (es posible producir
el entorno de una ventana de trabajo en poco tiempo), consta de bibliotecas MFC (Clases
Fundamentales de Microsoft, Microsoft Foundation Classes).
Los mdulos que se programar con Visual C++ sern: SERIE (RS232), USB y
para la
100
CAPTULO III
llamado
desplegar una ventana que contiene los siguientes elementos: nombre del sistema, nombre
del desarrollador y versin, figura 3.35. Posteriormente se despliega la ventana principal, la
101
CAPTULO III
cual contiene seis opciones a elegir para el tipo de comunicacin que se desee: SERIE, IrDA,
USB, GSM, MODEM y RADIO MODEM, figura 3.36.
Figura 3.35. Presentacin del sistema de comunicaciones de datos para estaciones remotas.
102
CAPTULO III
103
CAPTULO III
En caso de no
104
CAPTULO III
105
CAPTULO III
106
CAPTULO III
Una vez establecida la conexin con el puerto serie mediante las propiedades CommPort,
Settings y PortOpen, se emplea la propiedad Output para activar el modem e interactuar con l.
La propiedad Output se utiliza para emitir los comandos que controlan la interaccin entre dos
modems. Por ejemplo, la siguiente lnea de cdigo indica la activacin del modem as como el
marcado del nmero telefnico.
MSComm1.Output = "ATDT 555-5555" & vbCr
Cabe destacar que la programacin del mdulo de comunicacin modem contiene un manejo
de errores para la transmisin de la informacin, como se haba mencionado en el diseo del
sistema del software, estos errores son programados de la siguiente manera:
' Controlar cada evento o error escribiendo
' Cdigo en cada instruccin Case
Case comBreak ' Se ha recibido una interrupcin.
Case comEventFrame ' Error de trama
Case comEventOverrun ' Datos perdidos.
107
CAPTULO III
leyenda de desconectado, como se muestra en la figura 3.42. El segundo caso es cuando los
modems logran establecer la comunicacin, la ventana mostrar dicha conexin en la parte
superior izquierda, presentando el nmero al que se conect; en este momento la interfaz se
encontrar lista para transmitir y recibir datos, como se muestra en la figura 3.43. Una vez que
fueron recibidos y transmitidos los datos se tiene la opcin de desconectar el puerto, lo que el
cual cerrar el puerto de comunicacin con el que se trabaj.
Indicador de conexin
Botn para conexin
al modem.
Botn para el
envo
de datos
108
CAPTULO III
Indicador de conexin
al modem marcado
Opcin habilitada
Para la desconexin
del modem
rea para la
transmisin de datos
109
CAPTULO III
Los datos adquiridos de la estacin remota se podrn almacenar en un archivo con extensin
.TXT, para esta opcin el path del archivo est definido en la programacin. El nombre del
archivo tiene el siguiente formato: da, mes, ao, horas, minutos y segundos (ddmmyyhhmmss),
figura 3.44.
Nombre del archivo
Con extensin TXT
Datos adquiridos de la
estacin remota va
comunicacin modem
110
CAPTULO III
manera, el radio modem de la estacin central podr comunicarse con cada uno de los radio
modem instalados en las diferentes estaciones remotas. Por lo tanto, el software
est
desarrollado para que el usuario tenga acceso a los diferentes radios modems y logre transmitir
la informacin requerida en su momento. La forma de identificar la informacin del radio modem
que est transmitiendo es el contenido de etiquetas de empiezo y fin de informacin de envo
(<1> informacin </1>), las cuales indican el nmero de radio modem que se est comunicando
en ese momento, por ejemplo, si el radio modem de la estacin central se comunica con el
radio modem nmero 1, el radio modem nmero 1 enviar una contestacin, como se muestra
en la figura 3.45.
Botn para el
almacenamiento de
datos
rea para la
transmisin de datos
111
CAPTULO III
Datos adquiridos de la
estacin remota nmero 1
va comunicacin radio
modem
112
CAPTULO III
If PtoRead("OK") Then
espera confirmacin OK
strBuff = ""
msCom.Output = "AT+CMGS=" & """" & Trim(Me.txtNumCell.Text) & """" & vbCrLf
comando para el marcado del nmero de celular
If PtoRead(">") Then
strBuff = ""
msCom.Output = Trim(Me.txtMsg.Text) & Chr(26) & Chr(8) & vbCrLf captura de informacin
If PtoRead("OK") Then
confirmacion OK
La interfaz de la estacin central va GSM inicia cuando se ejecuta la opcin GSM en el men
principal, figura 3.36. Lo primero que realiza este programa es la verificacin de la conexin con
el dispositivo mvil, figura 3.47. Una vez ejecutada la accin anterior pueden suceder dos
cosas: la primera que el dispositivo no se encuentre conectado o que exista un error en la
conexin, si es as se desplegar una pantalla donde se indique lo sucedido, figura 3.48. En el
segundo caso es cuando el dispositivo logra una conexin exitosa, figura 3.49, la cual activar
el men de herramientas, que esta constitutito por dos opciones, la primera es para el envi de
datos y la segunda para lectura de los mismos, figura 3.50.
113
CAPTULO III
114
CAPTULO III
115
CAPTULO III
En la opcin de leer datos se desplegar una ventana, la cual muestra la informacin del
dispositivo. Esta ventana incluye los comandos ejecutados +CMGL, comando de lectura;
enseguida REC UNREAD, comando que indica que existen datos nuevos que no se les ha dado
lectura, esta opcin puede cambiar por los siguientes comandos, REC READ: que indica que
hay datos recibidos y ledos. Toda la informacin muestra el telfono remitente, fecha y hora
recibida, como se muestra en la figura 3.52.
116
CAPTULO III
Windows XP.
117
CAPTULO III
Puerto infrarrojo.
Puerto USB.
118