USB transport Reflex allows you to play files with a maximum sampling frequency of 192 kHz and a maximum resolution of 32 bits in PCM, TDM and SPDIF formats. The module supports multi-channel sound, the maximum number of channels is 8 in the 7.1 configuration (Surround Sound). The device is defined as a standard USB audio class 1 sound card, works with computers, tablets, smartphones running Windows, Linux, Android, macOS.
Assembled on the STM32F446RCTx microcontroller.
Possible audio channel configurations
Selecting the audio channel configuration
The audio channel configuration is selected by setting jumpers on contacts 6, 7, 8
When the SPDIF format is activated, the data is output to the DATA pin of the first I2S port.
Selecting the TDM format
Selecting the TDM format is done by setting the jumper to pin 9. If the jumper is not set, the output format is I2S. If the TDM format is selected, port 1 is active. In the TDM format, the LR signal is a pulse with a duration of one BCLK clock cycle by default. It is possible for LR to be a rectangular signal with a pulse duration of 50%, as for I2S. To do this, connect the DATA pin of the 2nd I2S port to GND.
Sync modes
The following synchronization modes are possible:
Changing output states when changing frequency and bit rate
When changing frequency and bit rate in the OS settings, the module changes the states of the outputs: 22 and 23 - for bit rate; 25, 26 and 27 - for frequency. This can be used for external synchronization to select a clock source or for indication.
State of outputs depending on bit rate
Output state depending on frequency
Software update
The module software is updated using the "DfuSe" program, which is available for download on the ST website. To update the software on the module, you need to install a jumper on the "B" contact and connect the "DATA" contact of port 2 to the "GND" contact.
Pin assignments
What you can do.
If it's just plugging into USB (without setting jumpers), then it's a stereo USB/I2S transport with one I2S port. Connect the DAC and enjoy the music.
But Reflex can do more.
You can connect many DSPs and DACs to it. You can load Sigma Studio or Pure Path Studio projects into it. You can connect Buttons, Regulators, LEDs associated with Sigma Studio or Pure Path Studio projects to the GPIO pins. Everything will work!
Follow the headlines ChipDipDAC did it, so can you. I will show examples of how to do it.
KiCad files and firmware are attached so you can do it yourself.
Assembled on the STM32F446RCTx microcontroller.
Possible audio channel configurations
Audio Channel Configuration | Bit Rate | 44.1 | 48 | 88.2 | 96 | 176.4 | 192 | I2S | TDM |
2.0 | 16 | + | + | + | + | + | + | + | TDM2 |
2.0 | 24 | + | + | + | + | - | - | + | TDM2 |
2.0 | 32 | - | - | + | + | - | - | + | TDM2 |
3.1 | 16 | + | + | + | + | - | - | + | TDM4 |
3.1 | 24 | + | + | - | - | - | - | + | TDM4 |
4.0 | 16 | + | + | + | + | - | - | + | TDM4 |
4.0 | 24 | + | + | - | - | - | - | + | TDM4 |
7.1 | 16 | + | + | - | - | - | - | + | TDM8 |
Selecting the audio channel configuration
The audio channel configuration is selected by setting jumpers on contacts 6, 7, 8
Audio Channel Configuration | Setting Jumpers |
2.0 | 6 7 8 |
2.0 - 32 bit | 6 7 8 |
3.1 | 6 7 8 |
4.0 | 6 7 8 |
7.1 | 6 7 8 |
2.0 SPDIF | 6 7 8 |
SPDIF formatWhen the SPDIF format is activated, the data is output to the DATA pin of the first I2S port.
Selecting the TDM format
Selecting the TDM format is done by setting the jumper to pin 9. If the jumper is not set, the output format is I2S. If the TDM format is selected, port 1 is active. In the TDM format, the LR signal is a pulse with a duration of one BCLK clock cycle by default. It is possible for LR to be a rectangular signal with a pulse duration of 50%, as for I2S. To do this, connect the DATA pin of the 2nd I2S port to GND.
Sync modes
The following synchronization modes are possible:
- master with internal synchronization
- master with external synchronization
- slave
Sync mode | Setting Jumpers | Pins |
Master with internal synchronization | 10 11 | DATA - output BCLK - output LR - output MCLK - output EXT CLK - NC |
Master with external synchronization | 10 11 | DATA - output BCLK - output LR - output MCLK - output EXT CLK - input MCLK = EXT CLK |
Slave | 10 11 | DATA - output BCLK - output LR - iput MCLK - NC EXT CLK - NC |
Changing output states when changing frequency and bit rate
When changing frequency and bit rate in the OS settings, the module changes the states of the outputs: 22 and 23 - for bit rate; 25, 26 and 27 - for frequency. This can be used for external synchronization to select a clock source or for indication.
State of outputs depending on bit rate
Bit Rate | Outputs | States |
output 22 | output 23 | |
16 | 0 | 0 |
24 | 0 | 1 |
32 | 1 | 0 |
Output state depending on frequency
Outputs States | |||
Frequency, kHz | output 25 | output 26 | output 27 |
44,1 | 0 | 0 | 0 |
48 | 0 | 1 | 0 |
88,2 | 1 | 0 | 1 |
96 | 1 | 0 | 0 |
176,4 | 1 | 1 | 1 |
192 | 1 | 1 | 0 |
Software update
The module software is updated using the "DfuSe" program, which is available for download on the ST website. To update the software on the module, you need to install a jumper on the "B" contact and connect the "DATA" contact of port 2 to the "GND" contact.
Pin assignments
What you can do.
If it's just plugging into USB (without setting jumpers), then it's a stereo USB/I2S transport with one I2S port. Connect the DAC and enjoy the music.
But Reflex can do more.
You can connect many DSPs and DACs to it. You can load Sigma Studio or Pure Path Studio projects into it. You can connect Buttons, Regulators, LEDs associated with Sigma Studio or Pure Path Studio projects to the GPIO pins. Everything will work!
Follow the headlines ChipDipDAC did it, so can you. I will show examples of how to do it.
KiCad files and firmware are attached so you can do it yourself.
Attachments
Last edited:
Project with this transport. Simple pre-amplifier/DAC with two inputs and tone controls. ADAU1701 inside.
STM32F446RCTx microcontroller. This is the maximum it can do.Why 7.1 is limited to 16 bit and 48kHz only? Not enough CPU performance?
UAC1.
But this module has advanced functions. You can load projects from SigmaStudio or PurePathStudio into it. It controls many DSP through ports I2C or/and SPI. For example, like here Simple pre-amplifier/DAC with two inputs and tone controls. ADAU1701 inside.
This is its main advantage.
STM32F446RCT
Ooh. my fault 🙁
Of course - 446 does not have HS PHY inside and there is no external on board. That's why you are limited 2ch 192/16 and so on.
I remembered, it was on Vegalab.