POLITECNICO DI MILANO Studio e implementazione di una architettura basata sul DIOPSIS®740 per audio ad alta qualità. Il caso del convertitore Stereo/Surround 5.1 Relatore: Prof. Anna Antola Correlatore: Ing. Marco Domenico Santambrogio Matteo Rossi Roberto Urso A.A. 2005/2006 Sommario Introduzione: Obiettivi del lavoro di tesi Il sistema Dolby Digital 5.1 Il processore DIOPSIS®740 e la scheda JTST Sviluppo del progetto: Struttura dell’applicazione Implementazione su D740 Test e risultati 2 Obiettivi del lavoro di tesi Obiettivi generali: Studio dell’architettura dual-core Atmel DIOPSIS®740 Realizzazione di un’applicazione che sfruttasse il parallelismo offerto dal processore Obiettivo specifico: Implementazione di un convertitore stereo/surround che rispondesse ai requisiti dell’audio ad alta qualità 3 Il sistema Dolby Digital 5.1 Cinque canali disposti attorno allo spettatore, per creare una scena sonora che lo coinvolga Sesto canale (LFE) dedicato alla riproduzione delle basse frequenze: Maggiore dinamica Minori distorsioni Posizionamento 4 Il processore DIOPSIS®740 1/2 Integra un controllore ARM7 e un DSP mAgic L’ARM ha accesso diretto a diverse periferiche DSP floatingpoint a 40 bit 5 Il processore DIOPSIS®740 La memoria del mAgic è mappata all’interno di quella dell’ARM mAgic in System Mode: ARM può leggere e scrivere in tutte le pagine mAgic in Run Mode: ARM può leggere e scrivere solo nella pagina 4 La pagina 5 è raggiungibile tramite DMA 6 2/2 La scheda JTST Scheda prototipo per lo sviluppo di applicazioni D740 4 ingressi + 4 uscite audio stereo 2 porte seriali 1 porta USB LED display a 7 segmenti Bootloader precaricato 7 Struttura dell’applicazione 1/3 Requisiti: Progettazione di funzioni che regolino i volumi dei canali in uscita in funzione della posizione della sorgente sonora; Taglio in frequenza dei campioni destinati al canale LFE; Supporto della porta seriale per gestione in real-time delle coordinate del suono; 8 Il tutto mantenendo un’ottima qualità del suono (campionamento a 48.8 kHz), quindi eseguendo tutte le elaborazioni in 0.2 ms Struttura dell’applicazione 2/3 Calcolo dei livelli dei canali: Calcolo tramite matrici preimpostate Occupazione di memoria Scarsa flessibilità Variazioni di volume non omogenee Calcolo tramite distanza euclidea Occupazione di memoria azzerata Flessibilità Transizioni fluide ottima qualità del suono 9 Struttura dell’applicazione 3/3 Taglio in frequenza tramite FFT: Occupazione di memoria elevata Numero di cicli macchina (2049 disponibili, 12932 richiesti) Taglio in frequenza tramite filtro IIR: Filtri a risposta impulsiva infinita: Bassa occupazione di memoria Computazionalmente semplici Implementazione di un filtro passa-basso analogico RC 10 Implementazione su D740 Organizzazione dei task: ARM si occupa di campionare/sintetizzare il suono e gestire la comunicazione con il PC mAgic elabora i campioni sulla base dei parametri forniti dall’ARM I dati sono trasferiti tramite la memoria PARM Un semaforo controlla la sincronizzazione dei due processori 11 Risultati dei test Abbiamo registrato un file WAV collegando il PC all’uscita dei canali Centrale e LFE Canale centrale Canale LFE 12 La forma d’onda mostra l’efficacia del filtro IIR implementato Risultati della simulazione Tramite gli strumenti messi a disposizione dall’ambiente di sviluppo, abbiamo analizzato il profilo del Program Memory Address del mAgic DSP 13 Conclusioni Il mAgic spende molto tempo nell’attesa che il semaforo sia attivato Possibilità di implementare altre elaborazioni sui campioni Possibilità di aumentare il numero degli ingressi e assegnare ad ognuno una posizione nello spazio Idea: utilizzare la porta USB presente sulla scheda per inviare al PC il suono già compresso in formato digitale AC-3 14 Fine presentazione 15