-2
\$\begingroup\$

I have been working with the TM4C129 uC from texas instruments, using the bulk example code that the company provides I was able to desing an osciloscope using the analog to digital converters, it was not really hard because TI provides the USB drivers, the PC's code (host side )and the uC's code (device side) to implement a bulk device. But there is no code, examples or drivers to implement an isochronous usb device to create a USB audio device. My question is: Is there any uC from any other company that provides the drivers, code and examples for an Isochronous or interrupt transfers,? maybe both?

\$\endgroup\$
1
  • \$\begingroup\$ Shopping questions are off topic. \$\endgroup\$
    – Turbo J
    Dec 13, 2017 at 8:27

2 Answers 2

2
\$\begingroup\$

You don't need to learn about Isochronous transfers, they are dead. The "isochronous" transfers were invented/offered in the era of full-speed USB (12 Mbps), when the bandwidth was barely enough to transmit decent audio and raw video images of VGA-size. It was assumed that single-bit errors couldn't possibly affect the quality (human perception) of sound or video, so the protocol didn't have much of control overhead and ignored CRC errors, and, due to bandwidth bottleneck, any retry of an entire packet would cause serious distortions. Now the isochronous transactions are a thing of the past, and used only in legacy dirt-cheap low-quality audio. All modern audio and video devices are nowadays done at USB High-speed (480 Mbps and USB 3.0) using reliable bulk transactions and compressed protocols.

The "interrupt" transactions are used everywhere, in hubs, and in all HID devices. There are many uC who offer easy HID devices as keyboards, so there should be plenty of code examples from manufacturers for USB periodic transactions (aka interrupts).

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for your advice. So modern audio consoles that records 8 audio channels with USB 2.0 use bulk transfers? how about the data acquisition devices? they do not use Isochronous transfers? i really thought that BEC was the reason why to choose isochronous over bulk transfers. And one more question, from where do you know all that?. I ask these because i do not know almost anything about USB and is hard for me to found information about it. \$\endgroup\$
    – JPgiq
    Jan 5, 2018 at 18:48
0
\$\begingroup\$

I did my university dissertation on USB using a Microchip PIC16F1459. Microchip provides an SDK full of examples for many devices which includes the source code for the firmware and software all in convenient ready to build projects. You can download it here

I used Version v2014-07-22 but can't say how much has changed since that release.

A good reference for learning USB, which helped me a lot was Jan Axelson: USB Complete.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for sharing your experience and the link, i will check it, in your university dissertation you used Isochronous transfers? \$\endgroup\$
    – JPgiq
    Jan 5, 2018 at 18:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.