Autor Tema: Obsolescencia de Microcontroladores  (Leído 9447 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado MisaMagna

  • PIC10
  • *
  • Mensajes: 5
Obsolescencia de Microcontroladores
« en: 02 de Marzo de 2018, 08:42:36 »
¡Hola! ¿Que tal colegas? Soy nuevo en el foro y me gustaría comenzar con un tema que algunos les pueda interesar y es sobre la Obsolescencia de los Microcontroladores. Verán, soy Ingeniero en Electrónica egresado hace un año y llevo mas o menos dos años de experiencia en el tema de la programación de Hardware, esto es por supuesto todo lo relacionado a Micro's y PLC's. A mi me gusta mucho investigar constantemente y nutrirme del conocimiento para estar al día con la tecnología actual. Bueno vamos a ello.

Ciertamente el microcontrolador Arduino basado Atmega es el que mas auge tiene actualmente debido a su simplicidad de programación en lenguaje de alto nivel y su comercialización a nivel mundial debido a que es un Hardware Open Source, ademas de las librerías que ofrecen para facilitar la programación en ciertas áreas así como los denominados Shields que ayudan grandemente el ahorrarnos tiempo en el diseño de circuitos.

Yendo un poco mas abajo he encontrado los denominados PICAXE que no son mas que microcontroladores PIC precargados con un sistema para que se pueda programar en ellos mas fácil mediante el uso del lenguaje Basic. ¿Como no recordar ese hermoso tiempo por allá en el 2010 en el que PICAXE era una maravilla? sin embargo debido a que ahora se pueden programar los PICs en lenguaje C he notado que PICAXE ha quedado obsoleto en el tiempo a pesar que la compañía ha sacado mas modelos como la serie M2. Lo cierto es que el ultimo año que he visto a la gente hablar de PICAXE en Internet y en este foro es el 2013, por lo que puedo presumir ya esta en desuso.

Hablemos ahora de algo aun mas importante, Microchip. Como casi cualquiera que empieza a programar en Assembler e introducirse en el mundo de los microcontroladores comenzó con el famoso PIC16F84 igual que mi persona. Lo cierto es que las series 10, 12 y 16 de PICs ya están de por si obsoletos, y me atrevería a decir que la seria 18 también, y por supuesto con lo famoso que se ha puesto programar PICs en C mas aun son obsoletos ya que su memoria de programa es bastante baja.

¿Y ustedes que piensan?
¿Creen que los PICAXE estan completamente obsoletos?
¿Que series de la familia PIC consideran que se estan utilizando actualmente?
¿Que lenguaje de programación suelen usar a la hora de hacer un proyecto usando PIC, Assembler o C?
¿Que entornos suelen usar a la hora de programar PICs?
¿Que aplicaciones les suelen dar cuando hacer un proyecto en Arduino?

Comparte tu opinión experiencia sobre el tema. ¡Feliz Día!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Obsolescencia de Microcontroladores
« Respuesta #1 en: 02 de Marzo de 2018, 11:17:06 »
Citar
¿Y ustedes que piensan?
¿Creen que los PICAXE estan completamente obsoletos?
¿Que series de la familia PIC consideran que se estan utilizando actualmente?
¿Que lenguaje de programación suelen usar a la hora de hacer un proyecto usando PIC, Assembler o C?
¿Que entornos suelen usar a la hora de programar PICs?
¿Que aplicaciones les suelen dar cuando hacer un proyecto en Arduino?

1 - Yo no pienso que los PIC12/PIC16/PIC18 esten obsoletos, hasta vi electrodomesticos con microprocesadores de 4 bits y no "viejos". 8 bits hasta el momento da y mucho, todo depende de lo que se vaya a usar y lo que pretendas cargar. y como programas (porque hay gente que le encanta las variables globales). Obviamente que si tenes que competir en precio con uno de 32bits seguramente vayas al de 32bits. Todo depende de los requisitos de tu producto. Y la mayoria de las cosas que tuve la oportunidad de desarmar usan micros de 8bits.

2 - Respecto a Microchip, cero problemas en usar: PIC16/PIC18/PIC24, si quisiera de 32bits me voy a ARM, hay mas opciones y mejores para elegir.

3- C directamente, ASM ya no se justifica a no ser ciertos espacios de codigo, el costo de un microcontrolador con un poco mas de memoria/velocidad hace que sea inviable el tiempo de desarrollo/mantenimiento/debug de un programa, Y esto viniendo de una persona que le encanta el ASM.

4- Entornos, para PIC MPLAB X, medio lento, pero... no hay problemas. Permite simular paso a paso lo cual es genial. El entorno de PIC C compiler pienso que es horroroso. Y de compiladores XC8/16 por ahora. CCS permite un prototipado rapido y hasta un producto salir de forma rapida, crear un USB/UART/SPI/I2C es poner una linea de cabecera y listo, mientras que en XC8 tenes que saber muchas cosas mas para hacerlo funcionar. Eso lleva a CCS en un camino parecido a Arduino, pero tiene sus cosas que no me gustan el cual tenes que leerte todo el manual para saber las funciones y lo que hace por detras.


5- Respecto a Arduino, no lo uso y si hablamos de Arduino solo se me viene a la cabeza Atmel (ex-atmel) y sus micros, es cierto que provee una pequeña facilidad para programar, lo que llamo a todos aquellos que programan en alto nivel (PC) que es un pozo de programadores muchisimo mas amplio que los que programamos en embeded. Pero  si quieren hacer las cosas mas justas llevar a programarlo no con Arduino sino con otro sistema. Cualquier libreria es portable de Arduino a C, por lo que tampoco molesta su implementacion. Y tampoco quita que para probar un proyecto con 3 lineas de codigo tengas algo funcionando que es lo genial de Arduino. Lo que hay que separar es hacia que/donde va aplicado el producto. Hay gente que de esto abusa. Ver tableros industriales con placas Arduino sin ninguna protección de la placa para controlar motores, o "productos terminados" pienso que es un abuso, ya que un producto al menos al por mayor podrias tomar el esquematico y hacerte una placa vos con un costo reducido al de una placa ya fabricada pero optan por eso.

PICAXE aparecieron cuando estuve en la universidad. A mi consideracion: BASIC = producto muerto.
Principalmente por el lenguaje, yo no soy de basic y C me ofrece muchas mas ventajas para manejarme. Todos los fabricantes pasaron a ofrecer compilacion en C. Todavia resisten algunos focos y algunos docentes que insisten en usar BASIC.
Todos los fabricantes decidieron por C como su lenguaje de compilacion, entonces porque ir por otro camino?. Si se decidio el usarlo por algo es, incluso ofrecen compiladores de manera gratuita en algunos casos( gcc ), porque te vas a uno pago y con poco soporte?   Una persona seria nunca deberia ir por detras de un producto (compilador) unico como esos casos, ya que al ser unicos estas sujeto a la limitaciones que ellos te imponen, ciertos tipos de micros, si dejan el producto (ya que normalmente es pago y nadie se los compra) te quedas con tu conocimiento de BASIC y un programa obsoleto. Un ejemplo, si quisiera programar un micro con XC8 que recien sale lo puedo hacer, con otro compilador seguramente no, ya que no soportan a todos los micros.

Obviamente nunca te cases con ninguna marca, ni Microchip, ni ST, etc. Primero observar los requerimientos que tengas de tu proyecto o de varios proyectos, y considerar comprar 1 solo micro para todos, asi abaratar costos por mas que sobre para alguna aplicación. Son decisiones que son individuales respecto a la compañia o individuo, sino estar con 10 entornos de programacion, 10 programadores distintos y supongamos 20 o mas micros hace que el inventario sea un infierno, y la computadora tambien, a no ser que poseas un solo entorno y de alli te manejes con todos los compiladores
« Última modificación: 02 de Marzo de 2018, 11:25:19 por KILLERJC »

Desconectado Jorge555

  • PIC18
  • ****
  • Mensajes: 496
    • JMN
Re:Obsolescencia de Microcontroladores
« Respuesta #2 en: 02 de Marzo de 2018, 11:19:30 »

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:Obsolescencia de Microcontroladores
« Respuesta #3 en: 02 de Marzo de 2018, 14:52:32 »
Lectura recomendada: https://jaycarlson.net/microcontrollers/

Excelente información Jorge. Como bien mencionas es una lectura recomendada.
Yo en definitiva no estoy de acuerdo para nada en que los micros de 8 y 16 bits están obsoletos. Si así fuera Microchip, SiliconLabs, TI entre otros ya no existieran.
Lo que ahora está pasando es que se ha abierto una puerta muy estrecha para el uso de microcontroladores de 32 bits. Las herramientas ahora son más accesibles, inclusive gratuitas (simplemente ver lo que está pasando con los ARM32 de ST).
Lo mismo le pasó a los microcontroladores de 8 bits, las herramientas comenzaron a hacerse más accesibles, así como la documentación (Microchip fue uno de los pioneros). quien no recuerda lo difícil que era conseguir los datasheet de los microcontroladores 8051 y derivados. No se diga de los simuladores. Recuerdo lo carísimo que eran los compiladores C para los microcontroladores HC11 de Motorola (el Codewarrior).
Mi conclusión es que hablar de obsolencia en los micorontroloadores de 8 bits, por ahora es incoherente.
Los microcontroladores de 8 bits estarán ahí por muchos años más. Y seguirán apareciendo nuevos, nuevas herramientas, nuevos compiladores (y sobre  todo más baratos).

elreypic.


Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Obsolescencia de Microcontroladores
« Respuesta #4 en: 02 de Marzo de 2018, 15:24:52 »
Lo primero que debes entender es lo que cuestan las cosas en el mundo real. Por ejemplo en los PicAxe que se utilizan en enseñanza:
   Un micro pequeño cuesta de 2 a 3 euros.
   Una placa de desarrollo cuesta de 20 a 30 euros.
   Un sistema de desarrollo con placa y elementos auxiliares cuesta de 200 a 300 euros.
   Una clase llena de sistemas de desarrollo, la inversión en aprendizaje de los docentes, la inversión en libros de prácticas para alumnos, etc
   puede costar 20000 o 30000 Euros.

Nadie va a cambiar toda la inversión por un maldito micro. Eso es lo de menos.
Por esa razón el i7 es compatible con los pentium, que son compatibles con los 386, que son compatibles con los 8086, que son compatibles con los 8080, un micro de 8bit y 2MHz de los años 70.
Los 8080 están obsoletos, pero algunos de sus códigos máquina siguen utilizándose en los micros más avanzados actualmente.


En algunos sistemas, como el transbordador espacial ya retirado, se utilizaban memorias con más de 15 años de antiguedad, complétamente obsoletas.
Pero a ver quién era el guapo que se atrevía a trasladar todo el código de lanzamiento y reentrada del transbordador a un sistema nuevo, realizando todas las pruebas y test de conformidad y arriesgándose a que un error echara a perder una misión.
La historia completa puedes leerla en el interesante libro ¿Qué te importa lo que piensen los demás? del premio Nobel y miembro de la junta de investigación del accidente del challenger, Richard Feynman.


Esto vale para cualquier otra cosa que te imagines.
Instalar un robot vale 30k euros
Instalar una isla robotizada 300k euros
Cambiar todo el sistema de producción para que la isla robotizada sea rentable, puede llegar a costar más de 3000k euros.

Lo mismo puedes pensar de una cuchilla de corte para un torno, de un protocolo de comunicación, etc, etc.


Por eso se hacen muchos esfuerzos para encapsular la tecnología en pequeñas cajas negras con interfaces estándar, de manera que se pueda cambiar el interior sin que afecte al resto del sistema.
Ejemplos de este esfuerzo son las capas OSI en comunicación, el lenguaje c para abstraer el nivel de lenguaje máquina, la arquitectura ARM 32bit licenciada a varios fabricantes, etc.


No dejes nunca que te engañe el precio o prestaciones de un pequeño componente, siempre hay que mirar TODO el ecosistema que lleva aparejado, hasta llegar al punto en el que el elemento es independiente de la tecnología de base.

Y sobre todo ten en cuenta siempre el factor humano. Los microcontroladores cambian rápido, pero las personas no.


Dicho esto, Los PicAxe hace mucho tiempo que están completamente obsoletos, pero se siguen utilizando.

Un saludo.
« Última modificación: 02 de Marzo de 2018, 15:29:13 por Picuino »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Obsolescencia de Microcontroladores
« Respuesta #5 en: 02 de Marzo de 2018, 15:55:02 »
¿Que series de la familia PIC consideran que se estan utilizando actualmente?
Teniendo en cuenta lo que he contado, depende de si te refieres a proyectos nuevos o continuación de proyectos antiguos.

El Pic 16F84 Obsoletísimo. Cuesta 5 veces más que otros micros que tienen muchas más prestaciones. Microchip ya no sabe como quitárselo de encima, pero la gente sigue comprándolo por las razones que ya he expuesto.


¿Que lenguaje de programación suelen usar a la hora de hacer un proyecto usando PIC, Assembler o C?

C sin duda. Ni se te ocurra irte al assembler a no ser que quieras optimizar una tirada de más de 50000 procesadores.

[/quote]

¿Que aplicaciones les suelen dar cuando hacer un proyecto en Arduino?

Arduino es una plataforma de desarrollo. Es muy raro que se utilice en aplicaciones reales de producción, aunque sí lo utilizan obras de arte contemporaneo: https://www.moma.org/calendar/events/1490

Arduino es una marca para muchos tipos de elementos distintos e independientes (IDE, librerías, placas de desarrollo, shields, etc.)
Cada uno lo puedes utilizar sin los demás, o en las combinaciones que quieras.
Decir que uso Arduino en mis desarrollos es como decir que uso Ikea en mi casa. Hay multitud de productos que usar y combinar con productos de otras marcas, compatibles o no entre sí, y todos tienen en común que son baratos y funcionales. No le pidas más.

Saludos.
« Última modificación: 02 de Marzo de 2018, 19:27:55 por Picuino »

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 258
Re:Obsolescencia de Microcontroladores
« Respuesta #6 en: 02 de Marzo de 2018, 19:44:43 »
¡Hola! ¿Que tal colegas? Soy nuevo en el foro y me gustaría comenzar con un tema que algunos les pueda interesar y es sobre la Obsolescencia de los Microcontroladores. Verán, soy Ingeniero en Electrónica egresado hace un año y llevo mas o menos dos años de experiencia en el tema de la programación de Hardware, esto es por supuesto todo lo relacionado a Micro's y PLC's. A mi me gusta mucho investigar constantemente y nutrirme del conocimiento para estar al día con la tecnología actual. Bueno vamos a ello.

Tampoco creo que vayan a quedar obsoletos, es una tecnología bien probada que va a durar muchos años mas.

Con esto dejaras de pensar en la obsolescencia como algo relacionado con la edad y que hay otros factores que van más allá de la edad, la arquitectura o incluso la velocidad de microprocesador.

https://en.wikipedia.org/wiki/IBM_RAD6000
https://en.wikipedia.org/wiki/RAD750
https://mars.nasa.gov/mars2020/mission/rover/brains/
http://www.cpushack.com/space-craft-cpu.html

El RAD6000 está basado en un Power1 que fue presentado en 1990.

El RAD750 está basado en un PowerPC 750 que fue presentado en 1997, y se usó mucho en las iMac y PowerBook G3

El Sojourner (1997) trae un Intel 80C85 con sólo 512KB en RAM y 176KB en Flash
El hubble actualmente funciona con un 80486
El spirit y el Oportunity (2004) vienen con un RAD6000 a 20Mhz
El curiosity (2011) con RAD750 a 200Mhz y el Mars 2020 también tendrá el RAD750.


Ciertamente el microcontrolador Arduino basado Atmega es el que mas auge tiene actualmente debido a su simplicidad de programación en lenguaje de alto nivel y su comercialización a nivel mundial debido a que es un Hardware Open Source, ademas de las librerías que ofrecen para facilitar la programación en ciertas áreas así como los denominados Shields que ayudan grandemente el ahorrarnos tiempo en el diseño de circuitos.

En si Arduino, como ya lo mencionaron arriba, no es microcontrolador, es una plataforma que incluye hardware y librerías.

Tal y como mencionas, una de las ventajas del Arduino es la facilidad y rapidez para los prototipos, pero esto también tiene su talón de Aquiles. Pierdes algo de control en tu diseño y tiende a hacer creer que todo desarrollo es del tipo copiar/pegar y plug&play.


Yendo un poco mas abajo he encontrado los denominados PICAXE que no son mas que microcontroladores PIC precargados con un sistema para que se pueda programar en ellos mas fácil mediante el uso del lenguaje Basic. ¿Como no recordar ese hermoso tiempo por allá en el 2010 en el que PICAXE era una maravilla? sin embargo debido a que ahora se pueden programar los PICs en lenguaje C he notado que PICAXE ha quedado obsoleto en el tiempo a pesar que la compañía ha sacado mas modelos como la serie M2. Lo cierto es que el ultimo año que he visto a la gente hablar de PICAXE en Internet y en este foro es el 2013, por lo que puedo presumir ya esta en desuso.

No sólo ahora se pueden programar en C, desde hace bastante tiempo que se puede hacer. Puedes dar un vistazo a las tendencias si te metes a google trends y pones tus búsquedas ahí.

por ejemplo:
https://trends.google.com.mx/trends/explore?q=picaxe,pic16f84  (los últimos 12 meses)


Hablemos ahora de algo aun mas importante, Microchip. Como casi cualquiera que empieza a programar en Assembler e introducirse en el mundo de los microcontroladores comenzó con el famoso PIC16F84 igual que mi persona. Lo cierto es que las series 10, 12 y 16 de PICs ya están de por si obsoletos, y me atrevería a decir que la seria 18 también, y por supuesto con lo famoso que se ha puesto programar PICs en C mas aun son obsoletos ya que su memoria de programa es bastante baja.

C será famoso, al igual que otros lenguajes, pero ninguno de ellos te enseña la arquitectura del microprocesador/microcontrolador, más que el ASM.

Sabes que hay ciertos tipos de diseños donde no está permitido usar C o C++, dan preferencia a lenguajes como Ada o incluso se podría pensar en Pascal.

Sabes que puedes usar Pascal con los ATMEL (Freepascal).


¿Que series de la familia PIC consideran que se estan utilizando actualmente?

Inicialmente para esta pregunta me imaginaba que la respuesta eran los pic18, pero esta es la tendencia en los últimos 12 meses

https://trends.google.com.mx/trends/explore?q=pic16,pic18,pic24,pic32,dsPIC

En primer lugar de búsquedas se ve al pic32, en segundo puesto están los pic18 y los dsPIC, siguiéndolos en tercer y cuarto lugar los pic24 y los pic16 respectivamente.

¿Que lenguaje de programación suelen usar a la hora de hacer un proyecto usando PIC, Assembler o C?

Generalmente uso C y bajo ciertas circunstancias uso ASM.

¿Que entornos suelen usar a la hora de programar PICs?

A diferencia de muchos por acá yo prefiero mi editor de texto predilecto (VIM) y los famosos Makefiles  y CMakes. No me gusta tener entornos pesados para cada microcontrolador que uso o para cuando hago programas de escritorio.

Como compilador uso SDCC, XC8, XC16.

¿Que aplicaciones les suelen dar cuando hacer un proyecto en Arduino?

Por lo general no lo uso, pero si lo llego a usar es más como para realizar pruebas rápidas.

Desconectado MisaMagna

  • PIC10
  • *
  • Mensajes: 5
Re:Obsolescencia de Microcontroladores
« Respuesta #7 en: 02 de Marzo de 2018, 21:41:56 »
Buenas Noches, primero que nada gracias por ofrecer sus opiniones respecto y compartir sus experiencias, he estado todo el dia atento a sus respuestas y leyendo cada comentario que ponen. Gracias jorge por la lectura recomendada, durante el almuerzo me lei gran parte del texto, de verdad esta bastante interesante conocer el perfomance de diversos procesadores y diferentes marcas y saber que se tienen poderosos dispositivos al alcance de un solo dolar.

También agradezco a lo usuarios Picuino y Tsk por aportar datos sobre el uso de microcontroladores que tienen su cierta edad pero que se siguen usando en proyecto mas recientes, también gracias por los enlaces a las lecturas de interés, de verdad que eso ciertamente respalda lo dicho en que la obsolescencia no significa edad, porque ciertamente pueden haber tecnologías que al cabo de 3 meses son obsoletas, ya que vivimos en un mundo de constante cambio y continua evolución tecnológica.

Con esto puedo dar respuesta a las preguntas que plantee:
- Los PICAXE están de plano obsoletos (Yo también pensaba lo mismo, solo quería contrastar, y si los uso solo seria con fin educativo, nunca para un proyecto profesional)
- Al parecer los que mas tendencias tienen en la familia de los PICs son el Pic32 y el Pic18 tal como expreso Tsk (Quedandome con los Micros de 8 bits diría que son los Pic18 y Pic16)
- Esta claro que el Lenguaje C es el predominante para programar PICs
- Resaltar que Arduino no es un microcontrolador sino mas bien una plataforma de desarrollo (desde mi punto de vista tampoco usaría arduino para proyectos profesionales ya que limita el diseño libre de la circuiteria, lo veo mas como para desarrollo de proyectos personales y aprendizaje).

Agarrare sus recomendaciones sobre los IDEs recomendados y me pondré a indagar sobre mas alternativas, Muchas Gracias Colegas!
« Última modificación: 02 de Marzo de 2018, 22:00:56 por MisaMagna »

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 258
Re:Obsolescencia de Microcontroladores
« Respuesta #8 en: 02 de Marzo de 2018, 22:29:21 »
..., porque ciertamente pueden haber tecnologías que al cabo de 3 meses son obsoletas, ya que vivimos en un mundo de constante cambio y continua evolución tecnológica.

No creo que exista algo que a los tres meses quede obsoleto, pero es parte de algo que se conoce como la obsolescencia programada.

Lo que tu estas percibiendo como obsoleto en 3 meses, es porque cae en la categoría de obsolescencia psicológica, donde la mercadotécnica te hace creer que todo avanza tan vertiginosamente que necesitas cambiar constantemente tus equipos.

https://es.wikipedia.org/wiki/Obsolescencia_programada
https://es.wikipedia.org/wiki/Software_inflado

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Obsolescencia de Microcontroladores
« Respuesta #9 en: 03 de Marzo de 2018, 01:19:23 »
 
Considera que los ARM ofrecen muchas ventajas sobre los PIC.

1.- Alta portabilidad entre fabricantes, ST, Atmel, NXP, Texas...
2.- Placas de evaluación muy baratas en comparación con Microchip.
3.- Entorno de desarrollo y compilador C/C++ totalmente gratuito (el compilador para los PIC32 te puede costar unos 1300 euros o más).
4.- Muy buenos precios en el mercado chino. Microchip tiene precio único en Microchip Direct, fuera de ahí no encontrarás nada.
5.- PIC es una plataforma cerrada sin portabilidad ni compatibilidad con ningún otro fabricante.
6.- La comunidad ARM es mucho más amplia porque agrupa foros y redes sociales de múltiples fabricantes.

En cuanto a los 8 bit, hoy en día no tienen sentido, un ARM 32bit lo tienes desde 1 euro en Europa y menos en los chinos, para un Cortex M0. O puedes pedir samples gratuitos, NXP y Atmel envían sin problemas.

Sobre Arduino, no debes de mezclar hardware con software. Hoy en día hay productos que han canibalizado el entorno de Arduino para aprovechar sus ventajas, como es el caso de Teensy que usa un micro ARM 32bit Kinetis Cortex M4. El IDE de Arduino es una castaña, pero su filosofía tiene cosas buenas, como la inmensa cantidad de librerías y código fuente de ejemplo para hacer de todo. Su sistema de Debug al principio no me convenció, pero la verdad es que resulta muy cómodo volcando el estado de cualquier variable por un COM virtual que se visualiza desde el propio IDE en una ventana en plan hiperterminal.

Con Arduino, se pueden hacer perfectamente productos profesionales, yo los estoy haciendo, pero NO con el hardware basado en Atmel 8bit, sino en ARM 32bit con Teensy. Creo que algún fabricante más de 32bit saco algo para trabajar sobre el entorno de Arduino.

Ya quisieran y deberían muchos fabricantes, poder ofrecer algo parecido al sistema de librerías y código fuente de ejemplo, que ofrece Arduino. Ni siquiera entornos como Cubemx de ST o Config Tools de NXP ofrecen las ventajas que te da Arduino en su IDE en cuanto a librerías.

No subestimes Arduino porque su IDE sea una castaña, tiene otras cosas que facilitan mucho el trabajo, ojalá entornos como el de Atmel Studio ofrecieran algo similar, ya me habría metido de lleno con sus Cortex M7.

En resumen, hoy en día lo mejor es ARM con mucha diferencia, programación por supuesto en C/C++. Muy recomendables los STM32 de ST, Kinetis de NXP y el nuevo micro que saca NXP este mes, el RT1020 un Cortex M7 a 500Mhz. Los Atmel SAMS70 también son buena opción.

En cuanto a Arduino puedes echar mano de el, usando Teensy como hardware en la fase de desarrollo y montar tu propia placa para producción con un micro Kinetis, en este último caso ya grabando directamente el chip con un Jlink de Segger, y para usos profesionales con un buen bootloader encriptado.
« Última modificación: 03 de Marzo de 2018, 01:21:59 por planeta9999 »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Obsolescencia de Microcontroladores
« Respuesta #10 en: 03 de Marzo de 2018, 05:16:51 »
Estoy de acuerdo con planeta en casi todo.
Solo un pero. Si necesitas gastar muy poca corriente en reposo, los pic16 nuevos le ganan a los ARM32.
Todos los micros tienen sus ventajas.

De todas formas si estás comenzando, piensa que los arm son el futuro sin dudarlo y que se van comiendo poco a poco todo el terreno de los demás.

Los procesadores de 16bit siempre han tenido poco mercado. No te molestes en atenderlos a no ser que te veas obligado. A mí solo me gusta de ellos que son los más potentes trabajando en 5v.

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re:Obsolescencia de Microcontroladores
« Respuesta #11 en: 03 de Marzo de 2018, 06:58:23 »
¿Poco mercado?

Aunque los MCU de 32 bit continúan creciendo en cuota de mercado y parece que así seguirá, la demanda de MCU de 8/16 bit no ha disminuído y siguen siendo la principal parte del mercado (7,700 millones de dólares era el tamaño del mercado de MCUs de 8/16 bit en 2016).

Aunque en nuestro entorno así lo percibamos, el mercado de los MCU de 16 bit tampoco es pequeño.

https://semiengineering.com/mcu-sales-up-in-2017-and-2018/
https://www.statista.com/statistics/678610/worldwide-microcontroller-unit-market-size-by-segment/
« Última modificación: 03 de Marzo de 2018, 07:00:32 por Geo »
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado MisaMagna

  • PIC10
  • *
  • Mensajes: 5
Re:Obsolescencia de Microcontroladores
« Respuesta #12 en: 03 de Marzo de 2018, 09:10:46 »
Citar
No creo que exista algo que a los tres meses quede obsoleto, pero es parte de algo que se conoce como la obsolescencia programada.

Lo que tu estas percibiendo como obsoleto en 3 meses, es porque cae en la categoría de obsolescencia psicológica, donde la mercadotécnica te hace creer que todo avanza tan vertiginosamente que necesitas cambiar constantemente tus equipos.

Habia escuchado hablar de la obsolescencia programa de la forma en que los equipos se fabrican para durar un cierto, es decir una vida útil predefinida por el fabricante, que varia en cada equipo y por supuesto cada fabricante. Pero ciertamente tienes razón, el marketing nos mete esa idea y por supuesto eso es lo creemos, a eso me refería cuando comentaba lo anterior.

Citar
Considera que los ARM ofrecen muchas ventajas sobre los PIC.

1.- Alta portabilidad entre fabricantes, ST, Atmel, NXP, Texas...
2.- Placas de evaluación muy baratas en comparación con Microchip.
3.- Entorno de desarrollo y compilador C/C++ totalmente gratuito (el compilador para los PIC32 te puede costar unos 1300 euros o más).
4.- Muy buenos precios en el mercado chino. Microchip tiene precio único en Microchip Direct, fuera de ahí no encontrarás nada.
5.- PIC es una plataforma cerrada sin portabilidad ni compatibilidad con ningún otro fabricante.
6.- La comunidad ARM es mucho más amplia porque agrupa foros y redes sociales de múltiples fabricantes.

En cuanto a los 8 bit, hoy en día no tienen sentido, un ARM 32bit lo tienes desde 1 euro en Europa y menos en los chinos, para un Cortex M0. O puedes pedir samples gratuitos, NXP y Atmel envían sin problemas.

Respecto a los ARM desconozco bastante para ser sincero, pero en vista en como compartes del tema se ven bastante potentes. Me puedes comentar mas al respecto? me gustaría saber que modelos de ARM (aparte del cortex M0 que me comentaste) son los que se suelen usar, a manera de analogía como ocurre con el PIC16F877A que dentro de la inmensa gama del PIC16 es uno de los mas comerciales. Y por supuesto que entornos de programación existen para ello.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Obsolescencia de Microcontroladores
« Respuesta #13 en: 03 de Marzo de 2018, 10:20:44 »
Estoy de acuerdo con planeta en casi todo.
Solo un pero. Si necesitas gastar muy poca corriente en reposo, los pic16 nuevos le ganan a los ARM32.

Tambien el mundo ARM ofrece soluciones de bajo consumo. Ahi tienes los STM32L0 de ST, o las series KL0, KL1, KL2, KL3 y KL4 de NXP.

Los Cortex M0+ de NXP, segun indican en su web:

" ofrece la mejor eficiencia energética de la industria, consume menos de 50 μA/MHz en el modo VLPR (Very Low Power Run) y puede despertarse rápidamente desde el estado de reposo, procesar datos y restablecer el modo de reposo  ".

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Obsolescencia de Microcontroladores
« Respuesta #14 en: 03 de Marzo de 2018, 10:47:39 »
Respecto a los ARM desconozco bastante para ser sincero, pero en vista en como compartes del tema se ven bastante potentes. Me puedes comentar mas al respecto? me gustaría saber que modelos de ARM (aparte del cortex M0 que me comentaste) son los que se suelen usar, a manera de analogía como ocurre con el PIC16F877A que dentro de la inmensa gama del PIC16 es uno de los mas comerciales. Y por supuesto que entornos de programación existen para ello.

De los más populares, son los STM32F4 de ST, Cortex M4 168/180Mhz. Tienes placas de evaluación Discovery o las nuevas Nucleo a precios de risa, desde 14 Euros. También anuncian desde hace tiempo sus Cortex M7, STM32H7.

Yo uso también bastante los Kinetis, Serie K de NXP, aunque estos son algo más caros que los STM32, pero también tienes placas de evaluación muy baratas, las FRDM. Aqui puedes echar mano de las series MK20, MK64 y MK66. Este mes, NXP saca su nuevo micro RT1020 Cortex M7 a 500 Mhz, que por fortuna será en formato TQFP de 100 y 144 pines, yo estoy esperando para conseguir unos samples y montar una placa propia. Ya compré su placa de evaluación para los RT1050 a 600Mhz, pero estos son BGA. NXP también fabrica los LPC, pero estos no los he usado.

De NXP tienes también los LPC, pero estos no los he probado, el entorno de desarrollo es el mismo, MCUExpresso.

El compilador de C/C++ para todos los ARM, incluido ahí también los Raspberry y similares, es el GCC, totalmente gratuito sin limitaciones. Cuando instalas el entorno de desarrollo de cada fabricante, ya viene con el compilador de C++.

En cuanto al entorno de desarrollo, muchos de ellos están basados en Eclipse con un plugin y una utilidad integrada para configurar gráficamente toda la periferia sin tener que escribir ni una sola linea de código (reloj, GPIO, puertos, interrupciones, timers, librerías de terceros, etc...).  NXP ofrece MCUExpresso que desde la última versión integra las Config Tools para configurarlo todo sin esfuerzo, y ST ofrece el System Workbench (basado en Eclipse) + Cubemx como asistente en la configuración.

Tienes también una opción muy interesante para entrar en el mundo ARM. Las placas Teensy que montan micros NXP Kinetis MK20, MK64 y MK66, y se basan en el entorno de Arduino como plataforma de desarrollo. Yo lo uso mucho para desarrollo y pruebas, luego cuando ya tengo el producto funcionando, diseño mi propia placa con un MK66, un bootloader encriptado y lo grabo con un programador Jlink de Segger. Las ventajas del entorno Arduino, las que indiqué, ofrecen una gran cantidad de librerías y código fuente de ejemplo del que partir para hacer de todo, esto es lo que yo echo en falta en otros fabricantes.

Se me olvidaba, tienes los Atmel SAM S70, S71, V70, V71, Cortex M7 a 300Mhz. Su entorno de desarrollo es el Atmel Studio, creo que también basado en Eclipse, y el compilador de C/C++ GCC. Su placa de evaluación, la Xplained, también es muy barata.

Como programador puedes usar el de cada fabricante o uno genérico que los cubra todos. Para los STM32 tiene el STLINK V2, muy baratito, sobre los 20 euros. Para los Kinetis recomendable un Jlink V9 de los chinos que también sirve para los STM32, o la versión EDU original del Jlink, pero esta tiene limitaciones, mejor echar mano de nuestros amigos los chinos, un Jlink V9 va de fábula y cuesta unos 30 dólares. Y para los Atmel SAM tengo el ICE del fabricante que es muy barato, y puede que el Jlink también los programe, pero eso no lo he probado (acabo de abrir el software Jflash de Jlink y si soporta los Amtel SAM S7x, V7x).
« Última modificación: 03 de Marzo de 2018, 13:45:05 por planeta9999 »