A.9 La realizzazione del programma
 

Il programma che il DSP dovrà eseguire è scritto in assembler. Tale linguaggio si basa su del codice mnemonico, nel quale vengono espresse le varie istruzioni il cui significato è intuibile da un osservatore umano. Tale codice non è però interpretabile dal processore, che pretende delle istruzioni esclusivamente sotto forma di byte. Per cui l’utente dovrà utilizzare un opportuno assemblatore che interpreti il suo codice, associando ad ogni istruzione il suo opcode, ossia il corrispondente valore in notazione esadecimale. Nella figura 1 si illustra il metodo di funzionamento dell’assemblatore fornito dalla Texas. 

Schema delle diverse fasi per la costruzione di un programma assembler

Fig 1 – Schema delle diverse fasi per la costruzione di un programma assembler.


Il file .dsk prodotto a partire dal codice assembler (.asm) è in grado di comunicare con il debugger installato sul PC che offre un monitoraggio di tutti i registri interni del DSP, montato su una basetta sperimentale. Una volta che il programma è stato opportunamente provato ed eventualmente modificato si dovrà trasferire su una eprom dalla quale il DSP montato sul circuito e non più comunicante con il PC dovrà acquisirlo nella RAM.
Per compiere quest’ultimo passo bisogna trasformare gli opcode contenuti nel file .dsk in byte, con la creazione di un file .bin (binario) immagazzinabile nella eprom.
L’assemblatore usato non prevedeva tale passaggio, per cui si è scritto un programma in quick-basic (dsk2bin), in grado di leggere il file .dsk e di produrne uno binario; nell' appendice B.4 se ne riporta il listato.
Nella parte iniziale di un file binario andranno sempre aggiunte delle istruzioni (header) contenenti indicazioni fondamentali per il processore, quali la scelta di quanti bit per volta dovranno essere letti dalla eprom, il numero di wait state, la lunghezza del programma da caricare nella RAM e l’indirizzo da cui iniziare l’esecuzione. Nel caso in questione vengono letti 8 bit alla volta (la eprom impiegata può immagazzinare dati da un byte), con 7 wait state e l’esecuzione del programma comincerà dalla locazione 809803h.
Le informazioni dell’header vengono automaticamente aggiunte all’inizio di ogni programma, direttamente da dsk2bin; delle quattro istruzioni tre sono fissate (ad hoc per i nostri scopi), mentre la locazione di memoria per l’esecuzione del programma viene chiesta di volta in volta.
La realizzazione del filtro FIR ha richiesto la scrittura di un altro programma (filter, sempre realizzato in quick-basic) dal momento che era improponibile inserire tutti i coefficienti da tastiera. Filter, infatti legge il file prodotto da FDAS e a partire dai coefficienti, produce un file contenente il codice assembler relativo all’implementazione di un FIR. Nell' appendice B.5 si riporta il listato di filter, mentre nella seguente figura viene illustrato il diagramma a blocchi relativo alla scrittura del programma per il DSP.

Schema a blocchi delle varie fasi per la costruzione del programma assembler

   

Fig 2 – Schema a blocchi delle varie fasi per la costruzione del programma assembler del sensore fine.


Home | Precedente | Successivo