++PROGRAMACION DE DSPs Miranda - Barrientos - 2011 - Sinllave PDF
++PROGRAMACION DE DSPs Miranda - Barrientos - 2011 - Sinllave PDF
++PROGRAMACION DE DSPs Miranda - Barrientos - 2011 - Sinllave PDF
FACULTAD DE INGENIERA
Departamento de Electricidad
P g i n a | ii
P g i n a | iii
Agradecimientos
Quiero expresar mis ms sinceros agradecimientos a todas las personas
que colaboraron en el desarrollo de este trabajo de titulacin.
Tambin merece mencin significativa el profesor Rolando Aguilar por su
apoyo para el desarrollo de este proyecto por su gua y ayuda.
Finalmente agradezco a mis familiares y amigos por su apoyo y
comprensin.
Pgina |v
Resumen
El presente trabajo de titulacin presenta la programacin de un
procesador digital de seales (DSP), a travs del software Matlab / Simulink,
como una forma alternativa a la programacin convencional de estos
dispositivos. El DSP seleccionado para el desarrollo del proyecto fue el
TMS320F28335 de la empresa Texas Instrument, y la tarjeta de desarrollo
XDS100 emulator. La programacin del DSP se ejecuto con el subprograma de
Matlab / Simulink Real-Time Workshop encargado de la creacin de cdigo en
lenguaje C. Este programa crea un cdigo ejecutable solamente en ambiente
Matlab, por lo tanto se hizo necesario modificar dicho cdigo para que sea
ejecutable en el DSP que se est utilizando. Por esto se recurri a otro
subprograma de Matlab denominado Embedded IDE Link. La particularidad de
este programa es lograr modificar el cdigo para que sea ejecutable en
plataformas especficas, este programa tiene soporte para diferentes modelos
de procesadores de la empresa Texas Instrument y en especfico del modelo
que se utiliz en el proyecto, se hizo de gran utilidad para el desarrollo de esta
herramienta de programacin. Por ltimo como se tiene un cdigo ejecutable
para una plataforma de hardware especfica, tambin se utiliz otra herramienta
de Matlab, el software Target Support Package el cual ofrece bloques que
simulan mdulos y perifricos del procesador. Son de gran utilidad ya que
cuando se procede a la generacin de cdigo estos bloques automticamente
se cargan todas las bibliotecas de funciones y archivos de cabecera necesarios
para la programacin de estos.
P g i n a | vi
Tabla de contenido
1.1
1.2
1.3
2.1
Introduccin...................................................................................................................... 6
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.8.1
Perifricos............................................................................................................... 14
3.1
Introduccin.................................................................................................................... 16
3.2
3.3
3.3.1
Simulink. ................................................................................................................. 19
3.3.1.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.5.1
3.3.5.2
3.3.5.3
3.3.5.3.1
3.3.5.3.2
3.3.5.3.3
3.3.5.3.4
3.3.5.3.5
3.3.5.4
3.3.5.4.1
P g i n a | vii
3.3.5.4.1.1
ADCLKS...................................................................................................... 27
3.3.5.4.1.2
CPS. ............................................................................................................ 27
3.3.5.4.1.3
ACQ_PS. .................................................................................................... 27
3.3.5.4.1.4
OFFset. ....................................................................................................... 27
3.3.5.4.2
3.3.5.4.2.1
3.3.5.4.2.2
SAM............................................................................................................. 28
3.3.5.4.2.3
SBG ............................................................................................................. 29
3.3.5.4.2.4
SJW ............................................................................................................. 29
3.3.5.4.2.5
TSEG1 ........................................................................................................ 29
3.3.5.4.2.6
TSEG2 ........................................................................................................ 29
3.3.5.4.2.7
3.3.5.4.2.8
3.3.5.4.3
3.3.5.4.3.1
3.3.5.4.3.2
3.3.5.4.3.3
3.3.5.4.4
3.3.5.4.4.1
3.3.5.4.4.2
3.3.5.4.5
3.3.5.4.5.1
Modo (Mode).............................................................................................. 32
3.3.5.4.5.2
3.3.5.4.5.3
3.3.5.4.5.4
3.3.5.4.5.5
3.3.5.4.5.6
3.3.5.4.5.7
divider).
...................................................................................................................... 34
3.3.5.4.5.8
divider).
...................................................................................................................... 34
3.3.5.4.5.9
3.3.5.4.6
P g i n a | viii
3.3.5.4.6.1
3.3.5.4.6.2
3.3.5.4.7
3.3.5.4.7.1
3.3.5.4.7.2
3.3.5.4.7.3
3.3.5.4.7.4
3.3.5.4.7.5
3.3.5.4.7.6
3.3.5.4.7.7
3.3.5.4.7.8
3.3.5.4.7.9
3.3.5.4.8
Modo de suspensin..................................................................................... 38
3.3.5.4.8.1
3.3.5.4.8.2
3.3.5.4.9
3.3.5.4.9.1
3.3.5.4.9.2
3.3.5.4.9.3
3.3.5.4.9.4
3.3.5.4.9.5
3.3.5.4.9.6
3.3.5.4.9.7
3.3.5.4.9.8
3.3.5.4.9.9
3.3.5.5
3.2.5.5.1
3.3.5.5.2
Modo................................................................................................................ 41
3.3.5.5.3
3.3.5.5.4
3.3.5.5.5
esclavo). .......................................................................................................................... 42
3.3.5.5.6
P g i n a | ix
3.3.5.6.0
3.3.5.6.1
3.3.5.6.2
3.3.5.6.3
3.3.5.6.4
3.3.5.7.0
3.3.5.7.1
Sync to SYSCLKOUT................................................................................... 44
3.3.5.7.2
3.3.5.7.3
3.3.5.7.4
3.3.5.8.1
3.3.5.8.2
3.3.5.8.3
3.3.5.8.4
3.3.5.9.0
3.3.5.9.1
3.3.5.9.2
3.3.5.9.3
3.3.5.9.4
3.3.5.9.5
Ejecucin. ....................................................................................................... 50
3.3.6.0.0
3.3.6.0.1
3.3.6.0.2
3.3.6.0.3
Fuente de interrupcin.................................................................................. 52
3.3.6.0.4
3.3.6.0.5
3.3.6.0.6
3.3.6.0.6.1
Rfaga (Burst)............................................................................................ 53
3.3.6.0.6.2
3.3.6.0.6.3
3.3.6.0.6.4
Pgina |x
3.3.6.0.7
Fuente (Source)............................................................................................. 54
3.3.6.0.8
3.3.6.0.9
Modo (Mode)................................................................................................. 56
3.3.6.0.9.1
3.3.6.0.9.2
3.3.6.0.9.3
3.3.6.0.9.4
3.3.6.0.9.5
priority).
...................................................................................................................... 57
3.3.6.0.9.6
3.3.7.0.0
3.3.7
PLL. ................................................................................................................. 59
3.3.7.1
3.3.7.2
3.3.7.3
3.3.7.4.1
3.3.7.4.2
3.3.7.4.3
3.3.7.4.4
3.3.7.4.5
3.3.8
3.3.8.1
3.3.8.2
Caractersticas principales........................................................................... 73
3.3.8.3
utilizados en el proyecto................................................................................................... 75
3.3.8.3.1
3.3.8.3.1.1
3.3.8.3.1.2
Mdulo A..................................................................................................... 76
3.3.8.3.1.3
Mdulo B..................................................................................................... 76
3.3.8.3.1.4
Mdulo A B................................................................................................. 76
3.3.8.3.1.5
Modo de conversin.................................................................................. 76
P g i n a | xi
3.3.8.3.1.6
Comienzo de conversin.......................................................................... 76
3.3.8.3.1.7
Tiempo de muestreo................................................................................. 77
3.3.8.3.1.8
3.3.8.3.1.9
3.3.8.3.2.0
3.3.8.3.2.1
Conversion no............................................................................................ 78
3.3.8.3.2.2
3.3.8.3.3
3.3.8.3.3.1
3.3.8.3.3.2
Configuracin General.............................................................................. 80
3.3.8.3.3.3
Mdulo (Module)........................................................................................ 80
3.3.8.3.3.4
3.3.8.3.3.5
Especificacin del periodo del timer via (Specify timer period via). .. 80
3.3.8.3.3.6
3.3.8.3.3.7
3.3.8.3.3.8
3.3.8.3.3.9
3.3.8.3.4
3.3.8.3.4.1
3.3.8.3.4.2
3.3.8.3.4.3
3.3.8.3.5
3.3.8.3.5.1
3.3.8.3.5.2
3.3.8.3.5.3
status).
...................................................................................................................... 84
3.3.8.3.5.4
3.3.8.3.5.5
status).
...................................................................................................................... 85
3.3.8.3.5.6
3.3.8.3.5.7
transmitted). ...................................................................................................................... 85
3.3.8.3.6
P g i n a | xii
3.3.8.3.6.1
SCI receive................................................................................................. 86
3.3.8.3.6.2
SPI Transmit............................................................................................... 86
3.3.8.3.6.3
3.3.8.3.6.4
3.3.8.3.6.5
3.3.8.3.6.6
3.3.8.3.6.7
3.3.8.3.6.8
3.3.8.3.6.9
3.3.8.3.7.0
3.3.8.3.7.1
3.3.8.3.7.2
3.3.8.3.7.3
3.3.8.3.8
3.3.8.3.8.1
3.3.8.3.8.2
3.3.8.3.8.3
3.3.8.3.8.4
3.4
3.4.1
Caractersticas................................................................................................... 92
3.4.2
4.1
Introduccin................................................................................................................ 98
4.2
4.3
4.4
4.5
4.6
5.1
5.2
P g i n a | xiii
ndice de Tablas
TABLA 1:
TABLA 2:
TABLA 3:
TABLA 4:
TABLA 5:
Captulo I
Introduccin
Pgina |2
1.1
Pgina |3
1.2
Pgina |4
1.3
Pgina |5
Captulo II
Introduccin al procesamiento digital de
seales
Pgina |6
2.1
Introduccin.
En el siguiente captulo se describe el procesamiento digital de seales
Pgina |7
2.2
2.3
Pgina |8
Pgina |9
2.4
Conversin Anloga-Digital.
Las aplicaciones comunes de los DSP son en tiempo real, tales como el
sonido y ondas de radio que se originan en forma anloga. Una seal anloga
tiene la caracterstica de ser continua en el tiempo. Los computadores digitales,
manejan seales de forma discontinua, una serie de nmeros binarios, y esta
misma caracterstica poseen los DSP. Para ello es necesaria la transformacin
de las seales anlogas en digitales.
2.5
Conversin Digital-Anloga.
El conversor Digital-Anlogo es un dispositivo electrnico que, a partir de
P g i n a | 10
2.6
P g i n a | 11
2.7
Introduccin al DSP.
Un DSP es un Procesador de Seales Digitales, cuyo objetivo en
P g i n a | 12
procesador
eficiente,
pues
proporciona
ms
MIPS
(Mega
P g i n a | 13
2.8
flotante, tiene una velocidad de reloj de 150 MHz (6,67 ns), el ncleo funciona
con una tensin de 1.9 V/1.8 V, los dispositivos de entrada y salida funcionan a
3.3 V, la CPU funciona con 32 bits, la arquitectura del bus es Harvard, posee
una respuesta rpida al procesamiento de interrupciones, la programacin del
microprocesador puede ser en lenguaje C o C++, contiene 6 canales
controladores DMA tiene 16-32 bits para interfaces externas, la memoria flash
es de 256Kx16, la SARAM 34Kx16 y memoria ROM 8Kx16 .
P g i n a | 14
2.8.1 Perifricos.
Los perifricos en un procesador tpico F2833x en general incluyen:
o 18 salidas Moduladoras de ancho de pulso (PWM).
o 6 salidas HRPWM Modulacin por ancho de pulso de alta resolucin.
o 6 entradas Enhanced Capture ECAP (Modo de Captura mejorada).
o 2 Mdulos codificadores de cuadratura mejorado (eQEP Enhanced
quadrature Encoder).
o 3 CPU Timers de 32 bits
o 3 Mdulos SCI Transmisor receptor asncrono universal (UART).
o 2 Mdulo con controlador de rea de red mejorada eCAN (Enhanced
controller area network).
o 2 Mdulos McBSP Bfer multicanal de puerto serie.
o 1 Mdulo SPI Interfaz de protocolo serie.
o 1 Bus circuito inter-integrado (
P g i n a | 15
Captulo III
Herramientas de desarrollo para generacin
de cdigo
P g i n a | 16
3.1
Introduccin.
En el siguiente captulo se presenta la parte ms importante del proyecto,
P g i n a | 17
3.2
3.3
Este software integra en un solo programa varias herramientas entre las cuales
podemos citar: clculos, visualizacin y programacin en un ambiente fcil de
usar, donde los problemas y soluciones son expresadas en una notacin
matemtica.
Matlab se puede usar tpicamente en:
o Matemtica y computacin.
o Desarrollo de algoritmos.
o Adquisicin de datos.
o Modelacin, simulacin y desarrollo de prototipos
o Anlisis de datos, exploracin y visualizacin.
o Grficos cientficos y de ingeniera.
o Desarrollo de aplicaciones, incluyendo una interfaz grfica de usuario.
o Y la ms importante para el desarrollo de este proyecto, generacin de
cdigo ejecutable fuera del ambiente Matlab/Simulink.
Matlab es un sistema interactivo en donde el elemento bsico de datos
es una matriz que no requiere ser dimensionada previamente. Esto permite
resolver varios problemas computacionales, especialmente aquellos que
involucran el uso de matrices y vectores adems de aplicaciones de gran
complejidad.
P g i n a | 18
P g i n a | 19
3.3.1 Simulink.
Simulink es un software que se utiliza para modelar, simular y analizar
sistemas dinmicos. Simulink soporta sistemas que son lineales y no lineales,
modelados en tiempo continuo, discreto o un hbrido de ambos. Dichos
sistemas pueden ser de
diferentes tasas. Para la simulacin, Simulink provee una interfaz grfica para la
construccin de modelos como diagramas de bloques, para lo cual se usan
operaciones de clic y arrastre del mouse. Con esta interfaz, se pueden construir
modelos como si fuera con un lpiz y papel. Simulink ofrece una extensiva
librera de componentes lineales y no lineales, conectores, tambin se pueden
personalizar y crear bloques propios de acuerdo a la funcin que se requiera
por parte del programador. Luego de definir el modelo, se puede proceder a
simularlo, y los resultados de la simulacin pueden ser colocados en el
escritorio de Matlab para su posterior visualizacin y procesamiento. Al enlazar
Simulink con Real-Time Workshop, otra herramienta de Matlab, se puede
transferir cdigo al compilador CCS (Code Composer Studio) y posteriormente
desde este transferirlo al DSP.
3.3.1.1
Bibliotecas de Simulink.
P g i n a | 20
P g i n a | 21
P g i n a | 22
P g i n a | 23
3.3.5.2
3.3.5.3
P g i n a | 24
P g i n a | 25
3.3.5.3.1
3.3.5.3.2
Procesador (Processor).
3.3.5.3.3
3.3.5.3.4
o
Source files En esta opcin se agregarn las rutas donde estn los
cdigos fuentes esenciales para el microprocesador.
Include paths En esta opcin se agregan las rutas donde estn los
archivos de cabecera que ofrece el software en este caso Matlab.
P g i n a | 26
3.3.5.3.5
Esta funcin importa los datos del DSP y la tarjeta de desarrollo a la cual
est montado, bsicamente crea un vnculo entre Matlab / Simulink, Code
Componer Studio y Embedded IDE link. Al utilizar esta funcin se nos mostrar
el nombre de la tarjeta y el nombre del procesador, para corroborar el correcto
reconocimiento del hardware podemos visualizar en el propio CCS si son
similares. Cabe mencionar que el reconocimiento del hardware no se efectuar
jams si el IDE (Code composer, Eclipse IDE, etc) con el cual se programan los
procesadores no tiene soporte en el software (Matlab/Simulink).
3.3.5.4
3.3.5.4.1
P g i n a | 27
3.3.5.4.1.1
ADCLKS.
3.3.5.4.1.2
CPS.
ACQ_PS.
3.3.5.4.1.4
Este
OFFset.
parmetro
de
la
familia
P g i n a | 28
3.3.5.4.2
Fig. 3.9. Opciones de configuracin del eCAN con el bloque tarjeta preferente.
3.3.5.4.2.1
3.3.5.4.2.2
SAM
P g i n a | 29
3.3.5.4.2.3
SBG
3.3.5.4.2.4
SJW
3.3.5.4.2.5
TSEG1
3.3.5.4.2.6
TSEG2
3.3.5.4.2.7
3.3.5.4.2.8
P g i n a | 30
3.3.5.4.3
Fig. 3.10. Opciones de configuracin del eCAP con el bloque tarjeta preferente.
3.3.5.4.3.1
3.3.5.4.3.2
3.3.5.4.3.3
P g i n a | 31
3.3.5.4.4
Fig. 3.11. Opciones de configuracin del ePWM con el bloque tarjeta preferente.
3.3.5.4.4.1
Asigna una puerta GPIO como entrada para una seal externa que ser
utilizada como modo de sincronizacin para el ePWM. La opcin por defecto no
tiene
nada
configurado,
los
pines
disponibles
para
esta
funcin
3.3.5.4.4.2
Asigna una puerta GPIO como salida para un dispositivo externo que
ser utilizada como modo de sincronizacin para el ePWM. La opcin por
defecto no tiene nada configurado, los pines disponibles para esta funcin
son GPIO16 y GPIO28.
P g i n a | 32
3.3.5.4.5
Fig. 3.12. Opciones de configuracin del I2C con el bloque custom board.
3.3.5.4.5.1
Modo (Mode).
P g i n a | 33
3.3.5.4.5.3
P g i n a | 34
3.3.5.4.5.7
time divider).
Cuando el mdulo se configura en modo MASTER esta opcin est
disponible, esta variable determinar la duracin del estado en bajo (low state)
que tendr el serial clock pin (SCL), en el bus del mdulo I2C.
3.3.5.4.5.8
time divider).
Cuando el mdulo se configura en modo MASTER esta opcin est
disponible, esta variable determinar la duracin del estado en alto (high state)
que tendr el serial clock pin (SCL), en el bus del mdulo I2C.
3.3.5.4.5.9
P g i n a | 35
3.3.5.4.7
Fig. 3.14. Opciones de configuracin del SCI con el bloque Tarjeta preferente.
3.3.5.4.7.1
3.3.5.4.7.2
P g i n a | 36
3.3.5.4.7.3
Con esta opcin podemos elegir la cantidad de bits que contendr el dato
para ser transmitido o recibido.
3.3.5.4.7.4
3.3.5.4.7.5
3.3.5.4.7.6
P g i n a | 37
3.3.5.4.7.7
dispositivo
con
propsito
de
diagnstico
nicamente.
Cuando
3.3.5.4.7.8
3.3.5.4.7.9
P g i n a | 38
3.3.5.4.8
Modo de suspensin.
3.3.5.4.8.1
3.3.5.4.8.2
P g i n a | 39
3.3.5.4.9
Fig. 3.15. Opciones de configuracin del SPI con el bloque tarjeta preferente.
3.3.5.4.9.1
3.3.5.4.9.2
P g i n a | 40
3.3.5.4.9.3
3.3.5.4.9.4
3.3.5.4.9.5
3.3.5.4.9.6
3.3.5.4.9.7
P g i n a | 41
3.3.5.4.9.8
Modo
P g i n a | 42
3.3.5.5.5
P g i n a | 43
3.3.5.6.0
P g i n a | 44
3.3.5.7.0
Sync to SYSCLKOUT.
P g i n a | 45
3.3.5.7.2
(Qualification using 3
samples).
Esta opcin de configuracin nos permite establecer que mnimo 3 ciclos
consecutivos del mismo valor de salida son necesarios para un cambio en la
GPIO.
(Qualification using 6
samples).
Esta opcin de configuracin permite establecer que para que ocurra un
cambio en la seal de entrada o salida de la GPIO es necesario que se
registren seis ciclos consecutivos del mismo valor, por ejemplo para evitar emitir
seales que no sean correctas.
3.3.5.7.4
Prescalador
del
periodo
de
calificacin
del
muestreo
(1)
P g i n a | 46
Las GPIO disponibles son desde la 0 a la 63 cada GPIO tiene por defecto
asignado un pin de acuerdo a la disposiciones de hardware ejemplo GPIO 1
tambin corresponde al pin ECAP6. Sin embargo, las opciones mencionadas
anteriormente corresponden cuando las GPIOs se configuran como entrada o
salida sin especificar ningn mdulo.
P g i n a | 47
3.3.5.8.0
3.3.5.8.2
P g i n a | 48
3.3.5.8.3
3.3.5.8.4
P g i n a | 49
3.3.5.9.0
P g i n a | 50
3.3.5.9.2
3.3.5.9.3
3.3.5.9.4
3.3.5.9.5
Ejecucin.
P g i n a | 51
3.3.6.0.0
Tamao de dato.
P g i n a | 52
Fuente de interrupcin.
3.3.6.0.5
Generate interrupt.
P g i n a | 53
3.3.6.0.6
Tamao (Size).
3.3.6.0.6.1
Rfaga (Burst).
Transferencia (Transfer).
opcin
de
configuracin
corresponde
los
bits
15-0
P g i n a | 54
3.3.6.0.7
Fuente (Source).
Begin Address.
Este parmetro permite ajustar la direccin inicial del puntero fuente. Adems
los punteros apuntan a las direcciones de los mdulos DMA en el inicio de una
transferencia y devuelve el parmetro SRC wrap como haya sido configurado.
Esta opcin de configuracin corresponde a los bits 21-0 (BEGADDR) del
registro SRC_BEG_ADDR del procesador.
Burst step
Esta opcin de configuracin permite establecer el nmero de palabras de 16
bits, que se pueden incrementar o decrementar de acuerdo al flujo de
movimiento del puntero. Para deshabilitar el incremento o decremento de la
direccin del puntero, hay que configurar el Burst Step a 0. Por ejemplo como el
McBSP no utiliza FIFO, se configura el DMA para mantener la correcta
secuencia de los datos McBSP que van a ser movidos palabra por palabra
individualmente. En consecuencia cuando se utiliza el DMA para transmitir o
recibir datos desde McBSP, es necesario configurar el Burst size a 1 palabra y
el Burst step a 0.
Esta opcin de configuracin corresponde a los bits 15-0 (SRCBURSTSTEP)
del registro SRCBURSTSTEP del procesador.
Transfer step
Esta opcin de configuracin permite establecer el nmero de palabras de 16
bits que incrementa o decrementa la direccin actual del puntero antes de la
siguiente transferencia. Valores pueden variar desde -4096 a 4095. Si se
deshabilita el incremento o decremento del puntero de direcciones, hay que
configurar el parmetro Transfer step a 0.
Esta
opcin
de
configuracin
corresponde
los
bits
15-0
P g i n a | 55
Wrap step.
Esta opcin nos permite establecer el nmero de palabras de 16 bits que
permite incrementar o decrementar el puntero de direccin SCR_BEG_ADDR
cuando se produce un evento Wrap. Valores pueden variar desde -4096 a 4095.
Esta
opcin
de
configuracin
corresponde
los
bits
15-0
3.3.6.0.8
Destino (Destination).
Begin Address.
Este parmetro permite ajustar la direccin actual del puntero de destino.
Adems los punteros apuntan a las direcciones de los mdulos DMA en el inicio
de una transferencia y devuelve el parmetro DST wrap como haya sido
configurado.
Esta opcin de configuracin corresponde a los bits 21-0 (BEGADDR) del
registro DST_BEG_ADDR del procesador.
Burst step.
Esta opcin de configuracin permite establecer el nmero de palabras de 16
bits, que se pueden incrementar o decrementar la direccin actual del puntero.
Para deshabilitar el incremento o decremento de la direccin del puntero, hay
que configurar el Burst Step a 0. Por ejemplo como el McBSP no utiliza FIFO,
se configura el DMA para mantener la correcta secuencia de los datos McBSP
que van a ser movidos palabra por palabra individualmente. En consecuencia
cuando se utiliza el DMA para transmitir o recibir datos desde McBSP, es
necesario configurar el Burst size a 1 palabra y el Burst step a 0.
Esta opcin de configuracin corresponde a los bits 15-0 (DSTBURSTSTEP)
del registro DST_BURST_STEP del procesador.
P g i n a | 56
Transfer step.
Esta opcin de configuracin permite establecer el nmero de palabras de 16
bits que incrementa o decrementa la direccin actual del puntero antes de la
siguiente transferencia. Valores pueden variar desde -4096 a 4095. Si se
deshabilita el incremento o decremento del puntero de direcciones, hay que
configurar el parmetro Transfer step a 0.
Esta
opcin
de
configuracin
corresponde
los
bits
15-0
Wrap step.
Esta opcin nos permite establecer el nmero de palabras de 16 bits que
permite incrementar o decrementar el puntero de direccin DST_BEG_ADDR
cuando se produce un evento Wrap. Valores pueden variar desde -4096 a 4095.
Esta opcin de configuracin corresponde a los bits 15-0 (WRAPSTEP) del
registro DST_WRAP_STEP del procesador.
3.3.6.0.9
Modo (Mode).
P g i n a | 57
3.3.6.0.9.3
highest priority).
Cuando esta opcin es habilitada el canal DMA nmero uno es
configurado para manejar altos ancho de banda, tales como datos provenientes
del ADC y otros canales de DMA configurados con menor prioridad. Cuando se
activan los servicios disponibles de los mdulos DMA se habilita tambin
secuencialmente el canal uno, el cual enva una seal de disparo. Cuando esta
deshabilitada la opcin del mdulo acceso directo a memoria (DMA) cada canal
es
habilitado
secuencialmente. Este
parmetro
corresponde al
bit
interrupt).
Cuando habilitamos esta opcin el canal DMA enva una interrupcin a la
CPU a travs de la PIE si el mdulo DMA recibe alguna interrupcin de un
perifrico mientras habra recibido otra interrupcin anteriormente del mismo
perifrico y esta en espera de ser atendida. Esta opcin generalmente es
utilizada para la depuracin durante el desarrollo de un proyecto.
P g i n a | 58
P g i n a | 59
3.3.7.0.0
PLL.
(2)
P g i n a | 60
Donde:
CLKIN Frecuencia con la que la CPU opera, denominado CPU clock.
OSCCLK Frecuencia del oscilador.
PLLCR Registro control PLL.
CLKINDIV Divisor de CLK.
DIVSEL Selector de divisor.
La disponibilidad de los parmetros DIVSEL o CLKINDIV cambia
dependiendo del procesador seleccionado. Si ninguno de los parmetros es
habilitado usa la siguiente ecuacin:
CLKIN = (OSCCLK * PLLCR) / 1
(3)
P g i n a | 61
P g i n a | 62
3.3.7.2
P g i n a | 63
3.3.7.3
P g i n a | 64
Fig. 3.28. Ambientes donde se puede crear cdigo con Real-Time Workshop
Como en el caso del proyecto presentado en esta tesis el cdigo
generado tiene que ser ejecutado en un DSP, el software o la tecnologa es
capaz de generar dicho cdigo para que sea ejecutado para este ambiente.
3.3.7.4
P g i n a | 65
3.3.7.4.1
Generacin de cdigo.
P g i n a | 66
3.3.7.4.3
Start Time
0.0
Stop Time
inf
Type
Fixed Step
Solver
Discrete
nos
situamos
en
las
siguientes
opciones
de
Device Type:
TI C2000
Byte Ordering:
Little Endian
P g i n a | 67
ti_c2000.tlc
P g i n a | 68
Digital en linea_activado
P g i n a | 69
P g i n a | 70
3.3.7.4.5
P g i n a | 71
Fig. 3.37. Code Composer Studio luego de que se carga el programa desde
Matlab&Simulink.
P g i n a | 72
Target Support Package permite modificar el cdigo generado por RealTime Workshop para la ejecucin en tiempo real sobre procesadores
integrados, microcontroladores y DSP. El uso del Target Support Package
entrega como principal herramienta integrar dispositivos perifricos y sistemas
operativos en tiempo real con algoritmos creados a partir de modelos realizados
en Simulink, diagramas realizados en Toolbox Stateflow y Embedded Matlab
software con la caracterstica de crear archivos .m o funciones de Matlab y
utilizarlos en modelos creados en Simulink. El cdigo ejecutable resultante se
puede implementar en hardware integrados y tarjetas de desarrollo para anlisis
en tiempo real.
P g i n a | 73
3.3.8.2
Caractersticas principales
o Apoyo para generar archivos que sean ejecutables y que incluyen cdigo
y controladores de dispositivo.
o Puede generar cdigo para GPIO, SPI, ePWM, SCI, CAN y otros.
o Posee un parmetro de ajuste y control para aplicaciones complejas en
tiempo real utilizando el modo de Simulink externo.
o Posee una biblioteca especializada de bloques para gestionar y ejecutar
la comunicacin Ethernet.
o Generacin de cdigo ensamblador optimizado e integrado, posee
bloques de procesamiento de seales y bibliotecas digitales de control
de motores.
Tiene soporte para las familias de procesadores:
o Texas Instruments C2000, C5000 y C6000.
o Analog Devices Blackfin
o Freescale MPC5xx
o Infineon C166
o STMicroelectronics ST10
Fig. 3.39. Procesadores en los que tiene soporte Target Support Package
P g i n a | 74
Fig. 3.40. Modelos de la serie c2000 en los que tiene soporte Target Support
Package.
P g i n a | 75
3.3.8.3
3.3.8.3.1
P g i n a | 76
3.3.8.3.1.1
3.3.8.3.1.2
Mdulo A.
Mdulo B.
Mdulo A B.
Modo de conversin.
Esta opcin especfica el modo de muestreo para las seales anlogas que
son aplicadas al conversor. Existen dos opciones:
Secuencial
Si se selecciona este modo de conversin y se eligen como entrada
para seales dos canales, la conversin va a ser en forma secuencial.
Simultneo
Si se selecciona este modo de conversin y se eligen como entrada
para seales dos canales o ms, la conversin va a ser en forma
simultnea sin importar si las entradas son de diferentes mdulos.
3.3.8.3.1.6
Comienzo de conversin.
Software
La seal de trigger para el comienzo de la conversin va a ser emitida
por software.
EPWMxA/ePWMxB/ePWMxA_ePWMxB
La seal de disparo para el comienzo de la conversin va a ser
controlada por el usuario a travs del PWM.
P g i n a | 77
XINT2_ADCSOC
La seal de trigger para el comienzo de la conversin va a ser controlada
por el pin XINT2_ADCSOC, cada vez que este pin recibe una seal externa
dar orden para el comienzo de la conversin del ADC.
3.3.8.3.1.7
Tiempo de muestreo.
3.3.8.3.1.8
Tipo de datos.
P g i n a | 78
3.3.8.3.1.9
3.3.8.3.2.0
Conversion no
P g i n a | 79
3.3.8.3.3
P g i n a | 80
3.3.8.3.3.1
3.3.8.3.3.2
Configuracin General
3.3.8.3.3.3
Mdulo (Module).
via).
3.3.8.3.3.6
3.3.8.3.3.8
P g i n a | 81
3.3.8.3.3.9
divider).
Esta opcin de configuracin permite establecer la velocidad en la que se
incrementar o decrementar el contador time-base (TB), y adems se encarga
de establecer el prescalamiento que va a tener la seal SYSCLKOUT.
Para calcular el TBCLK se utiliza la siguiente ecuacin:
TBCLK = SYSCLKOUT / (HSPCLKDIV * CLKDIV)
(4)
(5)
Fig. 3.48. Diagrama sub mdulo Time Base (TB), del mdulo ePWM.
P g i n a | 82
3.3.8.3.4
3.3.8.3.4.1
3.3.8.3.4.2
3.3.8.3.4.3
P g i n a | 83
3.3.8.3.5
P g i n a | 84
3.3.8.3.5.1
3.3.8.3.5.2
3.3.8.3.5.3
3.3.8.3.5.4
P g i n a | 85
3.3.8.3.5.7
P g i n a | 86
3.3.8.3.6
SCI receive
SPI Transmit
P g i n a | 87
3.3.8.3.6.3
P g i n a | 88
3.3.8.3.6.9
3.3.8.3.7.2
P g i n a | 89
3.3.8.3.8
P g i n a | 90
3.3.8.3.8.1
3.3.8.3.8.2
3.3.8.3.8.3
3.3.8.3.8.4
P g i n a | 91
3.4
para
generacin
de
cdigo
en
lenguajes
C/C++/Assembly.
o Depurador de cdigo fuente con anlisis en tiempo real.
o Variedad de simuladores preconfigurados y tarjetas para todas las
plataformas.
o Variedad de tutoriales.
o Tutoriales para comenzar con el IDE CCStudio, Code Tuning, DSP
BIOS, RTDX y emulacin en tiempo real.
o Cdigos de ejemplo y Bibliotecas.
o Soporte para TMS320C2000, TMS320C5000 (incluyendo los
procesadores
OMAP),
TMS320C6000
(incluyendo
P g i n a | 92
3.4.1 Caractersticas.
Entre las caractersticas que posee el ambiente de desarrollo de CCS se
encuentran las herramientas de trabajo que mejoran el tiempo de trabajo para
desarrollo de software y optimizan el funcionamiento para todas las aplicaciones
DSP en tiempo real.
Las herramientas ms importantes del Code Composer Studio incluyen:
o Herramientas
para
generacin
de
cdigo
DSP
TMS320:
compilador C/C++.
o Viene con Visual Proyect Manager con interfaz de control de
cdigo y soporte para multiproyectos que permite manejar sobre
100 archivos.
o Configuracin Drag and Drop CCStudio que soporta:
Drivers XDS560 de emulacin de alta velocidad.
Drivers XDS510 de emulacin.
Drivers XDS100 de emulacin.
Simuladores para todos los dispositivos, modo CPU y CPU
ms memoria.
Opciones de definicin configurable para tarjetas.
Editor Code Wright totalmente integrado.
Administrador de componentes soporta mltiples versiones
de DSP/BIOS y de herramientas de generacin de cdigo
dentro del IDE.
P g i n a | 93
P g i n a | 94
TI XDS100pp
P g i n a | 95
P g i n a | 96
P g i n a | 97
Captulo IV
Resultados: Simulaciones y prueba en
perifricos
P g i n a | 98
4.1
Introduccin
En el siguiente captulo se entregan los resultados obtenidos en las
P g i n a | 99
4.2
P g i n a | 100
Fig. 4.2. Mensaje hola mundo enviado al puerto COM virtual con el modelo en
Simulink.
Las letras S y E corresponden a los datos que indican el comienzo y el
final del dato que debe ser enviado.
Fig 4.3. Caracteres adicionales que indican el comienzo y final del dato a
transmitir.
P g i n a | 101
4.3
Fig. 4.4. Modelo en Simulink donde se utilizan los mdulos ADC y PWM
P g i n a | 102
4.4
P g i n a | 103
4.5
P g i n a | 104
P g i n a | 105
Fig. 4.12 Seal de SPICLK del mdulo SPI a travs de programacin con
Matlab/Simulink.
P g i n a | 106
Fig. 4.13. Seal de dato que sale del bloque SPI XMIT a travs de la
programacin con el modelo creado en Simulink para prueba de mdulo SPI.
Fig. 4.14. Forma de onda del dato generado por del mdulo SPI a travs de
programacin con Matlab/Simulink.
P g i n a | 107
4.6
P g i n a | 108
P g i n a | 109
Captulo V
Conclusiones
P g i n a | 110
5.1
Conclusiones.
Instrument; fue
en
el
respectivo
hardware,
observar
sus
limitaciones
potencialidades.
El objetivo principal de este trabajo era desarrollar una herramienta de
programacin a travs de Matlab/Simulink para una familia de DSP especficos,
el objetivo alcanzado fue generar cdigo para los mdulos ADC, SCI, SPI, PWM
y GPIO del sistema.
Con esto se comprob que el hardware que se dispuso para el proyecto
funciona con las herramientas presentadas. Si bien los modelos de Simulink
eran aplicaciones bsicas de los mdulos sirvi para comprobar si se poda
realizar la programacin de esta manera. Se explot el gran potencial que tiene
esta herramienta debido a que Matlab/Simulink posee una gran cantidad de
funciones en variados campos de la ingeniera desde procesamiento de seales
hasta biotecnologa. Por esto la utilizacin de Matlab/Simulink como plataforma
de programacin es una excelente eleccin para desarrollar aplicaciones que
resulten complejas de realizar a travs de programacin convencional de un
lenguaje de ms bajo nivel.
Como trabajo futuro se tiene como objetivo programar la memoria Flash y
la totalidad de los mdulos o perifricos del DSP, crear modelos para una
aplicacin en particular como por ejemplo control de motores, procesamiento de
imgenes, creacin de interfaz bsica, etc. El principal objetivo futuro es
desarrollar esta herramienta para su utilizacin en el entendimiento del
funcionamiento del DSP.
P g i n a | 111
5.2
Referencias.
[1]
[2]
[3]
[4]
[5]
The Mathworks Inc. Embedded IDE Link For Use with Texas
Instruments Code Composer Studio (Versin 4.2), recuperado
septiembre 2010, The Mathworks Inc.
[6]
[7]
[8]
P g i n a | 112
5.3
ANEXO.
Hyperterminal Private Edition (Hyperterminal virtual para Win vista y Win 7).
http://download.cnet.com/HyperTerminal-Private-Edition/3000-2155_4-10966768.html