VOICE-RECORD-RD
VOICE R E C O RD E R R EF ERENCE D E S I G N K I T U SER ’ S G U I D E
1. Kit Contents
The Voice Recorder (VOICE-RECORD-RD) Reference Design Kit contains the following items:
C8051F411-GM Voice Recorder board (1)
Headphones (1)
Universal Power Supply (1)
9 V battery (1)
Voice Recorder Quick-Start Guide (1)
Voice Recorder Reference Design Kit CD-ROM. CD contents include the following:
Voice
Recorder Reference Design Kit User’s Guide (this document)
Design Documentation (AN278)
Voice Recorder Reference Design Source Code (AN278)
C8051F41x Device Data Sheet
Reference
Note: The Silicon Labs USB Debug Adapter is not included in this kit and is required to reprogram the board.
2. Kit Overview
Voice applications require a microcontroller to sample the audio channel, compress and decompress the signal,
store and retrieve the samples, and interpret user input. With its available feature set (12-bit ADC, 12-bit DAC,
50 MIPS peak CPU, low-power SUSPEND mode, and extremely small size in a 28-pin QFN package), the
C8051F411-GM is uniquely suited for this purpose. This reference design illustrates how to use a C8051F411-GM
for voice applications.
Figure 1. Voice Recorder Reference Design Board
Rev. 0.3 1/09
Copyright © 2012 by Silicon Laboratories
VOICE-RECORD-RD
VOICE-RECORD-RD
3. Using the Voice Recorder
The voice recorder can record up to 87 seconds of audio. The following steps describe how to use the voice
recorder:
1. Connect the headphones to the speaker jack (labeled SPKR).
2. Connect the Universal Power Supply or 9 V battery to the board. The red power LED (PWR LED) will turn on.
The red record LED (REC) and green play LED (PLAY) may also turn on briefly.
3. Once only the red power LED is on, the record, playback, and erase features may be used:
RECORD:
Press and hold the record/play (O / >) button to record. The button must remain pressed
during the recording session.
Once the red LED is lit, the voice recorder is recording. The microphone is sensitive enough that you do not need
to speak directly into the microphone in order to be heard.
PLAY:
Tap (press and immediately release) the record/play (O / >) button once to play back.
While the green LED is lit, the voice record is playing the recording. The playback may be stopped at any time by
tapping the button, or it may be allowed to continue until the end of the recording.
ERASE:
Tap (press and immediately release) the ERASE button once to erase the current contents of
the voice recorder.
The PLAY and REC LEDs will turn on while the voice recorder is busy erasing the contents of the memory. When
the LEDs turn off, the voice recorder has finished erasing.
VOLUME:
The volume of the voice recorder may be changed at any time by turning the dial labeled VOL. Moving the dial
counter-clockwise (up) will increase the volume, and moving the dial clockwise (down) will decrease the volume.
4. After several idle seconds, the voice recorder will go into Suspend mode to conserve battery life and the red
power LED will turn off. Press the record/play (O / >), ERASE, or RESET button at any time to wake from
Suspend. The record/play (O / >) or ERASE button must be released before the record, playback, or
erase features are available.
2
Rev. 0.3
VOICE-RECORD-RD
4. Major Components
This section describes each of the major components found on the Voice Recorder board.
Figure 2. Voice Recorder Reference Design Components
U1—C8051F411:
The C8051F411 controls the sampling, sample storing and retrieving, sample output, and user interaction for the
voice recorder.
U2—Transistor:
The transistor turns off all power to the Flash, op-amps, LEDs, and speaker driver when the ‘F411 goes into
Suspend mode to conserve as much power as possible.
U3—External Flash:
The external Flash communicates with the ‘F411 through the serial interface (SPI) and allows up to 87 seconds of
recording (512 kB with 12-bit samples compressed to 6 bits at an effective 8 kHz sampling rate).
U4—External Voltage Regulator
For ease of use in a development environment, the ‘F411 runs off an external voltage regulator that regulates the
9V battery or power supply input to 3.3 V. All components except the ‘F411 use the 3.3 V output, and the internal
‘F411 regulator regulates the 3.3 V down to 2.5 V for the ‘F411 core.
U5—Op-Amps:
The signal input from the microphone and the output to the speaker driver require some filtering by op-amp filters
to remove any components caused by frequencies outside the signal bandwidth (up to 4 kHz). Additionally, the
op-amp filters smooth the output of the IDAC.
U6—Speaker Driver:
The speaker driver provides the power to the speaker and takes the single-ended output of the IDAC and turns it
into a differential speaker output, which requires less power for the same output amplitude.
Rev. 0.3
3
VOICE-RECORD-RD
5. Summary of Demonstrated C8051F411-GM Features
The voice recorder samples the output of a microphone through op-amp based filters using the ADC. The
C8051F411 then compresses the samples and sends them to the external SST Flash memory over the SPI. To
play back, the C8051F411 retrieves the samples from the external Flash, decompresses them, and outputs the
sample using the on-chip IDAC. The on-chip PCA (Programmable Counter Array) controls brightness of the LEDs.
Push-buttons
and LEDs
Microphone
Anti-aliasing
filter and
amplifier
Filter and
speaker
driver
ADC
SST 512k
Flash
Memory
DAC
Speaker
C8051F411-GM
Figure 3. Voice Recorder Functional Block Diagram
The C8051F411-GM on the voice recorder uses the internal voltage regulator to run off of the output of the external
regulator (9 V down to 3.3 V) and the VDD monitor to check whether the input battery or power supply voltage is
high enough to guarantee proper functionality.
The voice recorder uses DPCM (Differential Pulse Code Modulated) compression to convert the 12-bit samples of
the ADC and IDAC to 6 bits at an effective sampling rate of 8 kHz. This compression allows for an extended
recording time without audibly losing sound quality. Additionally, the firmware utilizes the Burst Mode and Repeat
Count features of the ‘F411 ADC. Burst Mode saves power between conversions by allowing the ADC to stay in
shutdown mode, wake up on a convert start signal, rapidly take samples, and return to shutdown mode, all automatically. The Repeat Count feature allows the ADC to take multiple samples (16) with one convert start signal
and automatically accumulate the samples in the ADC data register, which allows the firmware to easily average a
set of samples to provide enhanced recording quality.
Since most functions are done in hardware (SPI, ADC Burst Mode and hardware accumulation), the ‘F411 samples, compresses or decompresses the sample, and interacts with the external Flash on SPI while running on a 6
MHz internal oscillator.
When no activity occurs for a few seconds, the voice recorder automatically enters Suspend mode and turns off
the power to all the other components by controlling a transistor with a port pin. Suspend mode causes the internal oscillator to stop until a waking event occurs, which allows the voice recorder to save power while not in use.
When a button (record/play (O / >) or ERASE) is pressed, the ‘F411 recognizes a waking event and resumes activity without requiring a hardware reset.
4
Rev. 0.3
VOICE-RECORD-RD
6. Reference Design Documentation and Source Code
The architecture of the Voice Recorder Reference Design is described in detail in the application note AN278,
which is included on the Kit’s CD-ROM. AN278 includes the Voice Recorder board schematic, bill of materials
(BOM), and C-language firmware source code.
To debug and download code to the Voice Recorder, the Keil C51 tools (compiler, linker, and assembler) and Silicon Labs USB Debug Adapter are required. These can be purchased separately from the Silicon Laboratories
website or as part of the C8051F410DK Development Kit (which includes the evaluation version of the Keil C51
tools). For more information, please visit the “Development Tools” webpage or contact the local Silicon Laboratories distributor.
http://www.silabs.com/products/microcontroller/devtools.asp
The Silicon Laboratories Integrated Development Environment (IDE) can be used with the USB Debug Adapter to
program and develop on the reference design boards. The Silicon Labs IDE and other software tools can be downloaded from the following link:
http://www.silabs.com/mcudownloads
7. Debugging with the Voice Recorder
To debug and run the Voice Recorder firmware in the Silicon Labs IDE, first disconnect the power to the Voice
Recorder board. Then, connect the USB Debug Adapter (not included in the Voice Recorder kit) and reconnect the
power, as shown in Figure 4.
Figure 4. Voice Recorder Debugging Setup
Connect the USB Debug Adapter (UDA) to the PC and open the Silicon Laboratories IDE. The Voice Recorder
project can be opened by going to ProjectOpen Project and selecting “F411_VR.wsp” after navigating to the
proper directory.
Rev. 0.3
5
VOICE-RECORD-RD
Figure 5. Debugging in the Silicon Laboratories IDE
Once the Voice Recorder project is open:
1.
Build the project by using the Build/Make Project button in the Build toolbar or selecting Project->Build/Make Project
from the menu.
Figure 6. Build and Debug Toolbars in the Silicon Labs IDE
Note: After the project has been built the first time, the Build/Make Project command will only build the files that have
been changed since the previous build. To rebuild all files and project dependencies, click on the Rebuild All button in the
toolbar or select ProjectRebuild All from the menu.
2.
Before connecting to the target device, several connection options may need to be set. Open the Connection Options
window by selecting OptionsConnection Options... in the IDE menu. To connect to the Voice Recorder, verify that the
USB Debug Adapter and Silicon Labs 2-wire (C2) debug interface are selected. Once the proper selections are made, click
the OK button to close the window.
3.
Click the Connect button in the toolbar or select DebugConnect from the menu to connect to the Voice Recorder board.
4.
Download the project to the board by clicking the Download Code button in the Build toolbar.
Note: To enable automatic downloading if the program build is successful, select Enable automatic connect/download
after build in the ProjectTarget Build Configuration dialog. If errors occur during the build process, the IDE will not
attempt the download.
6
Rev. 0.3
VOICE-RECORD-RD
5.
Save the project when finished with the debug session to preserve the current target build configuration, editor settings and
the location of all open debug views. To save the project, select ProjectSave Project from the menu.
6.
Run, Step, and Reset the firmware using the Debug toolbar
Figure 7. Debugging the Voice Recorder Firmware
The AN278 Voice Recorder Reference Design document contains a detailed firmware description. This document
can be found on the Voice Recorder Reference Design Kit CD-ROM or downloaded from the Silicon Laboratories
Reference Designs website.
http://www.silabs.com/products/microcontroller/designs.asp
Rev. 0.3
7
Figure 8. C8051F411 Voice Recorder Board (1 of 2)
VOICE-RECORD-RD
8. Schematics
8
Rev. 0.3
Figure 9. C8051F411 Voice Recorder Board (2 of 2)
VOICE-RECORD-RD
Rev. 0.3
9
VOICE-RECORD-RD
Contact Information
Silicon Laboratories Inc.
4635 Boston Lane
Austin, TX 78735
Tel: 1+(512) 416-8500
Fax: 1+(512) 416-9669
Toll Free: 1+(877) 444-3032
Email: MCUinfo@silabs.com
Internet: www.silabs.com
The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice.
Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from
the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features
or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability
arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to
support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where personal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized application, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages.
Silicon Laboratories and Silicon Labs are trademarks of Silicon Laboratories Inc.
Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders.
10
Rev. 0.3