xCORE-200 Series and USB Audio 2.0 Reference Software
Posted: Wed Oct 18, 2017 3:49 pm
Hello everyone,
This is my first post here (even though I've read/browsed the forums for the last few months).
So, here goes: I've "inherited" an audio project at the company I work for. It's a 6in - 4out USB sound card based on the XU216-512-TQ128 and the USB Audio 2.0 Reference Software. The guy that worked on the project before me (and almost finished it) has assigned different functions (eg. I2C, S/PDIF, etc) to different ports (pins) on the xmos chip above (2 tiles). The problem is that some of the ports he used overlap the ones that are used by the USB itself. This is according to the documentation [1] and [2] below. For example he put I2S functionality on ports 1E, 1F, etc - even though these seem to be in use by the USB/transceiver. Normally I would just simply change those to other ports (so it wouldn't overlap USB ports), however, the prototype as-is works perfectly. So, it's clearly either something I don't understand or there is some other mistake on our design. Also, we have another design (based on the same XMOS chip) done by the same guy that also overlaps some things with the USB ports and these work as well.
Can the USB transceiver / USB libraries actually share these ports and the documentation is not up-to-date? If anyone can enlighten me on these I would really appreciate it. Thanks
[1] - In the file lib_usb-[userguide]_3.1.2rc2.pdf, on page #3 (xCORE-200 Series) here's what it says:
"The xCORE 200 series of devices have an integrated USB transceiver. Some ports are used to communicate with the USB transceiver inside the xCORE-200 series packages. These ports/pins should not be used when USB functionality is enabled." These are the ports 1A, 1C, 1E, 1F, 1G, 1H, 1I, 1K, 4A, 4B, 4C, 4D, 8A, 8B, 16A - on tile 0.
[2] - In the datasheet file XU216-512-TQ128-Datasheet_1.12.pdf, on pages #20-21 there is a picture that represents the USB/transceiver that also shows the above ports being used (connected internally) for USB operation.
This is my first post here (even though I've read/browsed the forums for the last few months).
So, here goes: I've "inherited" an audio project at the company I work for. It's a 6in - 4out USB sound card based on the XU216-512-TQ128 and the USB Audio 2.0 Reference Software. The guy that worked on the project before me (and almost finished it) has assigned different functions (eg. I2C, S/PDIF, etc) to different ports (pins) on the xmos chip above (2 tiles). The problem is that some of the ports he used overlap the ones that are used by the USB itself. This is according to the documentation [1] and [2] below. For example he put I2S functionality on ports 1E, 1F, etc - even though these seem to be in use by the USB/transceiver. Normally I would just simply change those to other ports (so it wouldn't overlap USB ports), however, the prototype as-is works perfectly. So, it's clearly either something I don't understand or there is some other mistake on our design. Also, we have another design (based on the same XMOS chip) done by the same guy that also overlaps some things with the USB ports and these work as well.
Can the USB transceiver / USB libraries actually share these ports and the documentation is not up-to-date? If anyone can enlighten me on these I would really appreciate it. Thanks
[1] - In the file lib_usb-[userguide]_3.1.2rc2.pdf, on page #3 (xCORE-200 Series) here's what it says:
"The xCORE 200 series of devices have an integrated USB transceiver. Some ports are used to communicate with the USB transceiver inside the xCORE-200 series packages. These ports/pins should not be used when USB functionality is enabled." These are the ports 1A, 1C, 1E, 1F, 1G, 1H, 1I, 1K, 4A, 4B, 4C, 4D, 8A, 8B, 16A - on tile 0.
[2] - In the datasheet file XU216-512-TQ128-Datasheet_1.12.pdf, on pages #20-21 there is a picture that represents the USB/transceiver that also shows the above ports being used (connected internally) for USB operation.