Koda digital audio (S/PDIF, AES/EBU, ADAT)

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Koda digital audio (S/PDIF, AES/EBU, ADAT)

Inlägg av chille »

Håller fortfarande på med mitt oändliga projekt, synthen... :) Men nu är det så att jag har bestämt mig för att ha en jäkla massa olika in- och utgångar. Bland annat blir det vanliga analoga (balananserade). Sen måste man ju självklart ha något digitalt. Så då blir det nog S/PDIF, AES/EBU och ADAT.

Problemet med en massa olika format är att alla ska kodas vilket kan ta upp en hel del kraft. Nu är ju iofs S/PDIF och AES/EBU samma med några små skillnader som inte brukar spela någon roll förutom med grinig utrustning :D

Jag funderade på om man skulle göra så att DSP:n skickar ut signalen i något format, och sen använda en CPLD/FPGA för at konvertera till de olika formaten. CPLD kan nog bli svårt då de är ganska begränsade, och FPGA är ju rätt dyrt så då kan man ju nästan lika gärna köra en DSP eller liknande.

En fundering jag har är att man kör någon processor (typ en snabb µc eller dsp) och skapar 8 bitar i taget. Sen latchar man ut de 8 bitarna och kör in de i ett skiftregister. Skiftregistret klockas sen och skickar ut datan seriellt. På så sätt får man ju en halft hårdvaru/mjukvaru UART. Eller man kanske skulle köra en CPLD för att göra en UART och sen koda allting i mjukvara!?

Aja, jag är öppen för förslag så brainstorma på ni som kan. 8-)

EDIT:
Glömde att säga att det finns dedicerade kretsar för att koda typ allt utom ADAT :) CS8404 och CS8414. Bland annat. fasst de kostar så mycket så därför vill jag försöka göra något annat. dessutom verkar dom inte klara allt jag vill ha.

EDIT2:
Satt och skissade lite och kom fram till detta. Vet dock inte hur pass tungt det kommer bli för "dsp" eller "cpld". Tänkte som så att dsp tar emot signaler från dsp 1-4 och konverterar till rätt format. Sen skickar den I2S till/från AD/DA-omvandlarna och antagligen I2S till de två cpld som sedan konverterar till AES/EBU, S/PDIF & Toslink, vilket är nästan exakt samma. Hur det är med ADAT vet jag inte men jag tror det är ett väldigt simpelt protokoll som pckså är ganska likt S/PDIF.

Bild
Användarvisningsbild
AndLi
Inlägg: 17160
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Borde inte S/PDIFF ligga en nivå ovanför Toslink?
Eftersom det är väll spdif som man brukar köra över antingen Toslink(Opto) eller Koax(RCA)?
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Jo egentligen. Men tänk om man vill köra ADAT* och Toslink samtidigt då? Då måste CPLD:n generera två olika signaler samtidigt.

*ADAT via lightpipe är samma sändare/mottagare/kabel som S/PDIF via Toslink


Fasst jag har funderat lite till. Man kanske nästan skulle låta DSP:n skicka I2S och sen göra 4 olika moduler för varje interface. En modul för ha en egen CPLD för att konvertera från I2S till valfritt format. Det blir lite dyrare, men troligtvis smidigare.
babbage
Inlägg: 637
Blev medlem: 10 november 2004, 11:33:17
Ort: Sthlm

Inlägg av babbage »

Är DSP1-4 till för att ljudsyntes och effekter och den ensamma endast för kommunikation?

Bara en tanke (inte så genomtänkt). Om det är en någorlunda kraftull DSP (alternativt använda en FPGA) kan det kanske räcka med en som ersätter MCU,DSP,CPLD,CPLD.

Om du vill göra som det är skissat kanske jag skulle överväga att koppla AD/DA till CPLD:n.
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Medans jag satt och kollade lite specifikationer och funderade över babbage's ide såg jag att DSP:n jag hade tänkt använda kostar bara ~230kr och den klarar 1600MIPS/1200MFLOPS och har dessutom inbyggt S/PDIF och AES/EBU-interface. Dvs, det känns som om mitt problem var löst redan från första början :)

Det får nog bli så att det är fyra DSP:er för ljudsyntes och en för att fixa allting annat, inkl routa trafiken från de där fyra DSP:erna till samtliga in/utgångar. Då kan man ju lägga saker som volymkontroll och sånt i den DSP:n.

Fasst ett problem har jag fortfarande inte löst, och det är hur jag ska koppla ihop de där fyra eller åtta DSP:erna för ljudsyntesen. :S

EDIT:
Uppdaterat blockschema :)
Bild
gille
Inlägg: 69
Blev medlem: 28 november 2004, 18:06:09
Ort: Stockholm
Kontakt:

Inlägg av gille »

Om det är en TI så kan du väl prata över HPI. Eventuellt kan du kanske sätta upp shared memory mellan alla processorer. På vissa finns ju annars ethernet som du skulle kunna köra lokalt på kortet.
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Mjo..ethernet kan jag nog utesluta för det är jag rätt så säker på att det inte finns. Shared memory har jag funderat på, det skulle jag behöva. Frågan är hur krångligt det är då det är SDRAM som kommer användas. SDRAM kräver väl en egen drivare för att fungera? HPI vet jag däremot inte vad det är. Får kolla databladen lite senare.


EDIT:
Kan ju tillägga att det är en (öhm... fem :)) TMS320C6713 jag tänkte använda. Den varianten som är 200MHz, den är billigast per MHz.
Skriv svar