The AT85C51SND3Bx is a low power single-chip highly-integrated digital audio
decoder/encoder for applications such as audio players, recorders, cell phones, toys…
The AT85C51SND3Bx MP3 Player firmware is part of the AT85DVK-07 development kit
or th e AT8 5 RF D- 07 ref er e nc e des i gn ded i ca te d to t he AT 8 5C 51 SN D3 Bx
microcontroller.
This document is the User’s Guide of the AT85C51SND3Bx MP3 Player firmware.
The topics covered are:
the functional features and options that the firmware brings
how the firmware source code files are organized
the firmware architecture
how to configure the firmware
the MMI layer
The AT85C51SND3Bx firmware described in this document has been developed to run
on the AT85DVK-07 as well as the AT85RFD-07.
For more information on the AT85DVK-07 development board, refer to the documents
“AT85DVK-07 Hardware User’s Guide” and “AT85DVK-07 Demonstration Firmware
User’s Manual”, available on the Atmel web site.
For more information on the AT85RFD-07 development board, refer to the documents
“AT85RFD-07 Hardware User’s Guide” and “AT85RFD-07 Demonstration Firmware
User’s Manual”, available on the Atmel web site.
AT85C51SND3Bx Firmware User’s Guide1-1
7691A–MP3–08/07
Section 2
Firmware Features
The following sections describe the AT85C51SND3Bx firmware features and options.
Some of the firmware options are not supported by the AT85DVK-07 (e.g. image viewer)
or by AT85RFD-07 (e.g. MMC support).
2.1MMI Manager
2.1.1FeaturesApplication management
2.1.2ConfigurationApplications names
2.2Device USB
2.2.1FeaturesUSB 2.0, High and Full Speed Transfer
This module allows customers to easily develop their own MMI applications.
– execute
– kill
Mailbox management
– send command to system drivers
– get event from system drivers or MMI applications
– forward event to MMI applications
Software timers
Animated icons
MMI events creation
This module is the USB mass-storage driver.
Class provide : Mass Storage, HID, CDC.
Mass Storage Class :
– rate performance :
typical, 10MB/s read - 8MB/s write on NandFlash
up to 12MB/s on MMC V4 / SD / SD HC
– Supported hosts : Win XP, Win 2K, Mac OSx, Linux
– Secure disk option content through password management
AT85C51SND3Bx Firmware User’s Guide2-3
7691A–MP3–08/07
Firmware Features
2.2.2ConfigurationConnection Speed
– authorize high or full speed (depending on the host)
– authorize only full speed
enable/disable USB Class used (Mass Storage, HID, CDC)
USB device information (vendor ID, product ID, manufacturer name, ...)
– product name
– serial number
Class description (Class name, ...)
enable/disable Disk Password Management (for Mass Storage Class)
2.3Host USB
This module is the USB host driver.
2.3.1FeaturesReduced host implementation
USB 2.0 full speed transfer with USB device
USB class provide:
– HUB
– Mass-storage (e.g. Udisk, multi-card reader)
– HID
– CDC
2.3.2Configurationenable/disable USB class supported
2.4Audio Player
This module allows the end-user to play some audio stream.
2.4.1FeaturesAudio stream
– MP1, MP2, MP3
– WMA
– WAV (PCM, G711, G726)
Stream management
– play
– pause
– stop
– next track
– previous track
– fast Forward
– fast Rewind
– repeat A/B
– speed Adjust (MP1, MP2, MP3 only)
2-4AT85C51SND3Bx Firmware User’s Guide
7691A–MP3–08/07
Stream Information
– synchronized play time
– bit rate
– sampling frequency
– number of channels
Tags
– ID3 v1.0, v1.1
– ID3 v2.2 and v2.3
Stereo volume control
Sound effects:
– bass boost
– spatial sound
Adjustable 3-band EQ
– Classic, Pop, Jazz, Rock…
2.4.2ConfigurationDAC Output Selection
– internal
– external
Firmware Features
External DAC interface
2.5Audio Recorder
2.5.1FeaturesRecording (codec G726)
2.5.2Configurationline in gains (analog & digital)
2.6Image Viewer
2.6.1FeaturesSupported Image Format:
2.6.2ConfigurationNone
This module allows the end-user to play and record audio streams.
Input line in and micro
micro gains (analog & digital)
This module allows the end-user to display images.
– BMP
– JPEG
Automatic Resize
2.7Settings
AT85C51SND3Bx Firmware User’s Guide2-5
This module allows the user to manage user data in the setting segment located in the
customer or reserved data area of the Nand Flash.
Code swap between SND3 and Nand Flash (use system area code)
Store a large constant data in the NandFlash (use system area font and display)
2.16.2ConfigurationMemory mapping
Banking code space
AT85C51SND3Bx Firmware User’s Guide2-9
7691A–MP3–08/07
3.1Directory Physical Structure
The AT85C51SND3Bx MP3 player firmware source code is composed of several files.
This section describes the directory organization of the firmware package.
Section 3
Source Files Organization
3.1.1snd3b-dvk-x_y_z
Directory
3.1.2_isp_modules
Directory
The snd3b-dvk-x_y_z directory contains the firmware package where x_y_z is the firmware version.
.................ISP files: codec, picture_, font
.............................................user’s system configuration files
.............................................user’s MMI peripherals high-level API source code
.............................................Include file to enable and put traces
Note:mcu_drv.h file defines a list of masks related to peripherals controller and provides a list
of macro-functions that maps SFR and pages.
The AT85C51SND3Bx implements a SFR pagination mechanism which allows mapping
of high number of peripherals in the SFR space. Four pages are accessible through the
PPCON register.
3.1.10Tools directoryThe tool directory contains the Atmel image converter as well as the project images.
.............MMI pictures and image converter tool
.............................................Windows® USB drive secure executable
3.2Directories
Logical
Organization
This purpose of this view is to show the logical links between the directories.
These source file directories can be grouped into two firmware parts:
– the customer MMI firmware
– the Atmel system firmware
The customer MMI firmware is the code source you have to develop and customize from
the software platform delivered with this package. Indeed, this layer is dedicated to interface the user with the high-level services provided by the Atmel core firmware and the
AT85C51SNDA chip. See Firmware Architecture Section 5.
The Atmel system firmware is the code source you should not modify since this layer
has been designed to provide full and high-performance services from a low cost chip.
Only the configuration files are to set in order to configure this layer to your application
requirements. See Firmware Configuration Section 6.
3-14AT85C51SND3Bx Firmware User’s Guide
7691A–MP3–08/07
Section 4
Code & Data Management
4.1Principle
4.1.1Custom memory
organisation
4.1.1.1Rulesxdata space size + code space size = 64KB – 512B
The SND3 chip permits:
to customise the memory organisation
to use a code swap feature (= code banking)
to store a large constant data in the NandFlash
Reminder: The C51 core use different memory space (code, data, xdata). The size of
data space is 256B. The size of code space is limited at 64KB and xdata space is limited
at 64KB.
The AT85C51SND3B chip uses a 64KB of RAM to store the data and code, this particularity permits to configure the memory size according to your needs.
code space size = code common size + code bank size*
AT85C51SND3Bx Firmware User’s Guide4-15
7691A–MP3–08/07
Code & Data Management
64KB RAM
data
reserved
xdata
bank code
common code
256B
256B
Customizable
Customizable
Customizable
xdata space size, code common size and code bank size* shall be a modulo 512B.
4.1.1.2How to configure You must change the configuration in the « option.h » header file by defining following
constants:
•XDATA_LENGTH
•CODE_BANKING
•BANK_START_ADDRESS
Note:There are no « code size » #define, because this one is automatically computed using
XDATA_LENGTH.
You must modify the UV2 project according to « option.h » header file;
Figure 4-2. options are in ‘Options for Target’ pop-up in Target tab
Figure 4-3. options are in ‘Options for Target’ pop-up in BL51 Misc tab (linker file
player.lin)
WARNING : At compile time, there are no automatic coherency check between « UV2
project option » and « option.h » (no error and no warning). The execution code may be
corrupted if a difference exists.
AT85C51SND3Bx Firmware User’s Guide4-17
7691A–MP3–08/07
Loading...
+ 43 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.