In recent years several lightweight MP3 players has entered the market. Examples include the USA company Apple Computers’ Ipod, Singapore-based Creative Technology’s Nomad series, and the Korean company i- ead players (sold in Sweden under the trademark Jens of Sweden).
The goal of this project was to create a complete MP3 player, which could read song data from a flash memory and use an LCD-display for showing information. The decoding of the MP3 stream was to be performed by the MP3 ASIC decoder developed during last year’s project,1 Further, a Texas Instruments TLV320AIC23 A/D converter is used for converting the decoded stream into analog signals.
The optional assignments were to implement write support for the flash ROM and a serial RS323-interface for connection to a host device supporting upload of contents to the flash ROM.
Section 2 through 8 describes the design choices made, the implementation in VHDL and the obstacles encountered during design, synthesis, simulation and layout.
Section 10 draw a few conclusions
1.1 Related materials
In order to evaluate and understand this project, the reader will need the project VHDL files, assembler files, C programs, makefile scripts, synthesis and layout setup for the project. These comprise a quite large UNIX .tar-file, and is available from the design team on request.
A large DEF-file containing the final chip layout suitable for manufacturing should be supplied to the reader along with this report.
This design approach features a controller with a microprocessor-based solution, thus sup- porting future upgradable firmware.2
The processor was chosen as an IP-block3 which was obtained from the FreeIP-project.4 The processor Free6502 is based on the MOS 6502 processor from MOS Technologies.5 One of the project members have significant experience in using and programming this type of processor, so this was a natural choice. The OpenCores IP library was also consulted for possible IP components, but lack of experience with their standard system bus (Wishbone) and the assembler of their processor made them an unattractive choice.
Figure 1 depicts the design, where most components are attached to the processor by way of the memory management unit (MMU). The processor controls the different components by way of memory mapped hardware ports, i.e.: when memory addresses appear on the address bus alongside read/write memory strobe signals will retrieve or write values to wires that are connected to the corresponding units.
In this way, the processor holds absolute control over all parts of the controller. When it comes to streaming MP3 data from the flash memory to the MP3 decoder chip, there also
1 2 3 4 5 http://www.es.lth.se/home/tlt/dicp/2002 Firmware is a name commonly given to software embedded in an embedded system. IP-block is ”Intellectual Property” block, in practice an VHDL or Verilog model of a digital component. http://www.free-ip.com/ MOS Technologies were for a period of time also known as CSG—Commodore Semiconductor Group. The 6502 processor was used in Apple II, Atari 2600, Commodore VIC-20, the 8-bit Nintendo video game and in a modified variant (with on-chip hardware ports) called 6510 in Commodore 64. Improved 16-bit derivatives were used in Super Nintendo among other embedded systems.