Recientemente he estado jugando con un montón de cosas de fuente de alimentación de conmutación PWM, y tienes razón, hay razones perfectamente válidas para las señales moduladas de ancho de pulso "bit bang". Pero una de las principales fallas de este método es cuando necesita un control de retroalimentación inmediato del ciclo de trabajo generado.
Incluso con un reloj integrado de 20 MHz, el tiempo de ciclo es de 50 nanosegundos. Computacionalmente, tendría que adquirir la señal que se está monitoreando, restarla del nivel de referencia y luego reanudar la generación del ciclo de trabajo. Esto creará "jitter" donde el ciclo de trabajo es inconsistente. El uso de un DAC integrado no está fuera de discusión, pero consume ciclos. Para reducir esto, puede agregar un DAC externo, pero luego ha comprometido aproximadamente 8 o 12 pines del microcontrolador al DAC externo para una lectura rápida (dependiendo de la resolución que desee). Entonces debe preocuparse por el retraso adicional en la propagación de la señal a través de los componentes de conmutación.
Si lo que quiere es un rápido control de retroalimentación, es difícil superar un IC de ciclo de trabajo independiente. El retraso del amplificador de error a bordo es tan pequeño que está más preocupado por el cambio de ganancia a altas frecuencias. La propagación de la señal a través de la conmutación sigue siendo el mismo riesgo, por supuesto, y tiene que diseñarse alrededor.
También vale la pena señalar que muchos paquetes PWM IC tienen funciones de apagado y entradas de control de tiempo muerto que pueden hacer cosas realmente ingeniosas cuando se combinan con un microcontrolador, todo en un paquete de 8 o 16 pines.
Depende de usted decidir si el método bit bang puede satisfacer sus necesidades. En realidad, puede aumentar la frecuencia bastante alto si usa un prescaler más bajo. El ciclo de trabajo que obtendrás mostrará un error de cuantificación, pero eso puede que no sea un gran problema dependiendo de lo que estés haciendo y de lo alto que tomes la resolución; pero nuevamente, una resolución más alta tiene el costo de una frecuencia más baja. Si no necesita un control de retroalimentación instantáneo, y su aplicación puede manejar un poco de jitter, entonces el bitging puede ser el camino a seguir.