Sei sulla pagina 1di 4

Práctica 5: Ejecución de programas en el dsPIC

Informática Industrial
8 de enero de 2007

1. Procedimiento de configuración inicial


Durante la instalación del MPLAB IDE1 existe la opción de dejar preinsta-
lados los drivers para la conexión mediante USB del dispositivo de depuración y
programación MPLAB ICD 2, de forma que cuando se conecte éste por primera
vez se realiza la instalación de dichos drivers. Esta primera conexión ya ha sido
realizada en los ordenadores de prácticas puesto que se necesitan privilegios de
administrador. A continuación se describe el resto del procedimiento que hay
que llevar a cabo para configurar el MPLAB IDE para el uso del MPLAB ICD2:

1. Conectar el ICD 2 al PC con el cable USB. El ICD 2 no debe tener nada


más conectado en este momento.

2. Ejecutar el MPLAB IDE.

3. Seleccionar el modelo dsPIC30F6010 en Configure/Select Device.

4. Seleccionar el MPLAB ICD 2 como herramienta de depuración en el


menú Debugger/Select Tool

5. Si en ese momento no sale automáticamente el cuadro para configuración


del MPLAB ICD 2, obtenerlo en Debugger/MPLAB ICD 2 Setup Wizard.
En ese cuadro se realizan sucesivamente unas preguntas, en las que debe
escogerse:

Método de conexión: USB.


MPLAB IDE conecta automáticamente con ICD 2: DESACTIVADO
(si en lugar de esto, sale algo relacionado con “target power source”,
es que se hizo mal la elección del punto 3; volver allı́).
ICD 2 carga automáticamente sistema operativo: ACTIVADO.

6. Conectar la placa de desarrollo al ICD 2, y alimentar la placa de desarrollo.

Si todo se ha realizado correctamente, ya está listo para su uso. Puede verificarse


que la conexión del MPLAB IDE con el ICD 2 es correcta con Debugger/Connect:
en la ventana output saldrán mensajes indicando el resultado de la conexión.
Si la conexión se realiza por primera vez, es decir, en un equipo de desarrollo
nuevo, se pedirá confirmación para cargar el sistema operativo o firmware en él.
1 También es posible a posteriori. Consultar la documentación en caso necesario.

1
Sólo hay que aceptar y esperar a que se realice la carga, que puede durar unos
minutos.
En los equipos de prácticas conviene realizar todo este proceso de configura-
ción inicial en cada nueva sesión de prácticas por si por alguna razón ha habido
un cambio de configuración en el equipo.

2. Método de conexión y desconexión del siste-


ma
Cuando no haga falta llevar a cabo el procedimiento del apartado anterior
porque sea seguro que la configuración del MPLAB no ha sido cambiada en los
aspectos contemplados en el mismo, lo único que hay que hacer para preparar
el sistema es lo siguiente:

1. Conectar el ICD 2 al PC con el cable USB. El ICD 2 no debe tener nada


más conectado en este momento.

2. Conectar la placa de desarrollo al ICD 2, y alimentar la placa de desarrollo.

3. Ejecutar MPLAB IDE.

El procedimiento de desconexión es el inverso del anterior y no se debe apagar


el PC sin haberlo realizado antes.
Existen otras configuraciones de conexión entre PC, ICD 2 y placa de de-
sarrollo, por ejemplo alimentado el ICD 2 en lugar de la placa de desarrollo
de forma que la placa de desarrollo se alimenta indirectamente a través de la
conexión con el ICD 2. Sin embargo la potencia que llega a la placa de desarrollo
usando dichas configuraciones no es suficiente en los modelos dsPIC30F.

3. Depuración de un proyecto
Cuando el sistema está listo para su uso, normalmente se abrirá un proyec-
to antiguo o se creará uno nuevo. Después de compilar (Build All o Make),
hay que seleccionar el MPLAB ICD 2 como herramienta de depuración en
el menú Debugger/Select Tool (si no lo está ya) y activar la conexión del
MPLAB IDE con el ICD 2 con Debugger/Connect. Luego se transfiere el códi-
go binario del programa al dsPIC con Debugger/Program y ya está listo para la
depuración. Cada vez que se realice un cambio en el programa y se recompile,
se deberá transferir de nuevo al dsPIC.
En la depuración se procede básicamente igual que con el simulador, aunque
a veces se observarán distintos comportamientos y posibilidades respecto a éste,
como por ejemplo:

Sólo es posible tener dos puntos de ruptura activos a la vez al depurar con
el ICD 2.

El inicio de la ejecución o la ejecución de un paso de programa puede


realizarse muy lentamente si se tienen abiertas determinadas ventanas del
menú View, como por ejemplo la de los SFR. Para evitarlo, usar la ventana
Watch y poner en ella sólo las variables/registros que se quieren ver. Ello

2
se debe al tiempo que se requiere para transferir sus valores desde el dsPIC
al MPLAB IDE.
Para evitar ciertos conflictos con las zonas de memoria reservadas en el
dsPIC para el uso del ICD 2 en modo depuración que provoca compor-
tamientos extraños en la ventana Watch (variables que no se actualizan
o que no muestran su valor en dicha ventana), hay que activar la opción
“Link for ICD2” en el menú Project/ Build Options/Project, dentro
de la lengüeta “MPLAB LINK 30”.
Cuando se está realizando la ejecución paso a paso, no se realizan llamadas
a interrupciones.
El Watchdog tiene que estar deshabilitado en depuración. Esto se hace en
Configure/Configuration bits. Si no se hace, el MPLAB IDE avisa de
ello al intentar depurar con el ICD 2.
Para más información acerca de estos aspectos, se puede consultar el archivo:
Microchip\MPLAB IDE\Readmes\Readme for MPLAB ICD 2.txt
o también el documento MPLAB ICD 2 In-Circuit Debugger User’s Guide.

4. Programación de un proyecto
Cuando un proyecto está en su estado definitivo de uso, se puede usar el ICD
2 para programar el dsPIC de forma que luego pueda ejecutarse el programa
independientemente del PC y del ICD 2. Otra diferencia del método que se
describirá a continuación frente al mencionado en el anterior apartado es que
no se transfiere cierto código de apoyo sólo necesario la depuración.
Para programar el dsPIC para funcionamiento autónomo se activa la op-
ción Programmer/Select Programmer/MPLAB ICD 2. Además debe tenerse en
cuenta que el ICD 2 nunca debe estar seleccionado a la vez como programador
y como depurador. Si se intenta activar uno con el otro activado, el MPLAB
IDE avisará y pedirá confirmación para desactivar el otro.
Una vez hecho, aparece disponible la opción Programmer/Program, que trans-
fiere el programa al dsPIC. El programa no empieza a ejecutarse inmediatamen-
te porque por defecto es mantenido en RESET. Existen dos opciones en dicho
menú Programmer (y sus botones equivalentes en la barra de herramientas) para
quitar y poner dicho estado RESET.
Una vez programado el dsPIC, quitar la alimentación de la placa de desarro-
llo, desconectar ésta del ICD 2. Una vez que la placa de desarrollo es autónoma,
se puede volver a alimentar y comenzará inmediatamente a ejecutarse el pro-
grama almacenado en el dsPIC, pudiendo usar en cualquier momento el botón
RESET para reiniciar el programa.

5. Caracterı́sticas de la placa de desarrollo


Se describirán a continuación algunas caracterı́sticas fı́sicas y de configura-
ción de la placa de desarrollo. En las descripciones fı́sicas se considerará que se
mira la placa orientada para leer de forma natural el siguiente texto serigrafiado:
MICROCHIP dsPIC30F Motor Control Development Board.

3
5.1. Frecuencia de reloj del procesador
La frecuencia de reloj del procesador es configurable, pero por defecto tiene
el valor 7,378 Mhz.

5.2. Diodos LED


Los cuatro LEDs rojos contiguos se denominarán, de arriba a abajo: 1, 2,
3 y 4. Se encienden poniendo a 1 las lı́neas RA9, RA10, RA14 y RA15, res-
pectivamente. El quinto LED rojo apartado viene etiquetado FWD/REV, y se
enciende al poner a 1 la lı́nea RD7.

5.3. Botones o pulsadores


Los cuatro pulsadores debajo de la pantalla LCD se denominarán, de iz-
quierda a derecha: 1, 2, 3 y 4. Cuando son pulsados se ponen a 0 las lı́neas RG6,
RG7, RG8 y RG9, respectivamente. El pulsador que se encuentra a la izquierda
de éstos viene etiquetado como TRIP y al pulsarlo se pone a 0 la lı́nea RE8.

6. Problema propuesto
1. Programar el dsPIC para que al tener pulsado un botón X se mantenga
encendido el LED correspondiente X. Al soltar el botón se debe apagar el
LED. Pueden tenerse pulsados varios botones a la vez.

2. Programar el dsPIC para que los LEDs de 1 a 4 se enciendan siguiendo la


siguiente secuencia de forma continua: 1, 2, 3, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, . . . .
Es decir, en cada momento sólo se encuentra encendido el correspondiente
de la secuencia. Además, entre el encendido de uno y el del siguiente de
la secuencia tiene que pasar 0.1 segundos.

Potrebbero piacerti anche