Otro concepto de generación de señal PWM

Hola a todos.

Esta noche mientras dormía se me ha ocurrido, en relación a un sistema de sincronismo para CPLD, cómo generar una señal PWM, al menos otra forma que no es la habitual de por timer (aunque el concepto al fin y al cabo es el mismo). Se puede resumir en el siguiente esquema de bloques.

Es un esquema de bloques hecho muy rápido y de aquella manera, pero creo que la idea se entiende.
Consiste en un generador de reloj de la frecuencia que sea, de un factor de servicio del 50% (esto es realmente importante), ésta señal va a un buffer no inversor y a un desfasador (también puede ser una línea de retardo). La salida de ambos bloques pasa por una puerta XOR, dando lugar a la señal PWM de salida, cuya frecuencia será dos veces la del reloj utilizado y el factor de servicio será el ajustado al desplazador de fase o línea de retardo. Es ajustable desde 0% (línea a nivel bajo) hasta el 100% (línea a nivel alto). Pero para esto es necesario una sincronía casi perfecta en el desplazador de fase.

Todo radica en el bloque desplazador de fase, que como digo, al ser una señal digital, puede ser también una línea de retardo. A este bloque se le indica con una palabra digital cuanto desfase (desde 0º a 180º para un factor de servicio de 0% a 100%) o retardo (desde 0 a Tosc/2 para el mismo factor de servicio) queremos. A su vez, esa señal se sincroniza con la señal original para asegurar que el desplazamiento se ha hecho correctamente. Et voilà! La magia de la puerta XOR hace el resto.

Una de las grandes ventajas que tiene es que permite una frecuencia de reloj baja, con respecto a los generadores PWM basados en timers. Esto es porque este diseño multiplica la velocidad de oscilación por dos, mientras que los basados en timer han de dividirla. Al ser una frecuencia más baja permite mayor estabilidad y resolución.

Es sólo un concepto, y no sé si es/será práctico su uso y desarrollo, igual más adelante lo estudio, como opción para realizarse de forma íntegramente digital tiene posibilidades, tanto como para funcionar de forma autónoma como para incrustarlo como periférico en integrados o como código en CPLD/FPGA. Como digo es un concepto que igual no satisface los requisitos o es mayor el desarrollo frente a actuales. De cualquier modo... No está mal para un sueño cortito, ¿eh?

Un saludo, Dolf

Attachment Size
pwm-ps based.png 13.58 KB

See original: The fifth bit of the nibble Otro concepto de generación de señal PWM

F & P