TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: Zeppellin en 29 de Mayo de 2009, 10:09:39

Título: MAnejo del PWM
Publicado por: Zeppellin en 29 de Mayo de 2009, 10:09:39
Buenas Tardes.

Necesito ayuda, profavor.. resulta q estoy trabajando con modulos zigbee de panasonic, en un tema referente a redes de sensores inalambricos, el problema es que la informacion q etsamos recibiendo esta almacenada en tramas, esas tramas quedan ene l micor y necesitan ser pasadas por pwm. El micro q se esta manejando es el MC9S08QG8.

Como el tipo de transmision es continua (por lo q se sensa son señales del cuerpo), no se como calcular los porcentajes respectivos para generar el pwm. Mejor dicho no se como programarlo. Entonces necesito alguna idea, o el tipo de programacion, o si alguien a trabajado en la generacion de pwm. Les agradeceria infinitamente..

Gracias ...
Título: Re: MAnejo del PWM
Publicado por: scientist en 29 de Mayo de 2009, 15:22:01
hola zepellin, si lo que quieres es una rapida configuracion de el modulo pwm, puedes utilizar el processor expert, excelente herramienta, y que es muy facil de usar, aqui pego un pequeño ejemplo de como puedes configurar el pwm, hay muchas opciones para configurarlo, ya sea aligned center, y el normal, por interrupciones, o por software, hay para escoger, con mas tiempo tratare de explicar cuales son los registros que necesitas para manjearlo a diestra y siniestra, es  muy facil, es solo aprenderse los registros, este ejemplo es con un 9s08qe32, que es compatible, con otros micros, ya sabras que codewarrior te da un icono donde facilmente puedes cambiar al micro que necesites

Código: [Seleccionar]
#include <hidef.h>     /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */




void main(void)
{
  SOPT1 = 0x02;             // configure SOPT1 register, disable COP
 
  TPM2SC = 0x0A;   // TPM clock
  TPM2MOD = 2047;         // PWM frequency with 11 bits resolution
 
  TPM2C2SC = 0x28;
 
  TPM2C2V = 1024;         // channel 2 set to 50%
 
  while (1);
}


configuramos el tpm2 canal 2, con una salida al 50% de duty cycle, saludos