All available research clearly shows that
the market for Internet appliancesWeb-enabled devices that
perform a single functionis exploding. From almost zero in
1996, this market is expected to reach 100 million units in 2002.
One of the fastest growing segments of this market is Internet
telephonylong-distance calls carried at local rates over the
Internet. Call revenue from this market is expected to exceed $60
billion in 2002.
Designing Internet appliances is a typical challenge for
electronics engineers today. The end-user device must be small,
light, instantly usable, low in power consumption, and cheap. Many
are portable. Finally, the product must be available rapidly to
take advantage of its narrow market window.
These end-user requirements mandate a single-chip solution. The
architecture must use the optimal combination of hardware for power
and software for flexibility, while exploiting to the maximum
existing IP blocks (both hardware and software) for rapid
time-to-market at minimal risk.
This article outlines how Atmel and its development partner,
Aplio, responded to this challenge in the design of the AT75C310
Smart Internet Appliance Processor (SIAP) for Internet telephony
functions.
System Architecture Partitioning: Hardware, Operating System,
and Software
A Voice over Internet Protocol (VoIP) system is a line-side
interface for TCP/IP packet reception and transmission over a phone
line, and a caller-side interface for voice processing. The major
data processing requirement is the VoIP protocol stack.
Two DSP cores and an embedded MCU core for protocol stack
handling make up the basic hardware partitioning. One core handles
the line-side interface and the other the caller side. A high-speed
FIFO links each DSP core to the MCU bus, and separate memories are
provided for code and workspace for each element. This gives a high
level of module autonomy and parallelism in the operation of the
device, which is more than adequate for the basic functionality
required. Both the DSP and MCU cores are industry-standard, giving
the benefits of immediate availability, qualification on existing
products, extensive software libraries, and support.
In order to maximize the use of available software modules and
provide an open, flexible system-on-chip for future upgrades, the
Linux operating system was chosen for the MCU core. Linux offers
worldwide support from the academic and industrial community, and
it's free. VoIP stack manipulation and associated software modules
running under Linux were developed for the MCU core.
In parallel, the required line-side and caller-side algorithms
were implemented as independent software modules for the two DSP
cores.
Hardware Architecture
Figure 1: The basic hardware architecture of the AT75C310
is built around the ASB and APB buses of the ARM7TDMI MCU core.
Digital signal processing is handled by two OakDSPCores. Each
processing element has its own dedicated memory blocks with
high-speed FIFOs handling data transfers between the DSPs and the
MCU core.
These elements are complemented by a high-speed external bus
interface (EBI) and a standard set of peripherals for links to
other system elements. The parallel I/O blocks reduce the external
pin count by multiplexing other peripheral I/Os with the external
data bus. The advanced interrupt controller and peripheral data
controller (DMA function) significantly enhance the real-time
performance of the ARM7TDMI core. In most applications the device
boots by downloading software from nonvolatile memory blocks
connected to the EBI.
Figure 2: The external links required for an Internet
phone application based on the AT75C310. The DSP subsystems link
directly to the data codec on the line side, and the voice codec on
the caller side. External DRAM and Flash memory blocks are
gluelessly linked to their respective on-chip controllers.
Using Atmel's advanced CMOS technology, the die layout fits into
a 160-lead PQFP package, with a 3.3V power supply. A PQFP240
package option is available for additional bondouts during
development. This option also provides a 32-bit external memory bus
for faster instruction processing in 32-bit ARM mode.
Figure 3: The AT75C310 die layout using Atmel's advanced
CMOS technology
Operating System
The publicly-available Linux port onto the ARM7TDMI core was
customized for this application. It provides the kernel for process
management, scheduling, memory management, and memory access
protection, making use of of a counter-timer peripheral. The Linux
port includes a C library, providing C system call interfaces
(static implementation). Development time for applications is
minimized by a set of device drivers for all system peripherals. In
addition, a large number of device drivers for external components
that can be connected to the EBI can be found on the Web.
By choosing Linux, the AT75C310 gained the benefits of a
pre-qualified operating system widely known and supported with an
expanding set of plug-compatible modules freely available on the
Web. Consequently, the AT75C310 has a high degree of
future-proofing, enabling its hardware architecture to be re-used
for other Web-enabled applications.
Software Modules
A wide range of DSP functions is available for the two
OakDSPCores. Depending on the application, Atmel can supply modules
for a V.34 modem, G723.1 and G729A voice compression/decompression,
MP3 decoding, silence compression, and echo cancellation.
For the ARM7TDMI core, Aplio provides software modules for the
full-feature IP telephony stack, email on LCD, and for popular
communication protocols such as H323 and POP/SMTP, connection
processes, and audio software suites.
Application Development Tools
Linux includes a PC-based toolset (running under Linux),
including an ARM Gnu C compiler (GCC), ARM G++ (for C++), link
files, and a make file library. A set of debug modules are loaded
onto the ARM processor during development that execute
independently from the operational software and cause a minimum of
performance degradation.
In addition, the industry-standard ARM7TDMI and the OakDSPCore
are supported by a comprehensive range of state-of-the-art
development tools including simulators and debuggers. An AT75C310
development board allows for real-time application testing and
debugging.
IP-based Architecture for Performance, Flexibility, and Fast
Time-to-Market
The IP-based architecture of the AT75C310 aims to provide the
optimal mix of high-performance hardware blocks, open operating
system, and flexibility in software modules to enable
market-leading Internet appliance products to be developed as
rapidly as possible, with minimal risk.
About the Author
Peter Bishop is Communications Manager at
Atmel Rousset, France. Atmel is a supplier of single-chip solutions
for digital communications, computer, consumer, and automotive
products.