MCSI breakthrough

Rafael Diniz rafael at
Fri Mar 29 01:13:54 UTC 2019

Thanks for the explanation, Mychaela.

I feel my next step with the FCDEV3B will be analog audio (mic +
speaker), but if there is a need from Rhizomatica for using the audio of
the voice calls, I'll not mind getting a BB-xM and write the support for
the MCSI framing / protocol.

Rafael Diniz

On 3/28/19 6:31 PM, Mychaela Falconia wrote:
> Hi Rafael!
>> I read the document. Which kind of interface could I use to connect to
>> the MCSI pins and be able to receive the audio samples in a computer?
> This is the difficult part: I have looked around, and I was not able
> to find any easy way to connect a PCM master interface (be it our
> Calypso MCSI or any other vendor's) to an ordinary PC or laptop.  No
> one makes any kind of ready-made device that would go from USB (or any
> other "ordinary" computer interface) to a PCM slave that can be
> connected to an external PCM master like our MCSI.  We've got FTDI
> adapters that can go from USB to UARTs, to JTAG, to a SPI master
> (driving a SPI slave such as an EEPROM or flash chip) and even to an
> 8-bit microprocessor bus, but nothing that can connect a PC or laptop
> to a PCM interface like the typical digital voice interfaces found on
> GSM modems, not just ours but also the mainstream proprietary ones.
> For this reason the target audience for the digital voice interface on
> FreeCalypso modems is not individual personal tinkerers who are playing
> with a development board connected to a PC or laptop, but larger system
> integrators, people who are designing and building some complex systems
> of their own, who need to integrate a cellular modem module into
> whatever larger system they are building, and who are considering
> FreeCalypso as an alternative to the mainstream proprietary solutions.
> There is a whole ton of "half-free" smartphone projects out there:
> someone sets out to design and build their own smartphone, they make
> the application processor subsystem fully free and libre, but they use
> a proprietary black box modem module for the cellular functionality.
> My goal is to convince at least one of those numerous "half-free"
> smartphone projects to make their solution fully free instead of
> "half-free" by using our FreeCalypso modem instead of a proprietary
> one.  Some of these existing "half-free" smartphone projects
> (ZeroPhone) use their proprietary modem modules with analog voice
> interfaces, but most of the fancier "half-free" smartphone projects
> use modem modules with digital voice interfaces.
> Some of those "half-free" smartphone projects out there use TI OMAP
> processors for the AP subsystem, and they use mainstream proprietary
> modem modules that put out their digital voice channel on a PCM master
> interface just like our Calypso MCSI.  In these "half-free" smartphone
> projects they take the PCM master digital voice i/f coming out of the
> modem and connect it to one of McBSP ports on the OMAP.
> Given my goal of proving FreeCalypso as a viable alternative to those
> disgusting proprietary modem modules, I have been toying with the idea
> of connecting our MCSI to McBSP on an OMAP board to make the point.
> The off-the-shelf board I chose for this purpose is BeagleBoard-xM: it
> features a DM3730 (OMAP3 variant) processor, it has been used as a
> development platform by some of these "half-free" smartphone projects
> I am talking about, and it is readily and cheaply available from
> Digi-Key and other distributors.
> Connecting our Calypso MCSI to the DM3730 processor on the BeagleBoard
> requires a level-shifting adapter: Calypso I/O pins are 2.8 V, whereas
> DM3730 I/O pins are 1.8 V and not tolerant of any higher voltages.  I
> have designed my own little adapter PCB that plugs into the expansion
> connector on the bottom of the BB-xM, I have got these little PCBs
> fabricated and got them on hand now, and if anyone in the community
> would like to take this BeagleBoard-to-FreeCalypso project further, I
> can easily populate one of these adapter boards and send it to you.
> If Rafael or anyone else in the community would like to take on this
> project, the hardware is already taken care of: I will send you the
> little adapter that connects the BB-xM to our Calypso MCSI, and if the
> price of the BB-xM itself is too much for you, I can send you that
> board as well.  However, you will need to do the software work for
> which I have no time myself: you will need to figure out how to
> configure the DM3730 pin multiplexing in the BB-xM Linux kernel (or
> perhaps in U-Boot) to connect the external pins to the right McBSP and
> UART cores inside, you will need to make the Linux kernel attach the
> McBSP driver to the selected McBSP core and configure that McBSP
> driver correctly for our PCM frame format, and you will need to figure
> out whatever ALSA or other userspace magic would be needed in order to
> actually exchange voice samples over the interface.  It is all software
> work, absolutely no hardware hacking skills or tools are needed, but
> this BeagleBoard Linux sw work would require far more brain cycles of
> me than I can spare, which is why I am punting it off to the community.
> Another idea would be to use an AT91SAM7S board, also very cheap and
> readily available.  The AT91SAM7S processor is an ARM7 SoC just like
> the Calypso, running OS-less bare-metal firmware, and the selection of
> peripherals include UARTs, a USB device controller and a synchronous
> serial controller that can be used for our MCSI.  You could write fw
> for this AT91SAM7S processor that talks on the synchronous serial
> interface on one side (to be connected to Calypso MCSI) and passes
> these voice samples over a UART or over USB on the other side.  Once
> again, the hardware is already there (the AT91SAM7S has 3.3 V I/O pins
> that can be connected directly to our FCDEV3B), but someone would have
> to do the non-trivial software work.
> So, do we have any takers for implementing a proof-of-concept system
> for talking to our Calypso digital voice interface?
> Hasta la Victoria, Siempre,
> Mychaela aka The Mother

More information about the Community mailing list