MP3 NG: A Next Generation Consumer Platform
XAPP169 (v1.0) November 24, 1999 www.xilinx.com 13
1-800-255-7778
R
The RTOS provides process scheduling and memory allocation functions. T he RTOS could be
any of the commercially available packages. Probably more of a factor than any technical issue
is the licensing model for the product. Since this is a product that is targeted at the high-volum e,
cost sensitive, consumer market, an RTOS that is licensed on an up front fee basis with no unit
royalties is the most attractive.
The various BIOS components will be discussed later in the sections that describe the
hardware implementation for each interface. The key application modules a re as follows:
UI Manager
The User Interface (UI) manager is responsible for handling interaction b etween the user and
the system. This includes using the Screen BIOS to create the butto ns and menus that the user
sees, getting user input through the Touch BIOS and using this information to coordinate
activities such as downloading and playing MP3 files. The UI manager wo uld also spawn
separate processes for value added features such as an appointment calen dar, or a phone
book, as needed.
MP3 Decoder and Audio ISR
The MP3 decoder runs as an independent process, controlled by the UI mana ger. When
activated, it uses the FLASH BIOS to fetch MP3 file data, decompresses it and places the audio
data in a queue. The audio Interrupt Service Routine (ISR) is activated b y an interrupt from the
Audio DAC block in the FPGA. When activated, it reads data from this queue and writes it to
FIFOs in the Audio DAC block.
The key to getting optimal performance from the MP3 decoder on the RC32364 lies in taking
advantage of the MAC instruction supported by the processor. The instruction is part icularly
valuable in the implementation of the Discrete Cosine Transform (DCT) for sub-band synth esis.
There are several sources for MP3 decoder code. A fixed point dec oder (splay-0.81-
fixpoint.tgz) that was developed for the Linux ARM project can be downloaded from the
following URL:
ftp://ftp.netwinder.org/users/n/nico
Audio
BIOS
Touch
BIOS FLASH
BIOS
IR
BIOS USB
BIOS MMU
BIOS
Screen
BIOS
System
Hardware
IRDA
Stack USB
Stack
RTOS
Audio
ISR
MP3
Decoder
Memory
Manager
UI
Manager
Figure 14: System Software Architecture