Está en la página 1de 111

UNIVERSIDAD SIMON BOLIVAR

Decanato de Estudios Profesionales


Coordinacin de Ingeniera Electrnica

DISEO DE UN SISTEMA DE SEGURIDAD Y


MONITOREO DE VEHCULOS

Por
Abilio Marques Biundo

Sartenejas, Enero del 2008

UNIVERSIDAD SIMON BOLIVAR


Decanato de Estudios Profesionales
Coordinacin de Ingeniera Electrnica

DISEO DE UN SISTEMA DE SEGURIDAD Y


MONITOREO DE VEHCULOS

Por
Abilio Marques Biundo

Realizado con la asesora de:


Ing. Trina Adrin de Prez (Tutor)
Ing. Guillermo Gustavo Meier Echeverra (Cotutor)

PROYECTO DE GRADO
Presentado ante la Ilustre Universidad Simn Bolvar
como requisito parcial para optar al ttulo de Ingeniero Electrnico

Sartenejas, Enero del 2008

UNIVERSIDAD SIMON BOLIVAR


Decanato de Estudios Profesionales
Coordinacin de Ingeniera Electrnica

DISEO DE UN SISTEMA DE SEGURIDAD Y MONITOREO DE


VEHCULOS
Proyecto de Grado presentado por:
Abilio Marques Biundo. #0235135

RESUMEN:
El siguiente proyecto de grado abarca todos los aspectos del proceso de diseo de un
sistema de seguridad y monitoreo de vehculos de calidad comercial que permite, de manera
remota, conocer la ubicacin geogrfica y deshabilitar el automvil en caso de robo para
facilitar su recuperacin. Adems ofrece, entre otras funciones, el almacenamiento continuo
de los recorridos hechos por el vehculo, incluyendo la supervisin y control de velocidad a lo
largo del viaje, lo cual resulta til en vehculos de carga y de transporte pblico.
En primer lugar se definieron las especificaciones y funcionalidades del equipo, as como
las diversas estrategias disponibles para establecer la comunicacin remota y obtener la
ubicacin geogrfica en todo momento.
Una vez resuelto esto, se procedi con el diseo del hardware, que abarca desde la
eleccin de todos y cada uno de los componentes a emplear, hasta la elaboracin de dos
circuitos impresos que en conjunto integran el equipo. En la ltima etapa, se dise el
programa que se encuentra albergado en el microcontrolador, y que se encarga de manejar
perifricos como el mdem celular y el terminal de GPS, con el fin de hacer que el equipo
ofrezca la funcionalidad esperada.
Finalmente, se implementaron programas de computadora y hardware que facilitaron el
proceso de prueba de todo el conjunto, resultando este satisfactorio al compararlo con los
planteamientos iniciales del proyecto.

PALABRAS CLAVE: sistema de seguridad, vehculo, GSM, GPS

A mis padres y hermanos

AGRADECIMIENTOS
Todo lo que comienza, llega a un fin. Y entre estos dos puntos numerosas
personas se cruzan en el camino. Este proyecto no habra sido posible sin todos
aquellos que de alguna forma u otra contribuyeron para verlo terminado.
En primer lugar agradezco a mi mam, por su infinita paciencia, sobre todo en
este ltimo ao de carrera. A mi pap por todas las horas dedicadas a dar ideas de
gran valor, sin las cuales muy probablemente las cosas no habran resultado tan
bien. Mis hermanos Roberto y Ricardo fueron la fuente de humor y alegra en los
merecidos momentos de descanso.
A toda la gente en VigiDrive, por el continuo e inmediato soporte brindado
durante todas las etapas del desarrollo. En especial al Ing. Guillermo Meier, por
aportar la idea inicial del proyecto y por proveer sin titubear todos aquellos recursos
que fueron necesarios a lo largo del tiempo.
A la profesora Trina Prez por contribuir, con su gran experiencia, a calmar todas
mis inquietudes en el mbito acadmico, facilitando mucho en los ltimos das el
proceso de redaccin de este trabajo.
A Vernica Rendo, por el apoyo incondicional brindado desde un principio, por
ser la mejor compaa durante incontables horas en vela, y por contribuir con su
paciencia hasta el ltimo minuto para que todo resultara perfecto.
A mi compaero y buen amigo Daniel Campora, por ayudarme innumerables
veces, y por toda la atencin prestada. A mi gran amiga Janine Arellano por todas las
horas de compaa y apoyo moral a lo largo del camino. A mi prima, Vanessa
Marques, por querer estar siempre cerca sin importar el ocano que nos separa.
Y en general a todas aquellas personas que aportaron su grano de arena, y que
tal vez sin saberlo, ayudaron a llegar hasta el final.

NDICE GENERAL
1. Introduccin .....................................................................................................1
2. Fundamentos Tericos .....................................................................................3
2.1. Sistemas antirrobo y de posicionamiento ...................................................3
2.2. GSM ...........................................................................................................6
2.3. SMS ............................................................................................................8
2.4. GPS ............................................................................................................9
3. Diseo del equipo ..........................................................................................12
3.1. Especificaciones .......................................................................................12
3.2. Funcionamiento .......................................................................................14
3.3. Tecnologas empleadas ............................................................................17
3.3.1. Sistema de transmisin de datos ........................................................17
3.3.2. Tecnologa Celular .............................................................................19
3.3.3. Sistema de localizacin ......................................................................19
3.4. Diseo de Hardware .................................................................................21
3.4.1. Microcontrolador................................................................................22
3.4.2. Fuente de alimentacin ......................................................................24

3.4.3. Memoria.............................................................................................28
3.4.4. Interfaz de mdem / GPS ...................................................................30
3.4.5. Interfaces de entrada .........................................................................31
3.4.6. Interfaces de salida ............................................................................32
3.4.7. Interfaz de programacin del CPU ......................................................34
3.4.8. Interfaz serial.....................................................................................35
3.4.9. Tarjeta SIM .........................................................................................36
3.4.10. Hardware adicional ..........................................................................37
3.5. Diseo del Circuito Impreso .....................................................................39
3.5.1. Pruebas preliminares..........................................................................39
3.5.2. Estructura fsica .................................................................................40
3.5.3. Disposicin de componentes bsicos .................................................41
3.5.4. Criterios de diseo del Circuito Impreso.............................................45
3.6. Diseo del Software .................................................................................47
3.6.1. Sistema Operativo ..............................................................................48
3.6.2. GPS ....................................................................................................53
3.6.3. Mdem ..............................................................................................57
3.6.4. Entrada / Salida..................................................................................62
3.6.5. Control del vehculo ...........................................................................69

ii

4. Pruebas Realizadas .........................................................................................76


5. Conclusiones y recomendaciones ...................................................................83
Bibliografa .........................................................................................................85
Apndices ..........................................................................................................89
Apndice A. Planos..........................................................................................90
Apndice B. Protocolo NMEA............................................................................95
Apndice C. Comandos Hayes (AT) ..................................................................96
Apndice D. Archivo de configuracin .............................................................97
Anexos ...............................................................................................................99

NDICE DE TABLAS
Tabla 1 Comandos aceptados por el equipo .........................................................16
Tabla 2 Tecnologas de transmisin de datos.......................................................18
Tabla 3 - Comparacin entre microcontroladores ideal y elegido ............................23
Tabla 4 Datos a guardar del GPS ..........................................................................28
Tabla 5 Comparacin de sistemas de salida .........................................................34
Tabla 6 - Mensajes de Respuesta ............................................................................62
Tabla 7. Comandos AT empleados..........................................................................96
iii

NDICE DE FIGURAS
Figura 1. Formato de un mensaje de comando .......................................................16
Figura 2. Diagrama de bloques del hardware ..........................................................21
Figura 3. Circuito de la fuente conmutada ..............................................................26
Figura 4. Fuente lineal del mdem..........................................................................27
Figura 5. Fuente de 3,3V para CPU..........................................................................27
Figura 6. Interconexin del puerto I2C.....................................................................29
Figura 7. Interfaz de audio .....................................................................................31
Figura 8. Interfaz de entrada ..................................................................................31
Figura 9. Interfaz de programacin ICD ..................................................................35
Figura 10. Interfaz Serial ........................................................................................35
Figura 11. Configuracin de la tarjeta SIM ..............................................................36
Figura 12. Antena de GPS activa .............................................................................37
Figura 13. Antena de ltigo empleada para el mdem GSM.....................................38
Figura 14. Diagrama de bloques e interconexiones de ambas tarjetas ....................40
Figura 15. Foto del ensamblaje final .......................................................................41

iv

Figura 16. Circuito con mdulo GSM/GPS instalado ................................................42


Figura 17. Cara de componentes del mdem ..........................................................43
Figura 18. Cara superior de la tarjeta controladora .................................................43
Figura 19. Software en bloques ..............................................................................47
Figura 20. Posibles estados de las tareas ................................................................48
Figura 21. Algoritmo de control de la interrupcin del timer...................................50
Figura 22. Retorno del CPU por tarea ......................................................................51
Figura 23. Algoritmo para el cambio de tarea .........................................................52
Figura 24. Datos del GPS ........................................................................................53
Figura 25. Diagrama de estados que rige el intrprete de datos del GPS .................54
Figura 26. Ecuacin para clculo de velocidad promedio.........................................55
Figura 27. Conversin de unidades de velocidad ....................................................56
Figura 28. Parte decimal a fraccin binaria .............................................................56
Figura 29. Representacin en punto fijo de la velocidad .........................................57
Figura 30. Interrupcin de envo de datos al mdem ..............................................58
Figura 31. Interrupcin de recepcin del mdem ....................................................59
Figura 32. Mquina de Estados del control del mdem ...........................................60
Figura 33. Salidas peridicas ..................................................................................63
Figura 34. Comando de escritura del PC .................................................................66

Figura 35. Comando de lectura del PC ....................................................................67


Figura 36. Reemplazo de caracteres XON/XOFF ......................................................68
Figura 37. Superestados del control del carro .........................................................69
Figura 38. Mquina de estados para el vehculo apagado........................................70
Figura 39. Superestado que describe al vehculo encendido....................................72
Figura 40. Ejemplos de control de velocidad ...........................................................73
Figura 41. Robo de vehculo ...................................................................................74
Figura 42. Diagrama de conexiones de prueba .......................................................76
Figura 43. Convertidor de niveles para interfaz con PC ...........................................77
Figura 44. Interfaz de programacin del mdulo ....................................................78
Figura 45. Diagrama principal de la tarjeta controladora.........................................90
Figura 46. Diagrama de etapa de E/S de la tarjeta controladora ..............................91
Figura 47. Diagrama de la tarjeta de mdem ..........................................................92
Figura 48. Cara superior del circuito impreso de la tarjeta controladora .................93
Figura 49. Cara inferior del circuito impreso de la tarjeta controladora ...................93
Figura 50. Cara superior del circuito impreso de la tarjeta de mdem.....................94
Figura 51 Cara inferior del circuito impreso de la tarjeta de mdem .......................94

vi

GLOSARIO

Buffer: espacio de memoria destinado al almacenamiento temporal de


datos.
Firmware: conjunto de instrucciones de programa almacenadas en memoria no
voltil.
Tarjeta SIM: tarjeta usada en telfonos mviles para almacenar datos
relacionados con la lnea.
ESR: resistencia equivalente en serie.
PCB: tarjeta de circuito impreso.
CDMA: tecnologa celular que aplica el mtodo de multiplexado por cdigo.
GSM: tecnologa celular cuyas siglas significan Sistema Global para las
Comunicaciones Mviles.
SMS: servicio de mensajes cortos.
GPS: sistema de posicionamiento global.
XON/XOFF: protocolo para el control de flujo de datos dentro de banda.
I2C: bus estndar de comunicaciones seriales multimaestro y
multiesclavo.
KML: formato de computadora usado para representar informacin
geogrfica.

vii

1. INTRODUCCIN

Debido a que es muy difcil eliminar los robos de vehculos, siempre ser til
tener una va adicional para recuperarlos, en especial si se presenta la posibilidad de
localizarlos y deshabilitarlos de manera remota.
Por otra parte las compaas que poseen vehculos de transporte o de carga
desearn tenerlos ubicados en todo momento y adems poder supervisar y controlar
parmetros como la velocidad y la ruta a fin de conocer el desempeo de sus
conductores.
En la actualidad existen equipos comerciales que cubren algunos de estos
requerimientos de manera individual, empleando diversos tipos de sistemas de
ubicacin y transmisin de datos. Pero siempre est abierta la posibilidad de
combinar ambas ideas en un solo equipo, mucho ms econmico que los
dispositivos disponibles, para que pueda ser empleado de manera masiva.
Adems, un diseo completamente propio permite obtener un total control sobre
el comportamiento del equipo, lo cual, sumado a una capacidad de expansin
generosa, otorga la flexibilidad suficiente como para incluir nuevas facilidades
aprovechando la plataforma de desarrollo inicial.
Las razones expuestas anteriormente motivaron el desarrollo del presente
proyecto denominado Diseo de un sistema de seguridad y monitoreo de
vehculos.

El equipo en cuestin ser capaz de monitorear diversas entradas procedentes del


vehculo y, apoyado en el sistema de posicionamiento y en diversos comandos
recibidos, controlar diferentes puntos del mismo, como por ejemplo el sistema de
ignicin, motor de arranque y corneta.
De esta forma podr cubrir mltiples necesidades, entre las cuales resaltan la
desactivacin y ubicacin del vehculo en caso de robo, el control estricto de lmites
de velocidad, y el registro detallado de las rutas recorridas por el mismo.
Para los casos de robo y exceso de velocidad, se explotar el efecto psicolgico
que pueden producir sonidos de alarma constante sobre el conductor del vehculo.
Para el primero se producirn incluso fallas intermitentes de motor que presionen
an ms al ladrn.
En el captulo 2 del presente documento se explora de manera resumida la
funcionalidad de diversas opciones ya existentes en el mercado que fueron tomadas
como base para el desarrollo de este equipo. Adems, se incluye informacin acerca
de telefona celular y sistemas de posicionamiento global.
A continuacin se desarrolla todo el proceso de diseo del equipo, desde la
determinacin inicial de la funciones a ofrecer y tecnologas a emplear, pasando por
el proceso de diseo del hardware, hasta llegar a la fase de escritura del software
que controla al sistema.
En el captulo 4 se incluye la descripcin detallada de todo el proceso de prueba
realizado sobre el equipo.
En el ltimo capitulo se presentan las conclusiones y las recomendaciones para
expandir y aprovechar an ms el diseo desarrollado.

2. FUNDAMENTOS TERICOS

2.1. Sistemas antirrobo y de


posicionamiento
Con el fin de proteger las inversiones hechas en vehculos, numerosos fabricantes
a nivel mundial ofrecen diversas formas de equipos antirrobo. Con el pasar de los
aos, la tecnologa ha evolucionado para proveer mecanismos remotos mediante los
cuales un usuario puede recuperar su vehculo.
Por ejemplo, a nivel comercial existen equipos que ofrecen la funcin de localizar
a un vehculo mediante coordenadas al llamar a las oficinas del proveedor del
servicio[1], o en Internet[2].
Otra clase de dispositivos permiten desactivar el vehculo al dejarlo en zonas
inseguras, operacin que puede ser realizada de manera automtica despus de
apagado el carro, en caso de as desearlo[3].
Adems, en caso de robo es posible apagar permanentemente el automvil[3][4],
generando previamente en algunos equipos alarmas que buscan producir presin
psicolgica en el ladrn y llamar la atencin de algunas personas que posiblemente
se encuentren en el lugar[3].

En otras lneas de productos comerciales, se aprovecha la tecnologa de


posicionamiento global con el fin de dar seguimiento a vehculos, en base a una de
dos vertientes:

Almacenar de manera peridica recorridos e informacin adicional en


memoria no voltil para un anlisis posterior[4].

Transmitir en tiempo real, segundo a segundo, toda la informacin a un


centro de control[5][6].

La primera tendencia tiene el inconveniente de que al funcionar como una caja


negra, no permite conocer la posicin en un instante determinado, slo evaluarlo
una vez que llega a un punto de control.
Esta debilidad no existe en el segundo caso, pero se presentan inconvenientes
como:

Costo de mantenimiento elevado por la cantidad de informacin a


transmitir.

Ineficiencia en el monitoreo al recibir informacin que puede resultar


irrelevante en muchos casos.

En general, todos los sistemas de rastreo brindan alguna combinacin de las


siguientes funciones:

Ubicar al vehculo.

Limitar el uso a ciertas horas[4].

Limitar el uso del vehculo a zonas especficas[6].

Establecer lmites de velocidad por zonas[6].

Adems, ofrecen funciones avanzadas como:

Medicin de fuerza G y aceleracin

Conteo de nmero de apertura de puertas[4][6].

Determinacin estados de diversos sensores[6].

Reconocimiento de hasta 512 conductores por vehculo[6].

An cuando todos estos equipos han comprobado ser de inters para algunos
nichos del mercado, muchas de las funciones pueden resultar excesivas para la
mayora de las aplicaciones, y en casi todos los casos pueden ser atacadas
empleando estrategias ms sencillas.
Por ejemplo, estudiando la capacidad de reconocer hasta 512 conductores, se
concluye que si el vehculo cambia de manos una vez cada hora, harn falta ms de
20 das de funcionamiento continuo para cubrirlos a todos. Es un caso bastante
inusual, por no decir imposible. Si en vez de esto se obtienen los recorridos de los
viajes de manera individual, un sistema mucho ms sencillo (y por ende barato)
podra ser utilizado.
La mayora de las funciones bsicas ofrecidas por estos dispositivos resultan de
gran utilidad para la mayora de los posibles usuarios de los mismos, pero an as
ninguno de los equipos consultados ofrece una combinacin balanceada de
funciones.
Muchos de los dispositivos son diseados en el exterior[5], lo cual implica que
stos llegan como producto final, dificultando as la posibilidad de aadir funciones
y modificaciones para adaptarlos a las caractersticas y necesidades del pas.
Adems, como ya fue indicado anteriormente, todos los equipos disponibles a
escala comercial requieren de una suscripcin al servicio, por la cual todas las
operaciones necesitan la presencia de un centro de control. En otras ocasiones, este
centro debe ser establecido por el mismo usuario, resultando un proceso engorroso.
En todos los casos, los costos iniciales y de mantenimiento son elevados, reduciendo
la cantidad de potenciales usuarios.

2.2. GSM
Desde finales de la dcada de los 40, se empezaron a desarrollar prototipos de
redes inalmbricas capaces de establecer comunicaciones de voz. La primera
aplicacin comercial de estas ideas tuvo lugar en Finlandia en 1971, logrando
cobertura completa, bajo una red llamada Autoradiopuhelin. Otras redes fueron
apareciendo a escala mundial a medida del tiempo, mejorando la calidad de
servicios ofrecidos.
Viendo estos desarrollos, la Conferencia Europea de Administraciones Postales y
Telecomunicaciones (CEPT) cre, en 1982, un grupo con el fin de disear un
estndar para un sistema de telefona mvil que pudiera ser usado de manera
comn a travs de todo el continente[7].
Luego de numerosos acuerdos e investigaciones, el Instituto Europeo de
Estndares para las Telecomunicaciones (ETSI) aprob en 1989 la publicacin de la
primera fase de las especificaciones de GSM[7]. Para 1993, setenta operadoras
alrededor de cuarenta y ocho pases estaban usando redes GSM para servir a ms de
un milln de subscriptores[8].
Las siglas GSM significan Sistema Global para las Comunicaciones Mviles (del
ingls Global System for Mobile Communications), y describen a un conjunto de
estndares de un sistema de telefona celular de segunda generacin (ya que el
audio es transmitido de manera digital).
Recientemente, la Asociacin de GSM estim que el 84,5% del mercado mundial
usa este sistema[9], convirtindolo as en el ms popular, slo seguido por el CDMA
con un 12,8%[9]. Esto se debe principalmente a que los equipos de las operadoras
pueden ser adquiridos de un gran nmero de fabricantes[10], abaratando los costos y
ofreciendo ms posibilidades. Su gran disponibilidad hace sencillo el roaming
internacional entre operadoras, permitiendo a los usuarios emplear sus telfonos en
muchas partes del mundo. Por todo esto, el estndar es empleado por ms de dos

billones de usuarios en ms de doscientos doce pases y territorios alrededor del


mundo[11].
La red GSM opera en cuatro bandas del espectro, siendo las principales 900 MHz
y 1800 MHz. Algunos pases como Estados Unidos y Canad, operan en las bandas
de 850 y 1900 MHz. Para aquellas frecuencias menores de 1 GHz, el lmite mximo
de potencia desde el telfono es de 2W[12], mientras que en las otras dos es de
1W[12]. En la actualidad, los radios de la mayora de los equipos terminales son
capaces de operar en ms de una de estas bandas.
Por ejemplo, para el espectro de 900 MHz, tanto la banda de subida como de
bajada usa unos 25 MHz, que se subdividen en 124 canales de 200 KHz, a los cuales
se aplica multiplexacin en tiempo (TDMA) para obtener 8 canales bidireccionales de
25 Khz por cada uno. En la prctica, la mayora de estos son usados para establecer
enlaces de voz, aunque varios se utilizan como canales de control y transmisin de
datos[13]. De esta forma, una radiobase es capaz de atender simultneamente el
trfico de varios cientos de suscriptores, ofreciendo servicios de llamadas de voz,
transmisin de datos digitales (a velocidades de hasta 9600 baudios) y mensajes
cortos de texto.
Todos los aparatos de GSM emplean una tarjeta SIM (Subscriber Identity Module o
Mdulo de identificacin del suscriptor), la cual es una tarjeta inteligente que puede
ser retirada del dispositivo y cambiada a otro. Dentro de ste se encuentran
almacenados la informacin de la lnea telefnica, claves de seguridad de la red, e
incluso la agenda telefnica del dueo. Al ser removible permite intercambiar
fcilmente de dispositivo mvil simplemente con un cambio de tarjeta.
Desde finales de la dcada de los 90, numerosas extensiones han sido aadidas
al sistema, ofreciendo intercambio de datos a alta velocidad para obtener
conexiones inalmbricas a Internet. Estas modificaciones son conocidas como GPRS
y EDGE, y son extensiones al estndar original.

2.3. SMS
Definido inicialmente como parte del estndar GSM en 1985 y descrito por la
recomendacin 3.40 de GSM en el ao 1988[14], es un protocolo que permite el
intercambio de pequeos fragmentos de texto entre dispositivos celulares.
Inicialmente el sistema slo estaba disponible en este tipo de redes, pero desde
entonces otros sistemas como el CDMA han adoptado mecanismos similares. Sus
siglas significan Servicio de Mensajes Cortos (del ingls Short Message Service). En
la actualidad, las siglas tambin son empleadas coloquialmente para referirse a los
mensajes cortos intercambiados por este mecanismo.
Tpicamente, un mensaje originado por un mvil es entregado a un centro de
servicio de mensajes cortos (SMSC), el cual intenta hacerlo llegar al destinatario. En
caso de no poder realizar la entrega, lo almacena en una cola para un posterior
intento.
An as, el estndar no garantiza que el mensaje ser entregado al destinatario,
pudiendo ocurrir retrasos e incluso prdidas. De todas formas, el servicio tiende a
ser de buena calidad ya que las operadoras celulares hacen su mayor esfuerzo para
evitar estos problemas[14].
El estndar de GSM define un mximo de 140 octetos (1120 bits) para cada
mensaje, y permite codificarlos en diversos tipos de alfabetos, el ms popular de 7
bits, que permite un total de 160 caracteres. Un contenido an ms largo puede ser
enviado en varias partes o segmentos, que son rearmados como un mensaje nico al
final del camino.
La mayora de los telfonos celulares y mdems GSM soportan el envo y
recepcin de mensajes cortos empleando una versin extendida de los comandos
Hayes (conocidos como comandos AT) definidos en el estndar 07.05 de GSM[15].

Comercialmente, los SMS han pasado de ser usados un promedio de 0,4 mensajes
al mes por usuario en el ao de 1995[16] a convertirse en una industria de 80
billones de dlares a nivel mundial para el 2006[17], lo cual prueba su validez como
medio para intercambiar informacin de manera rpida y barata, ya que
normalmente un mensaje que contiene unas pocas palabras es ms econmico y
eficiente que una llamada con un contenido equivalente.

2.4. GPS
Desde los inicios de la radio, se han buscado disear sistemas que permitan
calcular la ubicacin exacta de un objeto. La llegada de la segunda guerra mundial
aceler

el

proceso,

obtenindose

numerosos

sistemas

que

posteriormente

evolucionaron en aplicaciones comerciales.


Con el lanzamiento del primer satlite al espacio por parte de Rusia, cientficos
norteamericanos analizaron la posibilidad de usar esta tecnologa para poder
obtener ubicaciones precisas[20]; para 1960, un sistema compuesto por varios
satlites, llamado Transit, fue puesto en uso para permitir a los submarinos
nucleares corregir su curso.
Para la dcada de los 70, un nuevo sistema, denominado GPS (Sistema de
posicionamiento Global, del ingls Global Positioning System) fue diseado por la
fuerza area de los Estados Unidos, con el fin de poder obtener la ubicacin en
tiempo real de un objeto con una precisin de algunos metros. En 1978, se lanz el
primer satlite de GPS al espacio, y para 1995, el sistema alcanz plena capacidad
operacional a nivel mundial. Previo a este momento, los receptores de GPS para uso
civil ya gozaban de gran popularidad en aplicaciones como la aviacin comercial[20].
Una alternativa similar, pero sin xito alguno, fue desarrollada desde finales de
los 70 por la antigua Unin Sovitica bajo el nombre de Glonass. Esta red lleg a
alcanzar de manera temporal el punto de plena operacin para el ao 1995, pero
sali rpidamente de este estado debido a la falta de mantenimiento producto del
9

colapso de la economa rusa. Recientemente se han hecho compromisos para


restaurar la operatividad del sistema[18], pero la falta de receptores comerciales y de
ventajas significativas sobre el sistema de GPS hacen que este resulte de poco
inters.
Adicionalmente, la Comunidad Econmica Europea est comprometida a colocar
en funcionamiento su propia red, que se espera est operativa para el 2013[19].
En la actualidad, una flota de treinta satlites de GPS se encuentran orbitando la
tierra a una distancia de 20 mil Kilmetros, transmitiendo seales en dos
frecuencias del espectro microondas (en el rango de 1,5GHz)[21]. Cada satlite
comparte estas bandas usando mltiple acceso por divisin de cdigo (CDMA) para
transmitir informacin sincronizada de manera precisa por un reloj atmico que se
encuentra dentro del mismo[22].
Para calcular la posicin, un receptor de GPS tpico emplea simultneamente la
informacin recibida desde cuatro o ms satlites, calculando la distancia a los
mismos al medir el tiempo de propagacin de la seal. Conociendo adems la
posicin exacta de los satlites (ephemeris), la cual viene incluida en las seales de
radio, el equipo puede determinar la latitud, longitud, altura, y el error en el reloj
local[21]. Adicionalmente, puede obtener de manera local datos como velocidad,
aceleracin, y curso. Entre las seales recibidas desde el satlite tambin se
encuentra informacin de la fecha y hora.
Todos los clculos son hechos mediante aproximaciones sucesivas, por lo cual los
primeros resultados obtenidos dentro de un perodo de tiempo de alrededor de
algunos minutos desde que se enciende el equipo pueden resultar poco exactos, o
incluso invlidos. A esta situacin se le conoce como Arranque Fro, y puede ser
acelerada al proveer al equipo receptor de valores iniciales ms cercanos a la
realidad (ltimos valores vlidos conocidos)[23].
En la actualidad, la constelacin de satlites est dispuesta de tal forma de que al
menos seis de stos se encuentren visibles desde cualquier punto en la mayor parte
del planeta[24]. Esto aumenta la precisin del sistema al permitir que el equipo
realice un promedio ponderado de varios resultados en vez de uno. An as, existen
10

numerosas fuentes de error que limitan la precisin de los equipos comerciales a un


mximo terico de 3m, siendo en la prctica de entre 10 y 15m. Entre estos factores
se encuentran:

Efectos de la ionsfera y la tropsfera.

Errores en la informacin de posicin de los satlites.

Errores de reloj.

Errores introducidos por la circuitera.

Errores numricos.

Recorridos mltiples.

Adicionalmente, un mecanismo conocido como Disponibilidad Selectiva (SA:


Selective Availability) introduca errores de hasta 100 metros en los clculos para
equipos disponibles a nivel civil, garantizando la inferioridad de cualquiera que
empleara el sistema en contra de los Estados Unidos.
Tal mecanismo fue deshabilitado en los aos 90, permitiendo que los GPS fuesen
empleados con mayor exactitud en aplicaciones como aviacin y navegacin[25]. An
as, los militares poseen una banda encriptada que ofrece una precisin de unos 30
cm, garantizando su superioridad en caso de un conflicto.
Muchos de los receptores de GPS disponibles comercialmente contienen un
puerto serial RS-232, a travs del cual se transmite la informacin calculada usando
un protocolo denominado NMEA 0183 (National Marine Electronics Association)[26].
Es un protocolo ascii, que contiene mensajes estructurados de una manera estndar.
Cada paquete esta formado por:

Un identificador del tipo de mensaje.

Datos.

Checksum.

De esta forma, el GPS enva paquetes que son estndar y dentro de los cuales
estn contenidos, entre otros, la fecha, hora, la longitud, latitud y velocidad.

11

3. DISEO DEL EQUIPO

En esta seccin se explica todo lo concerniente al proceso de diseo del equipo.

3.1. Especificaciones
Desde el punto de vista del usuario final, el equipo debe ser capaz de realizar las
siguientes funciones:

Conocer la posicin del automvil en cualquier momento.

Deshabilitar totalmente el motor de un vehculo reportado como robado,


generando instantneamente estrs y pnico en el ladrn para as inducirlo
a abandonar su propsito. Al mismo tiempo debe reportar la posicin en la
cual el vehculo fue abandonado para permitir su recuperacin.

Detectar la ocurrencia de movimiento sin el uso del motor, lo cual es seal


de un posible robo en gra.

Deshabilitar el vehculo a voluntad para mayor seguridad al estacionar en


sitios peligrosos.

Ofrecer un botn de pnico silencioso para reportar emergencias y robos.

Anotar la ubicacin y velocidad de diversos puntos de cada recorrido en


una memoria no voltil para su posterior anlisis.

Detectar excesos de velocidad sostenidos por parte del conductor,


generando seales luminosas y auditivas que lo lleven a disminuir la
velocidad.

12

Reportar va celular dichos excesos al supervisor del conductor, para que


puedan tomarse las medidas adecuadas.

El equipo deber ser tan pequeo como resulte posible en la prctica, con la
finalidad de poder esconderlo en cualquier espacio reducido. A su vez, deber ser
eficiente en cuanto a consumo de corriente, ya que permanecer operando con la
batera del vehculo siempre que el motor se encuentre apagado.
Como se observa, obtener la ubicacin del equipo colocado en el vehculo es
indispensable. El dispositivo ms sencillo para tal fin es ampliamente conocido, el
GPS. Adems, es preciso poder establecer en cualquier instante comunicacin
bidireccional inalmbrica, usando para tal fin un mdulo de celular, cuya eleccin se
explicar en mayor profundidad.
Se ha mencionado la capacidad de deshabilitar el vehculo siempre que sea
necesario, por lo que se cuenta con el control directo de dos partes vitales para
iniciar y mantener a un motor de combustin operando: el motor de arranque y el
suministro de combustible electricidad.
En cuanto a la capacidad de generar pnico en el conductor del automvil, hay
que diferenciar dos vertientes. En el caso de un exceso de velocidad, se pretenden
generar destellos de luces y sirenas dentro de la cabina, con el fin de hacer que el
chofer reduzca la velocidad, y en el supuesto de que el vehculo transporte
pasajeros, aprovechar el efecto que los mismos puedan tener sobre el conductor.
En el caso de un robo, las medidas a tomar son diferentes. No es normal ver que
el chofer de un carro toque su corneta y destelle las luces simultneamente durante
un largo perodo de tiempo, por lo cual se levantar sospecha en cualquier
observador fuera del vehculo. Adems, el motor empieza a fallar de manera
repetida, perdiendo potencia, o llegando incluso a apagarse luego de un tiempo
prudencial. La combinacin de eventos har que el ladrn sienta que ha perdido el
control del automvil, abandonndolo luego de que ste se desactive, o incluso
antes.

13

Como existen funciones que resultan tiles slo en vehculos como camiones y
autobuses, la posibilidad de elegir a voluntad cules mdulos se encuentran en
funcionamiento resulta una necesidad, por lo cual el equipo debe ser totalmente
configurable.

3.2. Funcionamiento
Una vez definidas las caractersticas bsicas del equipo, es conveniente
profundizar en todos los detalles de operacin del mismo.
En el caso de que el motor se encuentre encendido bajo condiciones normales, el
piloto no notar la existencia del dispositivo. Podr manejar como siempre lo ha
hecho, y de manera oculta se irn anotando peridicamente la ubicacin y velocidad
del vehculo.
Una vez apagado el motor y transcurrido un perodo de tiempo, el vehculo se
deshabilitar completamente, producindose una alarma en caso de intentar
encenderlo, la cual es adems reportada va celular al dueo. Esto evita que
cualquier ladrn se lleve el carro puenteando la llave.
Cuando el dueo quiera encender nuevamente el vehculo, pulsar un botn
oculto que lo reactivar. Tambin puede hacerlo mediante un comando va celular.
En caso de que sea necesario dejar el carro en manos de alguien que desconozca el
funcionamiento del equipo, puede colocarse en modo valet pulsando tres veces
seguidas dicho botn, o mediante otro comando al celular.
Esta funcin de deshabilitado automtico puede ser activada y desactivada a
voluntad a travs de comandos. En caso de estar apagada, el usuario puede
desactivar y activar el vehculo mediante el celular.

14

En el caso de ocurrir un robo, el dueo enva un comando va celular al equipo, el


cual le respondera inmediatamente indicando la posicin actual del mismo, e
iniciando la secuencia de alarma. Si se encuentra encendido, el motor empieza a
fallar, apagndose luego de un rato. Una vez apagado el vehculo, ste no podr ser
encendido hasta que el dueo as lo ordene, y permanecer sonando mientras la
llave se encuentre insertada as como un perodo despus de quitarla. Este lapso de
tiempo puede hacerse infinito (nunca se apaga) a voluntad del instalador.
Si un equipo se encuentra en estado normal y se detecta movimiento con el motor
apagado, se reporta inmediatamente al dueo que su carro est siendo movido
mediante una gra, y se inicia la secuencia de robo. Este modo se desactiva
opcionalmente mediante un comando para permitir al usuario remolcar su carro en
caso de necesidad.
Al estar configurado para detectar y reportar excesos de velocidad, la estrategia
aplicada es la siguiente: en condiciones normales de manejo, el equipo se comporta
de manera transparente para el conductor. Pero una vez que ste supera el lmite de
velocidad, se le da una breve seal en cabina, indicndole que debe bajar la
velocidad. A continuacin, se le da un plazo de tiempo para hacerlo, permitindole
lograr un adelantamiento en carretera.
Si transcurrido el tiempo no ha disminuido la velocidad, nuevas seales aparecen
en la cabina, esta vez auditivas, indicndole que su exceso fue reportado a su
supervisor y que dispone de un perodo de tiempo para reducir a un limite ms bajo
que el primero. Estas seales son generadas en todo el vehculo para advertir a los
pasajeros de la situacin.
Despus de vencido el segundo plazo, si el vehculo se mantiene fuera de lo
pautado, el tipo de seales cambia, acelerndose la cadencia de las mismas,
obligando al chofer a detenerse a un lado de la carretera durante un tiempo de
castigo para poder apagar la alarma.
Tanto el inicio como el fin del exceso de velocidad son anotados en memoria no
voltil para su posterior anlisis.

15

An cuando la eleccin ser explicada con ms detalle en la seccin referente al


sistema de transmisin de datos, se anticipa que la interaccin usuario/equipo est
hecha mediante el sistema de mensajera de texto.
Todos los mensajes contienen una clave que deber ser vlida para continuar con
la operacin. Si un mensaje resulta incorrecto, no se emite ningn tipo de respuesta,
para evitar que un usuario no autorizado conozca de la existencia del equipo.
En la tabla presentada a continuacin (Tabla 1), se muestra una lista de todos los
comandos aceptados por el equipo:

Tabla 1 Comandos aceptados por el equipo


Comando

Descripcin
Responde con la ltima posicin valida obtenida
posicion
desde el GPS.
Responde con la mxima velocidad del viaje actual
maxima
desde la ltima vez que fue interrogada.
robo
Inicia desactivacin de carro por robo.
Desactiva el vehculo sin generar ningn tipo de
desactivar
sonido.
activar
Activa el vehculo.
Habilita y deshabilita el autoarmado. Configura la
autoarmado
duracin del mismo (en segundos).
valet
Activa / desactiva modo valet.
grua
Activa / desactiva modo gra.
limite

Cambia lmites de velocidad.

clave

Cambia la clave.
Cambia el nmero al que se reportarn los
excesos de velocidad e intentos de robo.

reporte

Parmetros
tiempo / no
si / no
si / no
primer lmite / no,[segundo
lmite],[tercer lmite]
Clave nueva
-

Todos los mensajes estn estructurados tal como se muestra en la siguiente


figura (Figura 1):

Figura 1. Formato de un mensaje de comando

16

Para separar los campos del mensaje, el usuario puede usar caracteres de coma,
punto, punto y coma y espacio de manera indiferente. Los mensajes pueden estar
escritos en combinaciones de maysculas y minsculas sin que esto represente un
problema. No se usan acentos por problemas de compatibilidad de los mismos entre
operadoras de telefona celular. Los parmetros colocados entre corchetes son
opcionales. En todos los mensajes, la clave de usuario vlida debe seguir al
comando para poder ser procesado.

3.3. Tecnologas empleadas


Antes de iniciar la descripcin del proceso de diseo, es conveniente resumir las
razones para la eleccin de ciertas partes del equipo. A continuacin se presentan
tres puntos que fueron considerados crticos al iniciar el proyecto.

3.3.1. Sistema de transmisin de datos


Ente los principales mtodos de transmisin de seales, estn aquellos
bsicamente analgicos, que implican hacer una llamada telefnica para establecer
la comunicacin entre los dos puntos, bien sea mediante algo tan sencillo como
tonos DTMF, o algo ms elaborado como un equipo de mdem. Otras opciones
incluyen el uso de Internet, o del sistema de mensajera de texto (SMS), lo cual es de
uso comn desde hace ya algunos aos.
Se evaluaron los cuatro sistemas de acuerdo a diversos parmetros (complejidad,
sencillez de uso, consumo de corriente, costo y confiabilidad), obteniendo los
resultados mostrados en la siguiente tabla (Tabla 2).

17

Tabla 2 Tecnologas de transmisin de datos


Complejidad

Sencillez de
uso

Consumo de
corriente

Versatilidad

Costo

Confiabilidad

DTMF

Media

Baja

Medio

Baja

Medio

Baja

Mdem

Media

Media

Medio

Muy alta

Medio

Media

SMS

Reducida

Alta

Bajo

Alta

Bajo

Media

Internet

Elevada

Media

Elevado

Muy alta

Elevado

Elevada

El criterio de complejidad est basado en una estimacin de la cantidad de trabajo


adicional necesario para poder establecer una comunicacin entre dos puntos
(software). Es relevante destacar que las tres primeras opciones no requieren de
conexin permanente a la red si no estn intercambiando informacin, lo cual
explica su menor consumo en comparacin con el uso de Internet.
El criterio de versatilidad se fundamenta en la capacidad que existe para
intercambiar informacin de esta manera. Por ejemplo, el uso de tonos DTMF
implica la creacin de alguna manera adicional para codificar los datos y el uso de
una baja velocidad de transmisin. En el caso de SMS, la nica limitante es la
longitud del texto, problema que puede ser subsanado enviando varios mensajes.
Las opciones de DTMF y mdem implican realizar una llamada telefnica, lo que
generalmente tiene un costo mayor al de un simple mensaje. En cuanto al uso de
Internet, hay que recordar que todava resulta costoso para esta aplicacin en la cual
slo se transmitir una pequea cantidad de informacin.
De todas las opciones anteriormente presentadas, la ms prometedora resulta ser
la mensajera de texto (SMS). Esta permite intercambiar datos usando un software
sencillo ya que, por ejemplo, no hay que preocuparse por problemas adicionales
como correccin de errores. Es un sistema barato y disponible virtualmente en todas
las operadoras existentes, por lo cual fue el mtodo elegido para este proyecto.

18

3.3.2. Tecnologa Celular


Como se mencion en el marco terico, existen dos tecnologas celulares en el
mercado lo suficientemente fuertes para ser consideradas. Una de ellas es la
conocida como CDMA y la otra como GSM. Ambas podran satisfacer los
requerimientos del proyecto.
Para decidir cal emplear se us como primer criterio la popularidad de ambos
sistemas. En los pases europeos, el mercado est dominado por GSM. En Estados
Unidos se utiliza con gran xito mayoritariamente CDMA, aunque en la actualidad
numerosas operadoras ya ofrecen servicio de GSM. En Venezuela gran parte de los
terminales instalados corresponden a tecnologa CDMA, pero las compaas que
prestan estos servicios se encuentran en algn punto de la migracin hacia telefona
GSM, reduciendo progresivamente el uso de CDMA hasta llegar a eliminarlo en un
futuro medio.
El otro parmetro evaluado fue la disponibilidad y precios de los equipos. Luego
de una bsqueda relativamente rpida pero suficientemente completa, se concluy
que los mdems de GSM valan en promedio entre dos y cuatro veces menos,
ofreciendo las mismas prestaciones. Este es otro punto de gran valor, que inclin
definitivamente la balanza a favor de la tecnologa GSM.

3.3.3. Sistema de localizacin


Como se mencion anteriormente, es necesario un mdulo de localizacin que
permita la ubicacin del vehculo en todo momento. Por su disponibilidad, sencillez
y bajo costo (debido a que toda la infraestructura necesaria fue instalada por los
Estados Unidos y es de libre uso), la tecnologa de GPS resulta de obvia eleccin.

19

Por las grandes similitudes en las caractersticas de funcionalidad y consumo,


resultaba difcil una primera eleccin del terminal de GPS a usar. Pero en la
bsqueda de un equipo de pequeas dimensiones, se encontr una solucin muy
adecuada, que engloba a un mdulo de GSM con uno de GPS, lo cual reduce el rea
de circuito impreso ocupada.
Estudiando las caractersticas de este mdulo, se lleg a la conclusin de que est
dentro de los estndares normales de consumo y de sensibilidad, otorgando adems
un mdem de GSM de cuatro bandas que excede en funciones a muchos otros
equipos del mercado.

20

3.4. Diseo de Hardware


En esta seccin se explica todo el trabajo realizado en el rea de diseo de los
circuitos que sirven como soporte para el software, y que junto con ste, conforman
el equipo final. Por las especificaciones anteriormente mencionadas se concluye que
el equipo debe poseer seis grandes bloques tal como lo muestra la Figura 2:
microcontrolador (CPU), memoria, puertos de entrada y salida (E/S), mdulo de GPS,
mdem celular y la fuente de alimentacin que provee energa a todo el circuito. En
el Apndice A se incluyen ms detalladamente todos los diagramas esquemticos y
artes de los circuitos impresos finales.

Figura 2. Diagrama de bloques del hardware

21

3.4.1. Microcontrolador
Para la bsqueda del microcontrolador ideal se hizo primero un estimado del
nmero de lneas de E/S necesarias, basado en el diagrama de bloques del prototipo
bsico, llegando a una cuenta mnima de 25 lneas, entre ellas siete salidas y ocho
entradas para interfaz con el mundo exterior, dos lneas para cada puerto de
comunicacin bidireccional con el mdem, GPS y computador, dos ms para
encender a los dos primeros dispositivos, y la misma cantidad para acceder a una
memoria serial. El segundo parmetro a evaluar fue el voltaje de operacin mnimo
del CPU, ya que el resto de los perifricos de la tarjeta se alimentan a voltajes
menores a 5V.
Un punto adicional fue la presencia de puertos UART en hardware. Todos los
procesadores evaluados inicialmente tenan un perifrico de este tipo. Esto
implicaba conectar al dispositivo de mayor demanda (el mdem) a este puerto, con
lo cual el mdulo de GPS quedara sin puerto asignado.
Para solucionarlo, se plantearon tres estrategias diferentes. La primera consista
en instalar hardware adicional que permitiera alternar el puerto entre el mdem y el
GPS. Esta idea est basada en el hecho de que el tiempo de respuesta del equipo
puede estar en el orden de algunos segundos, y que la recepcin desde ambos
perifricos no debe ser realizada en tiempo real.
Una segunda estrategia, emular en software un puerto serial de baja velocidad
(4800 baudios), resultara ideal para el mdulo de GPS. Usando interrupciones en
flanco de bajada y un timer es sencillo detectar y recibir datos. El nico defecto de
este mtodo es que consume tiempo de procesamiento adicional.
La tercera opcin era la de colocar un segundo microcontrolador, mucho ms
pequeo, dedicado exclusivamente a la funcin de concentrador de comunicaciones
seriales, almacenando en buffers circulares la informacin, para luego empaquetarla
y enviarla al controlador principal.

22

An sin una eleccin particular en cuanto a la estrategia, se inici la eleccin final


del fabricante. De todos estos, Microchip Technology Inc. resalt por dos
caractersticas: bajos precios y compromiso con sus clientes para proveer soporte
incluso en tecnologas "maduras".
Investigando

su

lnea

de

productos,

se

descubri

una

familia

de

microcontroladores muy reciente para la fecha, la 24F, que especficamente en los


modelos de la subfamilia PIC24FJxxGA004 presenta caractersticas como:

Dos puertos seriales.

Dos puertos I2C.

Instrucciones de 16 bits.

Modelo plano de memoria.

Stack mvil, con capacidad de almacenar datos y no slo direcciones de


retorno.

8 Kb de memoria RAM.

Desde 5 hasta 22 mil instrucciones de programa, dependiendo del modelo


elegido.

Pines de E/S programables para la mayora de los perifricos.

En la tabla siguiente (Tabla 3) se resumen las caractersticas bsicas tomadas del


manual del fabricante[27] (ver anexos). En especfico se contrasta el PIC24FJ64GA004
con un microcontrolador mnimo deseado, cuyos parmetros estn basados
mayormente en puras estimaciones.
Tabla 3 - Comparacin entre microcontroladores ideal y elegido
Mnimo deseado
24FJ64GA004
ROM
8 K inst.
22,5 K inst.
RAM
2Kb
8 Kb
E/S
25
36
Clock
2 MIPS
16 MIPS
Consumo
< 50 mA
20 mA
Precio
<5$
2,79$
Perifricos I2C, 2 USARTS, (3 Deseables) I2C, 3 USARTS (ver texto)

23

Adems de todas estas caractersticas, la inclusin de un sistema de multiplexado


interno para la conexin entre perifricos y puertos de E/S lo convierten en el
preferido, ya que otorga la posibilidad de establecer en hardware un tercer puerto
serial para la comunicacin con el computador, todo esto sin la necesidad de
esclavizar un USART para tal fin, permitiendo una mayor velocidad de transferencia
que en la solucin del puerto simulado por software propuesto para el modelo
anterior.

3.4.2. Fuente de alimentacin


Al consultar primero el manual de especificaciones del mdulo GPS y celular a
emplear, y posteriormente hacer pruebas directas sobre el circuito de evaluacin, se
observ la necesidad de disear una fuente robusta, capaz de manejar el nivel de
corriente mostrado a continuacin:
Mdulo GPS: 70mA
Celular en reposo: 20mA
Celular en operacin: 250mA
Al sumar todos estos valores se llega a un total de entre 90 y 320mA. Un detalle
adicional anunciado en el manual, y que pudo ser comprobado de forma prctica, es
que el equipo celular en funcionamiento genera unos picos de consumo (de forma
repetitiva) de unos 2A, lo cual implica que la fuente debe ser capaz de entregar esta
corriente en perodos breves de tiempo.
El voltaje regulado a emplear en el circuito de mayor voltaje es de unos 4V, para
el mdulo GPS/GSM. Durante el perodo de carga de la batera de un vehculo
convencional, se obtiene un voltaje sostenido de aproximadamente 15,1V,
implicando que entre los extremos del circuito de regulacin habr una diferencia de
11V.

24

Estimando que la corriente total en operacin completa (incluyendo el procesador


y el resto de la circuitera a los valores anteriormente mostrados) alcance unos
500mA, una fuente lineal para estos tendra que disipar alrededor de unos 5,5W.
Primero resulta ineficiente en cuanto a la parte de consumo, ya que para entregar
2W se estn desperdiciando en calor unos 5,5W, lo cual representa una eficiencia de
27% aproximadamente. Segundo, esto implica la necesidad de disipar el calor hacia
algn lugar. Siendo un circuito que al final ser colocado en una caja cerrada, este
calor quedara confinado al interior de la misma, elevando as la temperatura de
todos los componentes del equipo, disminuyendo de manera innecesaria su vida
til. Adems representa colocar al regulador algn tipo de disipador, lo cual va en
contra de una de las metas iniciales, que era la de presentar un equipo de tamao
reducido.
La otra solucin al problema fue elegir y usar una fuente conmutada para una
primera etapa de reduccin. stas por lo general tienen una eficiencia del orden del
90%, resultando ser adems mucho ms compactas. Luego de una bsqueda por el
mejor candidato para ocupar el lugar, se eligi el chip L5973D de la compaa ST, en
una configuracin muy similar a la indicada en el manual de diseo[28] incluido en
los anexos. Este circuito integrado result ser el ideal, debido a que opera a 250
KHz, disminuyendo as el volumen efectivo del inductor, en comparacin con otros
circuitos de frecuencias menores. Adems es capaz de proveer hasta 2,5A de forma
continua, sin necesidad de usar ningn transistor de driver externo, lo cual abarata
an ms el circuito. Por ltimo, se encuentra disponible en versin de montaje
superficial, lo cual reduce el tamao de la fuente. El diagrama esquemtico del
circuito final se muestra en la Figura 3.

25

Figura 3. Circuito de la fuente conmutada

El pico de 2A fue manejado empleando un condensador de gran tamao, tipo


tantalio de baja resistencia en serie (low ESR), a la salida del circuito de fuente. De
esta manera el condensador aporta la energa extra necesaria, al mismo tiempo que
se carga de manera rpida para poder entregar el prximo pico.
An cuando con pequeas alteraciones el circuito presentado puede generar por
si solo ambos voltajes, se decidi no tomar este camino debido a que se temi que
pudieran surgir complicaciones como errores de la referencia de voltaje. Por esto se
aplic la idea del plan inicial: usar la fuente conmutada slo para reducir hasta un
voltaje intermedio relativamente bajo y muy estable, de manera tal que pueda
completarse la reduccin con reguladores lineales sin que estos generen una gran
cantidad de calor.
Para la fuente ms crtica en cuanto a consumo, la de 4V, se eligi el regulador
MIC29302 de la compaa Micrel, en empaquetado de montaje superficial. Este es un
regulador lineal de voltaje variable de 3A. Se encuentra conectado tal como se
muestra en la Figura 4, con la parte de ajuste elaborada con resistencias del 1% de
precisin. Este circuito es similar al mostrado por el fabricante en el respectivo
manual del dispositivo[29], el cual se encuentra incluido en los anexos.

26

Figura 4. Fuente lineal del mdem

Para toda la parte de control digital, en la cual estn incluidos el CPU y la


memoria, los 3,3V sern generados por un regulador LP2985, tal como se muestra
en la Figura 5. Este es un regulador lineal fijo[30] que tiene una capacidad mxima de
corriente de unos 150mA.

Figura 5. Fuente de 3,3V para CPU

Este esquema de fuentes separadas aade una ventaja, ya que asla los ruidos
generados por los picos de alto consumo del mdem de la lgica de 3,3V, lo cual se
espera que ayude a hacer al equipo ms confiable.

27

3.4.3. Memoria
Una de las ventajas del sistema a desarrollar es su capacidad de almacenar los
hbitos de manejo del conductor, con la finalidad de permitir una posible evaluacin
posterior de los mismos en un computador personal.
Para que estos datos sean de alguna utilidad, debera almacenarse la mayor
cantidad de puntos posibles, aumentando as la precisin del recorrido. Un nmero
excesivo implica un consumo innecesario de espacio de almacenamiento, por lo cual
el tiempo de intervalo entre muestra y muestra es un compromiso entre ambos
factores.
Considerando que un vehculo no excede normalmente de un promedio de 120
Km/h, en un minuto recorrer unos 2 Km. Por otra parte, si se desean almacenar
todos los datos importantes de ubicacin (Tabla 4) y velocidad resulta necesario
guardar:
Tabla 4 Datos a guardar del GPS
Campo
Latitud
Longitud
Fecha
Hora
Velocidad
Flags

Tamao
3 bytes
3 bytes
3 bytes
3 bytes
1 byte
1 byte

El clculo anterior arroja un total de 14 bytes. En una memoria de 1 Mbit, se


podran almacenar unos 9362 registros de este tipo, los cuales sern anotados slo
cuando el motor est en funcionamiento. Haciendo una anotacin cada minuto,
como fue mencionado anteriormente, se obtienen 156 horas de funcionamiento
continuo, lo cual representa casi unos seis das y medio, ms que suficiente para
esta aplicacin.

28

De las tecnologas de memoria no voltil existentes actualmente en el mercado,


destacaron para esta aplicacin la Flash y la EEPROM. An cuando la primera ofrece
una gran densidad de almacenamiento, las complicaciones inherentes a su uso en
cuanto a circuitera y programa de control, obligaron a descartarlas casi de
inmediato. Por el contrario, las memorias EEPROM ofrecen un almacenamiento
suficiente (tal como se demostr anteriormente) con la ventaja de estar disponibles
con una interfaz de tipo serial, simplificando el cableado.
Adems, el microcontrolador posee dos lneas de E/S dedicadas completamente a
la interfaz I2C por hardware, a las cuales se conect la memoria de 1 Mbit modelo
24FC1025 tal como sugiere el fabricante[31] (ver anexos). Las resistencias de pull-up
se colocaron proporcionales a la velocidad de operacin de la memoria, la cual es de
1 MHz. Un condensador cermico de 0,1uF estar ubicado cerca del chip, para
disminuir problemas por ruido elctrico. El arreglo final se observa en la Figura 6.

Figura 6. Interconexin del puerto I2C

29

3.4.4. Interfaz de mdem / GPS


El dispositivo elegido cuenta con cuatro puertos seriales, dos para el equipo
celular, y dos para el GPS.
En el celular se tienen los siguientes puertos:

Puerto de configuracin de firmware.

Puerto de operacin.

En el GPS cada puerto serial trabaja con un protocolo diferente:

NMEA: protocolo de texto.

SiRF: protocolo binario.

Slo dos puertos son necesarios para esta aplicacin, el puerto de operacin del
mdem, y el puerto del protocolo NMEA, debido a que ste es genrico y
virtualmente usado en todos los GPS, lo cual aade una opcin de compatibilidad a
futuro.
Junto con estas lneas se incluyeron las lneas de PWR_ON (power on) y M_RST
(master reset) del celular y el GPS respectivamente, con la finalidad de que el
programa de control pueda reiniciar independientemente a ambos dispositivos en el
caso de detectar fallas en el funcionamiento.
Como ltimo dato, se tom en cuenta la recomendacin del fabricante de colocar
resistencias de 22 ohm en serie con cada pin a modo de proteccin. Esta sugerencia
fue tomada en cuenta.
El mdem dispone de una interfaz de audio que permite colocar un micrfono y
un audfono. Tanto la entrada como la salida son diferenciales. El fabricante
recomienda que se emplee la configuracin mostrada en la Figura 7, con la finalidad
de reducir los ruidos inducidos por la cercana al radio de GSM, generados por su
naturaleza de transmisin en impulsos de gran potencia.

30

Figura 7. Interfaz de audio

3.4.5. Interfaces de entrada


Para recibir las seales provenientes del vehculo se emplea la configuracin
mostrada en la Figura 8.

Figura 8. Interfaz de entrada

31

Las resistencias R5 y R6 sirven de divisor de tensin, para llevar los niveles de


voltaje de 12V a 3,3V. Estn calculadas de tal manera que el equipo pueda trabajar
sin problemas, sin importar que el voltaje de la batera vare entre 16,5 y 7,9 voltios,
garantizando correcto funcionamiento durante la carga y durante el momento de
arranque.
El capacitor C8 est colocado en paralelo al pin de entrada, para que junto con las
resistencias acte como filtro reduciendo los posibles ruidos provenientes del
exterior.
En total, ocho de estos bloques son incluidos en el diseo, de los cuales seis
estn conectados de manera idntica a la mostrada en la Figura 8, mientras que los
otros dos tienen la resistencia R4 operando como pulldown. Esto es debido a que
algunas seales varan entre tierra y abierto (o Vcc) y las otras entre Vcc y abierto (o
tierra).
Para la aplicacin actual se emplearon dos entradas del primer tipo para cubrir las
seales procedentes del botn de pnico y del botn de activacin. Adicionalmente
se emple una entrada del segundo tipo para el interruptor de encendido.

3.4.6. Interfaces de salida


Por la naturaleza del equipo, su interfaz con el vehculo est destinada a ser
hecha mediante rels. stos consumen un promedio de 100mA, variando de acuerdo
al fabricante. En algunos casos debe instalarse ms de un rel por salida, por
ejemplo, para activar la sirena y la corneta al mismo tiempo.
La mejor manera de operar estos rels es a travs de una salida colector abierto,
que conduzca al activarse y ofrezca algn tipo de proteccin contra picos
producidos por cargas inductivas. El chip ULN2003 incluye un total de 7 transistores
darlington[32] capaces de manejar 500 mA individualmente, disponibles en
encapsulado DIP o surface (ver anexos).

32

Este tipo de salidas presenta el inconveniente de ser destruidas totalmente al ser


expuestas a un cortocircuito con la lnea de alimentacin. Una solucin para este
problema sera el uso de un chip DIP en una base, de manera tal que pudiera ser
reemplazado en caso de destruccin. Tres inconvenientes que se hacen presentes
bajo este esquema son:

Uso de un chip que no es de montaje superficial.

El equipo no resulta de libre mantenimiento.

En caso de que el chip se queme el equipo estar inutilizado hasta su


reemplazo, deteniendo por completo al vehculo.

La solucin a estos problemas consisti en incluir en serie con la salida un


dispositivo

denominado

PPTC

(en

ingls

Polymetric

Positive

Temperature

Coefficient), ms popularmente conocido como fusible reiniciable.


Su funcionamiento a grandes rasgos es bastante sencillo. En operacin normal del
circuito, el PPTC se comporta como un simple cable, presentando una impedancia
despreciable, permitiendo la operacin normal del rel.
A medida que aumenta la corriente, el dispositivo permanece inalterado hasta que
llega a un punto llamado hold, a partir del cual su resistencia aumenta de manera no
lineal, limitando as efectivamente la corriente mxima que circula por l. Este punto
de apertura se denomina trip point. Unos milisegundos despus de haber alcanzado
este valor, permanecer limitando la corriente a nivel de hold, hasta que se remueva
el cortocircuito y se le deje enfriar unos segundos.
Eligiendo el dispositivo adecuado, pueden tenerse dos o hasta tres rels
trabajando en paralelo sin problemas, y al mismo tiempo se est protegiendo al
circuito contra exceso de corriente en caso de corto circuito. A continuacin se
muestra una tabla comparativa (Tabla 5), que detalla las ventajas de cada sistema,
demostrando por qu el uso de PPTCs fue considerada la mejor opcin.

33

Tabla 5 Comparacin de sistemas de salida


Sin PPTC
Con PPTC
Mantenimiento
Bajo
Virtualmente nulo
rea de PCB
Baja
Moderada
Durabilidad
Propenso a daos Virtualmente indestructible
Chip a usar
DIP
Surface
Precio
Bajo
Similar a la solucin sin PPTC

Para la implementacin actual se incluyeron las siguientes salidas:

Corte de arranque.

Corte de ignicin o bomba de combustible.

Corneta.

Luz de exceso de velocidad.

3.4.7. Interfaz de programacin del CPU


Los controladores de la familia 24F incluyen una caracterstica en comn, la
capacidad de ser programados y depurados con el chip conectado en la tarjeta final
(ICD: in circuit debugging), lo cual simplifica en gran medida el proceso de
fabricacin y actualizacin del firmware, as como el desarrollo del mismo en la
etapa de diseo.
El fabricante ofrece una serie de recomendaciones[33] a seguir para garantizar el
correcto funcionamiento del sistema. stas incluyen evitar resistencias, diodos y
capacitancias en las lneas de programacin. An cuando estas lneas podran haber
sido compartidas con otras partes del circuito, se prefiri mantenerlas como lneas
dedicadas para evitar problemas. El montaje final es mostrado en la Figura 9. Toda
la informacin referente a este bloque fue obtenida del manual del mdulo ICD2
incluido en los anexos.

34

Figura 9. Interfaz de programacin ICD

3.4.8. Interfaz serial


El equipo debe poseer la capacidad de comunicarse por puerto serial con un
computador para poder ser configurado y para descargar la informacin almacenada
en memoria. Dos lneas de E/S fueron dedicadas a tal fin, tal como se muestra en la
Figura 10.

Figura 10. Interfaz Serial

Como se observa, una resistencia de pullup fue aadida en la lnea de recepcin


para mantenerla en estado de reposo an con el computador desconectado, que en
realidad es el caso ms comn durante la vida del equipo.

35

Adems, el colocar una toma de la fuente de alimentacin permitir expandir el


equipo de manera sencilla, y puede ser usado, por ejemplo, para aadir un
convertidor de niveles externo. Con la finalidad de proteger efectivamente a la
fuente ante posibles cortocircuitos en esta toma auxiliar, se aadi un PPTC similar
al usado en las etapas de salida. De esta forma, en caso de ocurrir un cortocircuito,
el equipo seguira funcionando sin problemas.

3.4.9. Tarjeta SIM


El fabricante del celular recomienda la configuracin mostrada en la Figura 11
para la correcta conexin de su mdulo con el chip de memoria del SIM. Se emple
la misma configuracin sin modificacin alguna.

Figura 11. Configuracin de la tarjeta SIM

Para colocar el SIM en el equipo, se eligi un porta SIM de bandeja fabricado por
Amphenol, cuya descripcin es visible en los anexos.

36

3.4.10. Hardware adicional


Existen tambin algunos accesorios que no deben ser olvidados en este diseo.

Antenas
Para esta aplicacin hacen falta un par de antenas, una de las cuales ser
empleada en el equipo GPS (Figura 12) y otra en el celular (Figura 13). Por
simplicidad se eligi trabajar con las antenas provistas por el fabricante del mdulo,
las cuales en condiciones normales de laboratorio resultaron funcionar de manera
completamente satisfactoria, tanto para el GPS como para el celular. La antena del
sistema de posicionamiento es de tipo activa, brindando algunos dBm de ganancia
adicional.

Figura 12. Antena de GPS activa

37

Figura 13. Antena de ltigo empleada para el mdem GSM

Conectores
Para establecer contacto con el mundo exterior, se eligi un conector de doble
hilera de veinte contactos, del tipo usado en las fuentes de computadora ATX. Es lo
suficientemente robusto como para que el sistema sea confiable, capaz de tolerar
las vibraciones tpicas del ambiente en el cual operar. Su manual est incluido en
los anexos. Debido a que la comunicacin con el computador es temporal y se hace
con el vehculo detenido, un segundo conector, mucho ms sencillo, fue incluido
para tal fin.

38

3.5. Diseo del Circuito Impreso

3.5.1. Pruebas preliminares


Antes de proceder con la etapa de diseo, se probaron los dos bloques
considerados crticos para poder continuar.
El primero fue la fuente conmutada, la cual fue probada en un montaje provisional
usando exactamente la misma configuracin elegida para el circuito final. Se
realizaron con xito pruebas de funcionamiento continuo a la corriente promedio
estimada, y pruebas con picos de 2A.
El otro factor crucial a evaluar fue la capacidad del chip de drivers de salida para
sobrevivir a condiciones extremas. Usando un microcontrolador con un programa
muy sencillo, se simularon condiciones de conmutacin durante perodos variables
de tiempo a diversas cantidades de corriente, determinando que es capaz de resistir,
sin problemas, a los valores especificados por el fabricante, e incluso picos an
mayores de corriente durante breves perodos de tiempo sin degradacin aparente.
A esto continuaron pruebas rigurosas intercalando en el circuito los PPTCs,
simulando

cortocircuitos

de

mayor

duracin,

obtenindose

resultados

muy

satisfactorios. En ningn caso el chip de drivers result daado.

39

3.5.2. Estructura fsica


Con la meta de obtener un equipo de tamao reducido, que pueda ser escondido
fcilmente en un vehculo, y por la naturaleza de algunos componentes como el
mdem y el SIM, que impiden el aprovechamiento de grandes zonas de circuito
impreso bajo ellos, se decidi comprometer la altura final en favor de una menor
rea total.
Por ello el equipo se dividi en dos circuitos impresos, identificados internamente
bajo el nombre de controladora y mdem. La Figura 14 muestra a grandes rasgos
los bloques que la integran, as como la interconexin entre los mismos.

Figura 14. Diagrama de bloques e interconexiones de ambas tarjetas

La tarjeta principal (controladora) est conformada por la fuente conmutada, el


microcontrolador (CPU), la memoria no voltil (I2C), la fuente lineal de 3,3V, que
alimenta a los dos elementos anteriores, y la circuitera de las interfaces de entrada
y salida. Desde este circuito salen lneas de TX y RX para el mdem y el GPS, dos
lneas de control para poder encender y reiniciar a los mismos, y el conector para
conexin con el computador. Adems se incluyen mltiples pines de 5,5V y tierra,
para entregar una gran corriente con la menor cada posible.
Todas estas lneas estn conectadas a un segundo circuito (mdem), el cual
contiene el mdulo de GPS/GSM, la interfaz de audio, as como la fuente lineal de
alta corriente que disminuye los 5,5V intermedios a los 4V necesarios para la
operacin del celular y el mdulo de posicionamiento global.

40

Empleando

esta

estrategia,

ambos

circuitos

pudieron

ser

construidos

rediseados de forma separada, lo cual simplifica el trabajo a la hora de hacer


alteraciones, y permite reemplazar de forma ms selectiva las partes afectadas de un
equipo a la hora de daos.
Fsicamente ambas tarjetas se conectan en forma de emparedado (ver Figura 15),
usando conectores robustos, y apretadas entre s empleando tornillos, para conferir
al arreglo una rigidez capaz de soportar vibraciones a las cuales se encuentra
sometidas tpicamente un vehculo. Adems, estos agujeros permitirn la fijacin a
la caja.

Figura 15. Foto del ensamblaje final

3.5.3. Disposicin de componentes bsicos


Los primeros componentes en ser ubicados en ambas tarjetas fueron los tres
conectores que las unen, los cuales deben tener ubicaciones comunes en los dos
diseos.

41

Desde ese momento ambas tarjetas pudieron ser tratadas casi en toda
oportunidad como diseos separados.
La tarjeta del mdem fue la primera en ser diseada. Se comenz ubicando la
fuente lineal de 4V en las cercanas del conector de alimentacin de la tarjeta, a una
corta distancia de lo que sera la ubicacin del mdulo de GSM, con la nica
prioridad de reducir al mximo las prdidas producto de los altos picos de corriente
durante la operacin del mdem.
El mdem fue ubicado de manera tal que permitiera una cmoda conexin de los
cables de antena, tal como muestra la Figura 16.

Figura 16. Circuito con mdulo GSM/GPS instalado

Debido a que ste ocupa la mayor parte del rea de circuito, todos los
componentes de montaje superficial se encuentran instalados en la cara opuesta. En
la Figura 17 se observan los elementos bsicos de este lado del impreso.

42

Figura 17. Cara de componentes del mdem

En cuanto a la tarjeta controladora el mismo principio de dar prioridad a los


componentes de la fuente fue aplicado por las mismas razones anteriormente
expuestas (Figura 18).

Figura 18. Cara superior de la tarjeta controladora

43

El conector principal de interfaz con el exterior fue colocado boca abajo, de


manera tal que ocupara el espacio vaco entre las dos tarjetas, aprovechndolo
mejor y reduciendo por varios milmetros la altura final del arreglo.
En las cercanas de ste fueron colocados de manera inicial los PPTCs, y a
continuacin el chip de drivers de salida, una vez ms con la idea de acortar
distancia entre las lneas de alta corriente.
Los componentes pertenecientes a la interfaz de entrada fueron distribuidos en
un bloque que luego se copi para el resto de las entradas, con la finalidad de
mantener una armona en el circuito.
Por ltimo se coloc el microcontrolador y la memoria I2C. Todo fue planeado de
forma tal que la distribucin de las lneas de E/S concordara con la ubicacin fsica
de sus componentes relacionados, reduciendo as al mnimo posible el nmero de
cruces de cara.
La meta de que todos los componentes de montaje superficial estuviesen
colocados en la misma cara de la tarjeta implica una simplificacin en el proceso de
fabricacin y por ende una reduccin en el costo.

44

3.5.4. Criterios de diseo del Circuito Impreso


Durante todo el proceso de elaboracin del circuito impreso se vigilaron muy de
cerca algunas reglas, con la finalidad de obtener un diseo funcional, robusto,
simple de fabricar segn los estndares de produccin actuales, confiable, y de bajo
rechazo durante la etapa de fabricacin. Entre estos criterios se pueden mencionar:

Mantener el grosor y la separacin de las lneas por encima del mnimo


recomendado por el fabricante, en todos aquellos casos en los que sea
posible, lo cual result vlido con excepcin de las cercanas del mdem,
donde su tamao minsculo impuso el uso de pistas ms delicadas, pero
an dentro de los parmetros del fabricante. De esta manera se intenta
reducir el rechazo por cortos y abiertos.

Hacer las lneas de alta corriente lo ms cortas y anchas posibles con la


finalidad de reducir las prdidas, ruido y calentamiento no necesario. En los
casos en los que era obligatorio un cambio de cara en estas pistas, se
prefiri colocar mltiples vas pequeas a una muy grande, lo cual aument
la superficie de conduccin y redujo la posibilidad de fallos al aplicarse
redundancia.

Uso de pads ovalados para conectores de alto torque, con la finalidad de


reducir las posibilidades de fallo por estrs fsico.

Uso de capacitores cermicos de desacople en las cercanas de cada uno de


los pines de alimentacin de los componentes digitales que conforman al
circuito, para reducir el efecto de ruidos elctricos.

Planos de tierra en toda la superficie posible en ambas caras, conectadas


entre si por mltiples vas colocadas a poca distancia, con el propsito de
mejorar al mximo el recorrido a tierra, disminuyendo as las posibles
cadas, y reduciendo la emisin electromagntica.

Como fue mencionado anteriormente, el proceso de diseo de hardware pas por


la repeticin de muchas etapas durante los sucesivos cambios realizados. stos no
sern descritos con detalle para no alargar innecesariamente el presente trabajo.

45

Adems, durante la realizacin del diseo final, muchas decisiones importantes


tuvieron que ser tomadas para todos y cada uno de los componentes empleados. El
ejemplo ms claro fue la eleccin de los condensadores, basados en caractersticas
como funcin en el circuito, tamao fsico, ESR, prdidas, temperatura en operacin,
tolerancias, durabilidad frente a variaciones bruscas de corriente (esto aplica en las
fuentes), y sobre todo, el precio.
Incluso un mismo fabricante llega a ofrecer varios tipos de condensadores aptos,
por lo cual cada una de estas elecciones consumi un tiempo significativo, al ser
necesario contactar con el proveedor para garantizar la disponibilidad de los
productos elegidos.
Una vez concluidas todas las conexiones en ambos circuitos se procedi a colocar
en lugares adecuados la identificacin de cada componente, as como los nombres
que identifican a cada tarjeta como parte del proyecto.
Luego de esto se hicieron varias revisiones para garantizar, e incluso mejorar los
criterios de diseo del PCB. Cuando el resultado fue completamente satisfactorio, se
generaron los archivos de Gerber y de perforaciones, que despus de ser revisados
minuciosamente contra defectos, fueron enviados al fabricante junto con la lista de
piezas para la produccin final de los prototipos, cerrando as la etapa de diseo del
hardware.

46

3.6. Diseo del Software


Para poder realizar todas las funciones mencionadas anteriormente, el diseo del
software fue dividido en las secciones que se muestran en la siguiente figura (Figura
19):

Figura 19. Software en bloques

Todos y cada uno de estos bloques se interconectan con al menos otro adicional,
usando para ello llamadas a funciones, FIFOs y semforos.
Siendo un ambiente de desarrollo muy controlado y en el cual se conoce
totalmente el funcionamiento del software, se emplearon algunas variables globales,
la mayora en forma de estructuras, con la finalidad de simplificar el intercambio de
informacin.
A continuacin se proceder a describir cada uno de los bloques de diseo.

47

3.6.1. Sistema Operativo


Evaluando las necesidades del proyecto, as como las limitaciones impuestas para
la bsqueda de un programa compacto y eficiente, se decidi por comodidad de
programacin y modularidad implementar el ncleo de un sistema operativo,
incluyendo slo las partes que fueran estrictamente necesarias. De tal manera,
quedaron fuera del diseo administradores de memoria o sistemas de mensajera;
inclusive, partes como el sistema de semforos fueron separadas del funcionamiento
principal de este bloque, obtenindose as un ncleo sumamente veloz y liviano, que
bsicamente se reduce a un intercambiador de tareas.
El ambiente ofrece un intercambiador cooperativo, bajo el cual cada tarea decide
cundo entregar el control del CPU, slo siendo detenida temporalmente durante los
breves perodos de tiempo en los cuales se atienden las interrupciones. Luego de
esto, obtiene el control de vuelta inmediatamente.
Las tareas pueden existir en uno de los tres siguientes estados (Figura 20):

Figura 20. Posibles estados de las tareas

48

Al momento de iniciarse la ejecucin del cdigo, todas las tareas son colocadas
en estado de lista. Posteriormente, el sistema operativo toma una tarea,
entregndole el control del CPU, el cual es regresado al cabo de un tiempo de
ejecucin. Esto puede ocurrir bien sea que se necesite aguardar a que ocurra un
evento (en cuyo caso se pasa a esperar) o porque ya se ejecut una porcin
significativa de cdigo, regresando as al grupo de tareas listas. A continuacin el
sistema operativo despacha la siguiente tarea lista, y as ocurre de manera
indefinida.
Una tarea puede colocarse a s misma a la espera de uno o ms eventos,
regresando a estado de lista una vez que haya ocurrido al menos uno de ellos.
Luego, al llegar a ejecucin, la tarea es notificada de cul de los eventos ocurri
primero.
Uno de los sistemas que est disponible para todas las tareas, permite aguardar
por un perodo determinado de tiempo, lo que vendra a ser equivalente al estado
dormido disponible en la mayora de los sistemas operativos comerciales. La
diferencia radica en que, en este caso, no es ms que una sub-aplicacin del estado
de espera. Adems, al ser combinado con la espera por otro evento, permite la
posibilidad de aguardar por un evento con un lmite de tiempo, lo que resulta ser
til en partes como el control del mdem.
El sistema operativo tambin ofrece la opcin de llamar peridicamente a
pequeas funciones que no llegan a tener el rango de tareas. stas se ejecutan,
realizan su trabajo completamente, y vuelven a llamarse con toda seguridad un
tiempo despus. Esto resulta til, por ejemplo, para partes como el mecanismo
antirrebotes de las entradas, control de salidas con secuencias y revisin peridica
del correcto funcionamiento del sistema.
Por ltimo, existe un sistema de relojes de baja velocidad (mltiplos de
segundos), tiles, por ejemplo, en el control de partes del vehculo.
Cada vez que una interrupcin de timer se genera, el sistema operativo ejecuta el
siguiente algoritmo (Figura 21):

49

Figura 21. Algoritmo de control de la interrupcin del timer

50

De esta manera el sistema operativo es capaz de llevar la cuenta de


temporizadores para mltiples tareas, y notificar a las mismas una vez que los
perodos de tiempo finalicen.
Las llamadas a las funciones peridicas, salvo la del timer, se ejecutan con todas
las interrupciones encendidas.
Cuando una tarea retorna el control del CPU, el sistema operativo realiza las
siguientes funciones (Figura 22), con la finalidad de poder guardar todo el contexto
de ejecucin de la tarea actual, con el fin de poder retomar el punto actual de
ejecucin en un futuro.

Figura 22. Retorno del CPU por tarea

51

Para despachar la prxima tarea a ejecutar el sistema emplea el siguiente


algoritmo, buscando una tarea lista, cargando su contexto en el CPU, y regresando
el control del mismo (Figura 23). En caso de no poder encontrar una tarea disponible
se coloca el CPU en modo de bajo consumo, hasta que ocurre un evento que
despache a una nueva tarea.

Figura 23. Algoritmo para el cambio de tarea

52

3.6.2. GPS
El siguiente bloque diseado, debido a su sencillez, fue el del control del GPS. Por
su naturaleza, se adaptaba mejor a procesar los datos obtenidos durante una
interrupcin, por lo cual no result necesario siquiera encapsularlo en una tarea.
Una vez que el GPS es encendido, ste comienza a enviar datos de manera
peridica, generalmente cada segundo. Estos datos tienen una estructura muy
definida, tal como se observa a continuacin (Figura 24):

Figura 24. Datos del GPS

Los datos se encuentran empaquetados en formato NMEA, el cual se encuentra


descrito con mayor profundidad en el Apndice B. En resumen, comienza siempre
con un carcter $ seguido del identificador del tipo de registro; a continuacin,
aparecen los datos separados por comas, terminando en un checksum para
correccin; y por ltimo, un salto de lnea.
Por lo general el equipo utilizado slo enva los registros mostrados en la Figura
24. De todos stos, el nico realmente interesante es el GPRMC.
La estrategia empleada consiste en esperar la llegada de nuevos datos del GPS
por interrupcin, en la cual se van anotando en un buffer hasta que uno de los
caracteres recibidos indique que existe informacin suficiente como para realizar
alguna operacin.

53

En la Figura 25 se muestra el diagrama de estados de esta parte del programa.

Figura 25. Diagrama de estados que rige el intrprete de datos del GPS

54

Como se observa, cada vez que llega un $, la mquina de estados se reinicia


automticamente. Mientras el campo a procesar no sea el GPRMC, nada de lo que
llegue adquiere relevancia. Una vez que se inicia el procesamiento del campo de
inters, los caracteres entrantes se van almacenando temporalmente hasta
completar un dato (esto es, al llegar un separador , o un *). En ese momento, el
dato es convertido a alguna forma binaria (byte, word, etc.) para ahorrar espacio en
RAM y facilitar as el trabajo de otras partes del programa. Estos datos van llenando
una estructura que contiene toda la informacin recibida del GPS. Una vez que el
checksum llega, es comparado con el obtenido localmente. De esta forma, se
determina la validez de los datos. En caso de ser concordantes, se actualiza la
estructura que contiene los ltimos detalles vlidos, que posteriormente es
empleada en otras partes del programa. Un semforo impide sobrescribir la
informacin mientras est siendo utilizada en otro sitio, evitando as problemas de
corrupcin de datos.
En este bloque, se encuentra tambin la primera funcin peridica, dedicada al
clculo de la velocidad promedio del vehculo. De manera prctica, resulta
ineficiente, y hasta imprctico, calcular la velocidad promedio basado en todos los
puntos de un recorrido. En cambio se realiza el equivalente a la operacin mostrada
en la siguiente ecuacin (Figura 26), la cual entrega una especie de promedio
temporal reciente.

Figura 26. Ecuacin para clculo de velocidad promedio

El peso es una constante menor a 1, que permite obtener una velocidad filtrada.
Tanto esta constante como el tiempo entre clculos, son parmetros configurables.
Una ltima funcin peridica se ejecuta cada 10 segundos, revisando que durante
este intervalo de tiempo se hayan recibido caracteres desde el GPS. En caso de ser
negativo, concluye que el equipo est fallando, y procede a reiniciarlo.

55

El valor de velocidad proporcionado por el GPS, se encuentra en unidades de


millas nuticas por hora, las cuales son convertidas de inmediato a Km/h, tal como
explica la Figura 27:

Figura 27. Conversin de unidades de velocidad

El ltimo paso de conversin de la fraccin 37/20 a 59/32 se realiz para


simplificar el proceso de clculo dentro del CPU, al poder dividir entre 32 usando
una simple operacin de desplazamiento a la derecha (en vez de ejecutar una
instruccin de divisin, que consume diecisiete ciclos).
Para mejorar la precisin del equipo, se toma en cuenta la parte decimal
entregada por el GPS. sta es un nmero que representa directamente las
centsimas, y que para poder aprovecharlo se convierte primero a una escritura
fraccionaria en la cual el bit ms significativo simbolizar milla nutica, el
siguiente y as sucesivamente. La conversin, hecha con bastante exactitud, sigue
la frmula siguiente (Figura 28):

Figura 28. Parte decimal a fraccin binaria

De manera tal que, por ejemplo, 0,99 millas nuticas se representarn


internamente como 254/256 0,99.

56

Luego, se toman los 3 bits ms significativos del resultado (hasta 1/8 de unidad)
y se adicionan a la parte entera de la velocidad, tal como se muestra en la Figura 29:

Figura 29. Representacin en punto fijo de la velocidad

ste es el nmero que realmente se multiplica por 59/32, tal como se explic
anteriormente, y luego se vuelve a convertir a entero aplicando redondeo.

3.6.3. Mdem
Una de las partes ms complejas del software, lo constituye el control del mdem.
Esto se debe a su extensin y naturaleza, as como a la necesidad de mantener
cuidadosamente al equipo comunicado la mayor parte del tiempo.
Para simplificar su escritura, una tarea se encarga de mantener el mdem
operando, as como de ofrecer servicios a otros comandos que lo requieran.
En esta seccin, las comunicaciones se manejan mediante interrupciones, las
cuales a su vez anotan datos en buffers. Todo el control se hace en forma de
comandos AT estandarizados por el grupo de GSM, muchos de los cuales son
comunes a los disponibles en mdems convencionales. La lista de los comandos AT
empleados en esta aplicacin se encuentran descritos en el Apndice C.

57

Todo el control del mdem se realiza siguiendo un patrn similar de comandos y


respuestas, en el cual se precarga en el buffer de salida el comando a ejecutar y sus
posibles parmetros. A continuacin, se anota el nmero de lneas que se esperan
obtener como respuesta y a partir de cul de stas los datos son interesantes.
Luego, se empiezan a enviar los datos y se duerme la tarea aguardando a que
finalice este proceso. Despus de revisar que el mdem se encuentre en reposo, se
enva el ltimo salto de lnea y se duerme la tarea durante un tiempo mximo de
espera, esperando el fin de la transmisin.
La rutina de interrupcin de transmisin, funciona como se muestra en la
siguiente figura (Figura 30):

Figura 30. Interrupcin de envo de datos al mdem

Cada vez que el buffer de hardware del procesador se vaca, es llenado


nuevamente con datos nuevos obtenidos del buffer de salida. Una vez que no
existan ms caracteres que enviar se notifica con un evento de fin de transmisin,
para que la tarea del mdem sepa que puede proseguir su ejecucin.

58

La rutina de recepcin est estructurada de la siguiente forma (Figura 31):

Figura 31. Interrupcin de recepcin del mdem

Dentro de la rutina de interrupcin se cuenta el nmero de saltos de lnea


recibidos desde el inicio de la respuesta a un comando, con la finalidad de desechar
informacin no til que a veces enva el mdem antes y despus de la informacin
que realmente resulta de inters, la cual es almacenada en un buffer de recepcin.
Todos los comandos son enviados al mdem de esa manera, con un tiempo
mximo de respuesta que vara en funcin del tipo de comando.

59

Ahora, a nivel superior, la tarea emplea lo descrito anteriormente como base para
mantener el mdem operativo y ofrecer el servicio de envo y recepcin de mensajes.
Ambos sern empleados por la tarea de control del vehculo, tal como se explicar
ms adelante.
La operacin a alto nivel, est descrita por el siguiente diagrama de estados
(Figura 32):

Figura 32. Mquina de Estados del control del mdem

El programa comienza su ejecucin por el estado de inicializacin (el crculo


negro indica esto). Durante este ciclo, se realizan ordenadamente los siguientes
pasos:
1. Se apaga el mdem si estaba encendido.
2. Se enciende el mdem.
3. Se espera a que el mdem configure el UART.
4. Se enva el tipo de red GSM a usar.
5. Se introduce el PIN y se espera conexin a la red.
Si alguno de los pasos anteriores falla, se repite el proceso desde el inicio.
60

Una vez iniciado el mdem, la tarea pasa al estado de reposo, bajo el cual se
emiten comandos peridicamente. stos tienen la finalidad de revisar si el
dispositivo est operando correctamente y de ver si est en contacto con la
radiobase, en cuyo caso se intentarn enviar y recibir mensajes.
Al obtener un mensaje de texto, el contenido pasa a una funcin que se encarga
de separar las partes del mismo, en comando, clave y diversos parmetros que
pueden ser utilizados. Si la clave es vlida, la funcin encargada de procesar dicho
comando es llamada. Por lo general, slo cambia variables que indican estados y
sealiza eventos en otras partes del programa.
Como se mencion anteriormente, la tarea del mdem tambin ofrece el servicio
de envo de mensajes para otras tareas. Para ellos, existe una cola tipo FIFO a la cual
se le van agregando nmeros que representan un tipo de mensaje a enviar. Una vez
dentro de la cola, son procesados por la tarea, la cual se encarga de armar el texto
del mensaje usando la plantilla correspondiente, envindolo as al destinatario
adecuado, que vara dependiendo del tipo de mensaje.
Luego de que ha sido enviado exitosamente, el mensaje es removido de la cola y
se procede con el siguiente. Por el contrario, si por ejemplo los datos no pudieron
ser entregados por falta de seal, permanecen en la cola para un posterior reintento.
A

continuacin

se

muestran

los

diversos

tipos

de

mensajes,

con

su

correspondiente estructura y destinatarios (Tabla 6).

61

Tabla 6 - Mensajes de Respuesta


Mensaje
ubicacion actual
velocidad maxima
exceso de velocidad
carro activado
carro desactivado
robo en proceso
robo finalizado
intento de robo
robo en grua
modo grua
modo grua apagado
modo valet
modo valet apagado
limite aceptado
limite apagado
nueva clave aceptada
nuevo numero de reporte
boton de robo
boton de emergencia

Incluye ubicacin
S
No
S
No
No
S
S
No
S
No
No
No
No
No
No
No
No
S
S

Destino
Nmero origen del comando
Nmero origen del comando
Nmero de reporte
Nmero origen del comando
Nmero origen del comando
Nmero origen del comando
Nmero origen del comando
Nmero de reporte
Nmero de reporte
Nmero origen del comando
Nmero origen del comando
Nmero origen del comando
Nmero origen del comando
Nmero origen del comando
Nmero origen del comando
Nmero origen del comando
Nmero origen del comando
Nmero de reporte
Nmero de reporte

3.6.4. Entrada / Salida


La etapa de entrada/salida (E/S), est conformada por una serie de funciones
peridicas que permiten de manera automtica obtener valores estables de las
entradas, luego de un debido proceso de antirrebote.
Adems, otra de las funciones peridicas, permite controlar de manera
independiente cada una de las salidas del equipo, manejndolas con secuencias de
bits que se suceden en cada una de las lneas de E/S en intervalos iguales y
mltiplos de un valor configurable.
Cada una de las secuencias, independientes para cada puerto, se configuran
usando las siguientes variables (Figura 33):

62

Figura 33. Salidas peridicas

El stream de bits, contiene la secuencia que ser rotada de manera circular hacia
la derecha, envindose el bit menos significativo a la lnea de E/S correspondiente.
Este cambio se sucede en mltiplos de una unidad de tiempo de 5msec, un nmero
finito o infinito de veces, dependiendo de las necesidades.
Con la ayuda de estas dos herramientas genricas, las dems partes del
programa, en especial la dedicada al control del vehculo, son capaces de comandar
acciones sobre el hardware sin una carga de trabajo adicional.
Otra parte del hardware que tiene un papel fundamental, tanto por el
almacenamiento de los parmetros de configuracin as como de los recorridos y
excesos del vehculo, es la memoria eeprom externa (la cual opera empleando el
protocolo I2C).
An cuando el microcontrolador ofrece un hardware, toda la estructura necesaria
para acceder a perifricos usando este protocolo, resulta todava una herramienta de
muy bajo nivel. Es esta la razn por la cual se escribi una librera de funciones
dedicada especficamente a intercambiar informacin con la memoria, aprovechando
todos los recursos ofrecidos por el microcontrolador.

63

Entre las operaciones permitidas por la librera, se encuentran:

Lectura de bytes individuales.

Escritura de bytes individuales.

Lectura rpida de un bloque de datos.

Escritura rpida de un bloque de datos.

Inicializacin de la memoria.

Las funciones fueron escritas siguiendo los lineamientos y sugerencias del


fabricante en sus notas de aplicacin. De manera adicional, la funcin de
inicializacin incluye un cdigo que repara un error de diseo[34] en el perifrico del
minicontrolador, tal como est publicado en la errata del mismo, que se incluye en
los anexos.
La ltima parte del programa relacionada directamente con comunicaciones, es la
encargada de intercambiar datos con un computador, tanto para cargar la
configuracin inicial del equipo (Apndice D), como para descargar el contenido de
la memoria correspondiente a la descripcin de los viajes almacenados.
Debido a que el controlador dispone de dos perifricos de UART en hardware (los
cuales se encuentran normalmente asignados al mdem y GPS), se abord una
estrategia que aprovecha la capacidad de conmutar a voluntad las lneas de E/S de
los perifricos, compartiendo entonces un UART entre el GPS y el computador.
Algunas precauciones son tomadas para que el primero no salga completamente de
operacin de manera innecesaria. Entre estas condiciones estn:

El vehculo debe encontrarse apagado.

La comunicacin debe iniciarse de una manera muy especfica. De no ser


as, el GPS recupera automticamente el control.

64

Durante una operacin normal, el GPS se encuentra conectado al UART, por lo que
una parte del programa se dedica a monitorear si algn computador quiere
establecer comunicacin con el equipo. Para ello, revisa peridicamente la lnea de
RX de la interfaz, la cual se encuentra normalmente en estado de reposo (uno
lgico). Si la lnea cambia a cero durante un perodo determinado de tiempo, se
interpreta como un posible intentando de establecer comunicaciones. Por ello, se
conmuta el UART hacia las lneas del computador, y se transmite un nmero con la
versin de programa del microcontrolador, lo cual adems notifica al PC que su
presencia ya fue detectada.
A continuacin, el CPU pasa a modo de ajuste automtico de velocidad e inicia un
cronmetro de espera mxima, luego del cual se interpreta como una falla de
comunicacin que conlleva al regreso del UART a manos del GPS.
La operacin de ajuste automtico de velocidad trae consigo dos ventajas:
1. Permite calibrar el puerto, hacindolo insensible a variaciones del reloj interno.
2. Permite

futuro que

otros dispositivos no tan potentes como una

computadora, puedan conectarse de manera transparente al equipo (a


velocidades inferiores a las del computador).
Luego de sincronizarse, el programa le responde al computador que todo opera
correctamente, luego de lo cual puede considerarse que la comunicacin queda
establecida de forma continua hasta que el computador decida terminarla o el carro
sea encendido. Durante este perodo, no se recibirn nuevos datos del GPS.
Toda transferencia de datos y comandos es iniciada remotamente. Los comandos
disponibles son:

Desconexin.

Cambio del valor del apuntador.

Escribir (hasta 256 bytes).

Leer (hasta 256 bytes).

65

El primer comando se explica por s solo. El segundo permite enviar una direccin
de 32 bits. sta representa la direccin origen/destino de la prxima transferencia
de datos a la memoria eeprom.
Este apuntador avanza automticamente durante cada operacin de lectura o
escritura, permitiendo mltiples accesos secuenciales sin necesidad de reenviar la
direccin.
El comando de escritura permite modificar hasta 256 bytes de memoria en una
sola operacin, usando un paquete como el siguiente (Figura 34):

Figura 34. Comando de escritura del PC

El checksum est calculado como el XOR de todos los bytes transmitidos,


incluyendo el identificador del comando.
Una vez que el CPU graba toda la informacin en memoria, comprueba que el
checksum recibido coincide con el calculado localmente, enviando entonces un byte
de aceptacin. En caso de no ser vlido, enva un byte de error, lo que indica al
computador que deber regresar y volver a ejecutar la operacin. Al finalizar, el
valor de apuntador de direccin contiene el valor inicial ms el tamao del bloque
recibido.

66

La operacin de lectura funciona de manera similar. El computador enva el


paquete mostrado en la Figura 35.

Figura 35. Comando de lectura del PC

A continuacin, el equipo responde con los datos solicitados, seguidos del


checksum, calculado tal como en el caso anterior. De no resultar vlidos, el
computador puede regresar y volver a pedir los datos. Una vez ms, el apuntador
final est incrementado en el nmero de bytes transmitidos.
En ambos encabezados, el tamao transmitido es el valor de la longitud actual
decrementado en uno, para poder transmitir de 1 a 256 bytes. Debido a que la
transmisin de paquetes de este tamao requerira un buffer de almacenamiento
inmenso (visto desde el lado del minicontrolador), se decidi implementar un
protocolo de control de flujo XON/XOFF con reemplazo de caracteres tal como se ve
en la prxima figura (Figura 36).

67

Figura 36. Reemplazo de caracteres XON/XOFF

Donde cada recuadro representa un byte de valor:


XON:
XOFF:
CMD:
A:
B:

0x11
0x13
0x1B
0x91
0x93

Tal como se muestra en la Figura 36, cualquier dato que pudiera confundirse con
los comandos de XON y XOFF es reemplazado por un par de datos seguros que
pueden pasar a travs del sistema sin problemas. El primer byte CMD, indica al
receptor que se est transfiriendo un dato especial y que debe sustituirlo por el
caracter original.

68

3.6.5. Control del vehculo


La descripcin de esta ltima tarea fue abordada al final, debido a que es la nica
que usa de manera directa todas las otras secciones del programa. Es la encargada
de unirlas y coordinarlas para que en conjunto acten como se espera que se
comporte el equipo final frente al usuario.
Las funciones bsicas del equipo fueron plasmadas en una sola mquina de
estados, como se muestra en la Figura 37.

Figura 37. Superestados del control del vehculo

Cada uno de los recuadros en la figura, representan los superestados apagado,


encendido y en robo, los cuales se encuentran examinados con mayor detalle en
las figuras Figura 38, Figura 39 y Figura 41 respectivamente. En cada transicin, el
programa almacena su estado en memoria no voltil para poder retomarlo en caso
de que se interrumpa temporalmente el suministro de corriente.

69

Apagado

Figura 38. Mquina de estados para el vehculo apagado

Segn el diagrama, cuando el equipo es iniciado por primera vez o es apagado


desde modo normal (no en robo), el superestado se reinicia en reposo. Luego de que
transcurre un perodo de tiempo, el equipo deshabilita al carro automticamente,
para lo cual corta el suministro de corriente al arranque y a la bobina.

70

Si la llave es entonces pasada, el carro comienza a sonar y se mantiene de tal


forma por un perodo de tiempo. Luego de este perodo, se revisa nuevamente el
estado de la llave. De continuar activada, supone que est ocurriendo un intento de
robo, por lo cual enva un reporte al usuario que indica el posible evento y
permanece sonando. En caso de que la llave haya sido retirada, silencia la corneta y
regresa al estado anterior, listo para volver a hacer ruido. Si en cualquier momento
el usuario presiona el botn de activacin, se pasa a modo reposo, silenciando
cualquier posible alarma y habilitando nuevamente el arranque y la bobina.
An cuando no se muestra en el diagrama, tres pulsaciones del botn de
activacin dentro del modo de reposo encienden el modo valet, bajo el cual el
vehculo jams pasa a estado de inactividad. Una vez en este modo, una pulsacin
adicional deshabilita la opcin.
El equipo puede salir de este superestado de tres maneras diferentes:
1. Al pasar la llave en estado de reposo.
2.

Al recibir un mensaje de robo.

3. Si el carro inicia movimiento estando apagado y fuera del modo de gra.


En el primer caso, el vehculo pasa a estado encendido. En las otras dos
situaciones, pasar a estado de robo, el cual ser explicado ms adelante.

71

Vehculo encendido
Una vez que la mquina de estados entra en este superestado, la operacin se
rige por el siguiente diagrama:

Figura 39. Superestado que describe al vehculo encendido

72

Al encenderse el vehculo, ste operar en condiciones normales, siempre y


cuando la velocidad promedio se mantenga por debajo del primer lmite. En caso de
superarlo, se emite una seal luminosa para advertirle al conductor del exceso. Se le
permitir mantenerse sobre el lmite durante unos segundos para cubrir el
adelantamiento, luego del cual deber reducir por debajo del primer lmite. De
continuar por encima, se supone que el exceso es intencional, por lo tanto se
acelera la secuencia luminosa y empieza a emitirse una alarma auditiva, con la
finalidad de generar presin; en el caso de un vehculo de pasajeros, por ejemplo, se
intentar adems que el sonido advierta a los mismos para que puedan tomar
medidas.
Al ocurrir este evento de exceso, un reporte es emitido al nmero de celular
correspondiente, y adems se anota en memoria el inicio del abuso. Se provee al
chofer de un instante para recapacitar y disminuir la velocidad por debajo de un
segundo lmite, por lo general ligeramente inferior al primero. De no hacerlo, las
secuencias de las alarmas se modifican una vez ms, as como la estrategia de
control. En el siguiente caso, se obliga al conductor a bajar su velocidad hasta
aproximadamente 0 Km/h y a permanecer de ese modo durante un buen perodo,
para advertir a los pasajeros lo ocurrido y amonestar al chofer.
Una vez finalizada la infraccin, se anota el fin en memoria y se pasa al estado de
adelantamiento de manera breve, como un recordatorio al conductor.
La Figura 40 muestra ejemplos numricos del control de velocidad.

Figura 40. Ejemplos de control de velocidad

73

Robo del vehculo


En los casos en que se recibe un mensaje notificando un robo de vehculo, sin
importar el estado previo, la mquina cambia a este superestado (Figura 41).

Figura 41. Robo de vehculo

Adems, en el caso de haber detectado movimiento del vehculo por medios


externos mientras se encontraba apagado, el equipo pasa automticamente a modo
de robo. Un mensaje de texto permite al usuario deshabilitar este mecanismo de
proteccin adicional, para poder transportar el vehculo a bordo de una gra.
Dependiendo del estado previo del automvil (encendido o apagado), se
controlarn las salidas asociadas al motor de arranque y la bobina. El proceso en
cualquiera de las dos circunstancias, consiste en cortar el primero, haciendo
imposible volver a encender el motor. Tambin se inicia la secuencia de alarma que
se espera que induzca al ladrn a la desesperacin y pnico.

74

Se enva un reporte en respuesta al comando de robo, sirviendo de feedback para


el usuario, quien adems recibir las coordenadas actuales del vehculo.
En caso de estar encendido, se inicia la secuencia de fallos sobre el motor,
cortando por intervalos breves la alimentacin de la bobina o de la bomba de
combustible (dependiendo del tipo de instalacin), lo cual produce un efecto de
perdida de potencia del vehculo, y en caso de que ste se encuentre quieto, lo
apaga completamente.
Esta secuencia se lleva a cabo durante un perodo de tiempo, luego del cual se
apaga definitivamente el motor, pasando al estado desactivado; que controla al
carro en robo mientras est apagado. Durante la transicin de estados, un reporte
es enviado, notificando la desactivacin del vehculo y su posicin final. Esta
transicin adems ocurre instantneamente si la llave es colocada en posicin de
apagado mientras el motor se encuentra fallando.
Una vez en el segundo estado, se emitirn sonidos mientras la llave se encuentre
en posicin de encendido, as como durante un perodo de tiempo despus de
retirarla (con el fin de buscar la desesperacin del ladrn).
La nica forma de salir de este estado es enviando un comando de activacin al
vehculo, siempre que la llave se encuentre en apagado.

75

4. PRUEBAS REALIZADAS

Desde fases intermedias del desarrollo del software, se hizo evidente la necesidad
de un sistema de pruebas que permitiera determinar el comportamiento del equipo
de manera rpida y visual. Para tal fin se ensambl un tablero de pruebas,
consistente en un interruptor que simula la llave de encendido, dos pulsadores que
simulan el botn de activacin y de pnico, y cuatro leds que representan las
bobinas de los rels verdaderos del vehculo, conectados a cada una de las salidas:
motor de arranque, ignicin, indicador de exceso de velocidad y corneta. Estas
conexiones se muestran en la Figura 42. Con este arreglo, y asistidos por el uso de
un depurador en circuito (in circuit debugger por sus siglas en ingls ICD), se
corrigieron y eliminaron muchos errores de software, tanto grandes como pequeos,
a lo largo de un prolongado proceso iterativo de desarrollo.

Figura 42. Diagrama de conexiones de prueba

76

Debido a la necesidad de establecer una comunicacin serial con un computador


personal se elabor rpidamente un circuito para adaptar los niveles lgicos de las
seales, tal como se muestra en la Figura 43. An cuando los voltajes del lado del
computador no son los indicados en los estndares de RS-232, el circuito aprovecha
el hecho de que la mayora de los UARTS en las computadoras actuales detectan el
uno lgico a partir de 3V, y el cero lgico con valores cercanos a 0V.

Figura 43. Convertidor de niveles para interfaz con PC

Un programa para pruebas rpidas de configuracin y extraccin de datos fue


escrito usando Visual C++. La interfaz al usuario se muestra en la Figura 44. El
programa es capaz de conectarse al equipo realizando toda la sealizacin explicada
en el captulo de descripcin de software. Adems ofrece la posibilidad de cargar la
configuracin del mdulo desde un archivo binario, y descargar toda la informacin
de recorridos desde el mismo a un archivo en disco. Una tercera funcin permite leer
y escribir bloques de datos desde y hacia posiciones especficas de la memoria
eeprom, con la finalidad de facilitar el proceso de prueba en algunos casos.

77

Figura 44. Interfaz de programacin del mdulo

Debido a que la escritura y posterior modificacin de los archivos de


configuracin directamente en binario resultaba un proceso engorroso, se escribi
un intrprete sencillo que es capaz de procesar archivos de texto y convertirlos a
archivos de programacin. Un ejemplo de la sintaxis es mostrado a continuacin:
// Configuracin del modem
address
=
20
// nmero PIN para el SIM instalado
string
=
8,1234
byte
=
0
byte
=
3

// 8 caracteres mximo
// NULL
// selector de banda

// lista de passwords
address
=
30
string
byte

=
=

8,1234
0

// password
// NULL

78

La palabra reservada address se emplea para establecer una direccin a partir de


la cual estar contenido un bloque de datos. A continuacin pueden escribirse datos
de tipo byte, word, dword y string. Los primeros tres tipos son numricos, y al igual
que las direcciones, deben ser escritos en base 16. Un string es un conjunto de
caracteres que sern copiados directamente a la memoria. Debe indicarse el espacio
de memoria reservado para el mismo, y a continuacin el contenido, el cual puede
ser de una longitud menor a la indicada. El string no incluye de ningn tipo de
terminador. Las dos barras inclinadas // son empleadas para escribir comentarios
hasta el final de la lnea.
De manera similar se escribi un programa capaz de interpretar los datos de los
recorridos anotados y generar un archivo que puede ser abierto por el programa
Google Earth. El formato del archivo es conocido como KML, un subset del lenguaje
XML, y esta disponible pblicamente en el servidor de la compaa[35].
Una vez disponibles todas estas herramientas de trabajo, se procedi a la prueba
final del equipo, abordo de un Honda Civic 98. Debido a que modificar el vehculo
para conectarlo tal como se hara en la vida real implicaba hacer modificaciones
permanentes al cableado elctrico, se prefiri optar por mantener el tablero de
pruebas usado en condiciones de laboratorio.
A causa de que la fuente de alimentacin es la mayor diferencia entre la realidad y
las condiciones estables vividas durante toda la etapa de desarrollo, se decidi
alimentar

al

modulo

con

la

propia

corriente

del

carro,

para

evaluar

su

comportamiento en ambientes de ruido elctrico. De esta forma se puede decir que


los resultados obtenidos son reales, an cuando por ejemplo, el corneteo por exceso
de velocidad slo fue presenciado como el destello de un led.

79

Se modific ligeramente el programa para que emitiera una seal auditiva cada
vez que un punto del recorrido era anotado en memoria. El sistema fue instalado
con antenas externas y todo el arreglo fue colocado por comodidad en un asiento
del vehculo. Se configur el equipo para realizar anotaciones en perodos ms
cortos de tiempo, as como para indicar tiempos de excesos de velocidad ms cortos
que los usados en una aplicacin normal. Este archivo de configuracin puede ser
visto en el Apndice D.
En cuanto al control de velocidad, se establecieron lmites de prueba en valores
cercanos a los 60 Km/h, 50 Km/h y 40 Km/h para el primer, segundo y tercer lmite
respectivamente, comprobando en decenas de intentos que el sistema empezaba a
reportar adelantamiento justo cuando el velocmetro del carro indicaba los 60 Km/h,
con un error apenas perceptible. Los tiempos para adelantamiento y penalizacin
tambin fueron probados con xito, obtenindose reportes al celular por exceso del
lmite.

La

funcin

de

cambio

dinmico

de

estos

valores

tambin

oper

correctamente, probndose lmites de 80 y 100 Km/h, luego de las cuales, las


notificaciones de exceso ocurran exactamente a la velocidad programada.
Para la parte de ubicacin del vehculo, se realizaron numerosas pruebas
alrededor de Caracas, con la ayuda de un copiloto que registraba puntos de inters
en el trayecto que luego podan ser vistos en el mapa con relativa exactitud. Los
errores observados fueron atribuidos a las caractersticas intrnsecas del GPS.
En cuanto a la parte de control del vehculo, se siguieron las secuencias de
autoarmado despus de apagado, anulacin del mismo con el sistema de Valet
Parking, tanto por comando de texto como por pulsaciones en el botn de
activacin. Se prob el armado manual va mensaje una vez que la opcin
automtica fue deshabilitada.
El estado de robo fue probado enviando el comando con el motor apagado.
Automticamente empez a emitirse la alarma a travs de la corneta, la cual ces
transcurrido el tiempo mximo luego de quitar la llave.

80

Con el motor encendido, el comando de robo inici la secuencia de fallas en el


motor, apagndose instantneamente al quitar la llave. De no ser as, la secuencia
emprica fue acortndose poco a poco hasta apagar definitivamente al vehculo.
Una vez en este estado de vehculo desactivado por robo, slo se regres al
estado inicial al enviar el comando de activacin seguido de la contrasea valida.
La funcin de deteccin de robo en gra fue simulada moviendo el vehculo
mientras el interruptor de encendido de la cnsola de pruebas se encontraba en
desconectado. Casi instantneamente se report el intento de robo. Se atribuye el
retraso de algunos segundos (menos de diez) al sistema de mensajera de texto.
Luego se procedi a probar deshabilitando este sistema mediante el comando
grua,1234,no observando a continuacin que el carro poda moverse apagado.
Una vez repetidas varias veces estas pruebas, el equipo regres temporalmente al
laboratorio, en el cual se probaron exhaustivamente todas las funciones y comandos
del equipo listadas en la parte de desarrollo de software, simulando en algunos
casos situaciones reales mediante el uso del ICD. Todos estos pasos se realizaron
numerosas

veces

con

anterioridad

durante

el

desarrollo,

encontrndose

corrigindose varios errores grandes y pequeos, pero en esta oportunidad todo


funciono correctamente.
Al dar por terminado esta segunda revisin, se volvi a colocar el equipo en el
vehculo, el cual estuvo funcionando de manera consecutiva durante ms de dos
semanas, todo con el objeto de evaluar la calidad del equipo, basndose en el
nmero de veces que el procesador se reinici por algn error desconocido
(normalmente un salto invlido en la ejecucin del programa producto de ruidos de
la fuente). Jams ocurri un problema de este tipo, lo cual indica de manera emprica
que al menos a corto plazo el hardware es bastante inmune a variaciones en la
alimentacin.

81

En cambio, el programa tuvo que reiniciar al mdem unas tres veces luego de que
este tardara en responder a algn comando. An con esto el programa logr
recuperar el control del mismo, y jams se perdi, al menos de manera aparente,
comunicacin con el equipo, ya que ste respondi siempre a numerosos comandos
de prueba enviados. En algunos casos se obtuvieron retrasos de respuesta de
algunos segundos, atribuibles a lentitud en el servicio de mensajera de texto.
Hay que reconocer que an cuando todas estas pruebas fueron realizadas
exhaustivamente para determinar el correcto funcionamiento del sistema, slo
pudieron ser conducidas fsicamente sobre un equipo en un vehculo en particular.
An cuando esto puede no poseer valor estadstico, demuestra que todos los
objetivos de diseo propuestos inicialmente fueron cumplidos en su totalidad.

82

5. CONCLUSIONES Y
RECOMENDACIONES

Al iniciarse el desarrollo del proyecto, se tena la expectativa de lograr combinar


apropiadamente numerosas ideas tomadas de opciones ya existentes en el mercado
dentro de un mismo dispositivo, compacto, configurable y de costo reducido.
Luego de elegir estrategias en cuanto al hardware a implementar, as como los
componentes y tecnologas a emplear, se pas a la elaboracin de los diagramas
esquemticos y circuitos impresos para los prototipos.
Una vez ensamblados, se probaron tanto las fuentes como los drivers de salida,
partes que se consideraban muy crticas. Al obtener una respuesta inicial
satisfactoria, el desarrollo se enfoc en el software de control del equipo, con el cual
se prob el resto del hardware a medida que progresaba el diseo.
La culminacin de la etapa de desarrollo dio paso a las pruebas finales, realizadas
en un vehculo bajo condiciones muy cercanas a la realidad. Por ser una prueba
temporal se decidi no modificar el automvil de manera permanente ya que
resultaba un tanto excesivo, mantenindose entonces en uso el circuito de
simulacin usado en las pruebas de laboratorio. Los resultados en ambos casos
fueron totalmente satisfactorios.

83

Sin embargo, an cuando el proyecto alcanz satisfactoriamente las metas


propuestas al inicio, todava existe mucho espacio para aprovechar las grandes
capacidades de expansin del diseo. Entre las recomendaciones que surgen estn
las siguientes:

Permitir perodos variables de almacenamiento en los puntos del recorrido,


para mejorar en lo posible la relacin continuidad de puntos vs. espacio de
almacenamiento.

Disear un sistema de respaldo de corriente con batera propia, para lograr


que el equipo funcione an cuando se desconecten los bornes del carro.

Proveer un mecanismo para limitar las rutas a ciertas zonas (cercas


geogrficas) tal como ofrecen algunos de los equipos comerciales.

Agregar un dispositivo de almacenamiento masivo que sirva como etapa


intermedia para descargar los datos de ruta, con el fin de hacer ms
cmoda tal operacin; con esto de evitara acercar un computador personal
hasta el equipo cada vez que se necesite.

Desarrollar un software de carcter ms profesional que permita realizar el


anlisis detallado de toda la informacin sobre mapas digitales.

En definitiva, los resultados exitosos obtenidos en las pruebas realizadas al final


del proyecto, sumadas a todas las ideas anteriormente expuestas denotan un gran
potencial para el equipo desarrollado.

84

BIBLIOGRAFA
[1] TELEFNICA, Ubicar (folleto publicitario). Ms informacin en:
www.movistar.com.ve [2007].
[2] TRACKER, Car Tracker (folleto publicitario), Ms informacin en:
www.sltracker.com [2007].
[3] GUASON, Super Guasn (folleto publicitario) [2007].
[4] SILITEC, Geo Track Sistema de control vehicular (Documento de
especificaciones) [2007].
[5] MOVILNET Manual de usuario e instalacin - Utofos [2007].
[6] COSAS Autopro (memo interno a distribuidores del equipo) [2007].
[7] GSM WORLD, Brief History of GSM & the GSMA (en lnea). Disponible en:
http://www.gsmworld.com/about/history.shtml, [2008].
[8] EMORY UNIVERSITY, History and Timeline of GSM (en lnea). Disponible en:
http://www.emory.edu/BUSINESS/et/P98/gsm/history.html [2008].
[9] WIRELESS INTELLIGENCE (2007), Subscriber statistics end Q1 2007 (en lnea).
Disponible en: www.gsmworld.com/news/statistics/pdf/gsma_stats_q1_07.pdf
[2008].
[10] TEXAS INSTRUMENTS (7 - 2006), Texas Instruments Executive Meets with India
Government Official to outline Benefits of Open Standards to drive mobile
phone penetration (en lnea). Disponible en:
http://focus.ti.com/docs/pr/pressrelease.jhtml?prelId=sc06127 [2007].

85

[11] PR NEWSWIRE, Two Billion GSM Customers Worldwide, 3G Americas (en lnea),
disponible en http://www.prnewswire.com/cgibin/stories.pl?ACCT=109&STORY=/www/story/06-132006/0004379206&EDATE [2008].
[12] SIEMENS (2001), Manual de usuario Siemens C35i, Pgina 66 [2008].
[13] GSM WORLD, What is GSM? (en lnea). Disponible en:
http://www.gsmworld.com/technology/what.shtml [2008].
[14] WP4 (9 - 1988), GSM Recommendation 03.40/1 V:2.1.0. Disponible en:
http://www.3gpp.org/ftp/Specs/html-info/0340.htm [2008].
[15] ACTIVEXPERTS, Nokia Gsm At Command Set (en lnea), Disponible en:
http://www.activexperts.com/activsms/atcommands/nokia/ [2008].
[16] GSM WORLD, More Than 200 Billion Gsm Text Messages Forecast For Full Year
2001 (en lnea). Disponible en:
http://www.gsmworld.com/news/press_2001/press_releases_4.shtml [2008].
[17] INTERNATIONAL TELECOMMUNICATION UNION (2006), Digital Life, 2006,
Disponible en:
http://www.itu.int/osg/spu/publications/digitalife/docs/digital.lifechapter3.pdf [2008].
[18] SPACE AND TECH, GLONASS Summary (en lnea). Disponible en:
http://www.spaceandtech.com/spacedata/constellations/glonass_consum.shtm
[2008].
[19] BBC NEWS (30-11-2007), 'Unanimous backing' for Galileo (en lnea). Disponible
en: http://news.bbc.co.uk/1/hi/sci/tech/7120041.stm [2008].
[20] C PELLERIN (03-02-2006), United States Updates Global Positioning System
Technology (en lnea). Disponible en: http://www.america.gov/st/washfileenglish/2006/February/20060203125928lcnirellep0.5061609.html [2008].

86

[21] UNSW, Principles and Practice of GPS Surveying, Chapter 3, The GPS signals (en
lnea). Disponible en:
http://www.gmat.unsw.edu.au/snap/gps/gps_survey/chap3/chap3.htm [2008].
[22] L. RICHARD (24-03-2003), In Simple Terms, How Does GPS Work? (en lnea).
Disponible en: http://gge.unb.ca/Resources/HowDoesGPSWork.html [2008].
[23] GPSINFORMATION.NET, Garmin's signal strength bars: What they mean AND The
meaning of WARM START, COLD START, AutoLocate, and "Search the Sky" (en
lnea). Disponible en: http://www.gpsinformation.net/main/warmcold.htm
[2008].
[24] UNITED STATES COAST GUARD, Gps Frequently Asked Questions (en lnea).
Disponible en: http://www.navcen.uscg.gov/faq/gpsfaq.htm [2008].
[25] UNITED STATES COAST GUARD, Selective Availability (en lnea). Disponible en:
http://www.navcen.uscg.gov/faq/gpsfaq.htm [2008].
[26] NMEA, NMEA 0183 Standard (en lnea). Disponible en:
http://www.nmea.org/pub/0183/ [2008].
[27] MICROCHIP (2007), PIC24FJ64GA004 Family Data Sheet [2007].
[28] ST (10 2007), L5973D - 2.5A switch step down switching regulator [2007].
[29] MICREL (2005), MIC29150,29300,29500,29750 High-Current Low-Dropout
Regulators [2007].
[30] NATIONAL SEMICONDUCTOR (2006), LP2985 Micropower 150 mA Low-Noise
Ultra Low-Dropout Regulator in SOT-23 and micro SMD Packages Designed for
Use with Very Low ESR Output Capacitors [2007].
[31] MICROCHIP (2007), 24AA1025/24LC1025/24FC1025 1024K IC CMOS Serial
EEPROM [2007].
[32] ST (2007), ULN200xA - LN200xD1 - Seven darlington array [2007].

87

[33] MICROCHIP (2005), MPLAB ICD 2 In-Circuit Debugger Users Guide [2007].
[34] MICROCHIP (2007), PIC24FJ64GA004 Family Rev. A3 Silicon Errata [2007].
[35] GOOGLE [2007], KML Documentation Introduction (en lnea). Disponible en:
http://code.google.com/apis/kml/documentation/ [2008].

88

APNDICES

89

Apndice A. Planos
A continuacin se incluyen los diagramas esquemticos y los circuitos impresos
desarrollados para el presente proyecto.

Figura 45. Diagrama principal de la tarjeta controladora

90

Figura 46. Diagrama de etapa de E/S de la tarjeta controladora

91

Figura 47. Diagrama de la tarjeta de mdem

92

Figura 48. Cara superior del circuito impreso de la tarjeta controladora

Figura 49. Cara inferior del circuito impreso de la tarjeta controladora

93

Figura 50. Cara superior del circuito impreso de la tarjeta de mdem

Figura 51 Cara inferior del circuito impreso de la tarjeta de mdem

94

Apndice B. Protocolo NMEA


Los campos de GPS procesados por el equipo[26] incluyen la siguiente informacin:

RMC:

Tiempo UTC (hhmmss.sss).

Validez del campo (A = datos vlidos o V = datos no vlidos).

Latitud (ddmm.mmmm).

Longitud (ddmm.mmmm).

Velocidad sobre tierra (nudos).

Curso sobre tierra (grados).

Fecha (ddmmyy).

Ejemplo:
$GPRMC,184033.000,A,1028.2134,N,06648.9065,W,0.25,177.71,210307,,,A*7F

GGA:

Tiempo UTC (hhmmss.sss).

Latitud (ddmm.mmmm).

Longitud (ddmm.mmmm).

Validez del campo y tipo de sistema empleado (0 = invalido, 1 = GPS).

Nmero de satlites empleados.

Dilucin horizontal (metros).

Altitud sobre el nivel del mar (metros).

Ejemplo:
$GPGGA,184034.000,1028.2133,N,06648.9064,W,1,07,1.7,898.2,M,18.4,M,,0000*61

95

Apndice C. Comandos Hayes (AT)


De todo el conjunto de comandos Hayes extendido que el mdem ofrece, el
equipo emplea el siguiente grupo:

Tabla 7. Comandos AT empleados


Comando
Descripcin
ate
Activa o desactiva el eco local
at+cband
Cambia la banda GSM a usar
at+cpin
Introduce el nmero PIN del SIM
at+creg
Obtiene el estado del registro con la radiobase
at+cpas
Revisa el estado del mdem
at+cmgf
Cambia el formato de lectura de SMS a texto
at+cpms Obtiene el nmero de SMS disponibles en el buzn de entrada
at+cmgs
Enva un mensaje de texto (SMS)
at+cmgl
Lee los mensajes SMS disponibles en el buzn de entrada
at+cmgd
Borra un mensaje SMS de la tarjeta SIM

La descripcin detallada de todos estos comandos est disponible en numerosos


documentos en lnea[15].

96

Apndice D. Archivo de configuracin


A continuacin se presenta el listado de un archivo de configuracin que muestra
todos los parmetros que pueden ser modificados en el equipo empleando la
interfaz serial:
// configuracin del mdem
address =
20
// pin number
string
=
byte =
0
byte =
3

8,0000
// NULL
// selector de banda

// lista de passwords
address =
30
// password
string =
8,1234
byte
=
0

// NULL

// nmeros telefonicos
address = 40
// nmero de reporte inicial
string
=
15,04129619568
byte =
0

// NULL

// configuracin del carro


address = 60
// en
byte
byte
byte
byte

falla
=
=
=
=

1
FE
14
14

// motor apagado
byte =
1
byte =
1
byte =
0
byte =
14

//
//
//
//

decremento de duracin por ciclo (0 = ctte)


ciclo de falla (gasolina)
duracin de cada bit (mltiplos 50 msec)
number of cycles

//
//
//
//

el motor esta encendido con uno lgico


el arranque esta encendido con uno lgico
ciclo para apagado del motor (0 = gasolina)
perodo de cada bit

// lmites de velocidad
word =
78
// velocidad
word =
6E
// velocidad
word =
64
// velocidad
word =
14
// velocidad

de inicio del exceso


B
C
mxima del carro apagado

97

// corneta
byte =
byte =
byte =
byte =

0A
01
33
4B

//
//
//
//

tiempo por cada bit de la secuencia


secuencia corta de advertencia
secuencia de robo
secuencia de exceso de velocidad

// tiempos
word =
word =
word =
word =
word =
word =
word =

3C
05
0F
0F
0F
05
0A

//
//
//
//
//
//
//

tiempo entre almacenamiento de puntos de ruta


tiempo de autoarmado
duracin mxima de adelantamiento
tiempo para bajar de limite B
tiempo de castigo por exceso (velocidad C)
duracin de la alarma en inactivo
duracin de la alarma en robo

//
//
//
//

perodo de la luz de exceso


secuencia de adelantamiento
secuencia de exceso
secuencia de castigo

// luz de exceso
byte =
5
byte =
0F
byte =
33
byte =
55

// reporte de exceso de velocidad


byte =
1
// 0: nunca, 1: en exceso, 2: en castigo
// configuracin del promediador de velocidad
address = 90
byte =
5
// muestreo cada 5 segundos
byte =
33
// factor de peso (40%)
byte =
4D
// (100% - peso) (60%)
byte =
7
// potencia del divisor
// estado del vehculo
address = 100
byte =
1
// estado previo almacenado
byte =
0
// permitir grua (verdadero o falso)
byte =
0
// modo valet activo
byte =
0
// el carro fue desactivado por mensaje

98

ANEXOS

Debido a la gran extensin de los documentos consultados durante el proceso de


desarrollo, se decidi incluir slo las primeras hojas que contienen las caractersticas
tpicas de cada componente. Para una referencia ms extensiva de los mismos, as
como de otros documentos, favor consultar la versin digital de este trabajo.

99