Fördröja ljud med A/D converter + minne

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
13th.Marine
EF Sponsor
Inlägg: 7265
Blev medlem: 31 december 2004, 16:26:37
Ort: Trelleborg

Fördröja ljud med A/D converter + minne

Inlägg av 13th.Marine »

Hade planerat att bygga en ljudfördröjare till bakhögtalarna, och det verkar bli att man först gör om det analoga ljudet till digitalt och sen sparar det i ett minne där det senare plockas ur med 0-26ms fördröjning.
Men med mina små kunskaper inom sånhär elektronik skulle jag behöva läsa på lite, någon som vet en bra sida där de går igenom sånt här?
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Eftersom du inte behöver behandla ljudet, så borde det räcka med en riktigt snabb mikrokontroller med 16-bitars A/D- och D/A-omvandlare.
Kanske det blir svårt att hitta med 16 bitar åt båda hållen, men kanske finns separata med inbyggda latchar (nog ett måste).
Dock kanske det kräver en hel del minne! 48 000Hz * 2 bytes sampling = 960B minne per millisekund.
48KHz är ju inte allt för farligt för en snabb MCU ändå...
Sedan får du nog göra en enhet per kanal! ;)

Mvh
speakman
Användarvisningsbild
13th.Marine
EF Sponsor
Inlägg: 7265
Blev medlem: 31 december 2004, 16:26:37
Ort: Trelleborg

Inlägg av 13th.Marine »

tänkte mygla lite och se om jag fick tag en A/D som muxade ihopa kanalerna, sedan fördröja det med en uC (det ska gärna vara ställbart mellan 0-26ms) och sedan skicka ut det digitalt till "hembioförstärkaren"...
Men eftersom jag har väldigt lite kunskaper inom digital elektronik (rätt lite inom allt, men lär mig väldigt gärna =) ) så vet jag knappt ens vad de olika "portarna" på en A/D används till =S
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

96byte per ms borde det bli vid 48khz 16bitar och en kannal...
144byte med 48kz och 24bitar...

så mycke minne behöver du inte typ 144*26 = 3744byte per kanal vid 24bitar , 48kHz och 26ms fördröjning...

Nå mitt förslag är att du använder AT91SAM7S64 den har I2S interface (obs inte I2C) vilket gör det lätt att interface en Audio codec och den är billig (typ 100kr på elfa 73-823-02), den har desutom det minne som krävs, 16KB ram.
Och du kan använda GNUARM för att kompilera c kode för den och SAM-BA för att lada ner hex filen till chipet (en boot loader som finns på chipet via rs232)
Och du skulle kunna leka med några enkla digitala fillter utan problem om du har lust...

Sedan skulle jag välja någon codec från ti, exempel TLC320AD77 som har bra prestanda (96Khz 24bitar AD och DA) och pris $6.3 på digikey, tyvär har elfa inte en enda vettig audio codec

Så varför rekomerar jag inte en 8bitar cpu, det mesta beror på avsaknade av I2S... utan den så är det ganska kört att interface Audio AD eller DA, visst finns det 16bitars AD och DA som har parallela utgång men de är inte avseda för audio bruk vilket resultera i att det brukar vara snuskit dyra...
Alternativet är DSP vilket inte är en dum lösning heller men troligt viss lite dyrare...
Skriv svar