
Activador de ADC usando el generador PWM

Aprender a usar los dispositivos PWM y ADC de los dispositivos DSPIC33C MP, Lab 7: Ejemplo de código para dispositivos DSPIC33CK y DSPIC33CH que muestra una configuración básica de generadores PWM que desencadenan entradas ADC. Dentro de la rutina de servicio de interrupción de ADC (ISR) un pin de prueba alternado para permitir que el usuario observe retrasos en la respuesta de activación. Además, la generación de interrupción temprana, el registro de trabajo alternativo con los atributos del compilador y la función de optimización de ajuste del tiempo de muestreo se utilizan para ajustar el tiempo de respuesta de activación.
Siempre verifique las últimas hojas de datos en los sitios web de productos respectivos:

Después de que el dispositivo se ha programado y el MCU se inicia, PWM1H desencadena el núcleo ADC dedicado 0. Después de alrededor de 277ns, el retraso de respuesta del activador, el indicador de pin de prueba ADC Core o ISR TP55 alterna la captura de pantalla a continuación. El retraso de respuesta del activador se optimiza ya que el generador de interrupción temprana del núcleo ADC 0 está habilitado.
Al presionar el usuario del botón Push In-Board en la placa de desarrollo de potencia digital, el PWM2H desencadena el núcleo ADC dedicado 1. Después de alrededor de 265Ns, el retraso de respuesta del activador, el indicador de pin de prueba ADC Core 1 ISR TP53 verifica la captura de pantalla a continuación. El retraso de la respuesta del activador se reduce aún más porque, aparte del generador de interrupción temprana, está habilitado, el Core 1 ADC 1 ISR utilizó el atributo de contexto del compilador para asociar el ISR con un conjunto de registros alternativo.
Al presionar el usuario del botón Push In-Board nuevamente, el PWM3H desencadena el núcleo de ADC compartido 6. Después de alrededor de 335NS, el indicador de pin de prueba ISR Core 6 ADC TP50 se alterna la captura de pantalla a continuación. La configuración de ADC compartido es la misma con el núcleo ADC dedicado 1, excepto que el tiempo de muestreo de ADC compartido se establece en 8 tadcore. A diferencia de los núcleos ADC dedicados anteriores, Shared ADC Core 6 no tiene PIN analógico dedicado. Esto requirió extender el tiempo de muestreo para garantizar que el ADC se conecte al PIN analógico y muestree correctamente la señal de entrada antes de la conversión. Sin embargo, este tiempo de muestra agrega retraso de respuesta desencadenante.
Consulte la Sección de la Guía de Sección de Strart de firmware a continuación para obtener más información sobre el proceso de inicialización y la estructura del código.

Este ejemplo de código se basa en ejemplos de código anteriores que muestran cómo usar el configurador de código Microchip (MCC) para configurar los dominios del reloj del dispositivo. Aunque MCC también admite herramientas de configuración para el módulo PWM y ADC, la configuración PWM y ADC en este ejemplo se basa en controladores periféricos genéricos para ayudar a los usuarios a comprender mejor la arquitectura periférica y los aspectos clave de las configuraciones específicas y los modos operativos. En cada proyecto de código de ejemplo PWM y ADC, el procedimiento de configuración de PWM y ADC se encuentra en el archivo de usuario PWM.C y ADC.C, donde cada bit de registro requerido para lograr/habilitar la función o modo de interés específico se establece y se describe su función con los comentarios. Una vez que los usuarios están familiarizados con la arquitectura, las características y las capacidades, se pueden usar ambas opciones de configuración (biblioteca periférica genérica o MCC).
El proyecto contiene cuatro subdirectorios
En el disco duro, Main.c/H se encuentran en el directorio del proyecto MPLAB X. Todos los demás archivos de usuario, incl. Los controladores periféricos se encuentran en las fuentes de subdirectorio. Los archivos generados por MCC siempre se encuentran en su propio subdirectorio MCC_Generated-Files
Los archivos del controlador periférico PWM y ADC P33C_PWM.C/H y P33C_ADC.C/H proporcionan estructuras de datos que representan los conjuntos de registros de funciones especiales (SFR) de instancia PWM y ADC, así como el módulo base PWM y ADC. Estos objetos PWM y ADC 'virtuales' se utilizan para cargar, leer y modificar configuraciones PWM y ADC sin la necesidad de instrucciones codificadas, lo que dificultaría el código de migrar de un periférico a otro o incluso a través de dispositivos. Para simplificar las configuraciones PWM y ADC, en estos ejemplos, cada registro se restablece a un estado predeterminado conocido antes de establecer la configuración de interés del usuario. Por lo tanto, solo se muestra la configuración de registro que realmente importa para ciertas características/función.
Para obtener más información sobre el controlador genérico PWM y ADC, sus características compatibles y casos de uso previstos, lea los comentarios dentro de P33C_PWM.C y P33C_ADC.C
Este código se ha escrito para iniciar y realizar automáticamente la función de interés. Lea las instrucciones de demostración en la parte superior del archivo main.c para obtener más información sobre el ejemplo del código, los puntos de prueba, las señales esperadas y la operación del modo de demostración.
© 2020, Microchip Technology Inc.