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 Community@freecalypso.org https://www.freecalypso.org/mailman/listinfo/community