I2S Library#
A software defined library that allows you to control an I2S (Inter-IC Sound) bus via xcore ports. I2S is a digital data streaming interfaces particularly appropriate for transmission of audio data. The components in the library are controlled via C and can either act as I2S master or I2S slave.
Note
The TDM protocol is not yet supported by this library.
I2S is a protocol between two devices where one is the master and one is the slave . The protocol is made up of four signals shown in I2S data wires.
MCLK |
Clock line, driven by external oscillator |
BCLK |
Bit clock. This is a fixed divide of the MCLK and is driven by the master. |
LRCLK (or WCLK) |
Word clock (or word select). This is driven by the master. |
DATA |
Data line, driven by one of the slave or master depending on the data direction. There may be several data lines in differing directions. |
All I2S functions can be accessed via the i2s.h
header:
#include <i2s.h>