¿Cuál es el lugar de los microcontroladores de 8 y 16 bits? ¿Por qué no se ha hecho cargo de 32 bits?

9

¿Cuál es el punto de corte real en términos de la compensación entre costo y rendimiento para seleccionar microcontroladores de 32 bits?

En otras palabras, con el auge y la dominación de las arquitecturas ARM, ¿por qué seguimos usando microcontroladores de 8 y 16 bits? ¿Siguen siendo mucho más baratos?

Entiendo que los dispositivos de muy baja calidad no necesitan los recursos que ofrecen las arquitecturas más grandes y complejas. Sin embargo, ¿cuál es la motivación real para seguir usándolos si los costos parecen estar convergiendo hacia el mismo rango?

    
pregunta Bruno Morais

6 respuestas

17

Tal vez hace un año, había una diferencia significativa entre los 8 bitters de gama baja y los microcontroladores más baratos de 32 bits. Ya no es el caso.

Según el precio en masa de Digi-Key, puede obtener un PIC10F200 de 8 bits para 35ȼ en 2500 cantidades en un paquete SOT-23-6. Obtiene un CY8C4013SXI-400 de 32 bits (ARM Cortex-M0) para 36ȼ en 2500 cantidades en un paquete SOIC-8. (Los precios a granel de Digi-Key no son realistas en términos de lo que realmente pagan los fabricantes, lo que probablemente sea mucho menor, pero creo que es válido para una comparación de precios aproximada entre diferentes productos para cantidades similares).

Así que el OP es correcto, están convergiendo.

Entonces, ¿por qué no se usan más los chips de 32 bits? Bueno, como dije en mi primer párrafo, este punto de precio y paridad de tamaño solo sucedieron en el último año o 18 meses. Y todavía tienen muchas largas formas de hacerlo antes de que haya suficientes chips para ser competitivos.

De los 6875 chips ARM disponibles de Digi-Key, hay solo cuatro en stock con precios de cantidad por debajo de un dólar. Cuatro . Mientras tanto, hay cientos de chips de 8 bits por debajo de un dólar para que los ingenieros elijan.

Pero digamos que había al menos una docena de micros de gama baja de 32 bits disponibles. ¿Serían elegidos automáticamente sobre los de 8 bits?

En primer lugar, debe informar a los ingenieros sobre ellos. Siempre hay mucha resistencia al cambio. Nuevas cosas que aprender: desde el punto de vista del hardware, aprender a incorporar el nuevo chip en un circuito. Hay nuevas herramientas, como programadores en circuito, compiladores nuevos, etc. Para los ingenieros de firmware, aprender a usar un nuevo conjunto de periféricos y temporizadores (en su mayoría, registrar diseños y significados de bits).

32 bits es bueno y todo eso, pero a menos que uno tenga que hacer muchos cálculos pesados, ¿cuál es el punto? Si solo tiene cuatro pines GPIO, acceder a ellos internamente como un registro de 32 bits no ofrece ninguna ventaja sobre el uso de un registro de 8 bits.

Creo que el consumo de energía siempre estará a favor de los micros de 8 bits.

Por ejemplo, el PIC10F200 dibuja 175 µA corriendo a 4 MHz y 2v y 100 nA en modo de suspensión. El CY8C4013SXI-400 dibuja aproximadamente 800 µA corriendo a 4MHz y 2v y 1 uA en modo de suspensión. (La hoja de datos para el CY8C4013SXI no tenía números para 4 MHz o 2v, así que tuve que hacer algunas estimaciones; la hoja de datos dice que dibuja 2 ma @ 6 MHz y 3.3v.)

Entonces, el ARM consume 4,5 veces más corriente cuando está despierto y 10 veces cuando está durmiendo. No parece mucho, pero es la diferencia entre correr en una celda de monedas durante 3 meses o un año. (Supongo que ambos microcontroladores están sincronizando, actualizando puertos, etc., y no haciendo cálculos realmente pesados. Si este es el caso, y el micro de 8 bits tiene que hacer mucha aritmética de múltiples bytes durante un período prolongado de tiempo, pierde parte de su ventaja.)

Es interesante que el ARM consume aproximadamente cuatro veces más corriente que el 8-amargo, y que a su vez tiene registros internos y rutas de datos que son cuatro veces más anchas. No creo que esto sea una coincidencia. Para CMOS, el consumo de energía es aproximadamente proporcional al número de transistores que se cambian, y el ARM obviamente está haciendo mucho más por instrucción ejecutada.

A medida que más proveedores de ARM sacan chips de gama baja, no me sorprendería que vendedores como Microchip redujeran aún más sus precios. En cualquier caso, con los precios más o menos iguales, paquetes de tamaño similar, pero con muchos menos chips de 32 bits para elegir, creo que los microcontroladores de 8 bits todavía estarán disponibles por un tiempo, particularmente porque tengo a decenas de miles de ingenieros familiarizados con ellos.

    
respondido por el tcrosley
5

Tres puntos principales:

  • precio
  • Tamaño
  • Consumo de energía

50 ¢ cuando ordenas 10,000 chips es bastante dinero. Más aún cuando pides 100,000 chips.

Puede obtener chips de 8 bits considerablemente más pequeños que los chips de 32 bits, como el PIC10 que está disponible en un paquete SOT23-6.

Los chips de 32 bits, debido a que generalmente se cronometran más rápido y hacen más, consumen mucha más energía que un pequeño chip de 8 bits. Las baterías se agotan más rápido, los sistemas de energía tienen que proporcionar más corriente (y, por lo tanto, ser más costosos), etc.

Después de todo, ¿por qué comprarías un gigante para tomar una taza de azúcar al lado?

    
respondido por el Majenko
2

Las aplicaciones de uC que he desarrollado para productos comerciales casi nunca manejan tamaños de datos mayores a 8 bits; así que incluso si los 32 bitters tuvieran el mismo precio que los 8 bitters, no habría ningún beneficio. Como dijo alguien más, buscamos lo que nos es familiar, para poder eliminarlo más rápidamente. El último que desarrollé, sin embargo, resultó empujar al PIC16 que utilicé al límite en todos los sentidos, pero no fue por el tamaño de los datos. Si hago algo más como eso, entonces realmente debería aprender ARM.

    
respondido por el Garth Wilson
2

Espero que los chips ARM asuman la mayoría de las funciones en las que algo se comporta como una "computadora". Por otro lado, muchos microcontroladores de 8 bits se acostumbran a hacer cosas que podrían hacerse con un dispositivo lógico programable relativamente simple o un número moderado de compuertas, pero en realidad se pueden hacer más baratos y / o con menos consumo de corriente utilizando un Micro simple de 8 bits. Cuando se diseñan aplicaciones más complicadas, a menudo es más fácil usar un micro de 32 bits que uno de 8 bits, pero si el propósito de un chip es, por ejemplo. mire y rebote una determinada entrada y, si pasa a nivel alto, comience a emitir 200 pulsos en una salida determinada a intervalos de 1 ms, luego a 100 intervalos de 2 ms, luego a 100 a 3 ms, luego haga una pausa de 100 ms y siga haciendo eso hasta que la entrada sea baja , diseñar el código para eso puede ser realmente más fácil en un micro de 8 bits que en uno de 32 bits. La diferencia de costo entre micros de 8 bits y de 32 bits puede no ser suficiente en muchos casos para justificar el esfuerzo adicional de ingeniería para hacer que un proyecto se "ajuste" en un micro de 8 bits, pero en los casos en que una parte de 32 bits no No ahorres ningún esfuerzo de ingeniería, no hay razón para gastar ni un centavo más.

    
respondido por el supercat
1

Aunque estoy de acuerdo en que el costo de la CPU y el consumo de energía son las principales razones, otra consideración que no he visto aquí es el espacio de PCB. Para muchos tipos de sistemas integrados, como, por ejemplo, , una báscula de baño electrónica, no hay mucha necesidad de gran cantidad de E / S, ningún beneficio para un tamaño de bus más grande y ningún procesamiento más rápido. Sin embargo, es un beneficio para un paquete más pequeño con menos pines porque hace que el diseño y el enrutamiento de una placa de circuito impreso sea más simple y, a menudo, más pequeño. Si un tablero puede diseñarse como un tablero de 2 capas en lugar de un tablero de 4 capas, hay un ahorro considerable de costos, y los recuentos de pines más pequeños que a menudo vienen con procesadores de 8 bits tienden a facilitar ese ahorro más fácilmente que a 32 Procesadores de bits que generalmente tienen más pines y paquetes físicamente más grandes.

    
respondido por el Edward
0

Incluso en el mundo de 8 bits, se sabe que los tipos más nuevos tardan mucho tiempo en hacerse cargo de los tipos más antiguos: ver que el MCS51 sigue vivo en sus nichos y el MCS48 aún se encuentra en lugares inesperados.

En muchos casos, el cambio no se produce porque no aporta ningún valor adicional y conlleva el costo de aprender una nueva tecnología que aún no se ha demostrado que se mantenga y / o se espera que siga siendo un objetivo en movimiento. (lo que hace que sea interesante para las personas que desean centrarse en la tecnología MCU, pero que les molesta a las personas que desean centrarse en su aplicación y no constantemente reparar y volver a probar el software de producción para adaptar la cosecha ARM de este año). Para algunos, un componente que ya no se desarrolla es obsoleto, para otros finalmente se ha convertido en estable , y aunque podría necesitar soluciones para los errores encarnados, al menos proporciona una plataforma estable para estos. El flujo de lava no es siempre el antipatterno que se agrieta, sino que tiende a hacer que las montañas se mantengan en forma ...

    
respondido por el rackandboneman

Lea otras preguntas en las etiquetas