Runner
Up




AVR WINNERS ANNOUNCEMENT

Runner-Up

Pieter Conradie
Stellenbosch, WP South Africa

FAT32 Hard-drive-based MP3 Player with 512 bytes of SRAM

Background

This project shows how an 8-bit Microcontroller can be interfaced to an IDE (ATA) Hard Drive with the minimum of external circuitry. A FAT32 File System with long filenames and multiple directories are supported with only 512 Bytes of SRAM. The user-selected file's data is streamed to an MP3 Decoder, which in turn streams the raw (decoded) data to a 16-bit DAC. The user-interface is RS232, but this can be adapted to any suitable protocol that interfaces with an MMI unit (text display and switches).

The project's aim was two-fold. First to increase my embedded knowledge and experience and secondly to prove that with careful embedded firmware design, a lot can be achieved with the minimum of resources (a requirement many embedded engineers are faced with every day).

This is the reason I challenged myself to design a circuit that uses the minimum of SRAM to interface to IDE and decode FAT32.

A more suitable microprocessor choice would have been the ATMEL ATMEGA161, which features 1024 Bytes of SRAM and 35 I/O pins (if external SRAM is not used). This would have enabled a whole IDE sector (512 bytes) to be buffered and then processed, which would have simplified the FAT32 decoding. It also features an internal brown-out reset circuit and the ability to upgrade it's firmware internally (i.e. Boot Loader scheme, etc.). Unfortunately, it will only start to be available in May 2000.

Development Tools

Schematic (2001-04-26)


(Click to download in PDF format)

 

 

 
     
 
sponsored by