Version 3.0 AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 April, 2000 Copyright , 2000 Digital Voice Systems, Inc 234 Littleton Road Westford, MA 01886 This document may not, in whole or in part be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine readable form without prior consent in writing from Digital Voice Systems, Incorporated. Every effort has been made to ensure the accuracy of this manual. However, Digital Voice Systems, Inc. makes no warranties with respect to the documentation and disclaims any implied warranties of merchantability and fitness for a particular purpose. Digital Voice Systems, Inc. shall not be liable for any errors or for incidental or consequential damages in connection with the furnishing, performance, or use of this manual or the examples herein. This includes business interruption and/or other loss which may arise from the use of this product. The information in this document is subject to change without notice. Trademarks AMBE-2000™ Vocoder Chip is a registered trademark of Digital Voice Systems, Inc. Other product names mentioned may be trademarks or registered trademarks of their respective companies and are the sole property of their respective manufacturers. All Rights Reserved Data subject to change page 2 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 AMBE-2000™ Vocoder Chip END USER License Agreement 1.0 Preliminary Statements and Definitions 7.0 Proprietary Information 1.1 “END USER” shall mean the person and/or organization to whom the AMBE2000™ Vocoder Chip was delivered or provided to as specified in the purchase order or other documentation. In the event that the END USER transfers his rights under this license to a third party as specified in section 2.2, then this third party shall become an “END USER”. 1.2 Digital Voice Systems, Inc. (DVSI) has developed a voice coding method and algorithm (the “Technology”) based on the Advanced Multi-Band Excitation (“AMBE”) voice coder. The technology codes speech at bit rates of 2.4 to 9.6 kilobits per second (kbps) including error correction bits. 1.3 "AMBE Voice Compression Software" shall mean the speech coding software and/or firmware integrated into the AMBE-2000™ Vocoder chip integrated circuit. 1.4 "Voice Codec" shall mean the AMBE-2000™ Vocoder Chip integrated circuit, the AMBE Voice Compression Software, firmware and associated documentation, including modifications, enhancements and extensions made by or for Digital Voice Systems, Inc. (DVSI) and including circuit diagrams, timing diagrams, logic diagrams, layouts, operating instructions and user manuals. 1.5 DVSI represents that it owns certain “Proprietary Rights” in the Technology and the AMBE Voice Compression Software, including patent rights in the Technology, and patent rights, copyrights, and trade secrets in the AMBE Voice Compression Software. 7.1 The parties agree that the AMBE Voice Compression Software shall be considered Proprietary Information. 7.2 Except as otherwise provided in this Agreement, END USER shall not use, disclose, make, or have made any copies of the Proprietary Information, in whole or in part, without the prior written consent of DVSI. 2.0 License Granted 2.1 Subject to the conditions herein and upon initial use of the AMBE-2000™ Vocoder Chip, DVSI hereby grants to END USER a non-exclusive, limited license to use the AMBE® Voice Compression Software in machine readable form solely on the AMBE2000™ Vocoder Chip. Title to the AMBE® Voice Compression Software remains with DVSI. No license is granted for use of the AMBE® Voice Compression Software on other than the AMBE-2000™ Vocoder Chip. No license, right or interest in any trademark, trade name or service mark of DVSI is granted under this Agreement. 2.2 END USER shall not copy, extract, de-compile, reverse engineer or disassemble the AMBE® Voice Compression Software contained in the AMBE-2000™ Vocoder Chip. 3.0 Transfer of License 3.1 The END USER shall have the right to transfer the AMBE-2000™ Vocoder Chip and all rights under this Agreement to a third party by either (i) providing the third party with a copy of this Agreement or (ii) providing the third party with an agreement written by the END USER ( hereinafter “END USER Agreement”) so long as the END USER Agreement is approved in writing by DVSI prior to transfer of the AMBE-2000™ Vocoder Chip. The END USER Agreement shall contain comparable provisions to those contained herein for protecting the Proprietary Information from disclosure by such third party. Third parties shall agree to accept all the terms and conditions under either Agreement or the END USER Agreement. 4.0 Term and Termination 4.1 This Agreement is effective upon initial delivery of the Voice Codec and shall remain in effect until terminated in accordance with this agreement. 4.2 This Agreement shall terminate automatically without notice from DVSI if END USER fails to comply with any of the material terms and conditions herein. END USER may terminate this Agreement at any time upon written notice to DVSI certifying that END USER has complied with the provisions of Section 3.3. 4.3 Upon termination of this Agreement for any reason, END USER shall: (i) return all AMBE-2000™ Vocoder Chip purchased or acquired, or in Licensee’s possession, to DVSI; (ii) have no further rights to any AMBE® Voice Compression Software or the Technology without a separate written license from DVSI; (iii) discontinue all use of the AMBE-2000™ Vocoder Chip; 5.0 Payments 5.1 In consideration of the materials provided as part of the Voice Codec, and in consideration of the license and rights in the AMBE Voice Compression Software granted by DVSI, and in consideration of DVSI's performance of its obligations hereunder, END USER agrees to pay to DVSI the fee specified in DVSI's invoice. 6.0 Proprietary Notices 6.1 END USER shall not remove any copyright or proprietary notice on the AMBE2000™ Vocoder Chip or on the AMBE Voice Compression Software. 8.0 Limited Warranty 8.1 DVSI warrants the Voice Codec to be free from defects in materials and workmanship under normal use for a period of ninety (90) days from the date of delivery. 8.2 Except as stated in Section 7.1, the Voice Codec is provided "as is" without warranty of any kind. DVSI does not warrant, guarantee or make any representations regarding the use, or the results of the use, of the Voice Codec with respect to its correctness, accuracy, reliability, correctness or otherwise. The entire risk as to the results and performance of the Voice Codec is assumed by the END USER. After expiration of the warranty period, END USER, and not DVSI or its employees, assumes the entire cost of any servicing, repair, replacement, or correction of the Voice Codec. 8.3 DVSI represents that, to the best of its knowledge, it has the right to enter into this Agreement and to grant a license to use the AMBE Voice Compression Software to END USER. 8.4 Except as specifically set forth in this Section 7.0, DVSI makes no express or implied warranties including, without limitation, the warranties of merchantability or fitness for a particular purpose or arising from a course of dealing, usage or trade practice, with respect to the Voice Codec. Some states do not allow the exclusion of implied warranties, so the above exclusion may not apply to END USER. No oral or written information or advice given by DVSI or its employees shall create a warranty or in any way increase the scope of this warranty, and END USER may not rely on any such information or advice. The limited warranties under this section 7.0 give END USER specific legal rights, and END USER may have other rights which vary from state to state. 9.0 Limitation of Liability 9.1 In no event shall DVSI be liable for any special, incidental, indirect or consequential damages resulting from the use or performance of the Voice Codec whether based on an action in contract, tort (including negligence) or otherwise (including, without limitation, damages for loss of business profits, business interruption, and loss of business information), even if DVSI or any DVSI representative has been advised of the possibility of such damages. 9.2 Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitations may not apply to END USER. 9.3 DVSI's maximum liability for damages arising under this Agreement shall be limited to 20% (twenty percent) of the fees paid by END USER for the particular Voice Codec which caused the damages or that is the subject matter of, or is directly related to, the cause of action. 10.0 Taxes 10.1 All payments required under Section 4.0 or otherwise under this Agreement are exclusive of taxes and END USER agrees to bear and be responsible for the payment of all such taxes (except for taxes based upon DVSI's income) including, but not limited to, all sales, use, rental receipt, personal property or other taxes which may be levied or assessed in connection with this Agreement. 11.0 Export 11.1 United States export laws and regulations prohibit the exportation of certain products or technical data received from DVSI under this Agreement to certain countries except under a special validated license. As of November 30, 1999 the restricted countries are: Libya, Cuba, North Korea, Iraq, Serbia, Taliban in Afghanistan, Sudan, Burma, Yugoslavia and Iran. The END USER hereby gives its assurance to DVSI that it will not knowingly, unless prior authorization is obtained from the appropriate U.S. export authority, export or re-export, directly or indirectly to any of the restricted countries any products or technical data received from DVSI under this Agreement in violation of said United States Export Laws and Regulations. DVSI neither represents that a license is not required nor that, if required, it will be issued by the U.S. Department of Commerce. Licensee shall assume complete and sole responsibility for obtaining any licenses required for export purposes. 12.0 Governing Law 12.1 This Agreement is made under and shall be governed by and construed in accordance with the laws of the Commonwealth of Massachusetts, except that body of law governing conflicts of law. If any provision of this Agreement shall be held unenforceable by a court of competent jurisdiction, that provision shall be enforced to the maximum extent permissible, and the remaining provisions of this Agreement shall remain in full force and effect. page 3 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 1. Product Introduction 2 3 4 6 1.1 General Information 6 1.2 Advantages 6 1.3 Typical Applications 7 AMBE™-2000 Application Design Overview 2.1 Basic Operation 8 2.2 Initial Design Considerations 2.2.1 A/D – D/A Overview 2.2.2 Channel Interface Overview 2.2.3 Speech and FEC Rate Selection Overview 8 8 9 9 Hardware Information 10 3.1 Special Handling Instructions 3.1.1 Storage 10 10 3.2 Pin Descriptions 11 3.3 Clock and Reset Timing 13 3.4 Crystal / Oscillator Usage 3.4.1 TTL Clock Source 3.4.2 Crystal Oscillator 14 14 15 3.5 Package Description 16 3.6 Normal Operating Conditions 17 3.7 Absolute Maximum Ratings 17 3.8 Electrical Characteristics and Requirements 17 Channel Interface 19 4.1 Overview 19 4.2 Serial Configuration Selection 19 4.3 Channel Serial Mode 4.3.1 Low Level Timing for Passive and Active Serial Mode 5 8 Channel Data Format 5.1 21 22 24 Formatted Format 24 5.2 Formatted Input Format 5.2.1 Formatted Input : Word 0 : Header 5.2.2 Formatted Input : Word 1 : Power Control 5.2.3 Formatted Input : Word 1 : Control Word 1 5.2.4 Formatted Input : Words 2-6 : Rate Info 0, Rate Info 1, Rate Info 2, Rate Info 3, Rate Info 4 5.2.5 Formatted Input : Word 7 : Unused in Input 5.2.6 Formatted Input : Word 8 : Unused in Input 5.2.7 Formatted Input : Word 9 : Unused in Input page 4 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change 24 25 25 26 26 27 27 27 AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 5.2.8 5.2.9 5.2.10 6 Formatted Input : Word 10 :DTMF Control Formatted Input : Word 11 Control Word 2 Formatted Input : Words 12-23 : Channel Data 27 28 29 5.3 Formatted Output Format 5.3.1 Formatted Output : Word 0 : Header 5.3.2 Formatted Output : Word 1 : ID (Power Control) 5.3.3 Formatted Output : Word 1 :Control Word 1 This 8-bit control word indicates the activity of various functions. 5.3.4 Formatted Output : Words 2-6 : Rate Info 0, Rate Info 1, Rate Info 2, Rate Info 3, Rate Info 4. 5.3.5 Formatted Output: Word 7 : Bit Error Rate 5.3.6 Formatted Output : Word 10 : DTMF Control 5.3.7 Formatted Output : Word 11 :Control Word 2 5.3.8 Formatted Output : Words 12-23 :Channel Data 29 30 30 30 30 30 30 30 32 33 5.4 Unformatted Serial Format 5.4.1 Unformatted Serial Output Format 5.4.2 Unformatted Serial Input Format 33 33 34 A/D-D-A Interface 35 6.1 A/D-D/A Overview 35 6.2 Configuring the A/D-D/A Interface using CODEC_SEL[1-0] 35 6.3 Low Level A/D–D/A Timing Low Level Timing for A/D-D/A in Active and Passive Modes 7 8 Special Functions 36 36 38 7.1 Hardware vs. Software Selection Note 38 7.2 Coding Rate Selection 38 7.3 Echo Cancellation 39 7.4 Voice Activation Detection (VAD), Comfort Noise Insertion (CNI) 40 7.5 Dual Tone Multiple Frequency, Detection and Generation 40 7.6 Normal Power and Power Saving Modes 7.6.1 Standard Sleep Mode 7.6.2 Power Down 40 40 41 7.7 Slip Enable 42 Appendices 45 8.1 Example A/D-D/A Usage 8.1.1 AD73311 45 45 page 5 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 1. Product Introduction 1.1 General Information Digital Voice Systems Inc.’s AMBE-2000™ Vocoder Chip is an extremely flexible, high-performance, single chip, speech compression coder. It provides superior voice quality at low data rates. It provides a real-time, full-duplex implementation of the standard-setting AMBE voice compression software algorithm. DVSI’s patented AMBE voice compression technology has been proven to outperform CELP, RELP, VSELP, MELP, ECELP, MP-MLQ, LPC-10, and other competitive technologies. Numerous evaluations have shown its ability to provide performance equal to today’s digital cellular systems at under half the data rate. The AMBE voice compression algorithm is used in applications throughout the world, including the next generation of digital mobile communication systems. The AMBE-2000™ Vocoder chip provides a high degree of flexibility in selecting the speech and FEC (Forward Error Correction) data rates. The user can separately select these parameters in 50 bps increments for total rates from 2.4 kbps to 9.6 kbps. Typically for higher error rate channels, the user will apportion a greater percentage of the total bit rate to FEC coding. The AMBE-2000™ voice coder maintains natural voice quality and speech intelligibility at rates as low as 2.4 kbits/sec. The AMBE algorithm’s low complexity allows it to be fully integrated into a low cost, low power integrated circuit, the AMBE2000™ Vocoder Chip. The AMBE-2000™ Vocoder Chip offers similar features as to DVSI’s AMBE-1000™ Vocoder Chip allowing it to be incorporated into systems already design for the AMBE-1000™ and is interoperable with other DVSI products. The AMBE2000™ Vocoder Chip delivers improved performance and enhanced modes such as 4.0 kbps toll quality speech and convolutional FEC coding. Along with these enhancements the AMBE-2000™ Vocoder Chip employs a control interface along with the variable data rates and FEC selection as found in . 1.2 Advantages • Superior Voice Quality • Low Cost • No External Memory Required • Robust to Bit Errors & Background Noise • Variable Data Rates - 2.0 kbps to 9.6 kbps • Variable FEC Rates - 50 bps to 7.2 kbps • Very Low Power (65mW @ 3.3V, 0.11mW Deep Sleep) • Compact Single Chip Solution: 100 pin TQFP • High Quality Low Data Rate Speech Coding • DVSI’s Full Duplex AMBE Voice Coder • Supports Data Rates of 2.0 kbps to 9.6 kbps in 50 bps increments • User Selectable Forward Error Correction rates • Viterbi Decoder (rate 1/4 or more) • 16 Level Soft Decision Decoding • Voice Activity Detection (VAD) / Comfort Noise Insertion • 16 ms. Echo Cancellation • Single and Dual Tone (DTMF) Detection and Generation Features page 6 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 • Power-Down Mode • Minimal algorithmic processing delay • DTMF detection and regeneration with North American call progress tones 1.3 Typical Applications • Satellite Communications • Digital Mobile Radio • Secure Communications • Cellular Telephony and PCS • Voice Multiplexing • Voice Mail • Multimedia Applications page 7 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 2 AMBE™-2000 Application Design Overview 2.1 Basic Operation In its simplest model, the AMBE-2000™ can be viewed as two separate components, the Encoder and the Decoder. The Encoder receives an 8kHz. sampled stream of speech data (16-bit linear, 8-bit Alaw, or 8-bit ulaw) and outputs a stream of channel data at the desired rate. Conversely the Decoder receives a stream of channel data and synthesizes a stream of speech data. The timing for the interfaces for the AMBE-2000™ Encoder and Decoder are fully asynchronous. Figure 2-A Basic Operation AMBE-2000 AMBE-2000 8kHz Speech Data Encoder Compressed Data @ 2400-9600bps Decoder 8kHz Speech Data 8kHz Speech Data Decoder Compressed Data @ 2400-9600bps Encoder 8kHz Speech Data Typically the speech interface is an external A/D-D/A chip. The format of the incoming and outgoing speech data streams are coupled, that is to say they must be the same format (16-bit linear, 8-bit Alaw, or 8-bit µlaw). The channel interface is commonly (but not limited to) an 8 or 16 bit microprocessor or other suitable ‘glue logic’ hardware capable of performing the rudimentary formatting functions between the AMBE-2000™ channel format and the format of the system channel under design. Optional functions of the chip, such as echo cancellation, voice activation/detection, power mode control, data/FEC rate selection, etc. are controlled either through hardware control pins (see Section 0) and/or through the decoder command interface (see Section 4) Data sent into the decoder for function control purposes is distinguished from the data to be decoded into speech through a channel format which is described in Section 4. 2.2 Initial Design Considerations Some of the initial design considerations the application engineer will face are the following: 2.2.1 • Choice of A/D-D/A chip. • Choice of Channel Interface. • Speech and FEC Rates. A/D – D/A Overview The choice of the A/D-D/A chip is critical to designing a system with superior voice quality. Given that Alaw and µlaw companding chips are already incorporating some compression to reduce the number of bits per sample, it is recommended that, when possible, a 16-bit linear device be used for maximum voice quality. When choosing a device, pay particular attention to Signal to Noise ratios and Frequency Responses of any filters that may be present on the analog front end of these chips. The Alaw and µlaw interfaces are also provided for the design engineer who is trying to fit to pre-existing conditions or is under other cost type restraints. page 8 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 2.2.2 Channel Interface Overview The channel interface is meant to be flexible to allow for easy integration with the system under design. The basic hardware unit of the interface is a serial port. The serial mode can run in passive or active modes. Simply stated, the control signal for serial mode can be derived by the AMBE-2000™ chip or they can be derived externally. Under normal operation, every 20msec the encoder outputs a frame of coded bits, and the decoder needs to be delivered a frame of coded bits. There is some formatting of the data for both the encoder and the decoder. The primary purpose of the formatting is to provide alignment information for the encoded bit stream. The data has two formats, Formatted and Unformatted. Serial mode can run in either Formatted or Unformatted mode. The Formatted and Unformatted modes are explained in full detail in Section 4, but essentially the two formats are trying to achieve the same function, to provide positional information regarding the outgoing and incoming coded data streams. In Formatted mode each 20msecs of output data from the encoder is preceded by a known structure. This structure also embeds some status type flags, meant for local control purposes, within it. The only data from the Formatted format that is typically sent across the transmission channel under design are the actual encoded bits at the desired rate. In Formatted mode, it is the responsibility of the designed system to pass enough information along with the encoded bits such that the Formatted format needed by the decoder can be reconstructed on the other side. This extra information, or overhead, is going to be very specific to the system under design, but at a minimum needs to pass enough information to reliably reconstruct the 20msec frame structure at the other end for the decoder. In Unformatted mode the data coming out of the encoder can be thought of as a continuous stream of voice data with the framing information embedded within the encoded bits. One advantage of this type of set-up is that the system does not have to add any bandwidth for overhead to the channel. The disadvantage is that the decoder needs 10-12 incoming frames in order to gain synchronization with the data stream before it can properly synthesize the speech waveform. Also, the Unformatted mode only commits a single bit per frame to maintaining data alignment. In higher error rate channels the performance will be improved by adding more bits per frame to the alignment information (which is more easily performed when using Formatted mode) Additional flexibility is given to the channel interface to the encoder and decoder by allowing the AMBE-2000™ Vocoder Chip to run in Passive or Active modes. In Passive mode, data strobes are provided by an external source, while in Active mode, data strobes are provided by the AMBE-2000™ Vocoder Chip. The serial interfaces can be run in Passive or Active modes. See Section 4 for full details and timing for both Formatted and Unformatted data. 2.2.3 Speech and FEC Rate Selection Overview The total coded bit rate is the sum of two components, the Speech Data and the Forward Error Correction (FEC) Data. The addition of FEC data to the speech data allows the decoder to be able to correct a limited amount of errors within each frame should they arrive corrupted. If the channel is expected to have more errors then more bits should be dedicated to FEC. At the same time, voice quality will increase if the number of speech bits can be maximized. page 9 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 3 Hardware Information 3.1 Special Handling Instructions The AMBE-2000 uses the TM320-LC541-66 core. For more details on handeling, electrical characteristics, packaging, or timing constraints please refer to the TMS320-C54x manual found at http://www-s.ti.com/sc/psheets/sprs039c/sprs039c.pdf (Adobe Acrobat). Although the AMBE-2000™ Vocoder Chip incorporates input protection circuitry, to avoid damage from the accumulation of a static charge, industry standard electrostatic discharge precautions and procedures must be employed during handling and mounting. The 100 pin TQFP package design of the AMBE-2000™ Vocoder Chip allows it to be mounted by infrared reflow, vaporphase reflow or equivalent processes. The peak package body temperature must not exceed 220°C. The AMBE-2000™ Vocoder Chip requires baking before mounting, if any of the following conditions exist: • Humidity indicator card (included in packaging) shows exposure to > 20 % when read at 23°C + 5°C • Devices were not shipped in a package designated as “moisture controlled.” • Not mounted within 168 hours of receipt, at factory conditions of <30°C and <60% RH • If the device has not been stored at < 20% RH DVSI’s recommended bake out procedures: • For low-temperature device containers: 192 hours at 40°C + 5°C / -0°C and < 5% Relative Humidity • For high-temperature device containers : 24 hours at 125°C + 5°C. 3.1.1 Storage To insure maximum shelf life in long term storage, AMBE-2000™ Vocoder Chips should be kept in a moisture controlled package at <40°C and <90% Relative Humidity page 10 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 3.2 Pin Descriptions Pin Number Pin Descriptive Name Pin Direction Notes 77 CHANN_SEL1 Input Channel Interface Selection Pins : Use these bits to select the channel interface type (formatted,unformatted active, passive) according to Table 4-A. See full description in section 4.2. 75 CHANN_SEL0 Input Used with CH_SEL1 to select channel operation mode 85 CODEC_SEL1 Input 84 CODEC_SEL0 Input 74 RATE_SEL4 Input 73 RATE_SEL3 Input 72 RATE_SEL2 Input 71 RATE_SEL1 Input 70 RATE_SEL0 Input 86 VAD_EN Input Voice Activation Detection Enable Pin. Active HIGH. See Section 7.4. VAD can also be enabled/disabled using the Control Word interface as described in section 5.2.9. 78 ECHOCAN_EN Input Echo Canceller Enable Pin. Active HIGH. See Section 7.3. The Echo Canceller can also be enabled/disabled using the Control Word interface as described in section 5.2.9. 83 SLEEP_EN Input Standard Sleep Enable Pin. Active HIGH. See Section 7.6.1. 82 SLIP_EN Input Slip Control Enable Pin. Active HIGH. See Section 7.7. 68 X2/CLKIN Input Clock Input 1. 16.384 Mhz input. See Section 3.4 67 X1 Input Output from internal oscillator for the crystal. If the internal oscillator is not used this pin should be unconnected. 69 RESETN Input AMBE-2000 Reset pin. Active LOW. See Section 3.3 20 EPR Output 79 SOFT_EN Input 80 BAUD_SEL0 Input 81 BAUD_SEL1 Input 32 CHAN_RX_DATA Input 42 CHAN_TX_DATA Output 28 CHAN_RX_CLK Input Channel Receive Clock 34 CHAN_TX_CLK Input Channel Transmit Clock 38 CHAN_TX_STRB I/O Channel Transmit Frame Synchronization Pulse 30 CHAN_RX_STRB Input Channel Receive Frame Synchronization Pulse 29 CODEC_RX_STRB Input Frame synchronization pulse for A/D data. Should be connected to CODEC_TX_STRB 37 CODEC_TX_STRB Input Frame synchronization pulse for D/A data. Should be connected to CODEC_RX_STRB 31 CODEC_RX_DATA Input PCM Data from A/D Conveter to AMBE-2000 A/D-D/A Select Pins see Table 6-A to select the interface. Coding Rate Select Pins : Use these bits to select the voice and FEC rates according to section 7.2. The coding rates are also selectable using the Control Word interface described in section 5.2.4. Encode Packet Ready: Following a reset, this signal will have a high to low transition to indicate the first packet is ready. The next packet will be ready approximately 20 msec later. See Note 1. Soft decision decoding enable. Enables 4 bit soft decision error decoder. Baud Rate Selector for unformatted serial mode See Table TBDL Channel Receive Data to AMBE-2000 Channel Transmit Data from AMBE-2000 page 11 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Pin Number Pin Descriptive Name Pin Direction Output Notes 41 CODEC_TX_DATA PCM Data from AMBE-2000 to D/A Conveter 27 CODEC_RX_CLK Input A/D Serial clock. Should be connected to CODEC_TX_CLK 33 CODEC_TX_CLK Input D/A Serial clock Should be connected to CODEC_RX_CLK 51 CLOCK_MODE Input If high enables crystal oscillator option for clock source. If low then external oscillator option is selected. See Section 3.4 for details. 8,11,12,23 36,39,44,45 46, 47,48 49,54,57,64 76,87,90 VDD Power Supply Voltage 1,9,10,25,26 35,40,50,52 53,56,63,65 88,89 GND Power Ground 2,3,4,5,6,7, 13,14,15,16 17,18,19,21 22,24,43,55 58,59,60,61 62,66,91,92 93,94,95,96 97,98,99 100 No Connection These pins must remain unconnected Note 1:The AMBE-2000 expects an encoder packet to be read approximately every 20 msec. Following the initial reset, wait for EPR to go low and read the initial packet (t0). 20 msec later, the next packet (t1) should be ready. For packet t1 and all following packets use the procedure below: 1) Wait for slightly less than 20 msec. 2) Assert CHAN_TX_STB and read word on CHAN_TX_DATA. 3) If transmitted word not 0x13EC, discard it and repeat step 2. 4) If transmitted word 0x13EC, read 23 more words (rest of packet). A new packet should be ready every 20 msec after the initial EPR high to low transition. A packet read should take place every 20 msec. If there is a delay in the read (i.e. a packet is missed), it is recommended that the device be reset. page 12 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 3.3 Clock and Reset Timing To reset the AMBE-2000 chip, the reset signal must be held low for a minimum of six clock cycles. The recovery time from reset is approximately 95 msec. In other words, 95 msec after the rising edge of the reset signal the AMBE-2000 starts processing PCM samples. The first packet will be ready after 252 PCM samples are read. Figure 3-A X2/CLKIN and CLKOUT Timing Diagram tw(CIH) tw(CIL) tf(CI) tr(CI) tc(CI) ~ ~ ~ ~ X2/CLKIN td(CIH-CO) tw(COH) ~ ~ ~ ~ ~ ~ CLKOUT tc(CO) tp tf(CO) tr(CO) tw(COL) Unstable Table 3-A X2/CLKIN and CLKOUT Timing Parameters Reference tc(CI) • • Parameter Cycle time, Integer PLL multiplier N (N=4) X2/CLKIN Fall time, X2/CLKIN Rise time, X2/CLKIN Pulse duration, X2/CLKIN low Pulse duration, X2/CLKIN high Transitory phase, PLL lock-up time Min Max Units 20 400 ns 4 4 16 ns ns ns ns µs ns ns H H ns ns tf(CL) tr(CL) 6 tw(CIL) 6 tw(CIH) tp 15 tc(CO) Cycle time, CLKOUT (typical is tc(CI)/4 Delay time, X2/CLKIN high/low to CLKOUT high/low 4 td(CIH-CO) tf(CO)/tr(CO) Fall/Rise time, CLKOUT (typical is 2 ns) Pulse duration, CLKOUT low H-4 Tw(COL) Pulse duration, CLKOUT high H-4 Tw(COH) CLKOUT is shown for reference only. It is not to be connected in the circuit. H = 7.629 ns page 13 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change 50 AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 X2/CLKIN ~ tsu(RS) tw(RSL) RESETN ~ tsu(INT) th(RS) CLKOUT ~ Figure 3-B Hardware Reset Timing Diagram Table 3-B Reset Timing Parameters Reference th(RS) tw(RSL) tsu(RS) tsu(INT) • 3.4 Parameter Hold time, RS after CLKOUT low Pulse duration, RS low Setup time, RS before X2/CLKIN low Setup time, INTn, NMI, RS before CLKOUT low Min 0 50 5 10 Max Units ns µs ns ns CLKOUT is shown for reference only. It should not be connected in the circuit. Crystal / Oscillator Usage The AMBE-2000™ Vocoder Chip has an input clock frequency of 16.384 MHz. Two options are outlined below in providing this signal. The option used is specified by the CLOCK_MODE pin 51. The following points should be noted when designing any printed circuit board layout: • Keep the crystal and external capacitors as close to the CLK_I and CLK_I2 pins as possible to minimize board stray capacitance. • Keep X2/CLKIN and X1 away from high frequency digital traces (example CLKOUT) to avoid coupling. 3.4.1 TTL Clock Source If CLOCK_MODE pin is low then a TTL/CMOS source is used as the clock input. Connect X2/CLKIN and X1 as follows: page 14 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Figure 3-C X2/CLKIN and X1 with TTL Clock Source 16.384 MHz TTL/CMOS Clock Source X2/CLKIN (pin 68) AMBE-2000 Unconnected X1 (pin 67) 3.4.2 Crystal Oscillator The Crystal Oscillator option is selected with CLOCK_MODE pin set to a high level. To use the crystal oscillator, connect the crystal across X2/CLKIN and X1 along with one external capacitor from each of these pins to ground. Recommended values for C1 and C2 is 10 pF. Figure 3-D X2/CLKIN and X1 with Crystal Oscillator C1 = 10 pF X2/CLKIN (pin 68) 16.384 MHz AMBE-2000 X1 (pin 67) C2 = 10 pF page 15 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 3.5 Package Description 100 pin TQFP (Thin Quad Flat Pack) All Dimensions are in millimeters Figure 3-E Package Dimensions 16.20 / 15.80 SQ 14.20 / 13.80 SQ 12.00 TYP 75 51 76 50 100 26 25 1.40/1.60 mm 1 o 12 All Around 0.5 mm Detail 0.17 / 0.27 Gage Plane 0.13NOM 1.35 /1.45 1.60 MAX 0.05 0.25 0 - 7 MAX 0.45 / 0.75 Not Drawn to Scale page 16 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 3.6 Normal Operating Conditions Table 3-C Normal Operating Conditions Normal Operating Conditions 3.7 Operating Voltage 3.3V Operating Case Temperature Range -40°C to 100°C Storage Temperature Range -55°C to 150°C Absolute Maximum Ratings Stresses in excess of the Absolute Maximum Ratings can cause permanent damage to the device. These are absolute stress ratings only. Functional operation of the device is not implied at these or any other conditions in excess of those given in the operational sections of the data sheet. Exposure to Absolute Maximum Ratings for extended periods can aversely affect device reliability. Table 3-D Absolute Maximum Ratings Absolute Maximum Ratings Voltage Range on any Pin with Respect to Ground 3.8 -0.3V to 4.6V Electrical Characteristics and Requirements Table 3-E Recommended Operating Conditions Parameter Min Nom Max Unit DVDD Device Supply Voltage 3 3.3 3.6 V VSS Supply Voltage, GND - 0 - V VIH High-level input voltage, I/O 2.5 - DVDD + 0.3 V VIL Low-level input voltage -0.3 - 0.8 V IOH High-level output current - - -300 µA IOL Low-level output current - - 1.5 mA page 17 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 3-F Electrical Characteristics over Recommended Operating Case Temperature Range (Unless Otherwise Noted) Parameter Test Conditions VOH High-level output voltage‡ VDD = 3.3 ±V, IOH = MAX VOL Low-level output voltage‡ IOL = MAX II Input current in high impedance (VI = VSS to VDD) VDD = MAX, VI = VSS to VDD MIN TYP† MAX 2.4 Unit V -10 0.4 V 10 µA CI Input capacitance 10 pF CO Output capacitance 10 pF † All values are typical unless otherwise specified. page 18 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 4 4.1 Channel Interface Overview The Channel Interface is the general term used for the interface for the compressed bits coming from the encoder and the compressed bits going to the decoder. This same interface is also used to output status information from the encoder and decoder such as whether a DTMF tone has just been detected in the speech input, or whether the decoder has detected and synthesized a frame of silence. Additionally, this interface is used to perform more complex control operations on both the encoder and decoder (usually at start-up). These control functions include speech data and FEC rate control as well as enabling features such as echo cancellation. It is important to realize that not all data being output from the AMBE-2000 is intended for transmission over the channel. Status type of data is typically only useful at the ‘local’ end. In most voice transmission systems, the actual encoded bits are extracted from the channel formatting, combined into the systems transmission stream, sent over the transmission path, extracted from the transmission path at the receiving end, and reassembled into the AMBE-2000’s channel format for synthesis by the decoder. Figure 4-A Channel Interface Overview Typical Voice Frame Output From Encoder Overhead Data Voice Data (48 to 192 bits) (Header, Status) Transmission Channel System extracts relevant Voice Data bits and formats them for transmission over Channel System Overhead Voice Data (48 to 192 bits) System extracts relevant Voice Data bits and formats them for Input into the Decoder adding Header and Control Information Typical Voice Frame Input to the Decoder Overhead Data Voice Data (48 to 192 bits) (Header, Control) 4.2 Serial Configuration Selection The hardware interface to the Channel Interface is configured as a serial interface based exclusively on the hardware settings of CHANN_SEL[1-0]. See Table 4-A. page 19 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 4-A Channel Interface Selection Table Port Type CH_SEL1 (pin 77) CH_SEL0 (pin 75) Interface Select Pins Active Formatted 0 0 Active Unformatted 0 1 Passive Formatted 1 0 Passive Unformatted 1 1 Table 4-B Unformatted Bit per Word Selection Table BAUD_SEL0 (pin 80) Number of Voice Data Bits per Word BAUD_SEL1 (pin 81) Interface Select Pins 1 0 0 2 0 1 3 1 0 4 1 1 All transfers occur through a serial port. The serial port inputs and outputs a 16 bit word for every write and read strobe signal respectively. Serial mode can be formatted or unformatted. Within the unformatted mode, the data is input and output in 16 bits words still but with only 1 to 4 voice data bits carried within each word. These four configurations can be seen in Table 4-B. See section 4.3 for all the details on the serial interface. page 20 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 4.3 Channel Serial Mode The signals in Table 4-C make up the serial channel interface. The serial channel mode transfers data in and out of the AMBE2000™ using 16 bit words on the two data lines CHAN_RX_DATA and CHAN_TX_DATA. The selection of the formatted or unformatted format of this data is made using information in Table 4-A. Table 4-C Channel Serial Interface Pin Descriptions Pin Symbol Pin Direction Pin Number Description EPR Out 20 Encoder Packet Ready: Following a reset, this output signal will have a high to low transition to indicate that the encoder has a frame of data to output. The next packet will be ready approximately 20 msec later. See Note 1. CHAN_RX_DATA In 32 Serial Data Input: 16 bits of channel data are input on CHAN_RX_DATA, synchronous to CHAN_RX_CLK, with each CHAN_RX_STRB pulse. CHAN_RX_CLK In 28 Serial Input Clock: In coordination with CHAN_RX_STRB, CHAN_RX_DATA is latched by the AMBE-2000™ on the falling edges of CHAN_RX_CLK. CHAN_RX_STRB In 30 Input (Write) Data Strobe: This signal indicates to the AMBE-2000™ when the data on CHAN_RX_DATA will be latched by CHAN_RX_CLK. See Figure 4-B. CHAN_TX_DATA Out 42 Serial Data Output: 16 bits CHAN_TX_DATA, synchronous CHAN_TX_STRB pulse. CHAN_TX_CLK In 34 Serial Output Clock: In coordination with CHAN_TX_STRB, the data on CHAN_TX_DATA is output by the AMBE-2000™ on the falling edges of CHAN_TX_CLK. CHAN_TX_STRB Active Output/ Passive Input 38 Output (Read) Data Strobe: This signal indicates to the AMBE-2000™ when to bring the data to the CHAN_TX_DATA pin. See Figure 4-B. of to channel data are output on CHAN_TX_CLK, with each Note 1:The AMBE-2000 expects an encoder packet to be read approximately every 20 msec. Following the initial reset, wait for EPR to go low and read the initial packet (t0). 20 msec later, the next packet (t1) should be ready. For packet t1 and all following packets use the procedure below: 1) Wait for slightly less than 20 msec. 2) Assert CHAN_TX_STB and read word on CHAN_TX_DATA. 3) If transmitted word not 0x13EC, discard it and repeat step 2. 4) If transmitted word 0x13EC, read 23 more words (rest of packet). A new packet should be ready every 20 msec after the initial EPR high to low transition. A packet read should take place every 20 msec. If there is a delay in the read (i.e. a packet is missed), it is recommended that the device be reset. page 21 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 4.3.1 Low Level Timing for Passive and Active Serial Mode Figure 4-B Low Level Timing for Passive and Active Serial Mode tc(SCK) tf(SCK) ~ tw(SCK) CHAN_RX_CLK th(FSR) tsu(FSR) tw(SCK) tr(SCK) tsu(DR) ~ CHAN_RX_STRB CHAN_RX_DATA MSB 1 ~ ~ th(DR) 2 LSB 8/16 7/15 tc(SCK) tf(SCK) ~ tw(SCK) CHAN_TX_CLK td(FSX) th(FSX) th(FSX)H td(DX) tdis(DX) ~ CHAN_TX_STRB tr(SCK) tw(SCK) CHAN_TX_DATA MSB 1 2 ~ ~ th(DX) 7/15 LSB 8/16 Table 4-D Switching Characteristics Over Recommended Operating Conditions for Serial Port Receive Reference th(FSR) th(DR) Parameter Hold time, FSR after CLKR falling edge 3.3 Volts Min Max 6 Hold time, DR after CLKR falling edge 6 page 22 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change Units ns ns AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 4-E Switching Characteristics Over Recommended Operating Conditions for Serial Port Receive Reference td(SCK) tc(SCK) tf(SCK) tr(SCK) tw(SCK) tsu(FSR) tsu(DR) td(FSX) td(DX) th(FSX) th(FSX)H tdis(DX) th(DX) 3.3 Volts Min Max Parameter Delay time, DX valid after CLKX rising (Passive Mode) Cycle time, serial port clock 25 6H Units ns ns Fall time, serial port clock 6 Rise time, serial port clock 6 ns ns Pulse duration, serial port clock low/ high 3H ns Setup time, FSR before CLKR falling edge 6 ns Setup time, DR before CLKR falling edge 6 Delay time, CLKX rising to FSX Delay time, CLKX rising to DX (Active Mode) Hold time, FSX after CLKX falling edge ns 15 ns 6 Hold time, FSX after CLKX rising edge Disable time, CLKX rising to DX Hold time, DX valid after CLKX rising edge ns 15 ns 2H-5 ns 20 ns -5 ns • Note: H = 7.629 ns; however, do not operate serial clocks any faster than 2.048 MHz. Thus tc(SCK) should be a minimum of 488.3 nsec. page 23 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change 5 Channel Data Format The channel interface is responsible for outputting the compressed data from the encoder and inputting compressed data to the decoder. In addition to these most basic functions the channel interface is also capable of reporting certain events, such as the detection of a DTMF tone. The channel interface can also control certain selectable functions of the AMBE-2000™, such as the voice coding rate. This chapter will describe how the AMBE-2000™ uses the channel interface to multiplex these capabilities. There are two formats to the data, Formatted and Unformatted, both of which operate in serial mode. Generally speaking the Unformatted mode is used only when the connection between the AMBE-2000™ and the channel under design is relatively direct, and the designer wants to simplify the extraction of the relevant voice data. In this mode configuration is accomplished using hardwired pins. In most cases, when a controller is present between the AMBE-2000™ and the channel, the system designer will find that using the Formatted format is more flexible. 5.1 Formatted Format The Formatted format is a 24 by sixteen-bit word format for a total of 48 bytes or 384 bits. Every 20 milliseconds the encoder outputs 24 sixteen-bit words, and likewise the decoder expects to receive 24 words. The format of the input and output frames are detailed below. The first 12 sixteen bit words are made up of header, ID and status or control information. The remaining 12 sixteen bit words make up the encoded data bit field. These 12 words, or 192 bits, will be fully populated with relevant voice data only when the AMBE-2000 is operating in a 9600bps mode (9600 bits/sec ÷ 50 frames/sec = 192 bits/frame). Otherwise, when the data rate is less than 9600bps, the coded voice bits are filled starting from the MSB of the first word in the field, leaving any unused bits as zeros. It is important to note here that even when the AMBE-2000 is operating at less than 9600bps, all 384 bits of the Formatted format (including any unused trailing zeros) must be transferred out of the encoder and into the decoder. 5.2 Formatted Input Format The format of the Formatted input is shown in Figure 5-A. Keep in mind that even though the channel data in this Formatted input format is closely associated with the decoder, the control information will apply to both encoder and decoder functions. AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 (12) 16 bit words of overhead (192 bits) (12) 16 bit words of data (192 bits) 24 sixteen-bit words = 48 bytes = 384 bits 20 ms frame Figure 5-A Basic Formatted Input Format Word # Description 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Header always set to 0x13EC Power Control (8bits) Control Word 1 (8 bits) – see Table 5-B Rate info 0 Rate info 1 See Tables 5-C and 5-D Rate info 2 Rate info 3 Rate info 4 Unused in Input Unused in Input Unused in Input DTMF Control – see Tables 5-E and 5-F Control Word 2 – see Table 5-G Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data 5.2.1 Formatted Input : Word 0 : Header The decoder uses the header information to synchronize with the beginning of each 20 millisecond frame. this 16 bit word MUST be 0x13EC. 5.2.2 Formatted Input : Word 1 : Power Control Set the encoder to 0x00 in the 8-bit Power Control field of an output frame for normal use. For Power Down Mode, set this value to 0x55. This causes the AMBE-2000 to enter low power mode. To exit low power mode, the device must be reset through the hardware. Table 5-A Formatted Input : ID Values Summary ID Type Description 0x00 Voice Data 0x55 Low Power Mode This ID value instructs AMBE-2000™ to operate in normal fashion When this mode is activated the AMBE-2000™ Vocoder Chip will go into a mode which conserves power, where no voice packets are being processed. page 25 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 5.2.3 Formatted Input : Word 1 : Control Word 1 Use the 8-bit control word to set various functions. Table 5-B Control Word 1 Format 7: MSB Lost Frame Indicator 6 Unused Control Word 1 – 8-bits (See Table 1-F) 5 4 3 2 Unused Unused Unused Unused 1 0 : LSB CNI Unused Lost Frame Indicator : Setting the Lost Frame Indicator bit to a 1 will cause the AMBE-2000™ decoder to construct the voice frame using the parameters from the previous frame. This is an effective way to mask the effects of short periods of data loss. This bit should be set by the user when channel data is lost or corrupted. It works by replacing the frame of corrupted data with the previous, intact, frame. Comfort Noise Insertion (CNI) : Setting the CNI bit will cause the decoder to output a frame of comfort noise. This bit is used with systems that are capable of discontinuous transmission (DTX). 5.2.4 Formatted Input : Words 2-6 : Rate Info 0, Rate Info 1, Rate Info 2, Rate Info 3, Rate Info 4 The initial rate of the AMBE-2000 is set through the hardware pins RATE_SEL[4-0] (see Section 7.2 and Tables 7-A and 7-B) after resetting the device. The coding rate can then be modified for both the encoder and the decoder through the Unformatted channel interface. The Rate Selector control field (describe in section) determines where to apply the rate change. The AMBE-2000 used these five words to set the source and FEC coding rates. Tables 5-C and 5-D list predefined value for various source and FEC rates. The software configurations in Table 4-C are compatible for use with the AMBE-1000™. If compatibility is not an issue, use the software codes in Table 4-D to select speech and FEC rates to optimize use of the AMBE2000™. Table 5-C Rate Selection Using Rate Info 0-4, compatible w/ AMBE-1000™ Rate Info 0 Rate Info 1 Rate Info 2 Rate Info 3 Rate Info 4 0x9030 0x902f 0x9348 0x9243 0xab50 0x934b 0xab60 0xab5b 0x9348 0x923e 0xab53 0xab58 0xbf9b 0xab5d 0xbfc0 0xab16 0x0000 0x0000 0x0000 0x0080 0x0000 0x0080 0x0000 0x0080 0x2030 0x2800 0x2c00 0x3000 0x0080 0x3400 0x0000 0xe400 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x4330 0x6930 0x6f48 0x5348 0x3950 0x3950 0x7960 0x6860 0x7060 0x7460 0x5680 0x4490 0x49a0 0x31a0 0x72c0 0x67c0 Speech Rate (bps) 2400 2350 3600 3350 4000 3750 4800 4550 3600 3100 4150 4400 7750 4650 9600 4850 page 26 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change FEC Rate (bps) 0 50 0 250 0 250 0 250 1200 1700 2250 2800 250 3350 0 4750 Total Rate (bps) 2400 3600 4000 4800 6400 7200 8000 9600 AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 5-D Rate Selection Using Rate Info 0-4, AMBE-2000™ only Rate Info 0 Rate Info 1 Rate Info 2 Rate Info 3 Rate Info 4 Speech Rate (bps) FEC Rate (bps) Total Rate (bps) 0x0028 0x5048 0x5250 0x1030 0x5360 0x5250 0x5048 0x1030 0x6b80 0x5250 0x5258 0x7fa0 0x5250 0x7fc0 0x5048 0x1030 0x0000 0x0000 0x0000 0x0001 0x0000 0x2010 0x0001 0x0005 0x0000 0x0001 0x0009 0x0000 0x0005 0x0000 0x000e 0x000e 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x180c 0x0000 0x0000 0x1e0c 0x0000 0x2010 0x0000 0x4010 0x681a 0x0000 0x0000 0x0000 0x341a 0x0000 0x0000 0x2412 0x3018 0x0000 0x542a 0x4127 0x0000 0x6834 0x0000 0x6a2e 0x511b 0x6428 0x3948 0x4150 0x6750 0x6c60 0x7460 0x6860 0x7360 0x6c80 0x5280 0x7390 0x52a0 0x72a0 0x69c0 0x65c0 0x76c0 2000 3600 4000 2400 4800 4000 3600 2400 6400 4000 4400 8000 4000 9600 3600 2400 0 0 0 1600 0 800 1200 2400 0 2400 2800 0 4000 0 6000 7200 2000 3600 4000 4800 6400 7200 8000 9600 5.2.5 Formatted Input : Word 7 : Unused in Input Should be set to 0x0000 5.2.6 Formatted Input : Word 8 : Unused in Input Should be set to 0x0000 5.2.7 Formatted Input : Word 9 : Unused in Input Should be set to 0x0000 5.2.8 Formatted Input : Word 10 :DTMF Control Use this word to set DTMF tones. See Table 5-F for a list of tones and their corresponding values. Table 5-E DTMF Control Format DTMF Control – 16-bits 15: MSB 14 13 12 11 10 9 8 7 DTMF Amplitude 6 5 4 3 2 DTMF Digit Detect/ Generate page 27 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change 1 0: LSB AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 5-F DTMF Codes for Digit Detect/ Generate DTMF Code 0x80 0x84 0x88 0x81 0x85 0x89 0x82 0x86 0x8A 0x87 0x83 0x8B 0x8C 0x8D 0x8E 0x8F 0xff DTMF Digit 1 2 3 4 5 6 7 8 9 0 * # A B C D deactivate To deactivate the Digit Detect/Genetrate function, set the DTMF Code to 0xff. Dial, ring, and busy tones are standard North American call progress tones. DTMF Amplitude The DTMF Amplitude runs from 3 to –60 dBm0. This value is a signed bite (example: 0x03 = 3, 0x00 = 0, 0xC4 = -60). 5.2.9 Formatted Input : Word 11 Control Word 2 Table 5-G Control Word 2 Format Control_Word 2 – 16-bits (See Table 1-F) Bit 15 14 13 12 11 10 Decoder Output Volume Control 9 8 7 6 Unused Unused 0 0 5 4 3 2 VAD Unused 0 SL EC Rate Information Selector (RIS) : Use these 2 bits to select which part(s) of the vocoder will be affected by the rate selection words. Table 5-H Rate Information Selection Codes value 0x0 0x1 0x2 0x3 Area Controlled Encoder and Decoder Encoder only Decoder only Neither Encoder nor Decoder page 28 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change 1 0 RIS AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Echo Canceller (EC) : Set this bit to 1 to enable the echo cancel function on a frame by frame basis. This must be set to 1 in every packet sent to continue use. Sleep (SL) : Set this bit to 1 to enter Sleep mode on a frame by frame basis. Sleep is a low power mode, not to be confused with Power Down Mode. The sleep function must be enabled in every packet to continue in sleep mode. Set this bit to 0 to exit Sleep mode. VAD : In order to set the Voice Activity Detector on, set the VAD bit to 1. To disable Voice Activity Detection, set the VAD bit to 0. 5.2.10 Formatted Input : Words 12-23 : Channel Data This is the field that contains the actual coded bits. Input of the data begins with the MSB of the first word in this field and continues through with the final bit output being the LSB of the final word. If the data rate selected is less than 9600bps then the unused bits in each frame are zero and populate the end of the field. As is noted in the Channel Interface definitions, these unused bits must still be clocked out of the AMBE-2000™. The packet must always consist of 24 words. 5.3 Formatted Output Format The format for Formatted output data is shown in Figure 5-B. It is only the bits in the Voice Data Bits field, which are transmitted along with framing information (data used to locate the start of each frame for proper reconstruction at the decoder) over the channel. The first 192 bits provide overhead information, which is sometimes useful to the host but is generally not transmitted over the channel. (12) 16 bit words of overhead (192 bits) (12) 16 bit words of data (192 bits) 24 sixteen-bit words = 48 bytes = 384 bits 20 ms frame Figure 5-B Basic Formatted Output Format Word # Description 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Header always set to 0x13ec Power Control (8bits) Control Word 1 (8 bits) – see Table 5-J Rate info 0 Rate info 1 Rate info 2 Rate info 3 Rate info 4 Bit Error Rate Unused Unused DTMF Control – see Table 5-L Control Word 2 – see Table 5-N Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data Channel Data page 29 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 5.3.1 Formatted Output : Word 0 : Header The header is a 16 bit word that begins each valid frame corresponding to 20 milliseconds of speech. This field will always be 0x13EC. 5.3.2 Formatted Output : Word 1 : ID (Power Control) The encoder will always use 0x00 in the 8-bit field of an output frame. 5.3.3 Formatted Output : Word 1 :Control Word 1 This 8-bit control word indicates the activity of various functions. Table 5-J Control Word 1 Format 7: MSB Unused 6 Unused Control Word 1 – 8-bits (See Table 1-A) 5 4 3 2 Decoder Decoder Frame Silence Unused Unused Repeat Detect 1 Encoder Silence Detect 0 : LSB Encoder DTMF Detect Decoder Frame Repeat: When the Decoder Frame Repeat flag is set to 1, the decoder is reporting that the last frame decoded was a repeat of the previous frame. Decoder Silence Detect: When the Decoder Silence Detect flag is set to 1, the decoder is reporting that the last frame decoded was a comfort noise frame. Encoder DTMF Detect: The Encoder DTMF Detected Flag will be set to a 1 when the encoder detects a DTMF tone. The DTMF Detect option is controlled by the DTMF Detect/Generate bits in control Word 10 described in section 5.2.8 enable the DTMF Detect option. Silence Detect: The Encoder Silence Detected Flag will be set to 1 when no voice activity is detected. The Silence Detect option is controlled by and can be disabled by the VAD as described in section 5.2.9. 5.3.4 Formatted Output : Words 2-6 : Rate Info 0, Rate Info 1, Rate Info 2, Rate Info 3, Rate Info 4. Words 2-6 in the packet indicate the rate at which the AMBE-2000™ encoder is operating . These words are output. See tables 5-C and 5-D for corresponding values. 5.3.5 Formatted Output: Word 7 : Bit Error Rate This status field is used for the decoder to report bit error information. The 16 bit number output is used to compute the BER using the following calculation % BER = (Word 7) / (32768) 5.3.6 Formatted Output : Word 10 : DTMF Control This word corresponds to the DTMF Detection capabilities of the vocoder. It uniquely identifies specific tones recognized by the encoder. See table 5-J for a list of tones and their corresponding values. page 30 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 5-K DTMF Tone Detection Parameters DTMF Tone Detection Requirement Value Minimum Input Level -25 dBm0 An input signal shall not be rejected as a DTMF tone if its amplitude is greater than -25 dBm0 (maximum sinusoid dBm0 is defined as+3.17 dBm0). Minimum Signal to Noise Distortion ratio 15 dB In order for an input signal to correspond to a valid DTMF tone, the ratio of inband to out-of-band energy must be greater than 15dB. Inband energy is defined to be the energy in frequency components within ±3.5% of the two frequencies defined by the DTMF frequencies. Out-of-band energy is defined to be the total energy minus in the inband energy. Minimum Frequency Tolerance ±1.5% An input signal shall not be rejected as a DTMF tone if both of its principal frequency components are within ±1.5% of the frequencies needed for the DTMF tone. Maximum Frequency Tolerance ±3.5% An input signal shall not be rejected as a DTMF tone if either of its principal frequency components are outside ±3.5% of the frequencies needed for the DTMF tone. 8-10 dB An input signal does not correspond to a valid DTMF tone if the energy contained within the low frequency band is more than 10 dB greater than the energy contained in the high frequency band. An input signal shall not be rejected as a DTMF if energy contained within the low frequency band is less than 8 dB greater than the energy contained in the high frequency band. Each low and high frequency band is limited to ±3.5% of the frequencies needed for the DTMF tone. 4-10 dB An input signal does not correspond to a valid DTMF tone if the energy contained within the high frequency band is more than 10 dB greater than the energy contained in the low frequency band. An input signal shall not be rejected as a DTMF if energy contained within the high frequency band is less than 4 dB greater than the energy contained in the low frequency band. Each low and high frequency band is limited to ±3.5% of the frequencies needed for the DTMF tone. 45 mS An input signal shall not be rejected as a DTMF tone as long as its time duration is greater than 45 mS. In addition a minimum of two frames will be transmitted of the DTMF tone if a valid tone is detected. The duration of a tone is defined by the points at which the envelope is 20 dB below its peak value. Normal Twist Range Reverse Twist Range Minimum Tone Duration Description Table 5-L DTMF Control Format DTMF Control – 8-bits (See Table 1-F) 15: MSB 14 13 12 11 10 9 8 7 DTMF Amplitude 6 5 4 3 2 DTMF Digit Detect/ Generate page 31 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change 1 0: LSB AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 5-M DTMF Codes for Digit Detect/ Generate DTMF Code 0x80 0x84 0x88 0x81 0x85 0x89 0x82 0x86 0x8A 0x87 0x83 0x8B 0x8C 0x8D 0x8E 0x8F 0xff DTMF Digit 1 2 3 4 5 6 7 8 9 0 * # A B C D deactivate To deactivate the Digit Detect/Genetrate function, set the DTMF Code to 0xff. Dial, ring and busy tones are standard North American call progress tones. DTMF Amplitude The DTMF Amplitude runs from 3 to –60 dBm0. This value is a signed bite (example: 0x03 = 3, 0x00 = 0, 0xC4 = -60). 5.3.7 Formatted Output : Word 11 :Control Word 2 Table 5-N Control Word 2 Format Control_Word 2 – 16-bits (See Table 1-A) Bit 15 14 13 12 11 10 Decoder Output Volume Control 9 8 7 6 5 4 Unused Unused Unused Unused 0 0 0 0 3 2 SL EC Rate Information Selector (RIS) : This field is used to indicate which part of the device is affected by words 2-6, the rate control words. Table 5-O Rate Information Selection Codes value 0x0 0x1 0x2 0x3 Area Controlled Encoder and Decoder Encoder only Decoder only Neither Encoder nor Decoder page 32 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change 1 0 RIS AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Echo Canceller (EC) : A 1 in this output field indicates that the echo canceller has been enabled. Sleep (SL) : A 1 in the this field indicates the device has been put into sleep mode. Decoder Output Volume Control : Indicates the current decoder volume. 5.3.8 Formatted Output : Words 12-23 :Channel Data This is the field that contains the actual coded bits. Output of the data begins with the MSB of the first word in this field and continues through with the final bit output being the LSB of the final word. If the data rate selected is less than 9600bps then the unused bits in each frame are zero and populate the end of the field. As is noted in the Channel Interface definitions, these unused bits must still be clocked out of the AMBE-2000™. The packet must always consist of 24 words. 5.4 Unformatted Serial Format The Unformatted Format for the channel data is useful for applications which desire minimal glue logic between the AMBE2000™ and the channel hardware. The use of minimal hardware in place of a microcontroller can be realized using this data format. Another distinct difference in this data format is that framing information (data which carries the positional information relating to the coded bits) is embedded into the data stream itself. Using this data format, the system designer need only transfer the coded data itself. A single bit each frame is ‘borrowed’ from the voice data to embed the framing information. Keep in mind that this ‘borrowed’ bit reduces the effective voice coding rate quality by 50 bits per second. For example, a system with no FEC running at 2450 bps in Unformatted mode will sound equivalent to one running at 2400 bps in Formatted mode. The designer should also be aware that it takes approximately 15 frames (300 milliseconds) for the decoder to attain synchronization with the incoming stream before it can output synthesized speech. Systems which are attempting to save power by shutting down transmission during periods of silence, and then resuming during periods of speech can not handle this 300 millisecond delay for each synchronization, and thus should use Formatted mode with a more sophisticated framing method. The 16 bit per word format, pictured in Section 5.2, is maintained in this mode but only a fraction of the full 16 bits is used to transfer the coded data. The user selects whether 1, 2, 3 or 4 bits will be transferred in each word based on pins BAUD_SEL[0:1] and Table 4-A. IMPORTANT : The voice coding data rate selected must be evenly divisible by the number of voice data bits per word selected. 5.4.1 Unformatted Serial Output Format The Unformatted output format contains 1 to 4 bits within each 16 bits serial output word. The formats which contain more than one bit each word the MSB of the data bits is considered first in the transmission. In Unformatted mode, only the coded voice data bits are output. None of the superfluous information that exists in formatted mode is available in this mode. The number of words that need to be transferred out of the encoder for each 20 millisecond frame will be the number of bits per frame divided by the number of bits per word. So a system coding at 4800 bps with 3 bits per word will need to read 32 ( [4800 ÷50] ÷3 = 32) words each frame. Table 5-P Unformatted Serial Output Data Format Bits per Word See Table 4-A 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 bit per Word Format 2 bits per Word Format 3 bits per Word Format 4 bits per Word Format D msb D msb D msb D msb 0 D D D 0 0 D D 0 0 0 D 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Data Unused page 33 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 5.4.2 Unformatted Serial Input Format The Unformatted Input format contains 1 to 4 bits within each 16 bits serial output word. For the formats which contain more than one bit each word the MSB of the data bits is considered first in the transmission. In Unformatted mode, the header data from Formatted mode is dropped and each 16 bit write contains 1 to 4 coded voice data bits. The number of words that need to be transferred into the decoder for each 20 millisecond frame will be the number of bits per frame divided by the number of bits per word. So a system coding at 4800 bps with 3 bits per word will need to write exactly 32 ( [4800 ÷50] ÷3 = 32) words each frame. Table 5-Q Unformatted Serial Input Data Format Bits per Word See Table 4-A 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 bit per Word Format 2 bits per Word Format 3 bits per Word Format 4 bits per Word Format D msb D msb D msb D msb 0 D D D 0 0 D D 0 0 0 D 0 0 0 0 0 0 0 0 0 0 0 0 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Data Control Offset Control Data page 34 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 6 6.1 A/D-D-A Interface A/D-D/A Overview The interface from the analog world of speech and the AMBE-2000™ is typically an A/D-D/A chip. Selection of the A/D-D/A chip should be made carefully, with a preference given to 16 bit linear devices. Additionally, consideration should be given for signal to noise ratios and filtering characteristics typically built into many such devices. Generally speaking, the flatter the frequency response over the voice spectrum (20-4000Hz) the better the overall system will sound. The AMBE-2000™ Vocoder Chip operates with a speech data sample rate of 8kHz for both the A/D and D/A interfaces. This 8kHz data is input and output using a serial port on the AMBE-2000. In order to simplify the process of configuring the interface to the A/D-D/A chip, a number of preset configurations can be chosen through the CODEC_SEL[1-0] pins shown in Table 6-A. These preset configurations control signal directions for the interface as well as the sequence of programming words for the programmable devices, specifically the AD7331AR. 6.2 Configuring the A/D-D/A Interface using CODEC_SEL[1-0] In order to simplify the process of configuring the A/D-D/A interface certain preset configurations are available to the user. Selection of these preset modes is made through the 3 hardware pins CODEC_SEL[1-0]. In Table 6-A, the 2 digit binary value for CODEC_SEL[1-0] corresponds to the levels present on the hardware pins, with a 0 corresponding to GND, and a 1 corresponding to VCC. Table 6-A CODEC_SEL[1-0] : A/D-D/A Hardware Configuration Values CODEC_SEL[1-0] pins 85,84 A/D-D/A Type Generic 16 bit Linear 8Khz Analog Devices 7331 32kHz Generic µlaw 8kHz Generic Alaw 8kHz 00b 01b 10b 11b page 35 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 6.3 Low Level A/D–D/A Timing Low Level Timing for A/D-D/A in Active and Passive Modes Figure 6-A Low Level Timing for A/D-D/A in Active and Passive Modes tc(SCK) tf(SCK) ~ tw(SCK) CODEC_RX_CLK th(FSR) tsu(FSR) tw(SCK) tr(SCK) tsu(DR) ~ CODEC_RX_STRB CODEC_RX_DATA MSB 1 ~ ~ th(DR) 2 LSB 8/16 7/15 tc(SCK) tf(SCK) ~ tw(SCK) CODEC_TX_CLK td(FSX) th(FSX) th(FSX)H td(DX) tdis(DX) ~ CODEC_TX_STRB tr(SCK) tw(SCK) CODEC_TX_DATA MSB 1 2 ~ ~ th(DX) 7/15 LSB 8/16 Table 6-B Switching Characteristics Over Recommended Operating Conditions for Serial Port Receive Reference th(FSR) th(DR) Parameter Hold time, FSR after CLKR falling edge 3.3 Volts Min Max 6 Hold time, DR after CLKR falling edge 6 page 36 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change Units ns ns AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 6-E Switching Characteristics Over Recommended Operating Conditions for Serial Port Receive Reference td(SCK) tc(SCK) tf(SCK) tr(SCK) tw(SCK) tsu(FSR) tsu(DR) td(FSX) th(FSX) th(FSX)H tdis(DX) th(DX) Delay time, DX valid after CLKX rising 3.3 Volts Min Max 25 Cycle time, serial port clock 6H Parameter Units ns ns Fall time, serial port clock 6 Rise time, serial port clock 6 ns ns Pulse duration, serial port clock low/ high 3H ns Setup time, FSR before CLKR falling edge 6 ns Setup time, DR before CLKR falling edge 6 Delay time, CLKX rising to FSX Hold time, FSX after CLKX falling edge 6 Hold time, FSX after CLKX rising edge Disable time, CLKX rising to DX Hold time, DX valid after CLKX rising edge ns 15 ns ns 2H-5 ns 20 ns -5 ns • Note: H = 7.629 ns; however, do not operate serial clocks any faster than 2.048 MHz. Thus tc(SCK) should be a minimum of 488.3 nsec. page 37 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 7 7.1 Special Functions Hardware vs. Software Selection Note Many of the functions of the AMBE-2000™ can be accessed through both a hardware and software interfaces to the device. The following hardware inputs, CHANN_SEL[1-0], RATE_SEL[4-0], CODEC_SEL[1-0], VAD_EN, ECHOCAN_EN, and SLEEP_EN, are only accessed for input during the first 200 microseconds after a hardware reset on RESETN. For predictable operation these signals must remain stable over this time period. After this initialization period the functions that these pins access can only be reconfigured through the Control Word interface described in section 5.3.4. Changes on these pins after the 200 microseconds initialization period after reset are ignored, unless another reset is performed. 7.2 Coding Rate Selection The Voice coding rate as well as the FEC coding rate can be selected individually on the AMBE-2000™. These rates are selected by using a Control Word as described in section 5.3.4, or through hardware pins RATE_SEL[4-0] subject to the restrictions in section 7.1. The five input pins RATE_SEL[4-0] give 16 preconfigured voice/FEC rates. The voice and FEC rates are individually configurable in 50 bit per second intervals. If rates other than these are desired then the Control Word method of configuring the rates must be used. Table 7-A Rate Selection Using Rate Info 0-4, compatible w/ AMBE-1000™ RATE_SEL4 Pin RATE_SEL3 Pin RATE_SEL2 Pin RATE_SEL1 Pin RATE_SEL0 Pin Speech Rate (bps) FEC Rate (bps) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 2400 2350 3600 3350 4000 3750 4800 4550 3600 3100 4150 4400 7750 4650 9600 4850 0 50 0 250 0 250 0 250 1200 1700 2250 2800 250 3350 0 4750 page 38 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change Total Rate (bps) 2400 3600 4000 4800 6400 7200 8000 9600 AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Table 7-B Rate Selection Using Rate Info 0-4, AMBE-2000™ only 7.3 RATE_SEL4 Pin RATE_SEL3 Pin RATE_SEL2 Pin RATE_SEL1 Pin RATE_SEL0 Pin Speech Rate (bps) FEC Rate (bps) Total Rate (bps) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 0 2000 3600 4000 2400 4800 4000 3600 2400 6400 4000 4400 8000 4000 9600 3600 2400 0 0 0 1600 0 800 1200 2400 0 2400 2800 0 4000 0 6000 7200 2000 3600 4000 4800 6400 7200 8000 9600 Echo Cancellation The AMBE-2000™ Vocoder Chip provides a 16 millisecond echo canceller that is suitable for canceling the local echo caused by a 2-to-4 wire hybrid and can achieve echo cancellation of approximately 30dB or more. Only the linear portion of the echo is cancelled, so circuits should be designed to minimize non-linearities. The AMBE-2000™ Vocoder Chip echo canceller operates by sending a 240 millisecond audible training sequence to the A/DD/A immediately following a reset. Best results will be achieved if the analog circuit causing any echo is stable at this time. If the analog circuit changes substantially following this training , the echo canceller must be re-initialized, by resetting the AMBE-2000™ Vocoder Chip for optimum performance. Figure 7-A Typical Echo Path AMBE-2000 Decoder 8kHz Speech Data Echo Path A A/D-D/A Encoder 4 to 2 wire Converter Echo Path B 8kHz Speech Data The Echo Return Loss (ERL) of the analog circuit must be 6dB or more (in diagram ERL = Echo Path A – Echo Path B) for proper echo canceller operation. Linear A/D-D/A chips will generally provide better echo cancellation performance than µlaw or Alaw chips due to lower quantization noise. The echo canceller can be activated either through the hardware pin 78, ECHOCAN_EN, or through the Control Word interface described in section 5.2.9. See section 7.1 for important note about the ECHOCAN_EN pin. page 39 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 7.4 Voice Activation Detection (VAD), Comfort Noise Insertion (CNI) The Voice Activation Detection (VAD) algorithm along with the Comfort Noise Insertion (CNI) feature of the AMBE-2000™ chip performs useful functions in systems trying to convert periods of silence, that exist in normal conversation, to savings in system bandwidth or power. With the VAD functions enabled, periods of silence will be denoted by the encoder in two ways. First, the encoder will output a silence frame (in-band). This silence frame contains information regarding the level of background noise which allows the corresponding decoder to synthesize a “Comfort Noise” signal at the other end. The comfort noise is intended to give the listener the feeling that the call is still connected, as opposed to producing absolute silence which can give the impression that the call has been “dropped”. Second, the Encoder Silence Detected flag is set in Control Word 1 of the Formatted Output format described in section 5.3.3. VAD can be enabled in one of two ways. A high signal on the hardware pin VAD_EN (pin 86), subject to the restrictions of section 7.1, enables VAD. The Control Frame described in section 5.2.9 describes how to enable/disable the VAD algorithm once the AMBE-2000™ has begun operating. If the VAD features are being used to reduce transmit power during times of conversational silence, DVSI recommends that a silence frame be transmitted at the start of the period and approximately each 500-1000 milliseconds thereafter. This is to ensure that the parameters regarding the levels of background noise are transmitted to the decoder for the smoothest audible transitions between synthesized speech and synthesized silence. There is a silence threshold value is –25 dB in the VAD algorithm. The synthesis of a Comfort Noise frame by the decoder is not dependant on VAD being enabled. The decoder will produce a comfort noise frame if it receives an in-band silence frame (produced only by an encoder with VAD enabled). 7.5 Dual Tone Multiple Frequency, Detection and Generation The AMBE-2000™ Vocoder Chip is capable of detecting, transmitting, and synthesizing DTMF tones. DTMF features are always enabled. Detection of a DTMF tone by the encoder sets the DTMF Digit Detect in the DTMF Control Format found in section 5.4.6. Which DTMF tone is detected along with amplitude information is placed in the bits 0-7 described in section 5.3.6. Additionally, the encoder passes the DTMF data in-band (within the regular voice data bits) so that normal DTMF tones pass seamlessly from the encoder to the decoder for synthesis. The decoder synthesizes a DTMF tone in response to reception of an in-band DTMF tone frame. 7.6 Normal Power and Power Saving Modes Power savings can be achieved during times of longer inactivity of the AMBE-2000™ chip by placing it into one of three available Low Power Modes. The chip can be placed into low-power and stand-by modes via hardware or software Control Words. In low power modes the A/D-D/A port will be disabled, concurrently halting any processing of voice frames in either direction. Depending on the low power state selected, either a Wake Up Control Word or a hardware reset on RESETN is necessary to return the AMBE-2000™ to normal operation. 7.6.1 Standard Sleep Mode The standard sleep is the only low power mode that can be entered into either through hardware or software. The AMBE2000™ Chip can be placed into Standard Sleep mode either by setting SLEEP_EN (pin 83) high, subject to the restrictions of section 7.1, or through software by using Control Word 2 with bit 3 set to 1 as described in section 5.2.9. SLEEP_EN should be tied high if you plan to configure the A/D-D/A chip from Standard Sleep mode upon power-up or reset. When using software SLEEP_EN with A-law or µ-law codecs, it is important to note that if packets are sent to the decoder while it is in sleep mode, noise will be heard at the output. It is recommended that no packets be sent to the decoder until it is commanded to wake up. page 40 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 7.6.2 Power Down Power Down provides the lowest power usage of the sleep modes, the only drawback to this mode is the necessity of a hardware reset on RESETN (pin 69) to resume normal operation. Table 7-C Summary of Power Saving Modes Power Consumption Sleep Mode Enter State via Return to Normal Operation via Wake Up Time Normal Operation N/A N/A N/A Standard Sleep SLEEP_EN pin at reset OR Control Word Control Word N/A Power Down Control Word RESETN 200 µ secs. 3V CMOS TTL Crystal Approx. 65mW 24 mW 36 mW 0.11 mW 0.11 mW page 41 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 7.7 Slip Enable In any real time communication system, clock skew issues must be anticipated to keep the flow of data smooth from one end of the system to the other. The SLIP_EN (pin 82) signal allows the encoder of the AMBE-2000™ to react to small slips in the encoder channel signals. When the AMBE-2000™ is in active (parallel or serial) mode, the chip produces the signals internally for the transfer of data. Because the transmission channel will then likely be driven by this timing, the necessity of controlling slip becomes a moot point. Any time the AMBE-2000™ encoder channel is in one of the passive modes and the channel timing is asynchronous to the A/D-D/A clock (very rarely are these two interfaces coupled) then the SLIP_EN pin should be set active high. The AMBE-2000™ Vocoder chip processes speech in voice frames that are approximately 20 ms in duration. When configured appropriately the chip provides a slip control feature that automatically adjusts the frame size to either 160 or 161 speech samples per frame. This slip control feature allows the vocoder chip to compensate for drift between the frame and sample rate clocks on the order of approximately 0.6% (6,000 ppm.) The vocoder chip also accepts Slip Control Packets that extend the range of allowable frame sizes to be between 159 and 161 samples per voice frame. When properly used these Slip Control Packets provide the designer with additional flexibility in dealing with clock drift. There are three recommended methods for using slip control on the AMBE-2000™ Vocoder Chips which are described below. The system designer should select the method that best meets the needs of their system configuration. Also included is some background information on the operation of the AMBE-2000 in passive mode In order to help understand Slip control feature here is a brief description on reading encoder packets from the AMBE-2000 in passive formatted mode. When transmitting a packet, the AMBE-2000 writes a Header = 0x13ec followed by 23 words of data, followed by 0xfffe into the transmit (i.e. output) buffer. The terminating word 0xfffe is written into the transmit buffer by the AMBE-2000 at the end of each encoder packet. Normally in passive mode this terminating word is in the transmit buffer at the beginning of each transmission cycle (from the previous frame) and so it is the first word output whenever a packet is transmitted. If the encoder packet is ready, then the second output word will be the packet Header=0x13ec followed by 23 words of data. However if the packet is not ready then the AMBE-2000 will continue to output the terminating word (0xfffe) until the packet is ready and placed in the transmit buffer. At this point the full 24 word packet beginning with the Header will be output on subsequent transmissions. This process continues for each packet transmission which occurs nominally every 20 ms, provided that each 24 word packet (Header + 23 data words) is read in full. If the full 24 words of the packet are not read from the AMBE-2000, then the chip’s transmit buffer will contain some words left over from a previous packet. Generally these words would be 0x0000 for lower data rates which don't use the last words of the packet. This case should be avoided: It is recommended that in passive formatted mode the system always read packets by requesting words from the AMBE-2000 until a packet Header is received and then continuing to request 23 additional output words from the AMBE-2000 until a total of 24 words beginning with the Header word = 0x13ec are received. Any words output by the AMBE-2000 prior to the Header should be ignored by the system (except for monitoring as discussed in Method 3 below). page 42 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Word # 0 1 2 3 4 5 6 7 8 9 10 11 12-23 Value 0x13ec 0x07xx 0x1355 0x009f 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 Description Header Slip Control Packet ID, xx=CWD1 (See table 5-B) Typical value xx=00 Slip Control indicator for AMBE-2000 Slip Control data Must be 0x0000 Must be 0x0000 Must be 0x0000 Must be 0x0000 Must be 0x0000 Must be 0x0000 Must be 0x0000 Must be 0x0000 Channel Data for AMBE® voice decoder Table 7D: Slip Control Packet Method 1 - Internal Slip Control This is the simplest method of slip control and is the default method provided slip control is enabled (SLIP_EN is high) on the chip. In this method the vocoder chip’s internal slip adjustment of 160 to 161 sample per frame is used. In order to work properly, the system designer must set-up the sample rate and packet timing so that the following constraint is met: 160 < Average-Frame-Interval * (1 +/- Frame-Drift) * Sample-Rate * (1 +/- Sample-Drift) < 161 For example using an Average-Frame-Interval = 20 ms, and assuming 100 parts per million oscillator accuracy (i.e Frame-Drift = Sample-Drift = .0001), then the above constraint requires: 8002 Hz < Sample-Rate < 8048 Hz. In practice Sample-Rate=8002 Hz would be preferred since it is closer to the nominal value of 8000 Hz. In another example the Sample-Rate = 8000 Hz. as provided by a PCM source. Again assuming 100 parts per million oscillator accuracy for both clocks (i.e. Frame-Drift = Sample-Drift = .0001), then the above constraint requires: 20.0041 ms. < Average-Frame–Interval < 20.1209 ms. This can be achieved by slightly decreasing the channel bit rate or adding an extra bit into the channel bit stream every several voice frames. Method 2 - Extended Slip Control with Periodic Slip Control Packets The AMBE-2000 can provide extended slip compensation through the insertion of Slip Control Packets. One method of using this capability is for the system to periodically insert these Slip Control Packets into the data stream sent to the AMBE-2000. Note that for this method slip control must be enabled (SLIP_EN is high) on the chip. This approach gives the designer a way to accommodate clock drift while providing very flexible frame-interval and sample-rate timing. Furthermore minimal system overhead is required. In this method a Slip Control Packet is generated by the system by setting the Control Words as shown in Table 7D above, where the Channel Data is the compressed voice data being sent to the AMBE decoder. In the Periodic Slip Control method such a Slip Control Packet is input into the vocoder chip every N frames. The value of N must be selected by the design engineer to meet the following constraint: page 43 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 0.25 > (1/N) > Average-Frame-Interval * Sample-Rate * (Frame-Drift + Sample-Drift) For example with an Average-Frame-Interval = .02 (i.e. 20 ms) and a Sample-Rate = 8000, then with 100 parts per million oscillator accuracy (i.e. Frame-Drift = Sample-Drift = .0001), then above constraint equates to 4 < N < 31.25, and N=30 would be a reasonable selection. In this case the system would input the specified Slip Control Packet into the AMBE-20X0 vocoder chip every 30’th frame enabling the vocoder chip to adjust for the actual clock drift. ***RECOMMENDED*** Method 3 - Extended Slip Control with as needed Slip Control Packets The preferred method for using Slip Control Packets is to monitor the availability of data from the AMBE-2000 vocoder chip and to only input Slip Control Packets into the data stream sent to the AMBE-2000 as needed. Note that for this method slip control must be enabled (SLIP_EN is high) on the chip. This method provides compensation for the widest range of clock drift (1.2% or 12000 ppm), with the greatest flexibility in frame-interval and sample-rate timing. In this method the same Slip Control Packets shown in Table 7D are inserted into the data stream going to the AMBE-2000. However, unlike in the Periodic method, the packets are not input at regular intervals but are instead only input to the chip when needed. The recommended procedure for this Method of Slip Control is for the system to read a packet from the AMBE-2000 at regular fixed frame intervals where the fixed interval must be within the range [19.875 – 20.125] ms for a sample rate = 8000 Hz. The system application should check each word output by the AMBE-2000 and should continue requesting words from the chip until the packet Header followed by 23 data words are received. If the words received before the Header word consist of only a single termination word (0xfffe) then no further action is required. However if two or more termination words are received prior to the Header then the system should input a Slip Control Packet to the AMBE-2000 on the next available transmission into the chip (i.e. the next packet going into the AMBE-2000 decoder should be a Slip Control Packet). Once this Slip Control Packet is input into the AMBE-2000 it will respond within 1-2 frames by advancing the time when packets are ready for transmission by 125 microseconds. Note that this procedure also may require a small amount of buffering in the system to account for the fact that the packet my not be ready for some small time (< 125 microseconds) after it is first requested. page 44 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 8 Appendices 8.1 Example A/D-D/A Usage The following examples of A/D-D/A chips have been included to show connections necessary for interfacing to a number of popular chips. 8.1.1 AD73311 U1 CODEC_RX_CLCK CODEC_TX_CLCK CODEC_TX_STRB CODEC_RX_STRB CODEC_RX_DATA CODEC_TX_DATA 27 U2 33 14 37 17 29 18 31 16 41 19 SCLCK SE SDOFS MCLK SDIFS AVDD1 SDO AVDD2 SDI DVDD 20 15 SERIAL PORT ENABLE (HIGH) 16.384 MHz 3 9 5V 12 3.3 V AD73311AR AMBE-2000 page 45 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Revision Number 1.0 History of Revisions Date of Revision Description November 1999 Initial Version Pin descriptions Serial Configuration Selection 1.1 April 2000 1.2 May 2000 1.3 August 2000 1.4 October 2000 Channel Serial Interface Pin Descriptions Table 6-A CODEC_SEL[1-0]: A/D- D/A Hardware Configuration Values Deleted the word parallel Table 5-N Control Word Format: Removed VAD in bit 5. This is not used as an output. Added Application note for AD 73311AR Clarification on VAD 1.5 November 2000 2.0 January 2001 Pages 11-12 19 20 35 9 32 43 28 Expanded Description of Control Word 1 29 Table 5-M added DTMF Code 0xff 32 Channel and Codec Timing Diagrams and Tables Added Note describing H 21, 22, 36, 37 22, 37 10, 11, 13, 14, 16,17, 18, 20, 21, 22, 23, 27, 28, 29, 32, 34, 35, 36, 40 Clarified/corrected the following pages. page 46 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change AMBE-2000™ Vocoder Chip User’s Manual Version 3.0 Revision Number 2.1 2.2 3.0 History of Revisions Date of Revision Description February 2001 Updated Timing Diagrams and Tables for Channel and Codec February 2001 Changed Pin Description CLK_I to X2/CLKIN and CLK_I2 to X1 Updated timing diagram and table for X2/CLKIN and RESETN Replaced …set the DTMF Code to 0x00 to …set the DTMF Code to 0xff August 2001 Company address updated Removed description of Decoder Output Volume Control Modified SLEEP_EN Section 7.6.1 Modified description of EPR Added Detailed Explination of Slip Enable Control Added description of Decoder Silence Detect, Decoder Frame Repeat and Encoder DTMF Detect bits page 47 Visit us at www.dvsinc.com Confidential Proprietary, Subject to Change Pages 21, 22, 36, 37 11 13,14 27 2 28 40 11,12,21 43,44 30