¿Todavía vale la pena aprender, por ejemplo, cómo sintonizar un temporizador 555 con resistencias y condensadores, cuando puede escribir un programa de temporizador para un microcontrolador en un lenguaje de programación legible por humanos?
O, para decirlo de otra manera, ¿hay problemas de que los circuitos integrados sean buenos para los microcontroladores?
learning
microcontroller
usuario955
fuente
fuente
Respuestas:
En su mayoría, los microcontroladores han reemplazado los circuitos integrados discretos. Creo que incluso si pudiera diseñar un circuito con un 555, es probable que sea necesario ajustar el mismo circuito en unas pocas semanas para hacer otra cosa, y un micro conserva esa flexibilidad.
Pero hay algunas excepciones.
La lógica discreta es aún más rápida que la mayoría de los microcontroladores. El tiempo de propagación y los tiempos de conmutación para la lógica discreta están en el rango de 1-10 ns. Para que coincida con un microcontrolador, debe poder implementar cualquier lógica que necesite en 1 instrucción, y tener un reloj en el rango de 100 MHz a 1 GHz. Puede hacerlo, pero tal vez no en una placa de pruebas en su garaje.
Un buen ejemplo de esto es el decodificador de cuadratura HCTL2020. Toma dos series de pulsos y le dice en qué dirección está girando su motor. Se implementa como un chip no programable en aras de la velocidad.
Otra área interesante donde fallan tanto la lógica digital como los microcontroladores es el filtrado de señales. Si tiene una señal analógica que desea filtrar digitalmente, debe muestrearla a cierto ritmo. No importa qué tan rápido lo muestree, el ruido en la señal que aparece en frecuencias de más de la mitad de su frecuencia de muestreo se reducirá a frecuencias más bajas, donde puede interferir con su señal. Puede resolver este problema con un filtro de paso bajo, hecho de una tapa y una resistencia, antes de que se realice el muestreo. Después del muestreo, estás jodido. (Por supuesto, es frecuente el caso de que el ruido no se superponga a su señal en frecuencia, y luego un filtro digital funcionará muy bien).
fuente
Por extraño que parezca, acabo de tener una de nuestras fábricas chinas tratando de agregar un micro a un proyecto donde fue totalmente exagerado, y les dije que usaran un 555 en su lugar. Un 555 cuesta tal vez 6 centavos, frente a un microcontrolador barato por 60 centavos. Cuando fabrica productos en grandes cantidades, esa diferencia de costos es importante, y definitivamente querrá saber cómo usar el IC más barato. Entonces sí, son mejores para costar menos. :)
fuente
Un área donde la lógica discreta aún supera a los micros es la estabilidad de las partes a largo plazo.
¿Este micro estará disponible en 10 años? 20? ¿El IDE y la cadena de herramientas aún lo admitirán en ese momento?
Puede garantizar que la lógica discreta seguirá siendo lógica discreta en el futuro. Micros, no tanto. Si está diseñando un producto que espera que tenga una larga vida de producción, lógica genérica y, en la medida de lo posible, las piezas genéricas reducirán la necesidad de rediseñar el dispositivo cuando cambie la disponibilidad de las piezas.
Además, no eres SOL si el fabricante de tu chip está pendiente. Muchas personas hacen lógica genérica compatible, mientras que básicamente no hay micro genéricos.
fuente
Es frecuente que resulte más barato usar circuitos discretos para realizar una tarea simple. Por ejemplo, un LED parpadeante. El PIC más barato, un PIC10F200, cuesta alrededor de US $ 0.35 en 5ku, y eso es antes de los costos de programación y teniendo en cuenta el tamaño pequeño (y los problemas asociados con la fabricación). $ 0,10 de TI en 5ku, y una solución completa probablemente pesaría alrededor de US $ 0,20.
Otra cosa a tener en cuenta es que los microcontroladores son dispositivos inherentemente digitales. Claro, la mayoría tiene ADC y algunos incluso tienen DAC, pero aún funcionan en unidades de tiempo discretas y funcionan en bits y bytes individuales. Un circuito analógico se puede ajustar con precisión para hacer lo que el diseñador necesita porque, en teoría, lo analógico tiene una resolución infinita **. Un circuito digital está limitado por su componente más lento.
Finalmente, está el problema de la oferta. Volviendo a mi primer ejemplo, el NE555. Eso ha existido durante más de 20 años y probablemente seguirá existiendo durante otros 50 después de esto. Es una parte tan gomosa que probablemente se fabricará para siempre (o al menos hasta que los electrones convencionales se vuelvan obsoletos en la electrónica). Considerando que, un PIC10F podría hacerse NRND en cualquier momento. Con un único proveedor como Microchip, existe un riesgo significativo de que esto pueda arruinar un producto.
** Bien, esto no es del todo cierto. En realidad, estamos limitados a la resolución de electrones. 1 amperio = 6.24 × 10 18 electrones / segundo. Entonces, la mejor resolución actual que puede obtener es el attoamperio, o 10 ^ -18 amperios, que es de aproximadamente 6 electrones por segundo. Pero para la mayoría de los propósitos prácticos, esto está bien. :)
fuente
No olvide la lógica programable: CPLD y FPGA. Al reemplazar la lógica discreta con un CPLD, las partes que se descontinúan no le afectan y puede obtener mucho más rendimiento, tamaño reducido y menor costo. Si tiene un FPGA en el sistema, puede implementar un núcleo blando en él, que se puede actualizar fácilmente si los requisitos cambian, y todo se puede hacer fácilmente "a prueba de futuro".
fuente
Clasificaría aprender a sintonizar un temporizador 555 como conocimiento "por si acaso". Es lo mismo que la gente que dice "He vivido toda mi vida sin álgebra, ¿por qué se lo enseñamos a los niños?" Si no sabe cómo usar una herramienta, nunca verá un problema al que pueda aplicarse.
En cuanto a una respuesta específica: la lógica digital muy rápida se implementa en los FPGA / ASIC hoy en día porque sería demasiado lenta en un microcontrolador / procesador (a menos que fuera un procesador diseñado específicamente como un DSP).
fuente
En mi proyecto actual, estamos usando un chip Marvell ARM9 que funciona a 500Mhz con un FPGA para ofrecer muchos puertos DIO. Aún así, hay cosas que se manejan en lógica discreta. Por ejemplo, se necesita un control de motor paso a paso para 4 motores paso a paso controlados individualmente. Hay un oscilador para generar una frecuencia con un contador que permitirá que pasen varios pulsos. El contador se configura desde el microcontrolador, pero luego funciona sin ningún control adicional del microcontrolador, lo que le da tiempo para trabajar en otras tareas.
Podríamos haber optado por más microcontroladores. Pero un controlador central que trabaje con lógica discreta tradicional puede ser una solución poderosa y muy confiable.
Además, si tiene un problema claramente definido, la solución siempre debe ser lo más simple posible, pero no más simple (cita oculta allí ;-)). Si un 555 funciona, ¿por qué no lo usarías? La flexibilidad podría ser un argumento cuando alguien más optó, pero podría no serlo. Todo depende de su problema y su interpretación de cuál es la solución más simple.
fuente
Las aplicaciones de comunicación de alta frecuencia vienen a la mente. A pesar de que ahora tenemos 'radio definida por software', sería muy sorprendente si el procesamiento de señal de 100MHz + todavía no tiene al menos algunas etapas analógicas.
fuente
Muy pocos de mis diseños recientes de microcontroladores han requerido una lógica discreta. Una excepción fue implementar un tipo de reinicio Ctrl-Alt-Del mediante el cual presionar dos teclas específicas en un teclado personalizado durante dos segundos haría un reinicio completo del micro. Usé una puerta NOR (usada como una puerta AND con 2 entradas invertidas), una puerta AND y un 74HC123. Era conveniente poder obtener las puertas específicas que necesitaba en puertas individuales en un paquete SMT, en lugar de las 4 puertas / paquete en los días DIP.
fuente
He tenido la oportunidad de ser desarrollador de software durante años y ahora trabajo como ingeniero electrónico.
Cualquier sistema con complejidad viene con errores y errores. Tanto los microcontroladores como los circuitos integrados tienen sus ventajas y desventajas en función de sus áreas de uso.
Para proyectos a pequeña escala, los circuitos integrados son más rápidos, más baratos y más confiables que los microcontroladores. Para proyectos a gran escala con millones de entradas, análisis y lógicas de comparación, seguramente los microcontroladores tienen la ventaja sobre los circuitos integrados.
Todo el software falla en algún momento, incluso el código sin errores es propenso a modificaciones porque se guarda en una ROM, lo que resulta en errores lógicos (por ejemplo, pérdidas de memoria) que son difíciles de detectar pero que a veces terminan en una catástrofe.
Para los sistemas basados en software a prueba de balas de fallas en aplicaciones críticas (como sistemas de grado militar o sistemas de salvamento como sistemas de control de trenes), se implementan y desarrollan conceptos de "seguridad a prueba de fallas".
Los sistemas a prueba de fallas vuelven a un estado seguro en caso de que ocurra un error excepcional. Por lo general, dos procesadores ejecutan el mismo código, comparan los resultados de cada instrucción y, si son iguales, la instrucción se ejecuta. De lo contrario, el sistema usa relés eléctricos físicos para volver a un estado seguro.
Los sistemas basados en software a prueba de fallas se utilizan en sistemas de enclavamiento de trenes y ATP (Protección automática de trenes).
Diseñar el mismo sistema complejo con Ics es un gran dolor de cabeza para cualquier ingeniero. ¡Y es por eso que el software fue diseñado desde el día 1!
fuente
Los circuitos integrados pueden ser muy específicos del dominio. Estoy pensando en un decodificador DTMF. Podría programar un microcontrolador para decodificar las dos frecuencias, pero es más fácil, más rápido y más barato usar un chip comercial.
Creo que es importante tener suficiente conocimiento de todas las herramientas para saber qué herramienta usar.
fuente
Hay una gran diferencia entre diseñar algo usando solo componentes discretos versus usar un microcontrolador; El software tiene errores. Si la confiabilidad es un aspecto importante, es posible verificar el diseño de algo hecho de componentes discretos. Ni siquiera Knuth se atreve a afirmar que su software no tiene errores.
Por supuesto, su diseño también puede tener errores y solo pueden aparecer en casos muy raros, pero serán más fáciles de entender y corregir. Es posible que el software falle de maneras extremadamente oscuras y no obvias, que nunca encontrará.
fuente
¡La respuesta es sí!
Debe verlo como un diseñador de hardware con orientación a los costos de producción. El 555 es un viejo IC que se considera muy básico. Si eres un EE, lo más probable es que lo hayas visto varias veces en las clases de electrónica digital. Configurarlo es muy fácil, ya que necesita resolver 2 o 3 fórmulas para las aplicaciones más comunes. Esto casi no lleva tiempo (ya que ya conoce la parte y cómo usarla, y las matemáticas son fáciles). La cantidad de tiempo que llevaría configurar el desarrollo incluso para un MCU de 8 bits y validar el software podría llevar de días a meses, dependiendo del entorno en el que trabaje. Por lo tanto, esto podría mantener bajos los costos de ingeniería en cantidades que no imagina posibles y También, posiblemente, acortar el tiempo de comercialización.
Historia real: solía trabajar para una gran compañía médica. Diseñé plantillas de prueba para la validación del producto. Las plantillas eran parte de hardware y parte de software integrado. El producto que fabrica la compañía interactúa con partes vulnerables del cuerpo, por lo que la cantidad de inspección que realizamos fue increíble. Esta vez, tuve que ajustar el protocolo de comunicación para reflejar los cambios en el producto en sí. El cambio fue tal vez 10 líneas de código en C y el oscilador de cristal también se cambió ya que se modificó la velocidad en baudios y lo que se instaló originalmente no era 11.0592MHz ... Me llevó alrededor de 2 horas hacer esto, incluida la documentación. El costo para la compañía fue probablemente de $ 300 o menos con el pedido de Digikey para las piezas nuevas. La validación de la plantilla de prueba mejorada tomó varios meses (! ) y mantuvo ocupadas a 3 o 4 personas al menos varias veces al día en asuntos relacionados. ¿Cuánto le cuesta esto a la empresa? Probablemente al norte de $ 10K - $ 15K. Este costo refleja el costo real del cambio menor en el diseño. Muchas veces puede guardarlo y conocer algunas soluciones casi listas podría ahorrar una pequeña fortuna.
fuente