Sei sulla pagina 1di 10

2.4.

Subsistema 16F877
2.4.1. Introduccin
2.4.2. Implementacin Hardware
2.4.2.1. Circuito de Alimentacin
2.4.2.2. Circuito de Reloj y Reset
2.4.2.3. Entradas y Salidas
2.4.2.4. Driver y rels
2.4.2.5. Multiplexor del puerto serie
2.4.3. Organizacin de la Memoria

Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 40

2.4.1. Introduccin
Una vez visto el funcionamiento de los dispositivos a integrar en nuestro sistema hay que
pensar en pasar esta aplicacin a un entorno bajo microcontrolador. Son muchos los micros
disponibles en el mercado, existiendo una amplia variedad en cuando a cantidad de memoria y
tipo, perifricos disponibles, velocidad de procesado, nmero de pines de entrada/salida,
consumos
Debido a que se estuvieron haciendo trabajos en el departamento de Ingeniera
Electrnica enfocados a realizar un entorno de desarrollo para un micro como el PIC16F877, se
ha usado ste en el presente proyecto.

El hecho de haber desarrollado esta PCB de pruebas ha posibilitado conocer a fondo
este micro y realizar la aplicacin de manera ms fcil y rpida. Entre las caractersticas ms
importantes de este microcontrolador RISC destacamos las siguientes:

Memoria de programa FLASH 8 kBytes
Memoria de datos RAM 368 bytes
Memoria EEPROM 256 bytes
Frecuencia de trabajo DC 20Mhz
Comunicaciones Serie UART,MSSP
Pines entrada/salida 33 pines
Timers 3
Convertidor AD 8 entradas de 10bits
Juego de instrucciones 35 instrucciones
PCB desarrolladas para el Dpto. de Ingeniera Electrnica
Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 41

Con todas las caractersticas citadas anteriormente vemos que es un micro vlido para la
aplicacin que requerimos, sin embargo vemos que es necesario aadir cierta lgica ms para
completar la funcionalidad precisada, como ya comentaremos mas adelante. Para ms
informacin acerca de este micro invitamos al lector a que visite www.microchip.com.
2.4.2. Implementacin hardware
Una vez vista la eleccin del micro y todos los elementos que componen nuestra
aplicacin final (gps, modem gsm, LCD, circuito arranque) pasamos a ver en los apartados
sucesivos los distintos circuitos que necesitamos aadir al microcontrolador para cumplir nuestro
objetivo. En la imagen tomada vemos la circuitera completa excepto la que va instalada en la
cubierta superior, destacando las diferentes partes que iremos explicando a continuacin.

2.4.2.1. Circuito de alimentacin

Nuestro sistema va a estar instalado en un vehculo, con lo cual partimos de la tensin
de batera de 12V. La caja dispone de un jack de alimentacin a modo de conector de pruebas
que puede ser enchufado al encendedor del vehculo, pero la alimentacin definitiva vendr por
el conector de arranque en el cual estn los 12V directos de batera.


1: Circuito Alimentacin. 2: Circuito Reset y Reloj. 3: Entradas
y Salidas. 4: Driver y rels. 5: Multiplexor del puerto serie
Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 42

En el siguiente esquema vemos la topologa montada, con la entrada, interruptor, puente
de diodos para evitar la inversin de polaridad y el regulador de tensin 7805 con sus
condensadores de desacoplo y led indicador. Vemos que tambin sacamos la tensin de 12V
para posterior alimentacin de los rels.

2.4.2.2. Circuito Reset y Reloj

Para fijar la frecuencia de trabajo del microcontrolador pueden usarse varios mtodos
pero se ha elegido el oscilador de cristal entre las patas OSC1-OSC2. Por otro lado montamos el
circuito con resistencia de pull-up, pulsador y condensadores al pin MCLR del micro que es la
entrada de reset, que es activo a nivel bajo. (cuando MCLR=0 se produce un reset hardware en
el micro).
2.4.2.3. Entradas y Salidas

Adems de la entrada principal de datos al microcontrolador que se realiza por el puerto
serie, bien del GPS o del mvil, es necesario muestrear mltiples parmetros del entorno como
son los testigos de aceite, batera, punto muerto o la actuacin sobre leds indicadores y rels de
arranque. Para ello se utilizan los pines de los puertos del micro y en funcin de para que son
usados se elegirn en uno u otro puerto.
Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 43

En la siguiente tabla se muestran todas las entradas/salidas del sistema y los pines
asociados a ellas.

Nmero pin I/O Ubicacin Uso
2 Salida RA0 Led / rel contacto
3 Salida RA1 Led / rel arranque
4 Salida RA2 Led uso general
5 Salida RA3 Led GSM
7 Salida RA5 Led GPS
8 Entrada RE0 Testigo aceite
9 Entrada RE1 Testigo batera
10 Entrada RE2 Entrada AUX
17 Salida RC2 Enable LCD
20 Salida RD1 Dato1 LCD
21 Salida RD2 Dato2 LCD
22 Salida RD3 Dato3 LCD
27 Salida RD4 Dato4 LCD
28 Salida RD5 RW LCD
29 Salida RD6 RS LCD
33 Salida RB0 Control Multiplexor
34 Entrada RB1 Up Pulsador
35 Entrada RB2 Down Pulsador
36 Entrada RB3 Pulsador1
37 Entrada RB4 Pulsador2
38 Entrada RB5 Pulsador3
El porque de utilizar estos pines han sido por diferentes motivos, como por ejemplo las
resistencias de pull-up configurables que vienen en el puerto B para as no tener que ponerlas
externas en los pulsadores, la facilidad en el manejo de los datos en el PORTD para
comunicacin con el LCD
En el siguiente esquema mostramos las salidas que van dirigidas a leds y las entradas
de pulsadores y testigos.

Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 44

2.4.2.4. Driver y rels

Para realizar la operacin de arrancado tenemos que hacer el puente de los cables que
llegan a la llave de contacto. Estos puentes los haremos con tres rels que van alimentados a
12V. Para separar la parte del micro, que opera a 5V, de los rels, se va a utilizar un driver de
potencia como es el L293B que permite ser alimentado a una tensin de hasta 36V mientras que
la lgica de control es de 5V. Este integrado es capaz de suministrar una corriente de 1A con
picos de 2A. Consta de 4 canales de los cuales utilizaremos tres. Adems de conectar las
salidas del micro a sus correspondientes entradas hay que habilitar el dispositivo por los pines 1
y 9 conectndolos a VCC. El esquema de esta parte del sistema es el siguiente:

1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
2.4.2.5. Multiplexor del Puerto Serie
Uno de los dos mdulos de comunicacin serie que dispone el micro es la USART
(Universal Synchronous Asynchronous Receiver Transmitter). Este dispositivo esta indicado para
las comunicaciones con elementos externos al micro y que cumplan con el protocolo RS-232.
Esta USART es totalmente configurable en cuanto a la velocidad de transmisin, nmero de bits
de datos, de stop con lo cual se adapta perfectamente a las comunicaciones que nos son
necesarias entre el micro GPS y micro GSM.
Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 45

Los pines que se utilizan para este perifrico son el RC6-TX y RC7-RX y debemos
establecer dos canales de comunicacin, con lo cual montaremos un multiplexor para poder usar
la misma USART para los dos dispositivos externos. A continuacin vemos un diagrama de
bloques donde explicamos esto.

Para realizar esta funcin se ha elegido el 74HC4066 que es un
circuito CMOS que posee 4 interruptores analgicos. Uniremos en dos
parejas las salidas y los enable de manera cruzada, y estos a una misma
seal del micro y su invertida. Con lo cual si ponemos a 1 el pin del micro
seleccionaremos slo un par de interruptores y si est a 0 los dos
contrarios. En el siguiente esquema se muestra la configuracin completa.

1
2
3
RX
Micro
TX
MUX
RX1
TX1

RX
TX

RX2
TX2
RX
GPS
TX
RX
GSM
TX
Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 46

2.4.3. Organizacin de la Memoria
Cuando se comentaron brevemente las caractersticas del micro vimos que dispone de
368 bytes de memoria RAM. Al comenzar esta aplicacin se ha tenido en cuenta mucho la
disposicin y la forma que tiene este micro para manejar esta memoria que adems est dividida
en 4 bancos diferentes. Esto es importante planterselo ya que los mensajes NMEA y la
recepcin de SMS deben, en primer lugar, almacenarse en RAM para despus ser tratados, no
pudiendo exceder en ningn momento los lmites de sta. En primer lugar veamos el mapa de
memoria del 16F877 y a continuacin iremos distribuyendo en funcin de las necesidades de la
aplicacin.
Seleccin de banco
FSR,7 0 1 0 1
STATUS,IRP 0 0 1 1
Banco 0 Banco 1 Banco 2 Banco 3
Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 47

Banco 0: en este banco se encuentran los registros especiales del micro pero tenemos
disponibles 96 bytes que usaremos para almacenar los registros que necesitaremos para la
aplicacin. En la siguiente tabla vemos todos los que se han definido a partir de la direccin 0x20

;========================================
;Registros desde 0x20 a 0x7F --> 96 bytes
;========================================

cblock 0x20
direccion_RAM_entrante
direccion_RAM_saliente
direccion_FLASH
direccion_EEPROM
direccion_FIN
dato
dato1
dato2
dato_ascii
lon_sms
mascara
mascara_aux
resto
templcd
templcd2
cuanto
MS
temp
temporizador
TIMES
TIMES2
ind1
ind2
muestra_pantalla
ESTADO
unidades
decenas
centenas
umillar
dmillar
H_byte
L_byte
mula
mulb
num_llamadas
cod_error

endc

Banco 1: este banco empieza en la direccin 0xA0 hasta la 0xFF y tiene 96 bytes disponibles
para el usuario. En este banco vamos a almacenar el mensaje NMEA que nos manda el GPS
que esta estimado para el caso del GPRMC sea de 72 bytes.

0xA0 0xEC 0xFF
72 bytes
Banco 2: este banco empieza en la direccin 0x110 hasta la 0x17F y tiene 112 bytes
disponibles. En este banco almacenaremos el SMS entrante que proviene del mvil. Para un
mensaje del tipo configuracin del nuevo telfono master tenemos una longitud de 28 bytes ms
las cabeceras y el nmero de envo que hace un total de 58 bytes.

0x110 0x14A 0x17F
58 bytes
Localizador GPS-GSM Ivn Rodrguez Carmona

2.4. Subsistema 16F877 - 48

Banco 3: este banco empieza en la direccin 0x190 hasta la 0x1FF y tiene tambin 112 bytes
disponibles. En esta zona de memoria generaremos el SMS saliente con la posicin capturada
del GPS y el nmero de destino, todo ello en formato PDU. La longitud estimada de este
mensaje es de unos 90 bytes

0x190 0x1EA 0x1FF
90 bytes
A groso modo este es el desglose del mapa de memoria y como se usa en el programa.
Hay momentos en los que los bancos, adems de su funcin principal, se usan para otras
operaciones como la conversin de formatos de cadenas, la comparacin de llamadas entrantes,
almacenamiento temporal

Potrebbero piacerti anche