- Modos de operación
- Synchronous PWM
- Push-pull
- Fuente de reloj seleccionable
- Fuentes de eventos seleccionables
- Control de salida
- Control de banda muerta
- Control de apagado automático con:
- Fuentes de apagado seleccionables independientemente
- Habilitación de reinicio automático
- Control de anulación de pin de apagado automático (alto, bajo, apagado y High-Z)
- Retardo de fase
- Control de supresión
- Operación durante el modo de suspensión
Modo de operación PWM sincrónico: En el modo PWM síncrono, el COG genera dos formas de onda PWM complementarias derivadas de las fuentes de eventos ascendentes y descendentes. En la configuración más simple, las fuentes de eventos ascendentes y descendentes provienen de la misma señal, como una señal PWM (periférico CCP1). El COG convierte esta entrada PWM única en una salida PWM complementaria dual. La frecuencia y el ciclo de trabajo de la salida PWM dual coinciden con los de la señal PWM de entrada única. El flanco ascendente de la entrada PWM activará el flanco ascendente del pin de salida COGxOUT0. El borde descendente de la entrada PWM activará el borde descendente del pin COGxOUT0. El COGxOUT1 será la salida complementaria del COGxOUT0.
Modo Push-pull: El cog genera un pulso PWM en el pin COGxOUT0 en cada evento de flanco ascendente de pulso entrante impar. El pin COGxOUT1 produce el mismo en cada pulso entrante de número par. Esto crea un conjunto alterno de señales producidas desde la fuente de entrada única.
- Fosc (reloj del sistema)
- Fosc / 4 (reloj de instrucciones)
- HFINTOSC (solo 16 MHz)
Las fuentes de reloj se seleccionan usando los bits GxCS <1: 0> del registro COGxCON1.
Las funciones COG que utilizan esta fuente de reloj son:
- Tiempo de banda muerta en aumento y caída
- Aumento y disminución del tiempo en blanco
- Retardo de fase de evento ascendente y descendente
- Habilitación de pin de salida Cada pin de salida COG tiene un control de activación de pin de salida individual. Las habilitaciones de salida se seleccionan con los bits GxOE0 y GxOE1 del registro COGxCON0. Cuando se establece la habilitación de salida, el valor de anulación o la forma de onda PWM activa se aplica al pin según la selección de prioridad del puerto interno.
La función COG puede desactivarse por completo borrando el pin GxEN en el registro COGxCON0.
- Control de polaridad: La polaridad de cada salida COG se puede seleccionar de forma independiente. Cuando se establece el bit de polaridad de salida, la salida correspondiente está activa en alto. Al borrar el bit de polaridad de salida, se configura la salida correspondiente como activa baja. Sin embargo, la polaridad no afecta los niveles de anulación. La polaridad de salida se selecciona con los bits GxPOL0 y GxPOL1 del registro COGxCON0.
La banda muerta se cronometra mediante uno de dos métodos:
- Modo contador síncrono
- Modo contador asincrónico
El modo es seleccionado por los bits GxRDBTS (flanco ascendente) y los bits GxFDBTS (flanco descendente) en el registro COGxCON1.
Retardo de banda muerta del contador asíncrono
El contador asincrónico utiliza la fuente de reloj COG para crear un retraso. Se coloca un valor en el registro de recuento de banda muerta que indica cuántos elementos de retardo de cinco nanosegundos esperar. El valor es un valor binario de 4 bits establecido en el registro COGxDBR (Rising Edge) o COGxDBF (Falling Edge). Al ser un valor de 4 bits, la cuenta está limitada a 0 a 15 elementos de retardo.
- Software generado
- Entrada externa
Las señales de apagado externas proporcionan la forma más rápida de suspender de manera segura el funcionamiento del COG en caso de una condición de falla. Cuando cualquiera de las señales de apagado seleccionadas se activa, las salidas COG irán inmediatamente a los niveles de anulación seleccionados sin demora del software.
Se puede seleccionar cualquier combinación de señales de apagado disponibles para provocar una condición de apagado. Las señales de apagado que se ofrecen pueden variar según el dispositivo que se utilice, pero esas fuentes de apagado se seleccionan mediante bits en el registro COGxASD1.
Por ejemplo, el PIC16F753 ofrece estas fuentes de entrada para el control de apagado. Cualquier combinación de estas entradas habilitadas es o se junta para producir la señal de apagado.
- HLTimer1
- HLTimer2
- C2OUT
- C1OUT
- Pin COG1FLT
Las señales de salida del COG se pueden conducir a un estado seleccionado durante el apagado. Esto se controla con bits en el registro COGxASD0. El pin se puede configurar en uno de cuatro estados:
- Forzado bajo
- Alto forzado
- Triestatal
- Estado inactivo de PWM (igual que el estado causado por una señal de evento descendente)
La supresión de entradas permite enmascarar o ignorar las entradas durante un breve período de tiempo. Esto se puede utilizar para evitar que los transitorios eléctricos, como los causados por el encendido / apagado de los componentes de potencia, generen un evento de entrada falso.
El COG contiene dos contadores en blanco: uno activado por el evento ascendente y el otro activado por el evento descendente. Los contadores están acoplados de forma cruzada con los eventos que están borrando. El contador de supresión de eventos descendentes se utiliza para borrar los eventos de entrada ascendentes y el contador de supresión de eventos ascendentes se utiliza para borrar los eventos de entrada descendentes. Una vez iniciado, el blanking se extiende por el tiempo especificado por el correspondiente contador de blanking. La supresión se cronometra contando los períodos COG_clock desde cero hasta el valor en el registro de recuento de supresión.
El módulo COG funciona independientemente del reloj del sistema y seguirá funcionando durante la suspensión, siempre que el reloj y las fuentes de entrada seleccionadas permanezcan activas. El HFINTOSC permanece activo durante la suspensión, siempre que el módulo COG esté habilitado, la fuente de entrada esté activa y el HFINTOSC esté seleccionado como fuente de reloj, independientemente de la fuente de reloj del sistema seleccionada.
En otras palabras: si el HFINTOSC se selecciona simultáneamente como el reloj del sistema y la fuente del reloj COG, entonces cuando el COG está habilitado y la fuente de entrada está activa, la CPU quedará inactiva durante la suspensión, pero el COG continuará funcionando y el HFINTOSC permanecerá activo. Esto tendrá un efecto directo en la corriente del modo de suspensión.
Video para configurar el módulo COG en mplabx: https://www.youtube.com/watch?v=hs7KKKNdt4Q&feature=youtu.be
Quiz kahoot: https://kahoot.it/challenge/03522628?challenge-id=37086801-f6e8-48a5-a336-a068e2185d9e_1597425038202
Información tomada de: https://microchipdeveloper.com/8bit:cog
Presentación y explicación de Proyecto Sous Vide
No hay comentarios:
Publicar un comentario