Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

TMS320F28027 - Piccolo - LaunchPad

[es] :: Elektronika :: Mikrokontroleri :: TMS320F28027 - Piccolo - LaunchPad

Strane: 1 2 3 4 5 ... Dalje > >>

[ Pregleda: 24948 | Odgovora: 106 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon TMS320F28027 - Piccolo - LaunchPad06.08.2013. u 17:19 - pre 129 meseci
Pozdrav svima,

dosao sam u posed TI modula Piccolo LaunchPad XL sa TMS320F28027 32bit RealTime kontrolerom.

Obzirom da se prvi put susrecem sa Texas Instruments platformom, bilo bi korisno ako neko moze neke savete za pocetak da podeli, gde/sta da se obrati paznja, kako se inicializuje kontroler, kako baratati bibliotekama i programima u Code Composer Studio itd.

Posto "dolazim" iz PIC sveta, tamo su malo drugacije postvake, uglavnom za sad mi ova TI platforma lici prilicno drugacije (sto se programiranja tice).
Vidim recimo da je velika razlika kod inicijalizacije periferija, sad je to sve objektno orijentisano, treba se znati sta i kako da se "gadja" (nemam pojma o tome koji su registri zasta, brdo dokumentacije) itd ...

Pa onda imaju neki GRACE prgram za "laku" konfiguraciju periferija ali koliko sam shvatio to ne vazi za TMS320 seriju?! Samo za TMS430 ...
Jel moze GRACE uopste da pomogne kod konfiguracije sa Piccolo?

Zatim imaju onaj ControlSUITE paket, fino - sharen pregled sve i svacega, nasao neke primere i vidim recimo da za projekte treba neki hederi, ovako nesto:

Code:

#include "DSP28x_Project.h"         // DSP2802x Headerfile

#include "f2802x_common/include/clk.h"
#include "f2802x_common/include/flash.h"
#include "f2802x_common/include/gpio.h"
#include "f2802x_common/include/pie.h"
#include "f2802x_common/include/pll.h"
#include "f2802x_common/include/pwm.h"
#include "f2802x_common/include/wdog.h"


Gde/kako da uzmem/postavim potrebne (header i/ili source) fajlove u moj program koji je pod CCS-om?

Bice verovatno jos nekih pitanja ...
Za pocetak klasika, Hello World ili Blinky LED da poteram

BTW: Imam ovde clanak na blogu (uvodnog tipa) oko tog razvojnog modula i nesto oko HRPWM:
http://yu3ma.net/wp/?p=701

Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

acho

Član broj: 38487
Poruke: 30



+3 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad08.08.2013. u 14:33 - pre 129 meseci
Moj čeka u fioci, nabavio sam ga kada je izašao, probao i ostavio za kasnije :). Tada nije bilo bog zna kakve podške,
ali se sigurno od tada pojavilo štošta. Samo sam ga pokrenuo (u debug mode) i probao par periferija.
Pretpostavljam da već imaš CCS i controlSUITE, za početak mi je bilo dovoljno:
File->New->CCS Project, family: C2000, variant: 2802x Piccolo / Experimeter's kit - Piccolo F28027, connection: ...XDS100v2 USB emulator.
Pa onda Project->Properties, u Build\C2000 Compiler\Include Options dodam u #include search path:
...\TI\controlSUITE\development_kits\C2000_LaunchPad
U Build\C2000 Linker\File Search Path dodam u include library file:
...\TI\controlSUITE\development_kits\C2000_LaunchPad\f2802x_common\lib\driverlib.lib

I jedan Blinky :):
Code:

#include <stdio.h>
#include <file.h>

#include "DSP28x_Project.h"     // DSP28x Headerfile

#include "f2802x_common/include/pll.h"
#include "f2802x_common/include/clk.h"
#include "f2802x_common/include/wdog.h"

#include "f2802x_common/include/flash.h"
#include "f2802x_common/include/gpio.h"
#include "f2802x_common/include/pie.h"
#include "f2802x_common/include/adc.h"
#include "f2802x_common/include/timer.h"

interrupt void cpu_timer0_isr(void);

CPU_Handle myCpu;
PLL_Handle myPll;
WDOG_Handle myWDog;
CLK_Handle myClk;
ADC_Handle myAdc;
FLASH_Handle myFlash;
GPIO_Handle myGpio;
PIE_Handle myPie;
TIMER_Handle myTimer;

void setup_handles() {
    myClk=CLK_init((void *)CLK_BASE_ADDR, sizeof(CLK_Obj));
    myPll=PLL_init((void *)PLL_BASE_ADDR, sizeof(PLL_Obj));
    myWDog=WDOG_init((void *)WDOG_BASE_ADDR, sizeof(WDOG_Obj));
    myCpu=CPU_init((void *)NULL, sizeof(CPU_Obj));
    myFlash=FLASH_init((void *)FLASH_BASE_ADDR, sizeof(FLASH_Obj));
    myGpio =GPIO_init((void *)GPIO_BASE_ADDR, sizeof(GPIO_Obj));
    myPie=PIE_init((void *)PIE_BASE_ADDR, sizeof(PIE_Obj));
    myAdc=ADC_init((void *)ADC_BASE_ADDR, sizeof(ADC_Obj));
    myTimer=TIMER_init((void *) TIMER0_BASE_ADDR, sizeof(TIMER_Obj));
}

void init_system() {
    WDOG_disable(myWDog);
    CLK_enableAdcClock(myClk);
    (*Device_cal)();
    CLK_disableAdcClock(myClk);

    CLK_setOscSrc(myClk, CLK_OscSrc_Internal);
    PLL_setup(myPll, PLL_Multiplier_12, PLL_DivideSelect_ClkIn_by_2);

    PIE_disable(myPie);
    PIE_disableAllInts(myPie);
    CPU_disableGlobalInts(myCpu);
    CPU_clearIntFlags(myCpu);
#ifdef _FLASH
    memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
#endif
    // Setup a debug vector table and enable the PIE
    PIE_setDefaultIntVectorTable(myPie);
    PIE_enable(myPie);
    // Register interrupt handlers in the PIE vector table
    PIE_registerPieIntHandler(myPie, PIE_GroupNumber_1, PIE_SubGroupNumber_7, (intVec_t)&cpu_timer0_isr);

    TIMER_stop(myTimer);
    TIMER_setPeriod(myTimer, 60000000);    // set period (32b)
    TIMER_setPreScaler(myTimer, 0); // set prescaler (1/(prescaler+1)) (32b)
    TIMER_reload(myTimer);
    TIMER_setEmulationMode(myTimer, TIMER_EmulationMode_StopAfterNextDecrement);
    TIMER_enableInt(myTimer);
    TIMER_start(myTimer);

    GPIO_setMode(myGpio, GPIO_Number_0, GPIO_0_Mode_GeneralPurpose);
    GPIO_setDirection(myGpio, GPIO_Number_0, GPIO_Direction_Output);
    GPIO_setLow(myGpio, GPIO_Number_0);
    GPIO_setMode(myGpio, GPIO_Number_1, GPIO_1_Mode_GeneralPurpose);
    GPIO_setDirection(myGpio, GPIO_Number_1, GPIO_Direction_Output);
    GPIO_setLow(myGpio, GPIO_Number_1);
    GPIO_setMode(myGpio, GPIO_Number_2, GPIO_2_Mode_GeneralPurpose);
    GPIO_setDirection(myGpio, GPIO_Number_2, GPIO_Direction_Output);
    GPIO_setLow(myGpio, GPIO_Number_2);
    GPIO_setMode(myGpio, GPIO_Number_3, GPIO_3_Mode_GeneralPurpose);
    GPIO_setDirection(myGpio, GPIO_Number_3, GPIO_Direction_Output);
    GPIO_setLow(myGpio, GPIO_Number_3);

    // Enable CPU INT1 which is connected to CPU-Timer 0:
    CPU_enableInt(myCpu, CPU_IntNumber_1);
    // Enable TINT0 in the PIE: Group 1 interrupt 7
    PIE_enableTimer0Int(myPie);
    // Enable global Interrupts and higher priority real-time debug events
    CPU_enableGlobalInts(myCpu);
    CPU_enableDebugInt(myCpu);
}

void main() {
    setup_handles();
    init_system();

    while(1);
}

interrupt void cpu_timer0_isr(void) {
    GPIO_toggle(myGpio, GPIO_Number_0);
    GPIO_toggle(myGpio, GPIO_Number_1);
    GPIO_toggle(myGpio, GPIO_Number_2);
    GPIO_toggle(myGpio, GPIO_Number_3);

    // Acknowledge this interrupt to receive more interrupts from group 1
    PIE_clearInt(myPie, PIE_GroupNumber_1);
}




Inače, jedan drug koristi Launchpad u sprezi sa Matlab-om, direktno iz Simulinka. On je duduk za programiranje i kontrolere,
ali je podrška očigledno dobra, čim je uspeo da napravi kontrolu za njegov konvertor.



[Ovu poruku je menjao acho dana 08.08.2013. u 17:39 GMT+1]
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad08.08.2013. u 16:10 - pre 129 meseci
Odlicno, hvala puno na primeru, bas cu probati ovo.

Ja sam neki primer vec poterao, vrlo slican ovom, jos prostiji ali sam malo zaglavio kod konfiguracije oscilatora.
Dakle prodjem svu inicijalizaciju i na kraju u while(1) pustim togle jednog porta.
Nesto sam tu "dirao" i u jednom trenutku sam dobio super brzinu, oko 1.6MHz togle frekvencija (sto je solidno ali ocekivao sam i vise) ali sad ne mogu da se vratim u to stanje, ko zna sta sam cackao, sad mi je daleko sporije sve.
Mora prvo to sa oscilatorom da rascistim pa da idem dalje ;)

Ovo mi je bilo bitno i od koristi ...
Citat:

Pretpostavljam da već imaš CCS i controlSUITE, za početak mi je bilo dovoljno:
File->New->CCS Project, family: C2000, variant: 2802x Piccolo / Experimeter's kit - Piccolo F28027, connection: ...XDS100v2 USB emulator.
Pa onda Project->Properties, u Build\C2000 Compiler\Include Options dodam u #include search path:
...\TI\controlSUITE\development_kits\C2000_LaunchPad
U Build\C2000 Linker\File Search Path dodam u include library file:
...\TI\controlSUITE\development_kits\C2000_LaunchPad\f2802x_common\lib\driverlib.lib


A i radi primer koji si postavio, tnx ;)

[Ovu poruku je menjao mikikg dana 08.08.2013. u 21:22 GMT+1]
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad08.08.2013. u 21:26 - pre 129 meseci
Aufff, wowww ... Pogledajte ovaj oscilogram ... Sve ce vam biti jasno :)

Ovaj HRPWM I-Z-U-V-A iz g**a! :)

To sam brzinski sve copy/paste iz primera, nisam ulazio u detalje, tek treba da malo to "rasirim", ali ovako nesto ja do sad nisam video :)



Neverovatno dobar rezultat, skoro da se ne poveruje, ali evo izmerio sam vreme tih njegovih 256 stepova (iz petlje ima counter koji updejtuje taj "fin" duty-cycle 0-255), to je oko 40nS, ZNACI STVARNO IMA REZOLUCIJU OD 150ps (40ns/256) TAJ HRPWM!

Strasno, sa ovim moze VF da se direktno modulise i da radi VF pojacivac u Class-D ... ne mogu da se nacudim ... :)
Ispada da mu je clock za to nekih 6.6GHz!!! Verovatno nije to direktno tako napravljeno, sta god da su radili = blagi uzas!

UPDATE:
Malo sam konsultovao kolegu @macolakg i prezentovao mu ove rezultate, takodje je ostao zaprepascen :)
Ukratko, zakljucili smo da ovaj HRPWM i taj deo za "sitnu" rezoluciju radi verovatno preko faznog zaseka sa PLL, ne broje se bas svaki impulsi (mnogo je to brzo tako raditi).
Sa ovim moze da se realizuje bezbroj konstrukcija za koje su do sad trebale gomile analognog HW-a ...

[Ovu poruku je menjao mikikg dana 09.08.2013. u 01:01 GMT+1]
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
Prikačeni fajlovi
 
Odgovor na temu

acho

Član broj: 38487
Poruke: 30



+3 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad13.08.2013. u 15:31 - pre 129 meseci
Stvarno fin taj HRPWM :), evo malo zumirano:

Prikačeni fajlovi
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad13.08.2013. u 16:20 - pre 129 meseci
Da da, odlican je ...

Nego treba to iskoristiti, nije bas prosto.
To je samo 8bita, treba i ostatak raspolozive rezolucije iskorisiti.
Tu se mesa gruba rezolucija ali koja se ne nastavlja bas na tu finu, negde izmedju ona ulece ...

Ja sam malo laicki bio prvo zakljucio da su dva takva niza jedan iza drugog ustvari 16bita ali nije :) To je skroz pogresno, to je 9bita ...
Tek kada bi tih 256 finih poredjali 256 puta jedan iza drugog u okviru jedne periode bi bilo 16 bita :) Tako vec pada PWM u okvire kHz sto je i dalje veoma korisno.

Ima neka SFO biblioteka (Scale Factor Optimization), ona je poprilicno z***no uradjena, najoptimalnijim putem sa raspolozivim HW unutra (naredbama) radi preracunavanje velicina (obicno iskazane u procentima) u kombinaciju grubih i finih stepova.
Na to ta biblioteka se "domundjava" sa nekim parcicima HW unutra tako da nezavisno od programa radi samo-kalibraciju da bi se ta vremena drzala konstantnim naspram nekih promena temperature ili napona.

Vrlo zanimljivo, tek treba da to probam ...

U svakom slucaju rezolucija tog MCU se krece u ovim okvirima sa tabele:



BTW: Ipak ostaje ona mogucnost da se digitalno modulise VF i da pojacivac radi u Klasi D :)
8 - 10bitova je puna kapa, relativno su tu male sirine bandwitha (recimo 10-ak KHz) tako da je zgodno jer bi interapt rutina mogla da bude relativno spora.

Ja sam probao recimo da napravim timer interapt na nekih 100/200kHz (za audio potrebe), stavim unutra desetak NOP-ova, izmerim i po gruboj proceni ispada da ima negde oko par stotina masinskih ciklusa fore. Nije to ni malo lose, dovoljno da se updejtuje PWM ovo-ono, mada je to malo tanko ako bi trebalo neko DSP filtriranje da se radi.
Po tom pitanju je ovo vrlo slicno PIC-u (slicno je vreme instrukcije, oko 16 - 20ns) ali ga HRPWM tu zesce kida.

Ali TI ima i onu x69 seriju kod Piccolo, tamo je 90MHz clock umesto 60MHz kod x27 serije.
A spomenuo sam i Delfino seriju, e oni imaju 70ps HRPWM i do 150MHz clock ... to je vec mrak. Od toga nisam nasao brzi procesor za ove PWM primene :).
x27 Nazalost nema hardwerski floating point, ovi jaci modeli proceosra imaju sto je odatno ubrzanje nevezano za brzinu clock-a.



[Ovu poruku je menjao mikikg dana 13.08.2013. u 18:12 GMT+1]
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad18.08.2013. u 02:09 - pre 129 meseci
Puff sto je ovaj Piccolo, zaguljen ... Nikako ne mogu da se pohvatam sta/kako on tu radi ...

Jel to normalno da kad napravim PRAZAN program void main(void) {while(1)} on krene da kuva sa PWM oko 150kHz odmah na prvom PWM izlazu (ostale ne dira)?
Ceka bre gde si posao jos te nisam ni inizijalizovao :) .... Nije mi ni malo jasan ... :)

Evo danima se vrtim po CCS i probam razne stvari, sve mi je manje i manje jasno sto ga vise koristim :(
SFO() zaluduje, clock zaluduje, ono sa onim ram/flash bankama ne mogu da pohvatam.

Mislim, vrlo verovatno da je ovde nesto debelo gresim, ali aman nije to prvi procesor koji sam probao u zivotu, ne kapiram, ili nesto bugira u procesoru ko zna sta je.
Probam gotov primer radi, nije sprono, i krenem da ga prepisem odpocetka jedno po jedno ma kaki, to nema veze sa tim.
Dal' ucita neki RTOS iza koji ja ne vidim (vidim samo da ga spominje po nekim mapama) ne znam ...
Biblioteke, include, putanje, ovo-ono, poludemi glava i nista jos nisam ukapirao :(

PIC u poredjenju sa ovim TI je mala beba po pitanju programiranja i IDE :)

UPDATE1: Evo probao primer sa pocetka teme, radi, blinka LED, sve OK. Ocistim main() da nema nista unutra, startuje se sam PWM1 ... Znaci on po default je u tom stanju, kakav shizik od procesora ... :)

UPDATE2: Bahhh, glupi WatchDog zeza, mora da se iskljuci, kakva glupost, ali tako lepo zeza da pravi perfektan PWM od 150kHz sa 50/50 duty na izlazu, nije mi jasan ... :)

[Ovu poruku je menjao mikikg dana 18.08.2013. u 03:32 GMT+1]
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad18.08.2013. u 03:07 - pre 129 meseci
ne mozes da poredis pic koji je klasican mcu (cak i dspic) sa tms320
koji je dsp .. sta je to? neki C28x ? kortex m3 sa dspom ili ti picolo
imaju neki drugi 32bitni core? ako se ja dobro secam c2000 je zgodan
jedino sto ima hw vezu izmedju adc-a i pwm-a, mozda ti zato i trci taj
pwm, on ima tu neku foru da mu je epwm vezan za neki analogni ulaz i to
valjda radi odma po resetu, valjda da ko se resetne sprava ne crkne ko
zna tamo sta vec moze da crkne sto je okaceno na pwm .. nisam siguran
koliko je to tebi zanimljivo za audio c2000 bese pravljen za fancy
kontrolu motora i tako nekih sprava... C5000 je tebi mozda mnogo
zanimljiviji (GSM se tera sa tim dsp-om bez problema, ima ga u starim
nokijama, eriksonima, alkatelima .. onim starim kockicama, ne onim fancy
minijaturama :D )
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad18.08.2013. u 04:08 - pre 129 meseci
Da je zaludan core, jeste, ima neke svoje cudne cake, trebace mi dosta vremena da to skontam.
Ovaj na spomenutoj plocici je klot MCU, nije ARM + DSP, druge serije to imaju, Hercules bese ...
Piccolo nije cak ni DSP, zovu ih "32-bit Real-time Control MCUs"

Nije mi to bitno samo za audio, C2000 su serije za bas "ozbiljnu" PWM problematiku.
Tu ce posle da bude BUCK/BUST, sinhroni, visefazni, ovo-ono ... Za to su oni napravljeni, digitalna power kontrola, a to me bas bas interesuje.
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad18.08.2013. u 06:51 - pre 129 meseci
da da oni su to - fancy pwm... ali c2000 bese ima mcu+dsp, to je neki
32bitni core, ako se dobro secam neki arm ... i ima fpu i vcu dodatno i
plus ima cla .. zezancija za nasetovati sve to, moras da navatas neki
doc koji objasnjava sta se desava low level tu inace ces tesko da
"iznabadas" kako se koristi
 
Odgovor na temu

ha_23

Član broj: 282489
Poruke: 219
217.196.200.*



+4 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad18.08.2013. u 10:34 - pre 129 meseci
http://e2e.ti.com/ za TI je najbolje resenje :)
Isto imas i: http://www.forum.c2kcentral.com/
Pozdrav.



 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad18.08.2013. u 11:17 - pre 129 meseci
@ha_23 E2E mi je poznat, za ovaj drugi nisam znao. Hvala, precesljacu to malo ...

@bogdan.kecman TMS320F28027 je iz nize klase, nema FPU, VCA i CLA. Tek serije iznad njega F2806x imaju te module.

Nego sam skontao sta me najvise zeki, ona memorija, FLASH / RAM i definicija za linker koja mu kaze gde da raspodeli sta.
Recimo registri EPwm1Regs, pisem ja nesto i ne reaguje ni na jednu komandu. Posle shvatim da nije definisana SECTION u tom fajlu za te registe.
Eto to mi je totalno nova stvar, treba da to malo pohvatam ...
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad18.08.2013. u 13:15 - pre 129 meseci
pazi on moze da izvrsava kod iz rama i iz flash-a ... nije problem kada
se naviknes :D
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad18.08.2013. u 17:20 - pre 129 meseci
Znam da moze iz jednog i iz drugog, ali da li moze neko bar da mi pokusa objasni malo to sa tim sekcijama ...

Kada koristim njegove funkcije iz driver.lib npr:
PWM_setPeriod(myPwm1, 123);
to projde i odradi tu funkciju ...

Ako probam to slicno da napisem recimo ovako (direktno se obracajuci registru):
EPwm1Regs.TBPRD = 123;
Prodje kompjaliranje, linker izbaci warning i nece da radi.
Warning je ovog tipa (imam ih brdo tako za razne sekcije):
warning #10247-D: creating output section "EPwm1RegsFile" without a SECTIONS specification

Oko toga je vezan skript (.cmd) za linker, u njemu ima neka cudna sintaksa za dodeljivanje blokova.
Ali do sad nisam skontao kako se to tu podesava ... To mi nije jasno a vidim da je vrlo bitno to podesiti :(
Ako moze neko objasnjenje oko toga.

Pa onda ono kopiranje iz flash u ram, sto se to uopste radi i kad da se radi ...
#ifdef _FLASH
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
#endif

I odakle se ova "_FLASH" definicija izvlaci, ko je kad/gde prebacuje, tj kako ja da u IDE kazem i da on zna da radim izlaz za Ram ili Flash?

Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

acho

Član broj: 38487
Poruke: 30



+3 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad19.08.2013. u 11:48 - pre 129 meseci
Čini mi se da nije postojala funkcija za software override za PWM output, pa je moralo direktno da se pristupa registru.
Pristup periferijama/registrima je opisan u Peripheral Driver Library User's Guide (u nekom doc folderu) i verovatno još kojekude. Tu su opisana oba pristupa, a mogu se koristiti i zajedno. Ukratko, za direktan pristup registrima bi trebalo ovo dodati u kod:
Code:

#include "f2802x_headers/source/F2802x_GlobalVariableDefs.c"

pa dodati headere za periferije koje će se koristiti na primer:
Code:

#include "f2802x_headers/include/F2802x_Gpio.h"

i u Project Properties dodati u Build->C2000 Linker->File Search Path: Include library or cmd file
"...\TI\controlSUITE\development_kits\C2000_LaunchPad\f2802x_headers\cmd\F2802x_Headers_nonBIOS.cmd" (ili BIOS verziju ako treba).
Sada u primeru sa početka može ovo da se napiše u int. rutini:
Code:

    GpioDataRegs.GPATOGGLE.bit.GPIO0=1;
    GpioDataRegs.GPATOGGLE.bit.GPIO1=1;
    GpioDataRegs.GPATOGGLE.bit.GPIO2=1;
    GpioDataRegs.GPATOGGLE.bit.GPIO3=1;




 
Odgovor na temu

zivadin_despot
Živadin Despotović
Novi Sad

Član broj: 175438
Poruke: 704
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad19.08.2013. u 23:37 - pre 129 meseci
Pozdrav svima, ja bih trebao od jeseni poceti raditi na TMS320F2812, do sad sam nesto cackao ali zbog ispita je sve to slabo...Na ovom linku je predmet koji se time bavi, takodje postoji i izvanredna knjiga o upravljanju energetskum pretvaracima primenom ovog kontrolera i dsPIC-a. Detaljno je objasnjeno uz primere koda upravljanje buck pretvaracem (regulacijom struje), upravljanje jednosmernog motora sa i bez povratnih sprega, skalarno upravljanje trofaznim motorom, vektorsko (direktno i indirektno) upravljanje, upravljanje brushless motorima i td. Za svaki pretvarac je dat i matematicki model, tako da je to vrlo temeljno odradjeno...Na mom proslom predmetu se radio ovaj prvi deo do vektorskog upravljanja, a informacije o tome se nalaze na ovom linku...Na prvom linku su dati programi za vektorsko upravljanje u CCS, za kontroler 320F2812...Knjiga se moze kupiti na FTN-u i kosta svega 400rsd...

U ranijim temam sam se raspitivao za njihov programator XDS100, koji sam hteo da pravim i neku manju osnovnu razvojnu plocu za 2812, jer je njihova oko 350$, ali su mi delovi jako ne nabavljivi.

Izvinjavam se ako skrecem malo sa teme, ali da li ima neko zainteresovan za pravljenje ovod programatora? Nov je oko 50-60 eue... O XDS510 da ne pominjem :)
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad20.08.2013. u 02:39 - pre 129 meseci
NOVO NOVO NOVO

Cena za Piccolo LaunchPad XL sa TMS320F28027 spustena na 8.5$ (~6.5€) povodom 1. rodjendana tog modula !!!
https://estore.ti.com/LAUNCHXL...0-Piccolo-LaunchPad-P3088.aspx

Za te novce ne moze da se kupi ni klot procesor i da stigne do nas (preko Mouser, Digi-key i sl + provizija nasih dobavljaca) a kamoli cela plocica sa debuger-om i ostalo sto vec ima. Predhodna cena je bila 17$. Vec poznato, uracunata besplatna FedEx dostava, stize za 3-4 dana.
Uzimajte dok ima na zalihama

Ja uzeo jos koji komad. Napravicu makar programibilni ispravljac sa njim i verovatno jedan active load a i Audio Class-D cu iz zezanja da napravim

Taman ako jos neko uzme da imamo "drustvo" u ovoj temi
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad20.08.2013. u 05:19 - pre 129 meseci
Na tom launchpad-u je i XDS100 JTAG emulator tako da je cena od 8.5$ stvarno smešna.
gorankg
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad20.08.2013. u 05:33 - pre 129 meseci
sa XDS100 code composer je potpuno besplatan i neosakacen ..
 
Odgovor na temu

zivadin_despot
Živadin Despotović
Novi Sad

Član broj: 175438
Poruke: 704
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: TMS320F28027 - Piccolo - LaunchPad20.08.2013. u 10:01 - pre 129 meseci
@goran_68: video sam da na ovoj ploci ima neki xds100, ali mi nije jasno sta mu znaci izolovan? Da li time hoce da kaze da se nalazi na ploci ili je neka verzija (nesto prepakovano) xds100 samo za ovaj kontroler?
" Built in isolated XDS100 JTAG Emulator enables real-time in-system programming and debugging via USB "

Jer ako je ovde ubacen xds100, onda se mogu naci pinovi pa izvuci za programiranje, jel? Jer ipak u poredjenju sa OVOM cenom, vredi se pomuciti...
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: TMS320F28027 - Piccolo - LaunchPad

Strane: 1 2 3 4 5 ... Dalje > >>

[ Pregleda: 24948 | Odgovora: 106 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.