Vai al contenuto
PLC Forum


Applicazioni Con Dspic - ne vale la pena?


dlgcom

Messaggi consigliati

Salve a tutti,

In alcune applicazioni i pic iniziano ad avere delle limitazioni .

Un po' per l'architettura a 8 bit e un po' per la limitata potenza di calcolo.

Un naturale sostituto potrebbe essere il DSpic , per i 16 bit e l'unita' dsp interna.

Pero' leggendo qua e la nel forum, ho letto pareri disordanti sulla validita' di questi processori.

Alcuni consigliano di migrare verso altre piattaforme come motorola o texas.

Chi ha gia' usato questi componenti e per quali applicazioni?

Valre la pena investire su questo componente?

Partecipate e fate partecipare! :lol:

Link al commento
Condividi su altri siti


Io e Claudio (Ifach) abbiamo fatto un'applicazione con due dspic in architettura quasi parallela (nel senso che si scambiano dati su bus parallelo ed elabrano parallelamente alcune funzioni). Il risultato sembra essere buono. A mio parere il punto di forza di questi micro è la validità ed il basso costo dei tool di sviluppo. L'IDE è gratuito (MPLAB), la suite del "C" è praticamente gratis ed ICD2 è sufficientemente potente per un costo veramente basso. Certo esistono controllori un poco più potenti o un poco più ottimizzati, però valutando costo-prestazioni vale la pena di usarli.

Link al commento
Condividi su altri siti

Confermo quanto detto da Livio ed aggiungo che il compilatore e' un ottimo compilatore (niente a che vedere con i discreti CCS & co usati per i PIC) ed i dsPIC permettono un passaggio praticamente indolore a chi gia' conosce i PIC.

Senza tralasciare le prestazioni che sono di tutto riguardo : MAX 30 Mips con un semplice quarzo da 7,5MHz , operazioni a 16 Bit , discreta quantita' di memoria.

Ciao :)

Link al commento
Condividi su altri siti

In pratica un DSP (digital signal processing) e' un'unita' che permette di fare calcoli matematici molto velocemente in particolare per eseguire filtraggi di segnali in maniera digitale invece che analogica.

Per fare cio' sono stati creati i DSP ; il bello del dsPIC e' che si programma solamente in C e si ottengono per esempio moltiplicazioni in virgola mobile con 4 colpi di clock (esattamente come con i PIC).

Per fare tali operazioni il dsPIC usa diversi registri dedicati a 16 bit.

In pratica la differenza tra un PIC e un dsPIC e' come quella che passa tra un micro e un micro + coprocessore matematico.

Ciao :)

Modificato: da ifachsoftware
Link al commento
Condividi su altri siti

BUONGIORNO,

Io sto passando dalla serie 18 al DsPic per avere più memoria.... e sinceramente dal punto di vista operativo non ne vedo assolutamente differenza.... TUTTO dipende dalle esigenze....

Link al commento
Condividi su altri siti

CIAO dlgComm

Per prima cosa: come va in Brasil???

Con quella affermazione intendevo dire che se vai a programmare in "C" , usare il C18 o il C30 non ci sono differenze per il loro utilizzo.... non devi imparare come si utilizza un nuovo programma..... e il DsPIC è un'evoluzione, un upgrade rispetto al PIC 18, quindi vai solo a guadagnarne in facilità di utilizzo per le maggiori potenzialità date..... chiaro?

Ciao e fammi sapere

Link al commento
Condividi su altri siti

Ho il seguente quesito:

Ho un DsPIC4012 con 20 MHz clock, e con il seguente programma:

void init (void)

{

// Inizializza porte

PORTC=0; //init Porta C

TRISC=0; //RC13:RC14 = Output

}

int main (void)

{

init();

while(1)

{

if (PORTCbits.RC14==0)

{

(PORTCbits.RC14=1);

}

else

{

PORTCbits.RC14=0;

};

}

}

PRATICAMENTE UN BLINK DI UN LED (USCITA ALLA FREQUENZA DI CICLO DI PROGRAMMA... IL PROGRAMMA HA UN TEMPO CICLO DI 5 us .... ma com'è possibile con 20 MHz di clock e un paio di istruzioni in croce????

Link al commento
Condividi su altri siti

X DLGCOM:

"come fai a misurare i 5 us?" Con oscilloscopio ( il led lampeggia a frequenza ciclo programma).

X IFACHTSOFT:

"Bisogna vedere che rapporto di moltiplicazione hai usato per il quarzo da 20Mhz" ... penso di usare fattore moltiplicativo =1 cioè non l'ho mai impostato..... mi dici dove tu imposti a 16 il fattore moltiplicativo? ..... intanto vado a comperarmi un quarzo 7.5 Mhz!!!

Azz.... un progetto durato 8 mesi?! ma per hobby o lavoro?

Link al commento
Condividi su altri siti

Se hai usato i 20MHz moltiplicati è per 1 esegui 25 istruzioni in 5us. Certo che in asm il blink del led lo si fa con solo 5 istruzioni!. Comunque, in "C", risolvo un PID in meno di 1ms con un DSPic con quarzi a 7.5 MHz. Puoi stare tranquillo sull'efficienza della macchina e del compilatore, se usi il compilatore Microchip.

Link al commento
Condividi su altri siti

X IFACHTSOFT:

"Bisogna vedere che rapporto di moltiplicazione hai usato per il quarzo da 20Mhz" ... penso di usare fattore moltiplicativo =1 cioè non l'ho mai impostato..... mi dici dove tu imposti a 16 il fattore moltiplicativo? ..... intanto vado a comperarmi un quarzo 7.5 Mhz!!!

Azz.... un progetto durato 8 mesi?! ma per hobby o lavoro?

Modificato: da ifachsoftware
Link al commento
Condividi su altri siti

Azz... non riesco a capire:

Come già detto prima mi trovo che il lampeggio è fatto ed ho un tempo ciclo di 5us con un DsPIC, mentre lo stesso programma con PIC18 e stesso quarzo è di 1us....... non so se siano le imposytazioni, ma con il DsPic ho messo il moltiplicatore.... non è cambiato niente!!!! Boooooo qualcuno mi sa dire qualcosa???

Quasi quasi lavoro con PIC18 ..... perchè no?

Link al commento
Condividi su altri siti

Ciao,

effettivamente ieri ho provato con unquarzo 4MHz e moltiplicato per 32.... il ciclo impiega 1us ... è molto più veloce. Purtroppo sono ancora indeciso, perchè queste sarebbero le esigenze del mio micro:

- Memoria RAM almeno 4K

- Velocità esecuzione nel senso che piùveloce è meglio è ...

Per ora sto utilizzando un 18F2620,a 20 MHZ... ma mi piacerebbe utilizzare il DsP, peccato che quelli a 28 PIN si arrivi solo a 2K di memoria....mi sa che rimarrò dul 18 e porto il quarzo a 40Mh

che mi dite?

Link al commento
Condividi su altri siti

Non è solo una questione di clock, i dsPIC hanno anche un motore differente. Poi ci sono anche i dip da 40 pins che hanno poù memoria... Se poi hai bisogno di ottimizzare la velocità devi pensare ad utilizzare l'assembler.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...