Diseño de lógica discreta

11

Me han encargado la tarea de construir un dispositivo de alarma simple. Solo necesita medir algunas entradas y las salidas responderán en consecuencia (para decirlo de manera muy simple). Para mí, parecía que usar unas pocas puertas lógicas discretas podría hacer el trabajo, pero un colega (que estaba trabajando conmigo en esto) decidió que deberíamos usar la lógica programable en su lugar. Su caso ganó, porque en primer lugar, él es más alto que yo, y en segundo lugar, su argumento principal fue que los dispositivos programables son el futuro y queremos hacer productos a prueba de futuro.

Mi pregunta es si tiene un diseño que pueda ser implementado fácilmente por unas cuantas puertas lógicas discretas, ¿vale la pena diseñar con lógica discreta? ¿Hay alguna ventaja de usarlos sobre programable? ¿O se irá eliminando lentamente por la lógica programable? Para ser claros, no quiero respuestas de 'Creo que este es el caso' o 'Personalmente creo que esto, pero ...' Me gustaría saber si existen ventajas reales para el diseño con discreto sobre programable y es ¿Vale la pena diseñar con ellos estos días en productos de electrónica de consumo?

    
pregunta Curious

6 respuestas

15

El diseño lógico discreto no se eliminará por completo. Siempre habrá aplicaciones en las que es preferible utilizar un IC de lógica discreta. Como se ha señalado, la velocidad es una gran ventaja, aunque en muchas aplicaciones, la diferencia de velocidad no es tan importante.

Cuando se trata de la fase de diseño, si diseña un circuito que solo necesita realizar 2 o 3 funciones lógicas simples en diferentes puntos del circuito, será mejor usar puertas discretas, solo para ahorrar tiempo de diseño al tener También escribir el programa también.

Para los sistemas que necesitan realizar funciones lógicas más complejas, sería una tontería dedicar todo el tiempo a elaborar una tabla de verdad, y luego determinar qué puertas lógicas van a dónde, etc., cuando solo se puede escribir un programa pequeño. Por lo general, cuantas más entradas significan, más puertas se requieren y más se tarda en diseñar en discreto.

El lugar donde la lógica discreta realmente tiene la ventaja es el aprendizaje. Cuando está aprendiendo por primera vez sobre el diseño lógico y cómo funcionan las puertas, etc., ahí es donde es muy importante tener acceso a las puertas lógicas reales y diseñar diferentes funciones con partes discretas. Siempre es una buena idea para obtener una comprensión de los fundamentos. Entonces, debido a eso, la lógica discreta siempre tendrá un lugar en este mundo. ¿En cuanto a la electrónica de consumo? El futuro es definitivamente programable.

    
respondido por el MCG
14

No soy en absoluto un ingeniero profesional en electrónica (en realidad solo soy un principiante), pero mis pocos centavos son que los CI dedicados de lógica discreta solo deben usarse si la sincronización es importante o si es un requisito no usar lógica programable.

Con un microcontrolador puede implementar una lógica mucho más complicada y es más flexible. También se puede reprogramar sin tener que cambiar el hardware.

También cuando se necesitan tiempos muy rápidos que el software no puede mantener, se pueden usar circuitos integrados de lógica dedicada. Pero para un sistema de alarma, esto parece innecesario (no necesita un tiempo de respuesta de nanosegundos).

A continuación se muestra mi interpretación de las ventajas / desventajas:

                          Discrete logic (ICs)      Programmable logic/
                                                    (Microcontrollers)
 Nanosecond speed                  x                         -
 Just a few 'operators' needed     x                         -
 No tool chain needed              x                         -
 Cost Efficiency *                 -                         x
 PCB / proto size                  -                         x
 Flexibility for changing          -                         x
 Production cost                   -                         x
 Possibility to extend features    -                         x

* Assuming more than a few (different) logic functions needed
    
respondido por el Michel Keijzers
10

Si va a crear un producto comercial, realmente no debería elegir un diseño porque "es programable" o porque un colega más avanzado lo propuso. En su lugar, debe estimar los riesgos y costos asociados con cada diseño, y elegir el que tenga el menor costo y el nivel de riesgo aceptable. Para empezar:

  • el precio de los componentes individuales se suma al costo
  • el tamaño de PCB requerido y la complejidad se agregan al costo
  • el esfuerzo de diseño requerido y las herramientas aumentan el costo
  • las pruebas y la certificación requeridas aumentan el costo
  • la falta de flexibilidad (por ejemplo, cambios en la lógica discreta que requieren una nueva PCB) es un riesgo
  • la falta de experiencia con una tecnología particular en su equipo es un riesgo
  • la incapacidad para cumplir con los requisitos del proyecto (por ejemplo, el consumo de energía objetivo) es un riesgo

Si obtener IC de lógica discreta para su proyecto en particular es más barato, su equipo tiene experiencia con dicho diseño y considera que la falta de flexibilidad no es crítica, no hay razón para no usar lógica discreta.

    
respondido por el Dmitry Grigoryev
7

Un aspecto que las otras respuestas están olvidando es la seguridad. Los circuitos lógicos discretos son mucho más confiables que los diseños de microcontroladores mucho más complejos. Ayudé a construir un prototipo de hidrógeno, todos los circuitos de seguridad se diseñaron utilizando una lógica discreta. La seguridad y la confiabilidad es un aspecto que quizás desee considerar para diseñar un sistema de alarmas.

    
respondido por el LukeHappyValley
4

Tengo que admitir que, siempre que tengo que hacer un poco de lógica combinatoria compleja más algunos temporizadores, no me molesto en absoluto en la lógica discreta sino que siempre codifica un programa de ensamblador mínimo para un ATTIN un PIC si te gustan los mejores).

La lógica combinatoria está en un máximo de 20 líneas de ensamblador (varias tablas de búsqueda). Cada temporizador de software agrega otras 10 líneas. Temporizadores de hardware aún menos. Incluso puede obtener la ventaja de tener a bordo un convertidor A / D, un comparador, una generación PWM, si los necesita.

La única desventaja es que tienes que flashear esta parte. A veces eso es un show stopper, pero rara vez es el caso. La gran ventaja es que necesita mucho menos espacio en la placa, el enrutamiento es mucho más sencillo y puede cambiar fácilmente las funciones lógicas si es necesario.

El caso de uso restante para circuitos integrados lógicos separados es cuando las cosas tienen que funcionar más rápido que 1µs.

    
respondido por el Janka
4

En el producto final, probablemente no haya muchas ventajas para la lógica discreta si estamos hablando de un dispositivo de consumo. Las excepciones son algo que debe ser muy resistente frente a condiciones adversas, o muy fácil de caracterizar (la complejidad real y el potencial de errores ocultos es mucho mayor con algo basado en firmware), o que desea poder volver a compilar desde muy partes similares en las próximas décadas (las huellas 74xx cambian muy lentamente incluso si las letras de la tecnología cambian :)).

Algo que realmente puedes hacer mejor con los discretos es la lógica asincrónica, la autodeterminación (completar una cosa inmediatamente activa otra cosa). La legitimidad de tales diseños es un tema de guerra santa. No te preocupes, la gente sincrónica querrá vencerte, pero solo tienes que quitarle el reloj, estarán sin esperarlo para siempre.

Cuando se trata de la metodología de diseño, yo diría que depende del estilo preferido del diseñador: un dispositivo CPLD que, literalmente, se puede cablear en vivo ("vamos a tocar ese cable a los pines hasta que algo haga clic"), La vista de ratsnest, y bajo el poder de una PC host (con chispas simuladas cuando toca un cable a un pin, preferiblemente, solo por el ambiente) ciertamente será muy apreciada por las personas que prefieren la lógica discreta :)

    
respondido por el rackandboneman

Lea otras preguntas en las etiquetas