Inicio Componentes Se cierra la brecha de las habilidades en el diseño embebido para...

Se cierra la brecha de las habilidades en el diseño embebido para consumo

El uso efectivo de soluciones comerciales y kits de desarrollo del fabricante acorta la curva de aprendizaje para implementar nuevas tecnologías y permite una comercialización más rápida de los productos embebidos, tal como explica Martin Hill, de Microchip Technology.

 

La última generación de microcontroladores ofrece a los diseñadores una mayor integración y una mayor variedad de periféricos y funciones que exigen más habilidades de diseño para una exitosa implementación. La buena noticia, no obstante, es que los fabricantes de microcontroladores, como Microchip Technology, están investigando en recursos que permiten a los ingenieros obtener con rapidez las habilidades del diseño embebido o reducir notablemente la curva de aprendizaje para la implementación de nuevas tecnologías. Los microcontroladores están difuminando los límites que separaban las disciplinas de diseño de la ingeniería de software y la ingeniería de hardware: tradicionalmente, los ingenieros de software diseñaban el software de la aplicación para microprocesadores, mientras que los ingenieros de hardware creaban los sistemas basados en microprocesador al combinar un microcontrolador y componentes externos. La introducción de los primeros microcontroladores de alta integración ha cambiado las cosas ya que han relevado el notable esfuerzo de ingeniería que se necesita para desarrollar un diseño a partir de un microcontrolador, memoria externa, periféricos, interface y circuitos discretos, además de la necesidad de ingenieros de hardware para escribir el firmware en aplicaciones de bajo nivel de tipo controlador.

 

Microcontroladores y mucho más

 

Esto significa que los ingenieros de sistemas embebidos deben añadir grandes conocimientos sobre lenguajes C y ensamblador, así como de depuración, a sus habilidades ya existentes para el diseño de circuitos de hardware, conexión de microcontroladores, trazado de placas de circuito impreso, diseño para fabricación y conocimientos detallados sobre EMC/EMI así como acerca de otros estándares y homologaciones de productos. No es de extrañar, por tanto, que los ingenieros de sistemas embebidos estén buscando incesantemente la manera de obtener una ventaja competitiva y comercializar antes sus productos. Ésta es la razón por la cual la disponibilidad de bibliotecas de software, subsistemas y herramientas avanzadas de desarrollo se ha convertido en una parte esencial del proceso de selección del microcontrolador. En este artículo se exponen una serie de escenarios y se sugieren estrategias basadas en aplicación para la elección del microcontrolador adecuado, así como el uso de recursos y herramientas de los fabricantes para simplificar la implementación y reducir el plazo de comercialización.

 

Los límites difusos de las prestaciones del microcontrolador

 

Los microcontroladores proporcionan un espectro extraordinariamente amplio de potencia de cálculo e integración de periféricos, y las opciones aumentan todavía más con núcleos de altas prestaciones como los microcontroladores PIC32MX1 y MX2, que se suministran en encapsulados con pocas patillas. Desarrollos como éstos significan que los microcontroladores de alto rendimiento entran en aplicaciones que hasta ahora habían pertenecido al dominio de los núcleos más consolidados.

Unos niveles más altos de integración también presentan a los diseñadores unas consideraciones más complejas: las mejoras introducidas en las prestaciones, como núcleos más rápidos o más avanzados, pueden aportar muchos MIPS, pero unos niveles muy elevados de funcionalidad analógica también pueden reducir las prestaciones en tiempo real.

Por supuesto, la adaptación del dispositivo, su formato y función tan solo constituyen una parte del proceso de selección. Hay otros factores y decisiones que pueden tener importantes consecuencias, como la estrategia de diseño, el plazo de comercialización, el soporte del proveedor y el coste. Las cuestiones que hay que preguntarse son: «¿Pueden ayudar las soluciones comerciales a acortar el plazo de comercialización?» y «¿Qué estrategia de diseño aportará el ciclo de diseño más rápido?».

 

La base de los diseños embebidos

 

Los sistemas embebidos generalmente necesitan un interface de usuario, un visualizador y algún tipo de conectividad, y estos elementos básicos no han cambiado a lo largo de los años. No obstante, su complejidad ha aumentado mientras se reducía su coste. Esto significa que un LCD gráfico en color, el interface táctil y la conectividad inalámbrica ahora se consideran esenciales para que un producto sea competitivo. Sigue habiendo, por supuesto, razones válidas para seleccionar los tradicionales LCD segmentados, interruptores de tipo mecánico para el interface de usuario y conectividad por cable, pero la moda vende y los clientes pueden ser caprichosos, lo cual hace que estas decisiones relacionadas con los cambios de diseño sean cruciales para el éxito financiero del diseño de un producto electrónico de consumo.

 

Se cierra la brecha de las habilidades

 

En un mercado que evoluciona con rapidez, las tecnologías nuevas y mejoradas pueden llegar en cuanto el diseñador ha logrado dominar las habilidades propias de la anterior revolución tecnológica. Afortunadamente, las soluciones comerciales (es decir, las soluciones habitualmente disponibles en el mercado) pueden ofrecer soporte a un rápido desarrollo del producto, cerrando así la brecha de las habilidades. Las soluciones comerciales pueden tener diferentes formas. Pueden incorporar código fuente y herramientas de configuración para implementar una pila de protocolo de comunicación por medio de un entorno completo de desarrollo de software que incluya un sistema operativo en tiempo real, bibliotecas de soporte para controladores de periféricos y análisis de temporización del sistema, todo ello optimizado para una determinada aplicación, como la automoción. Cada vez resulta menos práctico plantear un nuevo diseño escribiendo todas las líneas de código necesarias e iniciar el desarrollo de hardware desde cero. Algunos sectores, como la automoción, desalientan activamente esta estrategia de diseño de «página en blanco» especificando herramientas de desarrollo de software que deben utilizarse durante el desarrollo. Los proveedores de silicio y de herramientas de desarrollo de terceros también están alejando a los diseñadores de un planteamiento de «me encargo de todo» al suministrar, por ejemplo, un interface gráfico de usuario gratuito para facilitar la depuración y adaptarla a una determinada aplicación como el control de un motor o un interface táctil.

Otra vía para lograr una mayor integración y un plazo más rápido de comercialización consiste en conectar los nuevos periféricos del microcontrolador a otros periféricos para formar subsistemas. Por ejemplo, las aplicaciones basadas en pantalla táctil se pueden implementar con una unidad de medición de tiempo de carga (Charge Time Management Unit, CTMU) o utilizar una técnica de divisor de tensión capacitivo (Capacitive Voltage Divider, CVD) y ambas se podrían conectar a un multiplexor analógico para formar un subsistema de muestreo destinado a múltiples botones táctiles o controles de tipo lineal o rotativo. Otro ejemplo sería el uso de un puerto PMP (Parallel Master Port) para controlar un visualizador gráfico de bajo coste (Low Cost Controller, LCC) o un controlador gráfico integrado. También se pueden utilizar nuevos periféricos de aplicación general, como CLC (Configurable Logic Cell) para reducir el número de componentes externos. Los CLC, cuando se diseñan conectados a diversos periféricos internos, representan un práctico añadido al kit de herramientas del ingeniero de sistemas embebidos.

Los comparadores integrados de alta velocidad y los amplificadores operacionales también resultan especialmente útiles como componentes del sistema en tiempo real para aplicaciones de fuentes de alimentación y de control de motores.

Recursos para acortar el plazo de comercialización

 

Las notas de aplicación, junto con otras soluciones y herramientas comerciales, ofrecen soporte a nuevas aplicaciones y periféricos, al tiempo que ayudan a agilizar el plazo de comercialización al reducir la necesidad de diseñadores de sistemas embebidos que reinventen la rueda. Microchip, por ejemplo, ofrece uno de los catálogos más amplios de recursos de soporte, incluyendo tarjetas de desarrollo y bibliotecas de aplicaciones orientadas a determinadas aplicaciones y familias de productos. De forma parecida, algunos ejemplos de código solucionan problemas determinados que van desde periféricos de inicialización hasta la implementación de algoritmos. Todos estos recursos pueden encontrarse en el sitio Web de Microchip. (Figura 1)

Implementación de un interface táctil

 

La estrategia de diseño y las herramientas más útiles para acortar el plazo de comercialización dependerán de los retos que presente cada diseño. (Figura 2)

Tomemos como ejemplo la implementación de un nuevo interface táctil que sustituya los pulsadores mecánicos en el diseño de un electrodoméstico de cocina existente utilizando un PIC16 para controlar un motor y un LCD segmentado. Estás claro que el primer objetivo sería reutilizar en la mayor medida que posible el diseño existente: si el código existente está escrito en lenguaje ensamblador, la meta debería ser hallar una solución táctil desarrollada en un lenguaje de mayor nivel. Esto agilizaría el proceso de diseño y solventaría cualquier carencia propia.

La estrategia para este diseño generalmente será así:

• Seleccionar un microcontrolador de la misma familia de productos que proporcione la base para la compatibilidad, o partir el diseño mediante dos microcontroladores.

• Seleccionar un microcontrolador con los periféricos necesarios para proporcionar la nueva funcionalidad y la memoria, así como el soporte analógico para reducir el número de componentes.

• Buscar una solución comercial que utilice código C para el interface táctil.

• Reutilizar y mezclar el código ensamblador y el código C existentes para la nueva funcionalidad, pero partiendo el diseño en archivos separados. Como alternativa se puede partir el diseño utilizando microcontroladores separados con soporte de comunicaciones para su interconexión.

• Después de transportar el código, ejecutar la aplicación sin la funcionalidad adicional y comprobar el comportamiento.

• Diseñar y depurar el interface táctil mediante herramientas de soporte.

• Probar el interface táctil en el entorno, incorporarlo a la aplicación completa y volver a comprobarlo.

Una solución potencial para este tipo de diseño en el mundo real sería:

• Contactar con Microchip para obtener consejo sobre los requisitos para una aplicación determinada.

• Visitar el Touch Design Centre en http://www.microchip.com/mtouch

• Evaluar las diferentes opciones de pantalla táctil utilizando una tarjeta de desarrollo de pantalla táctil.

• Utilizar el MAPS (Microchip Advanced Parts Selector) gratuito de Microchip con el fin de identificar las partes adecuadas para la migración de diseño.

• Seguir las directrices de diseño para diseñar un interface táctil utilizando la nota de aplicación AN1102 de Microchip y otros recursos en línea. Pedir soporte adicional a Microchip si hace falta.

• Utilizar el paquete de software gratuito Microchip CVD Framework, que forma parte de las bibliotecas MAL (Microchip Applications Libraries) para diseñar y depurar el interface táctil. En esta etapa, seleccionar una herramienta de depuración adecuada.

• Utilizar el compilador de C XC8 y el entorno MPLABX IDE de Microchip para construir y depurar el firmware de aplicación combinado.

• Probar el diseño en el entorno. Microchip quizás pueda asistir en alguna prueba cualitativa de EMC y con otras directrices de diseño si se precisan.

 

Interconexión a smartphones o tabletas

 

El diseño de un nuevo accesorio para un smartphone o tableta presenta diferentes retos, como la necesidad de conexión a teléfonos o tabletas Android® o Apple®, además de carga, control y otras funciones. Ante la rápida evolución de este mercado resulta imperativo un rápido ciclo de diseño. (Figura 3)

La estrategia de diseño en general podría ser:

• Soporte de investigación para las plataformas Apple y Android.

• Determinar la memoria de la aplicación y los recursos necesarios.

• Buscar una solución comercial para el interface de teléfono/tableta.

• Valorar la subcontratación del diseño del interface si no se dispone de tal capacidad.

• Seleccionar un microcontrolador que ofrezca soporte al entorno apropiado de software comercial.

• Desarrollar el accesorio y el interface.

De nuevo, la utilización de recursos en línea y herramientas de desarrollo puede contribuir a acortar el ciclo de diseño:

• Visitar www.microchip.com/apple y www.microchip.com/android

• Contactar con Microchip para obtener consejo sobre los requisitos de una aplicación determinada.

• Obtener cualquier licencia(s) aplicable directamente de Apple®. No se necesita licencia para Android®.

• Escoger una tarjeta de desarrollo con demostraciones.

• Decidirse por la descarga de una versión gratuita, estándar o profesional del compilador de C XC16 o XC32.

• Para Android, descargar el paquete de software gratuito Android Framework, que forma parte de las MAL (Microchip Applications Libraries) Utilizar el paquete de software comercial que sea apropiado, el compilador de C XC y el entorno MPLABX IDE para desarrollar y depurar el interface del accesorio.

• Solicitar soporte adicional a Microchip si fuera necesario.

Las instrucciones para el diseño nuevo de un contador inteligente seguramente incluirían un visualizador gráfico en color QVGA, una capa táctil resistiva, un enlace de radio a un sensor remoto y conexión WiFi a Internet. La minimización del tiempo de desarrollo de software tendría tanta relevancia ya que el también necesitaría un sistema operativo en tiempo real que programe las tareas y la gestión de recursos.

Una estrategia de diseño típica podría ser:

• Utilizar un lenguaje de alto nivel.

• Hacer un uso extensivo de sistemas operativos en tiempo real disponibles comercialmente, pilas de protocolos de comunicación y bibliotecas/herramientas de soporte.

• Adoptar un planteamiento modular para el diseño del hardware.

• Proporcionar una clara vía de evolución para que el diseño sea la base de otros productos.

Éste podría ser el planteamiento para reducir el plazo de comercialización de un contador inteligente:

• Contactar con Microchip para obtener consejo sobre los requisitos de una aplicación determinada.

• Visitar http://www.microchip.com/rtos para acceder a directrices sobre el soporte y la selección de sistemas operativos en tiempo real.

• Evaluar el microcontrolador y las opciones multimedia con un kit de inicio para PIC32, PIC24 o dsPIC33E mediante una tarjeta de desarrollo de expansión multimedia.

• Seguir la estrategia indicada en la nota de aplicación AN1264 ‘Integrating Microchip Libraries with a Real-Time Operating System’.

• Utilizar las múltiples pilas disponibles en la biblioteca de aplicaciones de Microchip o solicitar soporte adicional a Microchip.

• Desarrollar y depurar el firmware de aplicación combinado utilizando el compilador de C XC16 o XC32 y el entorno MPLABX IDE de Microchip.

 

Resumen

 

Los sistemas embebidos son cada vez más complejos pero, para muchos diseños, las soluciones comerciales de Microchip permiten agilizar el plazo de comercialización e incluso pueden minimizar la necesidad de que los diseñadores aborden la curva de aprendizaje introducida con cada tecnología nueva.

Estos recursos de diseño, como centros de diseño en línea, ejemplos de código, notas de aplicación y tarjetas de desarrollo, entre otras, se han convertido en una parte fundamental de un innovador kit de herramientas para diseño embebido y en un factor primordial para la selección del microcontrolador.