| TODO
SOBRE MEMORIAS 24/25X04
|
|
| Funcionamiento, cargadores, programas
y códigos de equipos comerciales. La serie
24X04 corresponde a memorias EEPROM de 4kbit de 512
posiciones de 8 bits cada una, con una única
fuente de alimentación que puede variar entre
1.8V y 5.5V, dependiendo de la memoria. Estos circuitos
integrados suelen utilizarse en sistemas de control
de equipos electrónicos de consumo, siendo
muy comunes en los televisores actuales. En esta nota
describimos el funcionamiento de estas memorias y
brindamos varios circuitos cargadores de distintas
características con los correspondientes programas
que permiten su manejo y más de 50 códigos
a ser grabados, correspondientes a los equipos comerciales
más utilizados en América Latina. |
|
|
Hoy en día,
la mayoría de los equipos electrónicos
de consumo que se manejan a control remoto poseen
su sistema de control en el receptor (SISCON) en
base a un microcontrolador y a memorias EEPROM donde
se aloja el “código de operación”
que es propio para cada modelo. Los técnicos
reparadores suelen encontrarse en problemas a la
hora de recibir aparatos con fallas en estas etapas,
ya sea por desconocimiento sobre el funcionamiento
de estas memorias o por no poseer el código
que se le debe grabar a un integrado cuando se lo
deba reemplazar por otro dañado. De la misma
manera, aquellos que realizan circuitos con microcontroladores,
precisan conocer dispositivos que permitan incrementar
la memoria de programa. Es por estas razones que
decidimos realizar la presente nota, que tiene por
objeto “desnudar” las memorias 24X04
y dar todas las herramientas necesarias (circuitos,
diseños PCB, programas, códigos, etc.)
para que el lector pueda trabajar con ellas sin
inconvenientes.
A lo largo del artículo iremos describiendo
diferentes programas y códigos de operación.
Todo lo relacionado con esta nota podrá
bajarlo sin inconvenientes de nuestra web: www.webelectronica.com.ar,
haciendo click en el ícono password e ingresando
la clave: memo24
Las 24/25X04 son memorias borrables, eléctricamente
programadas (EEPROM), organizadas como 2 blocks
de 256x8 bits (un total de 512 posiciones de memoria
de 8 bits cada una, o sea, 4kbit ó 512bytes).
Son manufacturadas con tecnología CMOS
de alta resistencia, que garantiza que se puedan
grabar (y borrar) más de un millón
de veces con una retención de datos de
más de 40 años. Las memorias operan
tensiones tan bajas como 1.8V (para el ST24C04R,
solamente). Se encuentran en zócalos “Plastic
Dual-in-Line” y “Plastic Small Outline”
(figura 1). Vea en la figura 2 la función
que cumple cada pata de la memoria.
Las características sobresalientes son
las siguientes:
-
1 millón de ciclos
escribir/borrar con 40 años de retención
de datos
-
Fuente de alimentación
única de: 3V a 5.5V para versiones 24x04.
2.5V a 5.5V para versiones 25x04. 1.8V a 5.5V
sólo para versiones 24C04R.
-
Control de escritura por
hardware (solamente para las versiones 24W04
y 25W04, figura 3).
-
Protección de escritura
programable.
-
Interfaz en serie de dos
cables, completamente compatible con I2C.
-
Escritura por Byte y Multibyte
(hasta 4 bytes).
-
Modos de lectura secuencia
aleatoria
-
Incrementador de direcciones
automático.
En la figura 4 se pueden ver los valores correspondientes
a los diferentes parámetros de estos dispositivos.
Las memorias son compatibles con el I2C estándar,
con dos interfaces series que utilizan un bus
de datos bidireccional y un reloj. Las memorias
emplean 4 bits del código de selección
(1010 en el caso de las 24/25X04) para la identificación
del dispositivo (la memoria) según lo establece
la definición bus I2C. Este código
de acceso se dá por medio de dos patas
de habilitación (E1, E2), de modo que los
dispositivos 4x4k puedan ser unidos al bus I2c
y seleccionados individualmente.
Las memorias se comportan como un dispositivo
auxiliar en el protocolo I2C con todas las operaciones
de memoria sincronizadas por un reloj serial.
Las operaciones de lectura y escritura son iniciadas
por la condición de START generada por
el bus maestro. La condición START es seguida
por una palabra de 7 bits (código de identificación
1010 más 2 bits de habilitación
más 1 bit de selección de block),
más un bit read/write y terminada por un
ciclo de reconocimiento (denominado Acknowladge).
En la figura 5 se puede apreciar el código
de selección de la memoria donde se observa
que los 4 bits más significativos corresponden
al código del dispositivo, los bit b2 y
b3 determinan la habilitación del chip
b1 determina el bloque seleccionado y con b0 determino
si estoy leyendo o escribiendo sobre la memoria.
Cuando escribe datos en la memoria, se debe enviar
una señal de reconocimiento (Acknouwladge)
por lo cual hace falta un bloque de 9 señales
de reloj por cada palabra. Cuando el bus lee un
dato, reconoce el byte del mismo modo (8 ciclos
para los 8 bits de datos y un ciclo para el reconocimiento
de esos 8 bits). Las transferencias de datos son
terminadas con la condición STOP.
Vea en la figura 6 la tabla correspondiente al
modo de operación de la memoria donde X
es la tensión de entrada (VIH o VIL)
Reset de Encendido: Estas memorias
poseen una protección para prevenir que
los datos sean violados durante la alimentación
del chip, debido a operaciones no deseadas. Hasta
que el Vcc no haya alcanzado el umbral mínimo
(denominado POR), la memoria se mantiene en estado
de reset, todas las operaciones están deshabilitadas
y el dispositivo no responderá a ningún
comando. De la misma manera, cuando Vcc descienda
por debajo del umbral de operación (POR),
todas las operaciones estarán deshabilitadas
y el dispositivo no responderá a ningún
comando.
La tensión Vcc debe ser estable antes
de aplicar cualquer señal lógica.
|
| |
|
Reloj
serial (SCL). El pin o pata de entrada
SCL es utilizado para sincronizar todos los datos
que entran y salen de la memoria. Se puede conectar
una resistencia de “pull-up” en la pata
SCL (vea figura 7).
Serial Data (SDA). El
pin SDA es bidireccional y es utilizado para transferir
datos dentro o fuera de la memoria. Es una salida
que puede ser unida con patas de otros dispositivos
tipo “drenaje abierto” (colector abierto).
Se debe conectar un resistor de “pull-up”
desde la línea SDA hasta Vcc.
Chip- Enable (E1- E2).
Son las patas de habilitación del chip. Aquí
se establece la condición para la selección
del chip (bits b2 y b3 del código del dispositivo,
vea la figura 5). Estas entradas pueden ser conducidas
dinámicamente o sujetadas a Vcc o Vss para
establecer el código de selección.
Según las tensiones que tenga en estas patas
será el valor que deberá colocar en
el código de selección para acceder
a ese chip.
Protect Enable (PRE).
Es una pata de entrada y opera en función
del “puntero” del bloque de direccionamiento
(b2) ubicado en la dirección de memoria 1FFh.
Este bit fija la protección contra escritura.
Mode (MODE). La
tensión en la pata 7 establece el modo de
funcionamiento y puede ser fijado en forma dinámica.
Para el modo de escritura por byte, si la pata tiene
Vih se tendrá el modo de escritura multibyte,
mientras que si la tensión es Vil, se accederá
al modo de escritura por página. Cuando está
desconectado, el modo de entrada es leído
internamente como Vih (modo Multibyte Write o escritura
multibyte).
Write Control (WC). La
característica Write Control es ofrecida
solamente para versiones 24W04 y 25W04. Esta característica
es útil para proteger los contenidos de la
memoria frente a cualquier error en el ciclo borrar/escribir.
La señal Write Control es utilizada para
habilitar (WC=Vih) o deshabilitar (WC=Vil) la protección
interna contra escritura. Cuando está desconectada
la entrada WC es internamente leída como
Vil, por lo que la memoria no está protegida
contra escritura. Tenga en cuenta que los dispositivos
que poseen la característica de “control
de escritura (WC)” no pueden operar en el
modo de escritura multibyte. |
| |
| OPERACION
DE LAS MEMORIAS |
|
Protocolo
I2C Bus
Las memorias 24/25x04 operan bajo el protocolo I2C.
Este protocolo define cualquier dispositivo que
envía información hacia el bus como
un transmisor y cualquier dispositivo que lee ese
dato como un receptor. El dispositivo que controla
la transferencia de información se denomina
“master” (maestro) y el otro como “slave”,
auxiliar o esclavo. El master siempre inicia la
transferencia de datos y provee la señal
de reloj para la sincronización.
Ahora bien, las memorias que estamos
describiendo (24/25x04) “siempre” son
dispositivos auxiliares en todas las comunicaciones.
Si mira nuevamente la tabla de la figura 6 que describe
los modos de funcionamiento de estas EEPROM verá
que existe una serie de secuencias a seguir, a continuacióin
detallaremos como se establecen estas condiciones:
Condición Start.
START es identificado por una transición
alta a baja (flanco descendiente) de la línea
SDA, mientras el reloj se encuentra en un estado
alto. La condición START debe preceder a
cualquier comando para la transferencia de datos.
La memoria no responde si no detecta la condición
de “START”, es decir que para el ciclo
de programación debe estar supervisando continuamente
las señales SDA y SCL para detectar la condición
START.
Condición Stop.
STOP es identificado por una transición
baja a alta (flanco ascendente) de la línea
SDA mientras el reloj SCL se encuentra en un estado
alto. La condición STOP termina la comunicación
entre la memoria y el bus “master”.
La condición STOP al final del comando “lectura”,
fuerza un estado de standby (espera), sólo
si se reconoce una condición de NO ACKNOLEDGE.
Dicho de otra manera, mientras no termine el pulso
ACK, la memoria se queda en estado de “espera”
(standby). La condición STOP al final del
comado “escribir”, acciona el ciclo
interno de escritura EEPROM. Las señales
correspondientes al protocolo I2C bus, que ejemplifican
lo que acabamos de ver se muestran en la figura
8.
Acknowledge Bit
(ACK). Se utiliza una señal que no es reconocida
como dato para indicar que la transferencia de datos
fue exitosa. El transmisor master o slave, liberará
el bus SDA (recuerde que bus SDA es la línea
por donde se leen o escriben los datos) luego de
enviar datos de 8 bits. Durante el noveno período
del pulso del reloj, el receptor “empujará”
el bus SDAa un estado bajo para indicar la recepción
de datos de 8 bits.
Entrada de datos. Durante
la entrada de datos el/las memorias (24X04) “fijan”
la señal SDA en el flanco ascendente de la
señal de reloj SCL. Note que para la operación
del dispositivo, la señal SDA debe ser estable
durante el estado alto de la señal de reloj
y los datos deben cambiar sólo cuando la
línea SCL esté baja (estado bajo de
la señal de reloj).
Direccionamiento de la
memoria. Para comunicar el bus master a
los slave, el master debe enviar un pulso de START.
Seguido a esto, el master envía sobre la
línea del bus SDA los 8 bits correspondientes
al código de selección (byte de direccionamiento)
del dispositivo mostrado en la figura 5, compuesto
de 7 bits de codificación y un bit de lectura
o es critura. Los 4 bits más significativos
(MSB) del código de selección (o byte
de direccionamiento) del dispositivo, tal como vimos,
corresponden a “la identificación del
dispositivo”, según lo establecido
en el protocolo I2C bus. Para estas memorias se
fija el valor 1010b. Los dos siguientes bits identifican
la memoria específica del bus.
Puedo unir todos los terminales
E1 y E2 de distintas memorias y así podré
seleccionar una entre cuatro memorias (con dos bits
puedo seleccionar 4 dispositivos). Así puedo
conectar 4 memorias de 4kbits (512 x8) en el mismo
bus otorgando una capacidad total de memoria de
16kbits (2kbytes). Luego de comenzar a funcionar
cualquier memoria, el bus identificará el
código del dispositivo y comparará
los 2 bit de habilitación mediante las entradas
E2 y E1 para saber qué memoria ha sido direccionada.
El séptimo bit enviado es
el número de bloque (un bloque = 256 bytes).
El octavo es el bit de escritura o lectura (RW),
este bit es establecido en “1” para
operaciones de lectura y en “0” para
operaciones de escritura. Si se encuentra una unión,
la memoria correspondiente reconocerá la
identificación en el bus SDA durante el ciclo
de reloj correspondiente al noveno bit (en ese ciclo
no hay dato). |
| |
|
El Modo de escritura
multibyte (Multybite Write, disponible en las memorias
24/20CO4 y ST24CO4R) queda establecido cuando la
señal MODO (pata 7) está en Vih y
el modo de escritura por página (Page Write)
se establece cuando en la pata 7 hay una tensión
baja (Vil). El nivel de la pata 7 se establece con
señales CMOS.
En una operación de escritura,
primero se establece la condición START.
Seguido de la condición START, el master
envía el código de selección
del dispositivo con el bit RWpuesto en “0”
(esto significa que luego de la condición
START deben enviarse los 8 bits correspondientes
al código de selección).
La memoria reconoce esto y espera
un byte de dirección. El byte de dirección
de 8 bits permite el acceso a un block de 256 bytes
de memoria (256 posiciones de 8 bits cada una).
Luego de recibir una dirección, el dispositivo
responde con un reconocimiento, de acuerdo con el
protocolo I2C bus.
Para las versiones 24/25W04, cualquier
comando de escritura con WC = 1 no modificará
el contenido de la memoria.
Escritura por Byte. En
el modo de escritura byte por byte (Byte Write)
el master envía datos de un byte, y cada
dato es reconocido por la memoria.
El master finaliza la transferencia
generando la condición STOP. El modo de escritura
byte por byte es independiente del estado de la
pata MODO, la tensión en esta pata puede
ser “dejada flotando” si vamos a emplear
sólo este método de escritura. De
todos modos no es una operación recomendada,
se aconseja que la pata 7 tenga un estado Vih o
Vil, para minimizar la corriente de standby. La
secuencia es la siguiente:
-
Condición de Start
-
Envío del Byte de
habilitación o de código de selección
de dispositivo (selecciona el chip y el bloque)
-
Envío del Byte de
direccionamiento (indica a dónde se escribirá
el dato)
-
Envío del Byte de
dato
-
Condición de stop
Lógicamente, luego de cada
byte (en el noveno ciclo de reloj) se establece
la condición ACK (figura 9). El diagrama
de tiempos que ejemplifica este modo de escritura
se muestra en la figura 10.
Escritura Multibyte.
Para este modo de escritura (Multybite Write o escritura
de múltiples bytes), la pata 7 debe estar
en Vih (en estado alto). El modo “Multybite
Write” puede ser puesto en funcionamiento
desde cualquier dirección en la memoria.
El master envía datos de uno a cuatro bytes
(4 palabras de 8 bits cada una), los cuales son
reconocidos por la memoria. La transferencia finaliza
cuando el master genera la condición STOP,
de acuerdo con el protocolo I2C bus (figura 8).
La duración del ciclo de
escritura es tw = 10ms máximo, excepto cuando
los bytes están en dos filas (que tienen
diferentes valores para las 6 direcciones de bits
más significativas A7-A2), en cuyo caso el
tiempo de programación es duplicado (un máximo
de 20ms). Escribir más de 4 bytes en el modo
Multibyte puede modificar los bytes o datos de una
fila adyacente (una fila tiene 8 bytes de largo).
Cabe aclarar que en el modo de
escritura de múltiples bytes se pueden escribir
hasta 8 bytes consecutivos siempre que la primer
dirección de estos bytes esté en la
primer dirección de la fila, y los 7 bytes
se escriban en los siguientes 7 bytes de la misma
fila.
En síntesis, la secuencia
que se sigue en este modo de escritura es la siguiente:
-
Condición de Start
-
Envío del Byte de
habilitación o de código de selección
de dispositivo (selecciona el chip y el bloque)
-
Envío del Byte de
direccionamiento (indica a dónde se escribirán
los datos, recuerde que son más de uno)
-
Envío de los bloques
(Bytes) de datos
Aquí también, luego
de cada byte (en el noveno ciclo de reloj) se establece
la condición ACK (figura 11).
Escritura por Página.
Para el modo de escritura por página (Page
Write), la pata 7 (MODO) debe estar en Vil. Este
modo de escritura permite escribir hasta 8 bytes
en un solo bloque de escritura (un solo ciclo de
escritura, que no debe confundirse con un solo ciclo
de reloj). Dicho de otra manera, podemos escribir
de a 8 bytes por vez, los bytes se colocan en la
misma “fila” y cada fila se direcciona
con los 5 bits más significativos (A7-A3)
y son las mismas dentro de un block.
El master envía de a uno
por vez hasta llegar a los 8 bytes de datos de una
fila, los cuales son reconocidos por la memoria.
Luego de que cada byte es transferido, el contador
de la dirección interna del byte (los 3 bits
menos significativos) se incrementa. La transferencia
finaliza cuando el master genera la condición
STOP. Debe tener cuidado para evitar que la dirección
del contador cambie, lo cual puede hacer que los
datos sean sobreescritos. Note que para cualquier
modo de escritura, el master genera la condición
STOP y comienza el ciclo interno del programa de
la memoria. Toda las entradas se encuentran deshabilitadas
hasta que el ciclo esté completo y la memoria
no responderá a ningún llamado. |
| |
| MINIMIZANDO
DEMORAS DE SISTEMAS |
|
| Durante el ciclo interno de escritura,
la memoria se desconecta del bus para copiar los datos
desde los registros internos (latches) a las celdas
de memoria. El tiempo máximo de escritura (tw)
puede ser de 10 ms ó 20 ms, tal como vimos,
pero este tiempo puede ser reducido enviando una secuencia
ACK. La secuencia durante un ciclo “interno”
de escritura es como la descripta a continuación
(figura 12):
-
Condición
Inicial: una escritura está
en progreso.
-
Paso 1:
El master produce la condición START
seguida de un byte de direccionamiento (1º
byte de la nueva instrucción) con el
bit RW en “0”.
-
Paso 2:
Si la memoria está ocupada con el ciclo
interno de escritura, no se establecerá
la condición ACK y el master vuelve al
paso 1. Si la memoria ha terminado, el ciclo
interno de escritura correspondiente al proceso
anterior responderá con un ACK, indicando
que la memoria está lista para recibir
la segunda parte de la próxima instrucción
(el primer byte de esta instrucción ya
fue enviado durante el paso 1).
|
| WRITE
PROTECTION (PROTECCION CONTRA ESCRITURA) |
|
Los datos de
las posiciones de memoria en el block superior de
256 bytes pueden ser protegidos contra escritura.
La memoria es protegida entre una
dirección definida por el usuario y la dirección
1FFh cuando la pata 1 (PRE) está en “1”
y cuando la bandera de protección (bit b2
en la localización 1FFh) está en cero,
figura 13.
La dirección desde donde
se protegen los datos contra escritura se indica
en el “puntero de dirección de block”
(Block Address Pointer).
El puntero de dirección
de block es un regitro EEPROM de 8 bits que se ubica
en la posición de memoria 1FFh. Los 5 bits
más significativos indican la dirección
desde donde serán protegidos los datos, el
siguiente bit (bit b2) será la “banderita”
que indica la protección contra escritura
en el block 1 (si b2 = 0 entonces los datos del
block 1 serán protegidos) y los dos bits
menos significativos deberán estar en “0”.
La secuencia para utilizar la protección
contra escritura es la siguiente:
- Escribir los datos a ser protegidos en la parte
superior de la memoria, hasta la ubicación
1FFh,
- Establecer la protección escribiendo
el límite inferior correcto en el indicador
de dirección (5 bits más significativos
de la posición de memoria 1FFh) con el
bit b2 (bandera de protección) colocado
en “0”.
Note que para un correcto funcionamiento
de la memoria, los 3 bits menos significativos del
bloque indicador de dirección deben ser escritos
en “0”.
El área estará protegida
cuando la pata 1 ( PRE) esté en “1”.
Mientras el pin PRE esté en “0”,
la localización de 1FFh puede ser utilizada
como un byte EEPROM normal.
Advertencia: debe prestar especial
atención cuando utiliza el modo “Write
Protect” junto con el modo Write Multibyte
(pata 7 en “1”). Si estel modo arranca
en la localización justo debajo del 1º
byte del área protegida, entonces la instrucción
escribirá sobre los primeros 3 bytes del
área protegida contra escritura. Dicha área
es por lo tanto más pequeña que la
contenida en la localización 1FFh, por 3
bytes. Esto no funcionará en “Page
Mode” mientras el contador avance y no podrá
pasar por encima del límite de 8 bytes más
bajo del área protegida. |
| |
|
Las operaciones
de lectura son independientes de la tensión
que tenga la pata 7 (MODO).
Lectura del contenido de
la dirección actual. La memoria
tiene un registro interno de un byte que le permite
“calcular” la dirección actual
de proceso. Cada vez que se lee un byte, este contador
se incrementa. Para el modo “lectura de la
dirección actual”, nosotros debemos
establecer la condición START, el master
envía el byte de habilitación o código
de selección (es decir, “alguien”
envía a la memoria a ser leída por
medio del bus SDA) con el bit RWcolocado en “1”,
lo que indica que vamos a leer. La memoria reconoce
este estado por medio de la condición ACK
(recuerde que ACK es el estado por el cual el bus
de datos permanece en cero hasta que termine el
ciclo) y “suelta” (envía) los
datos (byte) al bus SDA de la posición de
memoria indicada por el contador (registro) interno
que hemos mencionado. Este contador se incrementa,
luego el master permanece en estado de NO ACK y
por último se termina la transferencia con
la condición Stop (figura 14).
Lectura de datos de una
dirección aleatoria. En este modo
de lectura se leen los datos de una posición
que yo quiera “Imitando” un ciclo de
escritura para indicar cuál es la posición
de memoria que deseo leer. Primero el master establece
la condición de Start, luego envía
el código de habilitación con el bit
menos significativo en “0” (lo que indica
que ahora el master va a escribir la dirección
de la que quiere leer sus datos) y luego envío
el byte con la dirección que deseo leer.
Hecho esto, se establece una nueva condición
de START y se vuelve a enviar el mismo código
de habilitación que antes pero ahora con
el bit menos significativo en “1” porque
“voy a leer” los datos de la posición
que ya indiqué desde el master, acto seguido,
la memoria “libera” el contenido de
la posición de memoria indicada (por el bus
SDA se pueden leer los datos) lo que se confirma
con la condición NO ACK. El ciclo termina
con la condición Stop, tal como se puede
ver en la figura 15.
Lectura secuencial. Puedo
realizar una lectura secuencial de datos siempre
que no se establezca la condición de STOP.
Es decir, puedo leer datos de cualquiera de las
dos formas descriptas anteriormente y si no mando
la condición de Stop, luego de “soltarse”
el byte de la posición de memoria indicada,
se podrán leer los datos de la siguiente
posición de memoria y luego la siguiente
y así sucesivamente hasta que se establezca
la condición de stop (el master es quien
da la orden de stop), tal como se puede observar
en la figura 16.
Dicho de otra forma, el master
reconoce los bytes de salida de información
del byte y la memoria continúa expulsando
el próximo byte de manera secuencial. Para
terminar la salida de los bytes, el master no debe
reconocer la salida del último, pero debe
generar la condición STOP. La salida de datos
se realiza desde direcciones de bytes consecutivas,
el contador interno se incrementará luego
de cada salida de datos.
Cabe aclarar que en todos los modos
de lectura las memorias 24/25x04 “se reconocen”
durante el 9º ciclo de reloj (que correspondería
a un 9º bit que usamos para establecer la condición
ACK o NO ACK). Si el master no “maneja”
la línea SDA durante este momento, la memoria
termina la transferencia de datos y vuelve al estado
standby.
Hemos visto cómo debe predisponerse
una memoria 24/25X04 para poder escribir o leer
su memoria, para hacerlo suelen emplearse utilitarios
compuestos de un hardware (circuito que se conecta
a una computadora, donde debemos colocar la memoria)
y un software (programa que permite leer o escribir
en la memoria un archivo que tenemos en la computadora). |
| |
| CARGADOR
PORTATIL POR PUERTO SERIE SIN FUENTE |
|
De las versiones
de programadores que analizamos, ésta es
la que recomendamos por ser la que nos ha permitido
obtener los mejores resultados en todas las experiencias
que hemos realizado.
El circuito se muestra en la figura
17 y su funcionamiento es similar a lo visto para
versiones anteriores con la diferencia que las diferentes
señales para establecer el estado de lectura
y programación se obtienen del puerto serie
de una computadora.
No requiere fuente de alimentación
externa y se lo puede montar en una pequeña
placa de circuito impreso como la mostrada en la
figura 21.
Para realizar las tareas de lectura,
copia y programación se puede emplear el
programa EEPROM.exe visto para el programador de
la versión 1 (que funciona en ambiente DOS)
pero configurado para funcionar con el puerto serie.
También se puede emplear
el ICPROG (vea Saber Electrónica Nº
200) o el PONY PROG. Cabe aclarar que el PCB de
este proyecto, los programas, la explicación
de uso y demás elementos los puede bajar
de nuestra web con la clave “memo24”;
toda la información se encuentra en el archivo
pony.zip.
Si Ud. desea montar un programador
perfectamente portátil, puede armar este
circuito directamente en un conector DB9 (vea la
figura 18) de forma tal que luego pueda conectarlo
directamente al puerto serie de una computadora
(figura 19). El armado no es muy complicado, sólo
deberá tener cuidado de que no se toquen
los terminales de los diferentes componentes para
evitar cortocircuitos, teniendo en cuenta que tanto
el zócalo como el led deben ser colocados
en la carcaza del conector, para lo cual deberá
realizar las perforaciones necesarias con algún
elemento contundente (puede ser un cuchillo en desuso)
calentado previamente.
En la fotografía de la figura
18 se puede visualizar un detalle del programador
armado en el conector. Los diodos zener no se pueden
ver porque están conectados directamente
sobre las patas del zócalo y encima hay un
pequeño aislante para poder colocar el resto
de los componentes.
Tenga en cuenta que si Ud. desea
este cargador ya armado, lo puede conseguir en diferentes
casas del gremio por precios que oscilan en los
$35. Editorial Quark le ofrece este programador
junto con un manual de datos y un CD con abundante
información, todos los programas vistos en
esta nota, varios ejemplos, un curso de microcontroladores
y memorias y más de 100 códigos de
equipos comerciales (todo por $35). |
| |
De
la redacción de Saber Electrónica |
|
|
|
|