Reflexiones sobre controladores ARM

Hola amigos, recién me pasé un buen tiempo releyendo el hilo que comparaba los PIC y los AVRs. Me parece apropiado escribir un poco sobre como yo creo que el entorno de los microcontroladores ha cambiado.
Realmente hoy se habla de los "makers" y "makers pro" relacionándose con un desarrollo que se percibe en el mercado. Esos 2 tipos de personas, el primero refiriéndose mas a los no profesionales y el segundo término a aquellos que presentan nuevos conceptos y potenciales mercados para los controladores. Resulta que tanto en el entorno industrial, como en aquel relacionado al internet de las cosas, en corto existen las abreviaciones IoT y ITT, la industria busca y ve el potencial de nuevos mercados que requieren de conceptos innovativos. Allí aquellos tipos de personas denominadas como makers presentan nuevas soluciones, fundan una empresa y luego esta puede ser adquirida por corporaciones que ven en esos conocimientos el camino, la llave a nuevos mercados o conceptos nuevos para sus mercados. Hasta las grandes corporaciones fomentan que sus ingenieros inicien tales empresas, decidiendo adquirirlas mas tarde si encaja en sus conceptos o que estas empresas sigan por su propio camino.
Los que caracteriza este tipo de personas es que con mínimas inversiones iniciales y usando kits ofrecidos en el mercado junto con el entorno de desarrollo, gratis o a precios muy moderados, implementan nuevos conceptos y testean su atractividad en los mercados.
Vemos, que para todo tipo de controlados, de sensores, de actuadores los proveedores ofrecen kits con extenso entornos en gran cantidad y variantes!
Trato ahora de pasar habiendo presentado lo escrito arriba ha tratar los controladores ARM. Como muy correctamente ha sido escrito aquí en el foro en otros hilos, la empresa ARM y su entorno usando su empresa Keil, la primera solo desarrolla los núcleos de controladores ARM y las ofrece en el mercado como propiedad intelectual, en corto IP, Intelectual Property. La empresa Keil es responsable de ofrecer un entorno de desarrollo, IDE. También existen herramientas de programación bajo el nombre de ARM.
No voy a listar todos los núcleos que ofrece la casa ARM, pero usando Google es fácil encontrar la información! Porqué los núcleos de ARM son tan exitosos? Pues bién, los condimentos que llevan a una oferta exitosa son muchos y variados, pero los núcleos de los ARM pueden ser realizados por empresas proveedores de silicio de forma muy eficiente, ejemplo que hasta proveedores de FPGAs ofrecen tales núcleos tanto realizado en silicio, como en forma de IP que puede ser implementado por software en las matrices de programación digital de los FPGAs.
El mercado, los consumidores de controladores también tienen un gran beneficio de la arquitectura ARM, pues estos lo hacen relativamente fácil cambiar de proveedor. ARM, por ejemplo con las bibliotecas CSIC, logró que tanto el núcleo, como las periferias de una instancia de controlador permiten acceder las funciones a través de un API idéntico o similar. Las empresas que compran una licencia para ciertos núcleos ARM implementan la software que permite también acceder a las funciones periféricas que el proveedor a combinado con uno o varios núcleos ARM en un pedazo de silicio!
Resulta por lo presentado hasta aquí que aquellas empresas que adquieren licencias de núcleos de ARM definen sus controladores sumándole aquellas periferias que permitan realizar funciones como control de motores, etcétera, de forma mas atractiva. Para estos proveedores es como si combinarán piezas Lego para crear algo donde sus conocimientos de las aplicaciones a las que quieren vender sus controladores permitan diferenciar sus productos de otros ofertadores! La competencia para gran parte del mercado de controladores deja de ser uno de fomentar una arquitectura propietaria, sino de ofrecer partes que permitan a sus clientes realizar sus soluciones de la forma mas económica posible, de la forma mas eficiente y con características específicas que expresen la competencia del proveedor en ciertos mercados.
Debido a la "revolución digital" actual, el PC deja de ser el principal consumidor de silicio, la industria automotriz y de bienes blancos dejan de conformar el sitio donde en el futuro el consumo de silicio del mercado presenta los mas importantes crecimientos. Son los nuevos conceptos digitales para la industria, "Industrial Internet of Things", y para otros mercados denominados en suma IoT. Y allí son esos 2 tipos de "makers" el vehículo para encontrar nuevas aplicaciones y consumos y estos son aquellos para los cuales la industria ofrece hoy en día esa multitud de kits a precios muy bajos!
Pero también para los aficionados y hobbistas estos desarrollos resultan en revisar si conceptos anteriores, tales como desarrollar placas uno mismo usando controladores por ejemplo del tipo AVR o PIC. Como persona que trabajo por muchos años para empresas de semiconductores gringas no puedo dejar de presentar un motivo por el cual considerar o cambiar a controladores del tipo ARM, controladores que empiezan a 32 bits a diferencia de controladores del tipo PIC y AVR, tan populares! Claro no dejo de mencionar que en muchos países el acceso a otros tipos controladores es mas dificil y mas caro!
Para una empresa de semiconductores, el dominante factor de costo representa el uso del área del wafer y del número de máscaras, cada uno un paso del proceso de realización. Resulta que las dimensiones de las estructuras en una pieza de silicio actual son tan pequeñas, que lo que determina que tan pequeño es el área de un controlador no se determina por el espacio que requiere el contenido de un controlador, sino el número de entradas y salidas que se encuentran distribuidos en los bordes del silicio! La expresión usada en inglés en la industria de semiconductores es la cuestión si un diseño es "core limited" o "pad limited", si son las estructuras dentro del silicio o si es el número de pads, entradas y salidas. Resulta de ello que un diseño de 8 bits el diseño por lo general sera "pad limited", osea un aprovechamiento ineficiente del silicio. Controladores de 32 o 64 bits pueden resultar como "core limited", pero si resultan en un uso mas eficiente del silicio! Cada nueva generación de producción de silicio se caracteriza por presentar estructuras aún mas reducidas moviendo un mismo diseño que pudiera ser "pad limited" a dejar de ser "pad limited".
Pero si Ustedes, como lo hago yo, observan los productos anunciados encuentran que productor modernos, nuevos, dejan e ser ofertados en empaques del tipo DIP y usan empaques de montaje de superficie con un número cada vez mayor de pines, o, como lo he experimentado con los sensores de temperatura y humedad por ejemplo, se ofrecen en empaques diminutos, por ejemplo de 3,5 x 3,5 mm y 6 pines o contactos.
Si aquel de ustedes como yo busca utilizar componentes modernas y nuevas, me armé en mi taller un horno para soldar tales partes usando pasta de estaño. me hice un tal horno de soldadura "reflow" usando un horno para hacer pizzas y me compré un multímetro capaz de medir temperaturas relativamente altas para poder soldar siguiendo el perfil de temperatura requerido por el proveedor!
Pero, cuando empecé a investigar en el mercado, por cual de los múltiples proveedores de controlador ARM, me decidí por usar aquellos ARM Cortex Mx de la empresa NXP. No presentaré en detalle los resultados de mi análisis, pero las 5 razones que entonces me hicieron decidir para los ofertados por NXP:
1. La disponibilidad de placas LPCXpresso que incluyen la función de programador.
2. La disponibilidad gratuita de la IDE que se autoconfigura a la placa LPCXpresso que se use
3. El precio!
4. El ecosistema de apoyo.
5. La existencia de proveedores.
Cierro esta primera contribución explicando el porque me decidí por usar las placas LPCXpresso y no hacer mis propias placas teniendo la infraestructura en mi taller! Una placa LPCXpresso1769 cuesta menos que el comprar las componentes por separado y ademas son placas hechas de forma profesional y de alta calidad!
 
Quiero presentar un lazo entre los controladores del tipo ARM y las placas Raspi. Las placas del Raspi usan el os Linux. Un entorno muy extenso existe para la programación del raspi y el lenguaje "Python" brinda un entorno poderoso y fácil de usar con la placa raspi. Como frecuentemente existe la preferencia de usar materiales en nuestra lengua el Español. Quiero darles un enlace a un tutorial en español que no solo les permite aprender el uso de Python, sino también creo que demuestra muy bien las razones para su uso.

 
Atrás
Arriba