QA403 I2S Input / Output

We’ve recently ordered a QA403 for our AD/DA testing setup.

In our setup, we’ve made breakout board for the QA403 which gives us the I2S signals (out only) LVDS on a HDMI connector, so we can use a 1m cable to our DAC test setup.

Is there a possibility to set different bit depths than 16 or 32 bit and operate I2S input separately from the output? (e.g. use I2S output, while using the internal AD for input)?

20/24-bit LJ would be useful for our ADAT DAC test setup, which consists of an LVDS receiver PCB (as counterpart for our custom breakout / driver) and an ADAT Encoder ASIC, because the ASIC is a bit “picky” about the format.

Hello i have also an little Problem with the I2S Out i guess not sure yet.

I want to Use this Modul:

with this Isolator:

But i guess i need 24Bit to use the SPDIF, ASEBU and Toslink Out…
Only the HDMI I2S Out supports 32Bit and i cant see there an ASRC onboard so that why i didn’t order it for now.
I am a bit unsure about this and Audiophonics don’t answere till now to my Question about 32Bit and 24Bit.

Also cant find anything else that are 32Bit Capabel with SPDIFF and TOSLINK Out.
All needs 24Bit or at least an ASRC for Conversion!

@ the End i will use the Mirror function to get my Digital Stuff measured.
HDMI Out 32Bit (Nvidia 1080Ti Card) Camilla DSP (Raspberry 5 HDMI In) and USB Out Motu UL MK5 for Surround full Aktiv system (16 Channel).

For Surround i need to use than REW because i can then chose all HDMI 8 Channels One by One but this wont work with QA403 and the Asio Driver.

If you chose Asio 401 you can only select In and Out on the QA and it didn’t work with Asio for All so it is not easey to manage.

I guess i Use REW for Playback thrue HDMI and QA403 as an Mik in only Mesuring Device.
Anything like this.
For Speaker Measuring Filter Settings in CamillaDSP.

An Other idea would be to use the Sereo I2S Out and an I2S 4 Stereo Channel to real HDMI Out and switching with CMOS.
Switching the QA403 I2S Out between this 4 Stereo I2S in Channels.
But could not find an I2S to Real 8 Channel HDMI Out tilll now.
But this would be 32Bit Compatible.

@ the End i Could use an Raspberry 5 again, LOL It has 4 Setereo I2S In and Surround HDMI Out.
If i couldn’t fine something else or Cheeper.

Need to test this all.


Hi @syso and @Frunse , it’s not currently possible to set an option other than 16 or 32 bits.

We can look at adding 20 and 24-bit options. But if possible, you’d need to confirm and test operation.

That would be very useful. That is the ADAT Encoder ASIC if you want to take a look in regards of compatibilty - . It is the only option besides the expenside XMOS processor.

Ok Matt I am in, i order this Board and the Connector for that QA Expansion Port.

the Isolator i have already here.

If i got all i will Post here.
Recived all.

Now i need to find an flat Cabel with this tiny 0,635mm Pitch :wink:

May be an Old SCSI Cabel will help out LOL.

I will Connect all and test it with 16Bit if this worked we could go further to 24Bit
32Bit i cant Test right now didn’t have an LVDS HDMI Reciver.

The Bigger Chips on the green Board are:
WM8805 (8:1 Digital Interface Transceiver with PLL)
DS90LV047A (3-V LVDS Quad CMOS Differential Line Driver)

Isolator are:
ISO7640FM (High-Speed, Robust-EMC Reinforced and Basic Quad-Channel Digital Isolators)
2,5 to 5,5V Capabel :wink:

The Output Side (Isolator) and the green Board i will provide from USB Hub with Power.
The Isolator Inputside from QA403 Expansion Connector.

Or an Lab Powersupply for testing , let see.

Thank You.


1 Like

I am in as well - received the LVDS TX/RX boards.

Some more work Done:
Next day only need to solder an USB Cable and i can Test The Digital Interface! :wink:

For a bit Protection of this tiny Wire i used Hot Glue, i hope i did all Connection right :slight_smile:

Found an XLR Connector that will fit also:
But not Cheep.

Alternative i could use an XLR Mini Connector.


Short comment.
I2S is normally either

  1. 16 bit mapped on a 16 bit slot
  2. 24bit mapped on a 32bit slot
  3. 32 bit mapped on a 32bit slot

If TDM is supported in most of the cases even 8 slots can be supported.

The WDM8805 is quite flexible and also supports DSP modes (TDM) where the slot build up can be programmed.

The QA403 js most probably not so flexible and I assume it puts out 2 slots at 64fs (=2x32bits) where data is mapped in at 24 bit.

What is important is to check the levels of the signals. The input high and low level should match with each other, otherwise levelshifters are needed which can support the speed of BCK.

Ok did my first Measurings with this Interface.

You need to solder an 0 Ohm Bridge for 3,3V on that Anamero Connector.

Motu UL Mk5 Optical In 16Bit 48kHz

But looks Strange to me, i am not an Expert to Digital Audio Domain.
At least the Interface seems to work.
But why this Harmonics around 1kHz if i mesure it with REW and USB IN they are not there.
Jitter??? Or something i did not right here???

The same with 32Bit seems also to work.

I will check the Digital Signals with Scope as next may be i can find something that looks not right.

This is from REW to MOTU USB IN and Analogue to QA403 Single Ended:

Looks mutch better to me.


in my opinion, the digital input to the QA40x should be connected through an SRC since the I2S input on the expansion connector needs to be synchronized to the I2S output. Maybe there is an SRC in your design but I just don’t see it.
Best regards

This is an Digital Outpuboard only!
So that sounds a bit Confusing, The QA403 Expansion give the MCLK Out to the Isolator and than to the Digital Interface so one Masterclock for all.
The Digital Interface needs the MCLK it wont run without.
so 16Bit and 48kHz with MCLK need to work on this Design.
But i am not sure how MAT runs the LCRK i ther Left justified or right Justified or what ever-
I need to measure it. Or Mat could say something here, what to do for best way?

If i use an ASRC (it has his own Clock also) i add another Clock in this Design.
Isn’t this makes all worse? Jitter wise.
Seems that i aso could Use the MCLK from QA403 to Feed into the ASRC if needed!

Would it not better Mat would Programm his Port Output to the needings ? Sure much work for him :wink:

I have this ASRC Board leying around if nothing else work i will use it in Between:

CS8421CZZ Hardware konfigured to 96kHz 32Bit Out but i can change this to 24Bit also.
Also have it with Oscilator instead of this Connector i soldered for testing and using an 1PPM Oscilator with Buffer for 4 Boards Surround Design (Work in Progress).

Buffer this:

or this:

When this would work with 24,576MHz then i also want to build me an 4 Channel 10MHz Source for my Measurment Equipment (Oscilloscope, Funktiongennerator…) to have it synced wit 1ppm 10MHz Signal in the Future…(To Much Projects @ once :wink: ) But i am an Noob in doing this so could need some Time LOL.

This is what i know from WIKI:
FP_I2S_DAC: This is the output bit stream from the QA40x. It is nominally a 3.2V digital signal.
FP_I2S_BCLK: This is the output I2S bit clock. Typically, this is will be either 32X or 64X (depending on bit width) of the sample frequency.
FP_I2S_MCK: This is the master clock output, typically 24.576 MHz.
FP_PWR: This is a small source of power that can be used to drive an digital isolator (see the schematics).

The FP_PWR will be enabled when the QA40x is plugged in. It will appear as a 3.2V source with a 10 ohm series resistance. You should not pull more than 10 or 20 mA from this pin, which is enough to drive an isolator or two.

Measured Signals befor the Isolator Chip (16Bit 48kHz used).
On Isolator Output after the Resistors looks the same.

MCLK looks like from an Crystal and not an Oscilator right? So Triangle instead of Rectangle right?
But only 2,2Vpp isn’t it abit low? Or thats normal?

DATA on T2 Transformer R5 (ASEBU) looks ok for me.

So BCLK need to be 48kHz x 16Bit x 2 =1,536MHz right, looks good to me.
Voltage is about 3,6V on Scope but with DMM i measured it 3,3V and 5,01V on Digital Interface.
and 3.0 from QA403 to Isolator.

The WM8805 allows this Data so i guess it need to work right.
But don’t know what DSP like mean :wink:

The audio data interface supports I2S, left justified, right
justified and DSP audio formats of 16-24 bit word length,
with sample rates from 32 to 192ks/s.

I guess i found the Problem.
On Datasheet of WM8805 i found this:
fs = 48kHz, MCLK = 256fs unless stated.

So thats Mean MCLK need to be 12,288MHz
but we have 24,576MHz so its Double as Mutch :frowning:
So we have MCLK 512fs right?

The WM8805 runs in Hardware Mode so i guess i cant change this need to read More :wink:
the Datasheet

“The clock and data recovery module with the WM8805 will require a 12 MHz crystal derived
master clock as the default values for this module cannot be altered in Hardware Control
“FREQMODE control is fully automatic to ensure that the MCLK output is maintained at 256fs relative
to the S/PDIF received sample rate.
In hardware mode, the OSCCLK must be 12MHz and hence the external crystal (or applied XIN
clock) must be 12MHz. No other OSCCLK frequencies are supported in hardware mode.”

Configured in Hardware , Slave Mode with I2S Interface as 24Bit (16Bit is possible but need to resolder Resistors on GPO0 and SDOUT Pins both at Low)

Need another Interface i guess :frowning:
Money for nothing and the Chiks are free ?? I wisch …LOL

So next i need to read the ASRC Datasheet may be i could use it in between.
Ok it is Possible: with this Settings

Let’s Safe the Interface :wink: Hopefully this way it will run.

Settup the Board this way:

But with 48kHz this Picture is from my Surround Design :slight_smile:

Probably also need to add an Switch to set it at 24 Bit or 32Bit Out if i want to use the I2S on HDMI Out i could use the 32Bit Out on ASRC or 24Bit for the SPDIF and ASEBU.


I might have missed something. Do you have block diagram of what you are trying to achieve?

Are you sending digital audio signals from the QA40x expansion connector in ADAT frames or SPDIF to a DAC through?
Are you measuring the analog output of you DAC with the analog input of your QA40x?
If your DAC is run from the QA40x expansion clocks signals (MCLK, BCLK, LRCLK and DAC), there is no need for a SRC. In case your signals go through SPDIF or AES/EBU to the DAC the clock will be regenerated from the data stream.

If you are feeding back signal from your device to the QA40x expansion connector, you may need an SRC to align the ADC (serial audio data stream) to the clock signals. If your device runs from the above mentioned clock signals this might bot be needed. The timing of the clock signals and the ADC resp. DAC signals might also be something ro look at. I once lost several days with an ADC chip because the clock edges were not within spec resp. the particular timing I had was not specified.

A basic block diagram would help to understand your requirements.

Good luck

Tried it Out right now with the ASRC but this can’t work the MCLK IN is the same on the MCLK Out Pin. absolutly Syncrone.

The only thing i can do now is to half the Frequenz with an SN74LS73.
But this Chip has max 20MHz so need to find faster D Flipflops . to make the 12,88MHz from 24,576MHz on Output after ASRC. That makes all more Complicated as well :frowning:

Any Advise would help?

Or better using an other Digital Out interface thats works with 24,576MHz MCLK LOL

This Device is capabel of 35MHz SN74LS393.


Ok i trty it again i will use the QA403Expansion Port, to add an Digital Out Port on The Analyzer.
SPDIF or TOS or may be ASEBU to feed the digital Signal to an external DAC or DSP.

The Digital Out Interface Board that i bought has MCLK in but i read that the WM8805 alow only an 12,88MHz Clock IN in Hardware Control Mode,. This thing is Configured as Hardware Controled in Slave Mode.

The QA403 suplies MCLK with 24,576MHz and this isn’t Compatible with this Digtal Output Board. Like i know now :wink:

So need to rethink this or find an Other Interface Board

The Problem is, there isn’t any SPDIF ot TOSLINK Digital Output Boards that is capabel to recive 32Bit Data, only 24Bit Data, but the QA403 gives only 16 or 32Bit Data.
MCLK = 24,576MHz
fs = 48kHz only

On Audiophonics Website can’t find any Datasheets to his selling DIY Interface Boards.
It’s crap.


Hi @Frunse, there has been some prototyping work with the WM8804. It’s a very versatile part, but unfortunately discontinued. I think you are right that you will need register control of the WM8804. In the source below, the QA40x is master and WM8804 is slave. The PLL in the WM8804 is off. If you decide to proto a board where you can set the registers in the WM8804, this might help.

Now, for S/PDIF RX, the WM8804 would need to be master since it will adjust freq via PLL to match incoming spdif data stream.

If the parameters were 48Ksps, 24-bits, and bit clock = 2.304M, do you think your WM8804 board would work with 12.28 MHz MCLK?

// LPC is master
// CLKOUT on WM8804 goes to MCLK input on WM8804. This is needed because MCLK is always input if WM8804 is slave
void Wm8804_Init()
	uint8_t addr = 0x74; // 0x74/0x76 are two options

	//I2cWrite(0x76, 0, 0);
	// Transmitter and receiver disabled (PLL still left off)
              	I2cWrite(addr, 0x1E, 0x1F);

	// Use GPO1 to signal Lock/Unlock
	I2cWrite(addr, 0x18, 0x07);

	// Read register 1. This should return 0x88
	volatile uint8_t val = I2cWriteRead(addr, 0x01);

	// Setup PLL. We are using 12 MHz xtal. From Table 23 in the spec:
	// PRE_SCALE = 0
	// F1 = 12 MHz
	// F2 = 98.304 MHz
	// R = 8.192
	// PLL_N = 0x08
	// PLL_K = 0x0C49BA
	// FREQ_MODE = 2'b10
	// MCLK_DIV = 0
	// MCLK_MHZ = 12.288
	// CLKOUT_DIV = 2'b00
	// CLKOUT MHZ = 24.587 MHz
	I2cWrite(addr, 0x03, 0xBA);
	I2cWrite(addr, 0x04, 0x49);
	I2cWrite(addr, 0x05, 0x0C);

	// Write N value, Prescale (1) and random frame data
	I2cWrite(addr, 0x06, 0x08);

	// F2 is 98.304 MHz, and we want MCLK on TX and RX
	// to be 24.576 MHz. See Table 28 for SPDIF Receive Mode clock
	// divider
	// FreqMode[1:0] = 2'b10
	// ClkOutDiv[1:0] = 2'b00
	// MClkDiv = 0
	// With the above, we get SPDIFTx = 24.576M and CLKOUT = 24.576 (back to LPC)
	I2cWrite(addr, 0x07, 0x06);

	// Set clock routing. CLKOUT enabled, MCLK = CLK2
	I2cWrite(addr, 0x08, 0x10);

	// Transmit source is MCLK
	I2cWrite(addr, 0x15, 0x71);

	// Slave mode | LR Polarity | BCLK not inverted | 24-bit | I2S mode
	I2cWrite(addr, 0x1C, 0x0A);

	// Osc, PLL, Transmitter and receiver enable. Once the receiver
	// is enabled, the PLL will track a receiver frequency.
	// NOTE: RX disabled for now
	I2cWrite(addr, 0x1E, 0x02);     // TX enabled, RX disabled
	// I2cWrite(addr, 0x1E, 0x00);  // TX and RX enabled
1 Like

Thank You Mat, for the respons and help :slight_smile:
The Datasheet says that for Hardwaremode!
"The clock and data recovery module with the WM8805 will require a 12 MHz crystal derived
master clock as the default values for this module cannot be altered in Hardware Control
So i am also unsure if it works with half of 24,576MHz = 12,288MHz.
I dont know how much tollereance it alows to the 12MHz

I guess i need to test it, right?

But i am already thinking to use an 32Bit HDMI I2S VLDS only Output on Expansion and if you release the QA404 with digital Outs i swap the Analyzer :wink:

Til there i can use the Mirror funktion to test DACS that also has USB Input on Windows \O/

I am also add an VLDS I2S Input to my Camilla DSP Project (i have 4 I2S Inputs there to switch between them for different typs of Inputs, It works already with HDMI in “8 Channel” realy good
as Prototype)

I was not planing to build up and Digital Output Board with Microcontroller Controll.
To much Projects LOL.

But with the VLDS I2S i could also test youre 24Bit Communication to help you of course.

I would use this two Boards TX and RX.


Is this an Standard for LVDS? Or every Company has his own connection rules?

This Both Boards are from the same Brand GLA so they would be Compatibel i hope :wink:
Also can use my Isolator Board so only loose the Digital Interface i bought.

What about to have the possebility to switch the MCLK OUT frequenz between 12,288 and 24,576MHz on that I2S Button in QA Software, would this be possible without much effort to you Mat?

I could test it right now.


What about to have the possebility to switch the MCLK OUT frequenz between 12,288 and 24,576MHz on that I2S Button in QA Software, would this be possible without much effort to you Mat?

I will have that checked. Ideally there could be a MCLK dropdown added for 24 and 12 MHz, and a 20- and 24-bit option added for data width.

1 Like

That would be crazy Cool Dude :wink:

Thats like Chrismas and Birthday together, for me :wink: LOL