scieee Science in your language
[es] (orig)

Desarrollo de un sistema hardware de control basado en tecnologías embebidas para aplicaciones de convertidores electrónicos de potencia.

Read accessible full text

Desarrollo de un sistema hardware de control basado en tecnologías embebidas para aplicaciones de convertidores electrónicos de potencia.

Author: Muñoz-Quijada, María
Year: 2015
Source: https://idus.us.es/bitstreams/f3e3f70f-5441-4f18-b0f7-e3815e5efbf7/download
1
Equa ion Chap e 1 Sec ion 1
P oyec o Fin de G ado
G ado en Ingenie ía en Tecnologías Indus iales
Desa ollo de un sis ema ha dwa e de con ol basado
en ecnologías embebidas pa a aplicaciones de
con e ido es elec ónicos de po encia.
Au o : Ma ía Muñoz Quijada
Tu o : Se gio Vázquez Pé ez
Depa amen o de Ingenie ía Elec ónica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2015
2
P oyec o Fin de G ado
G ado en Ingenie ía en Tecnologías Indus iales
Desa ollo de un sis ema ha dwa e de con ol
basado en ecnologías embebidas pa a aplicaciones
de con e ido es elec ónicos de po encia.
Au o :
Ma ía Muñoz Quijada
Tu o :
Se gio Vázquez Pé ez
P o eso con a ado
Depa amen o de Ingenie ía Elec ónica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2015
4
5
Ag adecimien os
En p ime luga , me gus a ía ag adece a mi amilia y amigos el apoyo y dedicación mos ados du an e
odos es os años de es udios, de aleg ias y desilusiones, sac i icios y ecompensas. Nada de es o hubie a
sido posible sin su ayuda.
También me gus a ía ag adece a los in eg an es del depa amen o de elec ónica po la acogida en su zona
de abajo du an e el p oceso de elabo acion de es e p oyec o, en especial a mi u o , Se gio Vazquez Pé ez,
y a Ab aham Má quez Alcaide, po la paciencia mos ada y la ayuda p opo cionada, que sin duda ha sido
cla e pa a el desa ollo del p oyec o.
Po úl imo, quie o da las g acias a mis p o eso es po odo lo que he podido ap ende du an e es os años
g acias a sus explicaciones.

6
Índice Gene al
Ag adecimien os 5
Lis a de símbolos y aco aciones 9
Lis a de ilus aciones y ablas 11
1 In oducción 15
2 Familia ización del en o no y componen es u ilizados 17
2.1 Disposi i o 18
2.1.1 Ca ac e ís icas 18
2.1.2 Wo kshop 22
2.2 Equipos auxilia es 29
2.3 P og amas u ilizados 31
3 Con igu ación del disposi i o 35
3.1 Módulo PWM 35
3.2 ADC 39
3.3 Comunicaciones 41
3.3.1 UART 41
3.3.2 SCI 45
4 P oblemas encon ados 51
4.1 Accesibilidad de los pines GPIO 51
4.2 Inse ción del código an iguo. 52
4.3 A chi os CMD 54
4.4 Comunicaciones 55
5 Conclusiones y Resul ados 59
6 Acciones u u as 65
7 Bibliog a ía 67
8
Lis a de símbolos y aco aciones
ACIB: Analog common in e ace bus.
ADC: Analog o digi al Con e e .
CAN: Con olle A ea Ne wo ks.
CCS: Code Compose S udio.
CPU: Cen al P ocessing Uni
CRC: Comp obación de edundancia cíclica.
DAC: Digi al o Analog Con e e .
DIMM: Dual in-line memo y module.
DSP: Digi al Signal P ocesso .
ePWM: enhanced pulse wid h modula ion.
FIFO: Fi s inpu i s ou pu .
FPU: Floa ing-Poin Uni .
GPIO: Gene al pu pose inpu ou pu .
I2C: In e -In eg a ed ci cui .
IGBT: Insula ed Ga e Bipola T ansis o .
ISO: O ganización in e nacional de
no malización.
JTAG: Join es ac ion g oup.
LED: Ligh -emi ing diode.
LSB: Leas signi ican bi
McBSP: Mul ichannel Bu e ed se ial po .
MCU: Mic ocon olado .
MSB: Mos signi ican bi .
NRZ: Non- e u n o ze o.
PCB: P in ed Ci cui Boa d
PWM: Pulse wid h modula ion.
RAM: Random access memo y.
RS232: Recommended s anda d 232.
SAR: Successi e app oxima ion egis e .
SCI: Se ial communica ion in e ace.
SOC: S a o Con e sion.
SPI: Se ial Pe iphe al In e ace.
UART: Uni e sal asynch onous ecei e -
ansmi e .
USB: Uni e sal Se ial Bus.
16

2 FAMILIARIZACIÓN DEL ENTORNO Y
COMPONENTES UTILIZADOS
Un sis ema embebido es un disposi i o elec ónico con capacidad de p ocesamien o (incluye una CPU) y
conexión en ed que es capaz de in e ac ua con sis emas simila es.
Es os son u ilizados en aplicaciones indus iales, ya sea, en sis emas au omó iles, en el con ol de ene gías
eno ables o pa a comunicaciones de ed.
La a qui ec u a de es os sis emas se pod ía esumi en la de un sis ema mic op ocesado (MCU), el cual
es á compues o po un Maes o, que es capaz de ejecu a ins ucciones y p og amas y maneja da os, unos
buses de ansmisión de da os y o denes y una se ie de escla os o pe i é icos que se comunican con el
maes o y lo complemen an a la ho a de ealiza a eas.
Ilus ación 1: A qui ec u a.
A la ho a de abaja con sis emas embebidos, es impo an e ene un conocimien o gene al del
uncionamien o del sis ema (pe i é icos que dispone, con igu ación de los mismos, conexiones...) a a és
del da a shee que p opo ciona el ab ican e, y pos e io men e p o undiza en el conocimien o de aquellos
pe i é icos que se necesi an u iliza pa a ob ene el uncionamien o deseado del sis ema. Es necesa io
ambién sabe maneja dis in os p og amas in o má icos, como compilado es, máquinas i uales o
sis emas de p og amación g a ica, que pe mi en con igu a el disposi i o según se equie a, o isualiza los
da os que el sis ema p opo ciona median e un o denado .
18
En el siguien e apa ado se explica an las ca ac e ís icas del DSP elegido y las he amien as que se
u iliza on pa a acili a el ap endizaje del uso del mismo.
Además se expond án los dis in os equipos de labo a o io y ma e iales auxilia es que ue on u ilizados pa a
ealiza las p uebas necesa ias pa a comp oba el uncionamien o del sis ema, así como una se ie de
so wa e que ue on ú iles pa a desa olla el p oyec o.
2.1 Disposi i o
Como se comen ó al inicio del documen o, el disposi i o que se á obje o de es e p oyec o es el DSP
F28M35H52C, cuyo nomb e come cial es Conce o, pe enecien e a la gama C2000 de Texas Ins umen s.
A con inuación se exponen las ca ac e ís icas de es e sis ema y una de las he amien as que o ece Texas
Ins umen s pa a ap ende a u iliza el DSP.
2.1.1 Ca ac e ís icas
Con el DSP Conce o, Texas Ins umen s o ece una solución pa a auna endimien o, sencillez y p ecio,
ya que en un mismo disposi i o se encuen an dos subsis emas independien es que son capaces de
comunica se en e sí, con lo que se e i a di icul ad en el so wa e y el comp omiso en e ca ac e ís icas y
uncionamien o que supond ía el uso de un solo MCU, y po o o lado, la complejidad, el al o p ecio y el
ele ado iempo de espues a que supond ía el uso de dos MCU.
Ilus ación 2: Conce o MCU solucion.
El disposi i o cuen a con un subsis ema maes o M3 (ARM Co ex) pa a p opósi o gene al y
comunicaciones, las cuales puede ealiza a a és de los dis in os pue os que eúne (E he ne , USB, CAN,
pue os se ie…).
Ilus ación 3: Es uc u a del subsis ema maes o M3.
Po o a pa e, el subsis ema de con ol (TMS320C28x) pe mi e una al a elocidad g acias a la FPU que
inco po a. Además cuen a con 9 módulos PWM lo que esul a bas an e ú il pa a aplicaciones de elec ónica
de po encia. Al igual que el subsis ema maes o, es capaz de ealiza a eas de comunicación a a és de los
pue os se ie (SPI, SCI).
Ilus ación 4: A qui ec u a del subsis ema C28.
20
Una de las azones po las que se elige es e disposi i o es el subsis ema analógico que o ece, el cual es
ex e no y accesible po ambos núcleos median e el ACIB (Analog common in e ace bus) y cuen a con 2
módulos ADC de 12 bi s y 6 compa ado es con 6 DAC de 10 bi s in e nos.
Ilus ación 5: Diag ama de bloques del subsis ema analógico.
Adicionalmen e, el disposi i o cuen a con 64 pines GPIO que uncionan a 3’3V.
A con inuación, se p esen a una abla con las ca ac e ís icas especí icas del DSP y una imagen de las
conexiones in e nas que encon amos en e los es subsis emas que lo componen.
Tabla 1: Ca ac e ís icas especi icas del DSP Conce o.
21
Ilus ación 6: Conexión en e los dis in os subsis emas.
Pa a abaja con el disposi i o se u iliza el Expe imen e ’s ki , que incluye una placa (con olCARD) con
el DSP in eg ado, además de di e en es pue os de conexión y una docks a ion, en la que se conec a es a
placa y que pe mi e un acceso sencillo a los pines de la placa.
Incluye un pue o JTAG que pe mi e una ácil con igu ación del disposi i o con Code Compose S udio,
cuya licencia se o ece.
Ilus ación 7: Docks a ion y Con olCa d.
No obs an e, algunos de los pines GPIO del DSP no son di ec amen e accesibles desde la docks a ion, ya
que la conexión de es os pines desde el MCU al DIMM de la con olCARD no es di ec a, po lo que hab á
que usa jumpe s como se e á más adelan e.

22
2.1.2 Wo kshop
An es de empeza a p og ama el sis ema, es de u ilidad conoce la con igu ación básica de los dis in os
pe i é icos que nos o ece el disposi i o.
Con es e in, Texas Ins umen s o ece una he amien a que incluye una se ie de ejemplos básicos pa a el
manejo del DSP: el Wo kshop.
T as la desca ga e ins alación, se pod á encon a una ca pe a que con iene lib e ías pa a el disposi i o,
documen os de in o mación écnica an o ha dwa e como so wa e, y un manual donde se explica paso a
paso una se ie de ejemplos que se comen a an a con inuación.
Inicialmen e se explica cómo u iliza CCS pa a c ea un nue o p oyec o, gene a la con igu ación de la
a je a que pe mi e deci le al p og ama como conec a se con el disposi i o y mos a las he amien as del
en o no.
Una ez que se enga el código que se quie a co e , se conec a la a je a y se p og ama la lash del
subsis ema M3 pulsando el bo ón “debug”. Una ez hecho es o, el subsis ema C28 apa ece desconec ado,
po lo que hab á que pulsa en él con el bo ón de echo del a ón y clica en Conec a , conec andose así es e
sis ema.
Ilus ación 8: Conexión del subsis ema C28.
Pa a ca ga el código del subsis ema C28, se pulsa á el bo ón “load” con el subsis ema C28 ma cado y
pos e io men e “load p og amm” eligiendo el a chi o .ou que se quie a co e .
Después hab á que ealiza la secuencia de a anque:
 Rese ea C28
 Rese ea M3
 Run C28
 Run M3
Pa a odos los eje cicios que se explican a con inuación, se end á seleccionado el modo BOOT como
a anque desde la Flash del M3. Pa a ello, el swi ch SW1 end á que ene odos sus in e up o es hacia
abajo.
Ilus ación 9: El swi ch SW1 pe manece con odos sus in e up o es hacia abajo
Aho a se e á cada uno de los ejemplos que con iene el Wo kshop.
 En el labo a o io 1 se expone un ejemplo sencillo en el que ambos núcleos abajan de o ma
independien e, haciendo pa padea el subsis ema M3 el led LD3 y el C28 el led LD2.
P ime o se c ea un nue o p oyec o pa a el subsis ema más e y se selecciona el disposi i o, en
es e caso, la amilia ARM, eligiendo el disposi i o F28M35H52C1.
Una ez hecho es o, hab á que añadi los a chi os uen e del p oyec o, haciendo clic de echo
en la ca pe a del p oyec o que apa ece en el explo ado y pulsando “Add iles”.
Pa a es e ejemplo se añaden los siguien es a chi os que se encuen an en la ca pe a “de ice
suppo ”:
S a up_CCS.c, pa a las in e upciones, F28M35H52C1_m3.cmd, pa a localiza las a iables
den o de la memo ia ísica y d i e lib.lib, pa a la inicialización del núcleo y los pe i é icos.
Después se añaden las lib e ías necesa ias, con clic de echo en la ca pe a del p oyec o y
seleccionando p opiedades. En es e caso, debe á inclui se
PROJECT_ROOT/../../../De ice_suppo /MWARE.
El M3 end á que inicializa el eloj del sis ema, con igu ando el egis o
“SysC lClockCon igSe ”, habili a las in e upciones con la unción “In Mas e Enable” y
con igu a el pin GPIO_ C7 (co esponde al GPIO 71 en el subsis ema C28) como ou pu , a
a és del egis o “GPIOPinTypeGPIOOu pu ”, pa a pos e io men e encende lo o apaga lo en
un bucle in ini o con “GPIOPinW i e”
1
.
Inicialmen e, el subsis ema maes o iene el con ol de los pines GPIO, po lo que pa a usa los
en el C28 se end á que cede el con ol de es os desde el M3, usando la unción
“IPCM oCBoo Sys em” y dando el con ol del pin en cues ión median e
“GPIOPinCon igu eCo eSelec ”.
1
Todas las unciones usadas po el M3 se pueden encon a en el a chi o DRL_UG den o de la ca pe a Pd del Wo kshop.
24
Se segui an los mismos pasos pa a c ea el p oyec o del C28, es a ez seleccionando la amilia
C2000 y añadiendo los a chi os F28M35x_CodeS a B anch.asm, F28M35x_SysC l.c,
F28M35x_GlobalVa iableDe s.c,F28M35x_Heade s_nonBIOS.cmd,
F28M35H52C1_c28.cmd y las lib e ías heade s y common.
El main end á que inicializa el sis ema del C28 con “Ini SysC l” (se encuen a en el a chi o
SysC l), con igu a el pin GPIO_70 como ou pu , poniendo el egis o
“GpioG1C lRegs.GPCDIR.bi .GPIO70” a ni el al o y apaga y encende el led modi icando
el egis o GPCDAT
2
.
Realizando la secuencia de a anque explicada an e io men e, se puede obse a como el led
LD2 pa padea con olado po el C28 y el led LD3 po el M3.
 En el labo a o io 2 se p e ende ealiza la misma unción que en el labo a o io 1 con el M3
pe o es a ez u ilizando una in e upción pa a hace pa padea el led.
Pa a ello se pa i á de una copia del p oyec o an e io y se modi ica á el main del mismo.
Con espec o al código an e io , se añade la de inición de la in e upción que se enca ga a de
encende y apaga el led y que se ac i a con el ime 0, el cual se con igu a pa a que cuen e
75000000/2 ciclos de en ada de eloj de 13’33 nanosegundos y la in e upción sal e cada 500
ms.
Así, se habili a á el ime con la unción “SysC lPe iphe alEnable
(SYSCTL_PERIPH_TIMER0)” y con ime con igu e y ime loadse se con igu a á como
ime pe iódico de 32 bi .
Pos e io men e, se habili a la in e upción y el ime con las unciones “In Enable”,
“Time In Enable”, “In Regis e ” y “Time Enable”.
Como consecuencia de es a con igu ación, el p og ama sal a a cada 500ms apagando y
encendiendo el led, el cual es á con olado únicamen e po el subsis ema maes o.
 Al igual que en el labo a o io 2, en el labo a o io 3 se con igu a el subsis ema de con ol pa a
que ealice median e una in e upción el pa padeo del led LD2.
Como an es, se ha á una copia de la pa e del C28 del labo a o io 1 y se añadi án las uen es
necesa ias pa a que la modi icación del código p incipal sea uncional.
En es e caso, se end á que añadi los a chi os F28M35_CpuTime s.c, F28M35_De aul Is .c,
F28M35_PieC l.c y F28M35_PieVec .c, necesa ios pa a maneja la in e upción.
An es del main, se decla a la unción de la in e upción pa a el ime 0.
Después, se inician los ec o es de in e upción PIE con las unciones “Ini PieC l” y
Ini PieVec Table” con unciones po de ec o, y se asigna a la en ada del ime 0 la unción de
la u ina de in e upción (en es e caso, la u ina iene po nomb e cpu_ ime 0_is ) que se c eó
an es con la siguien e línea:
PieVec Table.TINT0=&cpu_ ime 0_is
Pos e io men e, se inicializa el ime 0 con un pe iodo de 0.125 segundos y se habili a la
in e upción, usando las unciones “Ini CpuTime ” y “Con igCpuTime s” y
“PieC lRegs.PIEIER1.bi .INTx7=1”, “IER|=1”, “EINT” y "ERTM” espec i amen e.
An es del bucle in ini o, se a anca el empo izado 0 median e
“CpuTime 0Regs.TCR.bi .TSS=0”.
Finalmen e, ue a del main, se añade la u ina de la in e upción.
Pa a co e el código, se ha de segui la secuencia de a anque, u ilizando una copia del
labo a o io 2 modi icada pa a da con ol al subsis ema C28 desde el M3, consiguiendo así
que el M3 enga el led LD3 pa padeando y el C28 el led LD2, ambos usando una in e upción.
2
Todas las unciones usadas po el C28 se pueden encon a en el manual écnico del disposi i o
 En el labo a o io 4 se in oduce el subsis ema analógico y los módulos PWM.
La onda gene ada po el PWM se á una simé ica de 2KHz con un du y del 50%, la cual se á
cap u ada pos e io men e po el con e ido ADC cuya con igu ación se e á en la segunda
pa e del labo a o io 4.
Se pa i á pues, de una copia del p oyec o C28 del labo a o io 3, y se añadi an las uen es
necesa ias pa a pode con igu a el modulo PWM.
Inicialmen e, se habili a el GPIO0 pa a que uncione como ePWM1A, modi icando el egis o
“GPAMUX1”.
Después, se con igu a el ePWM1A pa a que ope e con una ecuencia de 2KHz usando el
egis o “TBPRD”. Pa a ello, hay que ene en cuen a que:
TBPRD=
Donde, cpu es la ecuencia de la cpu, pwm es la ecuencia del PWM (2 KHz), CLKDIV es
pa e de la p e escala del eloj de base (TBCLK) y se asigna p e iamen e median e
“EPwm1Regs.TBCLT.bi .CLKDIV”, y HSPCLKDIV es la o a pa e de la p e escala del eloj
base y se asigna p e iamen e median e “EPwm1Regs.TBCLT.bi .HSPCLKDIV”.
Además, pa a que la onda sea simé ica, hab á que con igu a el egis o CTRMODE en el
modo up-down y se con igu a an las acciones a ealiza cuando la onda alcance al pe iodo, o
al ce o, con los egis os “PRD” y “ZRO”, ya sea o zando el PWM a ni el al o o bajo.
U ilizando una copia del p oyec o M3 del labo a o io 3, modi icada pa a da el con ol del
GPIO0 al C28 como se io en el labo a o io 1, y ealizando la secuencia de a anque, se end á
el código uncionando, de al mane a que, si conec amos un osciloscopio al GPIO0, se pod á
obse a la siguien e onda:
Ilus ación 10: Onda PWM ob enida con osciloscopio.
32
Ilus ación 21: Visualización Lab iew.
El panel on al es la in e az g a ica con el usua io. Es á o mado po una se ie de bo ones, con oles e
indicado es que el usua io de ine y ecoge las en adas in oducidas po el usua io, mos ando las salidas
co espondien es gene adas po el p og ama.
Po o a pa e, la pan alla de diag ama de bloques es aquella en la cual se ealiza la implemen ación del
p og ama pa a con ola y p ocesa las en adas y salidas c eadas en el panel on al.
Ya que la p og amación es isual, es a consis i á en la unión de di e en es bloques de unciones
p opo cionados po las lib e ías de Lab iew y ajus a los con los pa áme os que se equie an.
En es e p oyec o, se u iliza Lab iew pa a la ob ención y isualización de las medidas que p opo ciona el
sis ema eal a a és del DSP, además de la comp obación del uncionamien o adecuado del mismo.
Pa a ello, como se e á en apa ados p óximos, se pa e de un código en Lab iew especí ico pa a el
con e ido de po encia que se es a a ando, po lo que a p io i, no se end á que p og ama en Lab iew.
A la ho a de ealiza la con igu ación de la UART o el SCI del DSP pa a las comunicaciones en e es e y el
o denado , se u ilizó el p og ama Te aTem, una maquina i ual de uso más simple y con menos
uncionalidad que Lab iew, con obje o de simpli ica la comp obación de las con igu aciones ealizadas en
la ealización de ejemplos de comunicación sencillos pa a ap ende a maneja los dis in os egis os
dedicados a la ansmisión/ ecepción de da os.
A di e encia de Lab iew, Te aTe m no pe mi e la p og amación de un código de o ma isual,
simplemen e mues a lo que se ecibe del MCU y pe mi e el en ío desde el o denado , lo que es su icien e
pa a abaja con los ejemplos más sencillos de comunicación.

Ilus ación 22: Visualización Te aTe m.
El uso del p og ama es bas an e simple.
Den o de la pes aña se up, en la opción Se ial po , se pueden con igu a las ca ac e ís icas del pue o al
que el usua io se quie e conec a (nume o del pue o, elocidad de ansmisión, nume o de da os ecibidos,
pa idad…).
Así mismo, en la opción e minal, el usua io puede con igu a la isualización del e minal, además de
pe mi i el en ío de ca ac e es median e la pes aña local echo (eco local).
El uso de ambos p og amas se e á e lejado en el apa ado de comunicaciones, donde se e á los dis in os
ejemplos ealizados y la con igu ación inal de las mismas pa a el sis ema.
34
35
3 CONFIGURACIÓN DEL DISPOSITIVO
Has a aho a se ha is o los pasos p e ios pa a ap ende a maneja el disposi i o, así como, las he amien as
y equipos que se han u ilizado o an a u iliza pa a la con igu ación del mismo.
El obje i o p incipal de es e p oyec o consis e en la adap ación del código u ilizado pa a con ola y
ges iona el disposi i o de po encia que se quie e con ola con el DSP an e io (Del ino) pa a el nue o
DSP (Conce o).
No obs an e, en los p ime os apa ados de es e capí ulo, se pa i á de uno de los códigos de los labo a o ios
que se explica on en el capi ulo an e io , y pos e io men e en el apa ado de comunicaciones, se
in oduci án los a chi os uen es, lib e ías y código pe enecien es al an e io p oyec o y que siguen siendo
de u ilidad pa a es e.
En es e capí ulo, se p e ende explica la con igu ación del DSP ealizada pa a que el sis ema eal uncione
co ec amen e.
3.1 Módulo PWM
El PWM es una he amien a esencial pa a el con ol de mucho de los disposi i os de elec ónica de
po encia que se encuen an en equipos indus iales y come ciales.
El ePWM u ilizado en es e disposi i o desempeña la unción de un DAC, donde el du y cycle es
equi alen e al alo analógico que p opo ciona el DAC.
El disposi i o cuen a con 9 módulos PWM, los cuales ep esen an un canal comple o PWM compues o de
dos salidas: EPWMxA y EPWMxB.
Ilus ación 23: Modulo ePWM.
36
Los módulos an sinc onizados median e la señal de eloj del sis ema ( SYSCLKOUT) escalada y es án
compues os cada uno po un con ado de 16 bi con con ol de pe iodo y ecuencia. Son capaces de lanza
consignas de compa ación y pe mi en que se ue cen los es ados lógicos de sus salidas (al o, bajo, al a
impedancia) y lanza in e upciones de la CPU y/o ADC SOC’s.
Pa a el con ol de los dispa os de los IGBT’s y al se el sis ema i ásico, se end án 3 módulos PWM, uno
po cada ase (R, S, T) y un modulo PWM adicional pa a el choppe .
Las ondas de es os módulos se án simé icas (Up-Down) con una ecuencia en p incipio de 5-10 KHz, las
cuales gene a an una onda cuad ada con un du y de e minado según la consigna de compa ación que eciba
cada modulo. Es a consigna es la misma pa a los es p ime os módulos pe o des asada en e ellos en 120
g ados. Si la onda gene ada es á po encima de dicha consigna, la onda cuad ada del PWM pe manece a
ni el bajo. Po el con a io, si dicha onda se encuen a po debajo de la consigna, la onda cuad ada
cambia a a ni el al o.
Ilus ación 24: Onda PWM.
Una ez que se sabe cómo ha de se la onda, se pasa á a la con igu ación de los módulos.
Inicialmen e, hab á que con igu a los pines GPIO pa a que uncionen como PWM. En es e caso, el pin
GPIO0 co esponde á a la salida EPWM1A, el GPIO2 al EPWM2A, el GPIO4 al EPWM3A y el GPIO6
4
al EPWM4A, co espondiendo espec i amen e a las salidas R, S, T y CH del disposi i o de po encia.
Pa a ello, den o del main del subsis ema M3 se da á con ol al c28 de los pines 0, 2, 4 y 6, p ime o
habili ando el pue o GPIOA y pos e io men e, dando el con ol de los sucesi os pines:
SysC lPe iphe alEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinCon igu eCo eSelec (GPIO_PORTA_BASE, GPIO_PIN_0, GPIO_PIN_C_CORE_SELECT);
GPIOPinCon igu eCo eSelec (GPIO_PORTA_BASE, GPIO_PIN_2, GPIO_PIN_C_CORE_SELECT);
GPIOPinCon igu eCo eSelec (GPIO_PORTA_BASE, GPIO_PIN_4, GPIO_PIN_C_CORE_SELECT);
GPIOPinCon igu eCo eSelec (GPIO_PORTA_BASE, GPIO_PIN_6, GPIO_PIN_C_CORE_SELECT);
4
El GPIO6 no es á di ec amen e conec ado al DIMM de la placa (con olCARD), po lo que pa a ene acceso a él a a és del
docks a ion end emos que conec a un jumpe en e los pines J13 pin 3( ila B) y J17 pin 3( ila A) de la a je a.
En el código del C28, se con igu a an es os pines como salidas PWM:
GpioC lRegs.GPAMUX1.bi .GPIO0 = 1; // GPIO0 = ePWM1A R
GpioC lRegs.GPAMUX1.bi .GPIO2 = 1; // GPIO2 = ePWM2A S
GpioC lRegs.GPAMUX1.bi .GPIO4 = 1; // GPIO4 = ePWM3A T
GpioC lRegs.GPAMUX1.bi .GPIO6 = 1; // GPIO6 = ePWM4A CH
Después se con igu a cada modulo PWM:
 Modulo 1:
En el modulo 1 se con igu a el egis o ase pa a que la onda comience en 0 y no se ca ga el
egis o del con ado con el egis o de ase, de al o ma que a pa i de la onda del modulo
uno se gene a an las o as es.
EPwm1Regs.TBPHS.hal .TBPHS = 0;
EPwm1Regs.TBCTL.bi .PHSEN = TB_DISABLE;
Pos e io men e se pone a ce o el con ado y se ac i a el egis o somb a.
El egis o somb a gua da el nue o alo de la consigna de compa ación y lo ca ga una ez
que la onda PWM ha e minado el ciclo.
EPwm1Regs.TBCTR = 0x0000;// Clea coun e
EPwm1Regs.TBCTL.bi .PRDLD = TB_SHADOW;
Se sinc oniza la señal de salida cuando el con ado es e a ce o y se ajus a la onda PWM pa a
que cuando alcance la consigna de compa ación se ponga a ni el bajo y ice e sa.
EPwm1Regs.TBCTL.bi .SYNCOSEL = TB_CTR_ZERO; // b_c =0
EPwm1Regs.AQCTLA.bi .CAU = AQ_CLEAR; //cuando alcanza CMPA se pone a
BAJO(inc emen ado)
EPwm1Regs.AQCTLA.bi .CAD = AQ_SET;//cuando alcanza CMPA se pone a ALTO el
pwm(dec emen ando)
La onda simé ica (up-down) es a á con igu ada con una ecuencia de 10KHz median e el
egis o TBPRD, ajus ando las escalas de iempo (CLKDIV y HSPCLKDIV) a 1, y se
con igu a á el egis o somb a pa a que gua de el alo de la consigna de compa ación
(CMPA) y lo ca gue en ce o y al inaliza el pe iodo del PWM, pa a que se p oduzca la
con e sión del ADC en esos dos ins an es.
EPwm1Regs.TBCTL.bi .CLKDIV = 0; // CLKDIV = “di by 1”;
EPwm1Regs.TBCTL.bi .HSPCLKDIV = 0; // HSPCLKDIV = “di by 1”
EPwm1Regs.TBCTL.bi .CTRMODE = 2; // coun mode = up-down mode
EPwm1Regs.CMPCTL.bi .SHDWAMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bi .LOADAMODE = CC_CTR_ZERO_PRD; // load on CTR=Ze o y
CTR=P d
EPwm1Regs.TBPRD = PERIOD;

38
El módulo uno es el que se enca ga de habili a la in e upción SOC, que lanza la con e sión
en ce o y cuando se alcanza el pe iodo del PWM, pa a ello se modi ica án los egis os
ETSEL y ETPS:
EPwm1Regs.ETSEL.bi .SOCAEN = 1;//enable Soc en A
EPwm1Regs.ETSEL.bi .SOCASEL = 0x3; // se gene a el pulso en ce o y p d.
EPwm1Regs.ETSEL.bi .SOCASELCMP = 0x0;//CMPA
EPwm1Regs.ETPS.bi .SOCAPRD = 1; //gene a pulso en el p ime e en o
 Los o os 3 módulos se con igu an de igual o ma, cambiando su egis o espec i o, Epwm2
pa a el 2, Epwm3 pa a el 3 y Epwm4 pa a el 4.
Po úl imo, se asignan las consignas de compa ación ob enidas a cada módulo den o de la u ina del ADC:
EPwm1Regs.CMPA.hal .CMPA = e .pwm. ;
EPwm2Regs.CMPA.hal .CMPA = e .pwm.s;
EPwm3Regs.CMPA.hal .CMPA = e .pwm. ;
EPwm4Regs.CMPA.hal .CMPA = e .pwm.chp;
Una ez hecho es o, conec ando un osciloscopio a los pines 0, 2, 4 y 6 el usua io pod á obse a las ondas
PWM gene adas que ha con igu ado.
3.2 ADC
El con e ido analógico-digi al (ADC) pe mi e la con e sión de señales analógicas, en es e caso las
ensiones e in ensidades que se gene an en el disposi i o de po encia, en señales digi ales, pa a que puedan
se a adas ácilmen e po el DSP.
El modulo ADC del disposi i o cons a de 16 canales
5
con una esolución de 12 bi , y su es uc u a es pa e
egis o de ap oximaciones sucesi as (SAR) pa e pipeline.
Es á compues o po una pa e analógica que con iene ci cui os mul iplexado es(MUX), ci cui os de sample
and hold(S/H), ci cui os egulado es de ol aje, un ci cui o de con e sión y o os ci cui os de apoyo, y una
pa e digi al o mada po con e so es p og amables, egis os de esul ados y el bus de comunicaciones
ACIB.
Ilus ación 25: Modulo ADC.
Pa a el sis ema, se u iliza an los canales del 1 al 7 del pue o A del ADC1
6
pa a que la con e sión de odos
los canales comience con la señal de igge que gene a el modulo PWM1 con igu ado en el apa ado
an e io .
Pa a ello, inicialmen e se c ea á una in e upción del ADC y se con igu a á el eloj del sis ema al y como
se io en el labo a o io 4 del apa ado 2.1.2 de es e documen o.
Es a in e upción ac ualiza á los alo es de la consigna de compa ación de los PWM, ajus ando así los
dispa os de los IGBT´s.
Pos e io men e, se con igu a an los egis os del ADC pa a la con e sión de los canales.
5
De es os canales solo 10 son accesibles en es e disposi i o.
6
Con espec o a la docks a ion.
40
Así, se modi ica á el egis o ADC1 pa a que las con e siones no se solapen, haciendo que la in e upción
del ADC sal e una ez que se haya ob enido un esul ado de con e sión y que la señal que ac i e es a
in e upción sea EOC0.
Adc1Regs.ADCCTL2.bi .ADCNONOVERLAP = 1; // Enable non-o e lap mode
Adc1Regs.ADCCTL1.bi .INTPULSEPOS = 1; // ADCINT1 ips a e AdcResul s la ch
Adc1Regs.INTSEL1N2.bi .INT1SEL = 0; // se up EOC0 o igge ADCINT1 o i e
Después, el usua io elegi á que SOC se enca ga de con e i cada canal. Así, el SOC0 se enca ga a de la
con e sión del canal de en ada A1, el SOC1 del A2 y así sucesi amen e
7
.
Adc1Regs.ADCSOC0CTL.bi .CHSEL = 8; //B0/A1/I
Adc1Regs.ADCSOC1CTL.bi .CHSEL = 2;//A2/A2/ Is
Adc1Regs.ADCSOC2CTL.bi .CHSEL = 3;//A3/A3/I
Adc1Regs.ADCSOC3CTL.bi .CHSEL = 4;//A4/A4/Vdc
Adc1Regs.ADCSOC4CTL.bi .CHSEL = 0xC;//B4/A5/V
Adc1Regs.ADCSOC5CTL.bi .CHSEL = 6;//A6/A6/Vs
Adc1Regs.ADCSOC6CTL.bi .CHSEL = 7;//A7/A7/V
Pa a indica que la señal que lanza la con e sión sea el PWM1 con el SOCA, se modi ica el egis o
TRIG1SEL pa a que se sinc onice con la señal PWM:
AnalogSysc lRegs.TRIG1SEL.all = 5;
Y pos e io men e, se hace que es a señal sea la que ac i e cada uno de los canales SOC an es
seleccionados.
Adc1Regs.ADCSOC0CTL.bi .TRIGSEL = 5; // Se SOC0 s a igge o
// ADC T igge 1 o he ADC
Adc1Regs.ADCSOC1CTL.bi .TRIGSEL = 5; // Se SOC1 s a igge o
// ADC T igge 1 o he ADC
Adc1Regs.ADCSOC2CTL.bi .TRIGSEL = 5; // Se SOC2 s a igge o
// ADC T igge 1 o he ADC
Adc1Regs.ADCSOC3CTL.bi .TRIGSEL = 5; // Se SOC3 s a igge o
// ADC T igge 1 o he ADC
Adc1Regs.ADCSOC4CTL.bi .TRIGSEL = 5; // Se SOC4 s a igge o
// ADC T igge 1 o he ADC
Adc1Regs.ADCSOC5CTL.bi .TRIGSEL = 5; // Se SOC5 s a igge o
// ADC T igge 1 o he ADC
Adc1Regs.ADCSOC6CTL.bi .TRIGSEL = 5; // Se SOC6 s a igge o
// ADC T igge 1 o he ADC
7
El alo del egis o depende á de la conexión in e na en e la docks a ion y la con olCARD. Po ejemplo, el pin A1 de la docks a ion
co esponde al canal ADC1_B0 de la con olCARD.
Po úl imo, se indica du an e cuan os ciclos se quie e que pe manezca el da o de con e sión median e
el egis o ACQPS. El alo esc i o en es e egis o es uno menos del núme o de ciclos deseados.
Adc1Regs.ADCSOC0CTL.bi .ACQPS = 6; // se SOC0 S/H Window o 7 ADC
// Clock Cycles, (6 ACQPS + 1)
Adc1Regs.ADCSOC1CTL.bi .ACQPS = 6; // se SOC1 S/H Window o 7 ADC
// Clock Cycles, (6 ACQPS + 1)
Adc1Regs.ADCSOC2CTL.bi .ACQPS = 6; // se SOC2 S/H Window o 7 ADC
// Clock Cycles, (6 ACQPS + 1)
Adc1Regs.ADCSOC3CTL.bi .ACQPS = 6; // se SOC3 S/H Window o 7 ADC
// Clock Cycles, (6 ACQPS + 1)
Adc1Regs.ADCSOC4CTL.bi .ACQPS = 6; // se SOC4 S/H Window o 7 ADC
// Clock Cycles, (6 ACQPS + 1)
Adc1Regs.ADCSOC5CTL.bi .ACQPS = 6; // se SOC5 S/H Window o 7 ADC
// Clock Cycles, (6 ACQPS + 1)
Adc1Regs.ADCSOC6CTL.bi .ACQPS = 6; // se SOC6 S/H Window o 7 ADC
// Clock Cycles, (6 ACQPS + 1)
Una ez se ha cambiado los egis os, se inicia el adc1 con la unción Ini Adc1, que se encuen a de inida
en las lib e ias del disposi i o.
3.3 Comunicaciones
Cuando se es a con olando un sis ema, se necesi a una in e az que pe mi a isualiza lo que es á
ocu iendo y ac ua en consecuencia. Pa a ello, es p ecisa la comunicación en e el DSP y la in e az del
usua io, que en es e caso se á Lab iew.
El MCU que se es a u ilizando iene muchos pue os de comunicación (I2C, CAN, E he ne , McBSP…)
pe o es e capí ulo, y es e p oyec o se cen a á en dos de ellos: UART y SCI.
3.3.1 UART
La UART (Uni e sal asynch onous ecei e - ansmi e ) es un pe i é ico que con ola los pue os y
disposi i os se ie, y se enca ga de con e i los da os en o ma o pa alelo, que eciben los buses del
sis ema, a da os en o ma o se ie, pa a que puedan se ansmi idos po los pue os y ice e sa.
No malmen e se usa en conjunción con o os es ánda es de comunicación, como son RS-232 que es el que
se u iliza á más adelan e.
Pe mi e el en ío y ecepción de da os en dis in os o ma os y elocidades, de ahí su ca ác e uni e sal.
La UART del disposi i o en cues ión se encuen a en el subsis ema M3 y pe mi e elocidades en e la
elocidad del eloj del M3/16, pa a elocidades no males, y la elocidad del eloj del M3/ 8, pa a al as
elocidades.
Cons a de dos FIFO de 16 * 8 independien e con longi ud p og amable, una de ansmisión (Tx) y o a de
ecepción (Rx)) pa a agiliza la ca ga de la CPU.
Incluye los bi s es ánda de comunicación asínc ona pa a el comienzo, pa ada y la pa idad y de ección de
allos de comunicación.
Se consigue una ans e encia e icien e median e la DMA, la cual pe mi e que la ansmisión y ecepción
sea independien es una de o a median e el uso de canales sepa ados, y que las pe iciones de ecepción y
ansmisión se acep en únicamen e cuando haya da os en la FIFO o haya hueco espec i amen e.
48
Como se io en el ejemplo an e io , inicialmen e hab á que da el con ol de los pines 28 y 29 desde el M3
al C28 y después con igu a dichos pines en el código del C28 pa a que ac úen como Rx y Tx
La con igu ación del SCI y las FIFO es la misma que la del ejemplo (57600, 8 bi de da os, sin pa idad, 1
bi de pa ada...), sal o que es a ez no se habili an las in e upciones ya que no son necesa ias.
Al inal de dicha con igu ación, se inicializa á una abla necesa ia pa a ob ene el CRC en el MODBUS,
que es el p o ocolo is o desde el lado del escla o que lle a a cabo el p ocesamien o de los da os ecibidos.
En el main p incipal, den o del bucle while, exis en es maquinas de es ados:
La máquina de ecepción (maq_es _ xon) que se enca ga de la ecepción de mensajes, la máquina de
es ados de ansmisión (maq_es _ xon) que se enca ga del en ío de mensajes y el modbus que ya se
mencionó an e io men e.
Pa a la máquina de es ados de ecepción se ac ua igual que en el ejemplo an es mencionado, espe ando a
que la FIFO enga un da o y almacenando dicho da o pos e io men e en el bus de ecepción, inc emen ando
a su ez un con ado que pe mi i á el a ance de la máquina de es ados del modbus.
i ( (SciaRegs.SCIFFRX.bi .RXFFST != 0) ) //si no es a acia la i o
{
bu _ xon_28335[con _ xon_28335++] = SciaRegs.SCIRXBUF.all; // ecibe da o
con _ xon_28335++;
}
Se p ocede igual con la máquina de es ados de ansmisión:
while (SciaRegs.SCIFFTX.bi .TXFFST != 0) {}
//FIFO de ansmision no acia
con _ xon_28335--;
SciaRegs.SCITXBUF = bu _ xon_28335[ind_ xon_28335++]; //ca go da o
En la máquina de es ados del modbus se comp ueba inicialmen e si el da o ecibido concue da con la
di ección del escla o, si es así se pasa al siguien e es ado, inicializando p e iamen e los pa áme os, si no,
se man iene en el es ado de eposo.
El siguien e da o que llegue debe á se el código de unción del modbus pa a esc i u a o lec u a en los
egis os. Si no es una ins ucción alida, se gene a á un código de e o , y si lo es, se i á comp obando en
los siguien es es ados si el mensaje ecibido es álido o no.
Finalmen e, si el da o que llegó es álido, se ealiza á la unción de lec u a o esc i u a en los egis os según
el código de la unción que llegó.

Una ez con igu ado el egis o, se pod á u iliza un código de Lab iew el cual es á p og amado pa a
p oba es e disposi i o de po encia.
Ilus ación 31: Código Lab iew pa a el disposi i o de po encia.
Así, con igu ando el pue o se ie pa a que se co esponda con el que se comunica el disposi i o, se pod á
obse a que es a comunicación se p oduce.
50
4 PROBLEMAS ENCONTRADOS
A la ho a de p og ama un DSP que no es su icien emen e conocido, e incluso aunque el usua io enga
cie o manejo del mismo, es no mal que en las p ime as p uebas del código su jan e o es a la ho a de
compila o es e no ealice las a eas que se p e endía que hicie a.
En es e capí ulo se mues an los e o es que su gie on a medida que a anzaba la con igu ación del sis ema
inal, con el in de e i a posibles e o es u u os en p oyec os simila es, ya sean abajos con el mismo
disposi i o aquí usado, o bien allos gené icos en la p og amación de un sis ema embebido.
4.1 Accesibilidad de los pines GPIO
Pa a abaja con el MCU se u iliza una a je a (Con olCARD) en la que es e es á in eg ado y que pe mi e
un acceso ácil a los pines de en ada y salida y la p og amación del MCU median e la inse ción de dicha
a je a en la docks a ion.
Es a a je a iene una conexión DIMM de 100 pines que conec an di ec amen e pines del MCU con los
pines de la placa de abajo.
No obs an e, no odos los pines del DSP ienen un acceso di ec o a es a placa de abajo y puede que a la
ho a de in en a ob ene señal desde un pin que se ha con igu ado co ec amen e (dando el con ol al
subsis ema C28 desde el M3 y con igu ando el pin GPIO pa a que uncione como se equie e den o del
código del C28), no se consiga.
Es es o mismo lo que pasó al con igu a el GPIO6 como salida PWM, ya que al con igu a los cua o
módulos PWM como se explico en el capí ulo 3.1, y obse a dichas ondas median e un osciloscopio, se
podían obse a las ondas que gene aban los es p ime os módulos (asociados a los pines 0, 2 y 4) pe o no
la del cua o modulo (asociada al pin 6).
Pa a soluciona lo, ue necesa io conoce el conexionado in e no en e los pines del DSP y el DIMM.
Ilus ación 32: Pines de la Con olCARD.
52
Ilus ación 33: DIMM 100.
Como se puede obse a en la ilus aciones, el GPIO6 no es á conec ado di ec amen e al DIMM, si no que
es e a del MCU a la ila de pines de la Con olCARD ( ila B) y es el pin 3 del pue o J17 de la ila A el
que es á conec ado al DIMM 100 de la placa.
La solución pasa po conec a un jumpe en e dichos pines pa a conec a ambas líneas.
4.2 Inse ción del código an iguo.
Como se comen o con an e io idad, pa a desa olla el código inal se u ilizó un código p e io diseñado
pa a el DSP an e io (Del ino).
Ambos disposi i os disponen de pe i é icos simila es, pe o se acceden a ellos desde di e en es egis os en
uno u o o MCU.
Es po ello que a la ho a de in oduci el código an e io , se end á que cambia los egis os que dan acceso
a los pe i é icos del Del ino po aquellos que dan acceso a los mismos pe i é icos del Conce o. Además, se
obse an una se ie de lib e ías que ambién hab an de modi ica se o cambia se po o as adecuadas pa a
nues o MCU.
Inicialmen e, ya que el obje i o del p oyec o es á pensado pa a que el código sea uncional den o del
subsis ema C28, hab á que da con ol a es e subsis ema de odos los pines GPIO que se ayan a u iliza
pa a la conexión en e el DSP y el disposi i o de po encia.
Pa a ello, se habili an los pines desde el M3 que apa ecen en la siguien e abla, en la que se mues a la
unción que ealiza a cada uno, como ya se ha is o en capí ulos an e io es del documen o.
PIN
PUERTO
ENTRADA/SALIDA
FUNCION
GPIO0
A
SALIDA
EPWM1A (CANAL R)
GPIO2
A
SALIDA
EPWM2A, (CANAL S)
GPIO4
A
SALIDA
EPWM3A, (CANAL T)
GPIO6
A
SALIDA
EPWM4A, (CANAL CH)
GPIO1
A
SALIDA
PIN DE TESTEO
GPIO7
A
SALIDA
K2
GPIO22
D
SALIDA
K1
GPIO13
B
SALIDA
DRIVER
GPIO21
D
ENTRADA
ERROR
GPIO27
E
SALIDA
CLR_ERROR
GPIO28
E
ENTRADA
Rx(RECEPCION
COMUNICACIONES)
GPIO29
E
SALIDA
Tx(TRANSMISION
COMUNICACIONES)
Tabla 3: GPIO’s u ilizados.
Una ez con igu ados los pines GPIO, se in oduci an en el bucle in ini o del main del C28 las máquinas
de es ados co espondien es a las comunicaciones ya comen adas an e io men e (maq_es _ xon,
maq_es _ xon y modbus) y una maquina de es ados que se enca ga del con ol del sis ema (S a eMachine).
Así mismo, en la in e upción del ADC se in oduci an una se ie de unciones que pe mi i án ajus a el
alo ob enido de las co ien es y ensiones a a és del con e ido y asigna un nue o Du y a los canales
R, S, T y CH.
Pa a pode u iliza dichas unciones, hab á que añadi una se ie de a chi os (.c) y lib e ías (.h) que se
comen an a con inuación.
Inicialmen e, se c eó una ca pe a con odas las lib e ías de las que se pa ía modi icadas pa a su uso en el
nue o MCU, pa a ag ega pos e io men e dicha ca pe a al nue o código ( al y como se io en el capi ulo
2.1.2). Las modi icaciones consis ie on en el cambio del acceso de es as lib e ías a o as p opias del
disposi i o an iguo, po las del nue o disposi i o.
Dichas lib e ías son las siguien es:
 “backg ound.h”: Incluye las decla aciones de las unciones S a eMachine (maquina de es ados
de con ol del sis ema), Clea E o ( ese ea el es ado de e o a a és del pin asociado al
mismo), Rese C l ( ese ea las a iables de con ol), SlideWindow, CheckAla m y po
( unciones pa a adap a los da os ob enidos pa a la isualización en Lab iew). Todas es as
unciones es án de inidas en el a chi o backg ound.c.

54
 “con ig.h”: Inicialmen e, con enía las decla aciones de las unciones de con igu ación del
ADC, PWM, GPIO, y UART del sis ema, pe o se modi ico pa a que solo incluye a las de la
UART, y o as unciones pa a la inicialización del sis ema. Es as se encuen an de inidas en el
a chi o Con ig.c.
 “cubeV2.h”: Es la lib e ía que se u iliza en el main y que incluye odas las demás que se an a
usa .
 “de .h”: Con iene de iniciones de unciones básicas, como encende o apaga un pin, pa a un
uso mas ápido en el código p incipal. Además de ine los es ados y cons an es pa a la máquina
de es ados, así como los códigos de e o .
 “e_main.h”: De ine las cabece as del main y una se ie de cons an es que se u iliza an.
 “e_mem ija.h”: Pe mi e el uso del a chi o e_mem ija.c que jun o al a chi o MEMFIJA.cmd
pe mi e ubica las a iables en un espacio de memo ia ísica conc e o. En el siguien e apa ado
se comen a a más en p o undidad.
 “e_modbus_ _5.h”, “e_moni o izacion_auxilia .h” y “e_ a _comp_modbus.h”: Con ienen
de iniciones pa a las unciones de comunicación comen adas en el capi ulo an e io .
 “mod.h”: Con iene las de iniciones de las unciones que se encuen an en el a chi o mod.c
pa a con ola los módulos PWM según que amos con igu a el disposi i o de po encia
(in e so , ec i icado , back o back…).
 “ a .h”: Incluye las de iniciones de una se ie de es uc u as, ellenadas pos e io men e en
a .c, que con ienen las medidas omadas po el sis ema, las co ecciones pa a esas medidas,
alo es de e e encia, es ados de e o es…
4.3 A chi os CMD
Como se comen aba en el apa ado an e io , exis en unos a chi os cuya ex ensión es CMD (comando), que
pe mi en aloja las a iables del p og ama en un espacio de memo ia conc e o.
Es os a chi os di iden la memo ia en dos páginas y es as dos páginas es án a su ez di ididas en secciones
de amaño a iable. La pagina 0 po de ec o albe ga la memo ia de p og ama y la pagina 1 la memo ia de
da os. Cada una de las di e en es secciones de memo ia iene una longi ud de inida y es á localizada a pa i
de una di ección de memo ia conc e a, las cuales se pueden modi ica , po ejemplo, uniendo dos secciones
consecu i as pa a ob ene una de mayo amaño.
Al compila nues o código, se obse aba en CCS un e o de espacio de memo ia con una se ie de
a iables conc e as.
El allo es aba en el a chi o MEMFIJA.cmd, que p o enía del código an e io y po an o, colocaba las
a iables en zonas de memo ia ya ocupadas en el disposi i o.
Pa a soluciona lo, se buscó una sección disponible den o de la pagina 1 (memo ia de da os) en el a chi o
“F28M35HM52C1_c28.cmd” p opo cionado en las lib e ías del disposi i o. Es a co espondía al egis o
“RAML0” que inicialmen e comenzaba en la di ección 0x008000 de memo ia y enía una longi ud de
1000. Sin emba go, el espacio de ocupación de las a iables e a supe io al amaño de es a sección, po lo
que se eliminó la sección “RAML1” consecu i a a es a y ambién disponible y se cambió la longi ud inicial
a 2000.
Así mismo, se escogió la sección “RAMS0” jun o con la “RAMS1” pa a gua da las a iables locales, y
hubo que amplia la sección “FLASHA” de la página de memo ia de p og ama anexándola con la sección
“FLASHD”.
Den o del a chi o cmd (MEMFIJA.cmd), las a iables se colocan a pa i de la di ección 8000, indicando
en cada una de ellas la longi ud que ocupan.
Cie as pa es del código de la pa e de comunicaciones hacian e e encias di ec as a las di ecciones de
es as a iables, po lo que pa a el acceso co ec o a dichas a iables se u o que cambia den o del código
es as di ecciones a las ac uales, solucionandose así el p oblema.
4.4 Comunicaciones
En la comunicación en e el disposi i o y Lab iew su gie on a ios p oblemas que se comen an a
con inuación.
Inicialmen e, una ez con igu ado el egis o SCI y conec ado los elemen os ex e nos (adap ado del pue o
se ie, placa de adap ación y cables en Rx y Tx) se p obó comunica el disposi i o con Lab iew sin éxi o, ya
que es e ul imo mos aba e o es de imeou .
Se decidió po an o ealiza los ejemplos comen ados en el apa ado 3.3 del documen o, con el in de
comp oba si el allo es aba en la comunicación de los disposi i os y no en o a pa e del código.
T as p oba dichos ejemplos depu ándolos median e b eakpoin s y u ilizando el e minal Te aTe m, se
obse aba como el disposi i o ni ansmi ía aquello que se suponía debía ansmi i ni llegaba a ecibi
ningún da o en el bu e de ecepción.
Uno de los p oblemas ue el ajus e de la elocidad de ansmisión en e el Te aTe m y el disposi i o, ya
que es e es aba con igu ado pa a una ansmisión de 115200 y el Te aTe m ecibía a 9600, po lo que se
cambio el código y la con igu ación del e minal pa a que ambas ue an de 57600, ya que es a es la
elocidad a la que se comunica Lab iew.
Aunque Lab iew seguía emi iendo allos de imeou , el e minal si mos aba los da os en iados, es deci , la
ansmisión desde el DSP uncionaba, pe o la ecepción no.
Sabiendo que la con igu ación de los egis os de ecepción e a la co ec a, el p oblema se educía a un
allo de ha dwa e.
Po ello se comp obó inicialmen e median e un osciloscopio que e ec i amen e el da o en iado a a és del
Te aTe m se ecibía y que odos los cables es aban en buen es ado.
El p oblema es aba en uno de los swi ches de la Con olCARD, el cual se había conmu ado
acciden almen e.
Ilus ación 34: Swi ch SW3
56
El swi ch en conc e o e a el SW3, el cual se enca ga de habili a las señales de comunicación TRST/ISO
SCI. Es e swi ch iene dos in e up o es, el p ime o se enca ga de conec a o desconec a la señal TRST del
ci cui o JTAG al DSP, y el segundo, mo i o del allo, se enca ga de ac i a la comunicación Rs-232 a
a és de los pines 2 y 42 del DIMM bloqueando el GPIO28 en al o ni el en posición de ON o habili a el
pin GPIO28 como GPIO. Es a úl ima opción es la que in e esa, ya que es es e pin el que se quie e conec a
con el disposi i o de po encia y den o del código se puede con igu a como Rx.
Una ez ealizado es o, los ejemplos de comunicación con la UART y el SCI e an uncionales, así que se
ol ió a comp oba el código inal.
En es e pun o y as el uso de b eakpoin s, se obse aba que el disposi i o llegaba a ecibi da os en el
bu e de ecepción, y po an o la máquina de es ados asociada a la ecepción uncionaba co ec amen e,
sin emba go, la máquina de es ados del modbus, comen ada en el apa ado 3.3.2, no a anzaba del es ado de
eposo.
Es e bloqueo del código es debido a que el inc emen o de la a iable “con _ xon_28335” no se p oduce
una ez ecibido el da o y po an o la máquina de es ados del modbus, que inicialmen e es a en eposo, no
en a en el “i ” que comp ueba si el da o ecibido es álido, ya que es a a iable pe manece a ce o siemp e.
Al no obse a se cambio en es a a iable, se pensó que el p oblema es aba nue amen e en la localización
de las a iables globales en memo ia.
La seccion de memo ia que albe gaba las a iables locales(S0 en es e caso) e a una seccion de memo ia
compa ida po ambos subsis emas (M3 y C28). Es os bloques de memo ia son accesibles en esc i u a y
lec u a po el subsis ema maes o, sin emba go solo son accesibles en modo lec u a pa a el subsis ema de
con ol.
Es po ello que la a iable en cues ion no cambiaba de es ado, ya que no podiamos eesc ibi la a a es del
C28.
Pa a habili a la esc i u a en dicha seccion de memo ia, se dió pe miso desde el subsis ema maes o
median e la uncion “RAMMReqSha edMemAccess” , y añadiendo la lib e ía am.h y el a chi o am.c
donde se encuen an las de iniciones y el codigo de dicha unción (localizada en la d i e lib).
64

6 ACCIONES FUTURAS
Como se ha ido comen ando a lo la go del p oyec o, el DSP que se es a manejando incluye dos núcleos
independien es, que pe mi en que la ca ga compu acional sea meno que si ue a un solo núcleo.
En es e sen ido, el subsis ema M3 es á diseñado pa a enca ga se de las comunicaciones y el C28 pa a el
con ol.
Aunque inicialmen e se plan ea el uso de es e disposi i o como solución a la ele ada ca ga de la CPU del
disposi i o an e io y a las in e e encias en el con e ido ADC, el desa ollo del p oyec o se limi a a la
uncionalidad del código en el subsis ema C28.
Como acciones u u as, se p opone ealiza el código co espondien e a las comunicaciones desde el
subsis ema M3 y a a és del pue o E he ne , dejando al subsis ema C28 enca gado de los módulos PWM
y del código de con ol del disposi i o de po encia, de mane a que el ap o echamien o del disposi i o sea
el mayo posible y se puedan cumpli los equisi os empo ales que se mencionan.
66
7 BIBLIOGRAFÍA
 Se gio To al Ma ín: Apun es elec ónica indus ial. Depa amen o de ingenie ía elec ónica,
Uni e sidad de Se illa.
 Texas Ins umen s: C200 Conce o Mic ocon olle s (Da ashee ).
 Texas Ins umen s: Conce o F28M35x. Technical Re e ence Manual.
 Texas Ins umen s: Wo kshop Guide and Lab Manual
 Texas Ins umen s: F28M35x Pe iphe al D i e Lib a y. Use ’s Guide.
 Na ional Ins umen s: Pagina web disponible en: <h p://www.ni.com/lab iew/esa/>
 Uni e sidad de Se illa: Tu o ial Lab iew.
 Texas Ins umen s: Con olSUITE.
 Texas Ins umen s: Conce o F28m35xx Con olCARD (in oshee ).
Algunas de las imagenes p esen adas se han omado del buscado Google.
68