|
|||||||
| Home | Forums | Rules | Articles | Store | Gallery | Blogs | Register | Donations | FAQ | Calendar | Search | Today's Posts | Mark Forums Read | Search |
| Digital Line Level DACs, Digital Crossovers, Equalizers, etc. |
|
Please consider donating to help us continue to serve you.
Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving |
|
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
diyAudio Member
Join Date: Oct 2007
|
Nobody seems to have considered using the NXP LPC3130 (or LPC3131) as an Asynchronous USB to I2S converter. It is $3.89 Q1 at Avnet.
Inside the CPU use software to serialize 15 channels of audio data and a word clock. Now when the audio clock triggers the SRAM DMA, clock out 15 channels of I2S and the word clock. External devices should see this as 15 channels of I2S. Reverse the procedure for input. 96KB should be enough for the program an a good sized FIFO. If not use the LPC3131 and get 192KB of RAM. Last edited by jonsmirl; 2nd November 2012 at 03:19 AM. |
|
|
|
#2 |
|
diyAudio Member
Join Date: Sep 2007
Location: Hangzhou - Marco Polo's 'most beautiful city'. 700yrs is a long time though...
Blog Entries: 62
|
Not a very DIY-friendly package that TFBGA180. But a great part for the price for sure.
__________________
When a measure becomes a target, it ceases to be a good measure. C.A.E. Goodhart |
|
|
|
#3 |
|
diyAudio Member
Join Date: Oct 2007
|
We can solder this chip in our lab, but it is a pain. For any significant quantity we have an assembly house solder.
Olimex makes a fairly cheap dev board for the chip. It has a lot of extra stuff on it. US disti I suspect a USB to IS2 board can be made for under $20 using this chip. If someone gets this working I'll buy ten. BTW, I've seen this chip go for $2.25 in huge quantity. Last edited by jonsmirl; 2nd November 2012 at 03:42 AM. |
|
|
|
#4 |
|
diyAudio Member
Join Date: Sep 2007
Location: Hangzhou - Marco Polo's 'most beautiful city'. 700yrs is a long time though...
Blog Entries: 62
|
I remain skeptical of your use of DMA to bit-bang the 15 channels of output. - it would require bit-twiddling by the CPU which I reckon will be very cycle-intensive. Besides the SDR Widget guys already have an Open Source async solution, I think they were using an Atmel SoC though which is bound to be a bit more expensive than the NXP.
__________________
When a measure becomes a target, it ceases to be a good measure. C.A.E. Goodhart |
|
|
|
#5 |
|
diyAudio Member
Join Date: Oct 2007
|
It is a 180Mhz ARM9 core that would be dedicated to bit banging. USB arrives via DMA. At 96Khz that's 125 instructions per bit. For another $1 you can get a 270Mhz version which gives you 187 instructions per bit.
The 96K on-chip memory is SRAM so there are no refresh delays. There will be some interference from DMA. This is also a 32b CPU with lots of registers. Based on these estimates it doesn't look hopeless. |
|
|
|
#6 |
|
diyAudio Member
Join Date: Oct 2007
|
LPC3130 vs AT32UC3A3256 used in SDR widget
|
|
|
|
#7 |
|
diyAudio Member
Join Date: Jun 2009
Location: Orygun
|
Hmm, if you're going to the trouble of coding up an asynchronous USB Audio Deivce Class 2.0 implementation for ARM why not target the LPC4300? Granted, the 4300 parts are a little more expensive but the clock rate is comparable, they're available in LQFPs, and the bit shuffling can be offloaded to the M0 and SGPIO.
|
|
|
|
#8 |
|
diyAudio Member
Join Date: Sep 2007
Location: Hangzhou - Marco Polo's 'most beautiful city'. 700yrs is a long time though...
Blog Entries: 62
|
Somewhat ironically the M0 isn't blessed with the very instruction (rotate with extend) that would make bit shuffling viable...
__________________
When a measure becomes a target, it ceases to be a good measure. C.A.E. Goodhart |
|
|
|
#9 | |
|
diyAudio Member
Join Date: Apr 2003
Location: Tampere Finland Europe
|
Quote:
|
|
|
|
|
#10 |
|
diyAudio Member
Join Date: Oct 2007
|
There are two ways to use the LPC3130, bare metal or add a $1 SDRAM chip. Bare metal is cheaper and more efficient. NXP has basic support libraries for bare metal USB and I2S. No audio class 2 though.
The other approach is to run Linux on it using the SDRAM chip. Linux already has audio class 2 and I2S support. The two on-chip I2S channels can do 96/24 per the manual. I suspect they can also do 192/24 but can't provide a 256 fs clock at 192/24. 64 fs should work. I don't have a need for more than two I2S. The bit twiddling appeared to be possible so I just mentioned it. |
|
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| exaU2I - Multi-Channel Asynchronous USB to I2S Interface | exa065 | exaDevices | 1304 | Yesterday 03:43 PM |
| XMOS-based Asynchronous USB to I2S interface | Lorien | Digital Source | 1724 | 22nd May 2013 06:50 PM |
| exaU2I - 32bit/384kHz Multi-Channel Asynchronous USB to I2S Interface | exa065 | exaDevices | 0 | 11th November 2011 11:41 AM |
| New To Site? | Need Help? |