TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE CIUDAD GUZMÁN
MAESTRÍA EN INGENIERÍA ELECTRÓNICA (GENERACIÓN 2015 – 2017)
TRABAJO “Encendido y apagado de un led en dsPIC30F4013 en MPLAB”
MATERIA
PROCESADORES DIGITALES PRESENTAN:
XOCHIQUETZATL CORTÉS SOLARES / M15290013 PROFESOR:
RAMON CHAVEZ BRACAMONTES
CD. GUZMÁN JALISCO, MÉXICO, SEPTIEMBRE DE 2016.
OBJETIVO Realizar el encendido y apagado de un Led en dsPIC30F4013. INTRODUCCION Los DSC (Controladores Digitales de Señales) son dispositivos dotados de recursos físicos y lógicos necesarios para el tratamiento digital de señales. La empresa Microchip ha unido las características esenciales de un microcontrolador y un procesador digital de señales (DSP, por sus siglas en inglés) en un dispositivo llamado dsPIC, el cual combina las funciones típicas de los microcontroladores con las del procesamiento digital de señales. Los DSC se utilizan en una amplia gama de aplicaciones, en las cuales podemos encontrar: telecomunicaciones, procesamiento de señales, control de motores, convertidores de energía, instrumentación biomédica, etc. Existen dos familias de DSC por parte de Microchip, las series dsPIC30F y dsPIC33F. El diseño de la práctica de este informe se basa en el dsPIC30F4013, el cual es un dispositivo de 16 bits que posee convertidores A/D integrados, los cuales serán vitales para las tareas de procesamiento digital. En las secciones subsecuentes se listarán sus características generales, y el esquema mínimo de conexión. La práctica siguiente se componen de dos partes: (i) la construcción del hardware, y (ii) la implementación del software. Para el hardware, se describe el material a utilizar y los esquemas de conexión en cada práctica, y para el desarrollo del software , se implementan los programas que están codificados en lenguaje C. Con este fin, se emplean los programas MPLAB IDE v3.05, Compilador CX16 y PICkit2, todas estas herramientas de software necesarias para la programación del dsPIC30F. Todos estos programas los facilita libremente el fabricante, las cuales aparecen en la bibliografía para ser descargados desde la página de Microchip. En la siguiente sección se describe la creación, compilación y programación del dsPIC. Dada la similitud entre los microcontroladores PIC y los Controladores digitales de señales dsPIC, en cuanto a arquitectura y conjunto de instrucciones, los estudiantes que hayan tenido algún acercamiento con los PIC, se les facilitará la programación de estos nuevos dispositivos.
MATERIAL, EQUIPO Y SOFTWARE MATERIAL
DsPIC30F4013. LED. 2 CAPACITORES DE 22µF. 1 RESISTENCIA DE 220Ω. CABLES. PROGRAMADOR PIC MASTER 2. PROTOBOARD. CRISTAL DE 4MHZ
EQUIPO
FUENTE DE 5V.
SOFTWARE MPLAB X IDE PICKIT 2 COMPILADOR XC16
CARACTERISTICAS GENERALES DEL dsPIC30F4013
Controlador digital de señales de 16 bits Memoria de programa flash de 48 kB RAM de 2048 Bytes EEPROM de datos de 1024 Bytes Velocidad de la CPU hasta 30 MIPS Oscilador externo: DC hasta 40 MHz 33 fuentes de interrupciones (3 externas) ADC de 12 bits, 200 ksps y 13 canales Funciones DSP de un solo ciclo Desplazamiento de ±16 bits de un solo ciclo Modos de direccionamiento de módulo y bitinverso 2 acumuladores de 40 bits con lógica de saturación opcional Multiplicador de enteros y fraccionarios por hardware de 17bits x 17bits y un solo ciclo de instrucciones Interfaz de conversión de datos que soporta codecs de audio comunes incluyendo AC'97 y I²S 5 timers de 16 bits (Se pueden aparejar para formar de 32 bits) 2 UART's Puertos SPI, I²C, y CAN Voltaje de operación 2.5 V a 5.5 V Bajo consumo de potencia Reset Brown-Out programable Power-on Reset, Power-up Timer y Oscillator Start-up Timer Flexible Watchdog Timer (WDT) Soporta 10,000 ciclos de borrado/escritura en memoria flash para el rango de temperatura industrial Soporta 100,000 ciclos de borrado/escritura en memoria EEPROM para el rango de temperatura industrial Protección de código y datos programable Encapsulado DIP de 40 pines
CREAR NUEVO PROYECTO EN MPLAB X MPLAB X IDE es un software propio de Microchip, el cual permite seleccionar los distintos DSC soportados para su programación. Una vez instalados el software MPLAB X IDE, Compilador XC16 y PICkit 2, se listan a continuación los pasos para la creación de un nuevo proyecto, compilación del proyecto (creación del archivo .HEX) y programación del dsPIC.
1.- Se abre la plataforma de MPLAB X IDE
2.-Se crea un proyecto
Se despliega una ventana en la cual le damos siguiente
Buscamos y seleccionamos el dsPIC y le damos en siguente
En seguida seleccionamos el programa que va a cargar nuestro código al dsPIC que en este caso es el PICkit 2 y le damos siguente
Después seleccionamos nuestro compilador que será XC16 y le damos clic en siguiente
Se despliega una nueva ventana en la cual pondremos el nombre a nuestro proyecto en este caso es “contador1” y le damos finalizar.
Se abre una nueva ventana en la que se trabajara para hacer nuestro código para el encendido y apagado de nuestro led.
3.- Se crea un archivo
con extensión .c
Se abre una nueva ventana en la cual pondremos el nombre a nuestro archivo .c en la cual se llama contador1 y damos en finalizar
Se abre nuestra procesador de texto en la cual escribiremos nuestro código principal, cabe mencionar que cuando creamos nuestro archivo .c ya viene una plantilla diseñada para escribir el programa
4.- Se escribe el código de nuestro programa
5.- Se crea otro archivo .c en la cual le llamaremos common.c en la cual al igual que la anterior ya viene prediseñada en la cual aquí declararemos la configuración que tendrá nuestro
dsPIC como por ejemplo el deshabilitar el Whatchdog, el tipo de oscilador , etc.
6.- se crea un archivo con extencion .h
Se abre una nueva ventana en la cual tendremos que poner el nombre que tendrá nuestro archivo en el cual se le llamo common.h y le damos finalizar
Se abre nuestro nuevo archivo en la que al igual que en la creación del archivo .c este nuevo archivo también ya viene con una plantilla diseñada.
7.- Se escribe el código para la declaración de nuestro oscilador en el archivo creado .h, en este cao escribimos el código que esta sombreado para la configuración.
8.- Ya creado nuestros 3 archivos ahora enlazamos los archivos En el cual en el caso de common.c enlazamos con el common.h en la que ponemos #include #include "common.h" Cabe mencionar que los archivos creados por nuestra cuenta se mandan a llamar con “ “ comillas.
Ya enlazado nuestro primer achivo en el archivo common.c mandamos a llamar el common .h (#include "common.h") al igual que declaramos la librería de la familia del dsPIC (#include ) .
Guardamos todos los cambios hechos en los archivos. 9.- Compilamos nuestro código.
ya compilado nuestro trabajo y que no tenga ningún error, se ha finalizado con la creación de nuestro código para el encendido y apagado de nuestro led.
Para trabajar con el dsPIC, se requiere una conexión mínima antes de iniciar cualquier proyecto. En la figura 1, se muestra el esquema de conexión de cada uno de los pines necesarios para la programación del dispositivo. La mayoría de los pines son multiplexados, por lo que durante la programación los pines conectados a ICSP+ se emplean para la descarga del programa. Una vez que se realizó la programación, estos pines tendrán la función que se les asignó en el programa.
Una vez realizado el esquema mínimo de conexión, se procederá a grabar el dispositivo, lo cual se realiza a través de la conexión entre el software PICkit 2 y el programador universal PIC MASTER 2, ya que a través de estas herramientas se grabará en el dsPIC el programa realizado (archivo .HEX).
El programador PIC MASTER 2 (Figura 2), soporta diversas series de dispositivos PIC y dsPIC para su programación. Para la serie dsPIC30F la programación se realiza a través del puerto ICSP+.
Figura 2. Programador PIC MASTER 2.
Un esquema general de la conexión del programador a través de ICSP+ ( In Circuit Serial Programming ) se muestra en las figura 3.
Figura 3. Esquema de Conexión ICSP+
El dsPIC30F4013, tiene 3 canales para ser programado, por lo que se deben identificar los pines correspondientes para realizar la conexión adecuada con el programador. En la figura 4 se muestra el esquema de conexión utilizando el canal 1 (PGEDx, PGECx).
Figura 4. Conexión ICSP+→dsPIC30F4013 .
Retirar el voltaje de alimentación del dsPIC c uando se vaya a programar el dispositivo, ya que se puede dejar la conexión mínima al momento de programar el circuito mediante el ICSP+.
Con el software PICkit 2, podemos programar el dsPIC, conectando a través del puerto USB el programador PIC MASTER 2. En las siguientes imágenes se muestra el procedimiento para cargar el programa al dsPIC.
Una vez conectado el puerto ICSP+ a los pines correspondientes del dsPIC, se ejecutará el programa PICkit 2. Si se realiza correctamente la conexión entre programador y dsPIC, nos mostrará la siguiente imagen.
Además de mostrar las características del dispositivo, aparecen las opciones de leer, borrar y programar el dispositivo, cabe mencionar que el software automáticamente asigna el valor de voltaje de programación, que como se ha mencionado anteriormente será de 3.3 Volts. En el menú File → Import Hex File , se selecciona el archivo .HEX que se generó al compilar el programa. Una vez seleccionado el programa se ejecuta la opción “write ” para que sea cargado el programa al dsPIC.
Si la programación fue realizada con éxito nos mostrará “Programming ”, y enseguida se procederá a Successful desconectar la interfaz ICSP+ del dsPIC.
Para verificar los resultados de este ejemplo, se conectarán diodos emisores de luz (LED) en los bits 0 y 1 del puerto B (pin 1). El resultado obtenido se puede visualizar en la figura 5.
En este trabajo fue algo nuevo ya que nunca había utilizado un dsPIC al igual que la comunicación ICSP para programar, en la cual fue un poco complicado ya que no encontraba la manera de hacer la comunicación, también utilizamos la plataforma MPLAB para cuestión del código en la que tuve problemas en el desarrollo del código ya que tenía declarada en mal orden las librerías, ya solucionando todo esto, se me fue fácil utilizar la plataforma y en cuestión a la programación la comunicación ICSP es una manera fácil y rápida ya que utilice el programador PIC MASTER 2 a diferencia de otros programadores que tienen un más complicaciones en la acoplacion de la comunicación. También a través de este trabajo, se dio a conocer, las características más esenciales, algunas aplicaciones que hay en diversas áreas, y capacidades para su correcta implementación y comunicación. Por lo que podemos decir que los dsPIC son una potente y poderosa herramienta para el diseño de implementaciones básicas y complejas de circuitos en diferentes áreas de trabajo y recreación.