Ui manager, Mp3 decoder and audio isr – Xilinx XAPP169 User Manual

Page 13

Advertising
background image

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

Advertising