Comentario técnico: CTC-001
Título: Migración de PIC 16F87x a 16F87xA
Comentamos acerca de cómo migrar aplicaciones basadas en PIC 16F87x a 16F87xA, incluímos diferencias
de software, hardware y soporte de programación.
El 16F87xA es funcionalmente equivalente al 16F87x, con el agregado de un módulo comparador y algunas
menores diferencias en las especificaciones. Su precio es menor y existe una única versión de 20MHz, que
cubre todo el rango de operación (de 0 a 20MHz), hallándose disponible en rangos de temperatura comercial e
industrial, como el anterior.
Hardware
El PIC 16F87xA es compatible pin a pin con el 16F87x, no debería ser necesario realizar modificaciones en
el hardware que hoy usa F87x para que funcione con F87xA. Si bien este último incorpora un par de
comparadores con referencia de tensión interna programable que comparten los pines con el conversor
Comentario técnico: CTC-002
Título: Migración de PIC 12C508,509,CE518,CE519 a 12F629
Comentamos acerca de cómo migrar aplicaciones basadas en la familia PIC12C5xx a PIC12F629, incluímos
diferencias de software, hardware y soporte de programación.
La familia 12C5xx está compuesta por dispositivos de 8 pines de 4MHz con 25 ó 41 bytes de RAM, 5 I/O + 1
entrada, 512 ó 1024 words de EPROM de programa, timer, y los CE51x con 16 bytes de EEPROM.
Proponemos migrar a PIC12F629, con 1K flash de programa, 64 bytes RAM, 128 bytes EEPROM, 2 timers y
operación hasta 20MHz.
Hardware
El PIC 12F629 es compatible pin a pin con los 12C5xx, no debería ser necesario realizar modificaciones en el
hardware que hoy usa 12C5xx para que funcione con 12F629. No obstante, incorpora una serie de
características nuevas que deberán ser tenidos en cuenta dado que algunos módulos comparten los pines para
Comentario técnico: CTC-003
Título: Dynamic C versión 8
Comentamos acerca de las novedades que encontramos en la versión 8 de Dynamic C.
Las mejoras en esta versión se han centrado en la interfaz con el usuario, particularmente el nuevo editor, y
mayormente en lo relativo a debugging, facilidad de uso y asistencia on-line. En otras áreas, DC8 aporta
archivos de listado, compresión de archivos al momento de compilado, descompresión en ejecución, y otras
mejoras para generar código más compacto.
Interfaz con el usuario
El editor es completamente nuevo, las características sobresalientes son:
Sintaxis resaltada: keywords, números, funciones y comentarios cada uno en un color diferente.
Templates: rápida inserción de porciones de código o comentarios de uso frecuente.
grep: similar a la conocida función de Unix, permite buscar expresiones en varios archivos a la vez.
Comentario técnico: CTC-004
Título: Goal Semiconductor, VERSA series
Comentamos acerca de la línea VERSA de Goal Semiconductor, una familia de microcontroladores de 8 bits
compatibles con la arquitectura MCS51 de Intel, que incorpora novedades sumamente útiles en desarrollos
industriales como fuente de corriente constante controlable y otras orientadas a procesamiento digital de
señales (DSP) como multiplicador por hardware con acumulador (MAC).
Además de aprovechar todo el soporte y base de conocimientos de MCS51, Goal ofrece además un
compilador C con entorno de desarrollo integrado (IDE) que soporta específicamente los chips de la familia,
con una interesante y amigable interfaz de programación y debugging.
La familia de microcontroladores VERSA
Se trata de chips que son, básicamente, clones del conocido 80C52, siendo reemplazos compatibles pin a pin
pero con memoria flash. Su arquitectura es similar a la del 80C52, operando a 12 clocks por instrucción, por
Comentario técnico: CTC-005
Título: Migración de PIC 16F84(A) a 16F627
Comentamos acerca de cómo migrar aplicaciones basadas en PIC16F84 y 16F84A a PIC16F627, con vistas al
Los PIC16F84 son dispositivos de 18 pines de 4 ó 10MHz (20MHz la versión A) con 68 bytes de RAM, 13
I/O, 1024 words de flash de programa, timer, y 64 bytes de EEPROM. Proponemos migrar a PIC16F627, con
Hardware
El PIC 16F627 es compatible pin a pin con los 16F84, no debería ser necesario realizar modificaciones en el
hardware que hoy usa 16F84 para que funcione con 16F627. No obstante, incorpora una serie de características
nuevas que deberán ser tenidas en cuenta dado que algunos módulos comparten los pines para su conexión con
el mundo exterior.
Las nuevas características son:
USART
Comentario técnico: CTC-006
Título: Migración de PIC 16C71x a 16F818
Comentamos acerca de cómo migrar aplicaciones basadas en PIC16C71x a PIC16F818; incluímos diferencias
de software, hardware y soporte de programación.
Los PIC16C71x (71,710,711) son dispositivos de 18 pines de 4, 10 y 20MHz con 32 ó 68 bytes de RAM, 13
I/O, 512 ó 1024 words de flash de programa, timer, y conversor A/D de 8 bits. Proponemos migrar a
PIC16F818, con 1K flash de programa, 128 bytes RAM, 128 bytes EEPROM, 3 timers, conversor A/D de 10
bits, y operación hasta 20MHz.
Hardware
El PIC 16F818 es compatible pin a pin con la familia 16C71x, no debería ser necesario realizar
modificaciones en el hardware que hoy usa 16C71x para que funcione con 16F818. No obstante, incorpora una
serie de características nuevas que deberán ser tenidas en cuenta dado que algunos módulos comparten los
Comentario técnico: CTC-007
Título: Migración de PIC 16C7x a 16F7x
Comentamos acerca de cómo migrar aplicaciones basadas en la familia PIC16C7x a PIC16F7x, incluímos
diferencias de software, hardware y soporte de programación.
La familia 16C7x está compuesta por dispositivos de 28 y 40 pines de 4 a 20MHz. Proponemos migrar a
PIC16F7x, con similares prestaciones pero memoria flash de programa, con posibilidad de lectura, y operación
hasta 20MHz.
Hardware
El PIC 16F7x es compatible pin a pin con los 16C7x, no debería ser
necesario realizar modificaciones en el hardware que hoy usa 16C7x para
que funcione con 16F7x, a excepción de una pequeña modificación que
describimos a continuación:
Comentamos acerca de la nueva revisión de Rabbit 3000, conocido como Rabbit 3000A. El documento cubre
las principales diferencias y mejoras de estos procesadores con respecto al Rabbit 3000 original, por lo que se
recomienda la lectura del tutorial sobre Rabbit 3000 (CTU-003), y tal vez Rabbit 2000 (CTU-002),
dependiendo del grado de conocimientos previos sobre la familia Rabbit.
¡ ¢ £ ¤ ¥ ¢ ¥ ¤ ¦ ¡ § ¥ ¡ £ ¢ ¦
¡ ¢ £ ¤ ¥ ¢ ¥ ¤ ¦ ¡ § ¥ ¡ £ ¢ ¦
¡ ¢ £ ¤ ¥ ¢ ¥ ¤ ¦ ¡ § ¥ ¡ £ ¢ ¦
¡ ¢ £ ¤ ¥ ¢ ¥ ¤ ¦ ¡ § ¥ ¡ £ ¢ ¦
Introducción....................................................................................................................................................1
Mejoras y diferencias.......................................................................................................................................1
Comentario técnico: CTC-009
Título: Migración de PIC 16C54 y 56 a 16F630
Comentamos acerca de cómo migrar aplicaciones basadas en la familia PIC16C5x a PIC16F630, incluímos
diferencias de software, hardware y soporte de programación.
La familia 16C5x está compuesta por dispositivos de 18 y 28 pines. Los PIC 16C54 y 16C56 son dispositivos
de 18 pines de 4, 10 ó 20MHz con 25 bytes de RAM, 12 I/O, 512 ó 1024 words de EPROM de programa, y
timer. Proponemos migrar a PIC16F630, con iguales o mejores prestaciones en un encapsulado mucho más
pequeño: 14 pines, 12 I/O, 1K flash de programa, 64 bytes RAM, 128 bytes EEPROM, 2 timers, y operación
hasta 20MHz.
Hardware
El PIC 16F630 se presenta en un encapsulado más pequeño que el que utilizan los 16C54 y 56, por lo que
deberá rediseñarse el hardware. No obstante, incorpora una serie de características nuevas que seguramente
Comentario técnico: CTC-010
Título: Migración de PIC 16C55 y 57 a 16F73
Comentamos acerca de cómo migrar aplicaciones basadas en la familia PIC16C5x a PIC16F73, incluímos
diferencias de software, hardware y soporte de programación.
La familia 16C5x está compuesta por dispositivos de 18 y 28 pines. Los PIC 16C55 y 16C57 son dispositivos
de 28 pines de 4, 10 ó 20MHz con 24 ó 72 bytes de RAM, 20 I/O, 512 ó 2048 words de EPROM de programa,
y timer. Proponemos migrar a PIC16F73, con mejores prestaciones en encapsulado equivalente, 22 I/O, 4K
flash de programa, 192 bytes de RAM, 3 timers, y operación hasta 20MHz.
Hardware
El PIC 16F73 se presenta en un encapsulado equivalente, pero la disposición de los pines es diferente a la de
los PIC 16C55 y 57, por lo que deberá rediseñarse el hardware. No obstante, incorpora una serie de
características nuevas que seguramente encontrará provechosas para su aplicación. Éstas deberán ser tenidas
Comentario técnico: CTC-011
Título: Migración de PIC 16F62x a 16F62xA
Comentamos acerca de cómo migrar aplicaciones basadas en PIC16F62x a PIC16F62xA; incluímos
diferencias de software, hardware y soporte de programación.
Hardware
El PIC 16F62xA es compatible pin a pin con los 16F62x, no debería ser necesario realizar modificaciones en
el hardware que hoy usa 16F62x para que funcione con 16F62xA. No obstante, incorpora una serie de
características diferentes que deberán ser tenidas en cuenta, dado que algunas opciones no son directamente
equivalentes.
Las nuevas características y diferencias son:
Oscilador ER pasa a RC: deberá agregarse un capacitor externo si usa este oscilador.
Comentario técnico: CTC-012
Título: Actualización de PICStart Plus
Los nuevos dispositivos de la línea PIC generalmente utilizan nuevos algoritmos de programación. Estos
algoritmos serán incluídos más tarde en nuevas versiones, actualizaciones del firmware del PICStart Plus,
incluídas en nuevas versiones del MPLAB IDE. Este comentario le indica cómo actualizar el firmware de su
PICStart Plus.
Antes de empezar
Determine la revisión de hardware de su PICStart Plus. La misma se encuentra codificada en el número de
serie del equipo. Busque la etiqueta que contiene el número de serie y observe el o los dígitos a continuación
del '-R'.
Si su PICStart Plus es revisión 20 o superior, simplemente realice el upgrade por software del firmware
desde el MPLAB.
Comentario técnico: CTC-013
Título: Operación e inicialización del HT1380
El chip HT1380, de Holtek, presenta unas particularidades en cuanto a su manejo. Si bien está correctamente
descripto en la hoja de datos, no resulta simple comprenderlo a primera vista.
El oscilador de 32768Hz no arranca hasta tanto el chip haya sido correctamente inicializado, reseteando los
flags WP (write protect) y CH (clock halt)
El oscilador demora hasta tres segundos en estabilizarse.
El pin SCLK debe estar en estado lógico bajo al subir el pin REST.
El pin I/O es normalmente una entrada, y se autoconfigura como salida al flanco descendente de SCLK del
último bit de la palabra de comando.
Al inicializar el host, deberemos configurar los pines SCLK y REST como salidas, y dejarlas a nivel lógico 0.
El pin I/O podemos configurarlo inicialmente como entrada.
Alerta técnico: CTC-014
Componente: Utilización de módulos de RF
Los módulos transmisores de RF comercializados por Cika, en su mayoría, utilizan un esquema de
modulación ASK (Amplitude Shift Keying). Esto les confiere ciertas particularidades propias del esquema de
modulación y de su forma de detección, que deberán ser tenidas en cuenta por aquellos que diseñen su propio
sistema de codificación y decodificación, o de comunicaciones.
En el esquema de modulación ASK, las señales de datos ocasionan que la amplitud de la portadora varíe entre
dos estados. Generalmente, se utiliza lo que se conoce como OOSK u OOK (On-Off Shift Keying u On-Off
Keying), que consiste en transmitir portadora ante un estado lógico y anularla en el otro.
Los módulos receptores, en su mayoría, suelen ser circuitos super-regenerativos, con un detector de umbral a
la salida. Un receptor de este tipo presenta un ruido a la salida bastante importante, en ausencia de señal. El
detector trata de ajustar el umbral automáticamente, y en ausencia de portadora se ajustará al valor medio de
Los módulos Rabbit originales incluían la primera versión del microprocesador Rabbit 2000, y una memoria
flash con sectores de tamaño menor a 4Kbytes (small sector).
Debido a cambios y avances tecnológicos, los nuevos módulos (al momento de escribirse este comentario)
incorporan la última revisión del microprocesador: Rabbit 2000C, y las memorias flash con mejor relación
costo-beneficio del momento; siendo altamente probable que las mismas sean del tipo "large sector", es decir,
con sectores de más de 4Kbytes. Este tipo de memorias no era soportado por versiones de DC anteriores a la
Estos cambios afectan fundamentalemente a aquellos usuarios que realizan producción con desarrollos
realizados sobre los módulos originales, y no han realizado upgrades; particularmente si el código escribe en la
flash. Los nuevos procesadores y fundamentalmente los nuevos chips de memoria flash están soportados en las
últimas versiones actualizables de Dynamic C, las cuales puede obtener sin cargo de la página web de Rabbit.
Comentario técnico: CTC-016
Título: PICStart Plus Processor Upgrade Kit
Los nuevos dispositivos de la línea PIC generalmente utilizan nuevos algoritmos de programación. Estos
algoritmos serán incluídos más tarde en nuevas versiones, actualizaciones del firmware del PICStart Plus,
incluídas en nuevas versiones del MPLAB IDE. Este comentario le indica cómo actualizar el firmware de su
PICStart Plus, instalando el PICStart Plus Processor Upgrade Kit.
IMPORTANTE
Esta es una actualización que reemplaza el procesador 17C44 del PICStart Plus por un módulo
conteniendo un procesador con memoria flash, de modo que las futuras actualizaciones podrán hacerse
directamente por la conexión a su computadora.
Antes de empezar
Determine la revisión de hardware de su PICStart Plus. La misma se encuentra codificada en el número de
Comentario técnico: CTC-017
Título: Upgrades de Dynamic C
Las nuevas versiones de Dynamic C suelen venir acompañadas de cambios en las bibliotecas de funciones
(libraries). Estos cambios pueden ser simplemente cosméticos (cambios en comentarios, puntuación,
legibilidad) o funcionales. Algunos de estos cambios funcionales, suelen incluir el hacer no bloqueante (non-
blocking) una función que sí lo era. En este caso, el programa principal recibirá el control antes de lo previsto,
y a menos que se realicen modificaciones no funcionará.
Por consiguiente, al migrar a una versión más moderna del compilador (y esto debería en realidad hacerse
con cualquier compilador) se deberá chequear exhaustivamente el funcionamiento del código, leer correcta
y detenidamente las notas que trae (release notes), el encabezado de ayuda de la función que nos está
trayendo problemas, para realizar las modificaciones pertinentes, y fundamentalmente los ejemplos de uso en
el directorio "samples" .
La mayoría de los productos vendidos en los Estados Unidos deben tener la aprobación CE (llevan una
etiqueta). Los productos de Z-World están orientados principalmente a ser componentes de un sistema de
control, pero algunos pueden ser empleados como "aparato" independiente, dependiendo de la aplicación. La
mayoría de estos productos tienen, o están en vías de tener, una certificación CE. Se prueban los productos de
acuerdo a requerimientos de emisión e inmunidad. Los criterios de emisión aseguran que el producto no
interfiera a otros electrónicos en la vecindad; mientras que los criterios de inmunidad aseguran que el producto
no falle debido a la presencia de otros electrónicos cerca. El concepto de "cerca" y los límites, dependen de si
el rango especificado es para uso comercial, industrial, etc.
Los core modules se consideran componentes a incluír en un equipo final, por lo tanto la prueba de
compatibilidad electromagnética (CE/EMC) debe ser realizada por el integrador
Comentario técnico: CTC-019
Título: Modificación del BIOS en Dynamic C 8 para usar FS2 en una flash
Si su módulo tiene una sola flash, y su programa necesita escribir en flash, utilizando el Flash File System
para la versión FS2, muy probablemente tenga que modificar el BIOS, reservando un espacio en flash para
alojar el File System. La documentación necesaria está en las mismas bibliotecas de funciones y en la ayuda
on-line. No obstante, daremos aquí un par de pequeños ejemplos.
Comenzamos por uno muy simple, por ejemplo, uno de los programas de muestra que acompañan al
RCM2200: console.c. Más allá de la utilidad y aplicaciones de zconsole.lib, que no nos interesa en este
ejemplo, nos enfocaremos en las modificaciones necesarias para compilar y correr este ejemplo, que bien puede
ser equivalente a cualquier otro sistema desarrollado por el usuario que haga uso del FS2:
De samples\rcm2200\console.c:
Since the RCM2200 has a single flash, then the filesystem must
Comentario técnico: CTC-020
Título: Modificación del BIOS en Dynamic C 8 para código en dos flash
Si su módulo tiene dos chips de memoria flash, y su programa crece lo suficiente, muy probablemente tenga
que modificar el BIOS, permitiendo que Dynamic C utilice el segundo chip para código, en vez de reservarlo
para alojar el Flash File System; un ejemplo de módulo con dos chips de flash es el RCM2100. La
documentación necesaria está en la misma BIOS, no obstante, daremos aquí un pequeño ejemplo.
En Bios\Rabbitbios.c:
//***** Memory mapping information ************************************
//#define USE_2NDFLASH_CODE // Uncomment this only if you have a
// a board with 2 256K flashes, and you
// want to use the second flash for extra
// code space. The file system is not
Comentario técnico: CTC-021
Título: Conexión y operación de PICStart Plus
Los dispositivos de la línea PIC utilizan diversos algoritmos de programación. Estos algoritmos están
alojados en el firmware del PICStart Plus, el dispositivo que los programa. El mismo se conecta a una PC
mediante un port serie, y es controlado mediante el MPLAB IDE, el entorno de desarrollo integrado de
Microchip. Sin ánimo de reemplazar el manual del usuario del PICStart Plus, este comentario le indica cómo
conectar y operar su PICStart Plus.
Para cualquier otra consulta o duda, remítase al PICStart Plus User Manual, disponible en la página web de
Microchip en la sección Development Tools, subsección Development Programmers.
Conexión del PICStart Plus a su PC
Power) y encienda la PC.
Operación del PICStart Plus desde su PC
Comentario técnico: CTC-022
Componente: Controladores de display LCD alfanuméricos
Los displays LCD inteligentes de tipo alfanumérico tienen, en su gran mayoría, controladores compatibles
con el HD44780 de Hitachi. Debido a factores como disponibilidad, confiabilidad, y precio, los distintos
fabricantes de displays LCD inteligentes han ido optando por otros controladores "compatibles" con el
HD44780. La palabra compatible suele ocasionar cierto escozor al escucharla, y nos proponemos acotar un
poco dicho término, al menos dentro de los límites que nos interesan para la mayoría de los desarrollos que
puedan utilizar estos displays.
Dentro de los displays de la firma Powertip, que Cika Electrónica representa, encontramos históricamente
displays basados en el KS0066U de Samsung. Dicho controlador es practicamente un clon del HD44780U, ya
que sus especificaciones, tanto eléctricas como de timing, son muy similares, y el set de instrucciones es el
mismo. Existen diversas versiones de este controlador, que incorporan distintos sets de caracteres, ya sea de
Comentario técnico: CTC-023
Componente: Capacitores de muy alto valor (SuperCap)
Los capacitores conocidos como SuperCap, son capacitores de muy alto valor, entre 0,01 y 0,1F; es decir
entre 10.000 y 100.000 uF. Su función principal es la de reemplazar a la tradicional pila de litio para mantener
una cierta tensión en alguna parte del circuito mientras el sistema está sin alimentación, por ejemplo durante el
momento de reemplazar una batería o mientras no se lo utiliza. Ante este tipo de usos, reemplaza con ventajas
a la pila de litio y aún a las baterías recargables de NiCd, en tamaño y por supuesto en velocidad de carga. Sin
embargo, estos capacitores poseen una resistencia equivalente serie de un valor relativamente elevado, el
cual puede desalentar su uso como pila de respaldo en situaciones en las que se requiera una elevada corriente.
En cuanto a la carga, un supercap podrá considerarse cargado completamente al cabo de un tiempo
relativamente pequeño, a una corriente pequeña:
Ej.: para llegar a 5V con una corriente de carga de 1mA, un supercap de 0,1F demorará
Comentario técnico: CTC-024
Componente: Incorrecta utilización del HT-12E
Un tiempo atrás, HOLTEK, realizó un cambio en la tecnología de fabricación de los HT-12E. Luego de éste,
el dispositivo se volvió más propenso a funcionar incorrectamente en circuitos que, si bien no cumplen con las
especificaciones del fabricante en un 100%, con anterioridad operaban sin mayores dificultades. Estos
circuitos fueron y son, de ahi este problema, muy comunes en control remoto de alarmas. En las hojas de datos
actuales del HT12E figuran claramente identificados como un ERROR COMÚN DE APLICACIÓN y en el
mismo documento se encuentra el circuito apropiado.
La figura siguiente, extraída de la hoja de datos, muestra el error típico al que se hace referencia:
En el mismo, la tensión en los pines de address (AD8-AD11) excede a la tensión de alimentación, y por ende
los límites de operación especificados en la hoja de datos.
La versión complementaria de este error, consiste en conectar los pines de address con pulsadores a masa, y
Comentario técnico: CTC-025
Título: Dynamic C versión 9
Comentamos acerca de las novedades que encontramos en la versión 9 de Dynamic C. Las mejoras en esta
versión se han centrado mayormente en lo relativo a debugging, y eficiencia del stack TCP/IP.
Execution tracing
Con DC9 es posible generar un listado de todas las funciones por las cuales el programa va pasando,
pudiendo almacenarse además timestamps y estado de los registros, con el objeto de revisar alteraciones o
medir tiempos de ejecución de funciones. El listado es personalizable, y como el buffer está en la PC, es posible
almacenar hasta 2 millones de entradas.
Watch en estructuras
A partir de ahora, no es necesario definir un watch para cada elemento de la estructura, simplemente
definiendo sólo un watch para la estructura, pueden observarse todos sus elementos en una estructura de árbol,
Comentario técnico: CTC-027
Componente: Placa de evaluación para S1D13706 (CikaC1)
La placa "CikaC1" es una placa de evaluación para el controlador de displays LCD color S1D13706. Dicha
placa fue desarrollada con el fin de realizar nosotros, en Cika, la evaluación original de dicho controlador, y
poder tener una solución simple para evaluar y testear displays que no tengan controlador. Como se entrega,
permite una conexión directa con un módulo Rabbit de la serie 3000 y un display color del tipo WG320240,
facilitando la evaluación y desarrollo de aplicaciones con display color.
Ubicación de los conectores
Conexionado del display
El conector J1 incluye los pines necesarios para la operación del WG320240, el conector que se provee con la
placa le permite interconectar esta placa y el display. La marca en el conector identifica al pin número 11
(Vss), dado que se utilizan desde el pin 11 hasta el pin 26 para esta conexión, dejando libres FPD8 a FPD16
Si bien nada reemplaza la lectura del manual del usuario, proponemos un simple sistema en breves y cortos
pasos, sin polling ni máquinas de estados, para enviar y recibir datos mediante el módulo GSM, ya sea vía
TCP o UDP.
nuestro proveedor, deberemos ingresar uno de los siguientes comandos:
Personal: AT+CSTT="gprs.personal.com.ar","gprs","adgj"
CTI Móvil: AT+CSTT="internet.ctimovil.com.ar","gprs","gprs"
ex-Unifón: AT+CSTT="internet.gprs.unifon.com.ar","wap","wap"
* (De todos modos, debería consultar y confirmar con el proveedor de telefonía celular esta información)
dirección IP obtenida.
"realizar una conexión". En el caso de TCP, es necesario, en el caso de UDP, mantiene un estado de
Comentario técnico: CTC-029
Componente: Errata de "Desarrollo con procesadores y módulos Rabbit", 1a. edición
La presente errata contiene correcciones a errores detectados en la primera edición del libro "Desarrollo con
procesadores y módulos Rabbit".
Capítulo 1, página 15
Donde dice:
dirección física accedida por PC: 0x40000+0x8000 = 0x48100
debe decir:
dirección física accedida por PC: 0x40 100+0x8000 = 0x48100
Capítulo 3, Página 49
Se omitieron los prefijos ioi en el acceso de I/O, el listado correcto es:
#asm
Comentario técnico: CTC-030
Componente: Errata de "Desarrollo con procesadores y módulos Rabbit", 2a. edición
La presente errata contiene correcciones a errores detectados en la segunda edición del libro "Desarrollo con
procesadores y módulos Rabbit".
Capítulo 1, página 15
Donde dice:
dirección física accedida por PC: 0x40000+0x8000 = 0x48100
debe decir:
dirección física accedida por PC: 0x40 100+0x8000 = 0x48100
Capítulo 3, Página 56
El texto incorrectamente refiere al registro EIR como puntero del área de vectores de interrupción para
instrucciones RST. Las instrucciones RST son interrupciones generadas internamente, por lo tanto el registro
Comentario técnico: CTC-031
Título: Conexión del kit de desarrollo para SIM200
El kit de evaluación de SIM200 le permite evaluar este módulo GSM sin necesidad de armar una PCB, sólo
necesita una tarjeta SIM, una fuente de alimentación de 5V 2A, y por supuesto, algún dispositivo con el cual
enviar y recibir los datos y comandos a 115200bps por el puerto serie, como por ejemplo una computadora
personal.
Contenido del kit
El kit de evaluación contiene:
Montaje del kit
componentes SMD hacia la cara que tiene los switches y conectores para la tarjeta SIM y él módulo.
sus cuatro soportes, con el conector SMA hacia arriba y un rulo debajo
dentro del área blanca). Tenga cuidado de pasar los salientes del blindaje por los agujeros de la plaqueta
Comentario técnico: CTC-032
Componente: Módulos GSM SIMCOM, PPP sobre GPRS
Si bien nada reemplaza la lectura del manual del usuario, resumimos los pasos esenciales para poder conectar
un dispositivo con su propio stack TCP/IP a la Internet, utilizando un módulo GSM SIMCOM como modem,
mediante PPP sobre GPRS.
proveedor, deberemos ingresar uno de los siguientes comandos:
Personal: AT+CGDCONT=1,"IP","gprs.personal.com.ar"
CTI Móvil: AT+CGDCONT=1,"IP","internet.ctimovil.com.ar"
ex-Unifón: AT+CGDCONT=1,"IP","internet.gprs.unifon.com.ar"
cual es definido por el proveedor del servicio, y generalmente es del tipo *99**#. Por ejemplo, para
Movistar (ex-Unifón): ATD*99**# inicia una sesión PPP. El dispositivo conectado al port serie del módulo
SIMCOM deberá implementar PPP y el stack TCP/IP sobre éste. La autenticación generalmente
El BL233B es un chip basado en PIC de 18 pines que provee la capacidad de actuar como interfaz I2C, SPI, ó
posible operar con memorias o periféricos I2C, SPI ó 1-wire sin necesidad de usar un micro con soporte para
ellos, o ponerse a desarrollar el protocolo. Incluso, mediante un traslador de nivel, es posible operarlo desde
una PC con software gratuito provisto por el fabricante, o también vía USB con el agregado de un chip como el
FT232BM. Los pines, además, pueden operarse indistintamente como I/O.
Debido la posibilidad de grabarle "macros" que almacena en su memoria EEPROM, es posible asignarle una
tarea que cumple por sí solo, reportando los resultados por la interfaz serie.
El ejemplo a continuación utiliza el siguiente circuito:
Enviando un string ASCII por RxD, recibiremos la respuesta por TxD. A continuación, damos los ejemplos
empleados para probar este circuito, que observados conjuntamente con la lectura de la hoja de datos del
De una forma muy amplia, podemos dividir los tipos de memorias en dos categorías: volátiles y no-volátiles.
Las memorias de tipo no-volátil tienen su aplicación mayormente en sistemas donde su contenido permanece
inalterado (código ejecutable), o debe actualizarse con una frecuencia relativamente baja (código ejecutable
actualizable, constantes de calibración, logs, etc.). Esto se debe a que, según su tipo, no es posible alterar su
contenido (ROM), o se requiere de un borrado y re-escritura que no sólo demoran un tiempo considerable
(EPROM, EEPROM), sino que además no es posible realizarlo más de una determinada cantidad de ciclos,
antes de tornar el dispositivo inusable.
Las memorias de tipo volátil, por el contrario, tienen su aplicación mayormente en sistemas donde su
contenido es casi permanentemente alterado, con una frecuencia de escritura relativamente elevada, o donde se
requiere de un tiempo de acceso corto.
Les presentamos los "Processor Companions", una familia de chips de Ramtron que incluyen las funciones más
comúnmente utilizadas en sistemas microprocesados: memoria no-volátil, reloj de tiempo real, reset por baja
tensión, watchdog timer, contador de eventos, número de serie, y comparador. La figura a continuación
muestra el diagrama de bloques interno:
Las funciones de reloj de tiempo real y contador de eventos, son mantenidas en ausencia de tensión por una
pila de respaldo (battery back-up), mientras que la memoria y el número de serie son FRAM. Los chips
funcionan desde 2,7 a 5,5V, por lo que pueden emplearse como soporte para la gran mayoría de los micros del
mercado
Dentro de la familia FM31xxx encontramos varias alternativas, con diversos tamaños de memoria FRAM, de
acceso, es incluso posible utilizarla como RAM adicional
Comentario técnico: CTC-036
Componente: Módulos Bluetooth
Hace ya unos años, comienzan a aparecer algunos standards para interconexión inalámbrica de equipos. Uno
de ellos, es Bluetooth. Si bien se trata de un stack de protocolo que requiere una considerable cantidad de
recursos del procesador, no necesariamente dicho stack debe correrse en el procesador principal. De igual
modo que para Ethernet existe un controlador, y para USB existe una interfaz, les presentamos en esta
oportunidad unos módulos Bluetooth, que permiten a cualquier procesador con UART acceder al mundo
Bluetooth, mediante SPP (Serial Port Profile), es decir, simulando una conexión serie.
Las razones por las cuales implementar Bluetooth en una aplicación o producto final dependen mayormente
del mismo, como por ejemplo podemos citar la posibilidad de ser controlado a distancia, sin necesidad de que
el operador tenga contacto físico o siquiera proximidad con el equipo, que puede hallarse en una área
restringida. Gran cantidad de PDAs y teléfonos celulares incluyen soporte Bluetooth, permitiendo que una
Comentario técnico: CTC-037
Componente: Módulos GSM SIMCOM, mensajes de texto
Si bien nada reemplaza la lectura del manual del usuario, resumimos los pasos esenciales para poder enviar y
recibir mensajes de texto SMS, utilizando un módulo GSM SIMCOM.
Selección del formato
Se realiza mediante el comando AT+CMGF, eligiendo modo texto o modo PDU. A los fines prácticos, el modo
texto es mucho más fácil de entender por un ser humano, y no requiere de demasiada comprensión de los
formatos involucrados, siendo igualmente simple de parsear por un micro:
AT+CMGF=1
Envío de mensajes
Para enviar un mensaje a un número determinado, ingresamos el comando AT+CMGS="", a
lo cual recibiremos un prompt (caracter '>'), para luego ingresar el mensaje, el que terminaremos con un
Comentario técnico: CTC-038
Componente: Digi Connect ME y Wi-ME
Hablaremos, en esta oportunidad, acerca de DIGI Connect ME y DIGI Connect Wi-Me, dos integrantes de la
familia DIGI. Se trata de módulos integrados, pre-programados, destinados a proveer capacidad de networking
en dispositivos con conectividad serie. Ambos módulos están basados en procesadores ARM7, con una
frecuencia de clock de 55 MHz y presentan una interesante y atractiva alternativa de networking para aquéllos
que no quieren o no pueden portar una vieja aplicación serie a un Rabbit, o simplemente prefieren trabajar con
un "coprocesador de red esclavo" para el micro de su agrado.
Digi Connect ME
El Digi Connect ME está orientado a conexión Ethernet, pudiendo incluso alimentarse de dicha conexión
(802.3af, PoE). Su capacidad de memoria es de 2MB de flash y 8MB de RAM
Digi Connect Wi-ME
Comentario técnico: CTC-041
Título: SiRF II EOL, RoHS, Globalsat
El chipset SiRF II (dos chips) utilizado por una gran cantidad de placas de Globalsat, se deja de fabricar. Por
consiguiente, dichas placas GPS correrán la misma suerte. Además, debido a modificaciones para
cumplimentar la directiva RoHS, algunas placas basadas en SiRF III serán descontinuadas. Cika mantendrá su
stock, finalizado el cual sólo incorporará nuevas placas Globalsat ET-332 (SiRF III) y ET-112 (SiRF II one-
chip) como producto standard.
Nuestra recomendación es utilizar ET-112 como reemplazo inmediato (pinout y footprint equivalentes
pero menor sensibilidad) de ET-102; y comenzar con ET-332 el desarrollo de nuevos productos.
SiRF II (chipset) equivalente tipo de producto sugerencia
ET-102 ET-112 (SiRF II one-chip) alternativo migrar a ET-332
ET-202 ET-333 sólo a pedido migrar a ET-332
Comentario técnico: CTC-042
Título: Chips OTP para reproducción de voz de Aplus
Presentamos en esta oportunidad una familia de chips para reproducción de voz. Estos chips, por oposición a
los tradicionales grabadores/reproductores, son solamente reproductores, la voz o sonido se graba una vez, y
luego se los utiliza para reproducción solamente. El proceso de grabación es similar al de una PROM o
EPROM, en el cual la voz grabada se incorpora al dispositivo en tiempo no-real, es decir, se genera un archivo
que luego se envía al chip. El hecho de ser programables sólo una vez (OTP), y que su proceso de grabación
sea como una EPROM, permite que la arquitectura interna sea mucho más simple, lo cual, a su vez, hace que
su precio sea mucho más accesible.
Una característica distintiva de esta familia de chips, es que no sólo pueden grabarse frases, sino que la
grabación se efectúa por secciones. Luego, estas secciones se agrupan formando grupos, los cuales son
seleccionados para reproducir la frase que se necesita. Por ejemplo, es posible grabar una sección con la
Comentario Técnico: CTC-043
Título: Aplicaciones de navegación con GPS
En esta oportunidad, investigamos algunos detalles básicos sobre la navegación con GPS, utilizando el
protocolo standard NMEA0183 y los módulos GPS de Globalsat
Introducción al sistema GPS
El sistema GPS es en sí lo suficientemente complejo como para eludir su desarrollo en este tipo de
documentos; sin embargo, haremos una deliberada cantidad de simplificaciones como para reducirlo a un nivel
fácilmente manejable. Con esa premisa, podemos decir que se trata de una red de satélites orbitando la tierra, a
una velocidad tal que cada casi 12 hs dan una vuelta completa a la misma, transmitiendo constantemente su
identificación personal, trayectoria, posición respecto a un eje de coordenadas sito en el centro de la tierra, y
tiempo. Dentro de dicha red, un observador puede determinar su posición y tiempo resolviendo un sistema de
cuatro ecuaciones con cuatro incógnitas: x, y, z, t1; observando las señales de cuatro satélites.
Comentario técnico: CTC-045
Título: Uso de la interfaz I2C en Ramtron VRS51L3074
La interfaz I2C de los micros Ramtron VRS51L3074 y 51L2070 es simple y eficiente. Basados en la
información y código de ejemplo provistos por el fabricante, comentamos una forma rápida de utilizarla en
modo master.
Las secuencias de START y STOP se manejan automáticamente, la operación comienza con la escritura en el
registro I2CRXTX. Una vez escrito el primer byte (ID), deberemos esperar hasta que la interfaz indique que el
registro está disponible para otra escritura, lo cual se realiza comprobando el flag I2CTXEMP en el SFR
I2CSTATUS. Si no se escribe en I2CRXTX, se genera automáticamente una secuencia de STOP y la interfaz
pasa a modo IDLE, lo que puede comprobarse observando el flag I2CIDLE en el SFR I2CSTATUS.
Para leer, luego de escribir el ID correspondiente (con el bit menos significativo seteado), deberemos esperar
que esté seteado el flag I2CRXAVF en el SFR I2CSTATUS, indicando que hay un dato disponible. Para
Comentario técnico: CTC-046
Título: Reproducción de audio en microcontroladores mediante PWM
La reproducción de audio en microcontroladores puede facilitarse enormemente aprovechando un generador
de PWM, de los que una gran cantidad de ellos dispone. En este comentario técnico analizaremos de forma
somera algunos conceptos que nos permitirán aprovechar estos generadores de PWM y transformarlos en
DACs económicos.
Filtrado
Como bien sabemos, pasando una señal PWM por un filtro pasabajos con una frecuencia de corte lo
suficientemente baja, a la salida obtendremos un valor de tensión continua, correspondiente a la integral de la
señal PWM, es decir, su valor medio. Si cambiamos el ciclo de trabajo de la señal PWM, cambiará el valor
medio, y un tiempo después lo obtendremos a la salida del filtro.
El cálculo del filtro generalmente no es crítico, debe comportarse como un integrador y esto suele suceder
Comentario técnico: CTC-047
Componente: Errata de "El Camino del Conejo"
La presente errata contiene correcciones a errores detectados en la primera edición del libro "El Camino del
Conejo".
Capítulo 4, página 40
Donde dice:
Para otras combinaciones manuales, o si se utiliza pktXopen(), se puede indicar que se desea el pinout
alternativo definiendo:
#define SERA_USEPORTD
#define SERB_USEPORTD
debe decir:
Para otras combinaciones manuales, se puede indicar que se desea el pinout alternativo definiendo:
Comentario técnico: CTC-048
Componente: Displays LCD gráficos 320x240 con S1D13700
Los displays LCD gráficos de 320x240 que comercializa Cika Electrónica han utilizado por mucho tiempo el
controlador S1D13305 (SED1335). Actualmente, dicho chip ha sido reemplazado por el S1D13700, el cual es
levemente diferente y soporta algunas características nuevas. Entre las diferencias que afectan el
funcionamiento en sistemas ya desarrollados en torno al S1D13305, tenemos las siguientes:
El S1D13700 ejecuta cada comando a medida que recibe los parámetros
El S1D13700 requiere de un cierto tiempo para encender el oscilador a cristal, lo cual sucede luego de
recibido el comando de inicialización SYSTEM SET. La inicialización se realiza entonces enviando el
comando (o el comando y el primer parámetro) y esperando un cierto tiempo antes de seguir con la
inicialización.
El reset del S1D13700 requiere de un mínimo de duración del pulso de 1ms, el fabricante del display puede
Comentario técnico: CTC-050
Componente: XBee y XBee-PRO 802.15.4
Hablaremos, en esta oportunidad, acerca de los módulos XBee y XBee-PRO 802.15.4, dos integrantes de la
familia DIGI RF, anteriormente conocida como MaxStream. Se trata de módulos integrados e inteligentes,
mediante los cuales es posible operar en redes 802.15.4 (base de Zigbee1). Estos módulos se presentan como
una interesante y atractiva alternativa, acortando el tiempo de desarrollo dado que ya poseen el stack
correspondiente cargado, funcionando como modems configurables mediante el set de comandos AT y
pudiendo operar en un modo transparente, lo que permite (por ejemplo) reemplazar un cable.
XBee 802.15.4
El módulo XBee 802.15.4 presenta una potencia de salida de 1mW, y la sensibilidad del receptor es de
-92dBm. Esto le permite operar hasta a unos 100m en espacios abiertos, y hasta 30m en espacios urbanos2.
XBee-PRO 802.15.4
Comentario técnico: CTC-051
Componente: Módulos GSM SIMCOM, modo transparente
Si bien nada reemplaza la lectura del manual del usuario, proponemos un simple sistema en breves y cortos
pasos, sin polling ni máquinas de estados, para enviar y recibir datos mediante el módulo GSM, ya sea vía
TCP o UDP. La diferencia entre este comentario técnico y el CTC-028 es que utilizaremos el modo
transparente.
nuestro proveedor, deberemos ingresar uno de los siguientes comandos:
Personal: AT+CSTT="gprs.personal.com.ar","gprs","adgj"
CTI Móvil: AT+CSTT="internet.ctimovil.com.ar","gprs","gprs"
ex-Unifón: AT+CSTT="internet.gprs.unifon.com.ar","wap","wap"
* (De todos modos, debería consultar y confirmar con el proveedor de telefonía celular esta información)
dirección IP obtenida.
Comentario técnico: CTC-052
Componente: Módulos GPS ET-312 y ET-318
Los módulos GPS ET-312 y ET-318 no poseen conectores, por lo que deben ser soldados al circuito impreso.
El presente comentario técnico describe algunas características de los módulos y del trabajo a realizar al
encarar un desarrollo con los mismos.
Antena
Dado que no disponemos de conector de antena en el módulo, éste debe ser incorporado en la placa de
circuito impreso (o similar). La opción más práctica es diseñar una línea de transmisión de 50ohms en el
circuito impreso, desde el módulo hasta el conector. Se recomienda minimizar la longitud y mantenerla lo más
recta posible, aunque si se utiliza una antena activa el conjunto es más tolerante a las desadaptaciones.
Cálculo de una línea de transmisión
Una línea de transmisión se basa en la inductancia y capacidad distribuidas de las pistas, utilizando el
Comentario Técnico: CTC-053
Título: Displays LCD color TFT VGA
Les presentamos los nuevos displays color LCD de 640x480, los PD064VT4. Se trata de displays TFT, es
decir, de matriz activa, sin touch screen y sin controlador, su utilización dentro de un sistema requiere de un
controlador externo que provea las señales VGA.
La interfaz consta de 18 bits de datos y tres señales de control. Las señales de control incluyen los
sincronismos vertical y horizontal, más el pixel clock y una señal de habilitación. Esto puede observarse en el
diagrama que sigue a continuación:
Luego de la información correspondiente a los 640 pixels, existe una serie de pixels sin información
conformando una línea; y luego de las 480 líneas horizontales, existe una serie de líneas sin información,
conformando una trama. El formato "total" es de 800x525 pixels, lo cual corresponde a una frecuencia de
refresco de casi 60Hz, a un pixel clock de 25MHz.
Comentario Técnico: CTC-054
Título: Utilización de XBee 802.15.4 para comunicación de aplicaciones
En este comentario técnico estudiaremos las posibles formas de intercomunicar aplicaciones en forma
inalámbrica, mediante módulos XBee (o XBee-PRO) 802.15.4.
Introducción
En los casos que veremos a continuación, cada aplicación es implementada sobre un sistema microprocesado,
el cual nos permite disponer de un puerto de comunicaciones. Dado que el XBee 802.15.4 es un módulo de 3V,
la interconexión entre estos sistemas y el XBee 802.15.4 deberá respetar dicha tensión. A los fines prácticos,
asumimos que se ha conectado a los pines TD y RD la UART de un micro alimentado a 3V.
Si bien nos referimos a comunicación serie como diálogo entre aplicaciones, veremos en otros comentarios
técnicos que también es posible transferir el estado lógico de pines y magnitudes analógicas, por lo que si bien
elegimos este caso para realizar una explicación de una forma que creemos más didáctica, no es éste un
Comentario Técnico: CTC-055
Título: Utilización de XBee 802.15.4 para sensores remotos
En este comentario técnico estudiaremos la forma de configurar los módulos XBee (o XBee-PRO) 802.15.4
para utilización en aplicaciones de sensores remotos.
Introducción
En los casos que veremos a continuación, el módulo transmitirá la información de estado de sus entradas y
salidas a uno o varios módulos remotos. Las formas de configuración para envío de información a módulos
remotos en las diversas topologías 802.15.4 han sido descriptas en CTC-054.
Si bien los módulos soportan un esquema de direccionamiento de 64-bits, por simplicidad utilizaremos el
método abreviado de 16-bits; esto requiere que se setee ATDH=0, lo cual coincide con la configuración por
defecto.
Cada uno de los pines DIOx que puede ser configurado para su operación como entrada analógica, entrada
Comentario Técnico: CTC-056
Título: Utilización de XBee 802.15.4 con actuadores remotos
En este comentario técnico estudiaremos la forma de configurar los módulos XBee (o XBee-PRO) 802.15.4
para utilización en aplicaciones de actuadores remotos.
Introducción
En los casos que veremos a continuación, el módulo transmitirá la información de estado de sus entradas y
salidas a uno o varios módulos remotos. Las formas de configuración para envío de información a módulos
remotos en las diversas topologías 802.15.4 han sido descriptas en CTC-054.
Si bien los módulos soportan un esquema de direccionamiento de 64-bits, por simplicidad utilizaremos el
método abreviado de 16-bits; esto requiere que se setee ATDH=0, lo cual coincide con la configuración por
defecto.
Cada uno de los pines DIOx que puede ser configurado para su operación como salida digital, posee un
Comentario Técnico: CTC-057
Título: Utilización de módulos XBee 802.15.4 con coordinador
En este comentario técnico estudiaremos la forma de intercomunicar módulos XBee (o XBee-PRO) utilizando
Introducción
Comentamos en CTC-054 que en una configuración multipunto con comunicación en ambos sentidos, los
remotos no sabían en qué momento el central iba a transmitirles algo; esto nos impedía utilizar el modo bajo
consumo, a menos que hiciéramos algunas restricciones. Por ejemplo, comentamos que si el central podía
esperar a que el remoto en cuestión le hablara primero, entonces enviaría el mensaje que tuviera en ese
momento; permitiendo que los remotos entraran en modo bajo consumo hasta tanto tuvieran algo que
transmitir y allí recibir lo que hubiera para ellos. Pues bien, es posible configurar los módulos con el central
como coordinador, en cuyo caso éste almacena hasta dos mensajes en espera de detectar que los remotos estén
despiertos y poder transmitírselos, y es lo que desarrollaremos en este Comentario Técnico.
Comentario técnico: CTC-058
Componente: XBee y XBee-PRO ZB: Zigbee-PRO
Hablaremos, en esta oportunidad, acerca de los módulos XBee y XBee-PRO ZB, dos nuevos integrantes de la
familia DIGI RF, anteriormente conocida como MaxStream. Se trata de módulos integrados e inteligentes,
mediante los cuales es posible operar en redes Zigbee1. Estos módulos se presentan como una interesante y
atractiva alternativa, acortando el tiempo de desarrollo dado que ya poseen el stack Zigbee-PRO incorporado y
la RF resuelta, funcionando como modems configurables mediante el set de comandos AT.
XBee ZB
El módulo XBee ZB presenta una potencia de salida de 1,25mW (+1dBm), y la sensibilidad del receptor es de
-97dBm. Esto le permite operar hasta a unos 120m en espacios abiertos, y hasta 40m en espacios urbanos2.
XBee-PRO ZB
El módulo XBee-PRO ZB presenta una potencia de salida de 10mW (+10dBm), y la sensibilidad del receptor
Comentario Técnico: CTC-059
Título: Utilización de XBee ZB para comunicación de aplicaciones
En este comentario técnico estudiaremos las posibles formas de intercomunicar aplicaciones en forma
inalámbrica, mediante módulos XBee ZB (o XBee-PRO ZB) con firmware AT1, dentro de una red Zigbee.
Introducción
En los casos que veremos a continuación, cada aplicación es implementada sobre un sistema microprocesado,
el cual nos permite disponer de un puerto de comunicaciones. Dado que el XBee ZB es un módulo de 3V, la
interconexión entre estos sistemas y el XBee ZB deberá respetar dicha tensión. A los fines prácticos, asumimos
que se ha conectado a los pines TD y RD la UART de un micro alimentado a 3V.
Por defecto, los módulos tienen configurado un pin como CTS , lo que significa que en el caso que
intentemos transmitir más de lo que el módulo puede enviar al extremo remoto, nos lo indicará poniendo este
pin inactivo. En sentido inverso, existe la posibilidad de indicar al XBee ZB que suspenda su comunicación
Comentario Técnico: CTC-060
Título: Utilización de XBee ZB para sensores remotos
En este comentario técnico estudiaremos la forma de configurar los módulos XBee (o XBee-PRO) ZB para
utilización en redes Zigbee con aplicaciones de sensores remotos.
Introducción
En los casos que veremos a continuación, el módulo transmitirá la información de estado de sus entradas y
salidas a uno o varios módulos remotos. Las formas de configuración para envío de información a módulos
remotos en las diversas topologías han sido descriptas en CTC-059.
Cada uno de los pines DIOx que puede ser configurado para su operación como entrada analógica, entrada
digital, o salida digital, posee un comando ATDx que permite operar sobre esta selección. Los pines DIO10 a
DIO12 se configuran mediante los comandos ATP0 a ATP2, respectivamente.
Entradas analógicas
Comentario Técnico: CTC-061
Título: Utilización de XBee ZB con actuadores remotos
En este comentario técnico describimos la forma de configurar los módulos XBee (o XBee-PRO) ZB para
utilización en redes Zigbee con aplicaciones de actuadores remotos.
Control de las salidas
Cada uno de los pines DIOx que puede ser configurado para su operación como salida digital, posee un
comando ATDx que permite operar sobre esta selección. Por ejemplo ATD1=4 configura DIO1 como salida en
estado bajo, mientras que ATD1=5 la configura como salida en estado alto. Los pines DIO10 a DIO12 se
configuran mediante los comandos ATP0 a ATP2, respectivamente.
Control a distancia
La potencia a la hora de utilizar salidas viene de la mano de la facilidad de configuración remota, que permite
control manual a distancia. Para esto, el módulo XBee ZB (o XBee-PRO ZB) que controla debe tener el
Comentario Técnico: CTC-062
Título: ¿ Cómo funciona una red Zigbee 2007 ?
En este comentario técnico analizaremos brevemente el funcionamiento de una red Zigbee basada en módulos
XBee ZB y XBee-PRO ZB.
Introducción a Zigbee
El stack de protocolos Zigbee se apoya sobre IEEE 802.15.4 para la comunicación entre dispositivos cercanos,
es decir, el acceso al medio y el intercambio de mensajes por éste. Por sobre esta base, define un nivel de
routing (NWK) que permite que los dispositivos con funcionalidad de router puedan transportar mensajes para
otro destinatario, extendiendo el alcance total de la red. A su vez, sobre esta base, existe un esquema (APS) que
permite comunicación entre diversas aplicaciones mediante un identificador de circuito virtual denominado
endpoint. Los grupos de mensajes entre aplicaciones son controlados por la Zigbee Alliance, de modo que
todos los dispositivos utilizando un esquema determinado empleen los mismos grupos de mensajes y atribuyan
Comentario técnico: CTC-063
Componente: State Savers
Les presentamos los "State Savers", una familia de chips de Ramtron que implementan flip-flops D en FRAM.
La figura a continuación muestra el diagrama de bloques y posibles utilizaciones:
Estos chips se comportan como cualquier flip-flop D, a excepción de que al estar implementados en FRAM,
el estado se mantiene al quitar la alimentación. La capacidad de corriente es de unos 10mA, y su encapsulado
SOT-23-6.
El siguiente circuito corresponde a una placa de evaluación, para observar el funcionamiento de los state
savers. El usuario selecciona el estado que introduce en cada uno de los pines D de los flip-flops mediante
jumpers, y luego genera un pulso de clock mediante el pulsador. La alimentación se controla mediante un
jumper, así como también el pin de enable, que coloca las salidas en tri-state y hace que el chip ignore las
transiciones del clock.
Comentario técnico: CTC-064
Componente: Displays Fordata de 3V
Los displays de 5V de Fordata que comercializa Cika, poseen el número '51' en la última parte del código.
La empresa Fordata comercializa además dos tipos de displays de 3V. Ambos tienen los números '31' y '91' en
la última parte del código del producto.
D i s p l a y s c o n c o n t r o l d e c o n t r a s t e ( 3 1 )
Los displays con código '31' están diseñados para operar a 3,6V. Funcionan exactamente igual que cualquier
display de 5V, sólo que su tensión de operación es más baja. El control de contraste, entonces, se realiza de la
misma forma que en cualquier otro display.
Estos displays pueden operar a tensiones menores o mayores (sin exceder los 4,5V). El funcionamiento a 3,3V
presenta un contraste excelente a temperaturas cercanas a los 23ºC, con el control conectado a masa. Es posible
que a otras temperaturas el control no resulte suficiente, lo cual deberá resolverse mediante tensión negativa
Comentario Técnico: CTC-065
Título: HT1632, controlador de matriz de LEDs
En este comentario técnico describimos brevemente el funcionamiento del controlador de matriz de LEDs de
Holtek, HT1632, y damos un simple ejemplo de utilización en C.
Breve descripción del HT1632
El HT1632 es un chip de 52-pines en formato QFP, capaz de controlar una matriz de LEDs de 32x8 ó de
matriz de LEDs de 96 palabras de 4-bits. Cada bit de cada palabra corresponde a una de las salidas comunes,
mientras que las direcciones se asocian a una salida; por ejemplo, en modo 32x8, la salida 0 tiene dos
direcciones de memoria asociadas, una para los comunes 0 a 3 y otra para los comunes 4 a 7.
Un ejemplo de utilización es el siguiente:
Varios HT1632 pueden conectarse en cascada para controlar una matriz más grande.
Comunicación con el procesador
AP4890B, amplificador de audio
R f R i n R f R i n
V O 2
P
o
V
p
C b y p a s s controla el tiempo de arranque del circuito, polarizando gradualmente al amplificador y
evitando ruido sobre el parlante.
CTC-066 1
Comentario técnico: CTC-067
Componente: XBee y XBee-PRO ZB para montaje superficial
Hablaremos en esta oportunidad acerca de los módulos XBee y XBee-PRO ZB SMT, para montaje superficial.
Se trata de módulos integrados e inteligentes, mediante los cuales es posible operar en redes Zigbee1. Estos
módulos se presentan como una interesante y atractiva alternativa, acortando el tiempo de desarrollo dado que
ya poseen el stack Zigbee-PRO incorporado y la RF resuelta, funcionando como modems configurables
mediante el set de comandos AT.
El resto del documento hace referencia sólo a las características que lo diferencian de otros módulos de la
familia ZB.
XBee ZB SMT
El módulo XBee ZB presenta una potencia de salida de +5dBm, y la sensibilidad del receptor es de -100dBm.
Un modo "boost" permite incrementar en 3 dB la potencia de salida y en 2dB la sensibilidad de recepción, al
La interconexión de micros y periféricos de diferente tensión de alimentación es uno de los temas más
simples de resolver con las herramientas adecuadas. Complementando al ya existente 74LVX3245, de 8-bits,
presentamos al 74LVC2T45, de 2-bits.
Los chips para traslación de nivel lógico son encarnaciones del 74245 (o parte de él) en versiones con dos
fuentes de alimentación.
El 74LVX3245 es muy similar; diseñado para interconectar un micro de 3V con un periférico de 5V, puede
controlar ocho señales en forma bidireccional:
El 74LVC2T45, al contrario, puede interconectar sólo 2 señales con control bidireccional, pero cada bus
puede ser de 1,8 a 5V:
CTC-068 1
La interconexión de micros y periféricos de diferente tensión de alimentación es uno de los temas más
simples de resolver con las herramientas adecuadas. Complementando lo descripto en CTC-068, presentamos
al PCA9306, para I2C.
El chip en cuestión incorpora dos trasladores de nivel bidireccionales, lo que le permite adaptar un bus I2C
entre dos tensiones desde 1,2V a 5V
CTC-069 1
La teoría
Las descargas electrostáticas (ESD: ElectroStatic Discharge) se producen cuando un aislante
(un operador no puesto a tierra) transportando una carga eléctrica se acerca a un conductor
(un componente en una placa de circuito impreso, PCB) a un potencial electrostático menor.