Capitolo 6
[13]
La scheda di sviluppo
Il sistema con il quale si è realizzato e testato l’intero progetto consta di una scheda,
sulla quale è montato l’hardware che è descritto nel capitolo dedicato, dell’emulatore collegato con il calcolatore sul quale viene fatto girare l’ambiente di sviluppo Code Composer, e di una scheda esterna da me realizzata, che permette di interfacciare la board hardware suddetta con il mondo esterno, sia per quanto riguarda le alimentazioni che per quanto riguarda gli ingressi e le uscite analogiche, nonché i comandi esterni. La scheda è illustrata nella figura seguente:
La realizzazione di questa scheda ha fatto riferimento ad un progetto che ha prodotto uno schematico, il quale ha tenuto conto di tutte le specifiche di interfacciamento fornite dal cliente. Lo schematico, di immediata lettura, è riportato nella precedente figura. Va notato che per la massa, a cui si riferisce l’alimentazione dei 3.3 V cui sono connessi i pull up dei Command ed i deviatori dei Setting, possono essere utilizzate sia la massa digitale (DGND) sia quella analogica (ANGD) che del resto sono messe internamente in corto tramite il connettore J1.
Nella prossima figura vengono etichettate le varie componenti presenti sulla scheda. Queste si possono vedere anche direttamente dallo schematico:
Le funzioni della parte Command sono state già trattate nel precedente capitolo. Ovviamente essendo Start, Stop e Pause dei Command che vengono inoltrati tramite la pressione e il rilascio di un tasto, si è provveduto a questi con dei tastini collegati a massa da un lato e dall’altro ad un pull up resistivo. Solo con la pressione del tasto è possibile portare a zero il livello logico presente su tale tastino, che altrimenti sarebbe alto per via del pull up, e quindi inoltrare il Command richiesto (si ricorda, come già detto nel capitolo precedente, che il segnale di Start viene ricevuto non appena si ha la pressione del tasto relativo, indipendentemente da quando si decide di rilasciare il tasto; viceversa i Command di Pause e di Stop valgono per tutta la durata del tempo in cui resta premuto il tasto, mentre al rilascio si disattivano).
Per quanto riguarda invece le altre impostazioni, ovvero i Setting, che si ricorda sono: Reset conditions, Repeat, Rec/play e Sample rate, non sono stati previsti dei tasti ma dei deviatori che mantengono il loro stato senza dover mantenere la pressione del dito. Ciò è diretta conseguenza del fatto che questi quattro Setting servono per impostare sul CF-P/R la modalità di funzionamento che deve naturalmente essere mantenuta sulla macchina.
Come da schematico si vede che è stato previsto anche un circuito di reset esterno che va direttamente a comandare il piedino di reset del DSP cui fa capo il circuito già precedentemente analizzato:
Poiché nel nostro circuito si è utilizzata una resistenza di pull up di 100 kΩ ed un condensatore elettrolitico di capacità pari a 47 µF si ha che la costante di tempo del circuito di reset esterno risulta essere pari a:
ms s F k F k k //3.3 ) 47 3.194 47 0.150118 150.1 100 ( Ω Ω × = Ω× = ≅ = µ µ τ
Questo perché la resistenza esterna va in parallelo alla R3 del circuito in figura precedente. Quindi rifacendo i conti già fatti nel capitolo dedicato al debug dell’hardware per vedere quanto tempo intercorre tra l’accensione del sistema e il rilascio del reset al DSP, si ha in questo caso che dalla pressione del tasto di reset esterno al rilascio del reset sul piedino del DSP (considerando che sul pin 4 del NAND Triggerato siglato U4B si è ormai raggiunto il regime e si ha un valore di tensione pari a 3.3 V, cioè un 1 logico) intercorre un tempo pari a:
(
)
⋅ ⋅ = ⇒ − = ⋅ ⇒ = − ⋅ ⇒ = − ⋅ − − ⋅ − − ⋅ − − 3 , 1 3 , 3 ln 10 1 . 150 2 3 , 3 3 , 3 2 1 3 , 3 1 3 , 3 150.1103 150.1103 3 T e e V e T T IH RC T quindi T = 140 ms circa.NOTA: VIH è stato preso pari a 2V essendo la tensione di alimentazione di tali porte
logiche pari a 3,3 V.
Inoltre sulla scheda è stato montato anche un connettore per poter alimentare il circuito con i tipici alimentatori da muro da 9 V, oltre alle boccole necessarie per alimentare tutto con l’alimentatore da banco tramite dei coccodrilli. Per il CF-P/R 9 V sono un livello di tensione pienamente supportato perché regolato e stabilizzato del primo integrato della catena di stabilizzatori, ovvero l’LM 317.
Per quanto riguarda le uscite e gli ingressi analogici sono chiaramente indicati in figura. Sono state utilizzate delle femmine RCA perché i nostri test sono stati effettuati collegando gli ingressi ad un lettore CD e le uscite ad un amplificatore finale, collegato
a delle casse, tramite dei cavi RCA maschio/maschio, seguendo lo standard più diffuso per i sistemi audio.
Sulla scheda è presente anche un interruttore generale, che fa capo sia al circuito di alimentazione con le boccole, sia alla presa per l’alimentatore esterno. Quando il sistema è alimentato e l’interruttore è in posizione ON si accende il LED a ricordarci tale condizione.
I connettori maschi siglati J1 e J3 sono i corrispettivi degli omonimi connettori sulla scheda del CF-P/R. Tramite il connettore J1 porto: le alimentazioni (con le due masse: analogica e digitale), gli ingressi e le uscite analogiche, gli otto pin dei comandi e il pin di reset cui fa capo il circuito descritto precedentemente. Dallo schematico si vede a cosa corrispondono i vari pin:
Figura 5: Connettore J1
Per quanto riguarda il connettore J3, che sullo schematico è chiamato “Expansion connector”, è stato riportato anch’esso sulla scheda ed è stato ricostruito con uno stesso identico connettore maschio per rendere accessibili anche i segnali portati dalla scheda stessa. Tramite questo connettore si è provveduto a portare il segnale HPIENA (pin 1) a
è dimenticati di fare questo collegamento in fase di progettazione hardware. Sul connettore sono portati diversi segnali che possono tornare utili per eventuali espansioni future della scheda. Uno schematico di tale connettore viene riportato nella figura seguente:
Figura 6: Connettore J3
La scheda del CF-P/R collegata con il resto del sistema e con questa scheda di sviluppo che ne permette la gestione si mostra come nella figura di pagina successiva.
Possiamo vedere chiaramente i collegamenti con l’alimentatore da banco e con l’emulatore che, collegato direttamente ad una scheda interna al case del PC, permette la gestione del sistema, in fase di debug, tramite il connettore JTAG e l’ambiente di sviluppo Code Composer.