|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Microcontrollers
|
|
RETURN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Microprocesador
perteneciente a la familida F²MC-16LX de 16 bits del fabricante.
Su principal ventaja es la de contar con gran variedad de periféricos, unido al buen dimensionamiento de su memoria flash de programa (256 Kbytes).
Existen diversas variantes dentro de la familia, que nos permite elegir según nuestra aplicación particular, pero siempre se debe tener en cuenta que se utiliza uno de los puertos serie disponibles para la depuración, es el único inconveniente de esta familia. Los preferidos son:
Serie MB90580/85: con 5 UART serie y otros periféricos.
Serie MB90540G: 2 UART serie, 2 CAN y otros periféricos.
La ventaja del puerto CAN es que permite conectar multitud de dispositivos dentro del mismo bus sin tener que preocuparte del acceso al medio: los puertos CAN se ocupan de resolver los conflictos que ocasionan las colisiones y no hay que preocuparse en realizar por firmware los protocolos tipo polling usuales. Su funcionamiento es tan sencillo que se podría utilizar como bus de comunicaciones entre microprocesadores en una gran placa aplicación. Su velocidad máxima de transmisión es de 1 Mbps.
Todos ellos diponen de un elevado número de pines (100), lo que da de sobra para cualquier aplicación industrial que se nos presente. |
|
|
|
|
|
|
|
|
No hay mucha documentación de la familia:
Ver en la página de Fujitsu las hojas del fabricante, para la serie MB90540G:
— Datasheet
— Manual Hardware (11Mb)
— Correcciones al manual anterior.
Lo mejor son los ejemplos, de ellos se aprende rápidamente los registros a manipular dependiendo del periférico que necesitemos.
|
|
|
|
|
|
Se presentan a continuación algunos ejemplos que se han realizado con la placa de desarrollo TBR-FDS-2002 presentada en estas páginas:
— Ver CD 41 |
|
|
|
|
|
El sitio de fujitsu dedicado a esta familia:
Sitio de FUJITSU. Seleccionar Microcontrollers, 16 bit devices.
Foro de discusión de Accemic, donde se ponen en común conocimientos y experiencias acerca de esta familia. El registro es gratuíto.
Foro de discusión Elektroda. Este sitio no es específico de este micro, pero seguro que hay algo sobre él, en realidad, aquí hay de todo. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Microprocesador
perteneciente a la familida PsOC (8-Bit Progammable System-on-Chip
(PSoC) Microcontrollers) del fabricante CYPRESS .
No es un microprocesador más, el usuario decide los periféricos
de que dispone, ya que su arquitectura está definida
a base de bloques digitales y analógicos programables
(estos últimos a base de condensadores conmutados), según
las necesidades concretas de la aplicación. Funciona
a 24 Mhz (oscilador interno, aunque también se puede
utilizar un cristal), y por 3 Euros, disponer de 28 pines de
Entrada/Salida, bloques analógicos y 16 Kbytes de memoria
Flash de programa es un lujo.
El entorno de trabajo es el programa PsOC Designer, descargable
de forma gratuíta desde el sitio de Cypress, (se trabaja
en ensamblador, aunque también integra un compilador
de C del fabricante ImageCraft, pero hace falta número
de serie). Mediante este programa se definen gráficamente
los módulos a utilizar y se crean todos los ficheros
necesarios. Una vez finalizado el trabajo, se necesita el ICE4000
para descargar (también para emular paso a paso el código
sobre la placa final de usuario), aunque cada vez hay mas programadores
para esta familia hechos por cuenta propia de usuarios (ver
los sitios de AristaSistems y mikroelektronika).
La página del fabricante dispone de notas de aplicación
y un enlace llamado "Knowledge Base", donde se publican
las respuestas a las consultas técnicas de los usuarios.
La calidad de este "base de conocimiento" es excepcional,
y cuando publicas una duda, te responden de inmediato. Pagan
a 250 Euros las notas de aplicación que remitas y también
existe un caso abierto en el foro elektroda.
Para daos un ejemplo de la capacidad de esta familia, hay un
ejemplo que utiliza reconfiguración dinámica (esto
es, cambiar la configuración de los bloques analógicos
y digitales del micro en el programa de aplicación durante
el tiempo de ejecución), para hacer un modem
|
|
|
La tabla siguiente
resume las características de la Familia
|
|
|
|
|
|
|
|
|
Con estos tres ficheros,
y consultas bastante frecuentes a la "Knowledge Base"
de Cypress para salir de dudas, el tema está resuelto.
Lo que tienen de pobres los ficheros de documentación,
lo tiene de sustancial la Base de Conocimientos de Cypress.
Cypress_CY8C26443 DataSheet.pdf
Cypress_Assem_lang.pdf
Cypress_C_lang.pdf
Knowledge
Base. Necesario estar registrado (se hace de forma gratuíta)
para acceder. |
|
|
|
|
|
|
|
|
Aquí se incluyen
algunos ejemplos:
Retransmisor cambiando de velocidad, doble puerto
serie . Necesitaba transmitir datos a 76.8 Kbps y no es
una velocidad estándar del puerto serie del PC, así
que con este montaje, integrando dos UARTS dentro del CY8C26443,
lo que recibo por una de ellas a 9600 bps lo transmito por la
otra a 76.8 Kbps y viceversa. Ver
ejemplo
UART- SPI. En una aplicación grande, para
liberar al micro principal de las comunicaciones serie, y también
agilizar la respuesta a las peticiones de estado del PC de control,
necesitaba una UART externa. Los chips disponibles en el mercado
tienen como mucho un buffer de 16 bytes, y los mensajes de control
que se recibían eran bastante más largos. En este
caso, se integró en el CY8C26443 una UART con un buffer
de TX y RX de 50 bytes cada uno, se incluyó el firmware
para decodificar los comandos externos, enviando así,
por bus SPI, la informacion necesaria al micro principal.
Un sensor magnético. En este caso se utilizan
bastantes bloques analógicos para adquirir la señal
entregada por los circuitos que adaptan la señal (Convertidor
ADC, amplificador de ganancia controlable y amplificador inversor
analógico). Como el sensor consume mucho, el circuito
se pasa a modo de bajo consumo cuando no está midiendo,
y despierta a la recepción de los comandos de petición
de estado del puerto serie desde el controlador principal.
Retransmisor de ocho contactos por fibra óptica.
Por un lado se leen ocho entradas digitales optoacopladas, y
se codifica su estado para transmitirlo por puerto serie modulando
un led de fibra óptica. En el lado del receptor, la salida
adaptada del fotodetector se recibe en la UART y se ataca a
ocho relés que reproducen el estado de las entradas digitales
remotas. El circuito incluye otra salida de relé para
indicar el fallo en el enlace. En sí la aplicación
no tiene mucho de novedoso, pero seduce un poco el hecho de
poder enviar alarmas y salidas paralelo a kilómetros
de distancia gracias a la transmisión serie. Ver
ejemplo
Activador de 18 relés vía bus I2C.
Se utilizan 16 relés DPDT para acoplar la tensión
de entrada hacia una de las dos posiciones posibles de cada
uno. Los dos relés restantes se utilizan por si se quiere
que la tensión acoplada no sea continua, sino pulsante. |
|
|
|
|
|
|
|
|
|
|
|
No hay muchos enlaces
que hagan referencia a esta familia de microcontroladores, a
pesar de su amplia utilización:
Sitio de CYPRESS.
Notas de Aplicación.
Base
de Conocimiento.
Programador
serie para la familia PSoC.
Otro
programador, éste a través del puerto paralelo.
Foro de discusión
Elektroda. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dentro de la amplia gama de microprocesadores del fabricante
Microchip, en un primer momento se escogió como punto
de partida el 16C717. Era el de mejor relación
calidad-precio teniendo en cuenta que además es de
reducido número de pines y funciona a los 20Mhz estandar
de la mayoría de las familias. El omnipresente 16F84
tiene el inconveniente de que no tiene convertidor Analógico/Digital,
lo que lo invalida para aplicaciones industriales si se tienen
que monitorizar variables analógicas para el control
o medida en sistemas de supervisión. Evidentemente,
el 16C717 tenía el enorme invonveniente de ser OTP
(programable una sóla vez), aunque con algunos trucos
se podía reutilizar el mismo chip para varias pruebas
durante la fase de desarrollo, aprovechando la memoria que
quedaba libre (sin utilizar) en programaciones anteriores.
|
|
|
Tabla
de características de la familia 16C717
|
|
|
Esquema de pines del 16C717: |
|
|
Dada la innumerable cantidad de reprogramaciones
que se producen durante el desarrollo de un diseño (incluso
aún con la disponibilidad de un emulador), se hace obligatorio
el uso de micros con memoria de tecnología Flash (borrable
y reprogramable por medios eléctricos), de manera que
con un simple chip se puede acomenter toda la fase de desarrollo.
El inconveniente de los micros de este fabricante, en mi opinión,
es su elevado precio.
|
|
|
Esquema de pines del 16F876. |
|
|
Al margen del inconveniente del precio, se escogió
el micro 16F876 al no ser el monstruo de pines que es el F877
(es prácticamente el mismo micro con el número
de canales A/D reducido por la falta de pines externos), pero
sin embargo, dispone de la máxima memoria de programa,
8K, que permiten hacer aplicaciones de gran entidad
.
Se incluye un cuadro resumen con las características
principales de la familia 16F87x : |
|
|
|
|
|
|
|
|
Documentación |
|
|
|
Las hojas de datos del fabricante junto con las
notas de aplicación disponibles en el sitio de MicroChip
proporcionan la información necesaria:
Notas de aplicación
Hojas características del 16F876. (Descargar)
Hojas características del 16C717. (Descargar) |
|
|
|
|
|
Ejemplos |
|
|
|
|
|
|
Algunos de los proyectos disponibles se incluyen
a continuacion:
Sistema
de alarma simple.
Se trata de una pequeña tarjeta que admite dos entradas
digitales, una temporizada a un valor seleccionable mediante
DIP switches, y la otra de alarma inmediata. Además el
circuito dispone de dos salidas para sendos indicadores de activación-desactivación
del sistema (leds o relés), y otras dos entradas para
activar-desactivar el mismo.
En la placa donde se realizó este circuito se insertaron
dos salidas con relés para activar una sirena externa.
Ver ejemplo
Generador
de ruido blanco.
Se utiliza un convertidor Digital/Analógico seguido de
un filtro anti-aliasing para generar ruido plano en la banda
de audio. La entrada del convertidor D/A recibe la salida en
paralelo de 8 bits generados a partir de un sistema de registros
de desplazamiento implementados en firmware dentro del PIC,
empleándose un esquema de realimentación correspondiente
a un polinomio primitivo de orden ______. El periodo de repetición
de la secuencia resulta ser de ___ segundos.
Generación
de tonos de audio con técnicas DDS.
Con un 16C717, y empleando el mismo esquema hardware del ejemplo
anterior, se puede llegar a generar tonos de audio limpios (no
a partir de señales cuadradas) con una resolucción
de 3 Hz y una relación señal ruido de 50 dB. Ver
ejemplo
|
|
|
Enlaces |
|
|
|
|
|
|
En este caso, sí que podemos decir que
hay infinidad de sitios donde se trate de estos micros, dada
su amplia popularidad.
Sitio de MICROCHIP
http://www.workingtex.com/htpic/ Programación
en C de PICs
http://www.workingtex.com/htpic/Hi-Tech_C_tutorial.htm
ENSAMBLADOR:
MPLAB El entorno para programar en ensamblador,
suministrado gratuítamente con el PICStart
COMPILADORES DE C PARA PIC:
Bytecraft PIC C
HiTech Definitivamente, el mejor (aunque
la aplicacion corra en MS-DOS)
Para comprar, distribuidores:
Sagitron
Farnell
Future Electronics Spain
Ejemplos de código y lista de distribución:
http://www.piclist.com/techref/piclist/index.htm
http://pw2.netcom.com/~fastfwd/answers.html
Preguntas
mas frecuentes sobre PICs
http://people.man.ac.uk/~mbhstdj/piclinks.html
Gente
que programa
http://www.interstice.com/~sdattalo/technical/software/software.html
Productos a base de PICs
http://www.propix.hu/mainframe.html?http%3A//www.propix.hu/references/PICref.html
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
La familia de 16 bits MSP430 de bajo consumo de Texas reune varias ventajas: la de ser micros medianamente rápidos al funcionar hasta 8 Mhz, la de ser baratos (menos de 3€ por pieza), pero lo que los hace imbatibles es su bajo consumo: 350 uA / MHz a 3 voltios de alimentación. Esto quiere decir que podemos hacer un dispositivo portatil que contenga uno de estos micros con un programa ejecutándose a, por ejemplo 4 KHz, con un consumo de 18 uA máximo en total: ¡¡ Del mismo orden de lo que consume nuestro reloj de pulsera !!.
Con todo esto, sumando su rápido convertidor A/D mas el multiplexor de 8 entradas de que disponen, el fabricante publica aplicaciones de filtros de audio y codecs, lo cual da una idea de su gran capacidad de procesamiento.
La única pega que se me ocurre es la baja memoria RAM en los dispositivos de perfil medio. Para seleccionar el dispositivo adecuado revisar esta tabla en la página de Texas.
Es muy rápido empezar a trabajar con éstos microcontroladores: por 99€ se puede conseguir en EBV la herramienta Flash Emulation Tool, MSP-FET430P120. |
|
|
|
|
|
En el caso particular del que suscribe, se ha escogido como dispositivo base el MSP430F1232, que es el mayor de la gama baja. A continuación se puede ver su patillaje:
Las hojas características las podemos encontrar en el siguiente enlace:
http://focus.ti.com/docs/prod/folders/print/msp430f1232.html
|
|
|
|
|
|
Se presentan algunos de los proyectos realizados con este mocrocontrolador:
Reloj.
Mantiene la hora en una gran placa que gestiona un display LCD y una matriz de teclas de membrana. El dispositivo se comunica con 3 hilos y un protocolo desarrollado para la aplicación.Ver ejemplo
Generador/Detector
de tonos de prueba.
Se utilizan diversos recursos dentro del micro para generar dos señales cuadradas estables. Por un lado se aprovechan los divisores internos del oscilador maestro para sacar a un pin un todo de 1MHz; por otro lado, aprovechado el temporizador de 16 bits se genera automáticamente otro tono de 1KHz. Estas dos señales se filtran y suman para pasar a un amplificador que adapta el nivel de impedancia al de la línea telefónica. Al mismo tiempo, se utiliza la función de captura de pulsos para medir en dos de sus pines la llegada de cada uno de los tonos, después de haber pasado sendas etapas de filtrado y acondicionamiento de nivel en recepción. El resultado de la detección se presenta en dos leds.
Simulacion de protocolo ALOHA Ranurado.
Es un ejemplo pendiente de terminar, pero interesante desde el punto de vista práctico. Surge como evolución personal después de haber hecho multitud de aplicaciones con protocolos de intercambio de información entre dispositivos funcionando en modo interrogación-respuesta. Se trata de comprobar en realidad los límites teóricos de caudal en una red funcionando con las especificaciones del protocolo Aloha ranurado, a la vez que se implementa por software la sincronización de los slots de tiempo en los nodos "esclavos" en cada transmisión de un nodo "maestro". El ejercicio propone tres nodos, uno maestro que envía aleatoriamente información a otro nodo esclavo (el cual a su vez también envía datos al nodo maestro), junto con un tercer nodo que genera tráfico dirigido a nadie emulando el resto de la carga de la red. A medida que vaya trabajando iré actualizando las páginas de código. Actualmente funcionan las rutinas de sincronismo y poco mas.Ver detalles
|
|
|
|
|
|
- Texas también dispone de una Base de Conocimientos donde encontramos todo tipo de notas de aplicación y respuestas a las preguntas mas comunes. No se han encontrado por el momento ningún otro foro de discusión referente a este dispositivo.
- Herramienta de desarrollo para MSP430F1232 e inferiores:
http://focus.ti.com/docs/toolsw/folders/print/msp-fet430p120.html
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RETURN |
|
|
|
|