Home
Accesso / Registrazione
 di 

DSP: Cosa sono i Digital Signal Processor? - seconda parte

DSP: Cosa sono i Digital Signal Processor?

DSP: Cosa sono i Digital Signal Processing? - seconda parte. Come abbiamo visto, l’elaborazione dei segnali numerici risulta molto importante, occorre quindi spendere qualche parola sui dispositivi periferici che ci permettono di operare in questo settore.

In diverse applicazioni, il segnale è originato in forma analogica ovvero in una sequenza di variazioni continue, ed il primo passo da compiere per applicare le tecniche di elaborazione numerica è quello di trasformare il segnale analogico in una sequenza di numeri: questa operazione è chiamata conversione analogicodigitale e il dispositivo che la compie è appunto un convertitore A/D.

La fedeltà di conversione è legata al numero di bit del convertitore analogicodigitale: più è alto il numero di bit, più è precisa la sua rappresentazione mediante una sequenza di numeri. Quando il segnale è stato convertito in modo appropriato, può essere elaborato o trasformato in un’altra sequenza di numeri attraverso procedimenti matematici che abbiamo citato come “trasformata di Fourier “.

Le elaborazioni sono fatte dal nostro DSP che possiede un set di istruzioni adeguato ad eseguire i calcoli necessari.

Una seconda fase può essere quella di ritrasformare il segnale elaborato in un segnale analogico attraverso una conversione che questa volta prende il nome di conversione digitale/analogica: il componente che la attua si chiama convertitore D/A. Il segnale che otteniamo è una approssimazione più o meno fedele del segnale in ingresso ed anche in questo caso la fedeltà è legata al numero di bit del convertitore D/A. E’ ovvio che se abbiamo convertito con un A/D a 16 bit, dobbiamo riconvertire con un D/A a 16 bit altrimenti perderemo parte delle informazioni del segnale elaborato.

Processori DSP: LA FAMIGLIA TMS320

Il processore numerico a cui faremo riferimento in questa serie di articoli è quello della Texas Instruments siglato TMS320C50. La nostra scelta è caduta su questo integrato, e più in generale sulla famiglia TMS320 della Texas Instruments, per svariati motivi tra cui la notevole diffusione e l’ottimo rapporto prezzo/prestazioni del chip, la disponibilità di una ricca biblioteca di programmi applicativi e, non da ultimo, un sistema di sviluppo a basso costo denominato TMS320C5X DSP Starter Kit. Come vedremo in questa serie di articoli, all’interno di questo nuovo D.S.P. troviamo tre distinte unità logiche, denominate P.L.U., A.L.U. e A.R.A.U. La P.L.U. (Parallel Logic Unit) è una delle grandi novità implementate in questa famiglia di DSP in quanto è l’unità logica parallela in grado di lavorare in modo indipendente rispetto al resto del chip. La P.L.U. riesce a compiere operazioni quali la manipolazione dei bit nel registro di stato oltre ad effettuare alcune operazioni logico-aritmetiche. La A.L.U. (Arithmetic Logic Unit) è l’unità centrale di elaborazione a 32 bit, ad essa sono associati diversi registri di controllo tutti a 32 bit che rendono molto più potenti le elaborazioni.

La A.R.A.U (Auxiliary Register Arithmetic Unit) è l’altra grande novità in quanto a lei spetta il compito di gestire i registri per gli indirizzamenti in memoria. Anche questa unità lavora in modo indipendente dalla A.L.U. Nelle prossime puntate analizzeremo più in dettaglio queste singole parti, per il momento possiamo dire che con un solo ciclo macchina il D.S.P. è in grado di calcolare un indirizzo, manipolare dei bit nel registro di stato e compiere una operazione logico-aritmetica.

L’accesso in memoria RAM può essere di tipo parallelo e, in questo caso, il blocco di dati viene letto da un puntatore e scritto da un altro in uno stesso ciclo macchina. Esiste poi una particolare zona RAM a singolo accesso in cui possiamo leggere o scrivere in un blocco mentre stiamo scrivendo o leggendo dei dati in un altro blocco, il tutto nello stesso ciclo macchina. I microprocessori della famiglia TMS320 sono in grado di operare direttamente con numeri interi di 16 bit e con numeri in virgola mobile di 32 bit; la ricchezza di istruzioni fanno di questi chip dei prodotti molto flessibili e adatti a svariati tipi di applicazioni.

IL Digital Signal Processor DSP TMS320C5X

In questi articoli faremo riferimento ad un evoluto DSP della Texas Instruments contraddistinto dalla sigla TMS320C5X. L’alta velocità di esecuzione delle istruzioni ed un clock esterno di 40 Mhz lo rendono adatto per elaborazioni in tempo reale di una grande varietà di segnali. L’unica limitazione è dovuta al convertitore che funziona ad una frequenza massima di 16 Khz, ciò vuol dire che al massimo possiamo processare segnali di 6÷7 Khz.

Infatti nelle conversioni analogicodigitali e viceversa vige un teorema chiamato appunto “teorema del campionamento”; sulla base di questa regola, se vogliamo riprodurre un segnale analogico in una forma numerica che possa essere una rappresentazione fedele di quello analogico, dobbiamo impiegare un segnale di campionamento con una frequenza almeno due volte superiore rispetto alla massima frequenza del segnale da campionare. Attualmente il TMS320 è disponibile in cinque configurazioni contraddistinte dalle sigle C1x, C2x , C3x, C4x, C5x: ogni versione si differenzia dalle altre per la dimensione della memoria interna e per la potenza di calcolo.

Tutti i modelli hanno la possibilità di lavorare come microprocessore o microcontrollore. L’ultimo nato è il TMS320C5x un dispositivo creato per supportare applicazioni anche molto complesse come il riconoscimento di immagini o, nel campo militare, la manipolazione di mappe digitali per il controllo automatico delle traiettorie dei missili; ciò comunque non limita il suo impiego negli altri campi citati in precedenza. Prima di occuparci in dettaglio dello Starter Kit prodotto dalla Texas Instruments, è necessario sottolineare la versatilità di questi dispositivi che sono tutti compatibili tra loro, sia che lavorino in virgola mobile che con numeri interi. E veniamo allo Starter Kit. Quello fornito dalla Texas prevede, oltre al D.S.P., anche un insieme di componenti che ne consentono l’immediato interfacciamento ad un PC.

tms320_dsp_starter_kit

Non sono compresi nel kit pur essendo necessari per il funzionamento del sistema di sviluppo i seguenti elementi: un cavo seriale RS232 standard, un alimentatore da 9 Vac 250 mA con connettore jack da 2.1 mm, un Personal Computer IBM o compatibile dotato di hard disk, di un driver per floppy da 3 1/2 1.44 Mb e di 640 Kbyte di memoria convenzionale. La descrizione dettagliata della scheda di emulazione verrà fatta in seguito, per ora vediamo le parti che la compongono e le sue principali prestazioni. Dallo schema a blocchi riportato nell’articolo, notiamo che il kit è composto dal DSP TMS320C50, a cui è collegata una PROM da 32Kx8 contenente il settaggio della scheda, un’interfaccia per il collegamento al PC tramite porta seriale (XDS 510) ed un convertitore analogico-digitale/digitale-analogico a 14 bit, predisposto per essere collegato “al mondo esterno” con prese Jack sia in ingresso che in uscita. E’ presente inoltre un connettore di espansione su cui troviamo, oltre al bus dati ed al bus indirizzi, tutti i segnali di controllo per un’eventuale espansione del sistema. A proposito della PROM occorre fare una precisazione; in essa risiedono i protocolli di comunicazione tra la porta seriale del PC e il dispositivo, protocolli che non sono accessibili via software, in quanto memorizzati all’atto della creazione del dispositivo.

Il DSP può essere configurato in due diversi modi di funzionamento semplicemente settando un piedino dell’integrato; i due modi di funzionamento prevedono l’utilizzo come microprocessore o come microcontrollore. Nel primo caso il piedino MP/MC è settato a 1 (+Vcc) e il dispositivo si configura con due zone RAM, una a singolo accesso ed un’ altra a doppio accesso, una parte riservata agli interrupt e due zone di memoria associate a delle ROM e RAM esterne. Nel modo di funzionamento a microcontrollore invece una zona e dedicata alla ROM interna dove risiede il programma da eseguire. Analizzeremo più avanti dettagliatamente le varie sezioni e scopriremo che alle zone di memoria accedono simultaneamente tre bus paralleli diversi, ognuno dedicato a un compito specifico. Nelle prossime puntate spiegheremo come lavora questo tipo di microprocessore analizzandone le funzioni principali.

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 13 utenti e 133 visitatori collegati.

Ultimi Commenti