MODULO PWM
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Base de tiempo
Cada salida PWM en un generador PWM puede utilizar la base de tiempo maestro o una base de tiempo independiente. El reloj de entrada del mdulo PWM de alta velocidad tiene opciones prescaler (divisor) de 1:1 a 1:64, que se pueden seleccionar mediante los bits (PCLKDIV <2:0>) en el registro divisor de reloj PWM (PTCON2 <2:0>). El valor preescalado tambin afectar la resolucin PWM, lo que ayuda a reducir el consumo de energa del Mdulo PWM de alta velocidad. El reloj preescalado es la entrada para la lgica de control de reloj PWM. La velocidad mxima de reloj es un ciclo de trabajo y la resolucin del perodo es de TOSC. Por ejemplo: Si se selecciona una opcin de pre-escalador de 1:2, se pueden ajustar el ciclo de trabajo PWM y la resolucin del perodo en TOSC * 2. De este modo, el consumo de energa del mdulo de PWM de alta velocidad sera reducido en aproximadamente un 50 por ciento de la operacin de velocidad mxima. Si se selecciona una opcin de pre-escalador de 1:4, se pueden ajustar el ciclo de trabajo PWM y la resolucin del perodo en TOSC * 4. De este modo, el consumo de energa del mdulo de PWM de alta velocidad sera reducido en aproximadamente un 75 por ciento de la operacin de velocidad mxima. El mdulo PWM de alta velocidad puede funcionar en modo flanco o centro alineado para el tiempo base.
Prof. Rafael Surga
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Genera referencia de tiempo para todos los generadores de PWM Genera un disparo de evento especial para el ADC y e interrupcin Soporta la sincronizacin con la seal externa (SYNCIx) Soporta la sincronizacin con dispositivos externos a travs de la seal SYNCOx La base de tiempo principal para un generador PWM se configura mediante la carga de un valor de 16 bits en el registro periodo de base de tiempo primario maestro (PTPER). En el modo de base de tiempo maestro, el valor de los registros PHASEx y SPHASEx proporciona un desplazamiento de fase entre las salidas PWM. El reloj para el temporizador PWM (PMTMR) se deriva del reloj del sistema.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
En este modo cada generador de PWM puede funcionar en: Una base de tiempo compartido para las salidas principales (PWMxH) y secundaria (PWMxL) Los perodos de base de tiempo independientes, para ambas salidas PWM (PWMxH y PWMxL) son proporcionada por el registro de desplazamiento de fase primario PWM (PHASEx). Una base de tiempo dedicado para cada una de las salidas primarias (PWMxH) y secundaria (PWMxL) El perodo de base de tiempo independiente para la salida de PWMxH es proporcionada por el valor del registro de desplazamiento de fase primario PWM (PHASEx). El periodo de base de tiempo independiente para las salidas PWMxL es proporcionada por el valor del registro de desplazamiento de fase secundaria PWM (SPHASEx). Los registros PHASEx y SPHASEx proporcionan el valor periodo de tiempo para las salidas PWMx (PWMxH y PWMxL) en el modo de base de tiempo independiente. Nota: Los valores STMRx y PTMRx no se pueden leer
Prof. Rafael Surga
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Redundante
En el modo Push-Pull, las salidas PWM son alternadas en los pines PWMxH y PWMxL
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
/* Tiempo muerto*/ DTR1 = DTR2 = DTR3 = 25; ALTDTR1 = ALTDTR2 = ALTDTR3 = 25; /* Modo Push-Pull */ IOCON1 = IOCON2 = IOCON3 = 0xC800; /* Tiempo base primario, Modo Flanco Alineado y ciclo til maestro */ PWMCON1 = PWMCON2 = PWMCON3 = 0x0100; /* Configuracin de fallas */ FCLCON1 = FCLCON2 = FCLCON3 = 0x0003; /* prescaler 1:1 */ PTCON2 = 0x0000; /* habilitacin de mdulo PWM*/ PTCON = 0x8000;
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
/* Tiempo muerto*/ DTR1 = DTR2 = DTR3 = 25; ALTDTR1 = ALTDTR2 = ALTDTR3 = 25; /* Modo Push-Pull */ IOCON1 = IOCON2 = IOCON3 = 0xC800; /* Tiempo base secundario, Modo Flanco Alineado y ciclo til independiente */ PWMCON1 = PWMCON2 = PWMCON3 = 0x0108; /* Configuracin de fallas */ FCLCON1 = FCLCON2 = FCLCON3 = 0x0003; /* prescaler 1:1 */ PTCON2 = 0x0000; /* habilitacin de mdulo PWM*/ PTCON = 0x8000;
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
/* Tiempo muerto*/ DTR1 = DTR2 = DTR3 = 25; ALTDTR1 = ALTDTR2 = ALTDTR3 = 25; /* Modo Push-Pull */ IOCON1 = IOCON2 = IOCON3 = 0xC800; /* Tiempo base independiente, Modo Flanco Alineado y ciclo til maestro*/ PWMCON1 = PWMCON2 = PWMCON3 = 0x0300; /* Configuracin de fallas */ FCLCON1 = FCLCON2 = FCLCON3 = 0x0003; /* prescaler 1:1 */ PTCON2 = 0x0000; /* habilitacin de mdulo PWM*/ PTCON = 0x8000;
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Modulo PWM de la Familia DSPIC33E/PIC24E Modo Redundante, Ciclo til y fase independiente, perodo fijo primario, Flanco-Alineado
En el modo de salida PWM redundante, el mdulo PWM de alta velocidad tiene la capacidad de proporcionar dos copias de una seal de salida PWM solo por cada pin par PWM (PWMxH, PWMxL). Este modo Utiliza el registro PDCx para especificar el ciclo de trabajo. En este modo de salida, los dos pines de salida PWM proporcionarn la misma seal PWM a menos el software del usuario especifique una valor invalido de los registros
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
Modulo PWM de la Familia DSPIC33E/PIC24E Modo Redundante, Ciclo til y fase independiente, perodo fijo primario, Flanco-Alineado
STPER = 1000; /* Periodo del PWM en tiempo base secundario */ /* Desplazamiento de fase */ PHASE1 = 0; PHASE2 = 100; PHASE3 = 200; /* Ciclo til*/ PDC1 = 150; PDC2 = 200; PDC3 = 400; /* Tiempo muerto*/ DTR1 = DTR2 = DTR3 = 0; ALTDTR1 = ALTDTR2 = ALTDTR3 = 0; /* Modo Redundante */ IOCON1 = IOCON2 = IOCON3 = 0xC400; /* Tiempo base primario, Modo Flanco Alineado y ciclo til independiente */ PWMCON1 = PWMCON2 = PWMCON3 = 0x0000; /* Configuracin de fallas */ FCLCON1 = FCLCON2 = FCLCON3 = 0x0003; /* prescaler 1:1 */ PTCON2 = 0x0000; /* habilitacin de mdulo PWM*/ PTCON = 0x8000;
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Modulo PWM de la Familia DSPIC33E/PIC24E Modo Independiente, Ciclo til y fase independiente, perodo fijo primario, Flanco-Alineado
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Modulo PWM de la Familia DSPIC33E/PIC24E Calculo del periodo en modo flanco alienado
Donde:
FPWM = Frecuencia deseada PWM FOSC = salida del oscilador Prescaler del PWM = valor definido en los bits PCLKDIV <2:0> del registro (PTCON2 <2:0)
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Donde: FPWM = Frecuencia deseada PWM FOSC = salida del oscilador Prescaler del PWM = valor definido en los bits PCLKDIV <2:0> del registro (PTCON2 <2:0) Ciclo til = Ciclo til deseado
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Nota 1: Si un valor de ciclo til es mayor o igual que el valor del periodo, la seal tendr un ciclo til del 100 por ciento. Nota 2: Cuando la compensacin de tiempo muerto se desactiva si PDCx no cumple que (PDCx> ((ALTDTRx / 2) -1)) la salida PWMxH ser alto y constante. Nota 3: Si la condicin PDCx> (ALTDTRx + DTRx 1) no se cumple podra resultar en una o ambos de las siguientes condiciones: a) Prdida de tiempo muerto. b) PWMxH ser alto y constante.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Modulo PWM de la Familia DSPIC33E/PIC24E Formas de onda dual de Tiempo muerto para el modo Flanco Alineado.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Modulo PWM de la Familia DSPIC33E/PIC24E Formas de onda dual de Tiempo muerto para el modo Centro Alineado.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Desplazamiento de Fase
El cambio de fase es el desplazamiento relativo entre PWMxH o PWMxL con respecto al tiempo maestro base. En el modo de salida independiente, el registro PHASEx determina el desfase relativo entre PWMxH y la base de tiempo Maestro. El registro SPHASEx determina la relacin de desfase entre PWMxL y la base de tiempo maestro. El contenido del registro PHASEx es utilizado como valor de inicializacin para el registro PTMRx, y el contenido del registro SPHASEx es utilizado como valor de inicializacin para el registro STMRx.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
El valor de desplazamiento de fase puede ser cualquier valor entre cero y el valor en el registro PTPER. Cualquier valor mayor de PHASEx o SPHASEx que el valor del periodo se considerarn como un valor igual a el perodo. No es posible crear desplazamientos de fase mayor que el Perodo.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Modulo PWM de la Familia DSPIC33E/PIC24E Modo Independiente, Ciclo de til y fase independiente, perodo fijo primario, Flanco-Alineado, tiempo base primario usando disparo
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Modulo PWM de la Familia DSPIC33E/PIC24E Modo Independiente, Ciclo de til y fase independiente, perodo fijo primario, Flanco-Alineado, Generador PWM usando disparo
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Nota: Cuando se produce una condicin de coincidencia adecuada, la seal de disparo de Eventos Especiales y los pulsos de activacin PWM individuales a el ADC siempre se generan independientemente de la configuracin de sus respectivos bits de habilitacin de interrupcin.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Un ejemplo de aplicacin del modo lmite de corriente por ciclo a ciclo se observa en la diapositiva siguiente, se trunca la activacin de la seal de salida PWM cuando la seal de falla externo seleccionada se activa. Los valores de salida PWM son especificados por los bits CLDAT <1:0> del registro (IOCONx <3:2>). Las salidas de falla se mantienen hasta el inicio del siguiente ciclo de PWM. Esto se utiliza a veces en la correccin del factor de potencia (PFC) en circuitos donde la corriente del inductor controla el PWM On-Time. Esta es una frecuencia PWM constante.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
mov #0xabcd,w10 ; Carga primera clave de desbloqueo en el registro W10 mov #0x4321,w11 ; Carga segunda clave de desbloqueo en el registro W11 mov #0xF000,w0 ; Carga valor deseado de IOCON1en W0 mov w10, PWMKEY ; Escribe primera clave de desbloqueo en PWMKEY mov w11, PWMKEY ; Escribe segunda clave de desbloqueo en PWMKEY mov w0,IOCON1 ; Escribe valor deseado en IOCON1
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
SYNCSRC<2:0>
SEVTPS<3:0> Bit 0
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
CHPCLKEN
Bit 15
----
----
----
----
----
CHOPCLK<9:0>
Bit 0
CHPCLKEN: Bits de Habilitacin de generador de reloj chop 1 = Generador de reloj chop esta habilitado 0 = Generador de reloj chop esta deshabilitado. Bits <14:10>: No implementado, ledos como 0. CHOPCLK<9:0>: Bits de divisor de reloj chop
UNEXPO-Pto.Ordaz
MICROPROCESADORES
Si se activa el bit de configuracin PWMLOCK (PWMLOCK = 1), los registros IOCONx y FCLCONx se pueden escribir slo despus de que la secuencia correcta se escriba en el registro PWMKEY. Si el bit de configuracin PWMLOCK se desactiva (PWMLOCK = 0), los registros IOCONx y FCLCONx se pueden escribir en todo momento.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
DTCP
----
MTBS
CAM
XPRES
IUE Bit 0
UNEXPO-Pto.Ordaz
MICROPROCESADORES
PENL: Bit de Propiedad de pin de salida PWMxL. 1 = Modulo PWM controla pin PWMxL 0 = Modulo GPIO controla pin PWMxL
UNEXPO-Pto.Ordaz
MICROPROCESADORES
POLL: Bit de Polaridad de pin de salida PWMxL. 1 = Pin PWMxL es activo en bajo. 0 = Pin PWMxL es activo en alto.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
OVRENL: Bit de Habilitacin de Anulacin de Pin PWMxL. 1 = OVRDAT<0> proporciona datos para la salida en pin PWMxL 0 = Generador PWM proporciona dato para pin PWMxL.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
OVRDAT: Bits de Estado de pines de PWMxH, PWMxL si anulacin esta Habilitado. 1 = Si OVERENH = 1, OVRDAT<1> proporciona informacin para PWMxH. 0 = Si OVERENL = 1, OVRDAT<0> proporciona informacin para PWMxL.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
FLTDAT<1:0>: Bits de Estado de pines para PWMxH y PWMxL si FLTMOD es Habilitado. IFLTMOD (FCLCONx<15>) = 0: Modo de Falla Normal: Si falla se activa, FLTDAT<1> proporciona el estado para PWMxH
CLDAT<1:0>: Bits de Estado de pines para PWMxH y PWMxL si FLTMOD es Habilitado. IFLTMOD (FCLCONx<15>) = 0: Modo de Falla Normal: Si limite de corriente se activa, CLDAT<1> proporciona el estado para PWMxH Si limite de corriente se activa, CLDAT<0> proporciona el estado para PWMxL IFLTMOD (FCLCONx<15>) = 1: Modo de Falla Independiente:
UNEXPO-Pto.Ordaz
MICROPROCESADORES
0 = Salidas anuladas a travs de los Bits OVRDAT<1:0> ocurre en el siguiente Flanco de reloj del CPU.
UNEXPO-Pto.Ordaz Prof. Rafael Surga MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
CLSRC<4:0>
CLPOL
CLMOD Bit 8
UNEXPO-Pto.Ordaz
MICROPROCESADORES
CLMOD: Bit de Habilitacin de Modo de limite de corriente para generador de PWM. 1 = Modo de Limite de Corriente es Habilitado. 0 = Modo de Limite de Corriente es Deshabilitado.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
FLTPOL
FLTMOD<1:0> Bit 0
UNEXPO-Pto.Ordaz
MICROPROCESADORES
FLTPOL
FLTMOD<1:0> Bit 0
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
PHASEx <15:0>: Bits de Periodo de Tiempo Base Independiente o Valor de desplazamiento de fase de generador de PMW.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
SDCx <15:0>: Bits de ciclo til de PWM Secundaria para salida en el pin PWMxL
UNEXPO-Pto.Ordaz
MICROPROCESADORES
SPHASEx <15:0>: Bits de Compensacin de fase secundario para la salida en el pin PWMxL.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
----
----
----
---Bit 8
000010 = Espera 63 ciclos PWM antes de generar el primer eventos despus de que el mdulo est habilitado
Prof. Rafael Surga
UNEXPO-Pto.Ordaz
MICROPROCESADORES
000001 = Disparo en salida cada 2 eventos de disparo. 000000 = Disparo en salida cada 1 eventos de disparo.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
PHF
PLR
PLF
FLTLEBEN
CLLEBEN
-----
----Bit 8
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
BCL: Bit de Habilitacin de Limpiado en Seal de Borrado en Bajo 1 = Borrado de estado (de limite de corriente y/o falla de seal de entrada) cuando la seal seleccionada es borrada en bajo. 0 = No borra cuando la seal seleccionada de borrado es bajo.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
----
----
----
BLANKSEL<3:0> Bit 8
----
CHOPSEL<3:0>
CHOPHEN
CHOPLEN Bit 0
CHOPLEN: Bit de habilitacin de salida Chopping de PWMxH 1 = Funcin Chopping de PWMxL es habilitada. 0 = Funcin Chopping de PWMxL es Deshabilitada.
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES
UNEXPO-Pto.Ordaz
MICROPROCESADORES