MOSA MS6274 i2c address declaration 88H vs. standard i2c address 44H

The MS6274 from MOSA is an excellent analog mixer with 4 stereo input channels and stereo output.
It has an i2c interface for controlling gain and volume.
The gain control can increase each input levels from 0dB to + 15dB.
The volume control can attenuate each input levels from + 15dB to -79dB without zipper noise.
A mute control is also available to completely switch off each input channel.
All 8 input channels can be controlled either independently of each other or in stereo groups or a mixture of both.
I tested these chips and was a little confused by the description of i2c addressing in the datasheet.
In order not to confuse other people interested in using these chips, here is the answer.

MOSA mesuarement with scope by Steven Hsu 21-10-29
MOSA mesuarement with scope by Steven Hsu 21-10-29

 

mLab mesuarement with scope by Rolf Meurer 21-10-29
mLab mesuarement with scope by Rolf Meurer 21-10-29

 

mLab mesuarement with logic analyzer by Rolf Meurer 21-10-29
mLab mesuarement with logic analyzer by Rolf Meurer 21-10-29

The MOSA datasheet says the i2c device address = 88H but my i2c scan result is 44H.
I measured the SCL-SDA lines and I agree with the MOSA scope measurement.
The measurement looks like 88H, but according to the i2c standard,
the MS6274 address is actually = 44H and not 88H

I2C device addressing

All I2C addresses are either 7 bits or 10 bits. The use of 10 bit addresses is rare and is not covered here.
All of our modules and the common chips you will use will have 7 bit addresses.
This means that you can have up to 128 devices on the I2C bus, since a 7bit number can be from 0 to 127.
When sending out the 7 bit address, we still always send 8 bits.
The extra bit is used to inform the slave if the master is writing to it or reading from it.
If the bit is zero the master is writing to the slave.
If the bit is 1 the master is reading from the slave.
The 7 bit address is placed in the upper 7 bits of the byte and the Read/Write (R/W) bit is in the LSB (Least Significant Bit).

The placement of the 7 bit address in the upper 7 bits of the byte is a source of confusion for the newcomer.
It means that to write to address 21, you must actually send out 42 which is 21 moved over by 1 bit.
It is probably easier to think of the I2C bus addresses as 8 bit addresses, with even addresses as write only,
and the odd addresses as the read address for the same device.

8-bit addresses

Some vendors incorrectly provide 8-bit addresses that contain the read / write bit.
This explains the MOSA address declaration of 88H instead of I2C standard 44H.
In this case, only use the upper seven bits of the address.