Xilinx XAPP169 MP3 Player User Manual


 
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. The 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-volume,
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 are as follows:
UI Manager
The User Interface (UI) manager is responsible for handling interaction between the user and
the system. This includes using the Screen BIOS to create the buttons 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 would also spawn
separate processes for value added features such as an appointment calendar, or a phone
book, as needed.
MP3 Decoder and Audio ISR
The MP3 decoder runs as an independent process, controlled by the UI manager. 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 by 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 particularly
valuable in the implementation of the Discrete Cosine Transform (DCT) for sub-band synthesis.
There are several sources for MP3 decoder code. A fixed point decoder (
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