XinuPhone
XinuPhone is an innovative hardware/software platform for Internet telephony education and research. In the classroom, XinuPhone promotes hands-on interactive learning that is both cross-discipline and application oriented. As a research tool, XinuPhone is a versatile and open-source platform useful for benchmarking experimental methods against industry standards. Furthermore, the XinuPhone platform features inexpensive commodity hardware that is easy to assemble making it an idea choice for users on tight budgets and in diverse educational backgrounds.
Contents
How It Works
Most of the Embedded Xinu supported platforms do not have the ability to directly sample analog signals or reconstruct analog waveforms from digital bitstreams. Likewise, typical digital signal processing (DSP) chips lack Ethernet networking hardware and protocol support. XinuPhone pairs a simple external sampling module with a network-enabled backend running the Embedded Xinu operating system in order to provide both functionalities.
The XinuPhone audio module consists of filters, a digital signal controller (DSC), an audio amplifier, and a serial transceiver. Speech first passes through an analog low-pass anti-aliasing filter before it enters the analog to digital converter (ADC) on the DSC. The DSC can be programed with a variety of software CODECs that compress the sampled audio for efficient transmission across the serial bus. The serial transceiver allows the audio module to interface directly with an RS-232 capable network device, such as a slightly modified Linksys WRT54GL router. The audio module sends serial samples to the network device; then, the Embedded Xinu operating system VoIP tools packetize the serial data and send the voice packets to a remote host. On the receiving end, another network device buffers incoming packets and translates the payloads back into a stream of serial data. The external audio module uses the same CODECs to uncompress the serial data back into raw audio samples. Lastly, a digital to analog converter (DAC) on-board the DSC converts the audio samples back to an analog waveform that can be amplified and played back.
Hardware
You can build your own XinuPhone with readily available discrete components!
Schematics
Sheet 1 shows the basic DSC core, power supply, crystal oscillator, debug interface, and serial transceiver connections.
Sheet 2 illustrates the headphone amplifier, microphone pre-amplifier, and low-pass anti-aliasing filter.
Click on the sheet for a higher resolution image or see the downloads below for a PDF rendering.
Design Notes
- Components are specified to EIA E96 standard values for resistors (1% tolerance) and E24 values for capacitors.
- For capacitors in the audio path, temperature coefficient X7R, NP0, C0G, or better are recommended.
Software
The audio module firmware is developed in Microchip's freely available MPLAB integrated development environment (shown below).
The source for various components is available here.
The networking code is integrated into the Embedded Xinu operating system is packaged in with the general release available here.
Getting Started
Future Work
External Links
Microchip
Standards & RFCs
- ITU-T Test Signals for Telecommunication Systems
- ITU-T G.711 - Pulse Code Modulation (PCM) of Voice Frequencies
- RFC 3550 - RTP: A Transport Protocol for Real-Time Applications