Application Note AN_252 FT800 Audio Primer Version 1.0 Issue Date: 2013-08-06 The FT800 provides an inexpensive solution for adding rich graphics, touch and audio to an embedded system. This application note focuses on the FT800 audio controller, related circuitry and programming techniques. Use of FTDI devices in life support and/or safety applications is entirely at the user’s risk, and the user agrees to defend, indemnify and hold FTDI harmless from any and all damages, claims, suits or expense resulting from such use. Future Technology Devices International Limited (FTDI) Unit 1, 2 Seaward Place, Glasgow G41 1HH, United Kingdom Tel.: +44 (0) 141 429 2777 Fax: + 44 (0) 141 429 2758 Web Site: http://ftdichip.com Copyright © 2011 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 Table of Contents 1 Introduction .................................................................................................................................... 2 2 Audio Engine ................................................................................................................................... 3 2.1 Sound Synthesizer ................................................................................................................... 3 2.2 Audio Files ............................................................................................................................... 5 2.2.1 3 4 Conversion Utility ............................................................................................................ 6 Hardware ........................................................................................................................................ 7 3.1 Power Supply .......................................................................................................................... 7 3.2 Buffer ...................................................................................................................................... 7 3.3 3-stage Low-Pass Filter ........................................................................................................... 8 3.4 Audio amplifier........................................................................................................................ 8 3.5 Complete Circuit ..................................................................................................................... 9 3.6 Layout considerations ............................................................................................................. 9 Programming ................................................................................................................................ 10 4.1 Initial Settings........................................................................................................................ 10 4.2 Play Synthesized Effects ........................................................................................................ 10 4.3 Load an Audio File into RAM_G ............................................................................................ 10 4.4 Play an Audio File .................................................................................................................. 11 5 Conclusion ..................................................................................................................................... 12 6 Contact Information...................................................................................................................... 13 Appendix A – References ...................................................................................................................... 14 Document References....................................................................................................................... 14 External References .......................................................................................................................... 14 Acronyms and Abbreviations ............................................................................................................ 14 Appendix B – List of Tables & Figures ................................................................................................... 15 List of Tables ..................................................................................................................................... 15 List of Figures .................................................................................................................................... 15 Appendix C – Revision History .............................................................................................................. 16 1 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 1 Introduction What is EVE? EVE, or the FTDI Embedded Video Engine, is a family of ICs designed to control TFT, resistive touch displays. The first device in this family is the FT800 which in addition to controlling the display also includes embedded support for touch control and audio output. This document focuses on the audio features available through the FT800, from the audio circuitry to convert the PWM output to the programming techniques for enabling and using the audio controller. 2 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 2 Audio Engine Various audio effects and files can be played by the FT800. The output is provided as a PWM signal on a single pin, AUDIO_L. There are two audio sources, the Sound Synthesizer and the Audio Playback. 2.1 Sound Synthesizer Sound effects are pre-loaded in a ROM wave library and do not require the use of any of the FT800 RAM space. Most audible user feedback can be provided through these effects, such as a click when an on-screen button is pressed, DTMF tones for telecom or an alarm panel warning. Most effects will play once and then stop. Others will play continuously. The full list of tones and features are shown below: Value Effect Continuous Value Effect Continuous Y Pitch adjust N 32h DTMF 2 Y Pitch adjust N 00h Silence 01h 02h square wave sine wave Y Y Y Y 33h 34h DTMF 3 DTMF 4 Y Y N N 03h 04h sawtooth wave triangle wave Y Y Y Y 35h 36h DTMF 5 DTMF 6 Y Y N N 05h 06h Beeping Alarm Y Y Y Y 37h 38h DTMF 7 DTMF 8 Y Y N N 07h 08h Warble Carousel Y Y Y Y 39h 40h DTMF 9 harp Y N N Y 10h 11h 1 short pip 2 short pips N N Y Y 41h 42h xylophone tuba N N Y Y 12h 13h 3 short pips 4 short pips N N Y Y 43h 44h glockenspiel organ N N Y Y 14h 5 short pips N Y 45h trumpet N Y 15h 6 short pips N Y 46h piano N Y 16h 17h 7 short pips 8 short pips N N Y Y 47h 48h chimes music box N N Y Y 18h 19h 9 short pips 10 short pips N N Y Y 49h 50h bell click N N Y N 1Ah 1Bh 11 short pips 12 short pips N N Y Y 51h 52h switch cowbell N N N N 1Ch 1Dh 13 short pips 14 short pips N N Y Y 53h 54h notch hihat N N N N 1Eh 1Fh 15 short pips 16 short pips N N Y Y 55h 56h kickdrum pop N N N N 23h 2Ch DTMF # DTMF * Y Y N N 57h 58h clack chack N N N N 30h 31h DTMF 0 DTMF 1 Y Y N N 60h 61h mute unmute N N N N Table 2.1 FT800 Synthesized Sound Effects 3 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 Many of the effects allow pitch control (MIDI note), so various tones can be generated. MIDI note assignments are used: MIDI note 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 ANSI note A0 A#0 B0 C1 C#1 D1 D#1 E1 F1 F#1 G1 G#1 A1 A#1 B1 C2 C#2 D2 D#2 E2 F2 F#2 G2 G#2 A2 A#2 B2 C3 C#3 D3 D#3 E3 F3 F#3 G3 G#3 A3 A#3 B3 C4 C#4 D4 D#4 E4 Freq (Hz) 27.5 29.1 30.9 32.7 34.6 36.7 38.9 41.2 43.7 46.2 49.0 51.9 55.0 58.3 61.7 65.4 69.3 73.4 77.8 82.4 87.3 92.5 98.0 103.8 110.0 116.5 123.5 130.8 138.6 146.8 155.6 164.8 174.6 185.0 196.0 207.7 220.0 233.1 246.9 261.6 277.2 293.7 311.1 329.6 MIDI note 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 ANSI note F4 F#4 G4 G#4 A4 A#4 B4 C5 C#5 D5 D#5 E5 F5 F#5 G5 G#5 A5 A#5 B5 C6 C#6 D6 D#6 E6 F6 F#6 G6 G#6 A6 A#6 B6 C7 C#7 D7 D#7 E7 F7 F#7 G7 G#7 A7 A#7 B7 C8 Standard Freq (Hz) 349.2 370.0 392.0 415.3 440.0 466.2 493.9 523.3 554.4 587.3 622.3 659.3 698.5 740.0 784.0 830.6 880.0 932.3 987.8 1046.5 1108.7 1174.7 1244.5 1318.5 1396.9 1480.0 1568.0 1661.2 1760.0 1864.7 1975.5 2093.0 2217.5 2349.3 2489.0 2637.0 2793.8 2960.0 3136.0 3322.4 3520.0 3729.3 3951.1 4186.0 Table 2.2 MIDI Note/Pitch Values 4 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 Sound synthesis is controlled by the following registers: REG_SOUND o Bits 31-16 = Don’t care o Bits 15-8 = MIDI note (pitch) o Bits 7-0 Effect REG_PLAY o Bits 31-1 = Don’t care o Bit0 = Start Play / Play Status Write = 1 to start playing the selection in REG_SOUND Read = 1 indicates the effect is currently playing Read = 0 indicates the effect has completed REG_VOL_SOUND o Bits 31-8 = don’t care o Bits 7-0 = output volume Reads and writes to FT800 memory space are handled through the “little endian” format, where the first byte will be the least significant. For example, consider a piano effect (0x46) playing A4 (0x45). The data on the SPI or I2C interface would consist of a Host Memory Write sequence with the following data, on order: 0x90 0x24 0x84 0x46 0x45 0x00 0x00 = = = = = = = Host Memory Write transfer (0x80) plus first byte of register address (0x10) second byte of register address third byte of register address piano effect note/pitch = A4 (440Hz) don’t care, optional don’t care, optional Note that the last two bytes do not have to be written, so a 16-bit Host Memory Write can actually satisfy the values needed in the register. Further explanation of the Host Memory Write, Host Memory Read and Host Memory Command data transfers are found in AN_240 FT800 From the Ground Up. 2.2 Audio Files There may be applications where something more than simple tone synthesis is necessary. For example a voice prompt or other announcement may be necessary to give the user specific instructions. The FT800 supports playback of files in the following single-channel (mono) formats: 8-bits signed PCM – uncompressed raw audio 8-bits µLAW – non-linear compressed audio 4-bits IMA-ADPCM – further compressed µLAW where each byte contains two 4-bit samples The FT800 has 256Kbytes of object ram (RAM_G) to hold video objects (images and fonts) and audio objects (recorded sounds). The space must be managed by the host MCU so that information is not overwritten until after it is no longer required. Audio files are loaded through the Host Memory Write transaction to available space and are required to be 8-byte aligned (64-bit). Once an audio file is loaded into the RAM_G memory, playback is controlled by the following registers: REG_PLAYBACK_START o Bits 31-20 = don’t care o Bits 19-0 = 20-bit starting address of the file within RAM_G REG_PLAYBACK_LENGTH o Bits 31-20 = don’t care o Bits 19-0 = 20-bit length of the file within RAM_G REG_PLAYBACK_FREQ o Bits 31-16 = don’t care o Bits 15-0 = 16-bit Playback sampling rate frequency, in Hz 5 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 2.2.1 Clearance No.: FTDI# 344 REG_PLAYBACK_FORMAT o Bits 31-2 = don’t care o Bits 1-0 = 2-bit Playback format 0 = Linear, or uncompressed PCM 1 = µLaw 2 = ADPCM 3 = undefined REG_PLAYBACK_LOOP o Bits 31-1 = don’t care o Bit 0 = 1-bit Playback style 0 = play once 1 = play continuous REG_PLAYBACK_PLAY o Bits 31-1 = don’t care o Bit 0 = Start Play / Play Status Write = 0 or 1 to start playing the selection in REG_SOUND Read = 1 indicates the file is currently playing Read = 0 indicates the file has completed REG_PLAYBACK_READPTR o Bits 31-20 = don’t care o Bits 19-0 = 20-bit pointer of the current playback location REG_VOL_PB o Bits 31-8 = don’t care o Bits 7-0 = output volume Conversion Utility FTDI provide an audio file conversion utility called “AUD_CVT” to take a common file format and create the three types of files supported by the FT800. A link to this utility is provided in the “Appendix A – References” section of this document. The source file is assumed to be a raw (uncompressed) 16bit PCM, mono WAV file. Such a file can be created through a commonly available audio editing program, such as Audacity. Once the source file is available, simply run the utility at a command prompt: aud_cvt -i inputfilename -f format where “format” = 0 for 8-bit signed PCM = 1 for 8-bit µLaw = 2 for 4-bit IMA ADPCM A folder with the resulting files will be created. These files can then be used to load into the RAM_G memory area of the FT800. The audio conversion utility will output a raw and a compressed file for each selected format. It may be helpful at the host MCU to store the compressed files, and then expand them into the RAM_G buffer when needed. See Section 4 for details. 6 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 3 Hardware The audio output provided by the FT800 consists of a single-channel PWM signal, AUDIO_L. This signal needs to be converted to analog so that it may be heard through a speaker. The conversion consists of several stages. In addition to AUDIO_L, the FT800 interrupt output can be utilized. An interrupt can be generated whenever an effect or file has completed playing. This is useful to queue the host MCU to perform another FT800 task. Interrupt circuitry is not shown here. 3.1 Power Supply In general, digital video signals tend to produce a bit of noise on the power and ground rails, especially when many signals are transitioning simultaneously. Setting the FT800 “CSPREAD” feature will offset some of the transitions on the video output, but noise will still be present. The first defense against high frequency noise on the audio signals is a clean power supply. Ferrites and capacitors between power and ground will help reduce the noise so that the output of any buffers or amplifiers using the power supply will not have the noise superimposed on the audio. The circuit below is one example of an audio power supply filter: AUD_3V3 3V3 FB1 600R/1A FB2 C23 C22 C21 1 0 n F 1 0 0 u F 0.1uF 600R/1A G N D A G N D Max peak current ~400mA for 8-ohm speaker Figure 3.1 Audio Power Supply Filter 3.2 Buffer With the power supply cleaned up, next in line is a logic-level buffer to provide enough drive current for the subsequent stage. Note that the buffer is powered by the audio power supply: AUD_3V3 U 5 5 AUDIO_L AUDIO_L R 8 3 3 R 2 O E 4 1 3 AUD_3V3 C17 A G N D 0.1uF SN74LVC1G125DBVR A G N D Figure 3.2 Audio PWM Buffer 7 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 3.3 3-stage Low-Pass Filter The output of the buffer is then fed into a 3-stage low-pass filter. This provides 60dB / octave attenuation of frequencies above the cut-off frequency. This steep filter further aids in digital noise suppression. In this example, the cut-off frequency is approximately 34kHz: R 9 R10 1 k C13 4.7nF A G N D R11 1 k C14 4.7nF 1 k A G N D C15 4.7nF A G N D Figure 3.3 Audio Low-Pass Filter (3rd Order) Since the AUDIO_L output is referenced to the 3.3V VCC power supply, the audio signal is centered on ~1.65V at the R11/C15 junction. 3.4 Audio amplifier The final stage in the audio circuit is an amplifier. C16 blocks any DC offset before the input. This amplifier will directly drive a speaker. Component values are derived from the amplifier datasheet. From filter AUD_3V3 R12 C16 0.47uF R13 10k/1% U 6 4 3 AUDIO_SHDN# R16 20k/1% 3 3 R 1 2 V V V SHDN G BYPASSG ININ+ D O O N N D + D D 6 5 8 7 9 S P + S P - S P 1 J3 J4 1W/8Ohm TPA6205A1 R15 20k/1% R14 10k/1% R17 4 7 k A G N D C18 0.47uF A G N D C19 0.22uF A G N D C20 1 u F A G N D A G N D Figure 3.4 Audio Amplifier 8 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 3.5 Complete Circuit The complete audio circuit shows all of the components together: AUD_3V3 5 U 5 AUDIO_L AUDIO_L R 8 3 3 R 2 4 R 9 R10 1 k O E A G N D SN74LVC1G125DBVR 0.1uF 1 k C14 4.7nF C15 4.7nF A G N D A G N D A G N D 3 AUD_3V3 C17 R11 1 k C13 4.7nF 1 A G N D From filter AUD_3V3 R12 C16 0.47uF R13 10k/1% U 6 4 3 AUDIO_SHDN# R16 3 3 R 1 2 AUD_3V3 3V3 FB1 FB2 G N D ININ+ V V V SHDN G BYPASS G D O O N N 6 D 5 + 8 7 D 9 D S P 1 S P + J3 S P - J4 1W/8Ohm TPA6205A1 R15 20k/1% R14 600R/1A 20k/1% 10k/1% C21 C22 1 0 0 u F 0.1uF C23 1 0 n F 600R/1A A G N D Max peak current ~400mA for 8-ohm speaker R17 4 7 k C18 0.47uF A G N DA G N D C19 0.22uF A G N D C20 1 u F A G N AD G N D Figure 3.5 FT800 Audio Circuit 3.6 Layout considerations Careful layout techniques are required: The audio circuit should be physically separated as far from the LCD signals as possible. Separate audio power and ground planes from the system power and ground. Use a single connection point between audio power and system power; likewise, use a single connection point between audio ground and system ground. In this example, the connection points are ferrite beads. 9 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 4 Programming The audio features of the FT800 are accessed through the same Display List, along with the video and touch panel features. For example, every second a clock widget with a second hand could be drawn followed by a “tick” sound. Both the widget and sound reside in the same Display List. New Display Lists would then be sent to the FT800 every second, each containing both the widget with the new second hand position and another audio “tick”. For the examples below, “wr32(address, value)” indicates the MCU would write the value (VOLUME, frequency, etc.) to the address within the display list (RAM_DL + n) or register (e.g. REG_VOL_SOUND). This notation is used throughout other FT800 documents. 4.1 Initial Settings As part of the FT800 initialization, set the volume to zero to eliminate any pops or clicks while all the initial settings are being sent: wr8(REG_VOL_SOUND, 0); wr8(REG_VOL_PB, 0); wr16(REG_SOUND, 0x0062); // Set Synthesizer volume to zero // Set Audio File Playback volume to zero // Play “mute” sound (optional) 4.2 Play Synthesized Effects Only a few Display List elements are required in order to play a synthesized effect. To play an effect: 1. 2. 3. 4. wr8(REG_VOL_SOUND, VOLUME); wr16(REG_SOUND, (MIDI_NOTE << 8 + EFFECT)); wr8(REG_PLAY, 1); rd8(REG_PLAY); // // // // set the volume set the effect and pitch start playing check whether done An interrupt can also be generated for the host MCU when play has completed. To stop playing a continuous effect: 1. wr16(REG_SOUND, 0); 2. wr8(REG_PLAY, 1); 3. rd8(REG_PLAY); // set effect to “silence” // start playing silence // check whether done 4.3 Load an Audio File into RAM_G Audio and video data are treated equally in the RAM_G element memory. The command processor is sent the starting address and data to store, and then the MCU obtains the last used end pointer so another element may be copied in. There are two methods of loading an audio file into the RAM_G element memory: Uncompressed Data Data from the raw audio file is written directly to RAM_G. The MCU, knowing the data_length, knows where to put the next element. 1. wr32(cmdBufferWr + n, 2. wr32(cmdBufferWr + n + 4, 3. wr32(cmdBufferWr + n + 8, 4. wr8(cmdBufferWr + n + 12, 5. wr8(cmdBufferWr + n + 13, 6. wr8(cmdBufferWr + n + …, 0xffffff1a); RAM_G + offset); // CMD_MEMWRITE // An 8-byte aligned location in // RAM_G. If this is the first // element, then offset = 0 data_length); // length of audio data // (8-byte aligned / zero-pad) Byte 0); // First byte of audio data Byte 1); // Second byte of audio data <Bytes 2 through data_length> // … the rest of the data 10 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 7. MCU sets new RAM_G starting offset = offset + data_length for memory management Compressed Data Data from the compressed audio file is written to RAM_G through the INFLATE command. This decompresses “ZLIB” compressed data into RAM_G. Once the uncompressed data is written, the new end-pointer is obtained for the MCU to keep track of the RAM_G elements. 1. wr32(cmdBufferWr + n, 2. wr32(cmdBufferWr + n + 4, 0xffffff22); RAM_G + offset); 3. wr8(cmdBufferWr + n + 12, Byte 0); 4. wr8(cmdBufferWr + n + 13, Byte 1); 5. wr8(cmdBufferWr + n + …, <remainder of data> // // // // // // // // CMD_INFLATE An 8-byte aligned location in RAM_G. If this is the first element, then offset = 0 First byte of compressed audio data Second byte of compressed audio data // … the rest of the compressed // audio data 6. wr32(cmdBufferWr + n + <zlib_size>, 0xffffff22 // CMD_GETPTR 7. rd32(new RAM_G offset) // Assume utility already // padded data 8. MCU stores the new offset for RAM_G memory management Note that if the audio conversion utility is used, both RAW and ZLIB files are created. When writing MCU firmware, the RAW file size can also be used as the end point of the uncompressed data. 4.4 Play an Audio File Now that audio data is stored in RAM_G, it can be played through the FT800: 1. wr32(REG_PLAYBACK_START, RAM_G + offset); 2. 3. 4. 5. 6. 7. 8. 9. wr32(REG_PLAYBACK_LENGTH, length); wr16(REG_PLAYBACK_FREQ, frequency); wr8(REG_PLAYBACK_FORMAT, format); wr8(REG_VOL_PB, volume); wr8(REG_PLAYBACK_LOOP, play_once); wr8(REG_PLAYBACK_PLAY, 1); rd8(REG_PLAYBACK_PLAY) rd32(REG_PLAYBACK_READPTR) // // // // // // // // // // // RAM_G element memory offset is managed by host MCU file length, in bytes playback sampling frequency file format playback volume play once or forever? write a “1” to start playback playback complete (optional) how far along and how loud? (optional) 11 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 5 Conclusion The FT800 provides an easy way to incorporate audio along with graphics displays and touch feedback into products that could not otherwise afford this capability. A common programming interface provides developers with a single method to manipulate the FT800 regardless of the data types. With only the FT800 between the MCU and the LCD display, a vivid graphics experience with touch and audio is now possible. 12 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 6 Contact Information Head Office – Glasgow, UK Branch Office – Tigard, Oregon, USA Future Technology Devices International Limited Unit 1, 2 Seaward Place, Centurion Business Park Glasgow G41 1HH United Kingdom Tel: +44 (0) 141 429 2777 Fax: +44 (0) 141 429 2758 Future Technology Devices International Limited (USA) 7130 SW Fir Loop Tigard, OR 97223-8160 USA Tel: +1 (503) 547 0988 Fax: +1 (503) 547 0987 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) [email protected] [email protected] [email protected] E-Mail (Sales) E-Mail (Support) E-Mail (General Enquiries) [email protected] [email protected] [email protected] Branch Office – Taipei, Taiwan Branch Office – Shanghai, China Future Technology Devices International Limited (Taiwan) 2F, No. 516, Sec. 1, NeiHu Road Taipei 114 Taiwan , R.O.C. Tel: +886 (0) 2 8791 3570 Fax: +886 (0) 2 8791 3576 Future Technology Devices International Limited (China) Room 1103, No. 666 West Huaihai Road, Shanghai, 200052 China Tel: +86 21 62351596 Fax: +86 21 62351595 E-mail (Sales) E-mail (Support) E-mail (General Enquiries) E-mail (Sales) E-mail (Support) E-mail (General Enquiries) [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] Web Site http://ftdichip.com System and equipment manufacturers and designers are responsible to ensure that their systems, and any Future Technology Devices International Ltd (FTDI) devices incorporated in their systems, meet all applicable safety, regulatory and system-level performance requirements. All application-related information in this document (including application descriptions, suggested FTDI devices and other materials) is provided for reference only. While FTDI has taken care to assure it is accurate, this information is subject to customer confirmation, and FTDI disclaims all liability for system designs and for any applications assistance provided by FTDI. Use of FTDI devices in life support and/or safety applications is entirely at the user’s risk, and the user agrees to defend, indemnify and hold harmless FTDI from any and all damages, claims, suits or expense resulting from such use. This document is subject to change without notice. No freedom to use patents or other intellectual property rights is implied by the publication of this document. Neither the whole nor any part of the information contained in, or the product described in this document, may be adapted or reproduced in any material or electronic form without the prior written consent of the copyright holder. Future Technology Devices International Ltd, Unit 1, 2 Seaward Place, Centurion Business Park, Glasgow G41 1HH, United Kingdom. Scotland Registered Company Number: SC136640 13 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 Appendix A – References Document References DS_FT800 FT800 Datasheet PG_FT800 FT800 Programmer Guide AN_240 FT800 From the Ground Up External References Audacity Open Source audio recording and editing software Acronyms and Abbreviations Terms IMA-ADPCM Description Further compressed µLaw data containing two 4-bit samples per byte MCU Microcontroller (unit) PCM Pulse Coded Modulation PWM Pulse Width Modulation RAW Uncompressed data µLaw mu-law Companding Algorithm ZLIB Lossless compressed data algorithm 14 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 Appendix B – List of Tables & Figures List of Tables Table 2.1 FT800 Synthesized Sound Effects ............................................................................ 3 List of Figures Figure 3.1 Audio Power Supply Filter ..................................................................................... 7 Figure 3.2 Audio PWM Buffer ................................................................................................ 7 Figure 3.3 Audio Low-Pass Filter (3rd Order) .......................................................................... 8 Figure 3.4 Audio Amplifier .................................................................................................... 8 Figure 3.5 FT800 Audio Circuit .............................................................................................. 9 15 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 Appendix C – Revision History Document Title: AN_252 FT800 Audio Primer Document Reference No.: FT_000875 Clearance No.: FTDI# 344 Product Page: http://www.ftdichip.com/FTProducts.htm Document Feedback: Send Feedback Revision 1.0 Changes Initial Release Date 2013-08-06 16 Copyright © 2013 Future Technology Devices International Limited Application Note AN_252 FT800 Audio Primer Version 1.0 Document Reference No.: FT_000875 Clearance No.: FTDI# 344 Revision History Revision history (internal use only, please clearly state all changes here before saving the file) Revision Date YYYY-MM-DD Changes Editor Draft 2013-07-23 Initial Outline Bob Recny Draft 2013-08-01 Copy ready for review – Section 3 images need re-drawn Bob Recny Draft 2013-08-02 Reviewed. Minor edits. G Lunn Added external link to Audacity in References Draft 2013-08-02 Added Table 2 caption Bob Recny Replaced section 3 images 1.0 2013-08-06 Approved LCE/DS G Lunn 17 Copyright © 2013 Future Technology Devices International Limited