CTC-001_Migrar_16F87x_16F87xA.pdf | CTC-001_Migrar_16F87x_16F87xA.pdf |
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 | |
|
|
CTC-002_Migrar_12C5xx_12F629.pdf | CTC-002_Migrar_12C5xx_12F629.pdf |
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 | |
|
|
CTC-003_DynamicC8.pdf | CTC-003_DynamicC8.pdf |
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. | |
|
|
CTC-004_Goal_Versa.pdf | CTC-004_Goal_Versa.pdf |
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 | |
|
|
CTC-005_Migrar_16F84(A)_16F627.pdf | CTC-005_Migrar_16F84(A)_16F627.pdf |
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 | |
|
|
CTC-006_Migrar_16C71x_16F818.pdf | CTC-006_Migrar_16C71x_16F818.pdf |
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 | |
|
|
CTC-007_Migrar_16C7x_16F7x.pdf | CTC-007_Migrar_16C7x_16F7x.pdf |
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: | |
|
|
CTC-008_Rabbit3000A.pdf | CTC-008_Rabbit3000A.pdf |
Comentario Técnico: CTC-008 TÃtulo: Rabbit 3000A
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 | |
|
|
CTC-009_Migrar_PIC16C54_56_16F630.pdf | CTC-009_Migrar_PIC16C54_56_16F630.pdf |
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 | |
|
|
CTC-010_Migrar_PIC16C55_57_16F73.pdf | CTC-010_Migrar_PIC16C55_57_16F73.pdf |
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 | |
|
|
CTC-011_Migrar_PIC16F62x_16F62xA.pdf | CTC-011_Migrar_PIC16F62x_16F62xA.pdf |
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. | |
|
|
CTC-012_Actualizacion_PICSTART_Plus.pdf | CTC-012_Actualizacion_PICSTART_Plus.pdf |
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. | |
|
|
CTC-013_HT1380.pdf | CTC-013_HT1380.pdf |
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. | |
|
|
CTC-014_RFmodules.pdf | CTC-014_RFmodules.pdf |
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 | |
|
|
CTC-015_RabbitNewCoreModules.pdf | CTC-015_RabbitNewCoreModules.pdf |
Comentario técnico: CTC-015 TÃtulo: Nuevos módulos Rabbit
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. | |
|
|
CTC-016_PICSTART_Plus_Processor_Upgrade_Kit.pdf | CTC-016_PICSTART_Plus_Processor_Upgrade_Kit.pdf |
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 | |
|
|
CTC-017_UpgradesDynamicC.pdf | CTC-017_UpgradesDynamicC.pdf |
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†. | |
|
|
CTC-018_EMI-Rabbit.pdf | CTC-018_EMI-Rabbit.pdf |
Comentario técnico: CTC-018 TÃtulo: EMI - Rabbit
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 | |
|
|
CTC-019_RabbitModifBIOS_FS2.pdf | CTC-019_RabbitModifBIOS_FS2.pdf |
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 | |
|
|
Software de soporte CTC-019: | CTC-019_Software.zip |
|
|
CTC-020_RabbitModifBIOS_2flash.pdf | CTC-020_RabbitModifBIOS_2flash.pdf |
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 | |
|
|
CTC-021_ConexOper_PICSTART_Plus.pdf | CTC-021_ConexOper_PICSTART_Plus.pdf |
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 | |
|
|
CTC-022_ControladoresLCDalfa.pdf | CTC-022_ControladoresLCDalfa.pdf |
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 | |
|
|
CTC-023_SuperCap.pdf | CTC-023_SuperCap.pdf |
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á | |
|
|
CTC-024_HT-12E.pdf | CTC-024_HT-12E.pdf |
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 | |
|
|
CTC-025_DynamicC9.pdf | CTC-025_DynamicC9.pdf |
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, | |
|
|
CTC-026_ConexOperICD2.pdf | CTC-026_ConexOperICD2.pdf |
Comentario técnico: CTC-026 TÃtulo: Conexión y operación de ICD2
Los dispositivos de la lÃnea PIC utilizan diversos algoritmos de programación. Estos algoritmos están
alojados en el firmware del ICD2, un dispositivo que permite programar y depurar en circuito una importante
cantidad de micros flash de Microchip. El ICD2 se conecta a una PC mediante un port USB o serie, y es
controlado mediante el MPLAB IDE, el entorno de desarrollo integrado de Microchip. Sin ánimo de
reemplazar el manual del usuario del ICD2, este comentario le indica cómo conectar y operar su ICD2.
Para cualquier otra consulta o duda, remÃtase al MLAB ICD2 In-Circuit Debugger User Guide, disponible en
la página web de Microchip en la sección Development Tools.
 ¡ ¢ £ ¤ ¥ ¦ ¢ § £ ¨ ©   ! " # $ % & ' # ( ) $ 0 $ ) & 1 2 3
buscar un driver apropiado y busque el driver de Microchip en la instalación de MPLAB IDE, por ejemplo:
C:\Archivos de Programa\Microchip\MPLAB IDE\ICD2\Drivers\. | |
|
|
Software de soporte CTC-026: | CTC-026_Software.zip |
|
|
CTC-027_Placa-S1D13706-CikaC1.pdf | CTC-027_Placa-S1D13706-CikaC1.pdf |
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 | |
|
|
CTC-028_ModulosSIMCOM.pdf | CTC-028_ModulosSIMCOM.pdf |
Comentario técnico: CTC-028 Componente: Módulos GSM SIMCOM
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 | |
|
|
CTC-029_ErrataDcPyMR_1aEd.pdf | CTC-029_ErrataDcPyMR_1aEd.pdf |
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 | |
|
|
Software de soporte CTC-029: | CTC-029_Software.zip |
|
|
CTC-030_ErrataDcPyMR_2aEd.pdf | CTC-030_ErrataDcPyMR_2aEd.pdf |
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 | |
|
|
CTC-031_conexSIM200kit.pdf | CTC-031_conexSIM200kit.pdf |
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 | |
|
|
CTC-032_SIMCOM-PPP-GPRS.pdf | CTC-032_SIMCOM-PPP-GPRS.pdf |
Comentario técnico: CTC-032 Componente: Módulos GSM, 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 (se trata de comandos
standard, hemos comprobado SIMCOM y Quectel) como modem, mediante PPP sobre GPRS.
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"
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 GSM
deberá implementar PPP y el stack TCP/IP sobre éste. La autenticación generalmente corresponde a PAP, y | |
|
|
CTC-033_BL233B.pdf | CTC-033_BL233B.pdf |
Comentario técnico: CTC-033 Componente: BL233B, I2C+SPI+I/O+2wire
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 | |
|
|
CTC-034_FRAM.pdf | CTC-034_FRAM.pdf |
Comentario técnico: CTC-034 Componente: FRAM
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. | |
|
|
CTC-035_ProcessorCompanion.pdf | CTC-035_ProcessorCompanion.pdf |
Comentario técnico: CTC-035 Componente: Processor Companion
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 | |
|
|
CTC-036_KCBluetooth.pdf | CTC-036_KCBluetooth.pdf |
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 | |
|
|
CTC-037_SIMCOM-SMS.pdf | CTC-037_SIMCOM-SMS.pdf |
Comentario técnico: CTC-037 Componente: Módulos GSM, 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 (se trata de comandos standard, hemos comprobado
SIMCOM y Quectel).
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 | |
|
|
CTC-038_DigiConnectME.pdf | CTC-038_DigiConnectME.pdf |
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 | |
|
|
CTC-039_conexSIM340kit.pdf | CTC-039_conexSIM340kit.pdf |
Comentario técnico: CTC-039 TÃtulo: Conexión del kit de desarrollo para SIM340
El kit de evaluación de SIM340 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.
 ¡ ¢ £ ¤ ¢ ¥ ¦ ¡ ¦ ¤ § ¨ ¥ £
El kit de evaluación contiene:
©
¡ ¢ £ ¤ ¦ ¤ § ¨ ¥ £
componentes SMD hacia la cara que tiene los switches y conectores para la tarjeta SIM y él módulo.
SMA hacia arriba, tenga cuidado de no aplastar el cable del chicote | |
|
|
CTC-040_conexSIM340Ckit.pdf | CTC-040_conexSIM340Ckit.pdf |
Comentario técnico: CTC-040 TÃtulo: Conexión del kit de desarrollo para SIM340C
El kit de evaluación de SIM340C 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.
 ¡ ¢ £ ¤ ¢ ¥ ¦ ¡ ¦ ¤ § ¨ ¥ £
El kit de evaluación contiene:
©
¡ ¢ £ ¤ ¦ ¤ § ¨ ¥ £
serigrafÃa)
SMA hacia arriba, tenga cuidado de no aplastar el cable del chicote | |
|
|
CTC-041_SiRF_II_EOL.pdf | CTC-041_SiRF_II_EOL.pdf |
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 | |
|
|
CTC-042_AplusOTP.pdf | CTC-042_AplusOTP.pdf |
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 | |
|
|
CTC-043_GPS.pdf | CTC-043_GPS.pdf |
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. | |
|
|
CTC-045_I2C-RamtronVRS51L3074.pdf | CTC-045_I2C-RamtronVRS51L3074.pdf |
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 | |
|
|
Software de soporte CTC-045: | CTC-045_Software.zip |
|
|
CTC-046_AudioMicrosPWM.pdf | CTC-046_AudioMicrosPWM.pdf |
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 | |
|
|
CTC-047_ErrataECdC_1aEd.pdf | CTC-047_ErrataECdC_1aEd.pdf |
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: | |
|
|
CTC-048_S1D13700vsS1D13305.pdf | CTC-048_S1D13700vsS1D13305.pdf |
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 | |
|
|
Software de soporte CTC-048: | CTC-048_Software.zip |
|
|
CTC-049_conexSIM548kit.pdf | CTC-049_conexSIM548kit.pdf |
Comentario técnico: CTC-049 TÃtulo: Conexión del kit de desarrollo para SIM548
El kit de evaluación de SIM548 le permite evaluar este módulo GSM/GPS 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 por los puertos serie, como por ejemplo una computadora personal.
 ¡ ¢ £ ¤ ¢ ¥ ¦ ¡ ¦ ¤ § ¨ ¥ £
El kit de evaluación contiene:
SMA
©
¡ ¢ £ ¤ ¦ ¤ § ¨ ¥ £
componentes SMD hacia la cara que tiene los switches, LEDs y el conector para el módulo.
SMA hacia arriba, tenga cuidado de no aplastar el cable del chicote | |
|
|
CTC-050_XBee802.15.4.pdf | CTC-050_XBee802.15.4.pdf |
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 | |
|
|
CTC-051_ModulosSIMCOM.pdf | CTC-051_ModulosSIMCOM.pdf |
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. | |
|
|
CTC-052_ET-312_ET-318.pdf | CTC-052_ET-312_ET-318.pdf |
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 | |
|
|
CTC-053_TFT640x480.pdf | CTC-053_TFT640x480.pdf |
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. | |
|
|
CTC-054_XBee802.15.4Serie.pdf | CTC-054_XBee802.15.4Serie.pdf |
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 | |
|
|
CTC-055_XBee802.15.4Entradas.pdf | CTC-055_XBee802.15.4Entradas.pdf |
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 | |
|
|
CTC-056_XBee802.15.4Salidas.pdf | CTC-056_XBee802.15.4Salidas.pdf |
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 | |
|
|
CTC-057_XBee802.15.4Coordinador.pdf | CTC-057_XBee802.15.4Coordinador.pdf |
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. | |
|
|
Software de soporte CTC-057: | CTC-057_Software.zip |
|
|
CTC-058_XBeeZB.pdf | CTC-058_XBeeZB.pdf |
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 | |
|
|
CTC-059_XBeeZBSerie.pdf | CTC-059_XBeeZBSerie.pdf |
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 | |
|
|
CTC-060_XBeeZBEntradas.pdf | CTC-060_XBeeZBEntradas.pdf |
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 | |
|
|
CTC-061_XBeeZBSalidas.pdf | CTC-061_XBeeZBSalidas.pdf |
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 | |
|
|
CTC-062_XBeeZBhowitworks.pdf | CTC-062_XBeeZBhowitworks.pdf |
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 | |
|
|
CTC-063_StateSavers.pdf | CTC-063_StateSavers.pdf |
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. | |
|
|
CTC-064_Fordata3V.pdf | CTC-064_Fordata3V.pdf |
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 | |
|
|
CTC-065_HT1632_LedMatrixController.pdf | CTC-065_HT1632_LedMatrixController.pdf |
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 | |
|
|
Software de soporte CTC-065: | CTC-065_Software.zip |
|
|
CTC-066_AP4890B.pdf | CTC-066_AP4890B.pdf |
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
| |
|
|
CTC-067_XBeeZB_SMT.pdf | CTC-067_XBeeZB_SMT.pdf |
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 | |
|
|
CTC-068_3V-5V(74LVC2T45).pdf | CTC-068_3V-5V(74LVC2T45).pdf |
Comentario técnico: CTC-068 Componente: 74LVX3245, 74LVC2T45: conversión 3V <-> 5V
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 | |
|
|
CTC-069_I2C_3V-5V(PCA9306).pdf | CTC-069_I2C_3V-5V(PCA9306).pdf |
Comentario técnico: CTC-069 Componente: PCA9306: conversión 3V <-> 5V en I2C
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
| |
|
|
CTC-070_XBeeWiFi.pdf | CTC-070_XBeeWiFi.pdf |
Comentario técnico: CTC-070 Componente: XBee Wi-Fi
Hablaremos, en esta oportunidad, acerca de los módulos XBee Wi-Fi. Se trata de módulos integrados e
inteligentes, mediante los cuales es posible operar en redes Wi-Fi. 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.
XBee Wi-Fi
El módulo XBee Wi-Fi opera en 802.11b/g/n, con una potencia de salida de 15dBm. La sensibilidad del
receptor depende de la velocidad y norma de operación.
CaracterÃsticas principales
La corriente de operación de estos dispositivos ronda los 250mA para transmisión y 140mA para recepción,
mientras que en el modo de bajo consumo se reduce a tan sólo 2uA. La tensión de operación es de 3,1 a 3,6V | |
|
|
CTC-071_XBeeWiFiSerie.pdf | CTC-071_XBeeWiFiSerie.pdf |
Comentario Técnico: CTC-071 TÃtulo: Utilización de XBee Wi-Fi 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 Wi-Fi.
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 Wi-Fi es un módulo de 3,3V,
la interconexión entre estos sistemas y el XBee Wi-Fi 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 3,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 | |
|
|
CTC-072_XBeeWiFiEntradas.pdf | CTC-072_XBeeWiFiEntradas.pdf |
Comentario Técnico: CTC-072 TÃtulo: Utilización de XBee Wi-Fi para sensores remotos
En este comentario técnico estudiaremos la forma de configurar los módulos XBee Wi-Fi para utilización 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 hosts o módulos XBee Wi-Fi remotos. Las formas de configuración para envÃo de
información en las diversas topologÃas han sido descriptas en CTC-071.
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 | |
|
|
CTC-073_XBeeWiFiSalidas.pdf | CTC-073_XBeeWiFiSalidas.pdf |
Comentario Técnico: CTC-073 TÃtulo: Utilización de XBee Wi-Fi con actuadores remotos
En este comentario técnico describimos la forma de configurar los módulos XBee Wi-Fi para utilización en
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. El control puede realizarse tanto de un host IP, utilizando el XBee Application | |
|
|
CTC-074_HT32F_BitBanding.pdf | CTC-074_HT32F_BitBanding.pdf |
Comentario Técnico: CTC-074 TÃtulo: Utilización de area de bit banding en HT32F con CMSIS 2.0
En este comentario técnico describimos la forma de utilización del área de bit banding de Cortex-M3 en el
HT32F125x de Holtek
C o n t r o l d e l a s s a l i d a s
La implementación de CMSIS de Holtek, al momento de escribir esta nota, no incluye macros para poder
acceder a los pines de I/O bit a bit. Sin embargo, esto es muy simple de resolver mediante algunas macros que
aplican la definición standard del área de bit banding y el álgebra correspondiente. Por ejemplo, para operar
sobre un pin cualquiera del GPIOB:
#define MI_PINb 15
// Bit-band alias = Bit-band base + (byte offset * 32) + (bit number * 4)
/* Bit-Band for Device Specific Peripheral Registers */ | |
|
|
CTC-075_HT32F125x_ADC.pdf | CTC-075_HT32F125x_ADC.pdf |
Comentario Técnico: CTC-075 TÃtulo: Utilización de ADC en HT32F125x
En este comentario técnico describimos la forma de utilización del área conversor AD en el HT32F125x de
Holtek
Al momento de publicación de este documento, la literatura de Holtek no es del todo clara en el uso del
conversor AD, particularmente en modo polled. Este Comentario Técnico intenta aclarar y proveer un ejemplo
de utilización.
Detección de fin de conversión y lectura
Para esto debemos observar los bits ADIRAW en el registro ADCIRAW, según el tipo de conversión. Este bit
se setea al finalizar la conversión, y debe ser reseteado manualmente.
El dato convertido se almacena en un registro interno y requiere de algunos ciclos de clock del ADC para
pasar al registro de datos. Por este motivo, si se lee inmediatamente el registro de datos, se obtiene un dato | |
|
|
Software de soporte CTC-075: | CTC-075_Software.zip |
|
|
CTC-076_ARM_CMSIS_IO.pdf | CTC-076_ARM_CMSIS_IO.pdf |
Comentario Técnico: CTC-076 TÃtulo: Utilización de I/O en ARM mediante CMSIS
En este comentario técnico describimos brevemente el entorno CMSIS y la forma de utilización en I/O para
varios procesadores ARM Cortex-M3.
CMSIS
Se trata de un conjunto de reglas y un grupo de archivos que conforman un nivel de abstracción que permite
acceder a micros de diferentes fabricantes de una forma común; siempre que utilicen un core de la serie
Cortex-M, es decir, Cortex-M3, Cortex-M4, Cortex-M0, Cortex-M0+, Cortex-M71. Este tipo de interfaz
independiente del dispositivo se basa fundamentalmente en proveer un punto de acceso abstracto para que ya
sea kernels de RTOSes, aplicaciones de usuario, o incluso middleware; puedan operar sobre cualquiera de estos
micros en particular, prácticamente sin cambios. Las reglas de programación aseguran que las interfaces
provistas por diferentes fabricantes tengan una filosofÃa y una forma común, de modo de poder cambiar de uno | |
|
|
Software de soporte CTC-076: | CTC-076_Software.zip |
|
|
CTC-077_SIMCOM_GNSS.pdf | CTC-077_SIMCOM_GNSS.pdf |
Comentario Técnico: CTC-077 TÃtulo: Módulos SIMCOM con GNSS
En este comentario técnico describimos brevemente los módulos SIMCOM de la serie SIM800 y posteriores,
con soporte GNSS.
GNSS
Significa Global Navigation Satellite System, y se trata de un nombre genérico para referirse a un sistema de
navigación satelital. Existen varios de estos tipos de sistemas, el más famoso es el sistema GPS de los Estados
Unidos, seguido por el sistema GLONASS de Rusia.
Un sistema GNSS puede tener receptores GPS, GLONASS, u otros, de uno o más de ellos.
Comandos AT para GNSS
Los módulos SIMCOM incorporan comandos del tipo AT+CGNS para acceder a las funciones de
posicionamiento global, los mismos se describen en una nota de aplicación de SIMCOM. | |
|
|
CTC-078_SIMCOM_BluetoothSPP.pdf | CTC-078_SIMCOM_BluetoothSPP.pdf |
Comentario Técnico: CTC-078 TÃtulo: Módulos SIMCOM con Bluetooth, perfil SPP
En este comentario técnico describimos brevemente los módulos SIMCOM de la serie SIM800 y posteriores,
con soporte Bluetooth. Emplearemos el perfil SPP (Serial Port Profile) para que nos sirva como herramienta de
ayuda en la configuración y/o control de nuestro equipo.
Si bien nada reemplaza la lectura de la nota de aplicación ad hoc, proponemos un simple sistema en breves y
cortos pasos. Antes de comenzar, nuestro módulo debe tener el firmware BT, existen dos variantes de
firmware: con y sin BT, y obviamente sólo la que indica que es 'BT' soporta los comandos para Bluetooth.
SIMCOM.
Manager†para Android. Recibiremos una indicación no solicitada +BTCONNECTING
identifica a la conexión, un número, 'x'.
solicitada +BTSPPDATA. Podemos enviar mensajes al dispositivo utilizado para conectarnos mediante el | |
|
|
CTC-079_ESP8266_SoftAP.pdf | CTC-079_ESP8266_SoftAP.pdf |
Comentario Técnico: CTC-079 TÃtulo: Módulos y chips ESP8266, soft Access Point
En este comentario técnico describimos brevemente la utilización del soft Access Point (soft-AP) disponible en
los módulos basados en ESP8266 de Espressif, como el ESP-WROOM, para que nos sirva como herramienta de
ayuda en la configuración y/o control de nuestro equipo.
Si bien nada reemplaza la lectura del manual de comandos AT, proponemos un simple sistema en breves y
cortos pasos.
y la de SDK al menos 1.4.0. Versiones anteriores podrÃan funcionar pero no lo hemos comprobado.
habilitamos el modo 'station' y el soft-AP simultáneos, de modo que el módulo pueda funcionar como un
Access Point y a la vez conectarse a otro como un host común y corriente.
opcional, por defecto es 192.168.4.1 para la versión usada, y puede consultarse mediante el mismo comando.
AT+CWDHCP_CUR=â€IPinicialâ€,â€IPfinalâ€. Esto es opcional, por defecto es un rango dentro de la misma | |
|
|
CTC-080_ModulosQuectel.pdf | CTC-080_ModulosQuectel.pdf |
Comentario técnico: CTC-080 Componente: Módulos GSM Quectel
Si bien nada reemplaza la lectura del manual del usuario, y menos la nota de aplicación a este respecto que
provee el fabricante, proponemos un simple sistema en breves y cortos pasos para enviar y recibir datos
mediante el módulo GSM, ya sea vÃa TCP o UDP.
Opción 1: migraciones desde Simcom
según cuál sea nuestro proveedor, deberemos ingresar uno de los siguientes comandos:
esta información)
comando AT+QICSGP, según cuál sea nuestro proveedor, veremos los parámetros respectivos
en la opción 1 anterior; ejemplo: AT+QICSGP=1,"","",""
luego de un tiempo, devuelve OK.
IP obtenida. | |
|
|
CTC-081_ModulosQuectel.pdf | CTC-081_ModulosQuectel.pdf |
Comentario técnico: CTC-081 Componente: Módulos GSM Quectel, modo transparente
Adicionalmente a lo explicado en el comentario técnico CTC-080, detallamos la configuración para modo
transparente. En este modo
un modem telefónico cuando está conectado con otro; todo lo que se ingrese por el puerto serie será
transmitido en un datagrama UDP o un segmento TCP, y todo lo que se reciba por ese socket será
transmitido por la interfaz serie. No todo lo que se recibe por el puerto serie es enviado inmediatamente,
existe un buffer en el cual se almacenan caracteres por un determinado tiempo. Los parámetros de operación
son configurables mediante el comando AT+QITCFG. Este comando también permite impedir el escape a
modo comando.
modo transparente, lo cual se realiza mediante la consabida secuencia +++, precedida y sucedida por 500ms
de silencio. El espaciado entre caracteres no deberá ser superior a 20ms, por lo que no podrá probarse | |
|
|
CTC-082_Modulos3GQuectel.pdf | CTC-082_Modulos3GQuectel.pdf |
Comentario técnico: CTC-082 Componente: Módulos 3G Quectel
Si bien nada reemplaza la lectura del manual respectivo que provee el fabricante, proponemos un simple
sistema en breves y cortos pasos para enviar y recibir datos mediante el módulo 3G, ya sea vÃa TCP o UDP.
se realiza mediante el comando AT+QICSGP=,,"","",". AquÃ
es el número de contexto, que para los fines prácticos elegimos '1', y es el protocolo de
red, que también a fines prácticos elegimos '1', que corresponde a IPv4. Entonces, según cuál sea
nuestro proveedor, deberemos ingresar uno de los siguientes comandos:
* (De todos modos, deberÃa consultar y confirmar con el proveedor de telefonÃa celular esta
información).
correspondiente número de contexto: AT+QIACT=1. Luego de un tiempo, nos devuelve OK.
IP obtenida luego del identificador +QILOCIP: . | |
|
|
CTC-083_Quectel_3G-GSMdiff.pdf | CTC-083_Quectel_3G-GSMdiff.pdf |
Comentario técnico: CTC-083 Componente: Módulos 3G Quectel, diferencias con GSM
Entre las diferencias de operación esperables entre módulos 3G y lo que estamos acostumbrados en los
módulos GSM; en lo que a Quectel se refiere encontramos lo siguiente:
como por ejemplo un RING, el arribo de un SMS, o baterÃa baja, son enviadas por un puerto
configurable que bien puede no ser el que estamos usando, ya que por defecto corresponde al port
de comandos AT entre los ports virtuales que se configuran por la conexión USB. Dicho puerto se
configura mediante el comando AT+QURCCFG. Si estamos utilizando la UART para
comunicarnos con el módulo, deberemos introducir el comando AT+QURCCFG=
"urcport","uart1"
CTC-083 1
| |
|
|
CTC-084_XBee_ZigBee_MigrationGuide.pdf | CTC-084_XBee_ZigBee_MigrationGuide.pdf |
Comentario técnico: CTC-084 Componente: XBee ZigBee Migration Guide
Digi discontinúa la lÃnea de módulos ZB tradicionales, reemplazándolos por versiones equivalentes con el
chipset que usan las versiones SMT (ver CTC-067).
El reemplazo es pin-a-pin y no es necesario modificar hardware, sólo un pequeño cambio de configuración,
dado que las seis versiones de firmware (tres para cada tipo de dispositivo por dos modos de comunicación, AT
y API) convergen en una sola versión de firmware. De este modo, los nuevos ZB resultan polifuncionales
como los tradicionales 802.15.4 (cada uno en su ámbito, se entiende).
El documento que explica la forma de migrar es completo, claro y conciso. El único comentario es su particular
uso del lenguaje, donde 1dB a favor es 'una mejora' y 1dB en contra es 'comparable' en vez de ir en desmedro:
Más allá de esto, los módulos en general tienen mejor link-budget y por consiguiente mayor alcance LOS (line-
of-sight, lÃnea directa de visión), acompañado por menor consumo de corriente tanto en recepción como en | |
|
|
CTC-085_ESP32.pdf | CTC-085_ESP32.pdf |
Comentario técnico: CTC-085 Componente: ESP32(-WROOM-32)
Les presentamos el módulo ESP32 de Espressif, un combo WiFi con Bluetooth y Bluetooth Low Energy
Para comenzar, y reiterando al alerta técnico CTA-020, aclaramos a los amantes del módulo ESP-WROOM-02
(basado en el ESP8266) que esto es un mundo totalmente diferente: este módulo requiere sà o sà que se le grabe
algún firmware.
Sin entrar en los apabullantes detalles y caracterÃsticas técnicas que hacen que el ESP32 sea muy superior, nos
centraremos en las alternativas de uso y las diferencias fundamentales.
Desde el punto de vista del “usuario final†(por llamarlo de algún modo), refiriéndonos a quien emplea el
módulo a través de su puerto serie controlándolo mediante comandos AT, observamos lo siguiente:
• el stack TCP/IP presente en el firmware AT del ESP-WROOM-02 está basado en una versión arcana de
lwIP1 tomada del git head en algún punto de su evolución posterior a la versión 1.4.1. El fabricante ha | |
|
|
CTC-086_IooT.pdf | CTC-086_IooT.pdf |
Comentario técnico: CTC-086 Componente: Internet de nuestras cosas (¿IooT?)
Existe la Internet y existen las cosas. Algunas de esas cosas tienen conexión a alguna red. El monitorear y
controlar de manera remota dispositivos que nos entregan un dato de interés o realizan una tarea de servicio es
tan viejo como las comunicaciones digitales mismas; la tecnologÃa actual ayuda un poco más, pero muchos
conceptos tienen ya varias décadas.
El concepto de la IoT nace como la evolución del M2M, pero las cosas no hablan entre sà todavÃa,
simplemente porque no hay un lenguaje común, aún, pero cuando comiencen a hacerlo van a tener que
resolver algunos problemas de logÃstica para encontrarse entre sÃ.
Fuera del concepto como propulsor de mercado y generador de ingresos, el hecho es que nosotros hoy
queremos hablar con las cosas o que nos digan algo, y tal vez que hablen entre sÃ, y para que eso suceda
nosotros debemos diseñar una red. Lo que en realidad queremos, quienes tenemos una relación con la | |
|
|
CTC-087_MQTT.pdf | CTC-087_MQTT.pdf |
Comentario técnico: CTC-087 Componente: MQTT
En el CTC-086 charlamos sobre la “Internet de nuestras cosas†y propusimos una solución escalable basada en
MQTT, a la vez que recomendamos recurrir a los grandes proveedores para una red de envergadura. Vamos a
enfocarnos aquà en MQTT para quienes deseen conocer más o emplearlo directamente. Procederemos
entonces a describir brevemente qué es y cómo opera este protocolo; cuya versión corriente es MQTT 5 y tal
vez la más difundida es MQTT 3.1.1. Nos centraremos en los aspectos comunes a ambas versiones.
Breve descripción
MQTT (MQ1 Telemetry Transport) es desarrollado a fines de los años '90 con el fin de resolver un problema de
reutilización de datos y optimizar su entrega; particularmente en redes y sistemas donde el ancho de banda es
escaso y por ende costoso.
El diseño de MQTT responde al paradigma publish/subscribe, publicar/suscribirse. En este modelo | |
|
|
CTC-088_Display_Color_Proculus_P48272J43C-T01.pdf | CTC-088_Display_Color_Proculus_P48272J43C-T01.pdf |
Comentario técnico: CTC-088 TÃtulo: Display Color Proculus P48272J43C-T01
El presente tutorial describe las caracterÃsticas y utilización del display color inteligente P48272J43C-T01 de
la empresa Proculus.
Ãndice de contenido
Breve descripción del display.............................................................................................................................1
Utilización..........................................................................................................................................................1
Conexión con un micro o equivalente..........................................................................................................1
Conexión con una PC o equivalente.............................................................................................................1
Software “UnicView ADâ€..................................................................................................................................2
Nuevo proyecto.............................................................................................................................................2
Diseño de la imagen......................................................................................................................................4 | |
|
|
CTC-089_WiFi_EnterpriseAuthentication.pdf | CTC-089_WiFi_EnterpriseAuthentication.pdf |
Comentario técnico: CTC-089 Componente: WiFi Enterprise Authentication
Las redes WiFi hogareñas son relativamente fáciles de administrar. Debido a la escalabilidad del manejo de las
cuentas de usuario y los requerimientos de buenas prácticas en seguridad informática, las empresas suelen
utilizar el esquema de autenticación empresarial que WiFi provee. Si nuestro desarrollo con soporte WiFi es
un producto que puede o va a ser utilizado en un ambiente empresarial, deberÃamos tener presente cómo
funciona este esquema, qué opciones tenemos, y finalmente cómo configurar nuestro módulo para afrontar el
desafÃo. Idealmente, también deberÃamos ser capaces de probar el funcionamiento.
La autenticación en 802.11 WPA2 Enterprise se realiza mediante EAP (Extensible Authentication Protocol),
un marco de autenticación que nos permite elegir entre una serie de mecanismos (métodos) de autenticación
según lo especificado por IEEE 802.1X (EAPOL, EAP over LAN)1. Se realiza entonces, mediante EAP, entre
el dispositivo que se conecta a la red, y un servidor RADIUS (Remote Authentication Dial-In User Service); el | |
|
|
Archivos adicionales CTC-089: | CTC-089_Archivos.zip |
|
|
CTC-090_WiFi_Enterprise_ESP32_Mongoose-OS.pdf | CTC-090_WiFi_Enterprise_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-090 Componente: WiFi Enterprise Authentication con ESP32 y Mongoose-OS
En el CTC-089 comentamos cómo funciona la autenticación Enterprise en 802.11 WPA2. En este Comentario
Técnico vamos a ver los detalles de configuración del ESP32, con Mongoose-OS, para poder conectarnos a
una red WiFi con este tipo de seguridad. Para poder comprobar la correcta operación, hacemos uso de
conceptos enunciados y archivos provistos en dicho Comentario Técnico; por lo que es altamente
recomendable su lectura.
El ESP32 soporta, mediante el IDF, las siguientes opciones; con las caracterÃsticas mencionadas:
• EAP-TLS
◦ Requiere certificados de la CA y del usuario, asà como la clave (key) del usuario
• PEAP-MSCHAPv2
â—¦ Requiere certificado de la CA, nombre de usuario y password. Certificado y clave (key) del | |
|
|
Software de soporte CTC-090: | CTC-090_Software.zip |
|
|
CTC-091_HTTP_Auth_ESP32_Mongoose-OS.pdf | CTC-091_HTTP_Auth_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-091 Componente: Autorización en servidor web con ESP32 y Mongoose-OS
Mongoose-OS incorpora un servidor HTTP con Digest Authentication que podemos aprovechar para limitar
quiénes pueden acceder al mismo. La identificación es simplemente por una pareja usuario/password, pero al
menos es un modo simple y rápido (particularmente en un microcontrolador) de proveer una seguridad
mÃnima. Esto no evita que lo que se envÃa pueda ser observado con un sniffer, tema que abordaremos en otra
oportunidad; sin embargo el password no es revelado.
HTTP Digest
Es una de las formas posibles de autenticación en un servidor web. Posee, frente al método básico original, la
ventaja de no revelar la clave del usuario, la cual en vez de ser enviada es comprobada mediante una
operación de hashing realizada por ambos interlocutores. El servidor puede, de este modo, validar al usuario y
permitirle acceso a los contenidos protegidos. El usuario, sin embargo, no tiene forma de saber si el servidor | |
|
|
Software de soporte CTC-091: | CTC-091_Software.zip |
|
|
CTC-092_HTTP_TLS_ESP32_Mongoose-OS.pdf | CTC-092_HTTP_TLS_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-092 Componente: TLS en servidor web con ESP32 y Mongoose-OS
Mongoose-OS incorpora un servidor HTTP con soporte TLS. Esto nos permite por un lado que quienes se
conectan a él puedan verificar que se trata de ese servidor; y por otro nos da una herramienta para autenticar la
identidad de esas conexiones, es decir, que realmente sean usuarios autorizados. La autenticación se realiza
por certificados X.509, y luego de realizada se derivan claves que permiten encriptar la información que viaja.
Esto significa que lo que se envÃa no puede ser observado con un sniffer y la única forma de impersonar a una
entidad es mediante la posesión del certificado y la clave privada de la que se deriva.
TLS
TLS (Transport Layer Security) permite autenticar mutuamente ambas entidades en una conversación y
mantener la integridad de la misma. Se trata de un esquema de autenticación más complicado, con un ente
certificador, quien genera las claves y certificados que se utilizan en el proceso. Dado que TLS se deriva de | |
|
|
Software de soporte CTC-092: | CTC-092_Software.zip |
|
|
CTC-093_MQTT_TLS_ESP32_Mongoose-OS.pdf | CTC-093_MQTT_TLS_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-093 Componente: MQTT sobre TLS con ESP32 y Mongoose-OS
Mongoose-OS incorpora un cliente MQTT con soporte TLS. Esto nos permite por un lado autenticar al
servidor, y por otro que la infraestructura del servidor pueda autenticar la identidad de esas conexiones, es
decir, que realmente sean usuarios autorizados. Hemos visto el funcionamiento de TLS en el CTC-092, por lo
que aquà nos centraremos en los detalles relativos a MQTT y más adelante en una caracterÃstica diferente
como es TLS-PSK, que permite realizar la misma tarea con un nivel más relajado en la autenticación y
logÃstica asociada.
Configuración
Configuramos el ESP32 con Mongoose-OS para tener un cliente MQTT y conectarse como cliente a una red
WiFi. Dado que debemos conectarnos a un servidor, ésta nos resulta la forma tal vez más rápida y simple de
realizar las pruebas y explicar la operación. La configuración puede realizarse manualmente mediante RPC, | |
|
|
Software de soporte CTC-093: | CTC-093_Software.zip |
|
|
CTC-094_RPC_Auth_ESP32_Mongoose-OS.pdf | CTC-094_RPC_Auth_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-094 Componente: Autorización en RPC de Mongoose-OS con ESP32
Mongoose-OS incorpora una API del tipo RPC (Remote Procedural Call) que podemos aprovechar y extender.
La misma, tanto a través del servidor HTTP como en otros transportes, incorpora una forma de Digest
Authentication que podemos aprovechar para limitar quiénes pueden acceder y qué es lo que pueden hacer. La
identificación es simplemente por una pareja usuario/password, mientras que una ACL (Access Control List)
decide cuáles usuarios pueden ejecutar cada RPC. Esto no evita que lo que se envÃa pueda ser observado con
un sniffer, tema que requiere TLS, abordado en el CTC-092. El password no es revelado pues la identidad se
valida mediante un intercambio de hashes.
Digest Authentication
Hemos visto en el CTC-091 la autorización por HTTP Digest, sin entrar en detalles. La empleada en
Mongoose-OS para las RPC es muy similar. De hecho cuando el transporte utilizado es HTTP es idéntica. Si | |
|
|
Software de soporte CTC-094: | CTC-094_Software.zip |
|
|
CTC-095_RPC_WebSocket_ESP32_Mongoose-OS.pdf | CTC-095_RPC_WebSocket_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-095 Componente: RPC de Mongoose-OS por WebSocket con ESP32
Mongoose-OS incorpora una API del tipo RPC (Remote Procedural Call) que podemos utilizar a través de
diversos transportes. El servidor HTTP que provee también incluye soporte para WebSocket, por lo que la
utilización de RPC sobre WebSocket resulta ideal para la implementación de interfaces de usuario en
dispositivos sin visualización, en situaciones en las que disponemos de acceso por red al dispositivo. Todo lo
que hemos desarrollado en comentarios técnicos anteriores es válido también para este transporte, por lo que
dispondremos además de autorización y encripción TLS si asà lo deseamos.
WebSocket
Se trata de un protocolo binario de comunicación full-duplex. Su principal ventaja aparece por oposición a
HTTP, que es “coloquial†en el sentido que los mensajes son texto legible por un humano y half-duplex: debe
establecerse una conexión, pedir un elemento, y éste es devuelto. La comparación es válida en tanto que | |
|
|
Software de soporte CTC-095: | CTC-095_Software.zip |
|
|
CTC-096_RPC_MQTT_ESP32_Mongoose-OS.pdf | CTC-096_RPC_MQTT_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-096 Componente: RPC de Mongoose-OS por MQTT con ESP32
Mongoose-OS incorpora una API del tipo RPC (Remote Procedural Call) que podemos utilizar a través de
diversos transportes. Entre ellos disponemos de MQTT. La utilización de RPC sobre MQTT resulta ideal para
control y monitoreo de un dispositivo en situaciones en las que no disponemos de un acceso por red al mismo
ya que se encuentra detrás de un firewall, o incluso para desacoplar la aplicación. Todo lo que hemos
desarrollado en comentarios técnicos anteriores es válido también para este transporte, por lo que
dispondremos además de autorización y encripción TLS si asà lo deseamos.
Bidireccionalidad
Hemos visto en CTC-086 y CTC-087 diversos esquemas de red y como MQTT nos permitÃa desacoplar la
aplicación y concentrarnos en bloques independientes. Comentamos además que se trataba de un esquema en
esencia unidireccional pero que habÃa algunas alternativas interesantes. Pues bien, Mongoose-OS incorpora un | |
|
|
Software de soporte CTC-096: | CTC-096_Software.zip |
|
|
CTC-097_SNTP_ESP32_Mongoose-OS.pdf | CTC-097_SNTP_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-097 Componente: SNTP con ESP32 y Mongoose-OS
Mongoose-OS incorpora un cliente SNTP, una versión simplificada de NTP (Network Time Protocol). Esto
nos permite conectarnos a servidores NTP (en Internet o en nuestra red) y obtener información precisa de
fecha y hora sin necesidad de contar con un RTC y evitando el inconveniente de tener que ponerlo en hora.
Configuración
Configuramos el ESP32 con Mongoose-OS para conectarse como cliente a una red WiFi. Dado que debemos
conectarnos a un servidor, ésta nos resulta la forma tal vez más rápida y simple de realizar las pruebas y
explicar la operación. La configuración puede realizarse manualmente mediante RPC, en un archivo de
configuración JSON; o definirla en el archivo YAML que describe el proyecto. Para las pruebas elegimos esta
última opción.
libs: | |
|
|
Software de soporte CTC-097: | CTC-097_Software.zip |
|
|
CTC-098_File-logger_ESP32_Mongoose-OS.pdf | CTC-098_File-logger_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-098 Componente: archivos de log de Mongoose-OS con ESP32
Mongoose-OS incorpora un esquema de log en archivos rotativos que además provee un acceso mediante la ya
varias veces mencionada API del tipo RPC (Remote Procedural Call), a la cual podemos acceder y utilizar a
través de diversos transportes. Este esquema de bitácora puede tanto tomar mensajes del sistema como los que
nuestra aplicación voluntariamente genera, lo cual nos resulta una excelente herramienta “forense†a la hora
de intentar inferir por qué pasó lo que no debÃa haber pasado.
File-logger
Se trata de un esquema similar al encontrado tradicionalmente en los servidores, en el que un grupo de
archivos se va llenando de a uno por vez con mensajes provenientes de diversas fuentes (y en respuesta a
sucesos que ameritan la escritura), cambiando de archivo cuando se llega a un determinado tamaño. Cuando se
alcanza una cierta cantidad de archivos, el esquema borra el último. Esto funciona en cierta forma como un | |
|
|
Software de soporte CTC-098: | CTC-098_Software.zip |
|
|
CTC-099_GCP_GoogleCloudPlatform.pdf | CTC-099_GCP_GoogleCloudPlatform.pdf |
Comentario técnico: CTC-099 Componente: Google Cloud Platform
En el CTC-086 charlamos sobre la “Internet de nuestras cosas†y propusimos una solución escalable basada en
MQTT, a la vez que recomendamos recurrir a los grandes proveedores para una red de envergadura.
Analizaremos ahora una parte de la implementación de ese tipo de soluciones en uno de esos grandes
proveedores. En esta oportunidad es Google, y nos referimos a la Google Cloud Platform. En particular,
desarrollaremos la utilización de Cloud IoT Core, el producto de conectividad basado en MQTT y HTTP que
nos permite concentrar la información proveniente de nuestros dispositivos.
Ãndice de contenido
Breve descripción de GCP (desde nuestro punto de vista)................................................................................1
Breve descripción de Cloud IoT Core...............................................................................................................2
MQTT bridge................................................................................................................................................3 | |
|
|
CTC-100_GCP_ESP32_Mongoose-OS.pdf | CTC-100_GCP_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-100 Componente: Conexión del ESP32 con Mongoose-OS a Google Cloud Platform
En el CTC-099 analizamos la Google Cloud Platform (GCP) y desarrollaremos la utilización de Cloud IoT
Core, el servicio de conectividad, utilizando MQTT. Mongoose-OS incorpora un cliente MQTT y una library
con soporte para GCP, por lo que en este Comentario Técnico analizaremos la forma de conectarnos a dicha
plataforma IoT con un ESP32 y Mongoose-OS.
Configuración
El proceso de configuración para la utilización de un dispositivo en esta plataforma se desarrolla
fundamentalmente en dos partes
credenciales (y parámetros de configuración) en el dispositivo
Si estamos desarrollando, existe un tercer paso, opcional, que nos puede ahorrar bastante trabajo. Consiste en
obtener las credenciales del dispositivo y guardarlas en el proyecto, de modo de no tener que borrarlo y | |
|
|
Software de soporte CTC-100: | CTC-100_Software.zip |
|
|
CTC-101_RPC_GCP_ESP32_Mongoose-OS.pdf | CTC-101_RPC_GCP_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-101 Componente: RPC de Mongoose-OS en GCP con ESP32
En el CTC-099 analizamos la Google Cloud Platform (GCP) y desarrollamos la utilización de Cloud IoT Core.
En el CTC-100 nos conectamos utilizando MQTT a dicha plataforma IoT con un ESP32 y Mongoose-OS. Este
entorno incorpora una API del tipo RPC (Remote Procedural Call) que podemos utilizar a través de MQTT,
como analizamos en el CTC-096. Analizaremos en esta oportunidad la utilización de esta API RPC para
control y monitoreo de dispositivos conectados a la Google Cloud Platform.
Breve descripción del funcionamiento
La operación de RPC se realiza sobre el mismo esquema de conexión que analizamos en el CTC-100, es decir,
sobre el bridge MQTT de Cloud IoT Core. Como tal, está limitada en principio a una operación muy similar a
la descripta en el CTC-096. Dadas las limitaciones adicionales que impone la plataforma, no es posible
utilizar cualquier tópico, sino que la operación se realiza mediante los tópicos de eventos y comandos, | |
|
|
Software de soporte CTC-101: | CTC-101_Software.zip |
|
|
CTC-102_MQTT_TLS_SIMCOM.pdf | CTC-102_MQTT_TLS_SIMCOM.pdf |
Comentario técnico: CTC-102 Componente: MQTT (sobre TLS) con SIMCOM
Algunos módulos SIMCOM como el SIM7600 incorporan un cliente MQTT con soporte TLS. Esto nos facilita
el conectarnos a proveedores de servicios IoT y mantener una cierta seguridad en el contenido de la
información y la autenticidad de quien supuestamente la publica; dado que TLS nos permite por un lado
autenticar al servidor, y por otro que la infraestructura del servidor pueda autenticar la identidad de esas
conexiones, es decir, que realmente sean usuarios autorizados. Para más información sobre MQTT, consultar
el CTC-087. El funcionamiento de TLS lo describimos brevemente en el CTC-092; mientras que en el CTC-
Configuración
El cliente MQTT de SIMCOM, al menos en el SIM7600, puede tener hasta dos instancias; es decir, podemos
conectarnos a dos brokers diferentes. Cada instancia puede utilizar o no TLS, y de hacerlo dispone de varios
contextos para elegir. Cada contexto almacena las claves y se configura de manera independiente. Quien | |
|
|
Archivos adicionales CTC-102: | CTC-102_Archivos.zip |
|
|
CTC-103_GCP_JWT_SIMCOMyOtros.pdf | CTC-103_GCP_JWT_SIMCOMyOtros.pdf |
Comentario técnico: CTC-103 Componente: Conexión a Google Cloud Platform desde SIMCom y otros
En el CTC-099 analizamos la Google Cloud Platform (GCP) y desarrollamos la utilización de Cloud IoT Core,
el servicio de conectividad, utilizando MQTT. Comentamos allà brevemente que la autenticación emplea
JSON Web Tokens (JWT), por lo que desarrollaremos aquà algunas de las alternativas a la hora de
implementarlo. Si bien el enfoque principal es desde el empleo de módulos SIMCom, las alternativas son
válidas para cualquier desarrollo con conectividad a esta plataforma.
Módulos SIMCom
Los módulos SIMCom con cliente MQTT como el SIM7600, no poseen una estructura de comandos que
permita soportar la generación de JWT. Si bien el módulo posee manejo de SSL y hasta comandos AT para
recibir claves, el fabricante no tiene pensado introducir los comandos necesarios para esto.
Alternativas | |
|
|
CTC-104_AWS_AmazonWebServices.pdf | CTC-104_AWS_AmazonWebServices.pdf |
Comentario técnico: CTC-104 Componente: Amazon Web Services
En el CTC-086 charlamos sobre la “Internet de nuestras cosas†y propusimos una solución escalable basada en
MQTT, a la vez que recomendamos recurrir a los grandes proveedores para una red de envergadura.
Analizaremos ahora una parte de la implementación de ese tipo de soluciones en uno de esos grandes
proveedores. En esta oportunidad es Amazon, y nos referimos a los Amazon Web Services. En particular,
desarrollaremos la utilización de AWS IoT, el conjunto de servicios para la Internet de las cosas, y nos
enfocaremos de manera más especÃfica en AWS IoT Core, el producto de conectividad basado en MQTT y
HTTP que nos permite concentrar la información proveniente de nuestros dispositivos.
Ãndice de contenido
Breve descripción de AWS (desde nuestro punto de vista)...............................................................................1
Breve descripción de AWS IoT..........................................................................................................................2 | |
|
|
CTC-105_AWS_ESP32_Mongoose-OS.pdf | CTC-105_AWS_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-105 Componente: Conexión del ESP32 con Mongoose-OS a Amazon Web Services
Revisiones Fecha Comentarios
En el CTC-104 analizamos los Amazon Web Services (AWS) y desarrollamos la utilización de AWS IoT Core,
el servicio de conectividad, utilizando MQTT. Mongoose-OS incorpora un cliente MQTT y una library con
soporte para AWS, por lo que en este Comentario Técnico analizaremos la forma de conectarnos a dicha
plataforma IoT con un ESP32 y Mongoose-OS.
Configuración
El proceso de configuración para la utilización de un dispositivo en esta plataforma se desarrolla
fundamentalmente en dos partes
credenciales (y parámetros de configuración) en el dispositivo
Si estamos desarrollando, existe un tercer paso, opcional, que nos puede ahorrar bastante trabajo. Consiste en | |
|
|
Software de soporte CTC-105: | CTC-105_Software.zip |
|
|
CTC-106_AWS_SIMCOM.pdf | CTC-106_AWS_SIMCOM.pdf |
Comentario técnico: CTC-106 Componente: Conexión de módulos SIMCOM con soporte MQTT a Amazon
Revisiones Fecha Comentarios
En el CTC-104 analizamos los Amazon Web Services (AWS) y desarrollamos la utilización de AWS IoT Core,
el servicio de conectividad, utilizando MQTT. En el CTC-102 vimos la forma de conectar los módulos
SIMCOM como el SIM7600 a un broker MQTT. En este Comentario Técnico analizaremos la forma de
conectarnos a dicha plataforma con dichos módulos.
Credenciales y AWS IoT Core
Antes de proseguir, es fundamental que hayamos leÃdo el CTC-104 y que hayamos realizado el quickstart de
AWS IoT Core.
Las acciones a realizar son:
• cargar el dispositivo en la registry | |
|
|
CTC-107_M5Stack_ESP32_Mongoose-OS.pdf | CTC-107_M5Stack_ESP32_Mongoose-OS.pdf |
Comentario técnico: CTC-107 Componente: M5Stack como herramienta de desarrollo para ESP32 con
Revisiones Fecha Comentarios
El M5Stack no es sólo un simpático juguete para hobbyistas, puede ser una interesante herramienta de
desarrollo para el ESP32 y fundamentalmente una plataforma a la que podemos rápidamente agregar
componentes y obtener el hardware necesario para disponer de una maqueta, una prueba de concepto, sin tener
que reinventar la rueda con cada prospecto de desarrollo y reutilizando nuestro código existente. Veremos aquÃ
cómo podemos hacer esto con la ayuda de Mongoose-OS.
Descripción del M5Stack
El M5Stack cuenta con un display color de 2†con resolución de 320x240 pÃxeles, tres
botones, conectores Grove1, baterÃa de 500mAh y antena WiFi, todo en un gabinete cómodo
y pequeño. El display nos permite además tener la posibilidad de visualización del estado | |
|
|
Software de soporte CTC-107: | CTC-107_Software.zip |
|
|
| ESD.pdf |
Title: Word Pro - esd.lwp 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. | |
|
|