CDR- Digital Audio Recorder/Player
Brian Cowdrey
Mike Ingoldby
Gaurav Raje
Jeff Swetnam
Objectives
Successfully encode/decode MP3
Play/Stop a song
Select track and fast forward/rewind
Read off from Compact Flash Card
Display song title and time
Voice Recording in MP3 Format
Equalizer Controls
Hardware Overview
Micro-Processor
4-way switch
Buttons
LED’s
Volume CtrlUSB
JTAG
External RAM
MP3
CF Card
Mic
HeadPhoneJack
LCD
Contrast Adj
I2C
Software OverviewInterrupts Drivers User Interface
MP3 sync
User Inputs
LCD
Button Get
FAT-16CF
MP3 Send Data
USB
LCD Draw
Button Response
File/FolderControl
Play Back Control
Schematic
MP3 Schematic
Microprocessor(C8051F320)
MicroprocessorOnly General I/O - no Addr/Data bus
Implement Addr/Data bus with latchesAllow us to have external memoryMemory map I/O devices
Mp3 decoder/encoderCF cardExternal RAMLCD
25MHz -> 40ns per cycle
I2C Bus
I2C bus is a standard serial bus
Gives commands to MP3 chip
2-wire interfaceClockData
Used for the LCD
Still only 2-wireClockData
Has no Start/Stop/Ack bit like I2C
Transmits only 8-bits directly
Custom Serial Bus
Compact Flash Card
Uses new Addr/Data Bus
Memory mapped and interfaced using 8 separate registers on the card
We have FAT-16 code developed to be used on a CF card from a previous project
RS-232 Interface
Abandoned!!!Can download code updates over the
JTAG interface Interact with the computer over the USB
portCan single step the processor over JTAG
JTAG implemented on processor
MP3 Encoder/Decoder(MAS 3587F)
MP3 Encoder/Decoder
No playback controlVolume, file select, and other processes
are controlled by micro-processor
Encoding/decoding is always activePlayback occurs whenever there is an
input and the proper application is selected
Option to load additional programsSC4 speech codec
Encoder Signal Flow
D0 and D1 Ram banks Reserved sections for application control Input/output specification
PIO Timing Diagram for Decoding
PIO Timing Diagram for Encoding
LCD/User Interface
Monochromatic graphical 122 x 32 pixel format
8-bit interface with built- in controller
Display song title, play time and menu
LCD Block Diagram
LCD Timing Diagram
LCD Code
Generate code to display characters
Write functions such as draw line, draw square, and fill
Go to X,Y
LCD Driver Code
USB
USB Communication Flow
Pipe BundlesMoves data
between host software and device endpoint
EndpointsOne directional
data flow
Software Model
Client SW
Driver
Client SoftwareGUI for Users
DriverGrants access to bus
FirmwareInteracts with hardware on board
MP3 Software Higher level code
Firmware
MP3 Software
Project Schedule
Division of Labor
Jeff MP3 encoder/decoder Signal processing
Brian LCD User interface
Mike Microprocessor Compact Flash
Gaurav USB
Parts List
PCB 8-bit LatchesMP De-MuxUSB Port LED/Resis/CapMP3 Chip Power Reg.CF Socket Power DiodeLCD Misc. ButtonsMic JTAG connectorHP Jack LCD Pot.Ext. RAM
Parts