digital audio to FCDEV3B

Mychaela Falconia mychaela.falconia at gmail.com
Tue Jan 3 08:29:04 UTC 2017


Hi Serg,

> I guessed that VSP looks like a private interface, however MCSI is not very
> well explained in the docs, so I clearly overlooked this option.

Indeed the MCSI is not really documented properly anywhere, there are
only passing references to it, but here is the understanding I have
reconstructed so far:

* In pure hardware terms, i.e., in terms of the capabilities and
  limitations of the unchangeable silicon rather than changeable
  software, MCSI is a totally generic synchronous serial interface.
  It is connected to the DSP side of the Calypso, not the ARM side,
  but the DSP is still a processor that runs code, and the code
  executing on the DSP has the freedom to configure and use the MCSI
  hardware however it likes, for any arbitrary purpose, not just
  "Bluetooth" voice.

* The DSP runs code from its mask ROM by default, but the patch
  mechanism has the ability to override any part of it, thus the
  ability to run your own code in the DSP and use the DSP's hardware
  in ways other than how the ROM code uses it is quite real.  But it
  is very difficult to exercise this capability currently, because
  writing downloadable patches for the ROM code requires understanding
  the base code to which these patches need to apply, and we have no
  source and no symbolic COFF file for the DSP ROM code.

* It is not immediately obvious whether the DSP code for using MCSI as
  a "Bluetooth" interface is already there in the ROM in the silicon,
  or if it is a part of the patch code downloaded by TI's TCS211 fw
  and replicated in FreeCalypso.  When we get the hardware built and
  thus gain the ability to experiment, we may be able to answer this
  question experimentally by disabling the DSP patch code download and
  testing if the "Bluetooth" mode still works.

> I will look into BT application for proper SPI parameters and data formats.
> If you could suggest any docs on FTP to aid this activity it will be
> greatly appreciated.

Look in this directory:

ftp://ftp.freecalypso.org/pub/GSM/LoCosto/FGW/

Download LoCosto_hw_sw_docs.tar.xz; amongst various other docs you
will find schematics for TI's I-Sample reference board.  It is LoCosto,
not Calypso, but it does have TI's Bluetooth Island chip connected via
MCSI, so you can see how it's wired.  BTh.zip contains the docs for
that Island chip, but the datasheet I read says that it supports many
different data formats for the digital voice channel, so it still isn't
clear which format is used by the Calypso DSP code (be it ROM or patch)
that configures the MCSI for "Bluetooth" operation.

So it looks like we will need to reverse-engineer this aspect once we
get the hardware built.  Start by putting an oscilloscope probe on the
MCSI_CLK pin and seeing what clock frequency it puts out, if any.  If
no waveform at all is visible, then it would imply that the DSP code
put the MCSI into slave mode, requiring an external clock - provide
one in that case.  Once there is a clock running, either Calypso-
generated or externally supplied, see what the bits put out on
MCSI_TXD look like...

> BTW do you have mechanical drawings of FCDEV3B with positions of mounting
> holes and headers? I could not find it on FTP. I was thinking to start
> working on the standalone enclosure and mounting brackets for integrated
> installation.

Such a mechanical drawing has never been created; if you are going to
be creating one, the position data will need to be extracted from the
PCB gerber and NC drill files, or from the Altium PcbDoc file if you
are able and willing to run that Weendoze proprietary software.

M~


More information about the Community mailing list