Honestamente, en esta época, me gustaría ir con la MCU; algo con 8 entradas más y 8 salidas más no puede ser tan costoso, especialmente cuando luego evita tener más componentes separados y la población de tableros no. ven libre Cualquier implementación de Cortex-M de tamaño suficiente probablemente lo haga. De hecho, por ejemplo, muchos chips vienen con unidades PWM que pueden programarse muy fácilmente para generar periodos de "encendido" de longitud ajustable de una sola vez.
En el término analógico: sí, obtener el sobre debería funcionar. Suponiendo que la resistencia de la unidad de sus 8 cajas negras es confiable, podría hacerlo
black box 0 --> low-pass filter (RC) 0 --> Comparator 0
^
black box 1 --> low-pass filter (RC) 1 --> Comparator 1
|^
black box 2 --> low-pass filter (RC) 2 --> Comparator 2
||^
black box 3 --> low-pass filter (RC) 3 --> Comparator 3
|||^
black box 4 --> low-pass filter (RC) 4 --> Comparator 4
||||^
black box 5 --> low-pass filter (RC) 5 --> Comparator 5
|||||^
black box 6 --> low-pass filter (RC) 6 --> Comparator 6
||||||^
black box 7 --> low-pass filter (RC) 7 --> Comparator 7
MCU PWM --> low pass filter (low cutoff) ---+++++++^
Puede obtener comparadores analógicos de 4 canales para pero un par de centavos . Usando dos de ellos, obtienes tus ocho canales.
Al ajustar el ciclo de trabajo de su PWM de generación de MCU, ajusta el voltaje que ven las clavijas de entrada negativa de sus comparadores.
Cuando un tren de impulsos alcanza un filtro de paso bajo, ese filtro aumentará lentamente su voltaje de salida y, una vez que haya pasado el último pulso, el voltaje de salida del filtro volverá a caer. Si diseña sus filtros para que tengan aproximadamente el ancho de banda de 1 / (duración del tren de impulsos / 2), entonces puede elegir cualquier duración de salida menor que la longitud del tren de salida. Si necesita una salida más larga de lo que dura su tren de impulsos, tendrá que generar un poco de histéresis.
Con respecto a los 8 filtros RC que necesitará para sus cajas negras: utilice matriz de resistencias . No son muy caros (de nuevo, es posible que esté pagando por cada componente colocado y desperdiciado espacio), esté bien emparejado y sea fácil de soldar. Lo mismo ocurre con matrices de capacitores , donde la coincidencia en realidad es más difícil de conseguir Si se utilizan tapas individuales. Iría por una red de 10nF y ocho resistencias individuales de 560 kOhm (más baratas) o este array.
Para el filtro de paso bajo PWM, simplemente use la resistencia y las tapas que ya tiene en su tablero y eso le dará una frecuencia de corte suficientemente por debajo de su frecuencia PWM.
Rápidamente construí un simulador de toda esta idea: se parece a esto:
Amedidaqueajustaelvoltajedereferencia,laduracióndelosimpulsosdesalidacambia;
el subyacente de GNU Radio Companion / GNU Radio Flowgraph tiene este aspecto:
La mitad izquierda del gráfico de flujo solo está generando los impulsos de prueba (azul en la visualización, que luego se filtran en paso bajo y se comparan con el voltaje de referencia.
Si este tipo de trabajo (contando impulsos, sincronizando alguna forma de salida lógica con alguna forma de entrada lógica, reaccionando a señales digitales) realmente sucede mucho en su placa, considerando que los CPLD o incluso los FPGA pequeños sí tiene sentido - y, por supuesto, usando la función gratuita & La fuente de herramientas Icestorm de código abierto para programar sus propias imágenes FPGA sin herramientas de proveedores tiene un gran potencial de credenciales de diseñador: D