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
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.
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.
Koda digital audio (S/PDIF, AES/EBU, ADAT)
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.
*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.
Ä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.
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.
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.
EDIT:
Uppdaterat blockschema
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.
EDIT:
Uppdaterat blockschema
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.
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.