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

Iskustva sa dsPIC33 i PIC32

[es] :: Elektronika :: Mikrokontroleri :: Iskustva sa dsPIC33 i PIC32

Strane: 1 2

[ Pregleda: 5979 | Odgovora: 22 ] > 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 Iskustva sa dsPIC33 i PIC3210.06.2013. u 22:57 - pre 131 meseci
Najavio sam u predhodnoj temi sa PIC16F1455 da cu probati i nesto malo "ozbiljnije" procesore. Evo i te teme :)

Stigli mi PDIP-28 dsPIC-ovi i PIC32. Konkretno sam uzeo ove:

- DSPIC33FJ64GP202-I/SP
- DSPIC33EP128MC502-I/SP
- PIC32MX210F016B-I/SP
- PIC32MX110F016B-I/SP



Ne znam odakle da pocnem, ali ovo sto sam do sad procitao o njima i konkretno na brzinu probao to bas obecava!
Opake "masine" su u pitanju u ovim plasticnim PDIP kucistima. Ja iskreno do sad nisam video 32bitne procesore u PDIP-28 kucistu :)
To mi je u sustini i bio osnovni razlog zasto sam izabrao Microchip a ne neke druge proizvodjace. Sa ovim bar mogu da se igram opusteno na proto board bez komplikacija sa SMD koje bih imao sa drugim proizvodjacima jer ne prave nista slicno u ovakvim kucistima. Ima tu jos nekih prednosti sem kucista koje se uglavnom odnose na raspolozivi HW u procesorima i cena koja nije bas zanemraljiva recimo u poredjenu sa Atmel za slicne perfomanse i raspolozivi HW unutar chipa. Microchip ih je sve tu "ushio" za takvu klasu procesora i mikrokontrolera.

Da ne razglabam sta sve ovi procesori imaju u sebi (uostalom to sve pise u DS), ali bih samo nekoliko stvari izdvojio koje mi se cine vrlo zanimljive, pricam uopsteno i za DSP i za procesore posto su vrlo slicne sprave u pitanju:
- Ogromna Flash i RAM memorija. Ima modela sa 512kB Flash, dodatnih i nezavisnih 24kB za boot-loader, do 32kB staticnog RAM-a.
- 1.1MBPS 10-bitni AD konvertori ili opciono 500kBPS 12bitni AD
- Modeli sa stereo 100kBPS audio DAC-om!!! :)
- Modeli (dsPIC) sa ultra-preciznim PWM. Dakle nije klasican PWM kao sto se vidja svuda vec vrlo specificni predvidjeni za razne SMPS sprave, recimo trofazni sinhroni inverteri sa HW kontrolom (nezavisna od CPU core) recimo vrsne struje izlaznih tranzistora, programibilno vreme "maskiranja" prilikom AD konverzije (preskacu se recimo "lazni" pikovi koji nastuju kod merenja struje), programibilni death-time, mogusnost rada u PSM modu, onda mod kako da to nazovem, za pulsirajuci-pulsirajuci PWM koji se recimo koristi kod upravljanja turbo diznama na benzinskim motorima i svasta jos oko toga. OPAKO!!! [tnx @macolakg za info]
- Modeli (dsPIC) gde CPU core radi na preko 300MHz!!!
- Mogucnost remapiranja specificnih HW funkcija na druge pinove.
- Neki procesori imaju 4 porta za programiranje (PGC/PGD). Ovo iskreno nisam skontao zasta konkretno sluzi, zasto 4 :)
- Integrisani operacioni pojacivaci za analogno procesiranje signala.
- Ostale klasicne periferije poput CAN, LAN, I2C, SPI, JTAG, USB, DMA, gomila tajmera, RTC sat sa alarmom i slicno.

Ovo sve spakovano u jedno chipce daje neverovatne potneciale za svakavke konstrukcije.

Sto se tice razvojnog okruzenja, ja sam recimo uzeo za pocetak PIC32MX210F016B da se igram.
Programator je Pickit 3 i on prakticno podrzava sve ove dsPIC i PIC32. Par kondenzatora, konektor za programator i eto razvojne plocice :) Cak ni externo napajanje nije potrebno, to dobije iz samog programatora.

Vezano za software, uzeo sam sve besplatne alate od Microchip, dakle MplabX i XC32 kompajler. Samo da napomenem da XC32 u free verziji je 100% upotrebljiv, dakle nema nikakvih ogranicenja po pitanju velicine coda-a, vremensko ogranicenje i slicno. To sto za razliku od PRO verzije pravi nesto veci izvrsni code jer nema "optimizaciju" me trenutno ne tangira jer imam "silne" kilobajte rasplozivog flasha koje ne znam sta da pisem pa da potrosim :)

Trebalo mi je cca jedan dan da napravim plocicu i poteram od nule neki prost programcic (togle RA i RB portova) a prvi put sam se uhvatio ovakvih procesora!

Ima od SW biblioteka svasta besplatno na rasplaganju, evo ovde pregled:
http://ww1.microchip.com/downloads/en/DeviceDoc/39962c.pdf

Ima i ceo Linux koji staje u ove procesore :)
http://www.microchip.com/stell...nodeId=2519&param=en546018

Sve u svemu po mom misljenu veoma fina HW/SW kombinacija za mikrokontrolere koja ce me verovatno naterati da skroz batalim 8bitnu platformu :)

[Ovu poruku je menjao mikikg dana 11.06.2013. u 02:47 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

mikikg
System administrator
Srbija

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

Sajt: yu3ma.net


+505 Profil

icon Re: Iskustva sa dsPIC33 i PIC3211.06.2013. u 00:02 - pre 131 meseci
Evo i mog "Hello world" programcica za PIC32MX210F016B. Koriscen je interni RC oscilator za 40MHz clock (moze do 50MHz bez ikakvih posledica, nije to overclock, tako pise u specifikaciji za uze temperaturne opsege). Program samo pali/gasi u krug sve pinove na portovima.

Code:
#include <plib.h> //funkcije za periferije
#include <xc.h> //glavni include 

#pragma config FNOSC = FRCPLL //RC oscilator sa PLL
#pragma config FPLLIDIV = DIV_2 //ulazni delitelj u PLL je 2 da bi imali 4MHz
#pragma config FPLLMUL = MUL_20 // pomnozi sa 20 = 80 MHz (mnogo, device moze 40 - 50MHz)
#pragma config FPLLODIV = DIV_2 // podeli izlazni delitelj sa 2 da bude 40MHz
#pragma config FWDTEN = OFF // Iskljuci WDT
#pragma config FSOSCEN = OFF // Iskljuci sekundarni oscilator (da oslobodim RA2 i RA3)
#pragma config JTAGEN = OFF // Iskljuci JTAG (da oslobodim ostale pinove)

int main(void)
{
    int i;

    //setuj kao izlaze PORTA i ocisti pre upotrebe
    mPORTAClearBits(BIT_7|BIT_6|BIT_5|BIT_5|BIT_4|BIT_3|BIT_2|BIT_1|BIT_0);
    mPORTASetPinsDigitalOut(BIT_7|BIT_6|BIT_5|BIT_5|BIT_4|BIT_3|BIT_2|BIT_1|BIT_0);

    //setuj kao izlaze PORTB i ocisti pre upotrebe
    mPORTBClearBits(BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | BIT_3 | BIT_2 | BIT_1 | BIT_0 );
    mPORTBSetPinsDigitalOut( BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | BIT_3 | BIT_2 | BIT_1 | BIT_0 );

    // Now toggle all pins ON/OFF forever.
    while(1)
    {
        mPORTAToggleBits(BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | BIT_3 | BIT_2 | BIT_1 | BIT_0 );
        mPORTBToggleBits(BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | BIT_3 | BIT_2 | BIT_1 | BIT_0 );

        // Insert some delay
        //i = 1024*1024;
        //while(i--);
    }
}


Interesantno mi je ovde bilo sto bez ovog delay (komentarisan), sa 40MHz clock sam prakticno dobio oko 4MHz ucestanost na izlaznim pinovima (sa samo jednom togle instrukcijom, ne dve) sto pokazuje da je procesoru trebalo "samo" 5 clock taktova da digne i isto toliko da spusti izlazni pin sto je solidan rezultat za program pisan u C!
Sad je malo pitanje koliko stvarno taktova potrosio u toj petlji jer ovi 32bitni procesori imaju "five-stage pipeline" sto je jedna od osobina RISC arhitekture ali u svakom slucaju je za C (ne ASM) program to jako brzo odradio.
Bas cu probati da umetnem umesto ovih C funkcija u while petlji, inline ASM code da vidim da li ce se to ubrzati.
Naravno nije mi ovde bila poenta da generisem frekvencije na pinovima vec me interesovalo koliko je efikasan ovaj C code a kroz merenje frekvencije na pinovima to mogu lako da vidim.

Evo sad sam izmerio i sa dve togle instrukcije u petlji (kao sto stoji u primeru) i opet vrlo zanimljiv rezultat, nije duplo sporije kao sto sam ocekivao vec nesto malo bolje, dobio sam 2.5MHz sto ukazuje da mu onaj pipelining definitivno ubrzava prakticno izvrsavanje instrukcija.

Mislim nije ovo toliko bitno niti kriticno, cisto mali primer dok se "upoznajem" za procesorom i razvojnim alatima ;)

I da, da ne bude zabune ako slucajno probate ovaj programcic, nece bas svi pinovi da se pale gase, nisam baratao sa drugom polovinom porta B, to je jedna razlika u odnosu na 8bit procesore, kod ovog PIC port B nije 8bitni vec 16bitni pa prakticno ima RB0 do RB15.

[Ovu poruku je menjao mikikg dana 11.06.2013. u 01:40 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: Iskustva sa dsPIC33 i PIC3211.06.2013. u 01:54 - pre 131 meseci
> Sa ovim bar mogu da se igram opusteno na proto board bez komplikacija sa SMD

obrati paznju da protobord ne moze da tera velike brzine, 100kbps je realno max sto mozes da ocekujes bez da imas probleme, na 400kbps vec imas probleme a preko toga realno zaboravi tako da cisto imas ideju ako na te procesore vezujes neku perfieriju

> - Mogucnost remapiranja specificnih HW funkcija na druge pinove.

obrati paznju da kod vecine (ja mislim svih) picova ovo remapiranje zahteva restart, dakle mozes u startu da nasetujes sta hoces gde da bude ali ne mozes u kodu da menjas sad mi je na pinu 10 malo usart, malo spi, malo pwm ...

> - Neki procesori imaju 4 porta za programiranje (PGC/PGD). Ovo iskreno nisam skontao zasta konkretno sluzi, zasto 4 :)

zato sto link izmedju procesora i icsp porta ne sme da bude dugacak i zato sto su svi pinovi mixovani sa milion periferija pa zbog lakseg rutiranja i lakseg koristenja periferija imas do 4 icsp porta

obrati paznju POSEBNO KOD ICSP porta ali i kod ostalih stvari - CITAJ ERRATA, DATASHEET NIJE DOVOLJAN!!! veliki broj piconja ima tu neke greskice, dakle veliki broj dspicova ima recimo 3 icsp-a u datasheet-u ali onda u errata pise "drugi icsp port ne radi", nisu neki veliki problemi ali kad uradis pcb i sve napravis i ono ne radi, dodje ti da se roknes ... dakle citaj errata obavezno
 
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: Iskustva sa dsPIC33 i PIC3211.06.2013. u 01:59 - pre 131 meseci
> Interesantno mi je ovde bilo sto bez ovog delay (komentarisan), sa 40MHz clock sam prakticno dobio oko 4MHz ucestanost na izlaznim pinovima sto pokazuje da je procesoru trebalo "samo" 5 clock taktova da digne i isto toliko da spusti izlazni pin sto je solidan rezultat za program pisan u C!

program u C-u to radi u jednoj instrukciji, problem je u tome sto PIC32 nije klasican mcu vec je to MIPS core sa perfierijom. Ako pogledas sta radi ToggleBits funkcija bice ti jasnije :D
 
Odgovor na temu

mnn
sm

Član broj: 85435
Poruke: 723
*.dynamic.isp.telekom.rs.



+25 Profil

icon Re: Iskustva sa dsPIC33 i PIC3211.06.2013. u 08:34 - pre 131 meseci
Kako si poterao ovaj Pic32 , PK3 solo ili kroz Mplab+PK3?Ja imam ovaj Pic 32 koji si ti spominjao i njega moj PK3 ne prepoznaje (nema ga u spisku),dok Pic32mx440 prepoznaje.
 
Odgovor na temu

mikikg
System administrator
Srbija

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

Sajt: yu3ma.net


+505 Profil

icon Re: Iskustva sa dsPIC33 i PIC3211.06.2013. u 09:24 - pre 131 meseci
@bogdan.kecman Hvala na savetima. Jasnom mi je za protoboard. To sam upotrebio samo da na brzinu uopste pokrenem procesor. Citacu ERRATA ;)
Za ovu togle instrukciju u C, vidim ustvari da radi samo LATAINV, to je masinska instrukcija?
Razbacali su ovu dokumentaciju po posebnim dokumentima pa mora da se juri za detalje, nije kao pre sve u jednom dokumentu.

@mnn Koristio sam PK3 i MplabX 1.80, zadnja verzija. Koliko sam video u spisku podrzanih procesora, skoro sve dsPIC, PIC32 i naravno gomilu ostalih CPU podrzava ovaj programator. Moguce da ti je stariji software (Mplab) pa je to razlog. Sam programator se prilikom promene procesora u IDE interno reprogramira (menja se firmaware programatora svaki put od strane IDE-a) da bi uopste odradio programiranje target device tako da su na taj nacin (malo cudan) resili podrsku za sve buduce procesore.
Slicna situacija je i sa ICD2, recimo njega nema uopste u spisku podrzanih programatora, pogledam onda starije spiskove vidim da podrzava PIC32 ali ga sad sam MplabX ne podrzava tako da su tu ustvari napravili malo zalud da ucare nesto novca na novim programatorima.
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
*.static.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Iskustva sa dsPIC33 i PIC3211.06.2013. u 11:02 - pre 131 meseci
> obrati paznju da kod vecine (ja mislim svih) picova ovo remapiranje zahteva restart, dakle mozes u startu da nasetujes sta hoces gde da bude ali ne mozes u kodu da menjas sad mi je na pinu 10 malo usart, malo spi, malo pwm ...

Dobro to je OK i logicno. Kad bi gledali sa spoljasnje strane HW, to bi bilo skroz komplikacija da se menja prakticno funcionalnost pojedinacnih pinova, morao bi nekakve prekidace da stavljas da tera tamo/vamo sto je bas bezveze trosis druge pinove za njihovo upravljanje tako da kada treba dosta tih periferija valja se uzeti procesor sa vise I/O. Znaci to je OK tako kako jeste, zgodno da se postavi sta gde treba radi boljeg/lakseg rutovanja na PCB.
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: Iskustva sa dsPIC33 i PIC3211.06.2013. u 11:07 - pre 131 meseci
pa realno i nije bas, taj pin select hw je slican kao kod ovih soc cipova, dakle imas mali osakaceni pld izmedju periferije i pinova i on prespaja sta gde ide, realno ne postoji razlog zasto to ne bi mogao da radis real time, mislim da je limitation vise u varijanti da je neko ko je projektovao kapirao da "to nikome ne treba" i naravio tako posebno sto ti softwerski ti podesavas tako da nije ono da to programator napece ..
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.static.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Iskustva sa dsPIC33 i PIC3211.06.2013. u 11:34 - pre 131 meseci
ok, ja to gledam malo sa prakticne strane, recimo stvarno ne znam kako bih prosto resio to spolja, na primer da pomesam SPI i I2C sa istih pinova, imao sam takvih zahteva sa manjim 8bit zbog nedostatka I/O pa iz tog ugla gledanja mi se to cini prihvatljivo sto je to tako kako jeste. Bez nekakvih prekidaca ja ne znam da li bi se "trpeli" na istom bus-u razlicite periferije sa razlicitim protokolima, sigurno bi u nekom trenutku dovelo do konflikta na bus-u.

Recimo i da moze da se menja u runtime funkcionalnost (SPI / I2C), trebao bi mi minimum neki analogni prekidacki IC ili 5 malih dualgate MOS-FET + desetak otpornika + da potrosim jedan dodatni pin za njihovo upravljanje i sta sam ustedeo, jedan pin na procesoru :) ... Neprakticno, glomazno i skupo ... Za takve situacije se ipak isplati uzeti procesor sa vise I/O i sve je ok.

[Ovu poruku je menjao mikikg dana 11.06.2013. u 13:38 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: Iskustva sa dsPIC33 i PIC3211.06.2013. u 12:26 - pre 131 meseci
primer - buspirate

oni koriste tu foru, original koristi usbserial adapter (ftdi) i na izlaznim pinovima od pica je konektor, ako ti oces da picis spi bus oni prekonfigurisu izlaz u spi i resetuju se, ako oces usart, prekonfigurisu usart i resetuju se etc etc ... (i2c i ostali), e sad, nova verzija je kao u fazonu da radi bez ftdi-a vec da koristi usb stack na picu i prc, promenis sta je na busu i mora se resetujes, ti se resetujes - usb konekcija naravno pukne, ide nova enumeracija .. i jbg, sve postane uber neupotrebljivo ...
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.static.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Iskustva sa dsPIC33 i PIC3211.06.2013. u 12:53 - pre 131 meseci
To su sve malo specificne situacije gde je frka za nekoliko pinova. Ako budem dosao u te situacije resavacu ih vec kako bude moglo ...

Za ovu fazu upoznavanja me neke druge stvari interesuju, recimo koja je neka konkretna razlika izmedju dsPIC i PIC32 posto vidim da sto se tice core-a prakticno sve to vec PIC32 ima. Sta je tu prednost dsPIC-a u odnosu na PIC32 recimo bas za DSP potrebe iako za PIC32 spominju u DS da imaju neke funkcije koje su optimizovane za DSP (na stranu HW razlike oko periferija, racun/matematika me 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: Iskustva sa dsPIC33 i PIC3211.06.2013. u 13:39 - pre 131 meseci
pazi pic32 je mips core, 32bitne instrukcije... nema specijalne dsp instrukcije ali je vrlo brz i moze svasta da odradi ... ja nisam vidjao (mozda ima) sa brzim adc-ovima i slicno ... no pic32 je serija za sebe i vrlo je nepovezan sa ostalim picovima. dspic je "dsp" zato sto za razliku od "normalnih" 16 bitnih piconja ima DSP instrukcije ... gomila dsp libova postoji sam oza dspic, pogledaj tabelu brzine izvrsavanja ovde:

http://www.microchip.com/stell...eId=2680&dDocName=en023598

koliko se seacm pic32 nema instrukcije tipe MPY, MSC i slicno...

u svakom slucaju ako ces da radis DSP moj savet ti je ili da ides na pravi dsp (neki TI ili tako nesto) ili ako oces dsp mcu da ides na cortex m4 posto on ima dsp a mnogo je bolji mcu od dspica
 
Odgovor na temu

mikikg
System administrator
Srbija

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

Sajt: yu3ma.net


+505 Profil

icon Re: Iskustva sa dsPIC33 i PIC3211.06.2013. u 22:41 - pre 131 meseci
Hmm, moracu da probam Cortex M4 definitivno, odlican procesor je u pitanju.

Za sad mi je cilj bar nesto da pokrenem oko DSP (kad vec imam HW), neki FIR ili slicno sa raspolozivim A/D u ovim dsPIC, cisto da vidim sta se tu opste desava pa kasnije mozda uzmem neku jacu bazu sa nekim CODEC-om. Trebace mi vremena da to sve pohvatam, za pocetak neke osnove i principe oko tih digitalnih filtera (to me najvise interesuje).

[Ovu poruku je menjao mikikg dana 12.06.2013. u 00:24 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: Iskustva sa dsPIC33 i PIC3211.06.2013. u 22:50 - pre 131 meseci
cm4 ima dsp (generalno cm4 je cm3+dsp) ali ne znam nista dalje o tome, nisam video neke fancy dsp biblioteke (tj video sam neke koje dolaze us STM43F4 ali nisam ih probao) etc etc ,... tako da znam da postoji i da dobija na popularnosti zestoko, koristio nisam

dspic, ni ovde ja nisam radio neki dsp da mogu nesto preterano iskusno da ti kazem ALI, u brdo projekata koje sam video na netu sam cuo da ljudi spominju neki alat u kom ti nacrtas filter, ucukas parametre, gledas grafikone ovo ono i on ti izgenerise kod koji ti samo ubacis u svoj program i koristis ... ja nisam video o kom je alatu rec ali nesto za dspic ocigledno postoji (i verovatno nije dzaba ali ako saznas kako se zove, sve je moguce) .. mene dsp nikad nije nesto preterano zanimao pa nisam istrazivao na tu temu ali sam vidjao .. (na zalost bukmarci su kaput tako da.. moraces da trazis sam, ali definitivno postoje neki alati koji generisu kod za dspic i koji umeju da koriste te dspicove "to the max") ... ako sam ja dobro skapirao, cistim C-om se neces usreciti posto C30 je GCC a on koliko ja znam ne ume da koristi dsp instrukcije (osim ako ih ne ubacis direkt u asm deo)
 
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: Iskustva sa dsPIC33 i PIC3211.06.2013. u 23:00 - pre 131 meseci
http://www.microchip.com/stell...eId=1406&dDocName=en023602

pogledaj to :D
 
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: Iskustva sa dsPIC33 i PIC3211.06.2013. u 23:12 - pre 131 meseci
i ovo
http://www.microchip.com/stell...eId=1406&dDocName=en538347
 
Odgovor na temu

mikikg
System administrator
Srbija

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

Sajt: yu3ma.net


+505 Profil

icon Re: Iskustva sa dsPIC33 i PIC3211.06.2013. u 23:25 - pre 131 meseci
To to, odlicno, hvala!
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

grabik

Član broj: 32507
Poruke: 311
*.adsl.net.t-com.hr.



+7 Profil

icon Re: Iskustva sa dsPIC33 i PIC3212.06.2013. u 08:37 - pre 131 meseci
Ja sam koristio program koji je pisan u C-u za dspic i racuna pid (float) i mogu reci da taj matori 30F "cekica" matekatiku samo tako ,nisam koristio nikakve dspic komande, nisam ulazio nesto u teoriju ali kompajler sam koristi 17 bitno zbrajanje ,mnozenje oduzimanje i 40 bitni accu ili mozda gresim.
Koji korteks dspic ima 2 fizicka QEI i to da budu 32 bitna ,brzina 80 mipsa i da kosta 4 funte komad?
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.static.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Iskustva sa dsPIC33 i PIC3212.06.2013. u 09:35 - pre 131 meseci
Evo ovde par brosura oko DSP sa osvrtom na Cortex jezgra i poredjenje sa klasicnim DSP.
http://www.dspconcepts.com/sit...DSP%20vs%20Micro%20rev%202.pdf
http://www.arm.com/files/pdf/dspconceptsm4presentation.pdf

Ima Cortex tu nekih prednosti u odnosu na dsPIC ali je pitanje koji uopste nivo neke snage je potreban za neku prakticnu konstrukicju.
Za sta znam neke relativno prostije stvari popud PID regulacije, upravljanje nekim motorima, prosto audio procesiranje moze sigurno da zavrsi posao i dsPIC ili klot 32bitni procesor.
Sve preko toga zahteva neke druge pristupe ili jace procesore, npr nekakvo procesiranje slike u realnom vremenu.
Bas u drugoj brosuri se poredi jedna funkcija za FIR filter gde recimo klasican DSP u ASM to moze da uradi u jednom taktu i onda porede to kako bi izgledalo u C, pa su poceli sa prostim ekvivalentom koji je trosio 12 ciklusa, pa su onda optimizovali algoritam i smanjili na 8 pa 6 ciklusa i na kraju su iskoristili neke specificne algoritme i posebne funkcije u M4 jezgru i dobili su ekvivalentnu funkciju u C koja je trosila oko 1.6 ciklusa.

Sad opet prica oko dsPIC, koliko sam gledao oko tih DSP biblioteka koje Microchip nudi, oni su sve vremenski kriticne funckije pisali bazicno u ASM i wrapovali kroz C funkcije kako bi se integrisale u klasicne C programe tako da su tu relativno OK resili za taj nivo procesora i tu neku raspolozivu snagu procesiranja koju pruza.

U mom slucaju nemam predstavu kolika mi je snaga potrebna. Moj neki pocetni plan je da uzmem interni A/D sa jedno 8 ili 10kbps sampling rejtom i da recimo napravim band-pass filter oko 2kHz sa sto strmijim ivicama filtera. Pokusacu da output izbacim na PWM (valjda moze) da vidim nasta to lici, koliko kasni, itd ... Dakle samo primer da udjem u tu pricu. Za neke ozbiljnije primene vec treba dedicated AD/DA ili CODEC.

Sto se tice cena, hmm, za ovu klasu procesora i ovaj broj nozica je Microchip povoljan, ali sad je to malo nezgodno sto recimo za nekoliko puta jace procesore od NXP ili ST sa cudom periferija nije X puta veca cena vec mozda samo duplo sto je dosta bolji odnos cena/perfomanse.

Nisam ja strogo "zabidzio" za Microchip po ovom pitanju, jednostavno mi je za pocetak to bilo najlakse da prakticno pustim u pogon kako bi se upoznao uopste sa problematikom tako da kada to malo pohvatam i vidim sta moze/ne moze onda cu probati verovatno Cortex M4. Microelektronika ima onu njihovu Mini seriju Cortex M4 procesora spakovanu u DIP40 plocicu pa cu mozda to uzeti da probam. Znate i sami kakva je muka sa PCB, zato biram ova zgodna DIP kucista makar da pokrenem u pogon ali kasnije kada budem pravio nesto ozbiljnije morace neki SMD da se koristi, nema druge.

[Ovu poruku je menjao mikikg dana 12.06.2013. u 11:01 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: Iskustva sa dsPIC33 i PIC3214.06.2013. u 16:05 - pre 131 meseci
Poterah nekako ovo cudo od dsPIC!!!

Uzeo sam interni AD, zatim od njegovog PWM napravio prosti DA (~100kHz freq), interapte, tajmeri ...

Za sad sam samo prosledio ono sto stigne sa AD da izbaci na DA (imam prost 2nd order RC LPF), i to radi! :) AC coupled mi je sve, dakle za nekakve audio signale je spremljeno.
Mora to jos malo da "ufasujem", rezuluciju, sampling rate, PWM itd da bi dobio neke prihvatljive perfomanse (za audio <10KHz).

Onda se bacam na FIR ;)
Tu sam negde ...

Kad mi proradi FIR onda sam na konju. Onda cu da vidim sta dalje :) Dal CODEC, dal Cortex M4 ...
Samo da pohvatam kako se to sve uopste realizuje tj da dodjem do prakticnog algoritma koji nekako radi i posle toga ce se bakcem sa "sitnim crevcima" ...

----

UPDATE

Ufff ... Malo sam ovo ustelovao, uglavnom oko sampling rate .. Ovo radi boli glava!!
Recimo dobio sam kvalitet zvuka kao neki prosecan FM radio prijemnik. Ali, ovo je bez audio CODEC-a!

Dakle interni 12bit ADC od PIC-a i interni PWM (predvidjen za kontrolu motora) umesto DAC, dakle samo "prolazi" zvuk kroz DSP.
Nemam ni jedan operacioni pojacivac, nista aktivno spolja, jedan trimer (hak umesto OP-a za AD), nesto R/C i to je sve. Svira samo tako.
Odusevljen sam scime sam i sta sam dobio.
Jedva cekam da probam filtere.


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

[es] :: Elektronika :: Mikrokontroleri :: Iskustva sa dsPIC33 i PIC32

Strane: 1 2

[ Pregleda: 5979 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

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