xcore.ai Multichannel Audio Board 1v1 Hardware Manual
The I2C multiplexer must be written first to select bus 0 or bus 1 before communication
with the I2C devices on the relevant I2C bus can commence.
The I2C multiplexer takes the last byte written as the data for the control register. For an
I2C write we typically send a three byte string of slave address, register address, data. In
this case we do not use the register address so this can be set to 0. The control register
data is set to 0x04 to select I2C bus 0 and set to 0x05 to select I2C bus 1.
So to select bus 0 - WRITE 0x70 0x00 0x04. To select bus 1 - WRITE 0x70 0x00 0x05
A table showing details on I2C devices on the board can be seen here Figure
I2C Bus
I2C slave address (7 bit)
Device
0
0x4C
TI PCM5122 stereo audio DAC 0 (Ch1/2)
0x4D
TI PCM5122 stereo audio DAC 1 (Ch3/4)
0x4E
TI PCM5122 stereo audio DAC 2 (Ch5/6)
0x4F
TI PCM5122 stereo audio DAC 3 (Ch7/8)
0x4A
TI PCM1865 4-Channel audio ADC 0 (Ch1/2/3/4)
0x4B
TI PCM1865 4-Channel audio ADC 1 (Ch5/6/7/8)
1
0x4E
Cirrus Logic CS2100 Fractional-N clock multiplier
0x60
Skyworks Si5351A-B-GT CMOS clock generator
Figure 21:
I2C devices
15
Power supplies
The board is powered either from the “USB DEVICE” connector or from the “EXTERNAL
POWER” connector as described in the USB section. This allows for testing as a bus or
self powered USB device.
The USB specification has quite stringent requirements as to how the device uses power
from Vbus. Some of these are listed below:
·
Device must present less than 10uF of decoupling capacitance on Vbus.
·
Device must use less than 2.5mA from Vbus in USB suspend.
·
Device must use less than 100mA from Vbus until configured as a high power device.
For self powered devices these are trivially met as the board can use as much power as
required from the external power supply. For bus powered devices, the xcore.ai multichan-
nel audio board is designed to meet these requirements where possible which makes for
a slightly more complicated power supply scheme.
The essence of the design is that only supplies required by the xmos device are always on
and the other power supplies on the board are switched off until they are required/allowed.
An additional complication is switching supplies on can cause significant inrush current
if not controlled so current limited load switches are used for the purposes of switching
supplies on and off rather than regulator enable pins. It should be noted switching the
18