| CAN-001_LCD-Rabbit.pdf | CAN-001_LCD-Rabbit.pdf |
Nota de Aplicación: CAN-001
Título: Utilización de displays LCD inteligentes con Rabbit 2000
Analizaremos a continuación las posibilidades de conexión de un display LCD inteligente a un módulo
Rabbit Core RCM2xxx.
Este tipo de conexión es muy similar a la que se emplea con cualquier microcontrolador del mercado. La
única variante es que el Rabbit 2000 tiene ports bidireccionales, de entrada, y de salida. Para mantener
compatibilidad con los módulos con puerto Ethernet, se recomienda utilizar sólo aquellos que se hallen libres
en esos módulos. El port A, bidireccional, se encarga de los datos, y el port E nos servirá para generar las
señales de control mediante software.
Este tipo de conexión es la tradicional para un microprocesador, y nos permite aprovechar mejor el espacio de
direccionamiento y los ports del Rabbit 2000.
Un inconveniente común, en el caso de los displays con interfaz del tipo 6800 (la gran mayoría de los | |
|
|
| CAN-002_LCDalpha-Rabbit.pdf | CAN-002_LCDalpha-Rabbit.pdf |
Nota de Aplicación: CAN-002
Título: Utilización de displays LCD alfanuméricos con Rabbit 2000
Nos interiorizaremos ahora en el desarrollo de una interfaz para conectar un módulo LCD alfanumérico
inteligente a un módulo Rabbit utilizando ports de I/O, como se haría con la mayoría de los
microcontroladores. Analizaremos más tarde el software de control y un simple programa demostración, que
sirve para comprobar el correcto funcionamiento de los módulos LCD que tengamos en stock. A fin de probar
la mayor parte posible del hardware, la interfaz será de 8 bits y realizará lectura y escritura del controlador
LCD.
Hardware
No es necesario ningún tipo de glue-logic, hacemos una conexión directa entre
los ports del Rabbit y el LCD, al igual que con la gran mayoría de los
microcontroladores, como puede apreciarse en la tabla a la derecha: | |
|
|
| Software de soporte CAN-002: | CAN-002_Software.zip |
|
|
| CAN-003_LCDgraphHD61202-Rabbit.pdf | CAN-003_LCDgraphHD61202-Rabbit.pdf |
Nota de Aplicación: CAN-003
Título: Utilización de displays LCD gráficos (HD61202) con Rabbit 2000
Nos interiorizaremos ahora en el desarrollo de una interfaz para conectar un módulo LCD gráfico inteligente
a un módulo Rabbit utilizando ports de I/O, como se haría con la mayoría de los microcontroladores.
Utilizaremos un módulo Powertip PG12864, de 128x64 pixels, basado en chips controladores compatibles con
el HD61202, de Hitachi, y su clon: el KS0108, de Samsung. Analizaremos más tarde el software de control y
un simple programa demostración, que sirve para comprobar el correcto funcionamiento de los módulos LCD
que tengamos en stock, y de paso, demostrar sus capacidades gráficas. A fin de probar la mayor parte posible
del hardware, la interfaz será de 8 bits y realizará lectura y escritura del controlador LCD.
Hardware
Dado que el controlador utilizado en estos módulos sólo es capaz de direccionar
izquierda y otro para la parte derecha del display. El hardware de conexión resulta | |
|
|
| Software de soporte CAN-003: | CAN-003_Software.zip |
|
|
| CAN-004_LCDgraphHD61202-Rabbit-HTTP.pdf | CAN-004_LCDgraphHD61202-Rabbit-HTTP.pdf |
Nota de Aplicación: CAN-004
Título: Pizarra remota via HTTP con Rabbit 2000 y LCD gráfico (HD61202)
Desarrollamos una simple aplicación de un módulo LCD gráfico inteligente y un módulo Rabbit conectado a
una red Ethernet. Se trata de una "pizarra remota" que puede escribirse via HTTP. El módulo Rabbit funciona
como un servidor web y con cualquier navegador podemos escribir un simple mensaje en la pizarra. Más allá
de su posible utilidad en la vida real, esta aplicación nos permite ejemplificar el uso de las capacidades de
TCP/IP de Dynamic C.
Como display, utilizaremos un módulo Powertip PG12864, de 128x64 pixels, basado en chips controladores
compatibles con el HD61202, de Hitachi, y su clon: el KS0108, de Samsung. No se darán demasiados detalles
acerca del display y su software de control, dado que este tema se ha desarrollado en la CAN-003. El lector
puede remitirse a dicha nota de aplicación para mayor información.
Hardware | |
|
|
| Software de soporte CAN-004: | CAN-004_Software.zip |
|
|
| CAN-005_LCDgraphSED1335-Rabbit.pdf | CAN-005_LCDgraphSED1335-Rabbit.pdf |
Nota de Aplicación: CAN-005
Título: Utilización de displays LCD gráficos (SED1335) con Rabbit 2000
Nos interiorizaremos ahora en el desarrollo de una interfaz para conectar un módulo LCD gráfico inteligente
Powertip PG320240FRS, a un módulo Rabbit 2000. Se trata de un display de 320x240 pixels basado en chips
controladores compatibles con el SED1335, de S-MOS, y su clon de Epson. Analizaremos más tarde el
software de control y un simple programa demostración, que sirve para comprobar el correcto funcionamiento
de los módulos LCD que tengamos en stock, y de paso, demostrar sus capacidades. A fin de probar la mayor
parte posible del hardware, la interfaz será de 8 bits y realizará lectura y escritura del controlador LCD.
Hardware
El SED1335 presenta una interfaz con dos posibles modos de trabajo: tipo
Motorola (E, RS, R/W) o tipo Intel (RD, WR, A0). El PG320240FRS de Powertip
lo utiliza en esta última modalidad. | |
|
|
| Software de soporte CAN-005: | CAN-005_Software.zip |
|
|
| CAN-006_LCDgraphSED1335-Rabbit-HTTP.pdf | CAN-006_LCDgraphSED1335-Rabbit-HTTP.pdf |
Nota de Aplicación: CAN-006
Título: Pizarra remota via HTTP con Rabbit 2000 y LCD gráfico (SED1335)
Desarrollamos una simple aplicación de un módulo LCD gráfico inteligente y un módulo Rabbit conectado a
una red Ethernet. Se trata de una "pizarra remota" que puede escribirse via HTTP. El módulo Rabbit funciona
como un servidor web y con cualquier navegador podemos escribir un simple mensaje en la pizarra. Más allá
de su posible utilidad en la vida real, esta aplicación nos permite ejemplificar el uso de las capacidades de
TCP/IP de Dynamic C y aportar algo más sobre el display.
Como display, utilizaremos un módulo Powertip PG320240, de 320x240 pixels, basado en chips controladores
compatibles con el SED1335, de S-MOS, y su clon de EPSON. No se darán demasiados detalles acerca del
display y su software de control, dado que este tema se ha desarrollado en la CAN-005. El lector puede
remitirse a dicha nota de aplicación para mayor información.
El código de la pizarra en sí, resulta muy similar al desarrollado en la CAN-004 para el display de 128x64; | |
|
|
| Software de soporte CAN-006: | CAN-006_Software.zip |
|
|
| CAN-007_LCDgraphLC7981-Rabbit.pdf | CAN-007_LCDgraphLC7981-Rabbit.pdf |
Nota de Aplicación: CAN-007
Título: Utilización de displays LCD gráficos (LC7981) con Rabbit 2000
Nos interiorizaremos ahora en el desarrollo de una interfaz para conectar un módulo LCD gráfico inteligente
Powertip PG24064FRM-A, a un módulo Rabbit 2000. Se trata de un display de 240x64 pixels basado en chips
controladores compatibles con el LC7981, de Sanyo. Analizaremos más tarde el software de control y un
simple programa demostración, que sirve para comprobar el correcto funcionamiento de los módulos LCD que
tengamos en stock, y de paso, demostrar sus capacidades. A fin de probar la mayor parte posible del hardware,
la interfaz será de 8 bits y realizará lectura y escritura del controlador LCD.
Hardware
El LC7981 presenta una interfaz tipo Motorola (E, RS, R/W), como el HD44780
de los displays alfanuméricos, por lo que el hardware no nos presenta ninguna
novedad. | |
|
|
| Software de soporte CAN-007: | CAN-007_Software.zip |
|
|
| CAN-008_LCDgraphHD61202TEXT-Rabbit.pdf | CAN-008_LCDgraphHD61202TEXT-Rabbit.pdf |
Nota de Aplicación: CAN-008
Título: Display de textos en LCD gráficos (HD61202) con Rabbit 2000
Complementamos el desarrollo de la CAN-003 ampliando la forma de mostrar textos en módulos LCD
gráficos inteligentes Powertip PG12864, con Rabbit 2000. Se recomienda al lector el estudio de la CAN-003
para mayor información sobre la estructura de memoria de los displays basados en HD61202 y/o KS0108 y su
utilización para aplicaciones puramente gráficas.
Hardware
El hardware de conexión tiene una pequeña diferencia respecto de la CAN-003,
dado que preferimos mantener el esquema de la CAN-005.
Para la interfaz con el micro no es necesario ningún tipo de glue-logic, hacemos
una conexión directa entre los ports del Rabbit y el LCD, al igual que con la gran
mayoría de los microcontroladores, como puede apreciarse en la tabla a la derecha: | |
|
|
| Software de soporte CAN-008: | CAN-008_Software.zip |
|
|
| CAN-009_VERSA1-MACFIR.pdf | CAN-009_VERSA1-MACFIR.pdf |
Nota de Aplicación: CAN-009
Título: Filtrado de entradas analógicas con VERSA1
Desarrollamos una aplicación de filtrado de entradas analógicas aprovechando la MAC presente en los
VERSA1 de Goal Semiconductor. La nota se basa en la medición de la señal proveniente de un termistor,
vinculado al microcontrolador mediante un cable cuya longitud y tendido lo hacen propenso a captar ruidos.
Para la polarización del termistor, utilizaremos la fuente de corriente controlada.
Descripción
En muchas aplicaciones, el ruido es un grave problema a considerar, especialmente si las señales son de poca
amplitud o el sistema está ubicado en un ambiente de alto ruido electromagnético. Un ejemplo podría ser un
sistema de medición de temperatura ambiente mediante un termistor, conectado al sistema por un par de
metros de cable que pasa cerca de equipos de alta potencia. En este caso, es probable que el cable permita una
gran inducción de la señal alterna de línea. La forma tradicional de resolver el problema es blindar los cables e | |
|
|
| Software de soporte CAN-009: | CAN-009_Software.zip |
|
|
| CAN-010_MCP3204-Rabbit.pdf | CAN-010_MCP3204-Rabbit.pdf |
Nota de Aplicación: CAN-010
Título: Conexión de un conversor A/D MCP3204 a módulos Rabbit
Con el fin de proporcionar entradas analógicas a los módulos Rabbit; introducimos el MCP3204 de
Microchip (conversor analógico-digital de 12 bits), y desarrollamos su conexión con estos módulos mediante la
interfaz SPI. Desarrollamos además un simple driver para obtener los datos del conversor, con un modesto
ejemplo.
Descripción del MCP3204
El MCP3204 de Microchip es un conversor analógico-digital de 12 bits por
aproximaciones sucesivas (SAR) con interfaz SPI. Dispone de cuatro entradas que
puede configurar como 4 canales single-ended ó 2 canales pseudo-diferenciales (el
potencial de la entrada IN- no debe alejarse más de unos 100mV del potencial de
GND). La referencia de tensión debe ser externa, funciona a 3 ó 5V y su velocidad | |
|
|
| Software de soporte CAN-010: | CAN-010_Software.zip |
|
|
| CAN-011_LCDgraphT6963-Rabbit.pdf | CAN-011_LCDgraphT6963-Rabbit.pdf |
Nota de Aplicación: CAN-011
Título: Utilización de displays LCD gráficos (T6963) con Rabbit 2000
Nos interiorizaremos ahora en el desarrollo de una interfaz para conectar un módulo LCD gráfico inteligente
Powertip PG24064FRM-E, a un módulo Rabbit 2000. Se trata de un display de 240x64 pixels basado en chips
controladores compatibles con el T6963, de Toshiba. Analizaremos más tarde el software de control y un
simple programa demostración, que sirve para comprobar el correcto funcionamiento de los módulos LCD que
tengamos en stock, y de paso, demostrar sus capacidades. A fin de probar la mayor parte posible del hardware,
la interfaz será de 8 bits y realizará lectura y escritura del controlador LCD.
Hardware
El T6963 presenta una interfaz tipo Intel, es decir, con líneas de RD y WR
separadas. Posee además la línea de selección, CE, y otra para determinar si lo que
se escribe es un dato o un comando: C/D. Existe además otro pin que determina el | |
|
|
| Software de soporte CAN-011: | CAN-011_Software.zip |
|
|
| CAN-012_LCDgraphSED1335-Rabbit_bus.pdf | CAN-012_LCDgraphSED1335-Rabbit_bus.pdf |
Nota de Aplicación: CAN-012
Título: Utilización de displays LCD gráficos (SED1335) con Rabbit (bus)
Desarrollamos una interfaz para conectar un módulo LCD gráfico inteligente Powertip PG320240FRS, a un
módulo Rabbit 2000, pero esta vez al bus, dejando libres los ports de I/O para otra aplicación. Dado que ya
hemos desarrollado software para este display, solamente comentaremos sobre la conexión al bus y su software
asociado. Se recomienda al lector consultar la CAN-005 para una descripción completa de la aplicación.
Hardware
El SED1335 presenta una interfaz con dos posibles modos de trabajo: tipo
Motorola (E, RS, R/W) o tipo Intel (RD, WR, A0). El PG320240FRS de Powertip
lo utiliza en esta última modalidad.
Para la interfaz con el micro no es necesario ningún tipo de glue-logic, hacemos
una conexión directa entre el bus del Rabbit y el LCD, como puede apreciarse en la | |
|
|
| Software de soporte CAN-012: | CAN-012_Software.zip |
|
|
| CAN-013_LCDgraph-DynamicC8.pdf | CAN-013_LCDgraph-DynamicC8.pdf |
Nota de Aplicación: CAN-013
Título: Utilización de displays gráficos con Dynamic C 8
Analizamos las bibliotecas de funciones con soporte para displays gráficos que incluye Dynamic C en su
versión 8, y la forma de aprovechar la mayor cantidad posible de este código para acortar nuestros tiempos de
desarrollo.
A partir de la versión 8, Dynamic C provee como standard muchas de las prestaciones que antes estaban
reservadas para la distribución Premier. Entre estas encontramos muchas bibliotecas de funciones
desarrolladas como demo de las placas de Z-World; pero fundamentalmente queremos destacar un set de
bibliotecas de funciones orientadas a la utilización de displays gráficos.
No vamos a detallar cada una de las funciones que cada biblioteca incluye, pero sí haremos una somera
enumeración, antes de analizar la forma de desarrollar drivers para el controlador del display que vamos a
utilizar. | |
|
|
| Software de soporte CAN-013: | CAN-013_Software.zip |
|
|
| CAN-014_TouchScreen-DynamicC8.pdf | CAN-014_TouchScreen-DynamicC8.pdf |
Nota de Aplicación: CAN-014
Título: Utilización de Touch Screens con Dynamic C 8
Analizamos las bibliotecas de funciones con soporte para pantallas sensibles al tacto o touch screens, que
incluye Dynamic C en su versión 8, y la forma de aprovechar la mayor cantidad posible de este código para
acortar nuestros tiempos de desarrollo.
A partir de la versión 8, Dynamic C provee como standard muchas de las prestaciones que antes estaban
reservadas para la distribución Premier. Entre estas encontramos muchas bibliotecas de funciones
desarrolladas como demo de las placas de Z-World; pero fundamentalmente queremos destacar un set de
bibliotecas de funciones orientadas a la utilización de touch screen.
No vamos a detallar cada una de las funciones que cada biblioteca incluye, pero sí haremos una somera
enumeración, antes de analizar la forma de desarrollar drivers para el controlador que vamos a utilizar.
Bibliotecas de funciones | |
|
|
| Software de soporte CAN-014: | CAN-014_Software.zip |
|
|
| CAN-015_TouchScreen.pdf | CAN-015_TouchScreen.pdf |
Nota de Aplicación: CAN-015
Título: Lectura de Touch Screen resistivo
Desarrollamos una de las formas posibles de leer una pantalla sensible al tacto o touch screen de tipo
resistivo, como la que incluye el display LCD de powertip PG320240FRST, mediante el empleo de un
conversor analógico-digital de 12-bits con interfaz SPI de Microchip, el MCP3204. Encontrará una descripción
del MCP3204 y ejemplos de utilización con procesadores Rabbit en la CAN-010, y una descripción de las
bibliotecas de funciones asociadas a estas pantallas en Dynamic C versión 8 en la CAN-014.
Breve descripción de la pantalla resistiva
La touch screen que utilizamos corresponde al tipo
resistivo de 4-terminales. Se trata de una membrana
relativamente rígida, adherida al display, y una membrana
flexible encima de ésta. La cara interna de ambas | |
|
|
| CAN-016_PG320240FRST-DynamicC8.pdf | CAN-016_PG320240FRST-DynamicC8.pdf |
Nota de Aplicación: CAN-016
Título: Display PG320240FRST (Touch Screen) con Dynamic C 8
Portamos las bibliotecas de funciones con soporte para displays gráficos y pantallas sensibles al tacto o touch
screens, que incluye Dynamic C en su versión 8, para su utilización con el display PG320240FRST de
Powertip, de modo de aprovechar la mayor cantidad posible de este código para acortar nuestros tiempos de
desarrollo. Aprovechamos el análisis de estas bibliotecas de funciones desarrollado en las notas de aplicación
CAN-013 y CAN-014, el hardware para conexión del display en la CAN-012, y el hardware de lectura de
touch screen desarrollado en la CAN-015; desarrollando nuestra propia biblioteca de funciones:
Cika320240FRST.lib, donde alojaremos las funciones que portamos.
Display
SED1335F.LIB
Vimos en la CAN-013 que esta biblioteca contiene las funciones de bajo nivel para el controlador de displays | |
|
|
| Software de soporte CAN-016: | CAN-016_Software.zip |
|
|
| CAN-017_GP8F-12F629_ControlAcceso.pdf | CAN-017_GP8F-12F629_ControlAcceso.pdf |
Nota de Aplicación: CAN-017
Título: Control de Acceso de muy bajo costo
Presentamos un control de acceso de muy bajo costo realizado con tarjetas o tags RFID. Utilizamos como
lector al módulo GP8F-R2, de muy bajo costo, el que conectamos a un PIC12F629 para validar los RFID. Sin
modificaciones, el sistema emplea el módulo, un LED, una resistencia, y el microcontrolador; más el disparo
de triac o relé que utilicemos para control directo de la cerradura. Dada la capacidad de memoria EEPROM del
Descripción del GP8F-R2
El módulo GP8F-R2 lee tarjetas o tags RFID read-only de 64-bits, código Manchester a 125KHz. Posee una
salida para conectar un LED, que permanece encendido y aumenta su intensidad al aproximar un RFID. El ID
correspondiente se entrega por un terminal en formato 8 bits serie asincrónico, a 9600 bps, sin paridad, a nivel
lógico. El usuario puede optar por conectarlo a algun driver RS-232 para leerlo desde una PC, o conectarlo
directamente a un microcontrolador o UART. El formato lógico responde al siguiente esquema, en ASCII: | |
|
|
| Software de soporte CAN-017: | CAN-017_Software.zip |
|
|
| CAN-018_Demo_TouchScreen-DynamicC8-Ethernet.pdf | CAN-018_Demo_TouchScreen-DynamicC8-Ethernet.pdf |
Nota de Aplicación: CAN-018
Título: Demo Rabbit + Touch Screen + Dynamic C 8
Aprovechamos el desarrollo de la nota de aplicación CAN-016 y agregamos funciones con soporte Ethernet, a
fin de obtener un demo de las capacidades de manejo de displays gráficos y TCP/IP que nos brinda la
combinación Rabbit-Dynamic C 8.
Desarrollaremos un ejemplo de un control sensible al tacto, que muestra el estado de dos salidas. Puede
operarse sobre las mismas tanto mediante el panel frontal como via HTTP, a través de una interfaz similar
visualizada en forma remota como una página web. Agregamos además dos controles: uno de ellos enviará un
email a una direción prefijada, simulando una condición excepcional que debe ser tenida en cuenta por un
operador, sin que sea necesario que éste esté observando la pantalla, ni se halle cerca del equipo para escuchar
una alarma auditiva. El segundo control, nos permitirá visualizar los emails que el equipo reciba, simulando
posibles intervenciones remotas sobre el equipo. | |
|
|
| Software de soporte CAN-018: | CAN-018_Software.zip |
|
|
| CAN-019_Serial-DynamicC8.pdf | CAN-019_Serial-DynamicC8.pdf |
Nota de Aplicación: CAN-019
Título: Aplicaciones de comunicaciones con interfaz serie asincrónica en Dynamic C 8
Analizamos las bibliotecas de funciones con soporte para comunicaciones via interfaz serie asincrónica que
incluye Dynamic C, y la forma de aprovechar la mayor cantidad posible de este código para acortar nuestros
tiempos de desarrollo.
No vamos a detallar cada una de las funciones que cada biblioteca incluye, pero sí haremos una enumeración
de las más importantes, para luego ver unos sencillos ejemplos de su uso. Consulte el manual de referencia de
Dynamic C para una descripción detallada de cada función en particular.
Bibliotecas de funciones
RS232.LIB
Está orientada a las comunicaciones full duplex, proveyendo un conjunto de funciones que envían y reciben
bloques de datos de forma buffereada. Tanto transmisión como recepción incorporan buffers circulares, | |
|
|
| Software de soporte CAN-019: | CAN-019_Software.zip |
|
|
| CAN-020_TouchScreen-ADS7846.pdf | CAN-020_TouchScreen-ADS7846.pdf |
Nota de Aplicación: CAN-020
Título: Controlador de Touch Screen ADS7846
Desarrollamos una de las formas posibles de leer una pantalla sensible al tacto o touch screen de tipo
resistivo, como la que incluye el display LCD de powertip PG320240FRST, mediante el empleo de un
controlador dedicado de 12-bits con interfaz serie de TI/Burr Brown, el ADS7846. Encontrará una descripción
de las pantallas sensibles al tacto y su calibración en la CAN-015, y una descripción de las bibliotecas de
funciones asociadas a estas pantallas en Dynamic C versión 8 en la CAN-014.
Breve descripción del ADS7846
Este controlador posee todo el hardware requerido para polarizar la pantalla resistiva y leerla: matriz de
conmutación con transistores MOS y conversor A/D de 12bits. Incorpora además algunas funciones extra como
ser:
Entrada auxiliar, para tomar muestras de señales analógicas | |
|
|
| CAN-021_PG320240FRST-ADS7846-DynamicC8.pdf | CAN-021_PG320240FRST-ADS7846-DynamicC8.pdf |
Nota de Aplicación: CAN-021
Título: Display PG320240FRST con ADS7846 y Dynamic C 8
En la CAN-016, portamos las bibliotecas de funciones con soporte para displays gráficos y pantallas sensibles
al tacto o touch screens, que incluye Dynamic C en su versión 8, para su utilización con el display
PG320240FRST de Powertip. Aprovechamos el hardware de lectura de touch screen desarrollado en la CAN-
las funciones para aprovechar el controlador ADS7846.
Hardware
El hardware es el desarrollado en la CAN-020, simplemente asignamos los pines de la interfaz serie a pines
del Rabbit, e implementaremos la interfaz por software.
Desarrollo del driver
Como vimos en la CAN-014, debemos portar las funciones de más bajo nivel:
_adcTouchScreen(): es la que realiza la lectura del chip controlador de la touchscreen | |
|
|
| Software de soporte CAN-021: | CAN-021_Software.zip |
|
|
| CAN-022_LCDgraphHD61202-bitmaps.pdf | CAN-022_LCDgraphHD61202-bitmaps.pdf |
Nota de Aplicación: CAN-022
Título: Conversión de bitmaps para LCD gráficos con HD61202
Nos interiorizaremos ahora en el desarrollo de un algoritmo para convertir imágenes al formato utilizado por
los chips controladores compatibles con el HD61202, de Hitachi, y su clon: el KS0108, de Samsung; presentes
en los módulos Powertip PG12864, de 128x64 pixels.
Si bien hemos ya presentado la estructura de memoria de estos displays en la CAN-004, la repetimos aquí por
claridad.
La estructura de memoria de estos módulos gráficos es algo caprichosa, la misma se halla agrupada en bytes
en sentido vertical, divididos a su vez en páginas. Debido al hecho de que, además, se necesitan dos
controladores, la pantalla resulta dividida a la mitad, y cada mitad es atendida por un controlador.
El bit menos significativo del primer byte de memoria del primer controlador corresponde al punto situado en
la pantalla arriba a la izquierda, y el bit más significativo del último byte de memoria del segundo controlador | |
|
|
| Software de soporte CAN-022: | CAN-022_Software.zip |
|
|
| CAN-023_Osciloscopio-TouchScreen-ADS7846-DC8.pdf | CAN-023_Osciloscopio-TouchScreen-ADS7846-DC8.pdf |
Nota de Aplicación: CAN-023
Título: Osciloscopio de almacenamiento con PG320240FRST, ADS7846 y Dynamic C 8
Basándonos en hardware y software ya desarrollados, utilizamos las entradas libres del controlador ADS7846
para emplearlo como conversor AD y poder hacer una suerte de osciloscopio de almacenamiento (storage
scope), principalmente orientado a procesos, dada su baja velocidad de muestreo y carencia de circuito de
disparo.
Esta nota de aplicación hace uso de software y hardware desarrollado en las siguientes notas de aplicación:
CAN-016: portamos las bibliotecas de funciones con soporte para displays gráficos y pantallas sensibles al
tacto (touch screens), que incluye Dynamic C en su versión 8, para su utilización con el display
PG320240FRST de Powertip.
CAN-020: hardware de lectura de touch screen con ADS7846.
CAN-021: agregado de funciones de soporte del controlador ADS7846 en nuestra biblioteca de funciones: | |
|
|
| Software de soporte CAN-023: | CAN-023_Software.zip |
|
|
| CAN-024_ControlPersonalEthernet-Rabbit-GP8F.pdf | CAN-024_ControlPersonalEthernet-Rabbit-GP8F.pdf |
Nota de Aplicación: CAN-024
Título: Control de Personal monitoreable Ethernet con Rabbit
Nos encontramos esta vez para desarrollar una herramienta de control de personal, destinada a registrar el
horario de ingreso y egreso mediante la identificación por elementos RFID, es decir, las conocidas tarjetas de
proximidad y los modernos llaveros. El empleado recibe confirmación visual y auditiva, oyendo una chicharra
y observando en un display alfanumérico su nombre y la hora y fecha en la cual se registra su tarjeta. El
interesado en controlar al empleado, puede observar los horarios en orden decreciente en una página web,
recibir un email con un log de accesos, y recibir un archivo en un servidor FTP, en formato CSV (Comma
Separated Values), el cual puede procesar y filtrar automáticamente con cualquier herramienta orientada a
procesar registros (awk, por ejemplo en ambiente Unix), o incluso manualmente con cualquier planilla de
cálculo.
Aprovechamos el desarrollo de la nota de aplicación CAN-002 para conectar nuestro display; como lector | |
|
|
| Software de soporte CAN-024: | CAN-024_Software.zip |
|
|
| CAN-025_InterfazUSB_FT232.pdf | CAN-025_InterfazUSB_FT232.pdf |
Nota de Aplicación: CAN-025
Título: FT232: interfaz USB genérica
Les presentamos una novedosa interfaz USB que permite a los equipos con posibilidad de comunicación serie
asincrónica, conectarse via USB.
Descripción del FT232
El FT232, de FTDI, resuelve toda la comunicación en el bus USB, presentándose al usuario como un puerto
serie asincrónico. Conectando los pines del FT232 directamente a los pines de la UART, ya está comunicado
via USB. El chip maneja todos los aspectos USB, incluso la identificación. En el caso más común y económico,
en que el usuario no necesita una identificación particular, el FT232 se identifica de forma genérica como un
dispositivo de conversión serie a USB. Si el usuario necesita identificar su producto, puede conectar una
EEPROM (la cual será programada por un software provisto por el fabricante), en la cual residirán sus datos
de identificación. | |
|
|
| Archivos adicionales CAN-025: | CAN-025_Archivos.zip |
|
|
| CAN-026_FingerprintBFS-2S-Rabbit.pdf | CAN-026_FingerprintBFS-2S-Rabbit.pdf |
Nota de Aplicación: CAN-026
Título: BFS-2S Módulo de reconocimiento de huellas dactilares
Les presentamos un novedoso módulo de reconocimiento de huellas dactilares, con capacidad de verificación
lo que es posible hacer verificación 1:N, siempre y cuando se identifique por otro medio, claro está.
Descripción del BFS-2S
El BFS-2S, de Aimgene, resuelve todo el problema de la captura, enrollment y verificación o identificación de
las huellas dactilares. Se trata de un módulo en caja cerrada, con un par de LEDs bicolor, un sensor
semiconductor de huellas dactilares, y un switch que se habilita al presionar con el dedo el área del sensor. La
interfaz con el host es un port serie a 115200bps, a 3,3V, pero 5V-tolerant. El switch puede leerse en uno de
los cinco cables que forman parte de la interfaz.
Los comandos y respuestas del BFS-2S son ASCII, legibles por el usuario. El comando es en sí un caracter
imprimible, y la obtención del resultado de la operación se realiza mediante parsing de la respuesta, ubicando | |
|
|
| Software de soporte CAN-026: | CAN-026_Software.zip |
|
|
| CAN-027_QuadratureEncoders.pdf | CAN-027_QuadratureEncoders.pdf |
Nota de Aplicación: CAN-027
Título: Codificadores en cuadratura
Ya sea como alternativa interesante para la interfaz con el usuario, o como eficaz solución al problema de la
detección del movimiento y sentido de giro, les proponemos en esta oportunidad la utilización de encoders
rotativos, codificadores en cuadratura.
Un encoder rotativo codificador en cuadratura produce, a partir de su giro, un par de señales en cuadratura.
La frecuencia de ambas depende de la velocidad de giro, y el sentido se identifica observando el signo de la
diferencia de fase. Si bien existen varios tipos de encoders de esta clase, los que proponemos tienen una
característica interesante que simplifica notablemente la detección: estos encoders producen un pulso en ambas
salidas a cada movimiento del eje entre los descansos, según puede observarse en la hoja de datos. De este
modo, podemos utilizar una de las señales como disparador y la otra para detectar el sentido de giro. La técnica
convencional consiste en incrementar un contador con el giro en un sentido y decrementarlo con el giro en el | |
|
|
| Software de soporte CAN-027: | CAN-027_Software.zip |
|
|
| CAN-028_SHT-71.pdf | CAN-028_SHT-71.pdf |
Nota de Aplicación: CAN-028
Título: Sensores de Humedad y Temperatura SHT-71
Si bien existen numerosas alternativas para la medición de
temperatura ambiente, la medición de la humedad relativa
ambiente resulta ser algo complicada. En ambos casos, lograr una
determinada precisión implica disponer de sensores caros y mucho
cuidado en la sección analógica y la placa de circuito impreso;
hecho que se ve potenciado si el sensor debe estar a una cierta
distancia del circuito de procesamiento, y/o en ambientes hostiles.
Les presentamos en esta oportunidad unos sensores combinados
de humedad y temperatura ambiente: SHT-71, desarrollados por la
firma Sensirion. Los mismos constan de un par de sensores y | |
|
|
| Software de soporte CAN-028: | CAN-028_Software.zip |
|
|
| CAN-029_OLEDcolorSSD1332-Rabbit.pdf | CAN-029_OLEDcolorSSD1332-Rabbit.pdf |
Nota de Aplicación: CAN-029
Título: Utilización de displays colorOLED (SSD1332) con Rabbit
Les presentamos los nuevos displays gráficos color con tecnología OLED. En este caso, nos referimos al
UG9664GFD, display de 96x64 pixels, basado en chips controladores SSD1332. Analizaremos más tarde el
software de control y un simple programa demostración.
Hardware
El SSD1332 presenta una interfaz con tres modos posibles de trabajo: tipo
Motorola (E, R/W, D/C), tipo Intel (RD, WR, D/C), y serie. El usuario tiene la
libertad de elegir cual utilizar, y nosotros hemos elegido la modalidad Intel, que
corresponde al funcionamiento del bus de Rabbit, y nos permite tener máxima
velocidad de transferencia de datos. Como estos displays funcionan a 3V,
utilizaremos la familia 3000 de Rabbit | |
|
|
| Software de soporte CAN-029: | CAN-029_Software.zip |
|
|
| CAN-030_OLEDcolorSSD1332-bitmap.pdf | CAN-030_OLEDcolorSSD1332-bitmap.pdf |
Nota de Aplicación: CAN-030
Título: Generación de bitmaps para SSD1332 y similares
Les presentamos ahora una forma rápida de generar bitmaps para los nuevos displays gráficos color con
tecnología OLED. En este caso, nos referimos al UG9664GFD, display de 96x64 pixels, basado en chips
controladores SSD1332.
Software
Recordemos que la estructura interna de memoria del SSD1332 asigna un formato 3:3:2 para 8bpp y 5:6:5
para 16bpp. En este caso, utilizaremos solamente 16bpp, dado que la granularidad de color de 8bpp resulta
muy limitada para bitmaps, ya que no se trata de 256 colores tomados de una paleta de 24-bits, como en VGA
(8 bits para R, 8 para G, y 8 para B), sino de 256 colores fijos, con 3 bits para B y G y 2 para R.
Como adelantáramos en la CAN-029, si comparamos la estructura de memoria del display con la forma de
guardar imágenes de 24 bits en formato BMP, veríamos que son muy similares, por ejemplo: BMP va de abajo | |
|
|
| Software de soporte CAN-030: | CAN-030_Software.zip |
|
|
| CAN-031_LCDcolor.pdf | CAN-031_LCDcolor.pdf |
Nota de Aplicación: CAN-031
Título: Utilización de displays LCD color
Les presentamos los nuevos displays color LCD de 320x240. Se trata de displays con o sin touch screen y sin
controlador, por lo que su utilización dentro de un sistema requiere de un controlador externo, o de la
generación de todas las señales de control por parte del usuario.
El display color presenta una interfaz relativamente simple desde el punto de vista del hardware, con 8 bits de
datos y tres señales de control. La nomenclatura es algo confusa y varía con el fabricante, por lo que
intentaremos generalizar.
Las señales de control se encargan de indicar los instantes de comienzo de trama vertical (FPFRAME o FRM)
y línea horizontal (FPLINE, LOAD, o CL1), mientras que la información para cada pixel es leída a cada
intervalo de clock (FPSHIFT, DP, o CL2), 8-bits a la vez (FPDAT0 a FPDAT7). La correspondencia entre
estos 8-bits y la información de R, G y B de pantalla es algo compleja, y puede observarse mejor en el | |
|
|
| CAN-032_LCDcolor-S1D13705-Rabbit.pdf | CAN-032_LCDcolor-S1D13705-Rabbit.pdf |
Nota de Aplicación: CAN-032
Título: Utilización de displays LCD color con controladores S1D13705 y Rabbit
En la CAN-031 les presentamos los nuevos displays color LCD de 320x240. Dijimos que se trata de displays
sin controlador, por lo que su utilización dentro de un sistema requiere de un controlador externo, o de la
generación de todas las señales de control por parte del usuario. Veremos en esta nota la forma de utilizar un
controlador de Epson, el S1D13705, para que se encargue de todo lo relacionado con el manejo del display,
mientras que nosotros nos limitaremos a decirle cómo lo tiene que hacer, y darle la información a mostrar.
Breve descripción del S1D13705
Hardware
El S1D13705 es un controlador inteligente para displays LCD de alta resolución, permitiendo no sólo
displays color pasivos sino también blanco y negro y TFT. El S1D13705 se encarga de generar las señales que
necesita el display, como viéramos en la CAN-031, tanto para este tipo de display como para los otros | |
|
|
| Software de soporte CAN-032: | CAN-032_Software.zip |
|
|
| CAN-033_LCDcolor-S1D13705-Rabbit.pdf | CAN-033_LCDcolor-S1D13705-Rabbit.pdf |
Nota de Aplicación: CAN-033
Título: Utilización de displays LCD color con controladores S1D13705 y Rabbit
Modificamos levemente el desarrollo de la CAN-032, para trabajar en modo 8bpp, es decir 256 colores de una
paleta de 4096
Algoritmos
Para ubicar un punto en pantalla, calculamos su posición en memoria sabiendo que alojamos un pixel por
byte, es decir: mem x
¡ 320 ¢ y .
Para graficar funciones, debemos tener en cuenta que la coordenada (0;0) se halla en el extremo superior
izquierdo de la pantalla.
Para mostrar pantallas, deberemos agrupar los datos de modo tal de poder enviarlos de forma que aproveche
de manera eficiente la estructura de memoria. Si comparamos la estructura de memoria del display con la | |
|
|
| Software de soporte CAN-033: | CAN-033_Software.zip |
|
|
| CAN-034_LCDcolor-S1D13705-Rabbit.pdf | CAN-034_LCDcolor-S1D13705-Rabbit.pdf |
Nota de Aplicación: CAN-034
Título: Generación de textos en displays LCD color con controladores S1D13705 y
Revisiones Fecha Comentarios
Veremos en esta nota una forma de generar caracteres al utilizar un controlador de Epson, el S1D13705, para
que se encargue de todo lo relacionado con el manejo del display. Para una descripción, conexionado y rutinas
de soporte del controlador, remítase a las Notas de Aplicación CAN-032 y CAN-033.
Algoritmo
Si trabajamos en 8bpp, para ubicar un punto en pantalla, calculamos su posición en memoria sabiendo que
alojamos un pixel por byte, es decir: mem x ¡ 320 ¢ y .
Si en cambio trabajamos en 4bpp, para ubicar un punto en pantalla, calculamos su posición en memoria
sabiendo que alojamos dos pixels por byte, es decir: mem x
¡ 320 ¢ y | |
|
|
| Software de soporte CAN-034: | CAN-034_Software.zip |
|
|
| CAN-035_LCDcolor-S1D13706-Rabbit.pdf | CAN-035_LCDcolor-S1D13706-Rabbit.pdf |
Nota de Aplicación: CAN-035
Título: Utilización de displays LCD color con controladores S1D13706 y Rabbit
En la CAN-031 les presentamos los nuevos displays color LCD de 320x240. Dijimos que se trata de displays
sin controlador, por lo que su utilización dentro de un sistema requiere de un controlador externo, o de la
generación de todas las señales de control por parte del usuario. Veremos en esta nota la forma de utilizar un
controlador de Epson, el S1D13706, para que se encargue de todo lo relacionado con el manejo del display,
mientras que nosotros nos limitaremos a decirle cómo lo tiene que hacer, y darle la información a mostrar.
Breve descripción del S1D13706
Hardware
El S1D13706 es un controlador inteligente para displays LCD de alta resolución, permitiendo no sólo
displays color pasivos sino también blanco y negro y TFT. El S1D13706 se encarga de generar las señales que
necesita el display, como viéramos en la CAN-031, tanto para este tipo de display como para los otros | |
|
|
| Software de soporte CAN-035: | CAN-035_Software.zip |
|
|
| CAN-036_LCDcolor-S1D13706-Rabbit.pdf | CAN-036_LCDcolor-S1D13706-Rabbit.pdf |
Nota de Aplicación: CAN-036
Título: Utilización de displays LCD color con controladores S1D13706 y Rabbit
Modificamos levemente el desarrollo de la CAN-035, para trabajar en modo 8bpp, es decir 256 colores de una
paleta de 256K
Algoritmos
Para ubicar un punto en pantalla, calculamos su posición en memoria sabiendo que alojamos un pixel por
byte, es decir: mem x
¡ 320 ¢ y .
Para graficar funciones, debemos tener en cuenta que la coordenada (0;0) se halla en el extremo superior
izquierdo de la pantalla.
Para mostrar pantallas, deberemos agrupar los datos de modo tal de poder enviarlos de forma que aproveche
de manera eficiente la estructura de memoria. Si comparamos la estructura de memoria del display con la | |
|
|
| Software de soporte CAN-036: | CAN-036_Software.zip |
|
|
| CAN-037_LCDcolor-S1D13706-Rabbit.pdf | CAN-037_LCDcolor-S1D13706-Rabbit.pdf |
Nota de Aplicación: CAN-037
Título: Utilización de displays LCD color con controladores S1D13706 y Rabbit
Modificamos levemente el desarrollo de las CAN-035 y CAN-036, para trabajar con osciladores de 50MHz,
comercializados por Cika. Esto nos permite tener un ciclo de acceso más corto, con menos wait-states, y
lograr frecuencias de barrido que logran mayor calidad de imagen.
Configuración del S1D13706
Los valores a setear en cada uno de los registros se obtienen de idéntica forma que en la CAN-035 y CAN-
de tipo C header file (s1d13706.h), el cual podremos editar e incluir en el código para Rabbit
A continuación, la inicialización del chip para 8bpp y 141Hz de frecuencia de actualización de trama. Los
valores los obtuvimos utilizando el software de configuración provisto por el fabricante, según comentáramos.
typedef unsigned short S1D_INDEX;
typedef unsigned char S1D_VALUE; | |
|
|
| CAN-038_LCDcolor-S1D13706-bitmaps.pdf | CAN-038_LCDcolor-S1D13706-bitmaps.pdf |
Nota de Aplicación: CAN-038
Título: Generación de bitmaps color para controladores S1D13706
Si bien las CAN-035 y CAN-036 describen el procedimiento para procesar imágenes para enviarlas
fácilmente al controlador S1D13706, les presentamos un pequeño y sencillo programa de tipo Q&D1 para
resolver la tarea en 8bpp, fácilmente modificable para 4bpp.
Software
Para mostrar pantallas, deberemos agrupar los datos de modo tal de poder enviarlos de forma que aproveche
de manera eficiente la estructura de memoria. Nada quita que guardemos el BMP en memoria y hagamos un
programa para nuestro querido procesador que lo decodifique y envíe los datos al display, pero resulta que por
lo general nuestro sistema tiene otras cosas más importantes que hacer, y resulta preferible minimizar el
tiempo perdido y los preciosos bytes de memoria.
Si comparamos la estructura de memoria del display con la forma de guardar imágenes en 256 colores en | |
|
|
| Software de soporte CAN-038: | CAN-038_Software.zip |
|
|
| CAN-039_ControlSHT-71_S1D13706_Rabbit.pdf | CAN-039_ControlSHT-71_S1D13706_Rabbit.pdf |
Nota de Aplicación: CAN-039
Título: Control de temperatura/humedad con display color, SHT-71 y Rabbit
En esta nota, les proponemos un simple y vistoso controlador industrial/campestre, el cual permite graficar en un
display color en tiempo real el avance de las muestras de temperatura y humedad entregadas por un SHT-71, a la
vez que monitorea que éstas no excedan determinados límites. De excederse esos límites, el controlador
encenderá un ventilador o un calefactor, según corresponda, cuya velocidad o intensidad serán proporcionales a
la magnitud del exceso.
Tanto la medición actual como un pequeño histórico, pueden observarse en una página web, donde además
pueden cambiarse los valores de los límites fijados de temperatura y humedad.
Historia:
En la CAN-031 les presentamos los nuevos displays color LCD de 320x240.
En las CAN-035 y CAN-036 vimos la forma de utilizar un controlador de Epson, el S1D13706, para que se | |
|
|
| Software de soporte CAN-039: | CAN-039_Software.zip |
|
|
| CAN-040_PIC10F206.pdf | CAN-040_PIC10F206.pdf |
Nota de Aplicación: CAN-040
Título: Ejemplo de aplicación de PIC10F206
Presentamos un sencillo ejemplo de aplicación de PIC10F206, un integrante de la nueva línea PIC10F de
Microchip. Estos dispositivos son micros de 6 patitas en encapsulado SOT-23, de muy bajo costo, tendientes a
eliminar la utilización de varios chips de lógica o proveer funciones adicionales sin por ello incrementar el
espacio ocupado. En este caso, reemplazamos una típica aplicación de 555 y/o algunas compuertas lógicas con
sus capacitores y resistencias asociadas para la generación de ondas cuadradas.
Breve descripción del PIC10F206
El PIC10F206 es sumamente simple, se trata de un microcontrolador con 512 words de flash y 24 bytes de
RAM, sin interrupciones, con un timer de 8-bits (TMR0), un comparador, tres entradas/salidas, y una entrada;
todo en seis pines. Posee además un oscilador interno de 4MHz al 1%, lo que le permite operar a 1MIPS pico.
El core es de 12-bits, y las instrucciones son similares al 12C508, es decir, incluye TRIS y OPTION. Todos los | |
|
|
| Software de soporte CAN-040: | CAN-040_Software.zip |
|
|
| CAN-041_LCDgraphHD61202-fonts.pdf | CAN-041_LCDgraphHD61202-fonts.pdf |
Nota de Aplicación: CAN-041
Título: Conversión de tipografías para LCD gráficos con HD61202
A pedido del público, publicamos el pequeño programita Q&D1 desarrollado oportunamente para convertir
tipografías "standard" al formato de memoria utilizado por los chips controladores compatibles con el
HD61202, de Hitachi, y su clon: el KS0108, de Samsung; presentes en los módulos Powertip PG12864, de
Hemos ya presentado la estructura de memoria de estos displays en la CAN-003, CAN-008 y CAN022, por
respeto a la redundancia sugerimos a los lectores interesados remitirse a dichas notas.
Según comentáramos en la CAN-008, para generar los sets de caracteres tomamos tipografías de dominio
público disponibles en Internet y las rotamos al formato de los controladores utilizados. Generalmente, los sets
de caracteres se hallan definidos a un byte por línea horizontal, n líneas de arriba a abajo, caracter por caracter.
La tarea a realizar consiste en transferir esa información, caracter por caracter, al formato del HD61202: un
byte por línea vertical, n líneas de izquierda a derecha, caracter por caracter. | |
|
|
| Software de soporte CAN-041: | CAN-041_Software.zip |
|
|
| CAN-042_LCDgraphHD61202-Rabbit3000.pdf | CAN-042_LCDgraphHD61202-Rabbit3000.pdf |
Nota de Aplicación: CAN-042
Título: Conexión de módulos LCD con interfaz tipo Motorola a Rabbit 3000A
El objeto de esta nota es demostrar una aplicación de una novedosa característica del Rabbit 3000A:
IOSTROBE con CS activo en alto. La misma permite, entre otras cosas, controlar displays alfanuméricos
inteligentes y displays gráficos inteligentes basados en chips controladores compatibles con el HD61202, de
Hitachi; como por ejemplo Powertip PG12864, de 128x64 pixels.
Hardware
Vamos a aprovechar varias características del R3000A:
Conexión al bus: el display mapea dentro del espacio de I/O del procesador.
Mediante las líneas de address seleccionamos la operación a realizar
Bus Auxiliar de I/O: el Port A oficia de bus de datos, mientras que el Port B
provee 6 líneas de address (PB.2 a PB.7 = A0 a A5), más que suficiente para | |
|
|
| Software de soporte CAN-042: | CAN-042_Software.zip |
|
|
| CAN-043_LCDgraph-Rabbit-HTTP.pdf | CAN-043_LCDgraph-Rabbit-HTTP.pdf |
Nota de Aplicación: CAN-043
Título: Pizarra remota via HTTP con Rabbit 3000 y LCD gráfico (HD61202)
Presentamos en esta oportunidad una nueva encarnación de la conocida "pizarra remota", una simple
aplicación de un módulo LCD gráfico inteligente y un módulo Rabbit conectado a una red Ethernet. Esta vez,
agregamos la posibilidad de escribirla tanto vía HTTP como por email o interfaz serie/USB. El módulo Rabbit
funciona como un servidor web y con cualquier navegador podemos escribir un simple mensaje en la pizarra;
además, periódicamente revisa el correo en un servidor y si ve un mensaje muestra la primera línea en la
pizarra; y por último, al recibir un retorno de carro (Enter) por un puerto serie, presenta un prompt que
permite al usuario ingresar una línea de texto a ser mostrada en la pizarra. Empleando el conversor serie-USB
descripto en la CAN-025, es posible además acceder a la pizarra vía USB.
Más allá de su posible utilidad en la vida real, esta aplicación nos permite ejemplificar el uso de las
capacidades de TCP/IP de Dynamic C. No se darán demasiados detalles acerca del display y su software de | |
|
|
| Software de soporte CAN-043: | CAN-043_Software.zip |
|
|
| CAN-044_Rabbit-SIM200-PPP-GPRS.pdf | CAN-044_Rabbit-SIM200-PPP-GPRS.pdf |
Nota de Aplicación: CAN-044
Título: Conexión a Internet mediante PPP sobre GPRS con un módulo SIM200
Comentamos en esta oportunidad una forma de conexión a Internet mediante un módulo GSM, el SIMCOM
SIM200. Gracias a la posibilidad de correr PPP en el Rabbit, podemos seguir manteniendo el stack TCP/IP en
el Rabbit, con todas sus ventajas, y conectarnos mediante PPP sobre GPRS.
La conexión es simple, en este aso utilizaremos el port serie B del rabbit, que conectaremos al port serie del
SIM200. Dada la elevada velocidad, para evitar sorpresas, utilizaremos control de flujo por hardware, lo que
realizamos conectando PC.2 como RTS y PC.3 como CTS. Usamos para este ejemplo un kit de RCM2100 y
el kit del SIM200, PC.2 y PC.3 están disponibles como TXC y RXC respectivamente. La conexión es la
siguiente:
Deberá además forzarse la señal DTR del SIM200 en modo activo, lo cual puede hacerse conectándola a DSR
(unir pines 4 y 6 en el conector del kit del SIM200). | |
|
|
| Software de soporte CAN-044: | CAN-044_Software.zip |
|
|
| CAN-045_TRW24G-Rabbit.pdf | CAN-045_TRW24G-Rabbit.pdf |
Nota de Aplicación: CAN-045
Título: Wenshing TRW-2.4G, con Rabbit 3000
Les presentamos los módulos transceptores TRW-2.4G de Wenshing. Se trata de transceivers que operan en la
banda de 2.4GHz, con capacidad de direccionamiento y selección de canal de comunicaciones.
Descripción del TRW-2.4G
Estos módulos poseen una potencia de salida de 0dBm, lo que permite un alcance algo más reducido que una
red Wi-Fi. Funcionan a 3,3V, y su consumo es bastante reducido; pero lo realmente interesante está en su
interfaz. La interfaz del módulo es netamente digital, si bien nada impide su utilización en la forma tradicional
(entra bit - sale bit), estos módulos pueden trabajar con un sistema denominado ShockBurst, que es algo así
como un store and forward que permite emplear micros sin UART, y/o con relojes de baja frecuencia y/o poca
precisión, comunicándose a una velocidad baja, sin por ello mantener ocupado el canal de comunicaciones.
El micro y el módulo se comunican mediante una interfaz de cinco pines, al ritmo que el micro marca en la | |
|
|
| Software de soporte CAN-045: | CAN-045_Software.zip |
|
|
| CAN-046_TRW24G-PIC.pdf | CAN-046_TRW24G-PIC.pdf |
Nota de Aplicación: CAN-046
Título: Wenshing TRW-2.4G, con PIC
En la CAN-045 les presentamos los módulos transceptores TRW-2.4G de Wenshing, transceivers que operan
en la banda de 2.4GHz, con capacidad de direccionamiento y selección de canal de comunicaciones. En esta
oportunidad, portamos el código a PIC, con lo cual podemos emplearlos para implementar económicos remotos
que se encargan de tomar una medición y reportarla al master cuando éste lo requiere, por ejemplo.
Desarrollo propuesto
Vamos a implementar una pequeña especie de biblioteca de funciones que se ocupe de enviar y recibir
mensajes utilizando estos módulos, para lo cual comenzaremos por desarrollar rutinas para escribir y leer un
byte en el módulo:
; Envía un byte
; Dato en W | |
|
|
| Software de soporte CAN-046: | CAN-046_Software.zip |
|
|
| CAN-047_SHT71-PIC.pdf | CAN-047_SHT71-PIC.pdf |
Nota de Aplicación: CAN-047
Título: Sensores de Humedad y Temperatura SHT-71 con PIC
Si bien existen numerosas alternativas para la medición de temperatura ambiente, la medición de la humedad
relativa ambiente resulta ser algo complicada. En ambos casos, lograr una determinada precisión implica
disponer de sensores caros y mucho cuidado en la sección analógica y la placa de circuito impreso; hecho que
se ve potenciado si el sensor debe estar a una cierta distancia del circuito de procesamiento, y/o en ambientes
hostiles. Los sensores combinados de humedad y temperatura ambiente SHT-71, desarrollados por la firma
Sensirion, constan de un par de sensores y conversores A/D, circuitería de calibración, y compensación. La
información es presentada por una interfaz serie, de modo que el sistema de medición se desentiende del tema
ruidos, linealización analógica, calibración, e impedancias. Para más detalles, y código ejemplo en C, le
recomendamos referirse a la CAN-028. En esta oportunidad, desarrollamos código para poder leer los sensores
con PIC, bajando notablemente el costo para aplicaciones que requieran gran cantidad de sensores remotos. | |
|
|
| Software de soporte CAN-047: | CAN-047_Software.zip |
|
|
| CAN-048_SHT71-TRW24G-PIC.pdf | CAN-048_SHT71-TRW24G-PIC.pdf |
Nota de Aplicación: CAN-048
Título: Sensores remotos de Humedad y Temperatura SHT-71 con TRW-2.4G
En esta oportunidad, desarrollamos código para poder emplear los SHT-71 como sensores remotos de
temperatura y humedad. Los mismos reportarán a un sistema central mediante transceptores TRW-2.4G. Los
remotos operan sobre PIC16F630, empleando lo desarrollado en CAN-046 y CAN-047. El master, opera sobre
un módulo Rabbit, aprovechando el desarrollo de la CAN-045.
Para detalles sobre hardware y las rutinas de bajo nivel de SHT-71 y/o TRW-2.4G, remítase a las notas de
aplicación mencionadas. El contenido de esta nota se refiere a la operación del sistema en sí, y al código
necesario para poder realizar la tarea mencionada.
Desarrollo propuesto
El sistema central, basado en Rabbit, se ocupará de interrogar a cada uno de sus remotos y realizar la
linealización de los sensores, a fin de obtener una mayor precisión. Cada sensor remoto obtiene el resultado de | |
|
|
| Software de soporte CAN-048: | CAN-048_Software.zip |
|
|
| CAN-049_LCDgraphT6963-Rabbit.pdf | CAN-049_LCDgraphT6963-Rabbit.pdf |
Nota de Aplicación: CAN-049
Título: Utilización de displays LCD gráficos (T6963) con Rabbit 2000
Nos interiorizaremos ahora en el desarrollo de una interfaz para conectar un módulo LCD gráfico inteligente
Powertip PG240128xxx-A, a un módulo Rabbit 2000. Se trata de un display de 240x128 pixels basado en chips
controladores compatibles con el T6963, de Toshiba. Analizaremos más tarde el software de control y un
simple programa demostración, que sirve para comprobar el correcto funcionamiento de los módulos LCD que
tengamos en stock, y de paso, demostrar sus capacidades. A fin de probar la mayor parte posible del hardware,
la interfaz será de 8 bits y realizará lectura y escritura del controlador LCD.
Hardware
El T6963 presenta una interfaz tipo Intel, es decir, con líneas de RD y WR
separadas. Posee además la línea de selección, CE, y otra para determinar si lo que
se escribe es un dato o un comando: C/D. Existe además otro pin que determina el | |
|
|
| Software de soporte CAN-049: | CAN-049_Software.zip |
|
|
| CAN-050_RabbitExtInt-ABA(TrackII).pdf | CAN-050_RabbitExtInt-ABA(TrackII).pdf |
Nota de Aplicación: CAN-050
Título: Interrupciones externas en Rabbit 2000, lector ABA (Track II)
Desarrollamos aquí un simple ejemplo de uso de las interrupciones externas en un Rabbit 2000. La aplicación
en cuestión es tomar los datos de una lectora de tarjetas RFID con interfaz ABA (Track II).
La interfaz en sí es muy simple, sólo consta de dos líneas: una de clock y una de datos. Los datos son
considerados válidos durante el flanco descendente del reloj, por lo que utilizaremos esta señal para generar
una interrupción al Rabbit y así observar la señal de datos mediante la lectura de un port de I/O (PE.0 en este
caso).
Las interrupciones externas en el Rabbit 2000 vienen de la mano del port E. Si nuestro procesador es R2000C
(IQ5T), lo cual es lo más probable debido a que hace ya algunos años que está en el mercado, la forma de
seleccionar el puerto de interrupciones es la siguiente:
WrPortI(PEDDR, &PEDDRShadow, 0xEE); // PE0,4=input | |
|
|
| CAN-051_Holtek-LCDalfa.pdf | CAN-051_Holtek-LCDalfa.pdf |
Nota de Aplicación: CAN-051
Título: Manejo de displays LCD alfanuméricos inteligentes con Holtek
La presente nota de aplicación está basada en la nota de aplicación HA0013E de Holtek. El objetivo es
interiorizarnos en el desarrollo de una interfaz para conectar un módulo LCD alfanumérico inteligente a un
microcontrolador Holtek. Analizaremos más tarde el software de control y un simple programa demostración.
La interfaz que utilizamos es de 8 bits con lectura y escritura del controlador LCD. La nota de aplicación
original es algo más completa, permitiendo compilado condicional para 4-bits ú 8-bits. A los fines de hacer de
ésta una nota introductoria, decidimos simplificarla.
Hardware
Utilizaremos el port B completo para los datos, y algunos pines del port C para las señales de control. Como
la gran mayoría de los microcontroladores, los ports de I/O son bidireccionales. Ambos puertos están presentes
con todas las líneas necesarias desde 48R10/48E10 en adelante. | |
|
|
| Software de soporte CAN-051: | CAN-051_Software.zip |
|
|
| CAN-052_FingerprintBFS-2S-imagen-web.pdf | CAN-052_FingerprintBFS-2S-imagen-web.pdf |
Nota de Aplicación: CAN-052
Título: BFS-2S, cómo ver la imagen sin display gráfico
Les presentamos un rápido truco para poder visualizar la imagen de la huella dactilar tomada por el módulo
de reconocimiento de huellas dactilares BFS-2S, para aquéllos que no disponen de un display gráfico. El truco
utiliza un Rabbit como servidor web, el cual toma la imagen del módulo y la ofrece en una página web, para
así poder verla.
Para una descripción del BFS-2S y sus comandos, consulte la CAN-026. Para como servir páginas web desde
Rabbit, consulte la gran cantidad de otras notas de aplicación al respecto.
Generamos la imagen en formato BMP sin compresión. Como ya sabemos de antemano el tamaño y
resolución de color que vamos a utilizar, simplemente generamos con cualquier software una imagen en dicho
formato, y extraemos la cabecera y la paleta, las cuales podemos guardar en flash mediante #ximport, y luego
copiarlas a RAM, reservando un área al final del tamaño de la imagen. A continuación, modificamos el campo | |
|
|
| Software de soporte CAN-052: | CAN-052_Software.zip |
|
|
| CAN-053_SIM200-KC111-Rabbit.pdf | CAN-053_SIM200-KC111-Rabbit.pdf |
Nota de Aplicación: CAN-053
Título: Pizarra remota con SMS y Bluetooth con SIM200 y KC-111
Una vez más, nuestra conocida "pizarra remota" vuelve a evolucionar. Esta vez, agregamos la posibilidad de
escribirla mediante mensajes de texto (SMS) empleando un módulo GSM SIM200. Modificamos además el
código de la interfaz serie para poder, mediante un módulo Bluetooth, conectarnos desde (por ejemplo) una
PDA. La descripción y desarrollo del código para Bluetooth se encuentra en el Comentario Técnico CTC-036.
La descripción de cómo enviar y recibir mensajes de texto con un SIM200 se encuentra en el Comentario
Técnico CTC-037. La Nota de Aplicación CAN-043 explica cómo recibir emails y hace una descripción de la
pizarra en sí, brindando además numerosos punteros a notas de aplicación anteriores que cubren la recepción
de mensajes por HTTP, el hardware de display, y conceptos más básicos de Rabbit.
En síntesis: el módulo Rabbit funciona como un servidor web y con cualquier navegador podemos escribir un
simple mensaje en la pizarra; además, periódicamente revisa el correo en un servidor y si ve un mensaje | |
|
|
| CAN-054_MMC-Rabbit.pdf | CAN-054_MMC-Rabbit.pdf |
Nota de Aplicación: CAN-054
Título: Utilización de tarjetas MMC en bajo nivel
Una opción interesante y económica a la hora de almacenar grandes cantidades de datos, son las tarjetas
flash. Entre ellas, las MMC y SD presentan la particularidad de poder ser controladas mediante una interfaz
SPI, característica que explotaremos en esta oportunidad.
Información de las tarjetas MMC
Tanto SD como MMC son standards de las respectivas organizaciones que definen su funcionamiento y lo
documentan. El developer o fabricante de productos puede adquirir dicha documentación directamente de estas
organizaciones. En este caso en particular, utilizamos información disponible de forma gratuita en Internet, la
cual puede no ser del todo correcta. Sin embargo, el código de la presente nota de aplicación ha funcionado
correctamente con las tarjetas MMC que hemos probado. Debido a que dicha información no nos pertenece, no
podemos publicarla junto a esta nota ni tampoco distribuirla, se recomienda al lector conseguir y leer la | |
|
|
| Software de soporte CAN-054: | CAN-054_Software.zip |
|
|
| CAN-055_MMC-Rabbit-leeFAT16.pdf | CAN-055_MMC-Rabbit-leeFAT16.pdf |
Nota de Aplicación: CAN-055
Título: Lectura de datos externos de tarjetas MMC
En la CAN-054 vimos la forma de acceder a estas interesantes y económicas tarjetas flash mediante una
interfaz SPI. En esta oportunidad, mostraremos una forma fácil de leer información de éstas, que puede haber
sido grabada en cualquier otro sistema si están formateadas utilizando el sistema de archivos FAT16.
Información de las tarjetas MMC y de FAT16
Tanto SD como MMC, FAT y FAT16, son standards de las respectivas organizaciones que definen su
funcionamiento y lo documentan. El developer o fabricante de productos puede adquirir dicha documentación
directamente de estas organizaciones. En este caso en particular, utilizamos información disponible de forma
gratuita en Internet, la cual puede no ser del todo correcta. Sin embargo, el código de la presente nota de
aplicación ha funcionado correctamente con las tarjetas MMC que hemos probado.
Debido a que dicha información no nos pertenece, no podemos publicarla junto a esta nota ni tampoco | |
|
|
| Software de soporte CAN-055: | CAN-055_Software.zip |
|
|
| CAN-056_TRW24G-Holtek.pdf | CAN-056_TRW24G-Holtek.pdf |
Nota de Aplicación: CAN-056
Título: Wenshing TRW-2.4G, con Holtek
En la CAN-045 les presentamos los módulos transceptores TRW-2.4G de Wenshing, transceivers que operan
en la banda de 2.4GHz, con capacidad de direccionamiento y selección de canal de comunicaciones. En esta
oportunidad, portamos el código a Holtek, con lo cual podemos emplearlos para implementar económicos
remotos que se encargan de tomar una medición y reportarla al master cuando éste lo requiere, por ejemplo.
Desarrollo propuesto
Vamos a implementar una pequeña especie de biblioteca de funciones que se ocupe de enviar y recibir
mensajes utilizando estos módulos, para lo cual comenzaremos por desarrollar rutinas para escribir y leer un
byte en el módulo:
; Envía un byte
; dato en A | |
|
|
| Software de soporte CAN-056: | CAN-056_Software.zip |
|
|
| CAN-057_SHT71-Holtek.pdf | CAN-057_SHT71-Holtek.pdf |
Nota de Aplicación: CAN-057
Título: Sensores de Humedad y Temperatura SHT-71 con Holtek
Si bien existen numerosas alternativas para la medición de temperatura ambiente, la medición de la humedad
relativa ambiente resulta ser algo complicada. En ambos casos, lograr una determinada precisión implica
disponer de sensores caros y mucho cuidado en la sección analógica y la placa de circuito impreso; hecho que
se ve potenciado si el sensor debe estar a una cierta distancia del circuito de procesamiento, y/o en ambientes
hostiles. Los sensores combinados de humedad y temperatura ambiente SHT-71, desarrollados por la firma
Sensirion, constan de un par de sensores y conversores A/D, circuitería de calibración, y compensación. La
información es presentada por una interfaz serie, de modo que el sistema de medición se desentiende del tema
ruidos, linealización analógica, calibración, e impedancias. Para más detalles, y código ejemplo en C, le
recomendamos referirse a la CAN-028. En esta oportunidad, desarrollamos código para poder leer los sensores
con los micros de Holtek, bajando notablemente el costo para aplicaciones que requieran gran cantidad de | |
|
|
| Software de soporte CAN-057: | CAN-057_Software.zip |
|
|
| CAN-058_SHT71-TRW24G-Holtek.pdf | CAN-058_SHT71-TRW24G-Holtek.pdf |
Nota de Aplicación: CAN-058
Título: Sensores remotos de Humedad y Temperatura SHT-71 con TRW-2.4G
En esta oportunidad, desarrollamos código para poder emplear los SHT-71 como sensores remotos de
temperatura y humedad. Los mismos reportarán a un sistema central mediante transceptores TRW-2.4G. Los
remotos operan sobre HT48E30, empleando lo desarrollado en CAN-056 y CAN-057. El master, opera sobre
un módulo Rabbit, aprovechando el desarrollo de la CAN-045.
Para detalles sobre hardware y las rutinas de bajo nivel de SHT-71 y/o TRW-2.4G, remítase a las notas de
aplicación mencionadas. El contenido de esta nota se refiere a la operación del sistema en sí, y al código
necesario para poder realizar la tarea mencionada.
Desarrollo propuesto
El sistema central, basado en Rabbit, se ocupará de interrogar a cada uno de sus remotos y realizar la
linealización de los sensores, a fin de obtener una mayor precisión. Cada sensor remoto obtiene el resultado de | |
|
|
| Software de soporte CAN-058: | CAN-058_Software.zip |
|
|
| CAN-059_LCDgraphHD61202-RamtronVRS51L3074.pdf | CAN-059_LCDgraphHD61202-RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-059
Título: Utilización de displays LCD gráficos (HD61202) con Ramtron VRS51L3074
Nos interiorizaremos ahora en el desarrollo de una interfaz para conectar un módulo LCD gráfico inteligente
a un microcontrolador Ramtron VRS51L3074. Utilizaremos un módulo Powertip PG12864, de 128x64 pixels,
basado en chips controladores compatibles con el HD61202, de Hitachi, y su clon: el KS0108, de Samsung.
Analizaremos más tarde el software de control y un simple programa demostración, que sirve para comprobar
el correcto funcionamiento de los módulos LCD que tengamos en stock, y de paso, demostrar sus capacidades
gráficas. A fin de probar la mayor parte posible del hardware, la interfaz será de 8 bits y realizará lectura y
escritura del controlador LCD.
Hardware
Dado que el controlador utilizado en estos módulos sólo es capaz de direccionar
izquierda y otro para la parte derecha del display. El hardware de conexión resulta | |
|
|
| Software de soporte CAN-059: | CAN-059_Software.zip |
|
|
| CAN-060_LCDgraphHD61202TEXT-RamtronVRS51L3074.pdf | CAN-060_LCDgraphHD61202TEXT-RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-060
Título: Display de textos en LCD gráficos (HD61202) con Ramtron VRS51L3074
Complementamos el desarrollo de la CAN-059 ampliando la forma de mostrar textos en módulos LCD
gráficos inteligentes Powertip PG12864, con Ramtron VRS51L3074. Se recomienda al lector el estudio de la
CAN-059 para mayor información sobre la estructura de memoria de los displays basados en HD61202 y/o
KS0108 y su utilización para aplicaciones puramente gráficas.
Hardware
El hardware de conexión es el mismo que viéramos en la CAN-059
Software
Mantenemos el software de soporte desarrollado en la CAN-059, necesitará de parte del software de esta nota
de aplicación si desea compilar los archivos que acompañan a la presente.
Recordemos que la estructura de memoria de estos módulos gráficos se halla agrupada en bytes en sentido | |
|
|
| Software de soporte CAN-060: | CAN-060_Software.zip |
|
|
| CAN-061_MCP3204-RamtronVRS51L3074.pdf | CAN-061_MCP3204-RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-061
Título: Conexión de un conversor A/D MCP3204 a micros Ramtron VRS51L3074
Con el fin de proporcionar entradas analógicas a los micros Ramtron VRS51L3074; introducimos el
MCP3204 de Microchip (conversor analógico-digital de 12 bits), y desarrollamos su conexión con éstos
mediante la interfaz SPI. Desarrollamos además un simple driver para obtener los datos del conversor, con un
modesto ejemplo.
Descripción del MCP3204
El MCP3204 de Microchip es un conversor analógico-digital de 12 bits por
aproximaciones sucesivas (SAR) con interfaz SPI. Dispone de cuatro entradas que
puede configurar como 4 canales single-ended ó 2 canales pseudo-diferenciales (el
potencial de la entrada IN- no debe alejarse más de unos 100mV del potencial de
GND). La referencia de tensión debe ser externa, funciona a 3 ó 5V y su velocidad | |
|
|
| Software de soporte CAN-061: | CAN-061_Software.zip |
|
|
| CAN-062_ProcessorCompanionRTC_RamtronVRS51L3074.pdf | CAN-062_ProcessorCompanionRTC_RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-062
Título: Uso del RTC de un Processor Companion FM31xx con Ramtron VRS51L3074
En el comentario técnico CTC-045 vimos la forma de utilizar la interfaz I2C en los Ramtron VRS51L3074.
En esta oportunidad, accederemos al RTC de un Processor Companion FM31xx utilizando dichas rutinas. El
código fue tomado de lo provisto por el fabricante, con modificaciones menores. Para compilarlo es necesario
disponer del código que acompaña a CTC-045
Hardware
En el kit de desarrollo del VRS51L3074 disponemos de un FM31256 y una FM24CL64, con un pequeño bus
I2C. todo lo que tenemos que hacer es conectarlos a los pines SCL y SDA del micro. El FM31256 no tiene
alimentación de backup, la cual deberá proveerse por un conector adicional. el circuito esquemático figura en
el manual del usuario del kit.
Para aquellos lectores que no disponen de un kit y desean experimentar, el siguiente es un circuito típico de | |
|
|
| Software de soporte CAN-062: | CAN-062_Software.zip |
|
|
| CAN-063_ReprodAudioRamtronVRS51L3074.pdf | CAN-063_ReprodAudioRamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-063
Título: Reproducción de audio en microcontroladores: Ramtron VRS51L3074
En el comentario técnico CTC-046 vimos la forma de aprovechar los generadores de PWM para reproducir
audio. En esta nota de aplicación veremos un caso práctico con los Ramtron VRS51L3074.
Análisis
El VRS51L3074 dispone de un clock interno de 40MHz. Intentamos reproducir una señal de audio con un
ancho de banda cercano al del oído, con una resolución de 8-bits.
Para disponer de 8-bits de resolución, necesitamos de una frecuencia de operación de
156,25 KHz . Para bajar la frecuencia de procesamiento y los requerimientos de filtrado,
utilizaremos una frecuencia de muestreo cuatro veces inferior: 39062,5 Hz, esto nos permite un ancho de
banda de audio de poco más de 19KHz
Hardware | |
|
|
| Software de soporte CAN-063: | CAN-063_Software.zip |
|
|
| CAN-064_ReprodAudioRabbit4000.pdf | CAN-064_ReprodAudioRabbit4000.pdf |
Nota de Aplicación: CAN-064
Título: Reproducción de audio en microcontroladores: Rabbit 4000
En el comentario técnico CTC-046 vimos la forma de aprovechar los generadores de PWM para reproducir
audio. En esta nota de aplicación veremos un caso práctico con Rabbit 4000.
Análisis
El módulo RCM4000 dispone de un clock de 59MHz. Intentamos reproducir una señal de audio con un ancho
de banda cercano al del oído, con una resolución de 8-bits.
El generador de PWM de Rabbit funciona a 10-bits, y toma reloj del clock de periféricos, por lo que la
máxima frecuencia de trabajo es de 59 MHz
¡ 28800 Hz . Para bajar los requerimientos de filtrado,
habilitaremos el modo SPREAD, lo que elevará la frecuencia de la señal de salida a 115200Hz. Nuestra
frecuencia de muestreo será 28800 Hz y esto nos permite un ancho de banda de audio de poco más de 14KHz. | |
|
|
| Software de soporte CAN-064: | CAN-064_Software.zip |
|
|
| CAN-065_DSP_FIR_RamtronVRS51L3074.pdf | CAN-065_DSP_FIR_RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-065
Título: DSP con Ramtron VRS51L3074: filtro FIR
En esta nota de aplicación veremos un caso práctico de filtrado de señales con los Ramtron VRS51L3074. Si
bien el fabricante provee una excelente nota de aplicación al respecto, consideramos necesario desarrollar un
marco más flexible. En la nota de aplicación CAN-063 vimos una forma de aprovechar los generadores de
PWM para reproducir audio y utilizar el MCP3204 para obtenerlo, según lo desarrollado en CAN-061; lo
utilizaremos para entrada y salida de la señal.
Introducción
Si bien un filtro de tipo FIR de 16 etapas como el desarrollado requiere mucho de la CPU, gracias al esquema
desarrollado en la CAN-063 podemos minimizar el tiempo ocioso y procesar en tiempo real una señal con un
ancho de banda de poco más de 19KHz, quedándonos algo de tiempo para atender otras tareas
Filtros FIR | |
|
|
| Software de soporte CAN-065: | CAN-065_Software.zip |
|
|
| CAN-066_DSP_Flanger_RamtronVRS51L3074.pdf | CAN-066_DSP_Flanger_RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-066
Título: DSP con Ramtron VRS51L3074: efecto de sonido: flanger
En esta nota de aplicación veremos un caso práctico de efectos de sonido con los Ramtron VRS51L3074. El
marco de trabajo utilizado es el mismo de la CAN-065, y la aritmética es bastante compleja, por lo que se
recomienda a los lectores no experimentados comenzar por dicha nota de aplicación.
Introducción
Gracias al esquema desarrollado en la CAN-063 podemos minimizar el tiempo ocioso y procesar en tiempo
real una señal con un ancho de banda de poco más de 19KHz, quedándonos algo de tiempo para atender otras
tareas.
Un efecto de sonido como el flanger responde a un diagrama en bloques como el siguiente:
Se trata de un retardo continuamente variable, controlado por un LFO que suele ser una señal triangular. Una
parte de la señal así demorada se reinyecta a la entrada y otra se combina con la señal original para lograr un | |
|
|
| Software de soporte CAN-066: | CAN-066_Software.zip |
|
|
| CAN-067_Holtek-SoftADC.pdf | CAN-067_Holtek-SoftADC.pdf |
Nota de Aplicación: CAN-067
Título: Conversor AD por software con Holtek
La presente nota de aplicación muestra una forma rápida, sencilla y económica de agregar conversión AD a
las familias HT48 de Holtek.
Introducción
Vamos a desarrollar un conversor analógico-digital del tipo integrador. Sumamente simplificado,
intentaremos generar una señal digital cuyo valor medio sea igual al de la señal analógica a convertir. Para
ello, luego de cargar el capacitor de un circuito integrador al valor de la señal a medir, aplicamos sobre el
mismo una serie de pulsos iguales de carga y descarga dentro de un intervalo de tiempo; la relación entre la
cantidad de pulsos de carga aplicados y el total de pulsos posibles nos da el valor medio de la señal generada,
que debe ser igual al de la señal a medir:
V x V g 1 | |
|
|
| Software de soporte CAN-067: | CAN-067_Software.zip |
|
|
| CAN-068_FRAM_VRS51L3074.pdf | CAN-068_FRAM_VRS51L3074.pdf |
Nota de Aplicación: CAN-068
Título: Logging en FRAM y con Ramtron VRS51L3074
En esta nota, analizamos cuestiones de performance y durabilidad en algunas implementaciones de sistemas
de logging, para luego desarrollar un ejemplo de uso de la FRAM interna del VRS51L3074.
¡ ¢ £ ¤ ¢ ¥ £ ¦ § ¨ © ¢ £ ¦ § ¢ ¢ £ ¡ ¦ ¤ ¡ § ¤ ¡ § ¦ ¦ §
¡ ¢ £ ¤ ¢ ¥ £ ¦ § ¨ © ¢ £ ¦ § ¢ ¢ £ ¡ ¦ ¤ ¡ § ¤ ¡ § ¦ ¦ §
¡ ¢ £ ¤ ¢ ¥ £ ¦ § ¨ © ¢ £ ¦ § ¢ ¢ £ ¡ ¦ ¤ ¡ § ¤ ¡ § ¦ ¦ §
¡ ¢ £ ¤ ¢ ¥ £ ¦ § ¨ © ¢ £ ¦ § ¢ ¢ £ ¡ ¦ ¤ ¡ § ¤ ¡ § ¦ ¦ §
Supongamos por ejemplo tener un totalizador de caudal. El mismo toma mediciones y totaliza cada un
determinado tiempo, digamos un segundo. Dicho totalizador se alimenta del lazo de corriente 4-20mA que
genera el transmisor de caudal, por lo que está sujeto a ser pateado y desconectado por operadores y otras
personas que no deberían pero transitan por esa zona. Si bien podemos darnos el lujo de perder alguna que otra | |
|
|
| Software de soporte CAN-068: | CAN-068_Software.zip |
|
|
| CAN-069_SoftTimers_RamtronVRS51L3074.pdf | CAN-069_SoftTimers_RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-069
Título: Software timers con Ramtron VRS51L3074
Si bien el VRS51L3074 dispone de tres timers y sus ocho canales PWM pueden configurarse cada uno para
funcionar como timers, en algunos casos la cantidad de eventos simultáneos, de salidas a controlar, o el tipo de
aplicación misma, requieren de un sistema de software timers sincronizados para controlar eventos en tiempos
más relajados, del orden de las decenas de milisegundos hasta las decenas de segundos.
Para estos casos, presentamos un sencillo y eficiente esquema de software timers de 8-bits controlados por
uno de los hardware timers del micro.
La idea es muy simple: el Timer2 interrumpe cada 10ms; su rutina de interrupción se encarga de llevar la
cuenta para contar segundos y decrementar los timers en uso. A fin de dejar libre la memoria interna para
asuntos que requieran mayor velocidad, utilizamos la RAM on-chip mapeada en el área de memoria de datos
externa: | |
|
|
| Software de soporte CAN-069: | CAN-069_Software.zip |
|
|
| CAN-070_Serials_RamtronVRS51L3074.pdf | CAN-070_Serials_RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-070
Título: Comunicación serie asincrónica con Ramtron VRS51L3074
En esta nota de aplicación desarrollaremos un simple y práctico sistema para utilizar comunicación serie
asincrónica por las UARTs del VRS51L3074.
Dado que la mayoría de las veces la comunicación con un dispositivo de orden superior o inferior es del tipo
comando-respuesta, y generalmente se trata de mensajes cortos con una longitud medianamente predecible y
un funcionamiento pausado, desarrollaremos un esquema con buffers lineales, muy simple, que nos permita
esperar un comando y contestar, o enviar un comando y esperar una respuesta.
El esquema a desarrollar presenta al usuario las siguientes funciones:
serXpeek(): devuelve el último caracter en el buffer (o -1 si el buffer está vacío), y sirve para detectar fin de
mensaje en protocolos de comunicaciones con señalización por caracter especial.
serXflush(): borra el buffer de recepción, se utiliza luego de procesado el mensaje, para hacer lugar para el | |
|
|
| Software de soporte CAN-070: | CAN-070_Software.zip |
|
|
| CAN-071_SoftTimers_Holtek.pdf | CAN-071_SoftTimers_Holtek.pdf |
Nota de Aplicación: CAN-071
Título: Software timers en Holtek
Los micros de la familia HT48 de Holtek incorporan entre uno y tres hardware timers. Particularmente en los
que disponen de uno solo, algunos tipos de aplicación requieren de un sistema de software timers para
controlar eventos en tiempos del orden de las decenas de milisegundos hasta las decenas de segundos.
Presentamos aquí un sencillo y eficiente esquema de software timers de 8-bits, controlados por un hardware
timer del micro.
La idea es muy simple: el timer de 8-bits (el único para dispositivos menores a HT48E50) interrumpe cada
en uso:
T0HND: mov softstack,A ; salva A
mov A,STATUS
mov softstack[1],A ; salva STATUS | |
|
|
| Software de soporte CAN-071: | CAN-071_Software.zip |
|
|
| CAN-072_GP8F-Holtek_ControlAcceso.pdf | CAN-072_GP8F-Holtek_ControlAcceso.pdf |
Nota de Aplicación: CAN-072
Título: Control de Acceso de muy bajo costo
Presentamos un control de acceso de muy bajo costo realizado con tarjetas o tags RFID. Utilizamos como
lector al módulo GP8F-R2, de muy bajo costo, el que conectamos a un micro de la serie HT48E de Holtek para
validar los RFID. Dada la capacidad de memoria EEPROM de estos micros, podemos almacenar hasta 24
RFIDs en memoria con el más pequeño.
Descripción del GP8F-R2
El módulo GP8F-R2 lee tarjetas o tags RFID read-only de 64-bits, código Manchester a 125KHz. Posee una
salida para conectar un LED, que permanece encendido y aumenta su intensidad al aproximar un RFID. El ID
correspondiente se entrega por un terminal en formato 8 bits serie asincrónico, a 9600 bps, sin paridad, a nivel
lógico. El usuario puede optar por conectarlo a algun driver RS-232 para leerlo desde una PC, o conectarlo
directamente a un microcontrolador o UART. El formato lógico responde al siguiente esquema, en ASCII: | |
|
|
| Software de soporte CAN-072: | CAN-072_Software.zip |
|
|
| CAN-073_ControlPersonal-RamtronVRS51L3074.pdf | CAN-073_ControlPersonal-RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-073
Título: Control de Personal con Ramtron VRS51L3074
Nos encontramos esta vez para desarrollar una herramienta de control de personal, destinada a registrar el
horario de ingreso y egreso mediante la identificación por elementos RFID, es decir, las conocidas tarjetas de
proximidad y los modernos llaveros. El empleado recibe confirmación visual y auditiva, oyendo una chicharra
(o un mensaje de voz mediante un chip de Aplus) y observando en un display gráfico su nombre y la hora y
fecha en la cual se registra su tarjeta. El interesado en controlar al empleado, puede observar los horarios en
orden decreciente en el mismo display, u obtener un listado con los campos separados por TABs, el cual puede
procesar y filtrar automáticamente con cualquier herramienta orientada a procesar registros (awk, por ejemplo
en ambiente Unix), o incluso manualmente con cualquier planilla de cálculo.
Aprovechamos el desarrollo de las notas de aplicación CAN-059 y CAN-060 para conectar nuestro display,
CAN-068 para el manejo de la memoria no-volátil FRAM, CAN-069 para la implementación de software | |
|
|
| Software de soporte CAN-073: | CAN-073_Software.zip |
|
|
| CAN-074_Holtek-LCDalfa.pdf | CAN-074_Holtek-LCDalfa.pdf |
Nota de Aplicación: CAN-074
Título: Manejo de displays LCD alfanuméricos inteligentes con Holtek
La presente nota de aplicación desarrolla un esquema de control para displays LCD alfanuméricos, basada en
la serie HT48E de Holtek. El código desarrollado es assembler, pero se proveen ejemplos de uso del mismo
tanto desde C como desde assembler. Aquellos lectores no interesados en el funcionamiento interno del código,
pueden saltear dicha parte y acceder directamente a los ejemplos de uso. Para una explicación detallada de los
requisitos a cumplir para utilizar C y assembler simultáneamente, se recomienda la lectura del tutorial CTU-
Hardware
Utilizaremos el port A completo para los datos, y algunos pines del port C para las señales de control. Como
la gran mayoría de los microcontroladores, los ports de I/O son bidireccionales. Ambos puertos están presentes
con todas las líneas necesarias desde 48E30 en adelante.
Software | |
|
|
| Software de soporte CAN-074: | CAN-074_Software.zip |
|
|
| CAN-075_Holtek-LCDgraph.pdf | CAN-075_Holtek-LCDgraph.pdf |
Nota de Aplicación: CAN-075
Título: Manejo de displays LCD gráficos basados en T6963 con Holtek
La presente nota de aplicación desarrolla un esquema de control para displays LCD gráficos de 128x64
puntos, basados en el controlador T6963C de Toshiba. La razón de la elección de este controlador es que el
mismo incluye un generador de caracteres interno, liberándonos de dicha tarea y fundamentalmente del
espacio de memoria asociado para almacenar los caracteres. El código desarrollado es assembler, pero se
proveen ejemplos de uso del mismo tanto desde C como desde assembler. Aquellos lectores no interesados en
el funcionamiento interno del código, pueden saltear dicha parte y acceder directamente a los ejemplos de uso.
Para una explicación detallada de los requisitos a cumplir para utilizar C y assembler simultáneamente, se
recomienda la lectura del tutorial CTU-010.
Breve descripción del display gráfico
La memoria del display puede ser dividida en dos áreas: gráfica y de texto, las cuales pueden, a su vez, | |
|
|
| Software de soporte CAN-075: | CAN-075_Software.zip |
|
|
| CAN-076_LCDgraphSED1335-RamtronVRS51L3074.pdf | CAN-076_LCDgraphSED1335-RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-076
Título: Utilización de displays LCD gráficos (SED1335) con Ramtron VRS51L3074
Nos interiorizaremos ahora en el desarrollo de una interfaz para conectar un módulo LCD gráfico inteligente
Powertip PG320240, a un módulo Rabbit 2000. Se trata de un display de 320x240 pixels basado en chips
controladores compatibles con el SED1335, de S-MOS, y su clon de Epson. Analizaremos más tarde el
software de control y un simple programa demostración, que sirve para comprobar el correcto funcionamiento
de los módulos LCD que tengamos en stock, y de paso, demostrar sus capacidades. A fin de probar la mayor
parte posible del hardware, la interfaz será de 8 bits y realizará lectura y escritura del controlador LCD.
Hardware
El SED1335 presenta una interfaz con dos posibles modos de trabajo: tipo
Motorola (E, RS, R/W) o tipo Intel (RD, WR, A0). El PG320240FRS de Powertip
lo utiliza en esta última modalidad. | |
|
|
| Software de soporte CAN-076: | CAN-076_Software.zip |
|
|
| CAN-077_LCDgraphSED1335-RamtronVRS51L3074.pdf | CAN-077_LCDgraphSED1335-RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-077
Título: Tipografías en displays LCD gráficos (SED1335) con Ramtron VRS51L3074
Si bien el SED1335 incorpora un set de caracteres de 5x7, muchas aplicaciones requieren de caracteres más
grandes o de diferentes tipografías para indicar o resaltar. En esta nota de aplicación, cuyo hardware y soporte
se basan en lo desarrollado en CAN-076, desarrollamos una simple rutina, fácilmente extensible, para soportar
varias tipografías.
Software
Para mostrar texto en el display, lo armaremos sobre la pantalla gráfica. Para esto, cada tipografía se alojará
en flash como una sucesión de bytes en el formato del display, es decir, de arriba hacia abajo. Si bien el código
tal como está no soporta caracteres de más de 8 pixels, es fácil extenderla a 16 pixels tomando de a dos por
fila. La rutina desarrollada ubica el inicio del caracter a imprimir en la flash, tomando luego la cantidad de
bytes necesarios según la altura de la tipografía, y repitiendo el procedimiento para cada caracter del string. | |
|
|
| Software de soporte CAN-077: | CAN-077_Software.zip |
|
|
| CAN-078_LCDgraphHD61202icons-RamtronVRS51L3074.pdf | CAN-078_LCDgraphHD61202icons-RamtronVRS51L3074.pdf |
Nota de Aplicación: CAN-078
Título: Display de íconos en LCD gráficos (HD61202) con Ramtron VRS51L3074
Complementamos el desarrollo de CAN-059 y CAN-060 agregando la forma de mostrar íconos y resaltar
textos en módulos LCD gráficos inteligentes Powertip PG12864, con Ramtron VRS51L3074. Se recomienda al
lector el estudio de la CAN-059 para mayor información sobre la estructura de memoria de los displays
basados en HD61202 y/o KS0108 y su utilización.
Software
Mantenemos el software de soporte desarrollado en CAN-059 y CAN-060, necesitará de parte del software de
estas nota de aplicación si desea compilar los archivos que acompañan a la presente.
Íconos
Hemos visto en CAN-059 la forma de enviar una pantalla completa al display. En este caso, necesitamos
imprimir un ícono, que requiere recordar la posición de inicio (superior izquierda) y luego ir avanzando: | |
|
|
| Software de soporte CAN-078: | CAN-078_Software.zip |
|
|
| CAN-079_Holtek-7seg.pdf | CAN-079_Holtek-7seg.pdf |
Nota de Aplicación: CAN-079
Título: Manejo de displays de 7 segmentos con Holtek
La presente nota de aplicación desarrolla un esquema de control para displays de 7 segmentos, basada en la
serie HT48E de Holtek. Todo el multiplexado es desarrollado por el micro, mediante software, con soporte
para realizar parpadeo individual de los dígitos.
El código desarrollado es assembler, pero se proveen ejemplos de uso del mismo tanto desde C como desde
assembler. Aquellos lectores no interesados en el funcionamiento interno del código, pueden saltear dicha
parte y acceder directamente a los ejemplos de uso. Para una explicación detallada de los requisitos a cumplir
para utilizar C y assembler simultáneamente, se recomienda la lectura del tutorial CTU-010.
Hardware
Utilizaremos el port A completo para los segmentos, y algunos pines del port C para la selección de los
dígitos. La parte alta del port B la utilizaremos para retorno del teclado, el cual escaneamos aprovechando el | |
|
|
| Software de soporte CAN-079: | CAN-079_Software.zip |
|
|
| CAN-080_HoltekHT48E-EEPROM.pdf | CAN-080_HoltekHT48E-EEPROM.pdf |
Nota de Aplicación: CAN-080
Título: Utilización de la EEPROM en HT48E
Los micros de la serie HT48E de Holtek incorporan una EEPROM equivalente a las memorias de la serie
la EEPROM tanto desde C como assembler, aprovechando código desarrollado por Holtek. El código original
en assembler ha sido modificado para soportar acceso desde C y assembler de manera indistinta, y la
posibilidad de que el compilador modifique los registros BP y MP1, lo cual ocurre al acceder variables
declaradas como externas en C.
Utilización desde C
Incluimos dos header files, E93LC46.h y E93LC56.h, de modo que el compilador pueda chequear la sintaxis
y el usuario conozca las funciones que debe llamar.
Lectura
Para leer en una posición de la EEPROM, utilizamos la siguiente función: | |
|
|
| Software de soporte CAN-080: | CAN-080_Software.zip |
|
|
| CAN-081_7seg+softtimers_Holtek.pdf | CAN-081_7seg+softtimers_Holtek.pdf |
Nota de Aplicación: CAN-081
Título: Software timers y displays de 7-segmentos en Holtek
Dado que tanto la implementación de multiplexado para displays de 7-segmentos como la de software timers
utilizan el timer de 8-bits, en aplicaciones que requieran ambos conceptos, éstos utilizan dicho timer de forma
diferente. La presente nota de aplicación se basa en CAN-079, proveyendo un esquema de multiplexado para
hasta cuatro dígitos de 7-segmentos, y agregando a la misma el esquema desarrollado en CAN-071, que provee
un sencillo y eficiente esquema de software timers de 8-bits.
La frecuencia de interrupción del timer viene dada por la cantidad de dígitos del display. No lo desarrollamos
en CAN-079, pero la idea es tener una cantidad de parpadeos superior a la mínima detectada por el ojo. Si
tomamos esta frecuencia como de 50Hz, entonces, para un display de cuatro dígitos el timer de 8-bits
interrumpe cada 5ms. Esta interrupción nos controla los timers cortos, que cuentan 'ticks' en vez de centésimas
de segundos como en CAN-071. Estos 'ticks' se dividen por software hasta lograr un segundo, base de los | |
|
|
| Software de soporte CAN-081: | CAN-081_Software.zip |
|
|
| CAN-082_Holtek-KBDmux.pdf | CAN-082_Holtek-KBDmux.pdf |
Nota de Aplicación: CAN-082
Título: Teclado matricial con Holtek
En la nota de aplicación CAN-079 desarrollamos un esquema de control para displays de 7 segmentos, que
incluía lectura de un teclado matricial. Para aquellas aplicaciones en las cuales no se utilizan displays de 7-
segmentos pero se requiere la lectura del teclado, presentamos aquí un pequeño esquema de scan que puede
utilizarse a demanda (como muestra la nota de aplicación) o incluirse en un handler de interrupciones, si se
toman los recaudos necesarios de stack como viéramos en CAN-079.
El código desarrollado es assembler, pero se proveen ejemplos de uso del mismo tanto desde C como desde
assembler. Aquellos lectores no interesados en el funcionamiento interno del código, pueden saltear dicha
parte y acceder directamente a los ejemplos de uso. Para una explicación detallada de los requisitos a cumplir
para utilizar C y assembler simultáneamente, se recomienda la lectura del tutorial CTU-010.
Hardware | |
|
|
| Software de soporte CAN-082: | CAN-082_Software.zip |
|
|
| CAN-087_TFT640x480-Rabbit.pdf | CAN-087_TFT640x480-Rabbit.pdf |
Nota de Aplicación: CAN-087
Título: Utilización de displays LCD color con controladores S1D13706 y Rabbit
Modificamos levemente el desarrollo de las CAN-035, CAN-036 y CAN-037, para trabajar con displays TFT
de 640x480 en formato VGA, como por ejemplo el PD064VT4 presentado en CTC-053.
Limitaciones
Dadas las características de memoria del controlador, no es posible tener más de cuatro colores
simultáneamente en pantalla. Sin embargo, cada uno de estos colores se puede obtener de una paleta de 18-bits
y ser modificado en tiempo real.
Hardware de display
La conexión al display se realiza mediante las líneas analizadas en CTC-053, como indica el diagrama a
continuación:
Es fundamental mantener conexiones cortas, no olvidemos que estamos trabajando con un bus de dieciocho | |
|
|
| Software de soporte CAN-087: | CAN-087_Software.zip |
|
|
| CAN-088_XBee802.15.4_API.pdf | CAN-088_XBee802.15.4_API.pdf |
Nota de Aplicación: CAN-088
Título: Utilización del modo API en módulos XBee 802.15.4
En esta Nota de Aplicación veremos la forma de utilizar el modo API en módulos XBee (o XBee-PRO)
Introducción
Comentamos en varios Comentarios Técnicos la existencia de un modo de comunicación denominado API.
En este modo de trabajo, el módulo XBee sigue respondiendo a la secuencia de escape y el envío de comandos
AT, pero la información de y hacia otros módulos respeta un framing particular, el cual permite simplificar la
operatoria con varios módulos remotos, dado que es posible identificar el origen y seleccionar el destino de la
información dentro del mismo paquete de datos.
Breve descripción del framing API
El framing y los distintos tipos de tramas se hallan descriptas en el manual del usuario de los módulos, por lo
que nos centraremos aquí en los conceptos fundamentales. | |
|
|
| Software de soporte CAN-088: | CAN-088_Software.zip |
|
|
| CAN-089_XBeeZB_API.pdf | CAN-089_XBeeZB_API.pdf |
Nota de Aplicación: CAN-089
Título: Utilización del modo API en módulos XBee ZB
En esta Nota de Aplicación veremos la forma de utilizar el modo API en módulos XBee (o XBee-PRO) ZB.
Introducción
Comentamos en varios Comentarios Técnicos la existencia de un modo de comunicación denominado API.
En este modo de trabajo, el módulo XBee ZB ya no funciona en modo transparente y no posee comandos AT.
La comunicación con el módulo respeta un framing particular, el cual permite simplificar la operatoria con
varios módulos remotos, dado que es posible identificar el origen y seleccionar el destino de la información
dentro del mismo paquete de datos, así como también configurar al módulo conectado o uno remoto.
Breve descripción del framing API
El framing y los distintos tipos de tramas se hallan descriptas en el manual del usuario de los módulos, por lo
que nos centraremos aquí en los conceptos fundamentales. | |
|
|
| Software de soporte CAN-089: | CAN-089_Software.zip |
|
|
| CAN-091_LCDcolor640480-SSD1963-Rabbit.pdf | CAN-091_LCDcolor640480-SSD1963-Rabbit.pdf |
Nota de Aplicación: CAN-091
Título: Utilización de displays LCD color con controladores SSD1963 y Rabbit
Presentamos una forma de utilizar displays TFT de 640x480 en formato VGA, como por ejemplo el
WF57FTLBDF0# de Winstar, basados en el controlador SSD1963.
Breve descripción del SSD1963
H a r d w a r e
El SSD1963 es un controlador inteligente para displays LCD de alta resolución, se encarga de generar las
señales que necesita un display TFT. La configuración de este dispositivo es algo compleja, pero
afortunadamente existe información como para resolverlo. La imagen a enviar al display se aloja en una RAM
interna de 1,2MB (1215Kbytes), la cual es direccionada por el controlador y no es accesible directamente al
usuario. La interfaz entre el SSD1963 y el procesador host puede elegirse entre un formato tradicional como el
del legendario Motorola 6800, utilizado mayormente por los displays alfanuméricos y otro tradicional como el | |
|
|
| Software de soporte CAN-091: | CAN-091_Software.zip |
|
|
| CAN-092_XBeeProgramable-HT1632.pdf | CAN-092_XBeeProgramable-HT1632.pdf |
Nota de Aplicación: CAN-092
Título: Cartel matriz de LEDs remoto con HT1632 y XBee Programable
En esta nota de aplicación desarrollaremos un cartel luminoso remoto. El mismo emplea una matriz de LEDs
controlada por un HT1632, el cual, a su vez, es controlado por un XBee Programable. Los textos son enviados
vía ZigBee a la dirección del cartel, quien los muestra en los LEDs.
El HT1632
La descripción del HT1632 y un ejemplo de operación pueden obtenerse en el Comentario Técnico CTC-065.
El XBee Programable
La forma de utilización de este módulo se describe en el tutorial CTU-012.
El hardware
Para la conexión con el módulo utilizaremos un conector:
Si bien se trata de una simple aplicación del circuito sugerido en la hoja de datos del chip, requiere su análisis | |
|
|
| Software de soporte CAN-092: | CAN-092_Software.zip |
|
|
| CAN-093_HT71D0x.pdf | CAN-093_HT71D0x.pdf |
Nota de Aplicación: CAN-093
Título: Utilización del HT71D0x
Presentamos una forma de utilizar la familia HT71D0x para comunicar aplicaciones mediante la línea de
alimentación.
Breve descripción de los HT71D0x
El HT71D02 contiene un regulador de 3,3V; mientras que el HT71D04 posee uno de 5V. Ambos incorporan
una serie de comparadores y MOSFETs que les permiten introducir modificaciones en el bus de alimentación
variando el consumo de corriente y a su vez detectarlas. Para más información, consulte la hoja de datos.
Desarrollo propuesto
Vamos a implementar un sencillo esquema de comunicaciones sobre un bus de alimentación. A tal fin,
emplearemos el siguiente circuito:
Los módulos se conectan a un bus común que les provee alimentación y sobre el cual se comunican | |
|
|
| CAN-097_XBeeZBtraceroute.pdf | CAN-097_XBeeZBtraceroute.pdf |
Nota de Aplicación: CAN-097
Título: Cómo descubrir rutas en redes ZigBee con XBee ZB
En esta Nota de Aplicación veremos la forma de utilizar los XBee ZB para descubrir la ruta que toman los
mensajes de determinado módulo.
Introducción
El algoritmo de ruteo empleado en redes ZigBee Pro es similar a AODV ( Ad-hoc On-demand Distance
Vector). En él, cuando no se conoce un camino hacia un nodo, se lo descubre mediante un mensaje Route
Request y otro Route Reply. Así, cada nodo intermedio se encarga de descubrir el siguiente nodo intermedio y
lo guarda en su tabla, de modo que los siguientes mensajes no disparen este proceso indefinidamente.
Si en una red ZigBee existe un concentrador de información, es decir, un nodo al que muchos otros remiten
información periódicamente, dado que las tablas de ruteo son relativamente chicas, no es posible guardar la
información de ruteo hacia todos los remotos, y los routers más cercanos al concentrador de información deben | |
|
|