Generar pulso corto desde AVR MCU PWM

0

Estoy intentando generar pulsos cortos tan bajos como 31 ns (a tiempo) con una frecuencia de 10 Hz a 10 kHz.

Microcontrolador: Atmel Xmega Reloj: 32 MHz Temporizador PWM: 16 bits

Estoy usando canales PWM para generar el pulso requerido. Puedo obtener 31ns de pulso usando el canal de comparación OCnX. Pero debido al temporizador de 16 bits no pude obtener los niveles de frecuencia requeridos en pocos Hz.

¿Hay alguna manera de resolver este tipo de problemas?

    
pregunta Vinod kumar

1 respuesta

0

la mayoría de las hojas de datos del microcontrolador ATMEGA tienen diferentes tipos de PWM y sus modos acompañantes con la frecuencia máxima que se puede obtener (la frecuencia mínima suele ser de 1 Hz). para obtener la frecuencia más baja, tendría que usar el interruptor de los bits necesarios que atenúan la frecuencia del reloj (generalmente, 1,2,4,8,16 ... 1024) .. atenuando la frecuencia del reloj utilizada en el temporizador puede obtener Usted tan bajo como 0.5 Hz con un ciclo de trabajo grande. ***

(por ejemplo, al usar una atenuación de 1024, su frecuencia de reloj se convierte en ~ 32 Hz, usar el PWM rápido con ciclo de trabajo de 20 le daría un PWM de (32 / (23 + 1)) == 1.33 HZ.)

PS: esta función está presente en las MCU AVR más pequeñas, así que supongo que debería estar presente en las mejores.

    
respondido por el Igbokwe Danny

Lea otras preguntas en las etiquetas