Vous êtes sur la page 1sur 9

Los rebotes son de sobra conocidos por todos aquellos que estn iniciados

en la electrnica digital. Son producidos por los elementos electromecnicos


conectados a un circuito lgico, los cuales causan que este funcione mal al
ser pulsados, ya que estos provocan un tren de pulsos debido a los rebotes
que provocan las partes mviles al tomar contacto con las fijas.
Hardware para evitar rebotes
Existen varias soluciones, segn utilicemos entradas de nivel alto o de
nivel bajo. Pero todas tienen en comn una resistencia de Pull-Up (o de PullDown) y un condensador de unos 100nF que absorber cualquier
interferencia y/o rebote en la lnea de entrada. En la figura siguiente se
muestran distintas configuraciones para evitar los rebotes, una con el
condensador a masa, y la otra con el condensador a Vcc. En ciertas
ocasiones es normal situar una resistencia de unos 270 ohmios a 1K, entre
el circuito y la patilla del PIC.

Si bien usando resistencias de pull-up, podemos salvar estas situaciones,


hemos de tener presente que todas las lneas del puerto B disponen de
estas resistencias, por lo cual no ser necesario aadirlas, ya que estn
implementadas. Para activarlas basta con poner a cero el bit RBPU del
registro OPTION.

Software para evitar rebotes

Ms que para evitar los rebotes, esta aplicacin se usa para no pasar de
instruccin sin antes haber soltado el pulsador, ya que no somos tan rpidos
como para que la entrada est a nivel bajo antes de una supuesta
comprobacin del mismo bit. La solucin est en quedarnos bloqueados en
otro bucle hasta que hayamos liberado el pulsador.

BUCLE
pulsador
ESPERAR BTFSC
soltarlo

BTFSS
GOTO

PORTA,1 ; bucle infinito


BUCLE
; mientras no activemos el

PORTA,1 ; una vez que lo hayamos pulsado y salido


GOTO
ESPERAR ; entramos en otro bucle a esperar a

BSF
encendemos un led

PORTA,0 ; una vez liberado, por ejemplo

Materiales
(3) tres 7 segmentos
(3) tres pulsadores normalmente abiertos
12 leds
PORT( x ), TRIS( x ), ANSEL, ANSELH, Analogico, digital, I/O, bancos, on, off,

Como activar la opcin de MCLR en el PIC.


En los uC PIC existe un pin llamado Master CleaR (MCLR) que cumple 3
funciones especiales, 1.- si se coloca a GND el micro en cuestin entra en
modo RESET, esto significa que el uC PIC no est operativo. 2.- si se coloca a
VDD el micro entra en modo operativo y cumple las funciones de correr el
firmware grabado. 3.- si se coloca a VPP el micro entra en modo de
programacin y cumple funciones de edicin de la memoria FLASH, donde
podemos leer, grabar y borrar la memoria donde se alojar el firmware
(igual ocurre con los datos de la memoria EEPROM). con estas opciones
disponibles, hay que procurar acondicionar el pin MCLR para que en dado
momento, podamos activar cualquiera de las 3 opciones, y ms si tenemos
un hardware construido sin tener que desmontar nada. (En el caso de
programar el uC-PIC con el modo de Programacin Serial en Circuito - ICSP)

-VPP es la tensin proveniente del conector ICSP.cuando se va programar el


uC-PIC mediante el modo ICSP, al pin MCLR entra el voltaje VPP. Activando el
modo de programacin del uC-PIC, si hay voltaje VPP, entonces hay mayor
potencial en el ctodo respecto al nodo del diodo, haciendo que D1 deje de
conducir e impidiendo que el potencial VDD llegue a VPP en el caso que no
haya VPP, entonces hay menor potencial en el ctodo del diodo D1 respecto
al nodo, haciendo que D1 conduzca (el uC-PIC entra en modo operativo.
-Al presionar el PULSADOR, el pin MCLR cae a voltaje cercano a GND (el uCPIC entra en modo reset), incluso si hay VDD. Nota: existe la condicin de
que haya voltaje VPP y se presione el PULSADOR, en cuyo caso no lo he
probado y no conozco las consecuencias que puedan acarrear; por lo que se
recomienda no aplicar esta condicin.
-Las resistencias cumplen la funcin de limitar la corriente y suprimir picos
de amplitud producidos por ruidos transitorios.
-El diodo permite la circulacin de corriente en un sentido, esto permite que
el pin MCLR pueda tener las tensiones VDD y VPP al mismo tiempo sin
alterar la alimentacin de VDD (la corriente solo circula de VDD hacia
MCLR).
ICSP ofrece la posibilidad de programar un microcontrolador en un circuito
de aplicacin. Esto es especialmente ventajoso en mbitos educativos o de
desarrollo, donde es necesario pasar repetidamente de programar el PIC a
testear el circuito, y viceversa. Adems de ahorrar tiempo, ICSP evita
riesgos al mover el PIC entre zcalos distintos como torcer los pines o
"atormentar" el PIC por descargas electroestticas .
Para poder usar ICSP, el circuito no debe distorsionar las seales de
programacin, ni las seales de programacin deberan afectar el circuito.
Las condiciones principales para programar un PIC son:
1.
El voltaje de programacin Vpp aplicado a /MCLR debe cambiar entre
cero y 13 voltios en pocos microsegundos.
2.
Las seales de reloj y de datos deben alcanzar los niveles extremos
(Vdd o GND) en menos de un microsegundo.
3.
Algunos PIC usan un pin (RB3 o RB4) como seal PGM para el modo
LVP (Low Voltage Programming). Este pin debe permanecer en Low durante
la programacin.
4.
Algunos PIC requieren que el voltaje de programacin Vpp se aplique
antes del voltaje operativo Vdd. En este caso Vdd debe ser controlado por el
mdulo de programacin.

La manera ms simple de satisfacer las dos primeras condiciones es no usar


los pines correspondientes para el circuito de aplicacin. Si se quiere usar el
depurador, esto es incluso una necesidad.
Recomendaciones:

Nunca conectar circuitos activos al pin /MCLR.

Si /MCLR es usado para resetear el PIC, debera conectarse un resistor


ms grande de 56k entre /MCLR y Vdd. Se puede combinar con un
capacitor pequeo de menos de 100 pF conectado a GND (Vss).

No debe haber ninguna carga inductiva o capacitiva en los pines de


las seales de programacin. Se puede conectar un circuito de alta
impedancia (>10k), p.ej., una clave.

Cuando el voltaje operativo Vdd est controlado por el mdulo de


programacin, eventualmente se debe aislar el pin Vdd del PIC, del resto del
circuito de aplicacin durante la programacin. Este puede ser el caso, por
ejemplo, cuando el circuito de aplicacin

contiene su propia regulacin de voltaje para Vdd,

posee un capacitor grande de desacople, que el mdulo de


programacin no puede cargar lo suficientemente rpido,

est diseado para un voltaje operativo de 3,3V y el PIC necesita por


lo menos 4,5V para la programacin.
En lugar de un aislamiento completo, posiblemente se pueda usar tambin
un diodo Schottky.

Para mantener el pin PGM en Low durante la programacin,


conectarlo con un resistor de aprox. 2,2k a 10k a GND.

Siempre activar el "Power-Up Timer" en la palabra de configuracin,


porque produce un retardo de ms de 40ms que da suficiente tiempo para
alcanzar un Vdd estable antes del inicio de cualquier operacin en el PIC, y
evita la ejecucin no deseada del programa antes de entrar en el modo de
programacin.

Durante la programacin, los dems pines de puertos permanecen en


el modo de entrada, es decir, tienen una impedancia muy alta. El circuito de
aplicacin debe tolerar este estado y permanecer lo ms inactivo posible.
Para evitar "efectos colaterales" no deseados se pueden poner resistores a
Vdd o GND.

Para poder re-programar un PIC con un Vdd inferior a 4,5V, la


memoria no debe estar protegida, ya que el "Chip Erase" que es la nica
manera de remover la proteccin de cdigo o datos requiere de un Vdd
superior a 4,5V en casi todos los PIC.

In-circuit Serial Programming (ICSP)


Por termina
Introduccin
Este tema trata sobre como realizar el diseo de los circuitos de aplicacin
con PIC programados mediante ICSP (in-circuit serial programming) por el
modo de programacin estndar (no de baja tensin LVP). La mayor parte
de la informacin que se muestra aqu es generica y aplicable
independientemente del tipo de programador utilizado. Cuando sean
relevantes se mencionarn aspectos especficos de programadores ICSP.

Recordemos (programar PIC) que un programador ICSP conecta el PIC


mientras est conectado en el circuito de aplicacin. Pero debido a la
variedad de conexiones que puede presentar el PIC con el resto de
componentes en el circuito de aplicacin es necesario tener en cuenta
algunos aspectos para que el programador ICSP pueda trabajar
correctamente. Algunos montajes no permiten la programacin ICSP.
El propsito pues de este tema es ayudar en el diseo de esquemas con PIC
que cumplan con las condiciones impuestas en el circuito para permitir su
programacin ICSP.
La comunicacin ICSP requiere cinco seales (ver Programar PIC para mas
informacin):
1- VPP: Tensin de programacin.
2- VDD: Alimentacin positiva.
3- VSS: Alimentacin negativa
4- ICSPDAT / PGD / DATA: Datos.
5- ICSPCLK / PGC / CK: Reloj.

Consideraciones de diseo para los circuitos con capacidad ICSP


A continuacin se detallan algunas consideraciones a tener en cuenta en el
diseo de un circuito para ICSP.
Pines de programacin dedicados
Es necesario aislar del circuito a los pines CK y DATA para prevenir que las
seales de programacin sean afectadas por el propio circuito de aplicacin.
CK es una lnea de reloj unidireccional sncronica serie desde el programador
al microcontrolador. DATA es una lnea bidireccional sncronica serie de
datos de programacin.

Si es posible, conviene dedicar el reloj de programacin y la patilla de datos


solamente para ICSP.
No obstante si tambin debemos utilizar estos pines para fines distintos en
el circuito, debemos pensar bien que tipo de hardware conectar. El mejor de
los casos es utilizar las patillas de programacin para pulsadores
normalmente abiertos. Siempre y cuando no se opriman los botones durante
la programacin, nada afectar a la programacin.
Si se conectan cargas a CK y DATA, estas no deben interactuar con el reloj y
las seales de datos. Las cargas capacitivas causarn problemas. Las cargas
de alta impedancia, por lo general, irn bien. La conexin de LEDs con
resistencias limitadoras de corriente son menos deseables, pero
normalmente no causan problemas.
En definitiva disearemos el circuito de tal manera que no se altere el nivel
de seal en CK y DATA. Por ejemplo utilizando resistencias en serie para
aislar las seales ICSP del circuito de aplicacin.
Pin Vpp/MCLR
El pin MCLR en el PIC se pone a unos 13V durante la programacin. Esto
plantea dos problemas. El primero es que nuestro circuito debe permitir en
este pin la aplicacin de los 13V. Por tanto no se puede conectar este pin
directamente a la lnea de Vdd. El segundo problema es que el resto del
circuito debe estar protegido de esta tensin. Los 13V en el pin MCLR
podran poner en peligro otros componentes en la placa.
Veamos distintas soluciones:
Si el pin Vpp es utilizado como reset (MCLR):
El circuito de aplicacin es conectado tpicamente a una resistencia y un
condensador pull up, tal como se recomienda en las especificaciones (data
sheet) del microcontrolador. Hay que tener la precaucin de que el circuito

asociado no baje la velocidad y exceda el tiempo de elevacin de Vpp. Si se


coloca un botn para el pin MCLR, se recomienda que los mismos sean
aislados del voltaje Vpp mediante el empleo de un diodo o una resistencia
limitante.
Si el pin Vpp es utilizado como un pin de puerto I/O:
El circuito de aplicacin que conecta al pin I/O quizs no est habilitado para
manejar el voltaje de +12V. Se recomienda utilizar un diodo o una
resistencia limitante, para aislar el circuito.
Deshabilitar la programacin a baja tensin
En los microcontroladores PIC con capacidad de programacin a bajo voltaje
LVP, configurar esta funcin como LVP = off en los registros de
configuracin. En su defecto es necesario conectar el pin PGM hacia Vss
para evitar errores en la programacin.

Como antes se ha dicho, en este tema se trata la programacin estndar (a


13V) y no la programacin de baja tensin. Por ello debe ser siempre
deshabilitada en los ajustes de configuracin. Usaremos una resistencia de
1 a 100K para tirar a masa la patilla PGM en el diseo de un circuito para
ICSP. (Ver programar PIC)
Alimentacin durante la programacin
Durante la programacin ICSP es necesario que el microcontrolador sea
conectado de acuerdo a la especificacin del mismo. Tpicamente, la
alimentacin del microcontrolador se conecta al suministro de alimentacin
del circuito de aplicacin. La aplicacin tambin puede ser alimentada por el
programador siempre y cuando se tenga en cuenta lo siguiente.
La corriente de alimentacin que suministran algunos programadores es
limitada. No se recomienda utilizar esta alimentacin si el consumo de la
aplicacin supera unos pocos miliamperios. As por ejemplo en los
programadores basados en JDM la corriente viene dada por el puerto serie
del PC cuya capacidad es limitada.
Cuando el programador suministra el voltaje Vdd al circuito y solo lo aplica
durante el proceso de programacin debemos asegurarnos de que el
condensador o los condensadores conectados entre Vdd y Vss de la
aplicacin no retarden el tiempo de subida de Vdd. En estos casos es
recomendable utilizar el suministro de tensin de la aplicacin o un
suministro constante desde el programador.
Siempre debemos conectar todas las patillas de alimentacin disponibles en
el PIC a positivo o a negativo, segn corresponda. Muchos dispositivos PIC
tienen patillas etiquetadas como Vdd, Vss, AVdd y AVSS. Si alguna de estas
patillas se deja desconectada pueden darse errores de programacin. Esto

se aplica a las patillas analgicas, incluso aunque no tengamos pensado


utilizar las funciones analgicas.
Los programadores basados en JDM utilizan una tierra flotante que
provocar problemas si el circuito donde esta el PIC est tambin conectado
a tierra.
Para no provocar daos debemos tenerlo en cuenta y desconectar la tierra o
la alimentacin de la aplicacin mientras se programa.
Ante posibles descuidos, una solucin es utilizar el mismo conector para la
alimentacin normal de la aplicacin y para la programacin. Esto obliga a
desconectar la alimentacin para programar el PIC. Esta solucin slo es
vlida si el consumo de la aplicacin durante la programacin es bajo.
De todas maneras, normalmente la aplicacin se alimentar mediante un
F.A. aislada de tierra y no aparecern problemas.
Suministro normal de energa
Para la conexin de +5V a los pines Vdd del PIC podemos utilizar el
suministro normal de energa del circuito. El conector ICSP de los
programadores suele incorporar un pin de 5V que puede ser utilizado, pero
slo si el circuito no consume demasiada corriente, de lo contrario
probablemente se producirn errores durante la programacin, y es posible
que se dae el programador.
Si se alimenta el PIC con la alimentacion de la placa y no con la del
programador debera dejarse desconectada del PIC la alimentacion Vdd del
programador.
Desacoplo
Debemos utilizar condensadores de desacoplo entre Vdd y Vss. Esta es una
buena prctica en cualquier caso, pero es especialmente importante para
ICSP. Un nico condensador de 0.1uF es el mnimo recomendado, aunque
suelen colocarse mas.
Longitud de los cables
Debemos minimizar la longitud del cable entre el programador y del circuito
de aplicacin.
Debemos tambin minimizar la distancia que deben recorrer las seales
ICSP en el circuito de aplicacin colocando el conector de ICSP tan cerca
como sea posible del PIC.
El objetivo es mantener las seales ICSP dentro del nivel
especificaciones adecuados para que la programacin sea exitosa.
Esquemas

las

Para la programacin in-circuit, el circuito de aplicacin debe estar


diseado para permitir que todas las seales de programacin se conecten
al microcontrolador sin que las mismas se distorsionen. A continuacin se
muestran algunos esquemas punto de partida para disear circuitos de
aplicacin para ICSP.

Vous aimerez peut-être aussi