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.
Cheers! Rafael Diniz Rhizomatica 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 > _______________________________________________ Community mailing list [email protected] https://www.freecalypso.org/mailman/listinfo/community
