Ciao a tutti. Ho deciso di voler utilizzare arduino per completare il progetto a cui da un po di tempo sto lavorando, ovvero un dolby surround 5.1 con la possibilità di scegliere tra diversi effetti audio.
Dopo aver provato l'ADC interno mi sono reso conto che non è abbastanza veloce ho optato quindi ad un componente esterno ecco il suo datasheet http://pdf1.alldatasheet.net/datasheet-pdf/view/70784/LINER/LTC1605.html,ho scelto questo perchè accetta valori sia positivi che negativi (posso quindi collegarlo direttamente all'opamp che lavora in tensione duale),perchè è un 16bit quindi una buona risoluzione e perchè (qui magari sbaglio) ha uscite parallele e l'obbiettivo che ho è la velocità .
Dopo questo stadio arriva quello che dovrà generare un ritardo (questo serve per avere il suono alle casse posteriori) e pensavo di usare una memoria sulla quale scrivere i dati ottenuti dal campionamento per poi leggerli dopo appunto un certo ritardo.
Quì compare il problema !!!
Può bastare un solo arduino UNO per gestire clock(50KHz) dell'ADC esterno, ed indirizzi memoria (parallela) sia in scrittura che in lettura??
Accetto critiche di tutti i tipi tutte le osservazioni che fate possono essere un piccolo tassello , grazie ,attendo con ansia...
Questo é uno dei casi dove mi mancano le parole. ...
tonid sembra che non abbia mai letto niente di Arduino.
- un controller é una cosa molto diversa dalla CPU e ha un architettura e uno scopo molto diverso. Un controller avendo la memoria interna non é fatto per indirizzare memorie esterne o periferia con interfaccia paralella.
- vuoi spendere 100 Euro per 2 ADC?
- il dolby surround non é solo un ritardo del segnale ma anche un elaborazione.
- non hai previsto dei DAC
- l'arduino non é adatto per questo uso.
Ciao Uwe
Questo é uno dei casi dove mi mancano le parole. ...
tonid sembra che non abbia mai letto niente di Arduino.
Che sono ignorante in materia questo lo sapevo è solo un paio di mesi che ho comperato la scheda e dopo le 12/14 ore di lavoro a notte ci gioco,figli permettendo, ma tu sei quasi riuscito a farmi sentire un emerito cretino e non credo sia questo lo scopo del forum ,comunque riesco ugualmente a rispettare il tuo punto di vista,per quanto riguarda la decodifica e il DAC è stato tutto previsto ma vista la mia domanda non mi sembravano di vitale importanza.
tonid sembra che non abbia mai letto niente di Arduino.
Non è che sembra, è propio così, del resto lo ha anche detto lui.
Tornando in tema, io penso che sia conveniente usare qualche chip dedicato per svolgere la decodifica dolby surround oppure se non si hanno queste pretese c'è anche un chip (non ricordo la sigla) che simula il dolby, il chip in questione viene usato in un progetto di Nuova Elettronica.
Nel caso si scelga la decodifica originale dolby prologic si può sempre usare arduino per relizzare l'interfaccia di comando, cioè pulsanti, display ecc.
Mentre se si vuole proprio tentare con arduino conviene limitare la banda passante a circa 7KHZ ed usare la ram interna come buffer, ma si tratterebbe comunque di un progetto didattico. Ci sono anche microcontroller che offrono la possibilità di estendere la ram usande le porte dedicate all'indirizzamento paralello di una ram statica esterna. Poi leo72 ha realizzato un progettino per indirizzare tale ram con il 328 di arduino UNO, ma non so dire se si può provare con quel progetto a salvare e leggere da ram alla velocita necessaria.
Ciao.
arduino lavora nellìordine dei microsecondi, ad occhio direi che quì servono velicità nei microsecondi, e buffer abbastanza ampi..
Tonid,
mi sento di appoggiare i consigli degli altri: io ne so meno di te su arduino (mi ci sto affacciando) ma il dolby digital e' un processo che anche se coinvolge un segnale che tutto sommato non e' molto complesso (audio) implica l'applicazione di algoritmi per nulla banali che ricostruiscono l'ambiente da un semplice segnale stereo
quindi devono "spacchettare" le info ambientali sia in frequenza che in tempo
non penso proprio che ardunino ce la possa fare
poi il discorso dei ADC e DAC e' l'ultima cosa: ce ne sono a centinaia disponibili, performanti e a buon mercato
ma chi ti da gli algoritmi?
e poi... se non vado errato, il dolby digital dovrebbe funzionare gia' con uno streaming digitale. quindi niente adc
in nutshell: prendi un chip che fa gia' il lavoro ed eventualmente delega ad arduino il controllo del volume/sorgenti/effetti/etc etc
ciao
angelo
Grazie per le risposte ,ora vado per ordine,
Non è che sembra, è propio così, del resto lo ha anche detto lui.
Non è che non ho letto niente, anzi ho letto questohttp://www.itisvoltafr.it/~marsella/materiali/materiali_3AE/ProgrammareArduino.pdf
questohttp://www.itisvoltafr.it/~marsella/materiali/materiali_5AE/Applicazioni.pdf
questo Primi passi con arduino
questohttp://programmazione.html.it/guide/leggi/32/guida-c/ ed altro ancora.
Guardando in rete si vedono cose ancora più complesse e molte volte sono di difficile comprensione per chi come me non ha basi scolastiche ma solo hobbistiche e da solo 2 forse 3 mesi.
Quindi ci si trova obbligati a rivolgere una domanda a chi come voi ne sa molto di più nella speranza di risolvere un quesito a cui da soli si fa fatica a rispondere.
Tonid,
mi sento di appoggiare i consigli degli altri: io ne so meno di te su arduino (mi ci sto affacciando) ma il dolby digital e' un processo che anche se coinvolge un segnale che tutto sommato non e' molto complesso (audio) implica l'applicazione di algoritmi per nulla banali che ricostruiscono l'ambiente da un semplice segnale stereo
quindi devono "spacchettare" le info ambientali sia in frequenza che in tempo
non penso proprio che ardunino ce la possa fare
poi il discorso dei ADC e DAC e' l'ultima cosa: ce ne sono a centinaia disponibili, performanti e a buon mercato
ma chi ti da gli algoritmi?
e poi... se non vado errato, il dolby digital dovrebbe funzionare gia' con uno streaming digitale. quindi niente adc
in nutshell: prendi un chip che fa gia' il lavoro ed eventualmente delega ad arduino il controllo del volume/sorgenti/effetti/etc etc
Per quanto riguarda le decodifiche e gli effetti vari quelle cose amo farle in analogico con operazionali, chiedevo solo se era possibile usare arduino per tenere sotto controllo un clock ed in funzione di esso magari utilizzando le sue porte trasmettere dei codici di indirizzo a delle memorie esterne....
Ed ho capito che è una cosa non fattibile.
arduino lavora nellìordine dei microsecondi, ad occhio direi che quì servono velicità nei microsecondi, e buffer abbastanza ampi..
Cosa intendi?
Grazie a tutti.
un arduino, usato con codice C e senza interrupt o altri magheggi, ha un tempo di risposta di minimo 4 microsecondi.
ne impiega una decina almeno per leggere un segnale digitale, e circa 200 per un segnale analogico.
in oltre, ha una ram molto limitata, è già tanto se riesce a tenere in memoria 100 millisecondi di letture contigue (non parlaimo di memorie esterne che si arrivano a tempi di lettura/scrittura+gestione della periferica troppo lenti)
un arduino, usato con codice C e senza interrupt o altri magheggi, ha un tempo di risposta di minimo 4 microsecondi.
ne impiega una decina almeno per leggere un segnale digitale, e circa 200 per un segnale analogico.
in oltre, ha una ram molto limitata, è già tanto se riesce a tenere in memoria 100 millisecondi di letture contigue (non parlaimo di memorie esterne che si arrivano a tempi di lettura/scrittura+gestione della periferica troppo lenti)
Veloce,preciso e sintetico,grazie,grazie,grazie...
Quindi non posso assolutamente usarlo nel mio caso specifico. Farò una ricerca in rete per vedere che cosa offre la tecnologia di più appropriato.
Se qualcuno ha delle soluzioni ,idee anche se contorte..è ben accetto.
Tramite google ho trovato questo: http://www.datasheetdir.com/PT8501+Audio
E' un integrato controllabile tramite i2c che decodifica i flussi Dolby surround.
Non ho idea ne del prezzo ne della disponibilità e ne dove lo si possa trovare.
Farebbe al mio caso ma ho trovato solo un datasheet parziale di 4 pagine dove spiega solo le possibili applicazioni e niente altro,comunque grazie provo a cercare meglio più con calma magari mi salta fuori qualcosa.