MCSI works in master mode

Mychaela Falconia mychaela.falconia at gmail.com
Wed Aug 23 08:51:26 UTC 2017


Hello FC community,

Today I have received and set up the Rigol DS1054Z oscilloscope I
bought, and I have performed the experiment I've been wanting to do
for a long time: I put the scope probe on the MCSI_CLK and MCSI_FSYNCH
Calypso signals brought out to header pins on the FCDEV3B to see if
the Calypso DSP puts the interface into clock master or clock slave
mode.  The results are:

* When the voice path is not in one of the "Bluetooth" modes, e.g.,
after booting the standard Magnetite fw but before giving it any
special commands, MCSI_CLK sits at a constant low, probably from the
pull-down resistor on the board, i.e., it is probably configured as an
input inside the chip at this time.

* As soon as I issue an auw 0 2 command through fc-tmsh to switch the
voice path into the "Bluetooth headset" mode, a 520 kHz clock appears
on the MCSI_CLK line and an 8 kHz clock appears on MCSI_FSYNCH, i.e.,
the DSP code we are running (combination of the DSP ROM and the
patches from TCS211 which are required for our TCS211-based production
fw to work correctly) is putting MCSI into clock master mode once the
interface is put into use.

The next part to be determined experimentally is the format in which
the Calypso DSP puts out the digital voice samples on this interface:
is it the native 16-bit linear PCM format, or does the DSP convert
them to A-law PCM or mu-law PCM or CVSD because the interface was
meant for Bluetooth?  I certainly hope that it is the native 16-bit
linear PCM format, which would make MCSI strictly no worse than
tapping into TI's internal interface between Calypso and Iota chips,
but it needs to be confirmed experimentally before we can jump to any
conclusions.

The approach I am currently considering for further MCSI investigation
(now that we know that only MCSI_RXD is an input to the Calypso and
the other 3 signals are outputs) is to connect the MCSI signals from
our FCDEV3B to the McBSP signals on a BeagleBoard-xM.  The only hitch
is that the OMAP (BeagleBoard processor) signals are 1.8V and not
tolerant of Calypso's 2.8V levels, thus a level shifter will be needed,
and we may need to make a custom PCB with these level shifters (both
ways) on it.  I will think about it more after I get some sleep.

Hasta la Victoria, Siempre,
Mychaela aka The Mother


More information about the Community mailing list