Today's embedded processors are powerful enough to support a complete VoIP telephony subsystem without adding complex and expensive external DSP chipsets. Thus, an existing low-cost SoC product line can be easily upgraded for use in endpoint or gateway customer premise equipment (CPE) devices. The upgraded SoC adds a software voice engine (also referred to as referred to as a softDSP) in parallel to existing SoC applications. Figure 1 illustrates a typical implementation.
Figure 1. In new softDSP designs, the hardware DSP is replaced with a cost-efficient and design efficient software voice processing engine.
Why softDSP? In calculating the cost of a hardware design, extra packages and pins add cost, while adding additional silicon to an existing SoC remains inexpensive. Using a software voice engine instead of an external DSP can significantly reduce the bill of materials. The softDSP approach eliminates the DSP chip itself, the DSP external memory, the passives required for the external DSP, the board space used by the external DSP, and the additional power requirement or power converters. A low bill of materials is especially important for VoIP systems where the hardware cost of a voice gateway must be recouped through telecommunications subscriber contracts.
What are the requirements for a software voice engine? Typically, with a standard telephony feature set, the memory and processing requirements of the VoIP subsystem are:
- 50kB to 150kB of program memory
- 70kB to 200kB of data memory
- 30 MHz to 90 MHz of CPU processing
These memory requirements can easily be subsumed into the standard SoC application, because by today's SoC application standards, these memory requirements are relatively small. Integration of a softDSP into an existing SoC software stack means a number of voice processing requirements must be met. These are much more strict than other multimedia application requirements and stem from the mandatory quality of service (QoS) requirements of a telephony service provider. The softDSP voice processing requirements include the following:
- The ability to run at a higher software priority level than other system services (such as network data routing or data peripherals)
- Enough processing power to complete real-time voice processing calculations for all voice buffers in the system, prior to new voice buffers being ready (this is referred to as the "hard deadline")
- The ability to receive internet packets for voice communication at a higher packet priority (QoS) than other Internet system services
By using a real-time operating system running on today's powerful SoCs, all of the above requirements can easily be satisfied. Compared to the traditional approach of adding an external DSP, softDSP reduces the cost of adding VoIP by over 50 percent. Additionally both heat and power dissipation can be reduced due to the reduced chip count.
Due to the reduction in hardware cost, a softDSP design is ideal for cost-reduced voice products which provide one to four telephony channels. This includes mobile handsets, which are increasingly providing VoIP services through WiFi. The break-even cost is at over four channels, where the tradeoff between SoC processing power available for softDSP can't compete with a highly efficient external DSP.
The softDSP approach also works for designs with more than eight channels, where heat, board space, and the need for additional power supplies can become an issue for external DSPs. Such designs typically employ multi-core SoCs. A single core of the SoC can be dedicated to running the softDSP, or the MHz-heavy voice components can be distributed across multiple cores.
About the author
Jonathan Cline is a lead engineer with D2 Technologies and architect of D2's vTSP voice engine for telephony adapters, integrated access devices, and handsets, and can be reached at firstname.lastname@example.org. D2 is the market leader in software solutions that power IP communications equipment, for fixed, wireless, and mobile platforms. To learn more, go to www.d2tech.com.