Quinto Appello di Elettronica Biomedica - 2 febbraio 2012 Cognome _ Nome _ matr. _ l) Progettare un circuito di controllo basato su microcontrollore per la gestione di un dispositivo per l'analisi ecografica dello spessore di tessuto tra cute e strutture ossee sottostanti basato su tecnica ecografica con sonda lineare ad array di sensori. Il dispositivo e' costituito da una sonda ecografica costituita da 8 elementi raggruppati in un array di lunghezza totale pari a 8rnrn, una FPGA per la generazione degli impulsi dei singoli sensori, un circuito di condizionamento del segnale riflesso ricevuto dai sensori, un circuito di beamforming in ricezione a linee di ritardo analogiche (controllato dalla FPGA) ed un circuito di rilevazione di inviluppo. Il campionamento del segnale di inviluppo e' eseguito dal microcontrollore che deve gestire le seguenti funzioni: l) Chiedere all'utente, tramite interfaccia con LCD e tre tasti (SU, Gru e OK), la profondita' di messa a fuoco, in passi di 0.5 cm; 2) Alla pressione del tasto OK, calcolare il ritardo associato a ogni singolo sensore e caricarlo sull'FPGA; 3) Inviare impulsi ogni 0.5s, acquisire il segnale dell'eco, compensare per l'effetto dell'attenuazione nei tessuti (utilizzando una esponenziale i cui parametri sono predefiniti come costanti) e identificare il primo massimo relativo di ampiezza superiore a SOGLIA (attribuibile, quindi, alla prima interfaccia tessuto-osso). Identificato il massimo, si calcoli il valore associato alla profondita' dell'interfaccia rilevata e se ne scriva il valore sul display; 4) Alla ulteriore pressione del tasto OK, il sistema deve interrompere la misura e rimettersi nella condizione di inserimento della distanza del fuoco L'FPGA e' dotata di una interfaccia costituita da 8 linee per l'inserimento del ritardo (in ns), tre per l'identificazione del sensore (dal # 1 al #8 con numeri da O a 7) e una da utilizzarsi per generare l'impulso sul fronte di salita. Il segnale analogico in uscita dal blocco di condizionamento ha ampiezza 0-0.5 V e deve essere campionato dal convertitore analogico/digitale del microcontrollore che offre una risoluzione di 12 bit su un range di tensione pari a 0-5V. La risoluzione spaziale garantita deve essere di almeno 2.5 rnrn. Si descriva l'hardware necessario per la realizzazione del dispositivo e le relative connessioni elettriche. Si descriva, quindi, l'algoritmo eseguibile dal microcontrollore in grado di gestire le funzioni principali del dispositivo ed il firmware che ne implementa le funzioni considerando fornite le seguenti funzioni: l) funzione che inizializza un timer per la generazione di interrupt alla frequenza di FREQ Hz void SetlnterruptTimer(int freq) e la relativa funzione di Interrupt Service Routine void interrupt isrtvoid) della quale e' possibile scrivere il codice principale; 2) una funzione di gestione del convertitore analogico-digitale a 12 bit void InitADC(int Channel) 3) una funzione di lettura del convertitiore int ReadADC(void) e 4) una funzione di scrittura sul display LCD che scrive una stringa string di max lO caratteri seguita da un numero valore alla riga riga del display void WriteLCD(const char *string, int valore, int riga);. Nel caso non si voglia scrivere il valore numerico, basterà assegnare a valore=-l. 2) Illustrare brevemente gli standard per il monito raggio durante anestesia approvati dall'American Society of Anaesthesiologists. Elencare i possibile metodi per la misura di pressione arteriosa e descrivere le criticità legate al monitoraggio tramite trasduttore extravascolare. 3) Descrivere le principali differenze tra architettura di Von N eumann e architettura di Harward. Quale tra queste è più diffusa nei DSP? Quali sono le principali differenze tra un microcontrollore e un DSP? 4) Nella programmazione in VHDL di un dispositivo FPGA è possibile fare uso di tre tipi diversi di descrizione dell'hardware. Elencare le tre tipologie, descriveme vantaggi e svantaggi e le principali caratteristiche legate al tipo di descrizione utilizzato per quanto riguarda l'astrazione della descrizione. 5) E' dato un componente Half Adder definito in un file Half Adder.vhd e la cui entity è così descritta: ENTITY Half Adder 1S PORT ( ADDl,ADD2: in std_logic; RIS, Rout: out std_Iogic); END HalC Adder; La funzione è di riportare sull'uscita RIS il risultato della somma tra i due ingressi ADDI e ADD2 e in Rout il relativo resto. Realizzare un FULL-ADDER descritto in linguaggio VHDL in modalità strutturale. Tale dispositivo deve sommare due ingressi a singolo bit ed il riporto in ingresso; il FULL-ADDER deve inoltre restituire il risultato della somma ed il relativo riporto.