Download DSP56009EVM User`s Manual
Transcript
DSP56009EVM User’s Manual Motorola, Incorporated Semiconductor Products Sector DSP Division 6501 William Cannon Drive West Austin, TX 78735-8598 Introduction This document supports the DSP56009 Evaluation Module (DSP56009EVM) including a description of its basic structure and operation, the equipment required to use it, the specifications of the key components, the provided software (such as the demonstration code and the software required to develop and debug sophisticated applications), schematic diagrams, and a parts list. Section 1 is a Quick Start Guide. Section 2 provides evaluation module specifications. Section 3 provides peripheral specifications. Section 4 provides schematics for the DSP56009EVM. Section 5 provides PLD equations and schematics and the parts list. Section 6 provides an example program and information on the debugger. Appendix A documents the audio pass-through demonstration program provided with the EVM. Appendix B describes the sound field processing demonstration. Appendix C includes additional notes for using the Assembler. This document has been designed for users experienced with DSP development tools. For users with little or no DSP experience, detailed information is provided in the additional documents supplied with this kit. OnCE is a trademark of Motorola, Inc. Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “typical” parameters which may be provided in Motorola data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals” must be validated for each customer application by customer’s technical experts. Motorola does not convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support life, or for any other application in which the failure of the Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the design or manufacture of the part. Motorola and are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer. How to reach us: USA/Europe/Locations Not Listed: Motorola Literature Distribution P.O. Box 20912 Phoenix, Arizona 85036 1 (800) 441-2447 or 1 (602) 303-5454 MFAX: [email protected] TOUCHTONE (602) 244-6609 Asia/Pacific: Motorola Semiconductors H.K. Ltd. 8B Tai Ping Industrial Park 51 Ting Kok Road Tai Po, N.T., Hong Kong 852-2662928 Japan: Nippon Motorola Ltd. Tatsumi-SPD-JLDC 6F Seibu-Butsuryu-Center 3-14-2 Tatsumi Koto-Ku Tokyo 135, Japan 03-3521-8315 Technical Resource Center: 1 (800) 521-6274 DSP Helpline [email protected] Internet: http://www.motorola-dsp.com -4 DSP56302EVMUM/AD, Preliminary MOTOROLA CONTENTS SECTION 1 QUICK START GUIDE. . . . . . . . . . . . . . . . . . . . . . . 1-1 1.1 OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 1.2 EVALUATION MODULE DESCRIPTION AND FEATURES . 1-3 1.3 EQUIPMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1.3.1 What you get with the Evaluation Module . . . . . . . . . . . . . 1-4 1.3.2 What you need to supply for AC-3/ProLogic Demonstration . 1-5 1.3.3 What you need to supply for software development . . . . . 1-6 1.4 INSTALLATION PROCEDURE . . . . . . . . . . . . . . . . . . . . . . . 1-6 1.4.1 Preparing the DSP56009EVM . . . . . . . . . . . . . . . . . . . . . . 1-7 1.4.2 Connecting the DSP56009EVM to the PC and Power . . . 1-8 1.4.3 Installing the Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 SECTION 2 EVM THEORY OF OPERATION . . . . . . . . . . . . . . . 2-1 2.1 INPUTS AND OUTPUTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 2.1.1 Clock Select. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 2.1.2 Serial Audio Interface (SAI) . . . . . . . . . . . . . . . . . . . . . . . . 2-4 2.1.3 Sony-Philips digital interface format (SPDIF) . . . . . . . . . . 2-5 2.1.4 Other inputs and Outputs. . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 2.1.5 Operating Mode Selection . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 2.1.6 OnCE™ Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 2.1.7 RS232 Connections and JP1. . . . . . . . . . . . . . . . . . . . . . . 2-7 2.1.8 Operating Modes and SRAM refresh in the 56009 . . . . . . 2-7 2.1.9 Evaluation Module Parts . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 2.1.10 Power Supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 2.1.11 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 SECTION 3 PERIPHERAL SPECIFICATIONS . . . . . . . . . . . . . . 3-1 3.1 CS5390 STEREO ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2 CS4331 STEREO DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 3.3 CS3310 STEREO DIGITAL VOLUME CONTROL . . . . . . . . . 3-4 3.4 CS8412 DIGITAL AUDIO INTERFACE RECEIVER . . . . . . . 3-5 MOTOROLA DSP56009EVMUM iii 3.5 3.6 3.7 3.8 3.9 CS8402A DIGITAL AUDIO INTERFACE TRANSMITTER . . 3-6 STK10C68 CMOS 2K X 8 NVSRAM . . . . . . . . . . . . . . . . . . . 3-7 SC937-02 AES/EBU TRANSFORMER . . . . . . . . . . . . . . . . . 3-7 LCD PANEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 WIRING FOR KEYPAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 SECTION 4 SECTION 5 5.1 5.1.1 5.1.2 5.2 DSP56009EVM SCHEMATICS. . . . . . . . . . . . . . . . 4-1 DSP56009EVM PLD SPECIFICATION AND EVM PARTS LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EPM7032 PLD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . PLD Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PLD Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EVALUATION MODULE PARTS LIST . . . . . . . . . . . . . . . . . 5-1 5-3 5-3 5-5 5-8 SECTION 6 EXAMPLE TEST PROGRAM . . . . . . . . . . . . . . . . . 6-1 6.1 OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 6.2 WRITING THE PROGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 6.2.1 Source Statement Format . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 6.2.2 Example Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 6.3 ASSEMBLING THE PROGRAM . . . . . . . . . . . . . . . . . . . . . . 6-7 6.3.1 Assembler Command Format . . . . . . . . . . . . . . . . . . . . . . 6-7 6.3.2 Assembler Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 6.3.3 Assembler Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 6.3.4 Assembling the Example Program . . . . . . . . . . . . . . . . . 6-16 6.4 MOTOROLA DSP LINKER . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 6.4.1 Linker Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 6.4.2 Linker Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 6.5 INTRODUCTION TO THE DEBUGGER SOFTWARE . . . . 6-24 6.6 RUNNING THE PROGRAM . . . . . . . . . . . . . . . . . . . . . . . . 6-26 iv DSP56009EVMUM MOTOROLA APPENDIX A AUDIO PASS-THROUGH EXAMPLE . . . . . . . . . . .A-1 APPENDIX B SOUND FIELD PROCESSING EXAMPLE . . . . . . .B-1 APPENDIX C DSP56009EVM MULTIPLEX DEFINTITION . . . . . .C-1 MOTOROLA DSP56009EVMUM v LIST OF FIGURES Figure 1-1 Evaluation Module Component Layout . . . . . . . . . . . . . . . . . . . . 1-5 Figure 1-2 AC-3 Home Theater Demonstration. . . . . . . . . . . . . . . . . . . . . . . 1-6 Figure 1-3 Connecting the DSP56009EVM Cables. . . . . . . . . . . . . . . . . . . . 1-8 Figure 3-1 CS5390 ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 Figure 3-2 CS4331 DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 Figure 3-3 CS3310 Stereo Digital Volume Control . . . . . . . . . . . . . . . . . . . . 3-5 Figure 3-4 Serial Port Timing for the CS3310 . . . . . . . . . . . . . . . . . . . . . . . . 3-5 Figure 3-5 CS8412 Digital Audio Interface Receiver . . . . . . . . . . . . . . . . . . . 3-6 Figure 3-6 CS8402 Digital Audio Interface Transmitter . . . . . . . . . . . . . . . . . 3-6 Figure 3-7 STK10C68 8K x 8 nvSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Figure 3-8 SC937-02 AES/EBU Transformer . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Figure 3-9 LCD Softswitch Screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Figure 3-10 Keypad Wiring Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 Figure 4-1 DSP56009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Figure 4-2 Microcontroller and LCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 Figure 4-3 Programmable Logic Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 Figure 4-4 SRAM and External Memory Interface. . . . . . . . . . . . . . . . . . . . . 4-6 Figure 4-5 RS-232 and OnCE Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Figure 4-6 Analog-to-Digital Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8 vi DSP56009EVMUM MOTOROLA Figure 4-7 Digital-to-Analog Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Figure 4-8 SPDIF I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 Figure 4-9 Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 Figure 5-1 PLD Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Figure 6-1 Development Process Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 Figure 6-2 Example Debugger Window Display . . . . . . . . . . . . . . . . . . . . . 6-25 Figure A-1 Output Interrupt Structure for Analog Input . . . . . . . . . . . . . . . . . A-4 Figure A-2 Output Interrupt Structure for Digital Input. . . . . . . . . . . . . . . . . . A-4 Figure A-3 DSP56009EVM Pass-through Setup. . . . . . . . . . . . . . . . . . . . . . A-6 Figure B-1 Early Reflection DO loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-6 Figure B-2 Early Reflection FIR Block (one channel) . . . . . . . . . . . . . . . . . . B-6 Figure B-3 Comb Filter (one of six) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-8 Figure B-4 All-pass Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-9 Figure B-5 All-Pass Filter Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-9 Figure B-6 De-Correlation Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11 Figure B-7 EVM configuration for Sound Field Processing Demo . . . . . . . B-12 Figure B-8 Sound Field Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-14 Figure B-9 Sound Field Processor Time Analysis. . . . . . . . . . . . . . . . . . . . B-18 Figure C-1 DSP56009EVM Jumper Setting for Multiplexing . . . . . . . . . . . . . C-5 MOTOROLA DSP56009EVMUM vii LIST OF TABLES Table 2-1 JP4 Jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Table 2-2 JP5 Jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 Table 2-3 JP3 Jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 Table 5-1 DSP56009EVM Parts List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Table A-1 Output sources for audio pass-through . . . . . . . . . . . . . . . . . . . . A-5 Table B-1 Early Reflection FIR Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4 Table B-2 Comb filter loop-back gains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7 Table B-3 De-Correlation All-pass filter gains . . . . . . . . . . . . . . . . . . . . . . B-11 Table B-4 Sound Field Processing Audio Outputs. . . . . . . . . . . . . . . . . . . B-13 Table B-5 X and Y Memory Map for Sound Field Processing Demo . . . . . B-15 Table C-1 DSP56009EVM MUX Cable Pinout. . . . . . . . . . . . . . . . . . . . . . . C-3 MOTOROLA DSP56009EVMUM vii viii DSP56009EVMUM MOTOROLA SECTION 1 QUICK START GUIDE MOTOROLA DSP56009EVMUM 1-1 Quick Start Guide 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 1.4 1.4.1 1.4.2 1.4.3 1-2 OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EVALUATION MODULE DESCRIPTION AND FEATURES . . . . . EQUIPMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What you get with the Evaluation Module . . . . . . . . . . . . . . . . What you need to supply for AC-3/ProLogic Demonstration . . What you need to supply for software development. . . . . . . . . INSTALLATION PROCEDURE . . . . . . . . . . . . . . . . . . . . . . . . . . . Preparing the DSP56009EVM . . . . . . . . . . . . . . . . . . . . . . . . . Connecting the DSP56009EVM to the PC and Power . . . . . . . Installing the Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DSP56009EVMUM 1-3 1-3 1-4 1-4 1-5 1-6 1-6 1-7 1-8 1-9 MOTOROLA Quick Start Guide Overview 1.1 OVERVIEW This document describes the basic structure, theory, and operation of the DSP56009EVM (Evaluation Module), the equipment required to use the Evaluation Module, and the specifications of the key components on the Evaluation Module. Code samples and self-test code are provided on the accompanying software diskette. Evaluation Module schematic diagrams and a parts list are included as well. 1.2 EVALUATION MODULE DESCRIPTION AND FEATURES The DSP56009EVM is a low-cost platform for multichannel digital audio applications design, prototyping, and development. The fully assembled and tested circuit board contains: • 24-bit DSP56009 Digital Signal Processor operating at 81 MHz for Dolby AC-3 and Dolby ProLogic • 8192 bytes of off-chip SRAM and 8192 bytes of nonvolatile RAM • Standard 30-pin SIMM slot for easy, inexpensive DRAM expansion • One 20-bit stereo Analog-to-Digital converter (ADC), three 18-bit stereo Digital-to-Analog converters (DACs) • Programmable analog-domain attenuators on the Digital-to-Analog outputs • RCA jacks for all analog audio Input/Output • Optical and transformer-isolated electrical SPDIF/CP340 stereo digital audio inputs and outputs • 50-pin expansion connector to provide the capability for expansion and/or substitution of other input/output peripherals, as well as easy interprocessor communication between Motorola Evaluation Modules • Socketed MC68HC711E9 (52-pin CLCC microcontroller) to allow the user to substitute user-programmed microprocessor and prototype custom 68HC711 code (allows connection to MC68HC711 emulation systems) • 2 × 16 character Liquid Crystal Display (LCD) and four softswitches for user interface • Connector provides capability to use optional standard 4 × 4 keypad matrix • MC68705K1 microcontroller performing RS-232-to-OnCETM port command conversions MOTOROLA DSP56009EVMUM 1-3 Quick Start Guide Equipment 1.3 EQUIPMENT The following section gives a brief summary of the equipment required to use the Evaluation Module, some of which is supplied with the Evaluation Module, and some of which will have to be supplied by the user. 1.3.1 What you get with the Evaluation Module • Evaluation Module board (See Figure 1-1) • 3.5" disk titled ’Debug - Evaluation Module’ • 3.5" disk titled ’DSP56009EVM Demos’ – PCM Passthrough Files – Soundfield Processor Files – Example Assembly Language Files (example.asm) • Debug - Evaluation Module manual • DSP56000 Family Manual • DSP56009 User’s Manual • DSP56009 Technical Data sheet • DSP56009 Product Brief • DSP56009 EVM User’s Manual (this document), including Evaluation Module Schematics and Demonstration software documentation • Additional relevant documentation may be included in the form of a READ.ME file on the Evaluation Module Software disk. 1-4 DSP56009EVMUM MOTOROLA Quick Start Guide Equipment RS Left 3 Right 3 CS3310 Analog Inputs Analog Outputs LS C Sub L Left 2 Right 2 Left 1 CS4331 CS3310 CS4331 R Right 1 Right In CS3310 Left In CS4331 CS5390 Optical In JP5 CS8412 JP3 Optical Out JP7 J5 JP2 30-Pin SIMM Socket PLD CS8402A J3 J9 DSP 56009 JP4 SPDIF In Analog Power STK10C68 J18 SPDIF Out JP9 SC937-02 J4 JP6 68HC711E9 68HC705K1 JP1 RS-232 OnCETM LCD Display Reset J1 J2 Digital Power Infrared Remote Receiver Figure 1-1 Evaluation Module Component Layout 1.3.2 What you need to supply for AC-3/ProLogic Demonstration • An AC-3 or PCM bitstream source (i.e. Laserdisc, DAT, CD source, VHS, etc...) • An audio amplifier driving headphones or speakers as shown on the following page in Figure 1-2. • Power supplies: dual 8-12V DC (for analog circuits), 8-15V AC or DC (for digital circuits) MOTOROLA DSP56009EVMUM 1-5 Quick Start Guide Installation Procedure 1.3.3 What you need to supply for software development • A PC (-386 or higher) with minimum 2 Mbytes of memory, a 3.5” floppy disk drive, and a serial port capable of at least 19,200 bits-per-second data transfer rate. • An RS-232 cable (DB9 male to DB9 female) Subwoofer (powered) Power Amp Subwoofer (unpowered) RF Demodulator DSP56009EVM Laserdisc Player Listener Figure 1-2 AC-3 Home Theater Demonstration 1.4 INSTALLATION PROCEDURE Installation requires four basic steps: 1. Preparing the DSP56009EVM board 2. Connecting the board to the PC and power 3. Installing the software 1-6 DSP56009EVMUM MOTOROLA Quick Start Guide Installation Procedure 4. Testing the installation 1.4.1 Preparing the DSP56009EVM CAUTION Because all electronic components are sensitive to the effects of electrostatic discharge (ESD) damage, correct procedures should be used when handling all components in this kit and inside the supporting personal computer. Use the following procedures to minimize the likelihood of damage due to ESD: – Always handle all static-sensitive components only in a protected area, preferably a lab with conductive (anti-static) flooring and bench surfaces. – Always use grounded wrist straps when handling sensitive components. – Never remove components from anti-static packaging until required for installation. – Always transport sensitive components in anti-static packaging. MOTOROLA DSP56009EVMUM 1-7 Quick Start Guide Installation Procedure 1.4.2 Connecting the DSP56009EVM to the PC and Power Figure 1-3 shows the interconnection diagram for connecting the PC and the external power supply to the DSP56009EVM board. Use the following steps to complete cable connections: DB9 Interface Cable External ±8-12V Power PC-compatible Computer J4 J3 J2 Connect cable to RS-232 port External +5V Power DSP56009EVM Figure 1-3 Connecting the DSP56009EVM Cables 1. Connect the DB9P end of the RS-232 interface cable to the RS-232 port connection on the PC. 2. Connect the DB9S end of the cable to J4, shown in Figure 1-1 on page 1-5, on the DSP56009EVM board. This provides the connection to allow the PC to control the board function. 3. Make sure that the external power supplies do not have power supplied to them. 4. Connect the output power connectors into J2 and J3, shown in Figure 1-1 on page 1-5, on the DSP56009EVM board. 5. Apply power to the power supply. The green Power LED will light when power is correctly applied. 1-8 DSP56009EVMUM MOTOROLA Quick Start Guide Installation Procedure 1.4.3 Installing the Software The DSP56009EVM demo software includes the following: • Motorola diskette containing: – Demonstration code (passthru, sfpevm09, example) • Domain Technologies diskette containing the windowed user interface debug software Use the following steps to install the software: 1. Insert the Motorola software diskette into the PC diskette drive. 2. If the system is not already running in Windows, start Windows. 3. From Windows, select a DOS window and run the install program. The general format for the command line of the install program is install <source>. For example, if your diskette drive is the a: drive, type in a:install a:. The program installs the software in the default destination c:\evm56007. 4. Close the DOS window and remove the Motorola software diskette from the diskette drive. Insert the Domain Technologies diskette labeled Debug-56K into the drive. 5. From Windows, run the Debugger installation program install.exe on the diskette. This can be done from the Microsoft Windows Program Manager by pulling down the File menu, choosing Run, entering a:install on the command line, and clicking OK. 6. Read the README.TXT if you are installing the Debugger program for the first time. This provides information in addition to that provided by the Domain Technologies manual included with this kit. 7. The install program creates a program group called EVM56007 and a program icon called EVM56007 within Windows. This step completes the software installation. MOTOROLA DSP56009EVMUM 1-9 Quick Start Guide Installation Procedure 1-10 DSP56009EVMUM MOTOROLA SECTION 2 EVALUATION MODULE THEORY OF OPERATION MOTOROLA DSP56009EVMUM 2-1 Evaluation Module Theory of Operation 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2-2 INPUTS AND OUTPUTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Serial Audio Interface (SAI). . . . . . . . . . . . . . . . . . . . . . . . Sony-Philips digital interface format (SPDIF) . . . . . . . . . . Other inputs and Outputs . . . . . . . . . . . . . . . . . . . . . . . . . Operating Mode Selection. . . . . . . . . . . . . . . . . . . . . . . . . OnCE™ Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RS232 Connections and JP1 . . . . . . . . . . . . . . . . . . . . . . Operating Modes and SRAM refresh in the 56009 . . . . . . Evaluation Module Parts . . . . . . . . . . . . . . . . . . . . . . . . . . Power Supplies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DSP56009EVMUM 2-3 2-4 2-4 2-5 2-5 2-6 2-6 2-7 2-7 2-7 2-8 2-8 MOTOROLA Evaluation Module Theory of Operation Inputs and Outputs Refer to Section 4, 56009EVM Schematics, for reference to pinouts and jumper configurations. 2.1 INPUTS AND OUTPUTS Analog signals connected to the Evaluation Module inputs are converted to 20 bit data at the ADC. U19 and U20 attenuate the signal and convert it to Balanced mode. The ADC has the Select Serial I/O Mode (SMODE) pin pulled high to make the ADC the SAI receive clock master. When the ADC is in Master mode, the ADC’s Serial Data Clock (SCLK) and Left/Right Select (L/R) word clock pins are outputs. The L/R word clock output is the opposite polarity of I2S. It is inverted in the Programmable Logic Device (PLD) to create true I2S. The ADC receives its oversampling clock on the Digital Section Clock Input (ICLKD), which is then internally divided by two, and this signal is provided to the Analog Section Clock Input (ICLKA). ICLKD can be driven from the 11.2896 MHz clock, the 12.288 MHz clock, or the 256 × Fs clock produced by the CS8412 AES/EBU Receiver. The Audio Power Down input (APD) and Digital Power Down input (DPD) pins are wired to the Cntl_Mute signal of the PLD. When pulled high, the ADC will be muted. When first pulled low, the ADC will be reset, then it will be enabled. The other possible input source comes from the SPDIF inputs (J14 for electrical input and J17 for optical input). Jumper JP4 selects the source (see Table 2-1 below). When receiving valid SPDIF input, the SPDIF Receiver drives the Master Clock (MCK) output that is 256 times the Frame Sync frequency of the received data. The CS8412 operates in Mode 3, the I2S Slave mode. Table 2-1 JP4 Jumpers Selection Electric SPDIF MOTOROLA Jumper Settings JP4.1 to JP4.3 JP4.2 to JP4.4 DSP56009EVMUM 2-3 Evaluation Module Theory of Operation Inputs and Outputs Table 2-1 JP4 Jumpers Selection Optical SPDIF 2.1.1 Jumper Settings JP4.3 to JP4.5 JP4.4 to JP4.6 Clock Select The Evaluation Module provides a means for the user to select which clock controls the reception and transmission of digital audio (see Table 2-2 below). JP2 selects the ADC and DAC clocks which, when jumpered, are set at 44.1 KHz and, when not jumpered, at 48 KHz. The expansion connector, J5, can be used to directly access the DSP. The receive SAI bus may be clocked by the selection made at JP2 (44.1 KHz or 48 KHz) or be clocked by the received SPDIF signal. The transmit SAI bus may be clocked by either the clock selected at JP2 or by the received SPDIF signal. It is the user’s responsibility to ensure that data is output at the desired rate. See Table 2-2, below. Table 2-2 JP5 Jumpers Receive /Transm it 2.1.2 Jumper JP5.1 to JP5.2 Jumper JP5.3 to JP5.4 No Jumper Rx Clocked by crystal – Clocked by received SPDIF Tx – Clocked by crystal Clocked by received SPDIF Serial Audio Interface (SAI) The DSP56009 SAI transmitter drives the six analog outputs and the SPDIF output. I2S is the Default mode for the DACs. The Master Clock (MCLK) rate for the DACs is 256 × Fs. The dual RC networks after the DACs serve as AC couplers for audio data, 2-4 DSP56009EVMUM MOTOROLA Evaluation Module Theory of Operation Inputs and Outputs and as low-pass filters to convert the delta-sigma digital output pulses to analog waveforms. The digitally controlled analog domain attenuators receive the audio data and attenuate or amplify the data as determined by the microcontroller. The attenuators receive the Serial Clock input (SCLK), Serial Data Input (SDATAI), and the Chip Select/latch (CS) from the microcontroller. 2.1.3 Sony-Philips digital interface format (SPDIF) The SPDIF transmitter receives data from the DSP through the Serial Data input (SDATA) using the Frame Sync (FSYNC) and the Serial Data Clock (SCK). The transmitter outputs SPDIF audio signals through J15 (electrical) and J16 (optical). Fs_sens from the clock select appears at the expansion connector in order to read the sampling rate with the DSP’s General Purpose I/O (GPIO1) at J5.41 and also at U21-2 to select the state of the ‘sample-rate’ bits transmitted within the channel status block. See the SPDIF specification for more information. The channel status bits and block sync signals (DRcv_Blk, DTrn_Blk, DRcv_CS, and DTrn_CS) are available at J5.43 to allow the DSP to read one of them, as well. Isolation transformers are used on both input and output, although they are not strictly required for SPDIF because this Evaluation Module is intended to be used as a development system. 2.1.4 Other inputs and Outputs The clock master is derived from one of two sources: the 11.2896 MHz clock or the 12.288 MHz clock. The microcontroller also receives commands from either the soft switches (S1, S2, S3, or S4) or from the Keypad Expansion Port, J18. The current user screen or the results of these commands are then displayed by a modular LCD panel with a 2 × 16 character display. The microcontroller code is capable of driving larger LCD displays, but all user screens are designed for a 2 × 16 character display. The MC68HC711E9 communicates with the DSP via the Serial Host Interface (SHI) port in SPI mode. When SS is pulled low, the microcontroller can write to the DSP. The MOSI and MISO lines pass control data through the DSP SHI in 24-bit mode. SCK is the SPI Shift Clock from the DSP. Again, the expansion connector, J5, can be used to access or intercept host port communications. MOTOROLA DSP56009EVMUM 2-5 Evaluation Module Theory of Operation Inputs and Outputs The Control_Data, Control_Clock, and Control_Latch lines from the microcontroller control the digitally controlled analog domain attenuators. The Control_Mute line mutes the ADC and the DACs; low is muted, high is enabled. 2.1.5 Operating Mode Selection DSP56009EVM modes can be selected at JP3, as shown in Table 2-3. Once the mode has been selected, the PLD can receive interrupts from the network attached to J19. Table 2-3 JP3 Jumpers Mode JP3.5 to JP3.6 JP3.3 to JP3.4 JP3.1 to JP3.2 0 X X X 1 X X - 2 X - X 3 X - - 4 - X X 5 - X - 6 - - X 7 - - - X = jumper installed; - = no jumper 2.1.6 OnCE™ Port The OnCETM port interface operates by receiving the serial data from the RS-232 Transceiver and executing commands sent by the host computer. These commands can reset the DSP, put the DSP in Debug mode, release the DSP from Debug mode, read and write to the OnCETM port, and read and write to the DSP itself. The serial bit rate is 19,200 bits/second. The RS-232 serial communications are performed in software on the MC68705K1. Port A of the MC68705K1 communicates with the DSP, and Port B communicates with the host computer. The acknowledge signal from the OnCETM port is a low-going pulse on DS0. Since the 68705K1 is too slow to reliably 2-6 DSP56009EVMUM MOTOROLA Evaluation Module Theory of Operation Inputs and Outputs catch this very narrow pulse, the pulse is latched in the PLD and the output of the latch appears on the ACK pin (PA2). When this occurs, the 68705K1 illuminates red LED D5 to indicate that the DSP is in the Debug mode. For more information on the OnCE port, see the DSP56000 Family Manual. The reset switch will reset the microcontroller, which will subsequently reset the DSP56009. The MC68705K1 source and object code are available from the Motorola DSP Division; contact your local Motorola FAE. 2.1.7 RS232 Connections and JP1 RS-232 is an often-abused standard, and the direction of the signals present on pins 2 and 3 of the DB9 connector do not always conform to the standard. JP1 provides the user with the ability to reverse these two pin connections without resorting to NULL Modem adapters or rewiring cable connectors. As shipped, JP1.1 is connected via shorting jumpers to JP1.3 and JP1.2 is connected to JP1.4. This connects J4.2 to the OUTPUT of the Evaluation Module’s RS-232 level converter (U4) and J4.3 to the INPUT of the board’s RS-232 receiver. These directions can be reversed by reorienting the shorting jumpers and turning them 90 degrees (one-quarter turn), thereby connecting JP1.1 to JP1.2 and JP1.3 to JP1.4. The user should never need to rewire an RS-232 connector in order to establish Evaluation Module communications with a host computer. 2.1.8 Operating Modes and SRAM refresh in the 56009 In Modes 0, 1, 2, and 3 the SRAM is refreshed from the nvRAM and the DSP can bootstrap from the SRAM via the EMI if a valid Bootstrap mode is used. When in Modes 4, 5, 6, and 7 the SRAM is not refreshed. Refreshes are not affected by jumpers on the expansion connector, J5. Jumpers J5.37 and J5.39 must be inserted to have full DSP control of the SRAM and nvRAM after bootstrap. 2.1.9 Evaluation Module Parts The parts list of the DSP56009EVM is shown in Section 5. MOTOROLA DSP56009EVMUM 2-7 Evaluation Module Theory of Operation Inputs and Outputs 2.1.10 Power Supplies The Evaluation Module requires power sources, for both analog and digital circuits, in order to operate. Bipolar analog power (use a linear power supply for best results) is received through screw terminals at J3. Digital power is received through screw terminals at J2 or via a 2.1mm connector (J1). When the power is on, D6 (green LED) is illuminated. Analog power input may be 8 to 12 volts and digital power input may be 8 to 15 volts. While the voltage regulator can accommodate higher input voltage potentials, the added heat dissipation required at these input voltage levels will result in the regulator becoming dangerously warm, and it is not recommended that the user subject the board to power inputs in excess of the maximum levels listed. Note: 2.1.11 Always supply the Evaluation Module with analog power prior to or simultaneous with the application of digital power. If digital power is supplied before the analog power, the DACs may go into one of three possible error modes (no long-term damage to the device will occur), and will not function correctly. If analog power is supplied first, or if both analog power and digital power are applied simultaneously, these problems do not appear and the DACs are properly initialized. Memory The Evaluation Module has 8192 bytes each of fast Static RAM (SRAM) and of nonvolatile RAM (nvRAM). The SRAM operates at zero wait states at a 40 MHz DSP clock speed, one wait state at 50, 66 MHz and two wait states at 81 MHz. The contents of the SRAM may be block-loaded into nvRAM and the contents of the nvRAM may be block- loaded into the SRAM. The lowest 3072 bytes of the nvRAM may also be used to store code to load into the DSP via EMI bootstrap. 2-8 DSP56009EVMUM MOTOROLA SECTION 3 PERIPHERAL SPECIFICATIONS MOTOROLA DSP56009EVMUM 3-1 Peripheral Specifications 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3-2 CS5390 STEREO ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 CS4331 STEREO DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 CS3310 STEREO DIGITAL VOLUME CONTROL . . . . . . . . 3-4 CS8412 DIGITAL AUDIO INTERFACE RECEIVER . . . . . . . 3-5 CS8402A DIGITAL AUDIO INTERFACE TRANSMITTER . . 3-6 STK10C68 CMOS 2K X 8 NVSRAM . . . . . . . . . . . . . . . . . . . 3-7 SC937-02 AES/EBU TRANSFORMER . . . . . . . . . . . . . . . . . 3-7 LCD PANEL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 WIRING FOR KEYPAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 DSP56009EVMUM MOTOROLA Peripheral Specifications CS5390 Stereo ADC The following section describes the various peripheral devices used on the DSP56009EVM and includes any necessary equations and information. Contact information for the manufacturers of significant peripheral devices is included along with the parts listing in Section 5. 3.1 CS5390 STEREO ADC The CS5390 is a complete Analog-to-Digital Converter (ADC) for stereo digital audio systems. It performs sampling, analog-to-digital conversion and anti-alias filtering, generating 20-bit values for both left and right inputs in serial form. The output word rate can be up to 50 kHz per channel. The CS5390 uses fifth-order, delta-sigma modulation with 64 times oversampling followed by digital filtering and decimation, which removes the need for an external anti-alias filter, beyond the simple balanced RC filter formed by R25, R26, and C8 (R31, R32, and C20 for the right channel). The ADC uses a differential architecture that provides excellent noise rejection. The CS5390 has a filter passband of DC to 21.7 kHz. The filters are linear phase, have 0.005 dB passband ripple, and greater than 100 dB stopband rejection. The operating temperature range is 0o to 70o. ICLKA APD 28 27 VREF+ VREF- 4 + - DAC 25 AGND 26 20 ICLKD + - FSYNC SCLK L/R 19 16 14 13 Serial Output Interface + - LP Filter S/H 1 OCLKD 5 Voltage Reference AINLAINL+ 3 AINRAINR+ ACAL 2 22 15 11 12 SDATA CMODE SMODE Digital Decimation Filter Comparator Digital Decimation Filter + - LP Filter S/H DAC 23 VA+ 24 VA- Comparator Calibration Microcontroller 7 VL+ 9 6 LGND 10 DCAL DPD Calibration SRAM 17 VD+ 18 DGND Figure 3-1 CS5390 ADC MOTOROLA DSP56009EVMUM 3-3 Peripheral Specifications CS4331 Stereo DAC 3.2 CS4331 STEREO DAC The CS4331 is a complete stereo Digital-to-Analog Converter (DAC) with 18-bit resolution, including interpolation, 1-bit digital-to-analog conversion, and output analog filtering in an 8-pin package. The CS4331 is based on delta-sigma modulation where the modulator output controls the reference voltage input to an ultra-linear analog low-pass filter. This architecture allows for infinite adjustment of sample rate between 1 kHz and 50 kHz while maintaining linear phase response, simply by changing the master clock frequency. The CS4331 contains optional on-chip de-emphasis and operates from a single +5 V power supply. The CS4331 has a 96 dB dynamic range, less than 0.003% THD, low clock jitter sensitivity and completely filtered line level outputs that use linear-phase filtering. . DEM/SCLK/CONFIG 2 LRCK SDATAI AGND VA+ 6 7 3 1 Serial Input Interface De-emphasis Voltage Reference Interpolator Delta-Sigma Modulator DAC Analog Low-Pass Filter Interpolator Delta-Sigma Modulator DAC Analog Low-Pass Filter 8 5 AOUTL AOUTR 4 MCLK Figure 3-2 CS4331 DAC 3.3 CS3310 STEREO DIGITAL VOLUME CONTROL The CS3310 is a complete stereo digital volume control designed specifically for audio systems. It features a 16-bit serial interface that controls two independent, low distortion (0.001% THD + N) audio channels. The CS3310 includes an array of well-matched resistors and a low-noise active output stage that is capable of driving a 600 Ω load. A total adjustable range of 127 dB, in 0.5 dB steps, is achieved through 95.5 dB of attenuation and 31.5 dB of gain. 3-4 DSP56009EVMUM MOTOROLA Peripheral Specifications CS8412 Digital Audio Interface Receiver The simple 3-wire interface provides daisy-chaining of multiple CS3310s for multi-channel audio systems. The device operates from ±5V supplies and has an input/output voltage range of ±3.75 V. AINL 16 14 + - M U X AOUTL 8 MUTE 8 1 8 AGNDL 15 AGNDR 10 8 M U X AINR Control Register 8 2 16 Serial to Parallel Register + 9 12 13 4 VA+ VA- VD+ 3 7 6 ZCEN CS SDATAI SDATAO SCLK AOUTR 5 DGND Figure 3-3 CS3310 Stereo Digital Volume Control CS SCLK SDATAI R7 R6 R5 R4 R3 R2 R1 R0 L7 L6 L5 L4 L3 L2 L1 L0 SDATAO R7 R6 R5 R4 R3 R2 R1 R0 L7 L6 L5 L4 L3 L2 L1 L0 L0 = Left Channel Least Significant Bit R0 = Right Channel Least Significant Bit L7 = Left Channel Most Significant Bit R7 = Right Channel Most Significant Bit SDATA is latched internally on the rising edge of SCLK SDATAO transitions after the falling edge of SCLK SDATAO bits reflect the data previously loaded into the CS3310 Figure 3-4 Serial Port Timing for the CS3310 3.4 CS8412 DIGITAL AUDIO INTERFACE RECEIVER The CS8412 is a monolithic CMOS device that receives and decodes audio data according to the AES 3 - 1992, EBU Tech. 3250-E, IEC 958, SPDIF, and EIAJ CP-340 interface standards. The CS8412 receives data from a transmission line, recovers the MOTOROLA DSP56009EVMUM 3-5 Peripheral Specifications CS8402A Digital Audio Interface Transmitter clock and synchronization signals, and de-multiplexes the audio and non-audio data. Either differential or single-ended inputs can be decoded. The CS8412 de-multiplexes the channel, user, and validity data directly to dedicated output pins for the most commonly needed channel status bits. VD+ DGND 7 9 RXP 10 RXN VA+ 8 FILT 22 AGND 20 MCK 21 19 Clock & Data Recovery RS-422 Receiver 16 CS12/FCK SEL 6 17 18 24 23 Audio Serial Port De-Mux Mux 13 M3 M2 M1 M0 5 Mux 4 Registers 3 2 1 CO/ Ca/ Cb/ Cc/ Cd/ Ca/ E0 E1 E2 F0 F1 F2 25 26 12 11 1 14 28 SDATA SCLK FSYNC C U VERF 15 ERF CBL Figure 3-5 CS8412 Digital Audio Interface Receiver 3.5 CS8402A DIGITAL AUDIO INTERFACE TRANSMITTER The CS8402A is a monolithic CMOS device that encodes and transmits audio data according to the AES 3 - 1992, EBU Tech. 3250-E, IEC 958, SPDIF, and EIAJ CP-340 interface standards. The CS8402A accepts audio and non-audio data and multiplexes and encodes the data. The audio serial port is double-buffered and capable of supporting a wide variety of formats. The CS8402A multiplexes the channel, user, and validity data directly from dedicated input pins for the most commonly needed channel status bits. M2 M1 M0 23 22 21 6 SCK 7 FSYNC 8 SDATA C U V 10 11 9 MCK 5 RST 16 Audio Serial Port RS422 Driver MUX Registers 20 17 TXP TXN 7 15 Dedicated Channel Status Bits 24 CBL TRNPT Figure 3-6 CS8402 Digital Audio Interface Transmitter 3-6 DSP56009EVMUM MOTOROLA Peripheral Specifications STK10C68 CMOS 2k x 8 nvSRAM 3.6 STK10C68 CMOS 2K X 8 NVSRAM The Simtek STK10C68 is a Fast Static RAM (25, 30, 35, and 45ns), with a nonvolatile electrically-erasable PROM (EEPROM) element incorporated in each static memory cell. The SRAM can be read and written an unlimited number of times while independent, nonvolatile data resides in EEPROM. Data may easily be transferred from the SRAM to the EEPROM (STORE cycle), or from the EEPROM to the SRAM (RECALL cycle) using the NE pin (Nonvolatile Enable). It combines the high performance and ease of use of a fast SRAM with nonvolatile data integrity. The STK10C68 features 12, 15, 20, and 25 ns output enable access times, hardware STORE and RECALL initiation, automatic STORE and RECALL timing, 104 or 105 STORE cycles to EEPROM, unlimited RECALL cycles from EEPROM, and 10-year data retention in EEPROM. The STK10C68 requires a single +5 V power supply. Input Buffers A3 A4 A5 A6 A7 A8 A9 A12 EEPROM Array 256 × 256 Store Static RAM Recall Array 256 × 256 Input Buffers DQ0 DQ1 DQ2 DQ3 DQ4 DQ5 DQ6 DQ7 Column I/O Column Decoder Store/ Recall Control A0 A1 A2 A10 A11 G NE E W Figure 3-7 STK10C68 8 K × 8 nvSRAM 3.7 SC937-02 AES/EBU TRANSFORMER The AES/EBU circuit incorporates a transformer to reject common mode interference while transmitting the signal with fast rise time and minimum aberration. The SC937-02 is a surface mount, low capacitance, wide-band AES/EBU transformer. The MOTOROLA DSP56009EVMUM 3-7 Peripheral Specifications LCD Panel SC937-02 has a very low capacitance shielded winding that reduces both radiated and received noise coupling and provides decreased jitter and improved audio quality, especially in noisy environments. EMI compliance and EMI susceptibility are improved by the use of this type of transformer. The transformer’s ratio is 1:1, primary inductance is 600 µH, inter-winding capacitance is 1.1 pF, bandwidth is 16 kHz to 100 MHz, and rise-time is 3 ns. Input Input Rtn 1 8 2 7 3 6 4 5 Output Rtn Output Figure 3-8 SC937-02 AES/EBU Transformer 3.8 LCD PANEL illustrates the different screens of the LCD panel and the corresponding actions of the soft switches. 3-8 DSP56009EVMUM MOTOROLA Peripheral Specifications LCD Panel MAIN MENU Slct Code/v1.09 Reset always returns here: AC-3 PCM AC-3 Master Volume PCM Mstr Vol Pro Noise Mstr Mstr + Logic Seq Vol AC-3 Vol - >+6 dB Ext See Right AC-3 Compression AC-3 AC-3... Cmp>Lin Cst1 Cst2 Lin RF Lo Dyn Rnge Cntrl AC-3 DCR + - Ext Nxt + - Lo> 0.00 Ext Nxt LFE Off Pro Logic > Off DRC Logic Nxt Off Out PL3 PL4 Ext Format > 3/2 AC-3 Information Stat > OK Nml Format > 3/2 3/0 Nxt Wid LF Nxt C Nxt Noise Gen > LF LS RS SW Nxt Additional Menu Noise Sequencer Surr Noise Gen > LF Dly Ctr Samp Dly Rat Ext Ext Nxt Sample Rate Format > 3/2 3/1 3/2 RF Noise Sequencer Phtm Nxt Samp Rat > 48 kHz Nxt 48 Surround Delay Continued on New Page Noise Gen > LF Output Format Out Ext Nxt Noise Sequencer Cntr Mode > Nml 1/0 2/0 20PL Nxt 2/1 2/2 Nxt Pro Logic On/Off/Auto Output Format Out Auto Pro Logic > PL4 Info Fmt LFE Nxt Out Ext On ProLogic Output Format LFE Level > On On Pro Additional Menus Hi> 0.00 Hi Dyn Rnge Cntrl AC-3 DCR Cmp Pro Logic On/Off Surr + Delay - >0 ms Ext 44.1 32 Ext Center Delay Cntr + Delay - >0 ms Ext Figure 3-9 LCD Softswitch Screens MOTOROLA DSP56009EVMUM 3-9 Peripheral Specifications LCD Panel AC-3 Information AC-3 Information AC-3 Information AC-3 Information Smp Rat>48 kHz BS Lang Cd > 9 Tim Cod > - sec/8 Mod > Main Ext Nxt Ext Nxt Ext Nxt Ext Nxt AC-3 Information AC-3 Information AC-3 Information AC-3 Information BS C Mx Lv > -3 dB Lang Cd #2 > 0 Tim Cod > - sec%8 Rat>384 kb/s Ext Nxt Ext Nxt Ext Nxt Ext Nxt AC-3 Information AC-3 Information AC-3 Information AC-3 Information Extra Word > No S Mx Lv > -3 dB Rm Typ > - Tim Cod > - frm Ext Nxt Ext Nxt Ext Nxt Ext Nxt AC-3 Information AC-3 Information AC-3 Information AC-3 Information LFE Dolby surr> Unk Mix Lv > - Tim Cod > - frc Present > No Ext Nxt Ext Nxt Ext Nxt Ext Nxt AC-3 Information AC-3 Information AC-3 Information AC-3 Information Aud Cod > 3/2 Cpyrght Prot> Yes Rm Typ #2 > - Stat > OK Ext Nxt Ext Nxt Ext Nxt AC-3 Information AC-3 Information AC-3 Information Frm Sz > 768 wds Original BS > Yes Mix Lv #2 > - Ext Nxt Ext Nxt Ext Nxt AC-3 Information AC-3 Information AC-3 Information CRC Sz > 468 wds Dial Nm > 0 Tim Cod > - hr Ext Nxt Ext Nxt Ext Nxt AC-3 Information AC-3 Information AC-3 Information BS ID > 8 Dial Nm #2 > 0 Tim Cod > - min Ext Nxt 3-10 Ext Nxt Ext Nxt Back to Smp Rat Menu Ext Nxt DSP56009EVMUM MOTOROLA Peripheral Specifications Wiring For Keypad 3.9 WIRING FOR KEYPAD A wiring diagram for a generic keypad is shown in Figure 3-10. The keypad is not provided with the DSP56009EVM. 9 8 7 6 Button # 1 5 4 3 Button # 16 2 1 10 MOTOROLA Figure 3-10 Keypad Wiring Diagram DSP56009EVMUM 3-11 SECTION 4 DSP56009EVM SCHEMATICS MOTOROLA DSP56009EVMUM 4-1 DSP56009EVM Schematics Figure 4-1 Figure 4-2 Figure 4-3 Figure 4-4 Figure 4-5 Figure 4-6 Figure 4-7 Figure 4-8 Figure 4-9 4-2 DSP56009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 Microcontroller and LCD. . . . . . . . . . . . . . . . . . . . . . . . 4-4 Programmable Logic Device . . . . . . . . . . . . . . . . . . . . 4-5 SRAM and External Memory Interface . . . . . . . . . . . . . 4-6 RS-232 and OnCE Interface . . . . . . . . . . . . . . . . . . . . 4-7 Analog-to-Digital Converter . . . . . . . . . . . . . . . . . . . . . 4-8 Digital-to-Analog Converter . . . . . . . . . . . . . . . . . . . . . 4-9 SPDIF I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11 DSP56009EVMUM MOTOROLA MOTOROLA DSP_MODC 3-B3 DSP_MODB 3-B3 DSP_MODA 3-B3 EMI 3-F3, 5-A4 DSP_RST 3-B4, 2-G3, 4-F3 77 78 2 79 80 3 ~MWR 4 5 7 11 12 13 14 16 18 19 20 22 23 24 25 62 63 64 65 67 68 69 71 MA13 MA12 MA11 MA10 MA9 MA8 MA7 MA6 MA5 MA4 MA3 MA2 MA1 MA0 MD7 MD6 MD5 MD4 MD3 MD2 MD1 MD0 ~MRAS ~MCAS DVCC0 DSP56009EVMUM MD7 MD6 MD5 MD4 MD3 MD2 MD1 MD0 MA14 MA13 MA12 MA11 MA10 MA9 MA8 MA7 MA6 MA5 MA4 MA3 MA2 MA1 MA0 33 32 30 31 27 1 AGND0 8 AGND1 15 AGND2 21 AGND3 17 AVCC1 6 AVCC0 ~HREQ 43 SCK/SCL 26 35 MISO/SDA 42 ~SS/HA2 41 MOSI/HA0 73 74 75 76 +5V SDI1 SDI0 SCKR WSR 56 SDI1 SDI0 57 SCKR 51 WSR 55 GPIO3 GPIO2 GPIO1 GPIO0 SDO2 SDO1 SDO0 SCKT WST 45 46 47 49 50 SDO2 SDO1 SDO0 SCKT WST SGND2 54 SGND1 44 SGND0 34 48 SVCC1 40 SVCC0 +5V +5V C1 0.01 µF Figure 4-1 DSP56009 ~MWR ~MCS0 MA17/~MCS1 MA16/~MCS2 MA15/~MCS3 ~MRD PVCC PCAP PINIT PGND EXTAL 61 DR DSO 58 DSI/OS0 59 DSCK/OS1 60 +5V DSP5600 9 ~RESET MODA/~IRQA MODB/~IRQB MODC/~NMI QVCC2 QVCC1 QVCC0 QGND2 QGND1 QGND0 DSP56009 72 DGND1 66 DGND0 70 ~MRD +5V 36 37 38 39 53 28 9 52 29 10 +5V D_HREQ D_SCK D_MISO D_SS D_MOSI GPIO3 GPIO2 GPIO1 GPIO0 R6 10 K DSP_Clk 3-F2 EXP1 5-G4 /DR 4-F4 DSO 4-F4, 3-F4 DSI/OS0 4-F5 DSCK/OS1 4-F5 7 68 kHz OnCE Int er f ace DSP56009EVM Schematics DSP56009 4-3 4-4 U16 3 Vo 2 DSP56009EVMUM HC11_GPIO 5-F5 Cntl_Mute 7-G4, 3-D4, 8-B5 Cntl_Latch 7-A6 Cntl_Clk 7-A6 Cntl_Data 7-A6 Vss 1 LCD Panel 2 Vdd +5V 14 13 12 11 10 9 8 7 6 E5 R/W 4 RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 R20 20 K Contrast 3 1 R8 10 K E R/W RS PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 VRH STRB/R/~W PB7/A15 PB6/A14 PB5/A13 PB4/A12 PB3/A11 PB2/A10 PB1/A9 PB0/A8 PC7/A7/D7 PC6/A6/D6 PC5/A5/D5 PC4/A4/D4 PC3/A3/D3 PC2/A2/D2 PC1/A1/D1 PC0/A0/D0 26 Vdd 2 MODB/VSTBY 3 MODA/~LIR 51 VRL 52 6 35 36 37 38 39 40 41 42 16 15 14 13 12 11 10 9 Vss 1 Microcontroller 8 XTAL STRA/AS 5 E 4 PE7/AN7 PE3/AN3 PE6/AN6 PE2/AN2 PE5/AN5 PE1/AN1 PE4/AN4 PE0/AN4 PD5/~SS PD4/SCK PD3/MOSI PD2/MISO PD1/TxD PD0/RxD 1 2 3 4 5 6 7 8 9 +5V JP9 Configuration Jumpers 50 49 48 47 46 45 44 43 25 24 23 22 21 20 XIRQ 18 RESET 17 19 IRQ PA0/IC3 34 PA1/IC2 33 32 PA2/IC1 31 PA3/IC4/OC5/OC1 30 PA4/OC4/OC1 29 PA5/OC3/OC1 28 PA6/OC2/OC1 PA7/PAI/OC1 27 MC68HC711E9 U2 7 EXTAL HC11_Clk 4-F2 Figure 4-2 Microcontroller and LCD +5V RS R/W E PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 +5V 4 MHz Cl ock JP8 1 3 5 7 9 S2 R11 10 K D_SS D_SCK D_MOSI D_MISO 1 2-pin male header 2 R3 1 0 K S1 R10 10 K +5V 2 4 6 8 10 S4 R1 10 IR_Rcv 3-B4 EXP2 7-A3, 3-F3 6-G3, 8-B4 +5V J18 Keypad exp S3 R12 10 K DSP56009EVM Schematics Microcontroller and LCD MOTOROLA MOTOROLA JP3 Mode Select 1 3 5 DSP56009EVMUM 1 +5V IR_Rcv 2-F4 Y2 12.288 MHz Oscillator 1 2 3 1 2 3 Y1 11.2896 MHz Oscillator IR Rcv. U22 Infared Receiver 3 2 +5V DSP_MODA 1-E3 DSP_MODB 1-E4 DSP_MODC 1-E4 DSP_RST 1-E3, 2-G3, 4-F3 2 4 6 J19 Interrupts 4 3 2 1 R14 10 K R15 10 K R5 10 K R4 10 K R2 10 K 1 5 6 37 2 7 8 10 11 12 40 14 13 18 19 20 21 22 42 3 33 32 15 35 43 44 23 31 34 38 30 28 27 26 25 39 Fs_sens 5-D2, 8-B5 ACK 4-F4 ACK_RST 4-F4 ~Cntl_Mute 6-F4 Cntl_Mute 7-G4, 2-B4, 8-B5 Gnd Gnd Gnd Gnd 24 4 36 16 PLD EPM7032 U5 17 9 29 41 Vcc Vcc Vcc Vcc +5V Tx R48 10 K Figure 4-3 Programmable Logic Device Jumper -11.2896 MHz No Jumper- 12.288 MHz JP2 2 Clock Select 1 R1 10 K +5V R9 10 K +5V 2 1 +5V Rx 4 JP5 Master Select 3 R57 10 K ~MRD DSO 1-I4, 4-F4 8412_MCK 8-G1 5390_Clk 6-G2 EMI 5-A4, 1-F5 Rx - Jumper- Clocked by cryst al No Jumper- Cl ocked by Rcvd SP Tx - Jumper- Clocked by cryst al No Jumper- Cl ocked by DSP GPIO2 WST SCKT WSR ~WSR GPIO3 (768 kHz) EXP2 7-A3, 5-E4, 2-F4, 8-G2, 6-G3, 8-B4 DSP_Clk 1-H3 ADA_Clk/2 8-C3 ADA_Clk 7-A2 NVRAM_G 5-D6 DSP56009EVM Schematics Programmable Logic Device 4-5 4-6 EMI 3-F3, 1-F5 2 ~MCAS MA12 MA7 MA6 MA5 MA4 MA3 MA2 MA1 MA0 MD0 MD1 MD2 MA11 MA10 MA9 MA8 MA7 MA6 MA5 MA4 MA3 MA2 MA1 MA0 24 19 18 17 15 14 12 11 8 7 5 4 ~MRAS 27 21 ~MWR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 DSP56009EVMUM Vss 22 U15 Vss 9 MOTOROLA 25 23 20 16 13 10 6 3 30 28 27 26 25 24 23 22 21 20 19 18 17 16 15 +5V Q8 26 28 ~CAS8 29 D8 DQ7 DQ6 DQ5 DQ4 DQ3 DQ2 DQ1 DQ0 Vcc Vcc 1 MD7 MD6 MD5 MD4 MD3 MA10 ~MWR MA13 MA8 MA9 MA11 MD7 MD6 MD5 MD4 MD3 MD2 MD1 MD0 +5V 10 K R19 +5V 10 K R45 GPIO3 GPIO2 SDI1 SDI0 SCKR WSR SDO2 SDO1 SDO0 SCKT WST D_MOSI D_MISO D_SS D_SCK NVRAM_G 3-F2 7-A3, 3-F3, 2-F4, 8-G2, 6-G3, 8-B4 EXP2 JP7 NAD Select 6 5 4 3 2 1 Figure 4-4 SRAM and External Memory Interface SRAM/nvRAM U6 Vcc ~WE nc A8 A9 nc ~G A10 ~E D7 D6 D5 D4 D3 STK10C48 ~NE nc A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Vss ~RAS ~CAS ~W 30-Pin SIMM Socket Fs_sens 3-D6, 8-B5 DTrn_Blk 8-B5 DRcv_Blk 8-G3 49 47 45 43 41 39 37 35 33 31 29 27 25 23 21 19 17 15 13 11 9 7 5 3 1 J5 Expansion Connector HC11_GPIO 2-B4 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 +5V DRcv_CS 8-G3 DTrn_CS 8-B5 SDI1 SDI0 SCKR WSR SDO2 SDO1 SDO0 SCKT WST D_HREQ D_MOSI D_MISO D_SS D_SCK GPIO0 GPIO1 GPIO2 GPIO3 EXP1 1-I4 DSP56009EVM Schematics SRAM and External Memory Interface MOTOROLA J4 OnCE/Host 9 8 7 6 5 4 3 2 1 2 4 JP1 Serial Config 1 3 C5 1 µF MAX232 U4 16 Vcc +5V C2- 5 C2+ 4 R1in 8 R2in 13 7 T2out C7 1 µF V6 R2out 9 C6 1 µF C22 1 µF Reset S5 R17 10 K Figure 4-5 RS-232 and OnCE Interface Gnd 15 R1out 12 T2in 10 RS-232 Transceiver 14 T1out T1in 11 3 C1- 2 V+ 1 C1+ C4 1 µF D7 1N5827 +5V 4 1 5 6 7 8 2 3 U24 OSC1 16 RST OSC2 15 PB1 Vss 14 PB0 Vdd 13 IRQ/Vpp 12 PA7 11 PA0 PA6 10 PA1 PA5 9 PA2 PA4 PA3 OnCE Controller MC68705K1 C2 47 pF HC11_Clk 2-D2 Y3 4 MHz D5 Deb Red R16 1500 +5V DSP56009EVMUM DSI/OS0 1-I4 DSCK/OS1 1-I4 ACK 3-D5 ACK_RST 3-D5 DSO 1-I4, 3-F4 /DR 1-I3 DSP_RST 1-E3, 3-B4, 2-G C3 47 pF DSP56009EVM Schematics RS-232 and OnCE Interface 4-7 4-8 DSP56009EVMUM AGND 2 AGND 2 Ri ght Anal og I nput J7 J6 Lef t Anal og Input 1 1 R27 20 K R21 20 K AGND AGND 3 2 2 U20 2 U19 R28 20 K 1 3 2 R22 20 K 1 3 3 1 1 R29 10 K R23 10 K 5 6 U20 10 K R30 U19 7 7 R32 39.2 R31 39.2 R26 39.2 R25 39.2 C11 100 µF C20 6.8 nF NPO C8 6.8 nF NPO AGND 27 -AVss AGND DPD 10 16 15 14 13 11 DCAL 9 ACAL 5 CMODE OCLKD 20 FSYNC SDATA SCLK L/~R 17 VD+ SMODE 12 +5V ~Cntl_Mute 3-D5 TST02 21 8 TST01 LGND DGND 6 18 19 ICLKD CS5390 A/D Converter U7 23 VA+ VREFVA- AGND APD 1 2 24 VREF+ 26 AINR+ 25 AINR- 4 AINL- 28 51 7 22 ICLKA VL+ 3 AINL+ AGND AGND C21 100 µF 0.22 µF C12 C63 0.01 µF Figure 4-6 Analog-to-Digital Converter AGND AGND 5 6 R24 10 K +AVcc R47 SDI0 SCKR ~WSR 7-A3, 3-F 8-G2, 8-B 5 3 DSP56009EVM Schematics Analog-to-Digital Converter MOTOROLA MOTOROLA SDO2 SDO1 SDO0 SCKT WST DSP56009EVMUM Cntl_Data 2-B3 Cntl_Clk 2-B4 Cntl_Latch 2-B4 EXP2 3-F3, 5-E4, 2-F4, 8-F1, 6-G3, 8-A4 ADA_Clk 3-F2 C66 1 µF AGND C14 .0027 µF AGND C44 0.1 µF C18 .0027 µF AGND C46 0.1 µF C16 .0027 µF AGND C45 0.1 µF 12 VA+ AOUTL14 +AVcc AOUTL ZCEN1 ~MUTE8 +AVcc 1 ZCEN ~MUTE8 AGND -AVss 2 ~CS AGNDL AGNDRVA- DGND 15 10 13 5 6 SCLK 12 VA+ -AVss AOUTL14 U11 CS3310 AOUTR11 Dig Vol Cntrl 4 VD+ AGND 7 SDATA0 3 SDATAI 9 AINR 16 AINL 14 +AVcc AGNDL AGNDRVA- DGND 15 10 13 5 6 SCLK 2 ~CS 12 VA+ -AVss U13 CS3310 AOUTR11 Dig Vol Cntrl 7 SDATA0 3 SDATAI 9 AINR 16 AINL 4 VD+ AGND U12 AOUTR11 CS3310 Dig Vol Cntrl 7 SDATA0 3 SDATAI 1 ZCEN 6 SCLK ~MUTE8 2 ~CS AGNDL AGNDRVA- DGND 15 10 13 5 9 AINR 16 AINL 10 4 VD+ R50 Figure 4-7 Digital-to-Analog Converter AGND R52 5 6 K C13 .0027 µF R38 600 AOUTR5 3 LRCK AGND R51 6 56 K 1 SDATAI AOUTL8 2 ~DEM/SCLK R37 600 AGND C17 .0027 µF R56 56 K R42 600 R41 600 AGND R54 56 K C15 .0027 µF R40 600 R39 600 C28 1 µF U8 CS4331 D/A Converter 7 4 VA+ MCLK +AVcc AGND 1 SDATAI AOUTL8 2 ~DEM/SCLK C75 1 µF AOUTR5 3 LRCK AGND R55 6 56 K C74 1 µF U10 CS4331 D/A Converter 7 4 VA+ MCLK +AVcc AGND 1 SDATAI AOUTL8 2 ~DEM/SCLK C73 1 µF AOUTR5 3 LRCK AGND R53 6 56 K C72 1 µF U9 CS4331 D/A Converter 7 4 VA+ MCLK +AVcc AGND AGND AGND 1 1 1 1 1 1 2 2 2 2 2 2 J9 Right Output 1 J8 Left Output 1 Cntl_Mute 2-B4, 3-D4, 8-B5 J11 Right Output 2 J10 Left Output 2 J13 Right Output 3 J12 Left Output 3 DSP56009EVM Schematics Digital-to-Analog Converter 4-9 4-10 EXP2 7-A3, 3-F3, 5-E4, 2-F4, 8-F1, 6-G3 DSP56009EVMUM 2 1 4 1 +5V 10 K R49 8 SDO0 3 24 12 16 4 1 15 11 10 9 6 SCKT ADA_Clk/2 3-F2 +5V 8 FSYNC U21 5 MCK 1 3 5 TRNPT/FC1 ~C9/~C15 ~RST ~C1/FC0 ~C6/~C2 ~C7/~C3 MOTOROLA EM1/~C8 EM0/~C9 13 14 2 21 22 23 17 20 +5V Mode 4 C67 0.1 µF 9 5 20 6 4 3 2 27 25 13 10 R46 1 K AGND C27 0.047 µF C65 0.1 µF Figure 4-8 SPDIF I/O GND 18 M0 M1 M2 ~PRO AES/EBU Transmitter TXN TXP 19 VD+ +5V Input Select 2 4 6 JP4 CS8402A CBL/SBC U C/SBF V SDATA SCK 1 2 128Fs C68 0.1 µF R7 75 7 2 3 1 2 5 L4 SC937-02 WST Fibre Optic Receiver Cntl_Mute 7-G4, 2-B4, 3-D4 Fs_sens 3-D6, 5-D2 DTrn_Blk 5-D2 DTrn_CS 5-F2 J17 Optical In J14 CP340 In C26 0.1 µF R44 90.9 R43 374 FILT C0/E0 CA/E1 CB/E2 CC/F0 CD/F1 CE/F2 ERF U23 7 VD+ DGND 8 +5V 5 3 1 2 6 1 15 14 1 23 24 18 17 16 11 26 12 28 19 WSR SDI1 SCKR 2 J16 Optical Out EXP2 7-A3, 3-F3, 5-E4, 2-F4, 6-G3, 8-A4 8412_MCK 3-F4 DRcv_Blk 5-D1 DRcv_CS 5-F1 Mode 3 +5V 256Fs J15 CP340 Out CBL U C M0 M1 M2 M3 SEL FSYNC Fibre Optic Transmitter 4 L3 SC937-02 8 1 AGND AGND 21 SCK VERF MCK SDATA AES/EBU Receiver CS8412 CS12/FCK RXN RXP 22 VA+ +AVcc +5V DSP56009EVM Schematics SPDIF I/O MOTOROLA Analog Power Connector J3 D4 1N5827 J1 5-20 V AC/DC Power Input J2 Power Input Terminal Block 3 2 1 D3 1N5827 D2 1N5827 D1 1N5827 DSP56009EVMUM 2 1 OUT U17 3 GND 3 VIN VOUT 1 2 VOUT GND Voltage Regulator VIN 3 C10 1 µF GROUND 2 MC7805 C9 1 µF IN Voltage Regulator MC7905 U18 C23 100 µF C64 100 µF C19 100 µF 1 U14 MC7805 Voltage Regulator 1 µF C25 1 µF C24 C50 C55 C49 C51 C52 C53 C54 C57 C56 C59 C58 C60 C61 AGND C62 C69 C70 C71 1 DGnd JP6 Ground Connect 2 +5V C30 C31 C32 C33 C34 C35 C36 C37 C38 C39 C40 C41 C42 C43 C47 C48 Anal og Decoupl i ng Caps —al l 0.1 µF unl ess ot her w i se not ed C49, C50- U7 C56 ,C57, C70- U12 C51- U8 C58 ,C59, C71- U13 C52- U9 C60 - U19 C53- U10 C61 - U20 C54, C55,C69- U11 C62 - U23 C29 Figure 4-9 Power Supply -AVss +AVcc D6 Power Green R18 1500 L1 Ferrite Di gi t al dec oupl i ng Caps —al l 0.1 µ F unl es s ot herw i s e not ed C29- C37- U1 C42- U6 C38- U2 C43- U7 C39- U4 C47- U21 C40,C4 1- U5 C48- U23 DSP56009EVM Schematics Power Supply 4-11 SECTION 5 DSP56009EVM PLD SPECIFICATION AND EVM PARTS LIST MOTOROLA DSP56009EVMUM 5-1 DSP56009EVM PLD Specification and EVM Parts List 5.1 5.1.1 5.1.2 5.2 5-2 EPM7032 PLD SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . PLD Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PLD Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EVALUATION MODULE PARTS LIST . . . . . . . . . . . . . . . . . DSP56009EVMUM 5-3 5-3 5-5 5-8 MOTOROLA DSP56009EVM PLD Specification and EVM Parts List EPM7032 PLD SPecifications 5.1 5.1.1 EPM7032 PLD SPECIFICATIONS PLD Schematics The PLD schematic is illustrated on the following page in Figure 5-1. MOTOROLA DSP56009EVMUM 5-3 DSP56009EVM PLD Specification and EVM Parts List EPM7032 PLD SPecifications DSP_RST 74157 SEL MODA_SEL A1 Y1 DSP_MODA IRQA B1 Y2 DSP_MODB MODB_SEL A2 Y3 DSP_MODC IRQB B2 Y4 MODC_SEL A3 IRQC B3 EXP2_GPIO2 EXP2_GPIO3 NVRAM_G A4 B4 GND Multiplexer 74393 CNTL_MUTE ~CNTL_MUTE EXP2_~WSR EXP2_WSR ADA_Clk A1 Q1A A2 Q1B CLR1 Q1C EXP2_SCKT NANDLTCH DSO Q1D Q2A Q2B Q2C Q2D CLR2 ACK ACK_RST EXP2_WST Counter clkdiv4 4M_Clk Clock_in 74393M 1M_Clk Clock_Out QA CKA clockpr4 12MHz_Clk 11MHz_Clk InputA InputB SelA SelB CKR OutputA OutputB QB QC QD DSP_CLK mux4x1 RCVMASTER_SEL D3 D2 D1 D0 S1 FS_SENS S0 ADA_CLK 5390_CLK TXMASTER_SEL 8412_MCK Figure 5-1 PLD Schematic 5-4 DSP56009EVMUM MOTOROLA DSP56009EVM PLD Specification and EVM Parts List EPM7032 PLD SPecifications 5.1.2 PLD Equations The following data represents the PLD equations for the DSP56009EVM: Device: EPM7032TC44 *************************EQUATIONS************************* ACK_RST : INPUT; CNTL_MUTE : INPUT; DSO : INPUT; DSP_RST : INPUT; EMI_MRD : INPUT; EXP2_~WSR : INPUT; FS_SENS : INPUT; IRQA : INPUT; IRQB : INPUT; IRQC : INPUT; MODA_SEL : INPUT; MODB_SEL : INPUT; MODC_SEL : INPUT; RCVMASTER_SEL : INPUT; TXMASTER_SEL : INPUT; 4M_Clk : INPUT; 11MHZ_CLK : INPUT; 12MHZ_CLK : INPUT; 8412_MCK : INPUT; % ACK = _LC031 % ACK = LCELL( _EQ001 $ GND); _EQ001 = _X001; _X001 = EXP( DSO & _X002); _X002 = EXP( ACK_RST & _X001); % ADA_CLK = _LC006 % ADA_CLK = LCELL( _EQ002 $ GND); _EQ002 = FS_SENS & !RCVMASTER_SEL & 12MHZ_CLK # !FS_SENS & RCVMASTER_SEL & 8412_MCK # !FS_SENS & !RCVMASTER_SEL & 11MHZ_CLK; MOTOROLA DSP56009EVMUM 5-5 DSP56009EVM PLD Specification and EVM Parts List EPM7032 PLD SPecifications % ADA_Clk/2 = _LC019 % % ADA_Clk/2 = |74393:15|Q1A % ADA_Clk/2 = TFFE( VCC, _EQ003, VCC, VCC, VCC); _EQ003 = _X003 & _X004 & _X005; _X003 = EXP(!FS_SENS & RCVMASTER_SEL & 8412_MCK); _X004 = EXP( FS_SENS & !RCVMASTER_SEL & 12MHZ_CLK); _X005 = EXP(!FS_SENS & !RCVMASTER_SEL & 11MHZ_CLK); % DSP_CLK = _LC020 % % DSP_CLK = |74393m:82|QD % DSP_CLK = TFFE( _EQ004, !12MHZ_CLK, VCC, VCC, VCC); _EQ004 = _LC009 & _LC014 & _LC027; % DSP_MODA = _LC010 % DSP_MODA = LCELL( _EQ005 $ GND); _EQ005 = DSP_RST & IRQA # !DSP_RST & MODA_SEL; % DSP_MODB = _LC011 % DSP_MODB = LCELL( _EQ006 $ GND); _EQ006 = DSP_RST & IRQB # !DSP_RST & MODB_SEL; % DSP_MODC = _LC012 % DSP_MODC = LCELL( _EQ007 $ GND); _EQ007 = DSP_RST & IRQC # !DSP_RST & MODC_SEL; % EXP2_GPIO2 = _LC016 % EXP2_GPIO2 = TRI(_LC016, GLOBAL(!DSP_RST)); _LC016 = LCELL( GND $ GND); % EXP2_GPIO3 = _LC021 % EXP2_GPIO3 = TRI(_LC021, GLOBAL(!DSP_RST)); _LC021 = LCELL( GND $ GND); % EXP2_SCKT = |74393:15|Q1B % EXP2_SCKT = TRI(_LC002, GLOBAL(!TXMASTER_SEL)); _LC002 = TFFE( ADA_Clk/2, _EQ008, VCC, VCC, VCC); _EQ008 = _X003 & _X004 & _X005; % EXP2_WSR = _LC003 % EXP2_WSR = LCELL(!EXP2_~WSR $ GND); 5-6 DSP56009EVMUM MOTOROLA DSP56009EVM PLD Specification and EVM Parts List EPM7032 PLD SPecifications % EXP2_WST = |74393:15|Q2D % EXP2_WST = TRI(_LC017, GLOBAL(!TXMASTER_SEL)); _LC017 = TFFE( _EQ009, !_LC007, VCC, VCC, VCC); _EQ009 = _LC004 & _LC013 & _LC026; % NVRAM_G = _LC001 % NVRAM_G = LCELL( _EQ010 $ GND); _EQ010 = DSP_RST & EMI_MRD # !DSP_RST & MODC_SEL; % 1M_Clk = _LC025 % % 1M_Clk = |clkdiv4:116|Clock_Out % 1M_Clk = TFFE( VCC, _LC024, VCC, VCC, VCC); % 5390_CLK = _LC023 % 5390_CLK = LCELL( _EQ011 $ GND); _EQ011 = FS_SENS & !RCVMASTER_SEL & 12MHZ_CLK # !FS_SENS & RCVMASTER_SEL & 8412_MCK # !FS_SENS & !RCVMASTER_SEL & 11MHZ_CLK; % |clkdiv4:116|:1 % _LC024 = TFFE( VCC, 4M_Clk, VCC, VCC, VCC); % |74393:15|Q1C = |74393:15|:5 % _LC005 = TFFE( _EQ012, _EQ013, VCC, VCC, VCC); _EQ012 = ADA_Clk/2 & _LC002; _EQ013 = _X003 & _X004 & _X005; % |74393:15|Q1D = |74393:15|:9 % _LC007 = TFFE( _EQ014, _EQ015, VCC, VCC, VCC); _EQ014 = ADA_Clk/2 & _LC002 & _LC005; _EQ015 = _X003 & _X004 & _X005; % |74393:15|Q2A = |74393:15|:28 % _LC004 = TFFE( VCC, !_LC007, VCC, VCC, VCC); % |74393:15|Q2B = |74393:15|:29 % _LC013 = TFFE( _LC004, !_LC007, VCC, VCC, VCC); % |74393:15|Q2C = |74393:15|:30 % _LC026 = TFFE( _EQ016, !_LC007, VCC, VCC, VCC); _EQ016 = _LC004 & _LC013; MOTOROLA DSP56009EVMUM 5-7 DSP56009EVM PLD Specification and EVM Parts List Evaluation Module Parts List % |74393m:82|QA = |74393m:82|:1 % _LC014 = TFFE( VCC, !12MHZ_CLK, VCC, VCC, VCC); % |74393m:82|QB = |74393m:82|:3 % _LC009 = TFFE( _LC014, !12MHZ_CLK, VCC, VCC, VCC); % |74393m:82|QC = |74393m:82|:5 % _LC027 = TFFE( _EQ017, !12MHZ_CLK, VCC, VCC, VCC); _EQ017 = _LC009 & _LC014; % ~CNTL_MUTE = _LC029 % ~CNTL_MUTE = LCELL(!CNTL_MUTE $ GND); 5.2 EVALUATION MODULE PARTS LIST The following four pages contain, in table form, information on the parts and devices on the Evaluation Module. Contact information for suppliers of key devices, as indicated by footnote, is also included at the end of the table. Table 5-1 DSP56009EVM Parts List Part Designator Manufacturer Part Number Description U1 Motorola DSP56009 DSP U2 Motorola MC68HC711E9 Microcontroller U24 Motorola MC68HC705K1 Microcontroller (OnCE) U7 Crystal a CS5390-KS ADC U8 U9 U10 Crystal a CS4331-KS DAC U21 Crystal a CS8402-CS AES/EBU Transmitter U23 Crystal a CS8412-CS AES/EBU Receiver U11 U12 U13 Crystal a CS3310-KS Digital Volume Controller 5-8 DSP56009EVMUM MOTOROLA DSP56009EVM PLD Specification and EVM Parts List Evaluation Module Parts List Part Designator L3 L4 Manufacturer Scientific Conversion Part Number Description SC937-02 Audio Isolation Transformer b U6 Simtek c STK1068-S45 SRAM/nVRAM U16 Hitachi LM052L LCD Module U14 U17 Motorola MC7805 Voltage Regulator U18 Motorola MC7905 Voltage Regulator U19 U20 Motorola MC33078 Op-Amp U5 Altera EPM7032TC44-12 PLD D1 D2 D3 D4 D7 Rectron FM4001 Rectifier, SMD U4 Maxim MAX232CSE RS232 Transceiver C4 C5 C6 C7 C9 C10 C22 C24 C25 Murata GRM42-6Y5V105Z16BL 1.0 µF capacitor C28 C66 C72 C73 C74 C75 TDK CC1206CY5V335ZTR 3.3 µF capacitor C1 C63 Murata GRM42-6XR103K050BD 0.01 µF capacitor C8 C20 Venkel C1210C0G500-682JNE 6.8 nF capacitor C11 C19 C21 C23 C64 Future SME25T101M6X16LL 100 µF Aluminum Electrolytic capacitor C2 C3 Murata GRM42-6C0G470J050B D 47 pF capacitor C26 C29 C30 C31 C33 C34 C35 C36 C37 C38 C39 C40 C41 C42 C43 C44 C45 C46 C47 C48 C49 C50 C51 C52 C53 C54 C55 C56 C57 C58 C59 C60 C61 C62 C65 C67 C68 C69 C70 C71 Murata GRM42-6X7R104K050B L 0.1 µF capacitor C27 Venkel C1206X7R500-473KNE 0.047 µF capacitor C13 C14 C15 C16 C17 C18 Venkel C1206X7R500-272KNE 0.0027 µF capacitor C12 Venkel C1206X7R500-224KNE 0.22 µF capacitor MOTOROLA DSP56009EVMUM 5-9 DSP56009EVM PLD Specification and EVM Parts List Evaluation Module Parts List Part Designator Manufacturer Part Number Description 10 Ω 1/4W resistor R50 R25 R26 R31 R32 Venkel CR1206-8W-39R2FT 39.2 Ω 1/4W resistor R47 Venkel CR1206-8W-51R1FT 51 Ω 1/4W resistor 75 Ω 1/4W resistor R7 R44 Venkel CR1206-8W-90R9FT 90.9 Ω 1/4W resistor R43 Venkel CR1206-8W-3740FT 374 Ω 1/4W resistor R37 R38 R39 R40 R41 R42 Future NRC12F604OTR 604 Ω 1/4W resistor R46 Future CRCW1206-102JRT1 1.0 KΩ 1/4W resistor R16 R18 Newark 44F6300-1.5K 1.5 KΩ 1/4W resistor R1 R2 R3 R4 R5 R6 R8 R9 R10 R11 R12 R13 R14 R15 R17 R19 R23 R24 R29 R30 R45 R48 R49 R57 Future CR32-1002F-T 10 KΩ 1/4W resistor R21 R27 20 kΩ 1/4W resistors R51 R52 R53 R54 R55 R56 56 kΩ 1/4W resistors R20 R22 R28 Digikey D4AA24-ND 20 kΩ 1/4W trimpot thru-hole Y1 MMD MB100HA-11.2896MHz 11.2896 MHz Clock Oscillator Y2 MMD MB100HA-12.288MHz 12.288 MHz Clock Oscillator Y3 Ecliptek EC2-040-4.000MHz-I 4.0 MHz Crystal JP2 JP6 JP8 2-pin single row header J19 4-pin single row header JP1 JP5 4-pin double row header JP3 JP4 JP7 6-pin double row header J18 10-pin double row header 5-10 DSP56009EVMUM MOTOROLA DSP56009EVM PLD Specification and EVM Parts List Evaluation Module Parts List Part Designator Manufacturer Part Number Description on PC board for U16 14-pin single row female header on PC board for U16 14-pin single row male header J5 50-pin double row male header on PC board for U15 SIMM socket J17 Sharp GP1F32R Optical Connector-Receive J16 Sharp GP1F32T Optical Connector-Transmit J1 Mouser 16PJ031 2.1 mm DIN power connector J4 Mouser 152-3409 PC mount DB9 female connector J7 J9 J11 J13 J6 J8 J10 J13 J14 J15 Mouser 161-4215 RCA Jack on PC board for U2 McKensie PLCC-52P-T 52-pin PLCC socket J2 2-position terminal block J3 3-position terminal block S1 S2 S3 S4 S5 6mm pushbutton switch D6 Future HLMP1790 Green LED 2 mA, 1.8 V D5 Future HLMP1700 Red LED 2 mA, 1.8 V U22 Sharp GP1U56Y Infrared receiver L1 Future BL01RN1-A62 Ferrite on PC board for U14 TO-220 0.5” compact heat sink a.Crystal Semiconductor Corporation, P.O. Box 17847, Austin, TX 78760, (512) 445-7222 Fax: (512) 462-2723 b.Scientific Conversion, Inc., 42 Truman Drive, Novato, CA 94947,(415) 892-2323, Fax: (415) 892-2321 c.Simtek Corporation, 1465 Kelly Johnson Blvd., Colorado Springs, CO 80920, (800) 637-1667, Fax: (719) 531-9481 MOTOROLA DSP56009EVMUM 5-11 SECTION 6 EXAMPLE TEST PROGRAM MOTOROLA DSP56009EVMUM 6-1 Example Test Program 6.1 6.2 6.2.1 6.2.2 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.4 6.4.1 6.4.2 6.5 6.6 6-2 OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3 WRITING THE PROGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Source Statement Format . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Example Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 ASSEMBLING THE PROGRAM . . . . . . . . . . . . . . . . . . . . . . 6-7 Assembler Command Format . . . . . . . . . . . . . . . . . . . . . . 6-7 Assembler Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8 Assembler Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11 Assembling the Example Program . . . . . . . . . . . . . . . . . 6-16 MOTOROLA DSP LINKER . . . . . . . . . . . . . . . . . . . . . . . . . 6-16 Linker Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17 Linker Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23 INTRODUCTION TO THE DEBUGGER SOFTWARE . . . . 6-24 RUNNING THE PROGRAM . . . . . . . . . . . . . . . . . . . . . . . . 6-26 DSP56009EVMUM MOTOROLA Example Test Program Overview 6.1 OVERVIEW This section contains an example that illustrates how to develop a very simple program for the DSP56009. This example has been designed for users who have little or no experience with the DSP development tools. The example demonstrates the form of assembly programs, gives instructions on how to assemble programs, and shows how the Debugger can be used to verify the operation of programs. The rounded blocks represent the assembly and object files. The white blocks represent software programs to assemble and link the assemble programs. The gray blocks represent hardware products. The following sections give basic information regarding the assembly program, the Assembler, the Linker and the object files. Detailed information about these subjects can be found in the Assembler and Linker manuals provided with the Motorola DSP CLAS software package, available through your Motorola sales office or distributor. The documentation is also available through the Motorola DSP internet URL http://www.motorola-dsp.com. Assembly Program *.asm Assembler Relocatable Object File *.cln Linker Executable Object File *.cld ADS Command 68HC711E9 Converter Card DSP56009 DSP56009EVM Figure 6-1 Development Process Flow MOTOROLA DSP56009EVMUM 6-3 Example Test Program Writing the Program 6.2 WRITING THE PROGRAM The following sections describe the format of assembly language source statements and give an example assembly program. 6.2.1 Source Statement Format Programs written in assembly language consist of a sequence of source statements. Each source statement may include up to six fields separated by one or more spaces or tabs: a label field, an operation field, an operand field, up to two data transfer fields, and a comment field. For example, the following source statement shows all six possible fields: trm mac x0,y0,a Label Operation Operand x:(r0)+,x0 y:(r4)+,y0 X Data Transfer Y Data Transfer ;Text Comment 6.2.1.1 Label Field The label field is the first field of a source statement and can take one of the following forms: • A space or tab as the first character on a line ordinarily indicates that the label files is empty and that the line has no label. • An alphabetic character as the first character indicates that the line contains a symbol called a label. • An underscore as the first character indicated that the label is a local label. With the exception of some directives, a label is assigned the value of the location counter of the first word of the instruction or data being assembled. A line consisting of a label only is a valid line and has the effect of assigning the value of the location counter to the label. 6.2.1.2 Operation Field The operation field appears after the label field and must be preceded by at least one space or tab. Entries in the operation field may be one of three types: • Opcode—mnemonics that correspond directly to DSP machine instructions • Directive—special operation codes known to the Assembler which control the assembly process 6-4 DSP56009EVMUM MOTOROLA Example Test Program Writing the Program • Macro call—invocation of a previously defined macro which is to be inserted in place of the macro call 6.2.1.3 Operand Field The interpretation of the operand field is dependent on the contents of the operation field. The operand field, if present, must follow the operation field and must be preceded by at least one space or tab. 6.2.1.4 Data Transfer Fields Most opcodes can specify one or more data transfers to occur during the execution of the instruction. These data transfers are indicated by two addressing mode operands separated by a comma, with no embedded blanks. If two data transfers are specified, they must be separated by one or more blanks or tabs. Refer to the DSP56000 Family Manual for a complete discussion of addressing modes that are applicable to data transfer specifications. 6.2.1.5 Comment Field Comments are not considered significant to the Assembler, but can be included in the source file for documentation purposes. A comment field is composed of any characters that are preceded by a semicolon. 6.2.2 Example Program This program takes two lists of data, one in X memory, and one in Y memory, and calculates the sum of the products of the two lists. Calculating the sum of products is the basis for many DSP functions. Therefore, the DSP56009 has a special instruction (MAC) that multiplies two values and adds the result to the contents of an accumulator. This program is provided as example.asm on the DSP56009EVM demos diskette and is placed in the EVM56007 directory by the installation procedure. MOTOROLA DSP56009EVMUM 6-5 Example Test Program Writing the Program Example 6-1 Simple DSP56009 Code Example ;************************************************************* ;A SIMPLE PROGRAM: CALCULATING THE SUM OF PRODUCTS ;************************************************************* PBASE EQU $100 ;instruct the assembler to replace ;every occurrence of PBASE with $200 XBASE EQU $0 ;used to define the position of the ;data in X memory YBASE EQU $0 ;used to define the position of the ;data in Y memory ;************************************************************* ;X MEMORY ;************************************************************* org x:XBASE ;instructs the assembler that we ;are referring to X memory starting ;at location XBASE list1 dc $475638,$738301,$92673a,$898978,$091271,$f25067 dc $987153,$3A8761,$987237,$34b852,$734623,$233763 dc $f76756,$423423,$324732,$f40029 ;************************************************************* ;Y MEMORY ;************************************************************* org y:YBASE ;instructs the assembler that we ;are referring to Y memory starting ;at location YBASE list2 dc $f98734,$800000,$fedcba,$487327,$957572,$369856 dc $247978,$8a3407,$734546,$344787,$938482,$304f82 dc $123456,$657784,$567123,$675634 ;************************************************************* ;PROGRAM ;************************************************************* org p:0 ;put following program in program ;memory starting at location 0 jmp begin ;p:0 is the reset vector i.e. where ;the DSP looks for instructions ;after a reset org p:PBASE ;start the main program at p:PBASE begin move move clr move 6-6 #list1,r0 ;set up pointer to start of list1 #list2,r4 ;set up pointer to start of list2 a ;clear accumulator a x:(r0)+,x0 y:(r4)+,y0 ;load the value of X memory pointed ;to by the contents of r0 into x0 and ;post-increment r0 ;load the value of Y memory pointed ;to by the contents of r4 into y0 and ;post-increment r4 DSP56009EVMUM MOTOROLA Example Test Program Assembling the Program Example 6-1 Simple DSP56009 Code Example (Continued) do mac #15,endloop;do 15 times x0,y0,a x:(r0)+,x0 y:(r4)+,y0 ;multiply and accumulate, and load ;next values endloop jmp * ;this is equivalent to ;label jmp label ;and is therefore a never-ending, ;empty loop ;************************************************************* ;END OF THE SIMPLE PROGRAM ;************************************************************* 6.3 ASSEMBLING THE PROGRAM The following sections describe the format of the Assembler command, give a list of Assembler special characters and directives, and give instructions to assemble the example program. 6.3.1 Assembler Command Format The Motorola DSP Assembler is included with the DSP56009EVM on the Motorola 3-1/2 inch diskette and can be installed by following the instructions in Section 1.4.3. The Motorola DSP Assembler is a program that translates assembly language source statements into object programs compatible with the DSP56009. The general format of the command line to invoke the Assembler is: asm56000[options] <filenames> where asm56000 is the name of the Motorola DSP Assembler program, and <filenames> is a list of the assembly language programs to be assembled. The following section describes the Assembler options. To avoid ambiguity, the option arguments should immediately follow the option letter with no blanks between them. MOTOROLA DSP56009EVMUM 6-7 Example Test Program Assembling the Program 6.3.2 Assembler Options -A This option indicates that the Assembler should run in Absolute mode, generating an absolute object file when the -B command line option is given. By default, the Assembler produces a relocatable object file that is subsequently processed by the Motorola DSP Linker. -B<objfil> This option specifies that an object file is to be created for Assembler output. <objfil> can be any legal operating system filename, including an optional pathname. The type of object file produced depends on the Assembler operation mode. If the -A option is supplied on the command line, the Assembler operates in Absolute mode and generates an absolute object (.cld) file. If there is no -A option on the command line, the Assembler operates in Relative mode and creates a relocatable object (.cln) file. If the -B option is not specified, the Assembler will not generate an object file. If no <objfil> is specified, the Assembler will use the basename (filename without extension) of the first filename encountered in the source input file list and append the appropriate file type (.cln or.cld) to the basename. The -B option should be specified only once. Example: asm56000 -Bfilter main.asm fft.asm fio.asm This example assembles the files main.asm, fft.asm, and fio.asm together to produce the relocatable object file filter.cln. -D <symbol> <string> This option replaces all occurrences of <symbol> with <string> in the source files to be assembled. Example: asm56000 -DPOINTS 16 prog.asm This example replaces all occurrences of the symbol POINTS in the program prog.asm by the string ‘16’. -EA<errfil> or -EW<errfil> These options allow the standard error output file to be reassigned on hosts that do not support error output redirection from the command line. <errfil> must be present as an argument, but can be any legal operating system filename, including an 6-8 DSP56009EVMUM MOTOROLA Example Test Program Assembling the Program optional pathname. The -EA option causes the standard error stream to be written to <errfil>; if <errfil> exists, the output stream is appended to the end of the file. The -EW option also writes the standard error stream to <errfil>; if <errfil> exists, it will be overwritten. Example: asm56000 -EWerrors prog.asm This example redirects the standard output to the file errors. If the file already exists, it will be overwritten. -F<argfil> This option indicates that the Assembler should read command line input from <argfil>. <argfil> can be any legal operation system filename, including an optional pathname. <argfil> is a text file containing further options, arguments, and filenames to be passed to the Assembler. The arguments in the file need to be separated only by some form of white space. A semicolon on a line following white space makes the rest of the line a comment. Example: asm56000 -Fopts.cmd This example invokes the Assembler and takes the command line options and source filenames from the command file opts.cmd. -G This option sends the source file line number information to the object file. This option is valid only in conjunction with the -B command line option. The generated line number information can be used by debuggers to provide source-level debugging. Example: asm56000 -B -Gmyprog.asm This example assembles the file myprog.asm and sends the source file line number information to the resulting object file myprog.cln. -I<pathname> This option causes the Assembler to look in the directory defined by <pathname> for any include file not found in the current directory. <pathname> can be any legal operating system pathname. Example: asm56000 -I\project\ testprog MOTOROLA DSP56009EVMUM 6-9 Example Test Program Assembling the Program This example uses IBM PC pathname conventions, and would cause the Assembler to prefix any include files not found in the current directory with the \project\ pathname. -L<lstfil> This option specifies that a listing file is to be created for Assembler output. <lstfil> can be any legal operating system filename, including an optional pathname. If no <lstfil> is specified, the Assembler will use the basename (filename without extension) of the first filename encountered in the source input file list and append .lst to the basename. The -L option should be specified only once. Example: asm56000 -L filter.asm gauss.asm This example assembles the files filter.asm and gauss.ams together to produce a listing file. Because no filename was given, the output file will be named using the basename of the first source file, in this case filter, and the listing file will be called filter.lst. -M<pathname> This option causes the Assembler to look in the directory defined by <pathname> for any macro file not found in the current directory. <pathname> can be any legal operating system pathname. Example: asm56000 -Mfftlib\ trans.asm This example uses IBM PC pathname conventions, and would cause the Assembler to look in the fftlib subdirectory of the current directory for a file with the name of the currently invoked marco found in the source file, trans.asm. -V This option causes the Assembler to report assembly progress to the standard error output stream. -Z This option causes the Assembler to strip symbol information from the absolute load file. Normally symbol information is retained in the object file for symbolic references purposes. This option is only valid with the -A and -B options. Note: Multiple options can be used. A typical string might be: Example: asm56000 -A -B -L -G filename.asm 6-10 DSP56009EVMUM MOTOROLA Example Test Program Assembling the Program 6.3.3 Assembler Directives In addition to the DSP56009 instruction set, the assembly programs can contain mnemonic directives that specify auxiliary actions to be performed by the Assembler. These are the Assembler directives. These directives are not always translated into machine language. The following sections briefly describe the various types of Assembler directives. 6.3.3.1 Assembler Significant Characters There are several one and two character sequences that are significant to the Assembler. The Assembler significant characters are: ; - Comment delimiter ;; - Unreported comment delimiter \ - Line continuation character or macro dummy argument concatenation operator ? - Macro value substitution operator % - Macro hex value substitution operator ^ - Macro local label override operator “ - Macro string delimiter or quoted string DEFINE expansion character @ - Function delimiter * - Location counter substitution ++ - String concatenation operator [] - Substring delimiter << - I/O short addressing mode force operator < - Short addressing mode force operator > - Long addressing mode force operator # - Immediate addressing mode operator #< - Immediate short addressing mode force operator #> - Immediate long addressing mode force operator MOTOROLA DSP56009EVMUM 6-11 Example Test Program Assembling the Program 6.3.3.2 Assembly Control The directives used for assembly control are: COMMENT - Start comment lines DEFINE - Define substitution string END - End of source program FAIL - Programmer generated error message FORCE - Set operand forcing mode HIMEM - Set high memory bounds INCLUDE - Include secondary file LOMEM - Set low memory bounds MODE - Change relocation mode MSG - Programmer generated message ORG - Initialize memory space and location counters RADIX - Change input radix for constants RDIRECT - Remove directive or mnemonic from table SCSJMP - Set structured control branching mode SCSREG - Reassign structured control statement registers UNDEF - Undefine DEFINE symbol WARN - Programmer generated warning 6-12 DSP56009EVMUM MOTOROLA Example Test Program Assembling the Program 6.3.3.3 Symbol Definition The directives used to control symbol definition are: ENDSEC - End section EQU - Equate symbol to a value GLOBAL - Global section symbol declaration GSET - Set global symbol to a value LOCAL - Local section symbol declaration SECTION - Start section SET - Set symbol to a value XDEF - External section symbol definition XREF - External section symbol reference 6.3.3.4 Data Definition/Storage Allocation The directives used to control constant data definition and storage allocation are: BADDR - Set buffer address BSB - Block storage bit-reverse BSC - Block storage of constant BSM - Block storage modulo BUFFER - Start buffer DC - Define constant DCB - Define constant byte DS - Define storage DSM - Define modulo storage DSR - Define reverse carry storage ENDBUF - End buffer MOTOROLA DSP56009EVMUM 6-13 Example Test Program Assembling the Program 6.3.3.5 Listing Control and Options The directives used to control the output listing are: LIST - List the assembly LSTCOL - Set listing field widths NOLIST - Stop assembly listing OPT - Assembler options PAGE - Top of page/size page PRCTL - Send control string to printer STITLE - Initialize program subtitle TABS - Set listing tab stops TITLE - Initialize program title 6.3.3.6 Object File Control The directives used for control of the object file are: COBJ - Comment object code IDENT - Object code identification record SYMOBJ - Write symbol information to object file 6-14 DSP56009EVMUM MOTOROLA Example Test Program Assembling the Program 6.3.3.7 Macros and Conditional Assembly The directives used for macros and conditional assembly are: DUP - Duplicate sequence of source lines DUPA - Duplicate sequence with arguments DUPC - Duplicate sequence with characters DUPF - Duplicate sequence in loop ENDIF - End of conditional assembly ENDM - End of macro definition EXITM - Exit macro IF - Conditional assembly directive MACLIB - Macro library MACRO - Macro definition PMACRO - Purge macro definition 6.3.3.8 Structured Programming The directives used for structured programming are: .BREAK - Exit from structured loop construct .CONTINUE - Continue next iteration of structured loop .ELSE - Perform following statements when .IF false .ENDF - End of .FOR loop .ENDI - End of .IF condition .ENDL - End of hardware loop .ENDW - End of .WHILE loop .FOR - Begin .FOR loop .IF - Begin .IF condition .LOOP - Begin hardware loop .REPEAT - Begin .REPEAT loop .UNTIL - End of .REPEAT loop .WHILE - Begin .WHILE loop MOTOROLA DSP56009EVMUM 6-15 Example Test Program Motorola DSP Linker 6.3.4 Assembling the Example Program The Assembler is a MS-DOS based program, thus to use the Assembler you will need to exit Windows or open a MS-DOS Prompt Window. To assemble the example program, type asm56000 -a -b -l -g example.asm in the evm007 directory created by the installation process from Section 1.4.3. This will create two additional files: example.cld and example.lst. The example.cld file is the absolute object file of the program, and this is what will be downloaded into the DSP56009. The example.lst file is the listing file and gives full details of where the program and data will be placed in the DSP56009 memory. 6.4 MOTOROLA DSP LINKER Though not needed for our simple example, the Motorola DSP Linker is also discussed here in the DSP56009EVM User’s Manual. The DSP Linker may be obtained through your Motorola sales office or distributor. The Motorola DSP Linker is a program that processes relocatable object files produced by the Motorola DSP Assembler, generating an absolute executable file that can be downloaded to the DSP56009. The general format of the command line to invoke the Linker is: dsplnk [options] <filenames> where dsplnk is the name of the Motorola DSP Linker program, and <filenames> is a list of the relocatable object files to be linked. The following section describes the Linker options. To avoid ambiguity, the option arguments should immediately follow the option letter with no blanks between them. 6-16 DSP56009EVMUM MOTOROLA Example Test Program Motorola DSP Linker 6.4.1 Linker Options -A This option auto-aligns circular buffers. Any modulo or reverse-carry buffers defined in the object file input sections are relocated independently in order to optimize placement in memory. Code and data surrounding the buffer are packed to fill the space formerly occupied by the buffer and any corresponding alignment gaps. Example: dsplnk -A myprog.cln This example links the file myprog.cln and optimally aligns any buffers encountered in the input. -B<objfil> This option specifies that an object file is to be created for Linker output. <objfil> can be any legal operating system filename, including an optional pathname. If no filename is specified, or if the -B option is not present, the Linker will use the basename (filename without extension) of the first filename encountered in the input file list and append .cld to the basename. If the -I option is present (see below), an explicit filename must be given. This is because if the Linker followed the default action, it possibly could overwrite one of the existing input files. The -B option should be specified only once. If the file named in the -B option already exists, it will be overwritten. Example: dsplnk -Bfilter.cld main.cln fft.cln fio.cln In this example, the files main.cln, fft.cln, and fio.cln are linked together to produce the absolute executable file filter.cld. -EA<errfil> or -EW<errfil> These options allow the standard error output file to be reassigned on hosts that do not support error output redirection from the command line. <errfil> must be present as an argument, but can be any legal operating system filename, including an optional pathname. The -EA option causes the standard error stream to be written to <errfil>; if <errfil> exists, the output stream is appended to the end of the file. The -EW option also writes the standard error stream to <errfil>; if <errfil> exists it will be overwritten. Example: dsplnk -EWerrors myprog.cln MOTOROLA DSP56009EVMUM 6-17 Example Test Program Motorola DSP Linker This example redirects the standard error output to the file errors. If the file already exists, it will be overwritten. -F<argfil> This option indicates that the Linker should read command line input from <argfil>. <argfil> can be any legal operating system filename, including an optional pathname. <argfil> is a text file containing further options, arguments, and filenames to be passed to the Linker. The arguments in the file need be separated only by some form of white space. A semicolon on a line following white space makes the rest of the line a comment. Example: dsplnk -Fopts.cmd This example invokes the Linker and takes command line options and input filenames from the command file opts.cmd. -G This option sends source file line number information to the object file. The generated line number information can be used by debuggers to provide source-level debugging. Example: dsplnk -B -Gmyprog.cln This example links the file myprog.cln and sends source file line number information to the resulting object file myprog.cld. -I The Linker ordinarily produces an absolute executable file as output. When the -I option is given, the Linker combines the input files into a single relocatable object file suitable for reprocessing by the Linker. No absolute addresses are assigned and no errors are issued for unresolved external references. Note that the -B option must be used when performing incremental linking in order to give an explicit name to the output file. If the filename were allowed to default, it could overwrite an existing input file. Example: dsplnk -I -Bfilter.cln main.cln fft.cln fio.cln In this example, the files main.cln, fft.cln, and fio.cln are combined to produce the relocatable object file filter.cln. 6-18 DSP56009EVMUM MOTOROLA Example Test Program Motorola DSP Linker -L<library> The Linker ordinarily processes a list of input files, which each contain a single relocatable code module. If the -L option is encountered, the Linker treats the following argument as a library file and searches the file for any outstanding unresolved references. If a module is found in the library that resolves an outstanding external reference, the module is read from the library and included in the object file output. The Linker continues to search a library until all external references are resolved or no more references can be satisfied within the current library. The Linker searches a library only once, when it is encountered on the command line. Therefore, the position of the -L option on the command line is significant. Example: dsplnk -B filter main fir -Lio This example illustrates linking with a library. The files main.cln and fir.cln are combined with any needed modules in the library io.lib to create the file filter.cld. -M<mapfil> This option indicates that a map file is to be created. <mapfil> can be any legal operating system filename, including an optional pathname. If no filename is specified, the Linker will use the basename (filename without extension) of the first filename encountered in the input file list and append .map to the basename. If the -M option is not specified, then the Linker will not generate a map file. The -M option should be specified only once. If the file named in the -M option already exists, it will be overwritten. Example: dsplnk -M filter.cln gauss.cln In this example, the files filter.cln and gauss.cln are linked together to produce a map file. Because no filename was given with the -M option, the output file will be named using the basename of the first input file, in this case filter. The map file will be called filter.map. -N The Linker considers case significant in symbol names. When the -N option is given the Linker ignores case in symbol names; all symbols are mapped to lower case. Example: dsplnk -N filter.cln fft.cln fio.cln MOTOROLA DSP56009EVMUM 6-19 Example Test Program Motorola DSP Linker In this example, the files filter.cln, fft.cln, and fio.cln are linked to produce the absolute executable file filetr.cld. All symbol references are mapped to lower case. -O<mem>[<ctr>][<map>]:<origin> By default, the Linker generates instructions and data for the output file beginning at absolute location zero for all DSP memory spaces. This option allows the programmer to redefine the start address for any memory space and associated location counter. <mem> is one of the single-character memory space identifiers (X, Y, L, P). The letter may be upper or lower case. The optional <ctr> is a letter indicating the High (H) or Low (L) location counters. If no counter is specified, the default counter is used. <map> is also optional and signifies the desired physical mapping for all relocatable code in the given memory space. It may be I for Internal memory, E for External memory, R for ROM, A for Port A, and B for Port B. If <map> is not supplied, then no explicit mapping is presumed. The <origin> is a hexadecimal number signifying the new relocation address for the given memory space. The -O option may be specified as many times as needed on the command line. This option has no effect if incremental linking is being done (see the -I option). Example: dsplnk -Ope:200 myprog -Lmylib This example initializes the default P memory counter to hex 200 and maps the program space to external memory. -P<pathname> When the Linker encounters input files, the current directory (or the directory given in the library specification) is first searched for the file. If it is not found and the -P option is specified, the Linker prefixes the filename (and optional pathname) of the file specification with <pathname> and searches the newly formed directory pathname for the file.The pathname must be a legal operating system pathname. The -P option may be repeated as many times as desired. Example: dsplnk -P\project\ testprog This example uses IBM PC pathname conventions, and would cause the Linker to prefix any library files not found in the current directory with the \project\ pathname. -R<ctlfil> This option indicates that a memory control file is to be read to determine the placement of sections in DSP memory and other Linker control functions. <ctlfil> can 6-20 DSP56009EVMUM MOTOROLA Example Test Program Motorola DSP Linker be any legal operating system filename, including an optional pathname. If a pathname is not specified, an attempt will be made to open the file in the current directory. If no filename is specified, the Linker will use the basename (filename without extension) of the first filename encountered in the link input file list and append .ctl to the basename. If the -R option is not specified, then the Linker will not use a memory control file. The -R option should be specified only once. Example: dsplnk -Rproj filter.cln gauss.cln In this example, the files filter.cln and gauss.cln are linked together using the memory file proj.ctl. -U<symbol> This option allows the declaration of an unresolved reference from the command line. <symbol> must be specified. This option is useful for creating an undefined external reference in order to force linking entirely from a library. Example: dsplnk -Ustart -Lproj.lib This example declares the symbol start undefined so that it will be resolved by code within the library proj.lib. -V This option causes the Linker to report linking progress (beginning of passes, opening and closing of input files) to the standard error output stream. This is useful to insure that link editing is proceeding normally. Example: dsplnk -V myprog.cln This example links the file myprog.cln and sends progress lines to the standard error output. MOTOROLA DSP56009EVMUM 6-21 Example Test Program Motorola DSP Linker -X<opt>[,<opt>,...,<opt>] The -X option provides for link time options that alter the standard operation of the Linker. The options are described below (* means default). All options may be preceded by NO to reverse their meaning. The -X<opt> sequence can be repeated for as many options as desired. Option Meaning ABC* Perform address bounds checking AEC* Check form of address expressions ASC Enable absolute section bounds checking CSL Cumulate section length data ESO Do not allocate memory below ordered sections OVLP Warn on section overlap RO Allow region overlap RSC* Enable relative section bounds checking SVO Preserve object file on errors WEX Add warning count to exit status Example: dsplnk -XWEX filter.cln fft.cln fio.cln This example allows the Linker to add the warning count to the exit status so that a project build will abort on warnings as well as errors. -Z This option allows the Linker to strip source file line number and symbol information from the output file. Symbol information normally is retained for debugging purposes. This option has no effect if incremental linking is being done (see the -I option). Example: dsplnk -Zfilter.cln fft.cln fio.cln In this example, the files filter.cln, fft.cln, and fio.cln are linked to produce the absolute object file filter.cln. The output file will contain no symbol or line number information. 6-22 DSP56009EVMUM MOTOROLA Example Test Program Motorola DSP Linker 6.4.2 Linker Directives Similar to the Assembler directives, the Linker includes mnemonic directives that specify auxiliary actions to be performed by the Linker. The following sections briefly describe the Linker directives. BALIGN -Auto-align circular buffers BASE - Set region base address IDENT - Object module identification INCLUDE - Include directive file MAP - Map file format control MEMORY - Set region high memory address REGION - Establish memory region RESERVE - Reserve memory block SBALIGN - Auto-align section buffers SECSIZE - Pad section length SECTION - Set section base address SET - Set symbol value SIZSYM - Set size symbol START - Establish start address SYMBOL - Set symbol value MOTOROLA DSP56009EVMUM 6-23 Example Test Program Introduction to the Debugger Software 6.5 INTRODUCTION TO THE DEBUGGER SOFTWARE This section will give a brief introduction of the Domain Technologies Debugger, detailing only that which is required to work through this example. Full details of the Debugger and an informative tutorial can be found in the Debug-56K Manual. The Domain Technologies Debugger is a software development system for the DSP56009. The Domain Technologies Debugger is included with the DSP56009EVM on the Domain Technologies 3-1/2 inch diskette and can be installed by following the instructions in Section 1.4.3. To invoke the Debugger, double-click on the icon labelled EVM56007 Debugger in the EVM56007 program group that was created when the Debugger was installed. The Debugger display will be similar to Figure 6-2, with the screen divided into four windows: the command window, the data window, the unassembly window, and the registers window (DSP56303EVM Debugger shown). The command window is the window selected, which means that key strokes will be placed in the command window. The command window is where commands are entered. The data window is used to display DSP56009 data. The unassembly window is used to display the DSP56009 programs. The next instruction to be executed will be highlighted. The registers window shows the contents of the DSP56009 internal registers. 6-24 DSP56009EVMUM MOTOROLA Example Test Program Introduction to the Debugger Software Figure 6-2 Example Debugger Window Display When the command window is selected as in Figure 6-2, the tool-bar at the top of the screen contains buttons for the most often used commands. From right to left the commands are: go, stop, step, jump, automatic update, reset and radix. The go button runs the DSP56009 from the program counter. The stop button stops the DSP56009. The step button executes a single instruction. The jump button is similar to the step button, except that subroutines are treated as one instruction. The automatic update button turns the automatic screen update mode on, so that the DSP56009 is interrupted periodically to update the data and registers windows. The reset button resets the DSP56009. The radix button can be used to change the radix of the selected window. Other buttons will appear when other windows are selected, and the function of these buttons can be found in the Debug-56K Manual. MOTOROLA DSP56009EVMUM 6-25 Example Test Program Running the Program 6.6 RUNNING THE PROGRAM To load the example program developed above into the Debugger, click in the command window and type load example. The instruction at line 33 will be highlighted in the unassembly window, as this will be the first instruction to be executed. However, before we start to execute the program, we should check that the values we expect to be in data memory are there. To do this, type display x:0 and display y:0. The data will be displayed in the data window. To step through the program, type step at the command window prompt. As a shortcut, you can click on the step button or you can type the start of the command and press the space bar, and the debugger will complete the remainder of the command. To repeat the last command, simply press return. As you step through the code, you will see the registers in the registers window being changed by the instructions. After each cycle, any register that has been changed will be brightened. Once you have stepped through the program, ensure that the program has executed correctly by checking that the result in accumulator a is: $FE 9F2051 6DFCC2. Stepping through the program like this is good for short programs, but it is impractical for large complex programs. The way to debug large programs is to set breakpoints. These are user-defined points at which execution of the code will stop, allowing the user to step through the section of interest. To set a breakpoint in the example to check that the values in r0 and r4 are correct before the do loop, type break p:$106 in the command window. You will see the line before the loop brighten in the unassembly window, indicating the breakpoint has been set. To point the DSP56009 back to the start point of the program, type change pc 0. This changes the program counter such that it is pointing to the reset vector. To start the program running type go or click on the go button. The DSP56009 will stop when it reaches the breakpoint, and you will be able to step through the remainder of the code. To exit the Debugger, type quit at the command prompt. 6-26 DSP56009EVMUM MOTOROLA APPENDIX A AUDIO PASS-THROUGH EXAMPLE MOTOROLA DSP56009EVMUM A-1 Audio Pass-Through Example A.1 A.2 A.3 A-2 PASS-THROUGH THEORY . . . . . . . . . . . . . . . . . . . . . . . . . A-3 SPDIF INPUT PASS-THROUGH THEORY . . . . . . . . . . . . . A-4 EVM SETUP FOR AUDIO PASS-THROUGH . . . . . . . . . . . . A-5 DSP56009EVMUM MOTOROLA Audio Pass-Through Example Pass-Through Theory A.1 PASS-THROUGH THEORY The main program loop of the passthru.asm code serves as a reference guide on how to pass data into and out of the EVM. The following describes the operation of the passthru.asm program. Audio samples are composed of left and right data words that are received and transmitted alternately. The RX_HERE bit is polled until it is set, indicating that a the left data word is shifted in on the associated serial receive data pin (SDI0 or SDI1) and transferred to the receive data register (RX0, RX1, or RX2). This bit is cleared after the word is received. The left receive interrupt service routine moves the word in the receive data register into the receive buffer LEFT_AUDIN. The received word is also saved into another register such as X1. The user's code may be inserted in this section to perform any necessary audio processing. The word to be transmitted out, stored in X1 is then moved into the LEFT_AUDOUT transmit buffer. The left transmit interrupt service routine moves the word in the transmit buffer into the transmit data register (TX0, TX1, or TX2) and it is shifted out on the associated serial transmit data pin (SDO0, SDO1, or SDO2). The right data is received and transmitted similarly. After the right word is received, the RX_HERE bit is set in the right receive interrupt routine to indicate that the next data to be received (left data) is a new sample. The program loops back to the beginning of the main code to receive the next sample. The illustration shown in Figure A-1 is the interrupt sequence for analog audio input. MOTOROLA DSP56009EVMUM A-3 Audio Pass-Through Example SPDIF Input Pass-Through Theory SAI_LFT_TX_IRQ MOVEP X:LEFT_AUDOUT,X:TX0 MOVEP X:LEFT_AUDOUT,X:TX1 MOVEP X:LEFT_AUDOUT,X:TX2 ;movep x:left_digout,x:tx0 ;movep x:left_digout,x:tx1 ;movep x:left_digout,x:tx2 RTI ; SAI_RGT_TX_IRQ MOVEP X:RIGHT_AUDOUT,X:TX0 MOVEP X:RIGHT_AUDOUT,X:TX1 MOVEP X:RIGHT_AUDOUT,X:TX2 ;movep x:right_digout,x:tx0 ;movep x:right_digout,x:tx1 ;movep x:right_digout,x:tx2 RTI Figure A-1 Output Interrupt Structure for Analog Input A.2 SPDIF INPUT PASS-THROUGH THEORY In order to perform the pass-through example with the S/PDIF input instead of the analog inputs, a few changes must be made to the file, passthru.asm. The structure already supports digital input buffers, therefore the only change necessary to enable digital audio input is in the interrupt routines, as shown below in Figure A-2. SAI_LFT_TX_IRQ ;MOVEP ;MOVEP ;MOVEP movep movep movep RTI ; SAI_RGT_TX_IRQ ;MOVEP ;MOVEP ;MOVEP movep movep movep RTI X:LEFT_AUDOUT,X:TX0 X:LEFT_AUDOUT,X:TX1 X:LEFT_AUDOUT,X:TX2 x:left_digout,x:tx0 x:left_digout,x:tx1 x:left_digout,x:tx2 X:RIGHT_AUDOUT,X:TX0 X:RIGHT_AUDOUT,X:TX1 X:RIGHT_AUDOUT,X:TX2 x:right_digout,x:tx0 x:right_digout,x:tx1 x:right_digout,x:tx2 Figure A-2 Output Interrupt Structure for Digital Input A-4 DSP56009EVMUM MOTOROLA Audio Pass-Through Example EVM Setup for Audio Pass-Through A.3 EVM SETUP FOR AUDIO PASS-THROUGH The input sources for the respective output channels for the demo, passthru.cld, are illustrated below in Table A-1. The output channels are specified in the output interrupt routines, SAI_LFT_TX_IRQ and SAI_RGT_TX_IRQ. Table A-1 Output sources for audio pass-through Audio Source EVM output Analog Inputs Left 1 Right 1 Analog Inputs Left 2 Right 2 Digital Inputs Left 3 Right 3 The audio pass-through EVM jumper configuration is illustrated below in Figure A-3. Note that JP5 is configured to clock from the DSP clock and receive analog input data. Therefore, in order to receive the SPDIF input clock and data the jumper on JP5.3 and JP5.4 must be removed. Also, note that JP4 is set for non-Optical input. MOTOROLA DSP56009EVMUM A-5 Audio Pass-Through Example EVM Setup for Audio Pass-Through RS Left 3 Right 3 CS3310 Analog Inputs Analog Outputs LS C Sub L Left 2 Right 2 Left 1 CS4331 CS3310 CS4331 R Right 1 Right In CS3310 Left In CS4331 CS5390 Optical In JP5 CS8412 JP3 Optical Out JP7 J5 JP2 30-Pin SIMM Socket PLD CS8402A J3 J9 DSP 56009 JP4 SPDIF In Analog Power STK10C68 J18 SPDIF Out JP9 SC937-02 JP6 68HC711E9 68HC705K1 JP1 RS-232 OnCETM LCD Display Reset J1 J2 Digital Power Infrared Remote Receiver Figure A-3 DSP56009EVM Pass-through Setup A-6 DSP56009EVMUM MOTOROLA APPENDIX B SOUND FIELD PROCESSING EXAMPLE MOTOROLA DSP56009EVMUM B-1 Sound Field Processing Example B.1 B.2 B.3 B.4 B.5 B.6 B.7 B.8 B.9 B.10 B-2 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3 EARLY REFLECTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3 DELAY LINE FOR COMBS/REVERBERATION . . . . . . . . . . B-6 COMB FILTER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7 ALL-PASS FILTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-8 DE-CORRELATION ROUTINE . . . . . . . . . . . . . . . . . . . . . . . B-9 DSP56009EVM SETUP FOR SFP DEMONSTRATION . . . B-11 BLOCK DIAGRAM OF THE SOUND FIELD PROCESSOR B-13 X/Y MEMORY MAP FOR SOUND FIELD PROCESSOR . . B-15 REVERB TIME ANALYSIS . . . . . . . . . . . . . . . . . . . . . . . . . B-17 DSP56009EVMUM MOTOROLA Sound Field Processing Example Introduction B.1 INTRODUCTION The phrase “sound field processing” seems to embody a sense of extra space added to an original sound. With the advent of practical multichannel sound, processing certain sound fields artificially became attainable and edifies the listening environment when certain theaters or other settings are replicated in software. In order to create the delay and reverberation elements that typify certain acoustical spaces, filtering and delay components must be instituted. Therefore, DSPs ideally might handle even the toughest simulation. The soundfield processing example offered here is a design based around studies performed independently by Manfred Schroeder and James Moorer1. Each provide important insight into effective algorithms that create artificial reverberation. This appendix will explain specifically the reverberation blocks inherent in one particular example; however, this example provides only one of many as defined by Schroeder and Moorer. This implementation uses filter coefficients collected by Schroeder that imitate the Boston Concert Hall. A four channel output is generated: left front, right front, left rear, and right rear; with a summed output feeding the center channel which may also be lowpass filtered to be used for a subwoofer channel. The complete block diagram of the system is shown in Figure B-8. The software to implement this design is provided on the DSP56009 diskette for viewing/editing as SFPEVM09.ASM and for downloading onto the EVM as SFPEVM09.CLD.The SFPEVM09.ASM may be operated with either a DSP56004, DSP56007, or DSP56009. The basic reverberation elements utilized in the file, SFPEVM09.ASM, include an early reflection FIR filter for each of the four main channels and a reverberation unit comprised of six parallel comb filters and a single all-pass filter. This code as written can be implemented on the DSP56009EVM. B.2 EARLY REFLECTIONS Schroeder suggested a method for simulating early wall reflections and room geometry by combining the direct summation of the original signal with a standard unit reverberator to recreate late echos. The theory proposes that the first gains and delays simulate the room’s geometry patterned after an FIR (non-recursive) filter structure; and the unit reverberator/IIR (recursive) filter imitates the decay of the reverberation once the pulses become inseparable. 1. Moore, James. “About this Reverberation Business.” Computer Music Journal, Vol 3, #2. MOTOROLA DSP56009EVMUM B-3 Sound Field Processing Example Early Reflections Implemented in software, the algorithm takes advantage of the SAI (Serial Audio Interface) and the EMI (External Memory Interface), two of the peripherals on Motorola’s Symphony™ line of DSPs. The input samples are received by the SAI as left and right channel data stored in memory. These samples are delayed several milliseconds and retrieved according to the early reflection offset table ER_off_buf. ER_off_buf is constructed as a seven-tap FIR section (See Figure B-1). Table B-1 below illustrates the respective tap and its associated time delay and gain as patterned after the Boston Concert Hall. Table B-1 Early Reflection FIR Structure Tap Time Delay Gain 0 0 1.00 1 0.0199 1.02 2 0.0354 0.818 3 0.0389 0.635 4 0.0414 0.719 5 0.0699 0.267 6 0.0796 0.242 Twelve samples are read from the delay line(two channels, left and right, multiplied by the offset table which is six deep) and four FIR filters are calculated. Reading of the delayed samples is triggered by writing offset values to the EMI’s EOR0 and EOR1 registers (as defined by the values in ER_DAx). The FIR filter creates the early reflection defining the room size and reflective characteristics of the room environment. The FIR filter is implemented within a DO loop (instructions 33-70) in which the offset information is retrieved by a post incrementing pointer, r4, and the left and right data samples are read via the EDR registers. The DO loop is shown in Figure B-1 below. 1 clr 2 3 !loop reduce 4 clr 5 6 !loop reduce 7 move 8 move 9 movep 10 movep 11 move 12 B-4 a #ER_off_buf,r4 ;clr acc, offset start ;address in r4. b #ER_gains, r1 ;clr acc, gains start ;address in r1. m7,m1 #front,r5 x:(ER_ebar),x:EBAR0 y:(ER_ebar),x:EBAR1 l:(r4)+,x ;set linear ;pointer r5 for samples ;FIR left delay line ;FIR right delay line ;get 1’st stage left and ;right offsets DSP56009EVMUM MOTOROLA Sound Field Processing Example Early Reflections 13 14 movep movep x1,x:EOR0 x0,x:EOR1 ;1st stage trigger of left ;1st stage trigger of right • • • 33 do 34 35 move 36 37 movep 38 movep 39 movep 40 movep 41 ; front 42 43 mac 44 45 46 macr 47 48 49 50 mac 51 52 53 macr 54 55 56 ; rear 57 58 mac 59 60 61 macr 62 63 64 mac 65 66 67 macr 68 69 70 end_FIR 71 ; complete the 72 move 73 74 movep 75 movep 76 movep 77 movep #(nFIR-1),end_FIR ; EMI reading l:(r4)+,x ; get next stage l & r offsets x1,x:EOR0 x:EDR0,x1 x0,x:EOR1 x:EDR1,y1 ; ; ; ; x1,y0,a x:(r1)+,x0 b,y:(r5)- ;left from left, ;get left front right gain, ; store right rear y:(r5),b ; left from right, ; get right front ; right gain, ; get right front y:(r1)+,y0;right from right, ;get right front left gain, ; store left front y:(r1),y0 ;right from left, ;get left rear left gain, ; get left rear x0,y1,a x:(r1),x0 x0,y1,b a,x:(r5)+ x1,y0,b x:(r5)-,a x1,y0,a x:(r1)+,x0 b,y:(r5)+ ;left from left, ;get left rear right gain, ; store right front y:(r5),b ;left from right, ;get right rear right gain, ; get right rear y:(r1)+,y0;right from right, ;get right rear left gain, ; store left rear y:(r1),y0 ;right from left, ;get left front left gain, ; get left front x0,y1,a x:(r1),x0 x0,y1,b a,x:(r5)- x1,y0,b x:(r5)+,a loop l:(in_in),x x1,x:EDR0 x:EDR0,x1 x0,x:EDR1 x:EDR1,y1 next left trigger get left sample next right trigger get right sample ; get l & r delay line samples ; ; ; ; store l_in (base incremented) get last left sample store r_in (base incremented) get last r sample Figure B-1 Early Reflection DO loop MOTOROLA DSP56009EVMUM B-5 Sound Field Processing Example Delay Line for Combs/Reverberation The early reflection part is constructed such that the first EMI write transfer triggers are performed in lines 13-14 before the DO loop; therefore, the first delayed EMI read can occur after the first offsets are retrieved from X and Y memory in line 35 within the DO loop. Following the beginning of the DO loop, a trigger occurs (lines 37 and 39). In the next iteration of the DO loop the corresponding read occurs (lines 38 and 40). Therefore, the final EMI reads transpire at the termination of the loop in lines 75 and 77 and the final left and right delay line samples are stored in X memory (line 72). Each time the loop executes, the left and right samples are multiplied by their corresponding gains from ER_gains in pointer r1 (lines 43, 46) and routed to the corresponding output. For instance, the comment in line 43, “; left from left” signifies that the left FIR multiply is routed to the left output. The comment in line 46, “; left from right” likewise denotes that the right FIR multiply is routed to the left output. This structure can be explicitly seen in Figure B-8 on page -14. The pointer, r5, contains the input samples for the early reflections and the pointer, r4, contains the delay values for the FIR as stated previously. The block diagram of the early reflection is illustrated in Figure B-2. 19.9ms x(n) 19.9ms ER_gains 1.0 35.4ms 38.9ms 15.5ms 3.5ms 1.01 .817 41.4ms 2.5ms 69.9ms 28.5ms .634 .718 79.6ms 9.7ms .266 .241 ∑ y(n) Figure B-2 Early Reflection FIR Block (one channel) B.3 DELAY LINE FOR COMBS/REVERBERATION This portion of the code acts as the gathering point for the results of the four early reflection FIR blocks for the left front, right front, left rear, and right rear, respectively. The saved values from each of these processes are summed with averaging weights and stored in a delay line for use in the following comb filter and all-pass filter blocks, B-6 DSP56009EVMUM MOTOROLA Sound Field Processing Example Comb Filter which generate the diffuse reverberation. The timing of the delay is designed to synchronize the inputs to the comb filter section. The summed value is routed to the center channel. B.4 COMB FILTER Following the early reflections, there follows a section of six parallel comb filters that create diffuse field reverberation. Recursive comb filters provide delay and incorporate feedback, which generate a “toothed” frequency response. Moorer determined that the gain, g, should be a function of the reverberation time according to the formula: g = 1 - 0.366/T where T=reverberation time (A.1) The values of the optimal gain in the feedback loop, g1, are determined by the room humidity versus distance from the source and the sample rate of the system. From Moorer’s diagrams, the coefficients for a 44.1 kHz sample rate can be discerned. Larger values of g1 will produce bright reverberation at the onset followed by a muffled decay. The loopback gain, g2, can be determined by the equation g2 = g(1-g1) (A.2) The total reverberation time for SFPEVM09.ASM is designed for two seconds. Therefore, using (A.1), the overall gain, g, is 0.83. The values of g1 for the seven-tap comb filter model are shown in Table B-2 below. Table B-2 Comb filter loop-back gains Comb # Delay (in ms) g1 Comb 1 50 0.45 Comb 2 56 0.47 Comb 3 61 0.49 Comb 4 68 0.51 Comb 5 72 0.52 Comb 6 78 0.54 The block diagram of one of the six comb filter structures is shown in Figure B-3 MOTOROLA DSP56009EVMUM B-7 Sound Field Processing Example All-Pass Filter below. ∑ x(n) z -m y(n) ∑ g2 g1 z -1 Figure B-3 Comb Filter (one of six) The output of each of the six comb filters is summed and routed to the all-pass filter portion of the program. B.5 ALL-PASS FILTER The all-pass filter has a flat frequency response from 0 Hz to the Nyquist frequency; however, the phase response delays different frequencies by different amounts. This provides a very distinct sound approaching a phasing effect. Moorer defines the most natural sounding unit reverberator to contain a number of comb filters and a single all-pass filter. He also states that the use of more than six parallel comb filters and one all-pass filter does not significantly enhance reverberant qualities. Therefore, only a single all-pass filter is implemented here. The delay must be set to six milliseconds or less, as longer delays produce what Moorer describes as an audible repetition. The gain, constant g, of the all-pass filter is 0.7. The block diagram for the all-pass filter is shown in Figure B-4. -g1 y(n) x(n) ∑ z -m z(n) y(n-T) 1-g 2 1 ∑ v(n) g1 Figure B-4 All-pass Filter B-8 DSP56009EVMUM MOTOROLA Sound Field Processing Example De-Correlation Routine The value z(n), which is the value of the upper gain stage, is computed first, the delay z-m is accessed from the EDR0 (EMI Data Read register), and v(n) is computed. The parallel move feature of Motorola’s DSP56K architecture allows this arithmetic to be achieved in only four instructions, as shown in Figure B-5. 1 2 3 4 5 6 7 move b,y0 x:(r6)+,x1 mpy -y0,y1,a x:(r0),x0 macr x0,y1,b (r4)- macr x0,x1,a b,x:(r0) 8 ; ; ; ; ; ; ; transfer x(n) to y0 for multiplication get 1-k**2 at x1 z(n)=-k*x(n), get y(n-T) from EDR0 to x0 compute y(n)= x(n)+k*y(n-T) pointer goes to APF end compute v(n)=z(n)+(1-k**2) ; *y(n-T), ; store y(n) Figure B-5 All-Pass Filter Routine In the above example, r6, points to the COMB_gains, r0 points to the EMI data read register EDR0, and r4 points to EEcomb, which is the base addresses of the delays. The final instructions in the routine store the all-pass output v(n) and the base address (EBAR0) of the latest sample to be passed to the decorrelator and rear delay lines, as shown in Figure B-6 below. A description of the de-correlator and delay line are provided in B.6 De-Correlation Routine on page B-9. The all-pass portion may be set to loop to allow for more multiple filter designs. However, James Moorer states that this produces only a negligible increase in reverberant quality. B.6 DE-CORRELATION ROUTINE The data stream output from the main reverb routine is combined with each of the separate early reflection values to provide the four discrete outputs: left front, right front, left rear, and right rear. This routine takes the output of the first early reflection value and decorrelates the signals from each of the other three channels. The de-correlation is performed by using all-pass filters with different coefficients to adjust the phase of each channel independently. The all-pass filter’s delay base and offset values and the gains are saved using pointers r0 and r4 and then extracted as their manipulation occurs. The instructions: MOTOROLA DSP56009EVMUM B-9 Sound Field Processing Example De-Correlation Routine front_right movep front_left x:(r4),x:EBAR0 movep movep movep y:(r4)+,x:EOR0 x:(r4),x:EBAR1 y:(r4)+,x:EOR1 save the front right and left base and offset values from the tables, EEapf_fr and EEapf_fr and apf_fr_coeffs, respectively. Then the all-pass function is simply implemented as in B.5 All-Pass Filter on page B-8, utilizing the corresponding channel’s delays (affecting phase only in an all-pass filter). The de-correlation block diagram is shown in Figure B-6. -g0 RndA6g XLF ∑ ∑ z-m g1 ∑ LFREV g1 ∑ RFREV g1 ∑ z-m RRREV g1 ∑ z-m LRREV RndA18g YOUT g0 -g0 XRF ∑ RndA6g ∑ z-m RndA18g YOUT g0 -g0 RndA6g XRR ∑ ∑ z-m RndA18g YOUT g0 -g0 RndA6g XLR YOUT ∑ ∑ z-m RndA18g g0 Figure B-6 De-Correlation Routine B-10 DSP56009EVMUM MOTOROLA Sound Field Processing Example DSP56009EVM Setup for SFP Demonstration The gains of the respective gains for the de-correlation all-pass filters are shown in Table B-3 below. Table B-3 De-Correlation All-pass filter gains B.7 Channel g0 g1 (1-g02) LF 0.65 0.58 RF 0.80 0.36 RR 0.75 0.44 LR 0.60 0.64 DSP56009EVM SETUP FOR SFP DEMONSTRATION The jumper configuration necessary to run the Sound Field Processing demonstration for the DSP56009EVM is shown below in Figure B-7. Note that JP5 is configured to clock from the DSP clock and receive analog input data. Therefore, in order to receive the SPDIF input clock and data the jumper on JP5.3 and JP5.4 must be removed. MOTOROLA DSP56009EVMUM B-11 Sound Field Processing Example DSP56009EVM Setup for SFP Demonstration RS Left 3 Right 3 CS3310 Analog Inputs Analog Outputs LS C Sub L Left 2 Right 2 Left 1 CS4331 CS3310 CS4331 R Right 1 Right In CS3310 Left In CS4331 CS5390 Optical In JP5 CS8412 JP3 Optical Out JP7 JP2 J5 30-Pin SIMM Socket PLD CS8402A J3 J9 DSP 56009 JP4 SPDIF In Analog Power STK10C68 J18 SPDIF Out JP9 SC937-02 JP6 68HC711E9 68HC705K1 JP1 RS-232 OnCETM LCD Display Reset J1 J2 Digital Power Infrared Remote Receiver Figure B-7 EVM configuration for Sound Field Processing Demo In order to adequately run the SFPEVM09.CLD file, a 256 kbyte 30-pin SIMM DRAM must also be provided at connector U15. An audio source, an audio amplifier driving headphones or speakers, and cables with RCA/phono connectors for five channels are required to use the demo software. The SFPEVM09.CLD demo operates with five of the six channel outputs shown in Table B-4 below. Table B-4 Sound Field Processing Audio Outputs B-12 EVM output Demo channel Left 1 Right 1 Front Left Front Right DSP56009EVMUM MOTOROLA Sound Field Processing Example Block Diagram of the Sound Field Processor Table B-4 Sound Field Processing Audio Outputs Left 2 Right 2 N/A Center Left 3 Right 3 Rear Left Rear Right In order to operate the sound field processing demonstration, open the Debug-EVM and load the file, SFPEVM09.CLD. Once the object file has downloaded successfully, type GO in the command window or click on the RUN icon. The demonstration should now execute. Macro commands that enable and disable the reverberation routines are provided with the Sound Field Processing code. The command file, normal.cmd may be input in the command window of the Domain Debugger as “normal” and the reverberation will be effectively bypassed. Likewise, the command file, reverb.cmd may be input in the command window as “reverb” to enable the sound field processor. B.8 BLOCK DIAGRAM OF THE SOUND FIELD PROCESSOR The block diagram of the sound field processor utilizing the four aforementioned blocks is shown in Figure B-8. MOTOROLA DSP56009EVMUM B-13 Left B-14 Right R in_in1 Atten. L in_in1 Atten. DSP56009EVMUM ∑ R ∑ L ∑ ∑ R ∑ R L z L z L -m MOTOROLA R R R XLR L XRR L XRF R XLF L L Center Channel and/or Subwoofer ∑ T1 ∑ ∑ ∑ ∑ ∑ ∑ z-m z-m z-m z-m z-m z-m z-1 ∑ z-1 ∑ z-1 ∑ z-1 ∑ z-1 ∑ z-1 ∑ COMB FILTER Figure B-8 Sound Field Processor ∑ R ∑ R ∑ R ∑ R L z-m L z-m L z-m ∑ R -m ∑ R ∑ R L z-m L z-m ∑ R L z-m ∑ R -m z L z-m ∑ R ∑ ∑ R -m z L ∑ L ∑ R z-m L z-m ∑ R z-m L ∑ ∑ R z-m L z-m EARLY REFLECTION ∑ R L z L z -m ∑ ∑ -m R L L R z-m ∑ ∑ ∑ R z-m R L L ∑ R z-m ∑ z-m R L L ∑ ∑ z-m z-m ∑ z-m ∑ ALL-PASS FILTER ∑ YOUT Sound Field Processing Example Block Diagram of the Sound Field Processor Sound Field Processing Example X/Y Memory Map for Sound Field Processor B.9 X/Y MEMORY MAP FOR SOUND FIELD PROCESSOR Table B-5 shows the memory map of the X and Y memories of the DSP546009 running the SFPEVM09.CLD program. Table B-5 X and Y Memory Map for Sound Field Processing Demo Label Address X: Y: RSRVD5 005b reserved reserved RSRVD4 005a reserved reserved RSRVD3 0059 reserved reserved RSRVD2 0058 reserved reserved RSRVD1 0057 reserved reserved apf_rl_coeffs 0056 APFAgf_RL APFAg_RL apf_rr_coeffs 0055 APFAgf_RR APFAg_RR apf_fl_coeffs 0054 APFAgf_FL APFAg_FL apf_fr_coeffs 0053 APFAgf_FR APFAg_FR EEdelay_rl 0052 DLY_RL_base DLY_RL_OFF EEdelay_rr 0051 DLY_RR_base DLY_RR_OFF EEapf_rl 0050 APF_RL_base APF_RL_OFF EEapf_rr 004f APF_RR_base APF_RR_OFF EEapf_fl 004e APF_FL_base APF_FL_OFF EEapf_fr 004d APF_FR_base APF_FR_OFF allpass output stage delay lines TCOMBS_gain 004c tCOMBA_gain tCOMBA_gain total combs gain RND_gains 004b RNDA6g RNDA18g APF_gains 004a APFAgf APFAg 0049 COMB6g2A COMB6g1A 0048 COMB5g2A COMB5g1A 0047 COMB4g2A COMB4g1A 0046 COMB3g2A COMB3g1A 0045 COMB2g2A COMB2g1A 0044 COMB1g2A COMB1g1A 0043 ERA_RRavg ERA_RLavg 0042 ERA_FRavg ERA_FLavg 0041 ERA_RRrg6 ERA_RR1g6 0040 ERA_RLrg6 ERA_RL1g6 003f ERA_FRrg6 ERA_FR1g6 003e ERA_FLrg6 ERA_FL1g6 COMB_gains D_avgs MOTOROLA DSP56009EVMUM Comments reserved (also END_TABLE1) output allpass coefficients rear output delay lines round gains allpass filter gains comb gains delay line averaging gains B-15 Sound Field Processing Example X/Y Memory Map for Sound Field Processor Table B-5 X and Y Memory Map for Sound Field Processing Demo 003d ERA_RRrg5 ERA_RR1g5 003c ERA_RLrg5 ERA_RL1g5 003b ERA_FRrg5 ERA_FR1g5 003a ERA_FLrg5 ERA_FL1g65 0039 ERA_RRrg4 ERA_RR1g4 0038 ERA_RLrg4 ERA_RL1g4 0037 ERA_FRrg4 ERA_FR1g4 0036 ERA_FLrg4 ERA_FL1g4 0035 ERA_RRrg3 ERA_RR1g3 0034 ERA_RLrg3 ERA_RL1g3 0033 ERA_FRrg3 ERA_FR1g3 0032 ERA_FLrg3 ERA_FL1g3 0031 ERA_RRrg2 ERA_RR1g2 0030 ERA_RLrg2 ERA_RL1g2 002f ERA_FRrg2 ERA_FR1g2 002e ERA_FLrg2 ERA_FL1g2 002d ERA_RRrg1 ERA_RR1g1 002c ERA_RLrg1 ERA_RL1g1 002b ERA_FRrg1 ERA_FR1g1 002a ERA_FLrg1 ERA_FL1g1 ER_gains 0029 ERA_Ling ERA_Ring early reflection gains EEapf 0028 APF_base APFA_OFF allpass filters EBAR and EOR pair 0027 COMB6_base COMB6A_OFF 0026 COMB5_base COMB5A_OFF 0025 COMB4_base COMB4A_OFF 0024 COMB3_base COMB3A_OFF 0023 COMB2_base COMB2A_OFF EEcomb 0022 COMB1_base COMB1A_OFF Dcomb_ebar 0021 DL_base DLA_OFF 0020 ER_OFFA6 ER_OFFA6 001f ER_OFFA5 ER_OFFA5 001e ER_OFFA4 ER_OFFA4 001d ER_OFFA3 ER_OFFA3 001c ER_OFFA3 ER_OFFA2 ER_off_buf 001b ER_OFFA2 ER_OFFA1 early reflection EORs ER_ebar 001a Left_base Right_base early reflection EBARs (also TABLE1) B-16 DSP56009EVMUM combs EBARs and EORs delay line EBAR and EOR (also Dcomb_eor) MOTOROLA Sound Field Processing Example Reverb Time Analysis Table B-5 X and Y Memory Map for Sound Field Processing Demo temp2 0019 temp storage temp1 0018 temp storage t3_add 0017 x(left) control 0016 control flags mode_timeout 0015 mode change delay count shi_mode_new 0014 shi_mode_new gpio_mode_new 0013 gpio_mode_new shi_mode_set 0012 shi_mode_set shi_counter gpio_mode_set 0011 gpio_mode_set gpio_counter apf2s 0010 reserved 2nd allpass filter in series result apf1s 000f apf1s 1st allpass filter in series result APin 000e y(right) third transmitter addresses to transmit mode change delay count new mode (double precision) mode during previous pass input to allpass filters (also APout) 000d v(n–6) 000c v(n–5) 000b v(n–4) 000a v(n–3) 0009 v(n–2) combs_states 0008 v(n–1) right 0007 front rear right channel before output to SAI left 0006 front rear left channel before output to SAI combs_input 0005 average input to combs central_channel 0004 average pre-input to combs rear 0003 left right rear sample storage front 0002 left right front sample storage in_in1 0001 left_in right_in input samples from the SAI undisturbed by interrupts in_in 0000 left_in right_in input samples from the SAI internal comb state for LPF B.10 REVERB TIME ANALYSIS The time analysis for the response of the sound field processor is illustrated in Figure B-9 on the following page. The RT60 (reverberation time) is defined as two seconds. MOTOROLA DSP56009EVMUM B-17 Sound Field Processing Example Reverb Time Analysis early reflection reverberation Figure B-9 Sound Field Processor Time Analysis B-18 DSP56009EVMUM MOTOROLA APPENDIX C DSP56009EVM MULTIPLEX DEFINITION MOTOROLA DSP56009EVMUM C-1 DSP56009EVM Multiplex Definition C.1 C.2 C.3 C-2 OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3 MULTIPLEX CABLE SPECIFICATION . . . . . . . . . . . . . . . . . C-3 EVM SETUP FOR MULTIPLEXING . . . . . . . . . . . . . . . . . . . C-4 DSP56009EVMUM MOTOROLA DSP56009EVM Multiplex Definition Overview C.1 OVERVIEW Two DSP56009EVMs may be connected together to utilize the memory of two Symphony DSPs. Six-channel data is multiplexed to SDI0 and SDI1, two of the SAI transmitters on the DSP of the Transmit EVM. The data is then demultiplexed on the DSP of the Receive EVM and available as discrete channels for post-processing of certain decoding algorithms on the Transmit EVM. The file listen.cld must be downloaded onto the Receive DSP in order to de-multiplex the serial audio stream. The user’s DSP assembly files may be linked with this source file. A special cable must be built in order to take advantage of this special function. C.2 MULTIPLEX CABLE SPECIFICATION The Mux cable must be connected from jumper block J5 on the Transmit board to J5 on the Receive board. The cable must be no longer than seven or eight inches (preferably six inches). There must be ground wires interspersed between each clock and data line (those marked with an *). Ground connections can be found at pins 1, 2, 11, 12, etc. as seen in the SRAM and External Memory Interface schematic. The cable must be a ribbon cable split to carry the WST and SCKT signals and grounds physically separate from the WSR, SCKR, SDI0, and SDI1 signals and grounds. Table C-1 DSP56009EVM MUX Cable Pinout Transmit Receive Description *3-4 *13-14 WST *5-6 *15-16 SCKT *14 *4 WSR *16 *6 SCKR *18 *8 SDI0 *20 *10 SDI1 7-8 9-10 25-26 27-28 29-30 31-32 37-38 39-40 43-44 MOTOROLA DSP56009EVMUM C-3 DSP56009EVM Multiplex Definition EVM Setup for Multiplexing Table C-1 DSP56009EVM MUX Cable Pinout Transmit Receive Description 17-18 19-20 21-22 25-26 27-28 29-30 31-32 37-38 39-40 43-44 C.3 EVM SETUP FOR MULTIPLEXING There are a few differences between the DSP56009EVM’s typical setup and the setup for multiplexing. JP5 Jumpers must be off on both boards and the JP2 Jumper must be connected. The SPDIF connector must be input to both boards with an AC-3 demodulated bit-stream. C-4 DSP56009EVMUM MOTOROLA DSP56009EVM Multiplex Definition EVM Setup for Multiplexing RS Left 3 Right 3 CS3310 Analog Inputs Analog Outputs LS C Sub L Left 2 Right 2 Left 1 CS4331 CS3310 CS4331 R Right 1 Right In CS3310 Left In CS4331 CS5390 Optical In JP5 CS8412 JP3 Optical Out JP7 J5 JP2 30-Pin SIMM Socket PLD CS8402A J3 J9 DSP 56009 JP4 SPDIF In Analog Power STK10C68 J18 SPDIF Out JP9 SC937-02 JP6 68HC711E9 68HC705K1 JP1 RS-232 OnCETM LCD Display Reset J1 J2 Digital Power Infrared Remote Receiver Figure C-1 DSP56009EVM Jumper Setting for Multiplexing MOTOROLA DSP56009EVMUM C-5