USBi protocol
I've written a standard USB "soundcard" for a microcontroller that I'm planning to use on an amplifier board with an Analog Devices DSP, and I thought it would be neat if I could program the DSP over the same USB port.
I see you've opensourced the sigma-tcp code, so it seems like you don't mind independent implementations of programmers for your DSPs that can talk to SigmaStudio, but I can't seem to find any documentation on the USBi protocol.
As far as I can tell it simply sends some vendor-specific requests to endpoint 0 on the device, that probably maps directly to SPI and/or I2C transactions, but it would be really nice to have a little documentation of this.
UP answer, this is not possible?
Hello esmil and insert,
You do need to know the USBi protocol. All you need to know is the content to transfer over I2C or SPI and when a program is running you need to know the address of the "controls" for the objects running in the DSP. You can see the traffic in the Capture window in SigmaStudio when you click on controls and when the device is programmed. You can capture and export the contents of the capture window by highlighting the desired lines and right-clicking over it. There are some things that SigmaStudio hides for good reason. Any continuous reads of data will not be shown. This is where you have a meter showing the audio level in the DSP. This traffic is usually every 10ms so that traffic is filtered out and so are the continuous reads of a Readback cell. Search the forum for how to program using a controller, or microcontroller, or uC and there are plenty of hits.
Here are a few:
This next one is good because there are many links within it.
https://ez.analog.com/dsp/sigmadsp/f/q-a/65675/need-help-with-dynamic-programming-basics-adau1702
One of them is this post which is the one I was originally looking for:
Search the forum. there is a lot of info in here.
Dave T
THNX DAVE T.
Can you tell me, how i can replace USBi device for connect PC to ADAU, i need USB HID descriptions and inside USB-I2C protocol of convertion. I want make it(USBi adapter) on STM32F4 MCU.
Hello insert,
The USBi uses an older Cirrus chip that is used to convert USB data to I2C and SPI communications. It does require sending the data in packets etc. I would search the web for USB to I2C/SPI interfaces. You can also look on the Cirrus web site to see what they offer for solutions. You are best to not copy the USBi interface since it is an older part now and there must be much better parts available. I would expect that they would have the libraries to communicate with their parts.
Besides some specific commands to set the Cirrus part into I2C or SPI modes and to packetize the data, the communication between SigmaStudio and the DSP is pretty much what you see in the Capture window. It is address of the data and the data. Yes, you have to append the chip address to the front of the message.
Then there is some traffic that is muted in the Capture window as I explained above.
Dave T
Please log in to reply.