Aktiva "digitala" högtalare

Berätta om dina pågående projekt.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av cyr »

Kom på att det kanske inte är direkt uppenbart hur jag tänkt att hela systemet egentligen ska hänga ihop, och en bild säger ju >1kord som bekant:

Bild

Varje grön ruta i bilden motsvarar i princip ett kretskort, även om CPU och DSP-bitarna eventuellt kommer att integreras direk på "FPGA-kortet" i centralenheten. Skulle t.o.m. kunna flyttas in helt i FPGA:n om den är tillräckligt biffig, kanske en Spartan3A-DSP. Just nu lutar det nog mot en Spartan3E/A i QFP-kapsel, som enbart routar signaler kors och tvärs samt hanterar LVDS-snittet ut mot själva högtalarna. CPU:n blir nog AVR32, möjligen en ARM9 och DSP lutar åt en TMS320C674x.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av blueint »

Du kommer att få tidsförskjutning mellan högtalarna.. ;)
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: Aktiva "digitala" högtalare

Inlägg av Andax »

10 µs förskjutning eller så... Knappast hela världen...
Användarvisningsbild
BER
Inlägg: 399
Blev medlem: 9 mars 2005, 00:02:10
Ort: Östergötland

Re: Aktiva "digitala" högtalare

Inlägg av BER »

Jag gjorde en kort överslags beräkning också, fick dock en kortare tid än Andax och då antog jag ändå att systemet inte tidskompensera vilket inte skulle vara allt får svårt att implementera.

Men vi säger väll 10 us ändå ... 340 m/s ger 3,4 mm ...

Svalander skulle säkerligen bli upprörd över denna markanta ljudförsämring
CrilleE
Inlägg: 26
Blev medlem: 14 juni 2005, 02:38:15
Ort: Linköping
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av CrilleE »

Hmm, jag jobbar med att utveckla liknande grejer.
Fast vi kör likström på vanliga högtalarkablar och överlagrar signalen digitalt på samma kablar. Alltså blir det lika många kablar som en vanligt passivt system, eller mindre (man kan ju t.ex. dra en kabel till alla bakkanaler).
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av cyr »

Smart...

Finns ju även varianter som kör signalen överlagrat på 230V.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av cyr »

Har lyckats lägga några timmar till på det här projektet, och kommit en bit på väg med Verilog-koden.

Jobbar på att faktiskt få fram ljudet hela vägen till förstärkaren, enligt följande:

Dator (USB) PCM2706 (I2S) Spartan3E starterkit (LVDS/Cat5) Mitt lilla FPGA-kort (I2S) TAS5518

Så långt har jag kommit in på starterkitet:

Bild

Det där är 4096 samples av någon Daft Punk-låt :)

Nu ska dessa paketeras i lagom stora paket, på med ett CRC-värde, 8b10b-kodas och iväg över kabeln...
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av cyr »

Jag fortsätter prata med mig själv lite i den här tråden... om inte annat så jag kan komma tillbaka hit om några veckor när jag glömt bort hur det var jag tänkte :)

Angående trafiken över Cat5-kabeln och hur den ska gå till...

Som jag redan skrivit så använder jag LVDS över de fyra paren i kabeln, AC-kopplat i varje ände och med några ESD-skydd men annars direkt kopplat till FPGA:n (som har intern terminering). Jag har nu döpt de fyra paren till CLK, DU, DD och DX (Master-klocka, upstream-data, downstream-data och reserv). Dessutom har jag hittat på den käcka förkortningen Audio Area Network (A2N).

Varje A2N-kedja består av en master och en eller flera slavar. Mastern kan ha flera portar som i så fall bildar separata kedjor. Slavarna har alltid en upstream-port (som kopplas mot mastern) och en downstream-port (som kopplas till nästa slav, om det finns någon). Mastern skickar ut master-klockan och downstream-data, medan den sista slaven i kedjan skickar ut upstream-data. Den sista slaven i kedjan blir tillsagd av mastern att den ska generera paket, hur ofta och hur stora de ska vara. De andra slavarna i kedjan kan också skicka data (både upstream och downstream) men bara genom att modifiera data-paket som passerar förbi.

Data-paketen består av en header och en eller flera "tidsluckor", där tidslucka 0 används för styrdata och resten för audio-data (en tidslucka per kanal).

Audio-datan skickas från mastern och tas emot av de slavar som blivit inställda på att ta emot från just de tidsluckorna, den skickas vidare downstream utan att modifieras. Det är också möjligt att skicka audio upstream, i så fall så fyller en slav i en viss tidslucka som den blivit tilldelad.

Styrdatan tas alltid emot av varje slav och skrivs in i en buffert där processorn behandlar den, och den skickas inte vidare till nästa enhet i kedjan. Istället fylls den tidsluckan med data som processorn skrivit i "utbufferten".

Mastern skickar styrdata till en viss slav i små paket, med en adress-byte som är lika med slavens position i kedjan. När paketet tas emot av processorn i en slav så tittar den på adressen och om den är noll så behandlas paketet lokalt, annars räknas den ner och paketet skickas vidare till nästa enhet. Svar skickas upstream på ungefär samma sätt, fast "adressen" räknas upp i varje steg istället (och börjar på noll), så att mastern vet vem som skickade.

Styrdata är alltså små kommandon i stil med "sätt volymen till -37dB" eller "hur många kanaler har du?" eller "du ska lyssna på tidslucka 5". Väldigt små mängder data allså, så det gör inget att den måste gå via en liten processor i varje slav.

Ujujuj vad mycket text det blev, tar med bilder i nästa inlägg jag lovar :D
Användarvisningsbild
JimmyAndersson
Inlägg: 26568
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av JimmyAndersson »

"Jag fortsätter prata med mig själv lite i den här tråden..."

Jag följer projektet med stort intresse, trots att jag inte skrivit så mycket. Vem sitter inte tyst och stilla i väntan på ljudafton... :)


Det här med förskjutningen som det pratades lite om tidigare: Skulle man inte kunna stoppa in några delay?
Dvs så att den kanalen som kommer fram sist är "nutid" och kanalerna som kommer fram före denna tid fördröjs.

10µs är då rakt inte mycket, men som jag uppfattade det så är det mellan två högtalare.
Dvs mellan kanal 1 och 2 : 10µs. 1 och 3 : 20µs. 1 och 4 : 30µs osv. Trots att själva tiderna är oerhört korta så blir det ändå en blandning av fördröjningarna som liksom moduleras av rummet (och ifall lyssnaren rör sig, lite som att man kan se blinkningar i PWM-styrda lysdioder som annars inte syns).
Du tror inte att det kan röra till det vid rumskorrigeringen?
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av cyr »

Jag kommer till det lite senare, men tanken är att enheterna ska synkroniseras så att ljudet kan skickas ut från FPGA:n inom några få master-klock-cycler (dvs några hundra ns) från den önskade tiden. Inte direkt för att det behövs så exakt synk mellan enheterna men för att det går :)

Det kommer att finnas en liten buffert i varje enhet ändå (det behövs när samples skickas några åt gången i "burst"), så det är lätt att justera fördröjningen i varje enhet så att man kompenserar för fördröjningen i kedjan.
Användarvisningsbild
JimmyAndersson
Inlägg: 26568
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av JimmyAndersson »

Aha! Bra feature. :)

Iofs så kanske man borde ha förstått det. Cyr-projekt™ brukar vara väldigt genomtänkta. :D
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Re: Aktiva "digitala" högtalare

Inlägg av cyr »

Mer genomtänkta än genomförda i allmänhet... :wink:
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: Aktiva "digitala" högtalare

Inlägg av jonnorberg »

10uS motsvarar en distorsion vid 25kHz. Vilket är ej hörbart. Om vi räknar att ljudvågor samverkar inom 90 grader och motverkar varandra över 90grader.

f=1/4t

Vid 20us så börjar det krypa ner i frekvens. 12.5kHz.
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7226
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: Aktiva "digitala" högtalare

Inlägg av psynoise »

20 kHz släcks ut helt vid först 25 µs (1/20 ms = 50 µs är periodtiden) dvs vid 180 graders förskjutning. Dock kommer en delay som är mindre dämpa ALLA frekvenser, kolla med miniräknaren cos(0)+cos(0,00001) != 2,00...
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: Aktiva "digitala" högtalare

Inlägg av jonnorberg »

Precis. Dock så blir det ju kamfilter. Delayet är ju alltid någon frekvens hela våglängd, sammverkan. Och någon annans halva, motverkan.
Skriv svar