DsPIC Simulación AD
Introducción
Esta práctica trata de ilustrar el funcionamiento del conversor A/D del dsPIC30F6010 utilizando el simulador incluido en el entorno del MPLAB. En la descripción siguiente, se incluye el uso de diversas herramientas incluidas en el entorno. Por un lado, el editor de estímulos, que permite inyectar una señal en el/los registro/s que contienen las lecturas del conversor A/D. Por otro, el monitor de datos, el cual posibilita la visualización de variables de la memoria de datos del programa.
El hecho de permitir simular el comportamiento del A/D sin necesidad de tener la placa de desarrollo delante, proporciona al alumno una herramienta con la cual poner en práctica los conceptos básicos de muestreo de señales en su propio ordenador.
Configuración y uso del entorno MPLAB
Para poder simular el funcionamiento del conversor A/D, es necesario seguir varios pasos, los cuales se enumeran aquí:
- Configuración de la inyección de registros y el editor de estímulos:
- Generar un proyecto para el dsPIC30F6010 con la ayuda del Project Wizard
- Seleccionar el simulador en el menú: DebuggerSelect ToolMPLAB SIM
- Generar una configuración del editor de estimulos en: DebuggerSCL GeneratorNew Workbook
- Seleccionar la pestaña Register Injetion
- En la columna Reg/Var seleccionar el primer registro de buffers de lectura del A/D (ADCBUF0)
- En la columna Data Filename seleccionar el archivo que contiene los datos que se van a utilizar para realizar la simulación
- En la columna Wrap, seleccionar si se quiere que una vez terminada la lectura de datos del fichero, se vuelva a comenzar
- En la columna Format, indicar el formato con cual se han guardado los datos
- Una vez realizados todos los pasos anteriores, salvar el Workbook utilizando el botón Save workbook.
- Generar el archivo de estímulos utilizando el botón Generate SCL from Workbook. Salvar con el nombre que se quiera
En este punto ya tenemos generado el archivo de estimulos, ahora hay que adjuntarlo al proyecto actual. Para ello, seguir los siguientes pasos:
- Ir a la opción del menú DebuggerStimulus ControllerNew Scenario
- Pulsar sobre el botón Attach y seleccionar el archivo de estimulos que guardamos anterioremente
- Mantener la ventana abierta durante la ejecución del código
- Configuración del monitor de datos:
- Ir a la opción del menú ToolsData Monitor and Control Interface
- Selecionar la pestaña Dynamic Data View
- Aquí, es posible visualizar cuatro variables. Para activar cada una de las gráficas, pulsar sobre el checkbox situado en la esquina superior izquierda de cada una de ellas. Cuando se activa, el color de fondo de la gráfica pasa de gris a negro.
- Tras activar una gráfica, pulsar con el botón derecho sobre ella y seleccionar la opción Configure Data Source.
- Seleccionar la variable que se desea visualizar y dar al botón Aceptar.
En este momento ya está todo configurado, se puede ejecutar el programa y observar la evolución de las variables en el tiempo.
Esqueleto del código
void _ISR _ADInterrupt() { // limpiar flag IFS0.ADIF = 0; // leer del A/D Uint16 adc = ADCBUF0; } int main() { ConfiguraAD(); EnciendeAD(); while(1) Idle(); }