background image

2

www.xilinx.com

XAPP169 (v1.0) November 24, 1999

1-800-255-7778

MP3 NG: A Next Generation Consumer Platform

R

MP3 Technology

MP3 refers to the MPEG Layer 3 audio compression scheme that was defined as part of the 
International Standards Organization (ISO) Moving Picture Experts Group (MPEG) audio/video 
coding standard. MPEG-I defined three encoding schemes, referred to as Layer 1, Layer 2, and 
Layer 3. Each of these schemes uses increasing sophisticated encoding techniques and gives 
correspondingly better audio quality at a given bit rate. The three layers are hierarchical, in that 
a Layer 3 decoder can decode Layer 1, 2, and 3 bitstreams; a Layer 2 decoder can decode 
Layer 2, and 1 bitstreams; and a Layer 1 decoder can only decode Layer 1 bitstreams. Each of 
the layers support decoding audio sampled at 48, 44.1, or 32 kHz. MPEG 2 uses the same 
family of codecs but extends it by adding support for 24, 22.05, or 16 kHz sampling rates as well 
as more audio channels for surround sound and multilingual applications.

All Layers use the same basic structure. The coding scheme can be described as "perceptual 
noise shaping" or "perceptual subband / transform coding". The encoder analyzes the spectral 
components of the audio signal by calculating a filterbank (transform) and applies a psycho-
acoustic model to estimate the just noticeable noise-level. In its quantization and coding stage, 
the encoder tries to allocate the available number of data bits in a way to meet both the bitrate 
and masking requirements. In plain English, the algorithm exploits the fact that loud sounds 
mask out the listener’s ability to perceive quieter sounds in the same frequency range. The 
encoder uses this property to remove information from the signal that would not be heard 
anyway.

Like all of the MPEG compression technologies, the algorithms are designed so that the 
decoder is much less complex. Its only task is to synthesize an audio signal out of the coded 
spectral components. All Layers use the same analysis filter bank (polyphase with 32 sub-
bands). Layer 3 adds a MDCT transform to increase the frequency resolution. 

All layers use the same header information in their bitstream to support the hierarchical 
structure of the standard.

Solution 
Overview

A key design objective for this application was the creation of a solution with the lowest possible 
cost, while at the same time providing support for value added features. These features include 
the ability to store contact information and record memos and other functions commonly found 
in Personal Digital Assistants (PDAs).

Figure 1

 gives an overview of the design. The key features of which are:

• 128 x 128 pixel graphical touch screen.

• USB interface for download music and network connectivity.

• IRDA compliant infrared interface for exchanging data with other units.

• 32 MB of on board FLASH storage.

• CompactFlash interface for storage expansion using CompactFlash cards or MicroDrive 

hard drives.

All of this is driven by a high-performance IDT RC32364 32-bit RISC processor and interfaced 
using a next generation Spartan-II FPGA. Before the functions implemented in the Spartan 
device and the software function running on the RC32364 are examined, the following gives an 
overview of the Application Specific Standard Products (ASSPs) that are included in the 
design.

Summary of Contents for XAPP169

Page 1: ...short term Like any new market the feature set of MP3 players is likely to change as more users buy them Key dynamics in this market include Copy Protection While the Secure Digital Music Initiative S...

Page 2: ...t that loud sounds mask out the listener s ability to perceive quieter sounds in the same frequency range The encoder uses this property to remove information from the signal that would not be heard a...

Page 3: ...sheet for the RC32364 can be found at the following URL http www idt com docs 79RC32364_DS_32100 pdf The RC32364 s MMU consists of address translation logic and a Translation Lookaside Buffer TLB cap...

Page 4: ...AG ICE Interface TLB MMU lockable write back write through Generation Unit RC32364 Bus Interface Unit 8kB I Cache lockable 2 set RISCore32300 Internal Bus Interface RISCore4000 Compatible w RISCore323...

Page 5: ...it multiplexed address data bus The bus offers a rich set of signals to control transfers of which only a subset was required for this application Figure 4 shows the timing for read transactions on th...

Page 6: ...l port is an industry standard I2 C slave interface I2 C is a multidrop 2 wire serial interface consisting of a clock SCL and data SDA and operating at up to 100 kHz See Figure 7 Control Port Timing T...

Page 7: ...4343 documentation as Serial Audio Format 2 Figure 7 gives an overview of serial port timing when in this mode t buf t hdst t hdst t low t r t f t hdd t high tsud tsust tsusp Stop Start Start Stop Rep...

Page 8: ...s a parameter called NVB that is the number valid blocks that the device contains The value of NVB varies from device to device and is specified to have a minimum of 1014 a maximum of 1024 and typical...

Page 9: ...L synchronous interface Figure 10 shows the block diagram for this device Figure 11 shows the MT48LC1M16A1 read timing of the device The complete data sheet for the MT48LC1M16 can be found at the foll...

Page 10: ...MH 256 2 048 BANK0 MEMORY ARRAY 2 048 x 256 x 16 ROW DECODER ROW ADDRESS LATCH 11 12 ADDRESS REGISTER 12 SENSE AMPLIFIERS I O GATING DQM MASK LOGIC DATA INPUT REGISTER DATA OUTPUT REGISTER 16 16 Figur...

Page 11: ...s a simple 8 bit microprocessor bus that can be configured to operate in a multiplexed or non multiplexed mode The multiplexed mode is more attractive from a software perspective since it supports ran...

Page 12: ...is shown in Figure 14 The software components fall into four categories RTOS A Real Time Operating System is included in the software architecture in order to simplify the management of resources and...

Page 13: ...I 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 proces...

Page 14: ...s detected in a valid block this code is also responsible for copying the data to an unused block and marking the block in which the error was detected as bad Code Initialization This function copies...

Page 15: ...uests from the CPU Interface and the LCD Controller are handled by using a simple rotating priority scheme The arbiter block also controls the multiplexers that select which set of transfer control si...

Page 16: ...the IRDA and audio DAC interrupts out onto the CPU interrupt signals The bus state machine converts the signaling on the CPU bus into the format used on the local IP bus or if the transaction is to th...

Page 17: ...Description CPU_MASTERCLK Output All bus timing is relative to this clock The CPU core frequency is derived by multiplying this clock CPU_AD 31 0 I O High order multiplexed address and data bits CPU_...

Page 18: ...between different factors Longer bursts are more efficient since the SDRAM access overhead is amortized over a larger number of data words Smaller bursts reduce the size of the FIFO and also reduce b...

Page 19: ...ements the data path required to map the 8 and 16 bit memory devices to the 32 bit IP bus While the RC32364 is capable of fetching instruc tions and data from devices with varying bus widths having th...

Page 20: ...and the nine I O pads listed in Table 3 There is no software support required for this block FLASH Controller The largest cost associated with this design is the large amount of FLASH memory 32 MB or...

Page 21: ...bytes using a Hamming code the following relationship must be satisfied Since there are 32 512 16 cache lines per page a total of 36 bytes are needed for ECC storage Recall that 16 bytes are available...

Page 22: ...terrupt every 557 ms See Figure 21 Table 4 FLASH Controller Interface Signal Summary Signal Type Description FL_CE_N 3 0 Output Device chip enables active Low FL_ALE Output Address latch enable FL_WE_...

Page 23: ...s infrequent use When the system is in operation the serial audio port is in use most of the time Therefore dedicated hardware is provided for implementing the transfer protocol and for delivering an...

Page 24: ...r This lets the system software read the X and Y coordinate resistance values that result from the user touching the screen The system software handles linearization and filters out transient touch ev...

Page 25: ...s density 3 3V operation 176 user I O and is packaged in a space saving FG256 BGA package Conclusion The design that has been outlined meets both original design objectives Even with budgetary pricing...

Page 26: ...ogies KM29U64000T 8M x 8 bit NAND Flash Memory April 1999 Samsung Semiconductor Table 9 NG Player Semiconductor BOM Item Qty Mfg Part Number Description Volume Unit Cost Ext Cost 1 4 Samsung KM29U6400...

Page 27: ...evision History 1999 Xilinx Inc All rights reserved All Xilinx trademarks registered trademarks patents and disclaim ers are as listed at http www xilinx com legal htm All other trademarks and registe...

Reviews: