Rich Schupbach

USB Audio

The assignment was to design a new USB audio card to replace the client's existing PCIe audio card. The PCIe card was previously used in the Windows 10 LTSC-based SBC illustrated below. New applications required use of a different embedded system, which lacks a PCIe slot, but does offer multiple USB ports.

SBC

SBC

Below are shown two generations of PCIe cards, gen 1 (left), gen 2 (center) and the XMOS SDK (right). More on this later...

Audio Cards

SBC

Researched the following technologies, to help identify the best hardware for the required functionality.

  • I2C (synchronous, single-ended, serial communication bus)
  • I2S (serial interface protocol for transmitting two-channel digital audio as PCM between ICs)
  • SPI (Serial Peripheral Interface, a de facto standard for synchronous serial communication)
  • S/PDIF (Sony/Philips Digital Interace)
  • TDM (Time-division multiplexing)
  • OSI model (Open Systems Interconnection model)

Researched the following DACs.

DACs

SBC

Prototypes

SBC

Ultimately chose the XMOS device. The manufacturer provided a great SDK, schematic, BOM and Gerber files of the developement board. The schematic was provided in Altium format. Since I did not have an Altium license, I planned to use KiCAD (open source). However, using the KiCAD translation tools resulted in a long list of errors. And Altium licenses exceeded our budget, so I took a different approach.

Since I was provided with Gerber files and a BOM, and the physical board size of the development board met our requirements, we repurposed it for our application. I simply de-populated the BOM to eliminate any unnecessary components, and used the Gerber files as-is. This eliminated cost, risk and lead-time.

XMOS

SBC SBC