I'm new to this discussion, but have you considered using an off the shelf solution?
http://www.cirrus.com/en/products/pro/areas/PA106.html
Cobranet has been around for years. It passes 32 channels of audio at 48kHz or 16 channels at 96kHz in each direction over a 100Mbs Ethernet connection. You can even go through switches.
There are newer solutions like Ethersound (64 channels of audio) a couple of other more proprietary systems used as digital audio snakes for PA systems. Roland has one, so does Aviom and another one whose name escapes me right now.
Anyway, two Cobranet daugtherboards and the SDK can make your dream system come to reality.
http://www.cirrus.com/en/products/pro/areas/PA106.html
Cobranet has been around for years. It passes 32 channels of audio at 48kHz or 16 channels at 96kHz in each direction over a 100Mbs Ethernet connection. You can even go through switches.
There are newer solutions like Ethersound (64 channels of audio) a couple of other more proprietary systems used as digital audio snakes for PA systems. Roland has one, so does Aviom and another one whose name escapes me right now.
Anyway, two Cobranet daugtherboards and the SDK can make your dream system come to reality.
Sony also has a couple, with one now standardized by the AES but a good audiophile would much rather reinvent the wheel.
About reinventing the wheel : yeah, i know 😉 that's the fun part !
Also I wanted to overcome my laziness about embedded systems. I remember dropping an old project because I couldn't be bothered to learn how to code an atmega128.
Even if this doesn't work I have learnt a ton of stuff 😉
(but I think it will work. I don't know if it will work perfectly though, ie. will it have an audio buffer underrun once every year or once every day ? This depends only on the PC, but I trust the linux 2.6 scheduler...)
About the Cobra thing, I did a quick search but found little info on distributors. And especially on prices...
Also I wanted to overcome my laziness about embedded systems. I remember dropping an old project because I couldn't be bothered to learn how to code an atmega128.
Even if this doesn't work I have learnt a ton of stuff 😉
(but I think it will work. I don't know if it will work perfectly though, ie. will it have an audio buffer underrun once every year or once every day ? This depends only on the PC, but I trust the linux 2.6 scheduler...)
About the Cobra thing, I did a quick search but found little info on distributors. And especially on prices...
peufeu said:oops. Can you be more precise about the timing doubts ?
It depends to a large extent on the data rate. There seems to be a lot of edges close to each other that should not be but one would need a more accurate timing scale to judge and at 44k1 it probabaly won't matter. That leaves one main one, WCLK for the PCM63 and AD1865. There needs to be a low to high transition of WCLK somewhere between the MSB and the LSB of the data, i.e whilst BCLK is still running, for those two to function correctly.
peufeu said:I also need some IC to convert the 3.3V FPGA output levels to 5V levels though.
Have you checked the input spec of the 5V part? Unless its some stone age TTL device it should gluelessly interface to 3v3 LVTTL.
You're absolutely right. I misread the PCM63 datasheet. It's fixed.
I have PCM63 laying around and will try them. I don't have any AD1865, so I'll probably not include them in the massive DAC chip shootout I plan to organize once this thing is finished.
And I'll use some HC buffers, so it looks like BlackCatSound is right 😉
I have PCM63 laying around and will try them. I don't have any AD1865, so I'll probably not include them in the massive DAC chip shootout I plan to organize once this thing is finished.
And I'll use some HC buffers, so it looks like BlackCatSound is right 😉
Been following your progress, I'm glad you have succeeded. Please take the lack of comments in your thread as not having technical expertise to converse, but I certainly enjoy your website
Congratulations! I'm following too 😎
I'm really envious about the Ehternet-Fpga-I2S system setup slaving PC. This "core" is really something new in diy community. Even results are not important now, because with this core there are no dead ends.
Maybe a cobranet based system do similar things, but the only projects I found were to amplify a congress hall...
I think this is the digital project of the year. Just waiting for the next step: slaving a software. 🙂
I'm really envious about the Ehternet-Fpga-I2S system setup slaving PC. This "core" is really something new in diy community. Even results are not important now, because with this core there are no dead ends.
Maybe a cobranet based system do similar things, but the only projects I found were to amplify a congress hall...
I think this is the digital project of the year. Just waiting for the next step: slaving a software. 🙂
I think this is the digital project of the year. Just waiting for the next step: slaving a software. 🙂 [/B]
LOL Thanks 😀
Actually slaving is done (but it's just a python flac-player of mine).
Since I'm listening to it now I took the time to post a massive update to the site :
http://audio.peufeu.com/node/50
http://audio.peufeu.com/node/49
Do you think it would be possible to use other FPGAs?
Altera Cyclone boards seem quite nice. See http://www.fpga4fun.com/board_Xylo.html
Altera Cyclone boards seem quite nice. See http://www.fpga4fun.com/board_Xylo.html
These don't have ethernet really. They have an ethernet connector wired to the FPGA with a bunch of resistors, and then it's up to you to handle the rest. For the price, it's a joke, forget it.
For ethernet you need a PHY (physical interface chip) which handles the low-level stuff like wire equalization etc, and a MAC (media access control) which handles packets, ethernet protocol, collisions, etc. Some chips (like mine, SMC91c111) have both one one chip. Or you can use a board with just a PHY and use the Opencores MAC inside your FPGA.
A PHY has analog circuits in it, you can't really do this in a FPGA...
If you want low throughput (10 Mbps) you're better off with something like an ARM with an ethernet connection, but then you'll need some programmable logic chip to handle the conversion to I2S...
Or you could buy the same board as I did, but it is only usable if you jump through some hoops (read my site).
For ethernet you need a PHY (physical interface chip) which handles the low-level stuff like wire equalization etc, and a MAC (media access control) which handles packets, ethernet protocol, collisions, etc. Some chips (like mine, SMC91c111) have both one one chip. Or you can use a board with just a PHY and use the Opencores MAC inside your FPGA.
A PHY has analog circuits in it, you can't really do this in a FPGA...
If you want low throughput (10 Mbps) you're better off with something like an ARM with an ethernet connection, but then you'll need some programmable logic chip to handle the conversion to I2S...
Or you could buy the same board as I did, but it is only usable if you jump through some hoops (read my site).
Nice work peufeu!
I was listening to a really cool little prototype speaker at Meyer Sound a couple weeks ago and they were driving 120 independent audio signals to 120 drivers placed in a spherical structure – all with a single gigabit Ethernet connection. One of the demos was a cymbal crash with the driver array perfectly mimicking the spatially-dynamic sound field that the real cymbal creates as it flails around on the stand. They must have used fairly high bit depths and sample rates to get the clean HF response I heard.
They mentioned using a Xilinx part but I don’t recall which one. U.C. Berzerkely did much of the work and the PCBAs were all proprietary.
Cheers,
Casey Walsh
I was listening to a really cool little prototype speaker at Meyer Sound a couple weeks ago and they were driving 120 independent audio signals to 120 drivers placed in a spherical structure – all with a single gigabit Ethernet connection. One of the demos was a cymbal crash with the driver array perfectly mimicking the spatially-dynamic sound field that the real cymbal creates as it flails around on the stand. They must have used fairly high bit depths and sample rates to get the clean HF response I heard.
They mentioned using a Xilinx part but I don’t recall which one. U.C. Berzerkely did much of the work and the PCBAs were all proprietary.
Cheers,
Casey Walsh
Hehe.
If it's 1G Ethernet, it must me a Virtex-4 part. It has 2 embedded 1G ethernet interfaces and power bordering on the insane (just read the xilinx blurb).
(The newest Virtex-5 parts go way beyond insane, and the prices too)
120 channels... quite practical huh ? That's a lot of DAC chips to solder. But we need that kind of extreme thinking...
Do they sell this as a kit ?
If it's 1G Ethernet, it must me a Virtex-4 part. It has 2 embedded 1G ethernet interfaces and power bordering on the insane (just read the xilinx blurb).
(The newest Virtex-5 parts go way beyond insane, and the prices too)
120 channels... quite practical huh ? That's a lot of DAC chips to solder. But we need that kind of extreme thinking...
Do they sell this as a kit ?
Have you looked at the CobraNet chips from Cirrus??
CS181xx and CS496xx families of parts.
Also worth a look would be the CO2 boards at http://www.atterotech.com
CS181xx and CS496xx families of parts.
Also worth a look would be the CO2 boards at http://www.atterotech.com
- Status
- Not open for further replies.
- Home
- Source & Line
- Digital Source
- Die, SPDIF ! Design of the Ethernet DAC