| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Volume Peripherals Literature Number: SPRU131G March 2001 IM
Top Searches for this datasheetTMS320C54x Reference Volume Peripherals Literature Number: SPRU131G March 2001 IMPORTANT NOTICE Texas Instruments subsidiaries (TI) reserve right make changes their products discontinue product service without notice, advise customers obtain latest version relevant information verify, before placing orders, that information being relied current complete. products sold subject terms conditions sale supplied time order acknowledgment, including those pertaining warranty, patent infringement, limitation liability. warrants performance products specifications applicable time sale accordance with TI's standard warranty. Testing other quality control techniques utilized extent deems necessary support this warranty. Specific testing parameters each device necessarily performed, except those mandated government requirements. Customers responsible their applications using components. order minimize risks associated with customer's applications, adequate design operating safeguards must provided customer minimize inherent procedural hazards. assumes liability applications assistance customer product design. does warrant represent that license, either express implied, granted under patent right, copyright, mask work right, other intellectual property right covering relating combination, machine, process which such products services might used. TI's publication information regarding third party's products services does constitute TI's approval, license, warranty endorsement thereof. Reproduction information data books data sheets permissible only reproduction without alteration accompanied associated warranties, conditions, limitations notices. Representation reproduction this information with alteration voids warranties provided associated product service, unfair deceptive business practice, responsible liable such use. Resale TI's products services with statements different from beyond parameters stated that products service voids express implied warranties associated product service, unfair deceptive business practice, responsible liable such use. Also see: Standard Terms Conditions Sale Semiconductor Products. www.ti.com/sc/docs/stdterms.htm Mailing Address: Texas Instruments Post Office 655303 Dallas, Texas 75265 Copyright 2001, Texas Instruments Incorporated Preface Read This First About This Manual TMS320C54xDSP fixed-point digital signal processor (DSP) TMS320DSP family. This book serves reference C54xDSP provides information developing hardware software applications using C54x DSP. This user's guide contains limited information about enhanced peripherals available some C54x devices. detailed information enhanced peripherals, TMS320C54x Enhanced Peripherals Reference Guide, literature number SPRU302. This Manual following table summarizes TMS320C54x information contained this book. looking information about: Addressing modes Turn these chapters: Chapter Data Addressing Chapter Program Memory Addressing Buffered serial port structure Clock generator Chapter Serial Ports Chapter Architectural Overview Chapter Architectural Overview Chapter On-Chip Peripherals architecture Chapter Architectural Overview Chapter Central Processing Unit External Hold mode Host port interface Chapter External Operation Chapter External Operation Chapter On-Chip Peripherals SPRU131G This Manual looking information about: Interrupts Memory Turn these chapters: Chapter Program Memory Addressing Chapter Architectural Overview Chapter Memory On-chip peripherals Overview C54x Parallel Ports Chapter On-Chip Peripherals Chapter Introduction Chapter Architectural Overview Chapter On-Chip Peripherals Power-down modes Program control Pipeline latencies Reset code submission Serial ports Status registers serial port Timer Chapter Program Memory Addressing Chapter Program Memory Addressing Chapter Pipeline Chapter Program Memory Addressing Appendix Submitting Codes Chapter Serial Ports Chapter Central Processing Unit Chapter Serial Ports Chapter Architectural Overview Chapter On-Chip Peripherals Wait-state generator Chapter Architectural Overview Chapter On-Chip Peripherals Read This First SPRU131G Notational Conventions Notational Conventions Information About Cautions Notational Conventions This book uses following conventions. TMS320C54x either forms instruction set: mnemonic form algebraic form. This book uses mnemonic form instruction set. information about mnemonic form instruction set, TMS320C54x Reference Set, Volume Mnemonic Instruction Set, literature number SPRU172. information about algebraic form instruction set, TMS320C54x Reference Set, Volume Algebraic Instruction Set, literature number SPRU179. Program listings program examples shown special type- face. Here segment program listing: RSBX A,*AR1+ INMAIN_PG ;Int_RAM(I)=0 ;Globally enable interrupts ;Return foreground program Square brackets, identify optional parameter. optional parameter, specify information within brackets; type brackets themselves. Information About Cautions This book contains cautions. This example caution statement. caution statement describes situation that could potentially damage your software equipment. information caution provided your protection. Please read each caution carefully. SPRU131G Read This First Related Documentation from Texas Instruments Related Documentation from Texas Instruments following books describe TMS320C54xDSP related support tools. obtain copy these documents, call Texas Instruments Literature Response Center (800) 477-8924. When ordering, please identify book title literature number. Many these documents located internet http://www.ti.com. TMS320C54x Reference Set, Volume (literature number SPRU131) describes TMS320C54x16-bit fixed-point general-purpose digital signal processors. Covered architecture, internal register structure, data program addressing, instruction pipeline. Also includes development support information, parts lists, design considerations using XDS510emulator. TMS320C54x Reference Set, Volume Mnemonic Instruction (literature number SPRU172) describes TMS320C54xdigital signal processor mnemonic instructions individually. Also includes summary instruction classes cycles. TMS320C54x Reference Set, Volume Algebraic Instruction (literature number SPRU179) describes TMS320C54xdigital signal processor algebraic instructions individually. Also includes summary instruction classes cycles. TMS320C54x Reference Set, Volume Applications Guide (literature number SPRU173) describes software hardware applications TMS320C54xdigital signal processor. Also includes development support information, parts lists, design considerations using XDS510emulator. TMS320C54x Reference Set, Volume Enhanced Peripherals (literature number SPRU302) describes enhanced peripherals available TMS320C54xdigital signal processors. Includes multichannel buffered serial ports (McBSPs), direct memory access (DMA) controller, interprocessor communications, HPI-8 HPI-16 host port interfaces. TMS320C54x Family Functional Overview (literature number SPRU307) provides functional overview devices included TMS320C54xDSP generation digital signal processors. Included descriptions architecture, structure, memory structure, on-chip peripherals, instruction set. Read This First SPRU131G Related Documentation from Texas Instruments TMS320C54x DSKplus User's Guide (literature number SPRU191) describes TMS320C54xdigital signal processor starter (DSK), which allows execute custom TMS320C54x code real time debug line line. Covered installation procedures, description debugger assembler, customized applications, initialization routines. TMS320C54x Code Composer Studio Tutorial (literature number SPRU327) introduces Code Composer Studio integrated development environment software tools TMS320C54x. Code Composer User's Guide (literature number SPRU328) explains Code Composer development environment build debug embedded real-time applications. TMS320C54x Assembly Language Tools User's Guide (literature number SPRU102) describes assembly language tools (assembler, linker, other tools used develop assembly language code), assembler directives, macros, common object file format, symbolic debugging directives TMS320C54xgeneration devices. TMS320C54x Optimizing Compiler User's Guide (literature number SPRU103) describes TMS320C54xC compiler. This compiler accepts ANSI standard source code produces assembly language source code TMS320C54x generation devices. TMS320C54x Simulator Getting Started (literature number SPRU137) describes install TMS320C54xsimulator source debugger TMS320C54x DSP. installation MS-DOSTM, PC-DOSTM, SunOSTM, SolarisTM, HP-UXsystems covered. TMS320C54x Evaluation Module Technical Reference (literature number SPRU135) describes TMS320C54xevaluation module, features, design details external interfaces. TMS320C54x Code Generation Tools Getting Started Guide (literature number SPRU147) describes install TMS320C54xassembly language tools compiler TMS320C54x devices. installation MS-DOSTM, OS/2TM, SunOSTM, SolarisTM, HP-UX9.0x systems covered. TMS320C5xx Source Debugger User's Guide (literature number SPRU099) tells invoke TMS320C54xemulator, evaluation module, simulator versions source debugger interface. This book discusses various aspects debugger interface, including window management, command entry, code execution, data management, breakpoints. also includes tutorial that introduces basic debugger functionality. SPRU131G Read This First Technical Articles Related Documentation from Texas Instruments Technical Articles TMS320C54x Simulator Addendum (literature number SPRU170) tells define memory simulate ports TMS320C54xDSP. This addendum TMS320C5xx Source Debugger User's Guide discusses standard serial ports, buffered serial ports, time division multiplexed (TDM) serial ports. Setting TMS320 Interrupts Application Report (literature number SPRA036) describes methods setting interrupts TMS320DSP family processors programming language. Sample code segments provided, along with complete examples interrupt vectors. TMS320VC5402 TMS320UC5402 Bootloader (literature number SPRA618) describes features operation TMS320VC5402 TMS320UC5402 bootloader. Also discussed contents on-chip ROM. TMS320C548/C549 Bootloader Technical Reference (literature number SPRU288) describes process bootloader uses transfer user code from external source program memory power (Presently available only internet.) TMS320 Third-Party Support Reference Guide (literature number SPRU052) alphabetically lists over third parties that provide various products that serve TMS320DSP family. myriad products applications offered-software hardware development tools, speech recognition, image processing, noise cancellation, modems, etc. Technical Articles wide variety related documentation available digital signal processing. These references fall into following application categories: viii General-Purpose Graphics/Imagery Speech/Voice Control Multimedia Military Telecommunications Automotive Consumer Medical Development Support SPRU131G Read This First Technical Articles following list, references appear alphabetical order according author. documents contain beneficial information regarding designs, operations, applications signal-processing systems; documents provide additional references. Texas Instruments strongly suggests that refer these publications. General-Purpose DSP: Chassaing, Horning, D.W., "Digital Signal Processing with Fixed Floating-Point Processors" CoED, USA, Volume Number pages 1-4, March 1991. Defatta, David Joseph Lucas, William Hodgkiss, Digital Signal Processing: System Design Approach, York: John Wiley, 1988. Erskine, Magar, "Architecture Applications SecondGeneration Digital Signal Processor," Proceedings IEEE International Conference Acoustics, Speech, Signal Processing, USA, 1985. Essig, Erskine, Caudel, Magar, Second-Generation Digital Signal Processor," IEEE Journal Solid-State Circuits, USA, Volume SC-21, Number pages 86-91, February 1986. Frantz, Lin, Reimer, Bradley, "The Texas Instruments TMS320C25 Digital Signal Microcomputer," IEEE Microelectronics, USA, Volume Number pages 10-28, December 1986. Gass, Tarrant, Richard, Pawate, Gammel, Rajasekaran, Wiggins, Covington, "Multiple Digital Signal Processor Environment Intelligent Signal Processing," Proceedings IEEE, USA, Volume Number pages 1246-1259, September 1987. Jackson, Leland Digital Filters Signal Processing, Hingham, Kluwer Academic Publishers, 1986. Jones, D.L., T.W. Parks, Digital Signal Processing Laboratory Using TMS32010, Englewood Cliffs, Prentice-Hall, Inc., 1987. Lim, Jae, Alan Oppenheim, Advanced Topics Signal Processing, Englewood Cliffs, Prentice- Hall, Inc., 1988. Lin, Frantz, Simar, Jr., "The TMS320 Family Digital Signal Processors," Proceedings IEEE, USA, Volume Number pages 1143-1159, September 1987. Lovrich, Reimer, Advanced Audio Signal Processor" Digest Technical Papers 1991 International Conference Consumer Electronics, June 1991. SPRU131G Read This First Technical Articles Magar, Essig, Caudel, Marshall Peters, NMOS Digital Signal Processor with Multiprocessing Capability," Digest IEEE International Solid-State Circuits Conference, USA, February 1985. Oppenheim, Alan R.W. Schafer, Digital Signal Processing, Englewood Cliffs, Prentice-Hall, Inc., 1975 1988. Papamichalis, P.E., C.S. Burrus, "Conversion Digit-Reversed BitReversed Order Algorithms," Proceedings ICASSP USA, pages 984-987, 1989. Papamichalis, Simar, Jr., "The TMS320C30 Floating-Point Digital Signal Processor," IEEE Micro Magazine, USA, pages 13-29, December 1988. Papamichalis, P.E., "FFT Implementation TMS320C30," Proceedings ICASSP USA, Volume page 1399, April 1988. Parks, T.W., C.S. Burrus, Digital Filter Design, York, John Wiley Sons, Inc., 1987. Peterson, Zervakis, Shehadeh, "Adaptive Filter Design Implementation Using TMS320C25 Microprocessor" Computers Education Journal, USA, Volume Number pages 12-16, July-September 1993. Prado, Alcantara, Fast Square-Rooting Algorithm Using Digital Signal Processor," Proceedings IEEE, USA, Volume Number pages 262-264, February 1987. Rabiner, L.R. Gold, Theory Applications Digital Signal Processing, Englewood Cliffs, Prentice-Hall, Inc., 1975. Simar, Jr., Davis, "The Application High-Level Languages Single-Chip Digital Signal Processors," Proceedings ICASSP USA, Volume page 1678, April 1988. Simar, Jr., Leigh, Koeppen, Leach, Potts, Blalock, MFLOPS Digital Signal Processor: First Supercomputer Chip," Proceedings ICASSP USA, Catalog Number 87CH2396-0, Volume pages 535-538, April 1987. Simar, Jr., Reimer, "The TMS320C25: CMOS VLSI Digital Signal Processor," 1986 Workshop Applications Signal Processing Audio Acoustics, September 1986. Texas Instruments, Digital Signal Processing Applications with TMS320 Family, 1986; Englewood Cliffs, Prentice-Hall, Inc., 1987. Treichler, J.R., C.R. Johnson, Jr., M.G. Larimore, Practical Guide Adaptive Filter Design, York, John Wiley Sons, Inc., 1987. Read This First SPRU131G Technical Articles Graphics/Imagery: Reimer, Lovrich, "Graphics with TMS32020," WESCON/85 Conference Record, USA, 1985. Speech/Voice: DellaMorte, Papamichalis, "Full-Duplex Real-Time Implementation FED-STD-1015 LPC-10e Standard V.52 TMS320C25," Proceedings SPEECH TECH pages 218-221, 1989. Gray, A.H., J.D. Markel, Linear Prediction Speech, York, Springer-Verlag, 1976. Frantz, G.A., K.S. Lin, Low-Cost Speech System Using TMS320C17," Proceedings SPEECH TECH '87, pages 25-29, April 1987. Papamichalis, Lively, "Implementation Standard LPC-10/52E TMS320C25," Proceedings SPEECH TECH '87, pages 201-204, April 1987. Papamichalis, Panos, Practical Approaches Speech Coding, Englewood Cliffs, Prentice-Hall, Inc., 1987. Pawate, B.I., G.R. Doddington, "Implementation Hidden Markov Model-Based Layered Grammar Recognizer," Proceedings ICASSP USA, pages 801- 804, 1989. Rabiner, L.R., R.W. Schafer, Digital Processing Speech Signals, Englewood Cliffs, Prentice-Hall, Inc., 1978. Reimer, J.B. K.S. Lin, "TMS320 Digital Signal Processors Speech Applications," Proceedings SPEECH TECH '88, April 1988. Reimer, J.B., M.L. McMahan, W.W. Anderson, "Speech Recognition Low-Cost System Using DSP," Digest Technical Papers 1987 International Conference Consumer Electronics, June 1987. Control: Ahmed, "16-Bit Microcontroller Fits Motion Control System Application," PCIM, October 1988. Ahmed, "Implementation Self Tuning Regulators with TMS320 Family Digital Signal Processors," MOTORCON '88, pages 248-262, September 1988. Allen, Pillay, "TMS320 Design Vector Current Control Motor Drives" Electronics Letters, Volume Number pages 2188-2190, November 1992. SPRU131G Read This First Technical Articles Panahi, Restle, "DSPs Redefine Motion Control" Motion Control Magazine, December 1993. Lovrich, Troullinos, Chirayil, All-Digital Automatic Gain Control," Proceedings ICASSP USA, Volume page 1734, April 1988. Ahmed, Meshkat, "Using DSPs Control," Control Engineering, February 1988. Meshkat, Ahmed, "Using DSPs Induction Motor Drives," Control Engineering, February 1988. Matsui, Shigyo, "Brushless Motor Control Without Position Speed Sensors" IEEE Transactions Industry Applications, USA, Volume Number Part pages 120-127, January-February 1992. Hanselman, "LQG-Control Highly Resonant Disc Drive Head Positioning Actuator," IEEE Transactions Industrial Electronics, USA, Volume Number pages 100-104, February 1988. Bose, B.K., P.M. Szczesny, Microcomputer-Based Control Simulation Advanced Synchronous Machine Drive System Electric Vehicle Propulsion," Proceedings IECON '87, Volume pages 454-463, November 1987. Ahmed, Lindquist, "Digital Signal Processors: Simplifying HighPerformance Control," Machine Design, September 1987. Multimedia: Reimer, "DSP-Based Multimedia Solutions Lead Enhancing Audio Compression Performance" Dobbs Journal, December 1993. Reimer, Benbassat, Bonneau Jr., "Application Processors: Making Multimedia Happen" Silicon Valley Design Conference, July 1991. Military: Papamichalis, Reimer, "Implementation Data Encryption Standard Using TMS32010," Digital Signal Processing Applications, 1986. Telecommunications: Ahmed, Lovrich, "Adaptive Line Enhancer Using TMS320C25," Conference Records Northcon/86, USA, 14/3/1-10, September/October 1986. Read This First SPRU131G Technical Articles Casale, Russo, Bellina, "Optimal Architectural Solution Using Processors Implementation ADPCM Transcoder," Proceedings GLOBECOM '89, pages 1267-1273, November 1989. Cole, Haoui, Winship, High-Performance Digital Voice Echo Canceller SINGLE TMS32020," Proceedings ICASSP USA, Catalog Number 86CH2243-4, Volume pages 429-432, April 1986. Cole, Haoui, Winship, High-Performance Digital Voice Echo Canceller Single TMS32020," Proceedings IEEE International Conference Acoustics, Speech Signal Processing, USA, 1986. Lovrich, Reimer, Multi-Rate Transcoder," Transactions Consumer Electronics, USA, November 1989. Lovrich, Reimer, Multi-Rate Transcoder" Digest Technical Papers 1989 International Conference Consumer Electronics, June 7-9, 1989. Hedberg, Fraenkel, "Implementation High-Speed Voiceband Data Modems Using TMS320C25," Proceedings ICASSP USA, Catalog Number 87CH2396-0, Volume pages 1915-1918, April 1987. Mock, "Add DTMF Generation Decoding DSP- Designs," Electronic Design, USA, Volume Number pages 205-213, March 1985. Reimer, McMahan, Arjmand, "ADPCM TMS320 Chip," Proceedings SPEECH TECH pages 246-249, April 1985. Troullinos, Bradley, "Split-Band Modem Implementation Using TMS32010 Digital Signal Processor," Conference Records Electro/86 Mini/Micro Northeast, USA, 14/1/1-21, 1986. Automotive: Lin, "Trends Digital Signal Processing Automotive," International Congress Transportation Electronic (CONVERGENCE '88), October 1988. Consumer: Frantz, G.A., J.B. Reimer, R.A. Wotiz, "Julie, Application Product," Speech Tech Magazine, USA, September 1988. Reimer, J.B., G.A. Frantz, "Customization Integrated Circuit Customer Product," Transactions Consumer Electronics, USA, August 1988. SPRU131G Read This First xiii Technical Articles Trademarks Technical Articles Reimer, J.B., P.E. Nixon, E.B. Boles, G.A. Frantz, "Audio Customization IC," Digest Technical Papers 1988 International Conference Consumer Electronics, June 8-10 1988. Medical: Knapp Townshend, Real-Time Digital Signal Processing System Auditory Prosthesis," Proceedings ICASSP USA, Volume page 2493, April 1988. Morris, L.R., P.B. Barszczewski, "Design Evolution PocketSized Speech Processing System Cochlear Implant Other Hearing Prosthesis Applications," Proceedings ICASSP USA, Volume page 2516, April 1988. Development Support: Mersereau, Schafer, Barnwell, Smith, Digital Filter Design Package TMS320," MIDCON/84 Electronic Show Convention, USA, 1984. Simar, Jr., Davis, "The Application High-Level Languages Single-Chip Digital Signal Processors," Proceedings ICASSP USA, Volume pages 1678-1681, April 1988. Trademarks TMS320, TMS320C2x, TMS320C20x, TMS320C24x, TMS320C5x, TMS320C54x, C54x, Hotline On-line, Micro Star, XDS510, XDS510WS trademarks Texas Instruments. HP-UX trademark Hewlett-Packard Company. MS-DOS Windows trademarks Microsoft Corporation. OS/2 PC-DOS trademarks International Business Machines Corporation. PAL® registered trademark Advanced Micro Devices, Inc. Solaris SunOS trademarks Microsystems, Inc. SPARC trademark SPARC International, Inc., licensed exclusively Microsystems, Inc. Read This First SPRU131G Contents Contents Introduction Summarizes features TMS320 family products presents typical applications. Describes TMS320C54x lists features. TMS320 Family Overview 1.1.1 History, Development, Advantages TMS320 DSPs 1.1.2 Typical Applications TMS320 Family TMS320C54x Overview TMS320C54x Features Architectural Overview Summarizes TMS320C54x architecture. Provides general information about CPU, structures, internal memory organization, on-chip peripherals, scanning logic. Structure Internal Memory Organization 2.2.1 On-Chip 2.2.2 On-Chip Dual-Access (DARAM) 2.2.3 On-Chip Single-Access (SARAM) 2.2.4 On-Chip Two-Way Shared 2.2.5 On-Chip Memory Security 2.2.6 Memory-Mapped Registers Central Processing Unit (CPU) 2.3.1 Arithmetic Logic Unit (ALU) 2.3.2 Accumulators 2.3.3 Barrel Shifter 2.3.4 Multiplier/Adder Unit 2.3.5 Compare, Select, Store Unit (CSSU) 2-10 Data Addressing 2-10 Program Memory Addressing 2-11 Pipeline Operation 2-11 On-Chip Peripherals 2-12 2.7.1 General-Purpose Pins 2-12 2.7.2 Software-Programmable Wait-State Generator 2-13 2.7.3 Programmable Bank-Switching Logic 2-13 2.7.4 Hardware Timer 2-13 2.7.5 Clock Generator 2-13 2.7.6 Direct Memory Access (DMA) Controller 2-14 2.7.7 Host Port Interface 2-14 Contents 2.10 Serial Ports 2.8.1 Synchronous Serial Ports 2.8.2 Buffered Serial Ports 2.8.3 Multichannel Buffered Serial Ports (McBSPs) 2.8.4 Serial Ports External Interface IEEE Standard 1149.1 Scanning Logic 2-15 2-15 2-15 2-16 2-16 2-17 2-17 Memory Describes TMS320C54x memory configuration operation. Includes memory maps descriptions program memory, data memory, space. Also includes descriptions memory-mapped registers. Memory Space Program Memory 3-15 3.2.1 Program Memory Configurability 3-16 3.2.2 On-Chip Organization 3-17 3.2.3 Program Memory Address On-Chip Contents 3-18 3.2.4 On-Chip Code Contents Mapping 3-18 3.2.5 Extended Program Memory (Available C548/549/5402/5410/5420) 3-20 Data Memory 3-22 3.3.1 Data Memory Configurability 3-22 3.3.2 On-Chip Organization 3-23 3.3.3 Memory-Mapped Registers 3-25 3.3.4 Memory-Mapped Registers 3-26 Memory 3-29 Program Data Security 3-30 Central Processing Unit Describes TMS320C54x operations. Includes information about arithmetic logic unit, accumulators, shifter, multiplier/adder unit, compare, select, store unit, exponent encoder. Status Control Registers 4.1.1 Status Registers (ST0 ST1) 4.1.2 Processor Mode Status Register (PMST) Arithmetic Logic Unit (ALU) 4-10 4.2.1 Input 4-10 4.2.2 Overflow Handling 4-11 4.2.3 Carry 4-12 4.2.4 Dual 16-Bit Mode 4-12 Accumulators 4-13 4.3.1 Storing Accumulator Contents 4-13 4.3.2 Accumulator Shift Rotate Operations 4-14 4.3.3 Saturation Upon Accumulator Store 4-15 4.3.4 Application-Specific Instructions 4-15 Contents SPRU131G Contents Barrel Shifter Multiplier/Adder Unit 4.5.1 Multiplier Input Sources 4.5.2 Multiply/Accumulate (MAC) Instructions 4.5.3 Saturation Upon Multiplication Compare, Select, Store Unit (CSSU) Exponent Encoder 4-17 4-19 4-20 4-22 4-23 4-24 4-27 Data Addressing Describes seven basic addressing modes TMS320C54x DSP. Immediate Addressing Absolute Addressing 5.2.1 dmad Addressing 5.2.2 pmad Addressing 5.2.3 Addressing 5.2.4 *(lk) Addressing Accumulator Addressing Direct Addressing 5.4.1 DP-Referenced Direct Addressing 5.4.2 SP-Referenced Direct Addressing Indirect Addressing 5-10 5.5.1 Single-Operand Addressing 5-10 5.5.2 ARAU Address-Generation Operation 5-11 5.5.3 Single-Operand Address Modifications 5-13 5.5.4 Dual-Operand Address Modifications 5-19 5.5.5 Compatibility (ARP) Mode 5-23 Memory-Mapped Register Addressing 5-25 Stack Addressing 5-27 Data Types 5-28 Program Memory Addressing Describes TMS320C54x program control mechanisms. Includes information about address generation, program counter, hardware stack, reset, interrupts, powerdown modes. Program-Memory Address Generation Program Counter (PC) Branches 6.3.1 Unconditional Branches 6.3.2 Conditional Branches 6.3.3 Branches Calls 6.4.1 Unconditional Calls 6.4.2 Conditional Calls 6-10 6.4.3 Calls 6-11 Contents xvii SPRU131G Contents 6.10 6.11 Returns 6.5.1 Unconditional Returns 6.5.2 Conditional Returns 6.5.3 Returns Conditional Operations 6.6.1 Using Multiple Conditions 6.6.2 Conditional Execute (XC) Instruction 6.6.3 Conditional Store Instructions Repeating Single Instruction Repeating Block Instructions Reset Operation Interrupts 6.10.1 Interrupt Flag Register (IFR) 6.10.2 Interrupt Mask Register (IMR) 6.10.3 Phase Receive Interrupt Request 6.10.4 Phase Acknowledge Interrupt 6.10.5 Phase Execute Interrupt Service Routine (ISR) 6.10.6 Interrupt Context Save 6.10.7 Interrupt Latency 6.10.8 Interrupt Operation: Quick Summary 6.10.9 Re-mapping Interrupt-Vector Addresses 6.10.10 Interrupt Tables Power-Down Modes 6.11.1 IDLE1 Mode 6.11.2 IDLE2 Mode 6.11.3 IDLE3 Mode 6.11.4 Hold Mode 6.11.5 Other Power-Down Capabilities 6-12 6-12 6-13 6-14 6-16 6-17 6-17 6-18 6-20 6-23 6-25 6-26 6-27 6-29 6-31 6-32 6-33 6-34 6-34 6-35 6-36 6-38 6-50 6-50 6-51 6-51 6-52 6-52 Pipeline Describes TMS320C54x pipeline operation lists pipeline latency cycles these types latencies. Pipeline Operation 7.1.1 Branch Instructions Pipeline 7.1.2 Call Instructions Pipeline 7.1.3 Return Instructions Pipeline 7-12 7.1.4 Conditional Execute Instructions Pipeline 7-19 7.1.5 Conditional-Call Conditional-Branch Instructions Pipeline 7-20 Interrupts Pipeline 7-25 Dual-Access Memory Pipeline 7-27 7.3.1 Resolved Conflict Between Instruction Fetch Operand Read 7-29 7.3.2 Resolved Conflict Between Operand Write Dual-Operand Read 7-30 7.3.3 Resolved Conflict Among Operand Write, Operand Write, Dual-Operand Read 7-31 Contents SPRU131G xviii Contents Single-Access Memory Pipeline Pipeline Latencies 7.5.1 Recommended Instructions Accessing Memory-Mapped Registers 7.5.2 Updating ARx, SP-A Resolved Conflict 7.5.3 Rules Determine DAGEN Register Access Conflicts 7.5.4 Latencies 7.5.5 Latencies Stack Pointer 7.5.6 Latencies Temporary Register 7.5.7 Latencies Accessing Status Registers 7.5.8 Latencies Repeat-Block Loops 7.5.9 Latencies PMST 7.5.10 Latencies Memory-Mapped Accesses Accumulators 7-33 7-35 7-35 7-38 7-44 7-44 7-50 7-57 7-60 7-72 7-75 7-79 On-Chip Peripherals Describes TMS320C54x peripherals control them. Includes information about general-purpose pins, timers, clock, host port interface. Available On-Chip Peripherals Peripheral Memory-Mapped Registers General-Purpose 8-20 8.3.1 Branch Control Input (BIO) 8-20 8.3.2 External Flag Output (XF) 8-20 Timer 8-21 8.4.1 Timer Registers 8-21 8.4.2 Timer Operation 8-23 Clock Generator 8-26 8.5.1 Hardware-Configurable 8-26 8.5.2 Software-Programmable 8-27 Host Port Interface 8-36 8.6.1 Basic Host Port Interface Functional Description 8-37 8.6.2 Details Host Port Interface Operation 8-40 8.6.3 Host Read/Write Access 8-45 8.6.4 DSPINT HINT Function Operation 8-50 8.6.5 Considerations Changing Memory Access Mode (SAM/HOM) IDLE2/3 8-51 8.6.6 Access Memory During Reset 8-53 Serial Ports Describes TMS320C54x serial ports. Includes information about standard serial port interface, buffered serial port interface, multichannel buffered serial port interface, time-division multiplexed serial port interface. Introduction Serial Ports Serial Port Interface 9.2.1 Serial Port Interface Registers 9.2.2 Serial Port Interface Operation Contents SPRU131G Contents 9.2.3 Configuring Serial Port Interface 9.2.4 Burst Mode Transmit Receive Operations 9-18 9.2.5 Continuous Mode Transmit Receive Operations 9-24 9.2.6 Serial Port Interface Exception Conditions 9-26 9.2.7 Example Serial Port Interface Operation 9-31 Buffered Serial Port (BSP) Interface 9-33 9.3.1 Operation Standard Mode 9-35 9.3.2 Autobuffering Unit (ABU) Operation 9-40 9.3.3 System Considerations Operation 9-49 9.3.4 Buffer Misalignment Interrupt (BMINT) C549 only 9-54 9.3.5 Operation Power-Down Mode 9-55 Time-Division Multiplexed (TDM) Serial Port Interface 9-56 9.4.1 Basic Time-Division Multiplexed Operation 9-56 9.4.2 Serial Port Interface Registers 9-56 9.4.3 Serial Port Interface Operation 9-58 9.4.4 Mode Transmit Receive Operations 9-62 9.4.5 Serial Port Interface Exception Conditions 9-64 9.4.6 Examples Serial Port Interface Operation 9-64 External Operation 10-1 Discusses external interface timing events involved memory accesses. Describes hold mode wake-up sequence from IDLE3 mode. 10.1 10.2 10.3 External Interface 10-2 External Priority 10-4 External Control 10-5 10.3.1 Wait-State Generator 10-5 10.3.2 Bank-Switching Logic 10-9 External Interface Timing 10-14 10.4.1 Memory Access Timing 10-14 10.4.2 Access Timing 10-18 10.4.3 Memory Access Timing 10-19 Start-Up Access Sequences 10-24 10.5.1 Reset 10-24 10.5.2 IDLE3 10-26 Hold Mode 10-28 10.6.1 Interrupts During Hold 10-29 10.6.2 Hold Reset 10-29 10.4 10.5 10.6 Design Considerations Using XDS510 Emulator Describes JTAG emulator cable, construct 14-pin connector your target system, connect target system emulator. Designing Your Target System's Emulator Connector (14-Pin Header) Protocol Emulator Cable Contents SPRU131G Contents Emulator Cable Signal Timing Emulation Timing Calculations Connections Between Emulator Target System A-10 A.6.1 Buffering Signals A-10 A.6.2 Using Target-System Clock A-12 A.6.3 Configuring Multiple Processors A-13 Physical Dimensions 14-Pin Emulator Connector A-14 Emulation Design Considerations A-16 A.8.1 Using Scan Path Linkers A-16 A.8.2 Emulation Timing Calculations Scan Path Linker (SPL) A-18 A.8.3 Using Emulation Pins A-20 A.8.4 Performing Diagnostic Applications A-24 Development Support Part Order Information Provides device part numbers support tool ordering information TMS320C54x development support information available from third-party vendors. Development Support B.1.1 Development Tools B.1.2 Third-Party Support B.1.3 Technical Training Organization (TTO) TMS320 Workshops B.1.4 Assistance Part Order Information B.2.1 Device Development Support Tool Nomenclature Prefixes B.2.2 Device Nomenclature B.2.3 Development Support Tools Submitting Codes Provides information submitting codes Texas Instruments. Glossary Defines terms abbreviations used throughout this book. SPRU131G Contents Figures Figures 3-10 3-11 3-12 3-13 3-14 3-15 3-16 3-17 3-18 3-19 4-10 4-11 xxii Evolution TMS320 Family Block Diagram TMS320C54x Internal Hardware Memory Maps C541 Memory Maps C542 C543 Memory Maps C545 C546 Memory Maps C548 Memory Maps C549 Extended Program Memory Maps C548 C549 Memory Maps C5402 Extended Program Memory C5402 3-10 Memory Maps C5410 3-11 Extended Program Memory Maps C5410 (On-chip Mapped Program Space Data Space, OVLY 3-12 Extended Program Memory Maps C5410 (On-chip Mapped Program Space Data Space, OVLY 3-12 Data Memory C5420 Relative Subsystems 3-13 Program Memory Maps C5420 Relative Subsystems 3-14 On-Chip Block Organization 3-17 On-Chip Program Memory (High Addresses) 3-19 Extended Program Memory With On-Chip Mapped Program Space (OVLY 3-20 Extended Program Memory With On-Chip Mapped Program Space Data Space (OVLY 3-21 On-Chip Block Organization 3-24 On-Chip Block Organization (C5402/C5410/C5420) 3-25 Status Register (ST0) Diagram Status Register (ST1) Diagram Processor Mode Status Register (PMST) Diagram Functional Diagram 4-10 Accumulator 4-13 Accumulator 4-13 Barrel Shifter Functional Diagram 4-18 Multiplier/Adder Functional Diagram 4-20 Compare, Select, Store Unit (CSSU) 4-24 Viterbi Operator 4-25 Exponent Encoder 4-27 Figures SPRU131G Figures 5-10 5-11 5-12 5-13 5-14 5-15 5-16 5-17 8-10 8-11 8-12 8-13 Instruction With Short-Immediate Addressing Instruction With 16-Bit-Immediate Addressing Direct-Addressing Instruction Format Direct Addressing Block Diagram DP-Referenced Direct Address SP-Referenced Direct Address Indirect-Addressing Instruction Format Single Data-Memory Operand 5-10 Indirect Addressing Block Diagram Single Data-Memory Operand 5-12 Circular Addressing Block Diagram 5-17 Circular Buffer Implementation 5-17 Indirect-Addressing Instruction Format Dual Data-Memory Operands 5-20 Indirect Addressing Block Diagram Dual Data-Memory Operands 5-21 Indexes Auxiliary Registers 5-23 Indirect-Addressing Instruction Format Compatibility Mode 5-24 Memory-Mapped Register Addressing Block Diagram 5-25 Stack Stack Pointer Before After Push Operation 5-27 Word Order Memory 5-29 Program-Address Generation Logic (PAGEN) Registers Interrupt Flag Register (IFR) Diagram 6-28 Interrupt Mask Register (IMR) Diagram 6-29 Interrupt-Vector Address Generation 6-36 Flow Diagram Interrupt Operation 6-37 Pipeline Stages Pipelined Memory Accesses Half-Cycle Accesses Dual-Access Memory 7-28 External Flag Timing Diagram 8-20 Timer Control Register (TCR) Diagram 8-22 Timer Block Diagram 8-23 Clock Mode Register (CLKMD) Diagram 8-29 Lockup Time Versus CLKOUT Frequency 8-31 Host Port Interface Block Diagram 8-36 Generic System Block Diagram 8-38 Select Input Logic 8-42 HPIC Diagram Host Reads from HPIC 8-44 HPIC Diagram Host Writes HPIC 8-45 HPIC Diagram TMS320C54x Reads From HPIC 8-45 HPIC Diagram TMS320C54x Writes HPIC 8-45 Timing Diagram 8-47 One-Way Serial Port Transfer Serial Port Interface Block Diagram Serial Port Control Register (SPC) Diagram Receiver Signal Multiplexers 9-13 Burst Mode Serial Port Transmit Operation 9-18 Serial Port Transmit With Long Pulse 9-19 Figures xxiii SPRU131G Figures 9-10 9-11 9-12 9-13 9-14 9-15 9-16 9-17 9-18 9-19 9-20 9-21 9-22 9-23 9-24 9-25 9-26 9-27 9-28 9-29 9-30 9-31 9-32 9-33 9-34 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 10-11 10-12 10-13 10-14 xxiv Burst Mode Serial Port Transmit Operation With Delayed Frame Sync External Frame Sync Mode (SP) 9-20 Burst Mode Serial Port Transmit Operation With Delayed Frame Sync External Frame Sync Mode (BSP) 9-21 Burst Mode Serial Port Receive Operation 9-21 Burst Mode Serial Port Receive Overrun 9-22 Serial Port Receive With Long Pulse 9-23 Burst Mode Serial Port Transmit Maximum Packet Frequency 9-23 Burst Mode Serial Port Receive Maximum Packet Frequency 9-24 Continuous Mode Serial Port Transmit 9-25 Continuous Mode Serial Port Receive 9-26 Receiver Functional Operation (Burst Mode) 9-27 Receiver Functional Operation (Burst Mode) 9-28 SP/BSP Transmitter Functional Operation (Burst Mode) 9-29 SP/BSP Receiver Functional Operation (Continuous Mode) 9-30 SP/BSP Transmitter Functional Operation (Continuous Mode) 9-31 Block Diagram 9-34 Control Extension Register (BSPCE) Diagram Serial Port Control Bits 9-37 Transmit Continuous Mode with External Frame (Format Bits) 9-40 Block Diagram 9-42 Control Extension Register (BSPCE) Diagram Control Bits 9-43 Circular Addressing Registers 9-47 Transmit Buffer Receive Buffer Mapping Example 9-48 Standard Mode Initialization Timing 9-51 Autobuffering Mode Initialization Timing 9-52 Time-Division Multiplexing 9-56 4-Wire 9-58 Serial Port Registers Diagram 9-60 Serial Port Timing (TDM Mode) 9-62 Example Configuration Diagram 9-65 External Interface Priority 10-4 Software Wait-State Register (SWWSR) Diagram 10-5 Software Wait-State Control Register (SWCR) Diagram 10-6 Software Wait-State Generator Block Diagram 10-8 Bank-Switching Control Register (BSCR) Diagram 10-9 Bank Switching Between Memory Reads 10-12 Bank Switching Between Program Space Data Space 10-13 Memory Interface Operation Read-Read-Write 10-15 Memory Interface Operation Write-Write-Read 10-16 Memory Interface Operation Read-Read-Write (Program-Space Wait States) 10-17 Parallel Interface Operation Read-Write-Read 10-18 Parallel Operation Read-Write-Read (I/O-Space Wait States) 10-19 Memory Read Write 10-20 Memory Read Read 10-20 Figures SPRU131G Figures 10-15 10-16 10-17 10-18 10-19 10-20 10-21 10-22 10-23 10-24 A-10 A-11 A-12 A-13 A-14 A-15 Memory Write Write 10-21 Memory Write Read 10-21 Write Memory Write 10-22 Write Memory Read 10-22 Read Memory Write 10-23 Read Memory Read 10-23 External Reset Sequence 10-25 IDLE3 Wake-Up Sequence 10-27 HOLD HOLDA Minimum Timing 10-30 HOLD Interaction 10-31 14-Pin Header Signals Header Dimensions Emulator Cable Interface Emulator Cable Timings Emulator Connections Without Signal Buffering A-10 Emulator Connections With Signal Buffering A-11 Target-System-Generated Test Clock A-12 Multiprocessor Connections A-13 Pod/Connector Dimensions A-14 14-Pin Connector Dimensions A-15 Connecting Secondary JTAG Scan Path Scan Path Linker A-17 EMU0/1 Configuration Meet Timing Requirements Less Than A-21 Suggested Timings EMU0 EMU1 Signals A-22 EMU0/1 Configuration With Additional Gate Meet Timing Requirements Greater Than A-23 EMU0/1 Configuration Without Global Stop A-24 Emulation Connections JTAG Scan Paths A-25 TMS320 Device Nomenclature TMS320 Code Submittal Flowchart SPRU131G Figures Tables Tables 5-10 5-11 xxvi Typical Applications TMS320 DSPs Usage Read Write Accesses Program Data Memory TMS320C54x Devices Host Port Interfaces TMS320C54x Devices 2-14 Serial Port Interfaces TMS320C54x Devices 2-15 On-Chip Program Memory Available TMS320C54x Devices 3-15 On-Chip Data Memory Available TMS320C54x Devices 3-22 Memory-Mapped Registers 3-27 Memory Security Modes 3-30 Access Memory Security Modes Specific Devices 3-30 Status Register (ST0) Summary Status Register (ST1) Summary Processor Mode Status Register (PMST) Summary Input Selection Instructions 4-11 Multiplier Input Selection Several Instructions 4-21 Operations Dual 16-Bit Mode 4-25 Instructions That Allow Immediate Addressing Direct-Addressing Instruction Summary Indirect-Addressing Instruction Summary Single Data-Memory Operand 5-10 Indirect Addressing Types With Single Data-Memory Operand 5-13 Bit-Reversed Addresses 5-19 Indirect-Addressing Instruction Summary Dual Data-Memory Operands 5-20 Auxiliary Registers Selected Field Instruction 5-20 Indirect Addressing Types With Dual Data-Memory Operands 5-21 Assembler Syntax Comparison TMS320C54x 5-23 Indirect-Addressing Instruction Summary Compatibility Mode 5-24 Instructions With 32-Bit Word Operands 5-28 Devices With Additional Program Memory Address Lines Loading Addresses Into Loading Addresses into Unconditional Branch Instructions Conditional Branch Instructions Branch Instructions Unconditional Call Instructions 6-10 Conditional Call Instruction 6-11 Call Instructions 6-11 Tables SPRU131G Tables 6-10 6-11 6-12 6-13 6-14 6-15 6-16 6-17 6-18 6-19 6-20 6-21 6-22 6-23 6-24 6-25 6-26 6-27 6-28 6-29 7-10 7-11 7-12 7-13 7-14 7-15 7-16 7-17 7-18 7-19 7-20 7-21 7-22 7-23 7-24 Unconditional Return Instructions Conditional Return Instruction Return Instructions Conditions Conditional Instructions Grouping Conditions Multiconditional Instructions Conditional Store Instructions Conditions Conditional Store Instructions Multicycle Instructions That Become Single-Cycle Instructions When Repeated Nonrepeatable Instructions TMS320C541 Interrupt Locations Priorities TMS320C542 Interrupt Locations Priorities TMS320C543 Interrupt Locations Priorities TMS320C545 Interrupt Locations Priorities TMS320C546 Interrupt Locations Priorities TMS320C548 Interrupt Locations Priorities TMS320C549 Interrupt Locations Priorities TMS320C5402 Interrupt Locations Priorities TMS320C5410 Interrupt Locations Priorities TMS320C5420 Interrupt Locations Priorities Operation During Four Power-Down Modes DARAM Blocks Accessing DARAM Blocks Recommended Instructions Accessing Memory-Mapped Registers Instructions That Access DAGEN Registers Read Stage Store-Type Instructions Pipeline-Protected Instructions Updating Latencies Accessing Latencies Accessing Latencies Compiler Mode (CPL Pipeline-Protected Instructions Update Noncompiler Mode (CPL Latencies Noncompiler Mode (CPL Pipeline-Protected Instructions Updating Latencies Register Based Second-Instruction Category Recommended Instructions Writing Pipeline-Protected Instruction Update Compatibility Mode (CMPT Latencies Compatibility Mode (CMPT CMPT Recommended Instructions Update Noncompiler Mode (CPL Latencies Noncompiler Mode (CPL Latencies Latencies Pipeline-Protected Instructions Writing Latencies Field Recommended Instructions Writing Before RPTB Loop Latencies Updating Before RPTB Loop Tables 6-13 6-14 6-15 6-16 6-17 6-18 6-19 6-20 6-21 6-38 6-39 6-40 6-41 6-42 6-43 6-44 6-45 6-46 6-48 6-50 7-27 7-28 7-36 7-38 7-39 7-45 7-46 7-47 7-51 7-54 7-55 7-57 7-58 7-60 7-61 7-62 7-63 7-64 7-66 7-68 7-69 7-70 7-72 7-72 xxvii SPRU131G Tables 7-25 7-26 7-27 7-28 8-10 8-11 8-12 8-13 8-14 8-15 8-16 8-17 8-18 8-19 8-20 8-21 8-22 8-23 8-24 8-25 8-26 8-27 8-28 8-29 8-30 9-10 xxviii Latencies Updating From Within RPTB Loop 7-74 Latencies OVLY, IPTR, MP/MC Bits 7-76 Latencies DROM 7-78 Latencies Accumulators When Used Memory-Mapped Registers 7-81 C541/541B Peripheral Memory-Mapped Registers C542 Peripheral Memory-Mapped Registers C543 Peripheral Memory-Mapped Registers C545/C545A Peripheral Memory-Mapped Registers C546/C546A Peripheral Memory-Mapped Registers C548 Peripheral Memory-Mapped Registers C549 Peripheral Memory-Mapped Registers C5402 Peripheral Memory-Mapped Registers 8-11 C5410 Peripheral Memory-Mapped Registers 8-13 C5420 Peripheral Memory-Mapped Registers Each Subsystem 8-15 C5402/C5410/C5420 McBSP Subaddressed Registers 8-17 C5402/C5410/C5420 Subaddressed Registers 8-18 Timer Registers 8-21 Timer Control Register (TCR) Summary 8-22 Clock Mode Configurations 8-27 Clock Mode Settings Reset 8-28 Clock Mode Settings Reset (C5402) 8-28 Clock Mode Register (CLKMD) Summary 8-29 Multiplier Ratio Function PLLNDIV, PLLDIV, PLLMUL 8-30 Registers Description 8-39 Signal Names Functions 8-40 Input Control Signals Function Selection Descriptions 8-42 Control Register (HPIC) Descriptions 8-43 HPIC Host/TMS320C54x Read/Write Characteristics 8-45 Wait-State Generation Conditions 8-48 Initialization HPIA 8-49 Read Access With Autoincrement 8-49 Write Access With Autoincrement 8-50 Sequence Entering Exiting IDLE2 IDLE3 8-52 Operation During RESET 8-53 Serial Ports TMS320C54x Devices Sections that Discuss Serial Ports Serial Port Registers Serial Port Pins Serial Port Control Register (SPC) Summary Serial Port Clock Configuration 9-17 Buffered Serial Port Registers 9-35 Differences Between Serial Port Operation Standard Mode 9-36 Control Extension Register (BSPCE) Summary Serial Port Control Bits 9-38 Buffered Serial Port Word Length Configuration 9-39 Tables SPRU131G Tables 9-11 9-12 9-13 9-14 9-15 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 Autobuffering Unit Registers 9-40 Control Extension Register (BSPCE) Summary Control Bits 9-44 Serial Port Registers 9-57 Interprocessor Communications Scenario 9-65 Register Contents 9-66 External Interface Signals 10-2 Software Wait-State Register (SWWSR) Summary 10-6 C548/C549/C5402/C5410/C5420 Software Wait-State Register (SWWSR) Summary 10-7 Number CLKOUT1 Cycles Access Various Numbers Wait States 10-8 Bank-Switching Control Register (BSCR) Summary 10-9 Relationship Between BNKCMP Bank Size 10-10 State Signals When External Interface Disabled (EXIO 10-11 Counter Down-Time With Multiplication Factors Operation 10-26 14-Pin Header Signal Descriptions Emulator Cable Timing Parameters Development Support Tools Part Numbers SPRU131G Tables xxix Examples Examples 7-10 7-11 7-12 7-13 7-14 7-15 7-16 7-17 7-18 7-19 7-20 7-21 7-22 7-23 7-24 7-25 7-26 7-27 7-28 7-29 7-30 SMUL Accumulator Store With Shift 4-14 CMPS Instruction Operation 4-26 Normalization Accumulator 4-27 Sequence Auxiliary Registers Modifications Bit-Reversed Addressing 5-18 Sample Pipeline Diagram Branch Instruction Pipeline Delayed-Branch (BD) Instruction Pipeline Call Instruction Pipeline Delayed-Call (CALLD) Instruction Pipeline 7-10 Interrupt (INTR) Instruction Pipeline 7-11 Return (RET) Instruction Pipeline 7-12 Delayed-Return (RETD) Instruction Pipeline 7-14 Return-With-Interrupt-Enable (RETE) Instruction Pipeline 7-15 Delayed Return-With-Interrupt-Enable (RETED) Instruction Pipeline 7-16 Return-Fast (RETF) Instruction Pipeline 7-17 Delayed Return-Fast (RETFD) Instruction Pipeline 7-18 Execute-Conditionally (XC) Instruction Pipeline 7-19 Conditional-Call (CC) Instruction Pipeline 7-21 Delayed Conditional-Call (CCD) Instruction Pipeline 7-22 Conditional-Branch (BC) Instruction Pipeline 7-23 Delayed Conditional-Branch (BCD) Instruction Pipeline 7-24 Interrupt Response Pipeline 7-26 Instruction Fetch Operand Read 7-30 Operand Write Dual-Operand Read Conflict 7-31 Operand Write Operand Read Conflict 7-32 Resolving Conflict When Updating Multiple ARxs 7-40 Resolving Conflict When Updating 7-42 Resolving Conflict When Updating 7-43 Updated With Latency 7-48 Updated With 1-Cycle Latency 7-48 Updated With Without 1-Cycle Latency 7-49 Updated With Without 2-Cycle Latency 7-49 Updated With 2-Cycle Latency 7-49 Updated With 1-Cycle Latency 7-50 Examples SPRU131G Examples 7-31 7-32 7-33 7-34 7-35 7-36 7-37 7-38 7-39 7-40 7-41 7-42 7-43 7-44 7-45 7-46 7-47 7-48 7-49 7-50 7-51 7-52 7-53 7-54 7-55 7-56 7-57 7-58 7-59 7-60 7-61 7-62 7-63 7-64 7-65 7-66 7-67 7-68 7-69 Load With Latency Compiler Mode (CPL Load With 1-Cycle Latency Compiler Mode (CPL Load With Without 2-Cycle Latency Load With 2-Cycle Latency Compiler Mode (CPL Load With 3-Cycle Latency Compiler Mode (CPL Load With Latency Noncompiler Mode (CPL Load With Without 1-Cycle Latency Noncompiler Mode (CPL Load With 1-Cycle Latency Noncompiler Mode (CPL Load With Latency Load With 1-Cycle Latency Load With Latency Compatibility Mode (CMPT Load With 2-Cycle Latency Compatibility Mode (CMPT Load With 3-Cycle Latency Compatibility Mode (CMPT Load With Latency Noncompiler Mode (CPL Load With 2-Cycle Latency Noncompiler Mode (CPL Load With 3-Cycle Latency Noncompiler Mode (CPL Update With 1-Cycle Latency Update With 2-Cycle Latency Update With 3-Cycle Latency Update With Latency Update With 1-Cycle Latency Update With Latency Update With 1-Cycle Latency Loading Before Executing Repeat-Block Loop SRCCD Instruction With Latency SRCCD Instruction With 3-Cycle Latency Modifying From Within RPTB Loop BRAF Deactivation OVLY Setup Followed Unconditional Branch OVLY Setup Followed Conditional Branch OVLY Setup Followed Return MP/MC Setup Followed Unconditional Delayed Call IPTR Setup Followed Software Trap DROM Setup Followed Read Access DROM Setup Followed Dual-Read Access Accumulator Access With 1-Cycle Latency Accumulator Access With Conflict Updating Accumulator With 1-Cycle Latency Updating Accumulator With Latency Switching Clock Mode From Mode Divide-by-2 Mode Switching Clock Mode From Mode Mode Switching Clock From Mode Divide-by-2 Mode, Turning PLL, Entering IDLE3 Examples 7-52 7-52 7-53 7-53 7-53 7-56 7-56 7-56 7-59 7-59 7-63 7-63 7-63 7-65 7-65 7-65 7-67 7-67 7-67 7-68 7-68 7-71 7-71 7-73 7-73 7-74 7-74 7-75 7-76 7-76 7-77 7-77 7-77 7-78 7-78 7-79 7-80 7-81 7-82 8-33 8-34 8-35 xxxi SPRU131G Examples Serial Port Initialization Routine 9-32 Serial Port Interrupt Service Routine 9-32 Transmit Initialization Routine 9-53 Receive Initialization Routine 9-54 Serial Port Transmit Initialization Routine 9-67 Serial Port Transmit Interrupt Service Routine 9-67 Serial Port Receive Initialization Routine 9-68 Serial Port Receive Interrupt Service Routine 9-68 Timing Single-Processor System Without Buffers Timing Single- Multiple-Processor System With Buffered Input Output Timing Single-Processor System Without Buffering (SPL) A-19 Timing Single- Multiprocessor-System With Buffered Input Output (SPL) A-19 xxxii Examples SPRU131G Chapter Introduction TMS320C54xDSP fixed-point digital signal processor (DSP) TMS320DSP family. C54xDSP meets specific needs real-time embedded applications, such telecommunications. C54x central processing unit (CPU), with modified Harvard architecture, features minimized power consumption high degree parallelism. addition these features, versatile addressing modes instruction C54x improve overall system performance. Topic Page TMS320 Family Overview TMS320C54x Overview TMS320C54x Features TMS320 Family Overview TMS320 Family Overview TMS320DSP family consists fixed-point, floating-point, multiprocessor digital signal processors (DSPs). TMS320 architecture designed specifically real-time signal processing. following characteristics make this family ideal choice wide range processing applications: Very flexible instruction Inherent operational flexibility High-speed performance Innovative parallel architecture Cost-effectiveness C-friendly architecture 1.1.1 History, Development, Advantages TMS320 DSPs 1982, Texas Instruments introduced TMS32010 first fixed-point TMS320 family. Before year, Electronic Products magazine awarded TMS32010 title "Product Year". TMS32010 became model future TMS320 generations. Today, TMS320 family consists three supported platforms: TMS320C2000TM, TMS320C5000TM, TMS320C6000TM. Within C5000DSP platform there three generations, TMS320C5xTM, TMS320C54xTM, TMS320C55xTM. Devices within C5000 platform similar structure that combined with variety on-chip memory peripheral configurations. These various configurations satisfy wide range needs worldwide electronics market. When memory peripherals integrated with onto single chip, overall system cost greatly reduced circuit board space reduced. Figure shows performance gains TMS320 family devices. Introduction SPRU131G TMS320 Family Overview Figure 1-1. Evolution TMS320 Family C6000 (C62x, C64x, C67x) C5000 (C54x, C55x) C2000 (C20x, C24x, C28x) C1/2x Power-efficient performance C3x/4x High performance Control optimized 1.1.2 Typical Applications TMS320 Family Table lists some typical applications TMS320 family DSPs. TMS320 DSPs offer more adaptable approaches traditional signal-processing problems such vocoding filtering than standard microprocessor/ microcomputer devices. They also support complex applications that often require multiple operations performed simultaneously. SPRU131G Introduction TMS320 Family Overview Table 1-1. Typical Applications TMS320 DSPs Automotive Adaptive ride control Antiskid brakes Cellular telephones Digital radios Engine control Navigation global positioning Vibration analysis Voice commands Anticollision radar General-Purpose Adaptive filtering Convolution Correlation Digital filtering Fast Fourier transforms Hilbert transforms Waveform generation Windowing Instrumentation Digital filtering Function generation Pattern matching Phase-locked loops Seismic processing Spectrum analysis Transient analysis Consumer Digital radios/TVs Educational toys Music synthesizers Pagers Power tools Radar detectors Solid-state answering machines Control Disk drive control Engine control Laser printer control Motor control Robotics control Servo control Graphics/Imaging rotation Animation/digital maps Homomorphic processing Image compression/transmission Image enhancement Pattern recognition Robot vision Workstations Medical Diagnostic equipment Fetal monitoring Hearing aids Patient monitoring Prosthetics Ultrasound equipment Telecommunications Industrial Numeric control Power-line monitoring Robotics Security access Military Image processing Missile guidance Navigation Radar processing Radio frequency modems Secure communications Sonar processing Voice/Speech Speaker verification Speech enhancement Speech recognition Speech synthesis Speech vocoding Text-to-speech Voice mail 1200- 600-bps modems Adaptive equalizers ADPCM transcoders Cellular telephones Channel multiplexing Data encryption Digital PBXs Digital speech interpolation (DSI) DTMF encoding/decoding Echo cancellation Faxing Line repeaters Personal communications systems (PCS) Personal digital assistants (PDA) Speaker phones Spread spectrum communications Video conferencing X.25 packet switching Introduction SPRU131G TMS320C54x Overview TMS320C54x Overview C54xDSP high degree operational flexibility speed. combines advanced modified Harvard architecture (with program memory bus, three data memory buses, four address buses), with application-specific hardware logic, on-chip memory, on-chip peripherals, highly specialized instruction set. Spinoff devices that combine C54x with customized on-chip memory peripheral configurations have been, continue developed specialized areas electronics market. C54x devices offer these advantages: Enhanced Harvard architecture built around program bus, three data buses, four address buses increased performance versatility Advanced design with high degree parallelism application- specific hardware logic increased performance highly specialized instruction faster algorithms optimized high-level language operation Modular architecture design fast development spinoff devices Advanced processing technology increased performance power consumption power consumption increased radiation hardness because static design techniques SPRU131G Introduction TMS320C54x Features TMS320C54x Features This section lists features C54x DSPs. Advanced multibus architecture with program bus, three data buses, four address buses 40-bit arithmetic logic unit (ALU), including 40-bit barrel shifter independent 40-bit accumulators 17-bit 17-bit parallel multiplier coupled 40-bit dedicated adder nonpipelined single-cycle multiply/accumulate (MAC) operation Compare, select, store unit (CSSU) add/compare selection Viterbi operator Exponent encoder compute exponent 40-bit accumulator value single cycle address generators, including eight auxiliary registers auxiliary register arithmetic units Multiple-CPU/core architecture some devices 192K words 16-bit addressable memory space (64K-words program, 64K-words data, 64K-words I/O), with extended program memory C548, C549, C5402, C5410, C5420. On-chip configurations follows words): Device C541 C542 C543 C545 C546 C548 C549 C5402 C5410 C5420 Dual-access Single-access Memory Program Program/Data DARAM SARAM Introduction SPRU131G TMS320C54x Features Instruction Single-instruction repeat block repeat operations Block memory move instructions better program data management Instructions with 32-bit long operand Instructions with 3-operand simultaneous reads Arithmetic instructions with parallel store parallel load Conditional-store instructions Fast return from interrupt On-chip peripherals Software-programmable wait-state generator Programmable bank-switching logic On-chip phase-locked loop (PLL) clock generator with internal oscillator external clock source. With external clock source, there several multiplier values available from following device options: Option Option Option Software-programmable C541B, C545A, C546A, C548, C549, C5402, C5410, C5420 have software-programmable additional saturation modes. softwareprogrammable described section 8.5.2, Software-Programmable PLL, page 8-27. saturation modes described section 4.1.2, Processor Mode Status Register (PMST), page 4-6. Each device offers selection clock modes from option list only. External bus-off control disable external data bus, address bus, control signals Data with holder feature Programmable timer Introduction SPRU131G TMS320C54x Features Ports: Serial Ports Host Port Interface MultiChannel Buffered Time-Division Multiplexed Device C541 C542 C543 C545 C546 C548 C549 C5402 C5410 C5420 Synchronous Buffered Speed: 25/20/15/12.5/10-ns execution time single-cycle, fixed-point instruction MIPS/50 MIPS/66 MIPS/80 MIPS/100 MIPS): Device C541 Power Supply C541B C542 C543 C545 C545A C546 C546A C548 C549 VC549 VC5402 Speed ns/20 ns/20 ns/20 ns/20 ns/20 ns/15 ns/12.5 Package 100-pin TQFP 100-pin TQFP 100-pin TQFP 144-pin TQFP 128-pin/144-pin TQFP 100-pin TQFP 128-pin TQFP 128-pin TQFP 100-pin TQFP 100-pin TQFP 144-pin TQFP 144-pin TQFP/144-pin Micro Start 144-pin TQFP/144-pin Micro Start 144-pin TQFP/144-pin Micro Start (2.5 core) (1.8 core) Introduction SPRU131G TMS320C54x Features Device VC5410 VC5420 Power Supply (2.5 core) (1.8 core) Speed Package 144-pin TQFP/176-pin Micro Start 144-pin TQFP/144-pin Micro Start Power Power consumption control with IDLE IDLE IDLE instructions power-down modes Control disable CLKOUT signal Emulation: IEEE Standard 1149.1 boundary scan logic interfaced on-chip scan-based emulation logic SPRU131G Introduction Chapter Architectural Overview This chapter provides overview architectural structure TMS320C54xDSP, which comprises central processing unit (CPU), memory, on-chip peripherals. C54xDSPs advanced modified Harvard architecture that maximizes processing power with eight buses. Separate program data spaces allow simultaneous access program instructions data, providing high degree parallelism. example, three reads write performed single cycle. Instructions with parallel store application-specific instructions fully utilize this architecture. addition, data transferred between data program spaces. Such parallelism supports powerful arithmetic, logic, bit-manipulation operations that performed single machine cycle. Also, C54x includes control mechanisms manage interrupts, repeated operations, function calling. Figure shows functional block diagram C54x DSP, which includes principal blocks structure. Topic Page Structure Internal Memory Organization Central Processing Unit (CPU) Data Addressing 2-10 Program Memory Addressing 2-11 Pipeline Operation 2-11 On-Chip Peripherals 2-12 Serial Ports 2-15 External Interface 2-17 2.10 IEEE Standard 1149.1 Scanning Logic 2-17 Block Diagram Figure 2-1. Block Diagram TMS320C54x Internal Hardware System control interface Program address generation logic (PAGEN) IPTR, BRC, RSA, Data address generation logic (DAGEN) ARAU0, ARAU1 AR0-AR7 ARP, encoder register Sign Sign A(40) B(40) Sign Sign Multiplier Fractional Legend: Accumulator Accumulator data data data unit program Barrel shifter register ALU(40) Adder(40) COMP ZERO ROUND Architectural Overview Memory external interface Peripheral interface Sign Barrel shifter MSW/LSW select SPRU131G Structure Structure C54xDSP architecture built around eight major 16-bit buses (four program/data buses four address buses): program (PB) carries instruction code immediate operands from program memory. Three data buses (CB, interconnect various elements, such CPU, data address generation logic, program address generation logic, on-chip peripherals, data memory. carry operands that read from data memory. carries data written memory. Four address buses (PAB, CAB, DAB, EAB) carry addresses needed instruction execution. C54x generate data-memory addresses cycle using auxiliary register arithmetic units (ARAU0 ARAU1). carry data operands stored program space (for instance, coefficient table) multiplier adder multiply/accumulate operations destination data space data move instructions (MVPD READA). This capability, conjunction with feature dual-operand read, supports execution single-cycle, 3-operand instructions such FIRS instruction. C54x also on-chip bidirectional accessing on-chip peripherals. This connected through exchanger interface. Accesses that this require more cycles reads writes, depending peripheral's structure. Table summarizes buses used various types accesses. SPRU131G Architectural Overview Structure Table 2-1. Usage Read Write Accesses Address Access Type Data Program read Program write Data single read Data dual read Data long (32-bit) read Data single write Data read/data write Dual read/coefficient read Peripheral read Peripheral write Legend: high 16-bit word 16-bit word (hw) (lw) (hw) (lw) Architectural Overview SPRU131G Internal Memory Organization Internal Memory Organization C54xDSP memory organized into three individually selectable spaces: program, data, space. C54x devices contain randomaccess memory (RAM) read-only memory (ROM). Among devices, following types represented: dual-access (DARAM), single-access (SARAM), two-way shared RAM. DARAM SARAM shared within subsystems multiple-CPU core device. configure DARAM SARAM data memory program/data memory. Table shows much ROM, DARAM, SARAM available some C54x devices. C54x also registers plus peripheral registers that mapped data-memory space. C54x memory types features introduced sections following this paragraph. details about configuring using various memory blocks, Chapter Memory. device-specific on-chip memory configurations, device datsheet. Table 2-2. Program Data Memory TMS320C54x Devices Memory Type ROM: Program Program/ data DARAM SARAM C541 C542 C543 C545 C546 C548 C549 C5402 C5410 C5420 168K configure dual-access (DARAM) single-access (SARAM) data memory program/data memory. 2.2.1 On-Chip on-chip part program memory space and, some cases, part data memory space. amount on-chip available each device varies, shown Table 2-2. most devices, contains bootloader that useful booting faster on-chip external RAM. bootloading details C54x devices, visit site review list application reports. SPRU131G Architectural Overview Internal Memory Organization devices with large amounts ROM, portion mapped into both data program space. larger ROMs also custom ROMs: provide code data programmed into object file format, Texas Instruments generates appropriate process mask program ROM. details submitting codes Texas Instruments, Appendix Submitting Codes 2.2.2 On-Chip Dual-Access (DARAM) amount on-chip DARAM available each device varies. DARAM composed several blocks. Because each DARAM block accessed twice machine cycle, peripherals, such buffered serial port (BSP) host-port interface (HPI), read from write DARAM memory address same cycle. DARAM always mapped data space primarily intended store data values. also mapped into program space used store program code. 2.2.3 On-Chip Single-Access (SARAM) amount on-chip SARAM available each device varies. SARAM composed several blocks. Each block accessible once machine cycle either read write. SARAM always mapped data space primarily intended store data values. also mapped into program space used store program code. 2.2.4 On-Chip Two-Way Shared amount on-chip two-way shared available certain devices varies. devices with multiple cores include two-way shared blocks that allow simultaneous program space access from cores. Each perform single access with zero-states location two-way shared during each clock cycle. shared memory program write-protected read only CPU, only controller write shared memory. This shared most efficiently used when CPUs executing identical programs. this case, amount program memory required application effectively reduced since both CPUs execute from same RAM. 2.2.5 On-Chip Memory Security C54x maskable memory security option protects contents onchip memories. When designate this option, externally originating instruction access on-chip memory spaces. C54x DSPs offer security feature, some devices only offer partial security. Architectural Overview SPRU131G Internal Memory Organization 2.2.6 Memory-Mapped Registers data memory space contains memory-mapped registers on-chip peripherals. These registers located data page simplifying access them. memory-mapped access provides convenient save restore registers context switches transfer information between accumulators other registers. SPRU131G Architectural Overview Central Processing Unit (CPU) Central Processing Unit (CPU) common C54xdevices. C54x contains: 40-bit arithmetic logic unit (ALU) 40-bit accumulators Barrel shifter 17-bit multiplier 40-bit adder Compare, select, store unit (CSSU) Data address generation unit Program address generation unit 2.3.1 Arithmetic Logic Unit (ALU) C54x performs 2s-complement arithmetic with 40-bit arithmetic logic unit (ALU) 40-bit accumulators (accumulators also perform Boolean operations. uses these inputs: 16-bit immediate value 16-bit word from data memory 16-bit value temporary register, 16-bit words from data memory 32-bit word from data memory 40-bit word from either accumulator also function 16-bit ALUs perform 16-bit operations simultaneously. section 4.2, Arithmetic Logic Unit (ALU), page 4-10, more details about operation. 2.3.2 Accumulators Accumulators (see Figure page 2-2) store output from multiplier/adder block. They also provide second input ALU; accumulator input multiplier/adder. Each accumulator divided into three parts: Guard bits (bits 39-32) High-order word (bits 31-16) Low-order word (bits 15-0) Instructions provided storing guard bits, storing high- low-order accumulator words data memory, transferring 32-bit accumulator words data memory. Also, either accumulators used temporary storage other. section 4.3, Accumulators page 4-13, more details about features these accumulators. Architectural Overview SPRU131G Central Processing Unit (CPU) 2.3.3 Barrel Shifter C54x barrel shifter 40-bit input connected accumulators data memory (using DB), 40-bit output connected data memory (using EB). barrel shifter produce left shift bits right shift bits input data. shift requirements defined shift count field instruction, shift count field (ASM) status register ST1, temporary register (when designated shift count register). barrel shifter exponent encoder normalize values accumulator single cycle. LSBs output filled with MSBs either zero filled sign extended, depending state sign-extension mode (SXM) ST1. Additional shift capabilities enable processor perform numerical scaling, extraction, extended arithmetic, overflow prevention operations. section 4.4, Barrel Shifter, page 4-17, more details about function shifter. section 4.7, Exponent Encoder, page 4-27, more information about encoder's accumulator-normalizing function. 2.3.4 Multiplier/Adder Unit multiplier/adder unit performs 17-bit 2s-complement multiplication with 40-bit addition single instruction cycle. multiplier/adder block consists several elements: multiplier, adder, signed/unsigned input control logic, fractional control logic, zero detector, rounder complement), overflow/saturation logic, 16-bit temporary storage register (T). multiplier inputs: input selected from data-memory operand, accumulator other selected from program memory, data memory, accumulator immediate value. fast, on-chip multiplier allows C54x perform operations efficiently such convolution, correlation, filtering. addition, multiplier together execute multiply/accumulate (MAC) computations operations parallel single instruction cycle. This function used determining Euclidian distance implementing symmetrical filters, which required complex algorithms. section 4.5, Multiplier/Adder Unit, page 4-19, more details about multiplier/adder unit. SPRU131G Architectural Overview Central Processing Unit (CPU) Data Addressing Central Processing Unit (CPU) 2.3.5 Compare, Select, Store Unit (CSSU) compare, select, store unit (CSSU) performs maximum comparisons between accumulator's high word, allows both test/control flag (TC) status register transition register (TRN) keep their transition histories, selects larger word accumulator store into data memory. CSSU also accelerates Viterbi-type butterfly computations with optimized on-chip hardware. section 4.6, Compare, Select, Store Unit (CSSU), page 4-24, more details about this unit. Data Addressing C54xDSP offers seven basic data addressing modes: Immediate addressing uses instruction encode fixed value. Absolute addressing uses instruction encode fixed address. Accumulator addressing uses accumulator access location program memory data. Direct addressing uses seven bits instruction encode lower seven bits address. seven bits used with data page pointer (DP) stack pointer (SP) determine actual memory address. Indirect addressing uses auxiliary registers access memory. Memory-mapped register addressing uses memory-mapped registers without modifying either current value current value. Stack addressing manages adding removing items from system stack. During execution instructions using direct, indirect, memory-mapped register addressing, data-address generation logic (DAGEN) computes addresses data-memory operands. detailed discussion data addressing modes, Chapter Data Addressing. 2-10 Architectural Overview SPRU131G Program Pipeline Operation Program Memory Addressing Memory Addressing Program Memory Addressing Program memory usually addressed C54xDSP with program counter (PC). With some instructions, however, absolute addressing used access data items that have been stored program memory. (Absolute addressing described Chapter Data Addressing.) which used fetch individual instructions, loaded program-address generation logic (PAGEN). Typically, PAGEN increments sequential instructions fetched. However, PAGEN load with non-sequential value result some instructions other operations. Operations that cause discontinuity include branches, calls, returns, conditional operations, single-instruction repeats, multiple-instruction repeats, reset, interrupts. calls interrupts, current saved onto stack, which referenced stack pointer (SP). When called function interrupt service routine finished, value that saved restored from stack return instruction. detailed discussion hardware software factors program address generation, Chapter Program Memory Addressing. Pipeline Operation instruction pipeline consists sequence operations that occur during execution instruction. C54xDSP pipeline levels: prefetch, fetch, decode, access, read, execute. each levels, independent operation occurs. Because these operations independent, from instructions active given cycle, each instruction different stage completion. Typically, pipeline full with sequential instructions, each stages. When discontinuity occurs, such during branch, call, return, more stages pipeline temporarily unused. more details about pipeline operation, Chapter Pipeline. SPRU131G Architectural Overview 2-11 On-Chip Peripherals On-Chip Peripherals C54xdevices have common CPU, different on-chip peripherals connected their CPUs. C54x devices have these, other, on-chip peripheral options: General-purpose pins Software-programmable wait-state generator Programmable bank-switching logic Clock generator Timer Direct memory access (DMA) controller Standard serial port Time-division multiplexed (TDM) serial port Buffered serial port (BSP) Multichannel buffered serial port (McBSP) Host-port interface 8-bit standard (HPI) 8-bit enhanced (HPI8) 16-bit enhanced (HPI16) device-specific on-chip peripheral configurations, device data sheet. more detailed information peripherals, TMS320C54x Enhanced Peripherals Reference Guide (SPRU302). 2.7.1 General-Purpose Pins C54x device provides general-purpose pins that read written through software control. C54x devices support GPIO pins: general input upon which conditional instructions based. external flag output that driven high under software control. often used handshaking functions. addition above described pins, other GPIO pins available selected devices. Some GPIO pins multiplexed with McBSP/HPI functions some GPIO pins dedicated. multiplexed pins used GPIO function McBSP/HPI function under software control. However, dedicated GPIO pins always used general-purpose I/O. section 8.3, General-Purpose I/O, page 8-20, more details about 2-12 Architectural Overview SPRU131G On-Chip Peripherals 2.7.2 Software-Programmable Wait-State Generator software-programmable wait-state generator extends external cycles seven machine cycles machine cycles C549 C5402, C5410, C5420) interface with slower off-chip memory devices. software wait-state generator incorporated without external hardware. off-chip memory accesses, from zero seven wait states specified within software wait-state register (SWWSR) each 32K-word block program data memory, 64K-word block space. section 10.3.1, Wait-State Generator, page 10-5, more details. 2.7.3 Programmable Bank-Switching Logic programmable bank-switching logic automatically insert cycle when access crosses memory-bank boundaries inside program memory data memory space. cycle also inserted when access crosses from program memory data memory selected devices from program memory page another program memory page. This extra cycle prevents contention allowing memory devices release before other devices start driving bus. size memory bank bank-switching logic defined bank-switching control register (BSCR). section 10.3.2, Bank-Switching Logic, page 10-9, more details. 2.7.4 Hardware Timer C54x device features 16-bit timing circuit with 4-bit prescaler. timer counter decremented every CLKOUT cycle. Each time counter decrements timer interrupt generated. timer stopped, restarted, reset, disabled specific status bits. section 8.4, Timer, page 8-21, more details. 2.7.5 Clock Generator There basic options clock generation C54x devices: internal oscillator phase-locked loop (PLL) circuit. first option, clock generated dividing input clock provided X2/CLKIN second option uses circuit generate clock that multiple frequency input clock. method allows high-frequency internal clock generated from low-frequency external clock. Maintaining low-frequency clock chip reduces system power consumption, reduces clock-generated EMI, facilitates less expensive external crystals oscillators. desired clock options initially selected with clock mode (CLKMD) pins. SPRU131G Architectural Overview 2-13 On-Chip Peripherals clock options available vary depending C54x device; however, C54x devices provide divide-by-2 clock capability. devices that provide hardware PLL, desired multiplication factor chosen state CLKMD pins only. more details about generator, section 8.5, Clock Generator, page 8-26. 2.7.6 Direct Memory Access (DMA) Controller direct memory access (DMA) controller transfers data between points memory without intervention CPU. allows movements data from internal program/data memory, on-chip peripherals, external memory devices occur background operation. independent programmable channels, allowing different contexts operation. 2.7.7 Host Port Interface host port interface (HPI) parallel port that provides interface host processor. Information exchanged between C54x device host processor through C54x on-chip memory that accessible both host processor C54x device. There three basic options C54x devices: standard 8-bit HPI, enhanced 8-bit HPI, enhanced 16-bit HPI. Table identifies HPI-equipped C54x devices. section 8.6, Host Port Interface, page 8-36, more details about operation. Table 2-3. Host Port Interfaces TMS320C54x Devices Host Port Interface Standard 8-bit Enhanced 8-bit Enhanced 16-bit C541 C542 C543 C545 C546 C548 C549 C5402 C5410 C5420 2-14 Architectural Overview SPRU131G Serial Ports Serial Ports serial ports C54x vary device, represented four types: synchronous, buffered, multichannel buffered (McBSP), timedivision multiplexed (TDM). Table number each type various C54x devices. sections that follow provide introduction four types serial ports. more details about these ports, Chapter Serial Ports. detailed information about McBSPs, TMS320C54x Enhanced Peripherals Reference Guide (SPRU302). Table 2-4. Serial Port Interfaces TMS320C54x Devices Serial Ports Synchronous Buffered Multichannel Buffered C541 C542 C543 C545 C546 C548 C549 C5402 C5410 C5420 2.8.1 Synchronous Serial Ports Synchronous serial ports high-speed, full-duplexed serial ports that provide direct communication with serial devices such codecs, analog-todigital (A/D) converters, other serial systems. When more than synchronous serial port resides C54x device, these ports identical independent. Each synchronous serial port operate one-fourth machine cycle rate (CLKOUT). synchronous serial port transmitter receiver double buffered individually controlled maskable external interrupt signals. Data framed either bytes words. 2.8.2 Buffered Serial Ports buffered serial port (BSP) synchronous serial port that enhanced with autobuffering unit clocked full CLKOUT rate. full-duplexed double-buffered offer flexible data stream length. autobuffering unit supports high-speed transfers reduces overhead servicing interrupts. SPRU131G Architectural Overview 2-15 Serial Ports 2.8.3 Multichannel Buffered Serial Ports (McBSPs) McBSP enhanced buffered serial port that includes following standard features: buffered data registers, full duplex communication, independent clocking framing receive transmit. addition, McBSP includes following enhanced features: internal programmable clock frame generation, multichannel mode, general purpose I/O. detailed information about McBSPs, TMS320C54x Enhanced Peripherals Reference Guide (SPRU302). 2.8.4 Serial Ports time-division multiplexed (TDM) serial port synchronous serial port that enhanced allow time-division multiplexing data with seven other C54x devices with ports. configured either synchronous operations operations commonly used multiprocessor applications. 2-16 Architectural Overview SPRU131G External Interface External Interface IEEE Standard 1149.1 Scanning Logic External Interface C54xDSP address words data memory, words program memory words some devices), words 16-bit parallel ports. Accesses either external memory ports take place through external interface. Individual space-select signals, allow selection physically separate spaces. interface's external ready input signal software-generated wait states allow processor interface with memory devices many different speeds. interface's hold modes allow external device take control C54x buses; this way, external device access resources program, data, spaces. External memory accessed most C54x instructions. However, accessing ports requires special instructions: PORTR PORTW. Chapter External Operation, more details about interfacing C54x external devices. 2.10 IEEE Standard 1149.1 Scanning Logic IEEE Standard 1149.1 scanning-logic circuitry used emulation testing purposes only. This logic provides boundary scan from interfacing devices. Also, used test pin-to-pin continuity well perform operational tests devices peripheral C54xDSP. IEEE Standard 1149.1 scanning logic interfaced internal scanning-logic circuitry that access on-chip resources. Thus, C54x perform on-board emulation using IEEE Standard 1149.1 serial scan pins emulation-dedicated pins. more information, Appendix Design Considerations Using XDS510 Emulator. SPRU131G Architectural Overview 2-17 Chapter Memory This chapter describes TMS320C54xDSP memory configuration operation. general, C54xdevices have total memory space 192K 16-bit words. This space divided into three specific memory segments: words program, words data, words I/O. some C54x devices, memory structure been modified through overlay paging schemes allow additional memory space. parallel nature C54x architecture dual-access capability on-chip allow C54x devices perform four concurrent memory operations given machine cycle: instruction fetch, twooperand reads, operand write. There several advantages operating from on-chip memory: Higher performance because wait states required Lower cost than external memory Lower power than external memory main advantage operating from off-chip memory ability access larger memory space. Topic Page Memory Space Program Memory 3-15 Data Memory 3-22 Memory 3-29 Program Data Security 3-30 Memory Space Memory Space C54xDSP memory organized into three individually selectable spaces: program, data, I/O. Within these spaces, RAM, ROM, EPROM, EEPROM, memory-mapped peripherals reside either on-chip off-chip. program memory space contains instructions execute, well tables used execution. data-memory space stores data used instructions. memory space interfaces external memory-mapped peripherals also serve extra data storage space. Depending version, several on-chip memory types available C54x devices: dual-access (DARAM), single-access (SARAM), two-way shared RAM, ROM. RAMs always mapped into data space, also mapped into program space. activated mapped into program space; also mapped, part, into data space. device-specific on-chip memory configurations, TMS320C54x Functional Overview (SPRU307) device data sheet. There three status register bits that affect memory configuration. effects these bits device-specific. MP/MC, OVLY, DROM bits located processor mode status register (PMST). more details, section 4.1, Status Control Registers, page 4-2. Figure through Figure show C54x device's data program memory maps maps affected MP/MC, OVLY, DROM bits. Memory SPRU131G Memory Space Figure 3-1. Memory Maps C541 C541 Program Memory 0000h OVLY OVLY 0000h-13FFh External 0000h-007Fh Reserved 0080h-13FFh On-chip DARAM 0000h C541 Data Memory 0000h-005Fh 0060h-007Fh 0080h-13FFh Memory-mapped registers Scratch-pad DARAM On-chip DARAM 2000h 2000h 4000h 1400h-8FFFh External 4000h 6000h 6000h 1400h-DFFFh External 8000h 8000h A000h A000h MP/MC 9000h-FF7Fh On-chip C000h FF80h-FFFFh Interrupt vectors (internal) MP/MC 9000h-FF7Fh External FF80h-FFFFh Interrupt vectors (external) E000h E000h DROM E000h-FFFFh External DROM E000h-FEFFh On-chip FF00h-FFFFh Reserved FFFFh FFFFh C000h SPRU131G Memory Memory Space Figure 3-2. Memory Maps C542 C543 C542/C543 Program Memory C542/C543 Data Memory 0000h 0000h OVLY OVLY 2000h 0000h-27FFh External 0000h-007Fh Reserved 0080h-27FFh On-chip DARAM 0000h-005Fh Memory-mapped registers 0060h-007Fh Scratch-pad DARAM 2000h 0080h-27FFh On-chip DARAM 4000h 4000h 6000h 6000h 8000h 2800h-EFFFh External 8000h 2800h-FFFFh External A000h A000h C000h C000h E000h MP/MC F000h-F7FFh Reserved F800h-FF7Fh On-chip FF80h-FFFFh Interrupt vectors MP/MC F000h-FF7Fh External FF80h-FFFFh Interrupt vectors E000h FFFFh FFFFh Memory SPRU131G Memory Space Figure 3-3. Memory Maps C545 C546 C545/C546 Program Memory 0000h OVLY OVLY 0000h-17FFh External 0000h-007Fh Reserved 0080h-17FFh On-chip DARAM 0000h C545/C546 Data Memory 0000h-005Fh 0060h-007Fh 0080h-17FFh Memory-mapped registers Scratch-pad DARAM On-chip DARAM 2000h 1800h-3FFFh External 2000h 4000h 4000h 6000h 6000h 1800h-BFFFh External 8000h MP/MC 4000h-FF7Fh On-chip FF80h-FFFFh Interrupts (internal) A000h MP/MC 4000h-FF7Fh External FF80h-FFFFh Interrupts (external) 8000h A000h C000h C000h DROM C000h-FFFFh External E000h E000h DROM C000h-FEFFh On-chip FF00h-FFFFh Reserved FFFFh FFFFh SPRU131G Memory Memory Space Figure 3-4. Memory Maps C548 0000 Program Reserved (OVLY External (OVLY 0000 Program Reserved (OVLY External (OVLY 0000 005F 0060 Scratch-Pad 007F 0080 On-Chip DARAM (OVLY External (OVLY 007F 0080 On-Chip DARAM (OVLY External (OVLY 007F 0080 On-Chip DARAM Words) 1FFF 2000 On-Chip SARAM (24K Words) 7FFF 8000 External External EFFF F000 Reserved F7FF F800 FF7F FF80 FFFF (Microprocessor Mode) FF7F FF80 FFFF (Microcomputer Mode) External Data Memory-Mapped Registers 1FFF 2000 On-Chip SARAM (OVLY External (OVLY 1FFF 2000 On-Chip SARAM (OVLY External (OVLY 7FFF 8000 7FFF 8000 On-Chip Words) Interrupts Reserved (On-Chip) FFFF Interrupts Reserved (External) Memory SPRU131G Memory Space Figure 3-5. Memory Maps C549 0000 Program Reserved (OVLY External (OVLY 0000 Program Reserved (OVLY External (OVLY 0000 005F 0060 Scratch-Pad 007F 0080 On-Chip DARAM (OVLY External (OVLY 007F 0080 On-Chip DARAM (OVLY External (OVLY 007F 0080 On-Chip DARAM Words) 1FFF 2000 On-Chip SARAM (24K Words) 7FFF 8000 External External BFFF C000 On-Chip (16K Words) FEFF FF00 Interrupts Reserved (External) FFFF (Microprocessor Mode) (Microcomputer Mode) Interrupts Reserved (On-Chip) FFFF FEFF FF00 BFFF C000 On-Chip (DROM External (DROM External Data Memory-Mapped Registers 1FFF 2000 On-Chip SARAM (OVLY External (OVLY 1FFF 2000 On-Chip SARAM (OVLY External (OVLY 7FFF 8000 7FFF 8000 FF7F FF80 FFFF Reserved (DROM External (DROM SPRU131G Memory Memory Space Figure 3-6. Extended Program Memory Maps C548 C549 0000 0000 0000 0000 Page Words 7FFF 7FFF Page Words 7FFF Page Words 7FFF Page Words 8000 8000 8000 8000 Page Words FFFF FFFF Page Words FFFF Page Words FFFF Page Words Figure Figure more information about this on-chip memory region. These pages available when OVLY when on-chip mapped program space data space. When OVLY first words page when on-chip mapped program space data space. NOTE: When on-chip enabled program space, accesses region 0000 7FFF, regardless page number, mapped on-chip 0000 7FFF. Memory SPRU131G Memory Space Figure 3-7. Memory Maps C5402 0000 Page Program 0000 Reserved (OVLY External (OVLY Reserved (OVLY External (OVLY Page Program 0000 Data Memory Mapped Registers 005F 0060 Scratch-Pad 007F 0080 007F 0080 007F 0080 On-Chip DARAM (OVLY External (OVLY On-Chip DARAM (OVLY External (OVLY On-Chip DARAM (16K 16-bits) 3FFF 4000 3FFF 4000 3FFF 4000 External External External EFFF F000 On-Chip 16-bits) FEFF FF00 Reserved EFFF F000 (DROM=1) External (DROM=0) FEFF FF00 Reserved (DROM=1) External (DROM=0) FF7F FF80 Interrupts (External) FFFF (Microprocessor Mode) FF7F FF80 Interrupts (On-Chip) FFFF (Microcomputer Mode) FFFF SPRU131G Memory Memory Space Figure 3-8. Extended Program Memory C5402 0000 0000 Page Lower 32K} External Page 7FFF Words{ 8000 Page Upper External FFFF FFFF 7FFF 8000 Page Upper External 0000 Page Lower 32K} External 0000 Page Lower 32K} External 7FFF 8000 Page Upper External FFFF FFFF memory map. lower words pages through available only when OVLY cleared OVLY on-chip mapped lower words program space pages. 3-10 Memory SPRU131G Memory Space Figure 3-9. Memory Maps C5410 0000 Program 010000 Reserved (OVLY External (OVLY 007F 0080 On-Chip DARAM (OVLY External (OVLY 1FFF 2000 On-Chip SARAM1 (OVLY External (OVLY 7FFF 8000 017FFF 018000 Mapped Lower Page (OVLY External (OVLY 1FFF 2000 On-Chip SARAM1 (OVLY External (OVLY 007F 0080 On-Chip DARAM (OVLY External (OVLY Mapped Lower Page (OVLY External (OVLY Program 0000 Reserved (OVLY External (OVLY Program 010000 Program 0000 Data Memory-Mapped Registers 005F 0060 007F 0080 On-Chip DARAM Words) 1FFF 2000 On-Chip SARAM1 (24K Words) 017FFF 018000 7FFF 8000 ScratchPad 7FFF 8000 External External External BFFF C000 On-Chip SARAM2 On-Chip (16K Words) On-Chip SARAM2 (DROM External (DROM FF7F FF80 Interrupts Reserved (External) FFFF Page MP/MC= (Microprocessor Mode) FF7F FF80 Interrupts Reserved (On-Chip ROM) 01FFFF Page FFFF Page MP/MC= (Microcomputer Mode) 01FFFF Page FFFF SPRU131G Memory 3-11 Memory Space Figure 3-10. Extended Program Memory Maps C5410 (On-chip Mapped Program Space Data Space, OVLY 0000 0000 0000 0000 Page Words Page Words Page Words Page Words FFFF FFFF FFFF FFFF XPC=127 Figure 3-11.Extended Program Memory Maps C5410 (On-chip Mapped Program Space Data Space, OVLY 0000 7FFF Page Words On-Chip 8000 Page Words External FFFF 8000 Page Words On-Chip FFFF 8000 Page Words External FFFF 8000 Page Words External FFFF XPC=127 Figure more information about this on-chip memory region. NOTE: When on-chip enabled program space, accesses region 0000 7FFF, regardless page number, mapped on-chip 0000 7FFF. 3-12 Memory SPRU131G Memory Space Figure 3-12. Data Memory C5420 Relative Subsystems 0000 005F 0060 007F 0080 Data MemoryMapped Registers Scratch-Pad DARAM On-Chip DARAM (16k Words) 3FFF 4000 On-Chip SARAM (16k Words) 7FFF 8000 On-Chip SARAM (32k Words) Prog/Data (DROM=1) External (DROM=0) FFFF SPRU131G Memory 3-13 Memory Space Figure 3-13. Program Memory Maps C5420 Relative Subsystems 0000 On-Chip DARAM (16k Words) Prog/Data (OVLY=1) Program Page 10000 On-Chip DARAM (16k Words) Prog/Data (OVLY=1) Program Page 20000 On-Chip DARAM (16k Words) Prog/Data (OVLY=1) Program Page 30000 On-Chip DARAM (16k Words) Prog/Data (OVLY=1) Program Page 0000 External (OVLY=0) (EMIF) 3FFF 4000 On-Chip SARAM (16k Words) Prog/Data (OVL=1) External (OVLY=0) (EMIF) 7FFF 8000 On-Chip SARAM (32k Words) Prog/Data 17FFF 18000 13FFF 14000 External (OVLY=0) (EMIF) 23FFF 24000 On-Chip SARAM (16k Words) Prog/Data (OVL=1) External (OVLY=0) (EMIF) 27FFF 28000 On-Chip SARAM (32k Words) 2EFFF 2F000 External (OVLY=0) (EMIF) 33FFF 34000 On-Chip SARAM (16k Words) Prog/Data (OVL=1) External (OVLY=0) (EMIF) 37FFF 38000 External (OVLY=0) (EMIF) On-Chip SARAM (16k Words) Prog/Data (OVL=1) External (OVLY=0) (EMIF) External Ports (EMIF) External (EMIF) On-Chip SARAM Words) External (EMIF) External (EMIF) External (EMIF) External (EMIF) FFFF (extended) 1FFFF (extended) 2FFFF (extended) 3FFFF (extended) FFFF EMIF (external memory) mode required external accesses. EMIF mode when MP/MC OVLY overlays data page program pages between addresses 0x0000-0x7FFF. DROM overlays 0x8000-0xFFFF program data memory. internal memory divided into blocks with exception block (0x2F000-0x2FFFF). 3-14 Memory SPRU131G Program Memory Program Memory external program memory most C54xdevices address 16-bit words. C54x devices have on-chip ROM, dual-access (DARAM), single-access (SARAM), two-way shared that mapped software into program-memory space. Table shows on-chip program memory available various C54x devices. devicespecific on-chip program memory configurations, device data sheet. When memory cells mapped into program space, C54x device automatically accesses these memory cells when addresses fall within boundaries on-chip memory. When program address generation unit (PAGEN) generates address outside boundaries on-chip memory, device automatically generates external access. (For more information about program address generation, Chapter Program Memory Addressing.) Table 3-1. On-Chip Program Memory Available TMS320C54x Devices Device C541 C542 C543 C545 C546 C548 C549 C5402 C5410 C5420 DARAM SARAM 168K SPRU131G Memory 3-15 Program Memory 3.2.1 Program Memory Configurability MP/MC OVLY bits determine which on-chip memories enabled program space. reset, logic level present MP/MC transferred MP/MC PMST register (see section 4.1, Status Control Registers, page 4-2). MP/MC determines whether enable on-chip ROM. MP/MC device configured microprocessor, on-chip enabled. MP/MC device configured microcomputer, on-chip enabled. MP/MC sampled only reset; however, disable enable on-chip through software setting clearing MP/MC PMST register. Figure through Figure (pages through 3-6) show program memory configurations individual C54x devices. 3-16 Memory SPRU131G Program Memory 3.2.2 On-Chip Organization on-chip subdivided organized blocks enhance performance. example, block organization enables fetch instruction from block without sacrificing data accesses that come from different block ROM. Figure 3-14 shows organized blocks each C54x device. gray lines figure indicate block boundaries. Depending device, organized into blocks. 2K-ROM devices, typically block 4K-ROM 28K-ROM devices, typically block 16K-ROM 48K-ROM devices, typically block Figure 3-14. On-Chip Block Organization C541 4000h 4000 4FFF 5000h 5000 5FFF 6000h 6000 6FFF 7000h 7000 7FFF 8000h 8000 8FFF 9000h 9000 97FF 9000 9FFF 9800 9FFF A000h A000 AFFF B000h B000 BFFF C000h C000 CFFF D000h D000 DFFF E000h E000 EFFF F000h F000 FFFF F7FF FFFF F000 FFFF F800 FFFF E000 EFFF E000 FFFF F000 FFFF E000 FFFF D000 DFFF C000 CFFF C000 DFFF C000 DFFF B000 BFFF A000 AFFF C542/543 C545/546 C548 C549 C5402 C5410 organized blocks these devices. SPRU131G Memory 3-17 Program Memory 3.2.3 Program Memory Address On-Chip Contents device reset, reset, interrupt, trap vectors mapped 128-word page starting address FF80h program-memory space. However, these vectors remapped beginning 128-word page program space after device reset. This feature facilitates moving vector table boot then removing from memory map. details remapping vectors, section 6.10.9, Remapping Interrupt-Vector Addresses, page 6-36. Note: on-chip ROM, words reserved device-testing purposes. Application code written implemented on-chip must reserve these words addresses FF00h-FF7Fh program space. 3.2.4 On-Chip Code Contents Mapping C54x devices provide variety sizes (2K, 16K, 28K, words). device-specific on-chip configurations, device data sheet. C54x devices with on-chip bootloader ROM, words F800h FFFFh) contain more following, depending specific device: bootloader program that boots from serial ports, external memory, port, host port interface present) 256-word µ-law expansion table 256-word A-law expansion table 256-word sine look-up table interrupt vector table Figure 3-15 shows which these items particular C54x device shows addresses each items. address range code, F800h-FFFFh, mapped on-chip MP/MC Note: submit code Texas Instruments object file format program into on-chip ROM. Appendix Submitting Codes details submit code Texas Instruments. 3-18 Memory SPRU131G Figure 3-15. On-Chip Program Memory (High Addresses) FD00h FC00h FE00h FB00h FF80h FF00h FA00h F900h F800h Interrupt vector table User-specified code C541/545/546 Reserved C542/543/548/549/5402/5410 A-law expansion table µ-law expansion table Interrupt vector table Sine look-up table Bootloader code Reserved SPRU131G Memory Program Memory 3-19 Program Memory 3.2.5 Extended Program Memory (Available C548/549/5402/5410/5420) C548, C549, C5402, C5410, C5420 paged extended memory scheme program-memory space allow access 8192K words program memory. implement this scheme, C548, C549, C5402, C5410, C5420 include several additional features: address lines, instead address lines C5402, C5420) extra memory-mapped register, program counter extension register (XPC) extra instructions addressing extended program space value defines page. This register memory-mapped into data space address 001Eh. hardware reset, initialized Program memory C548, C549, C5402, C5410, C5420 organized into pages pages C5402, pages C5420) that each words length. Figure 3-16 shows extended program memory pages. When on-chip enabled program space (OVLY each page program memory made parts: common block words maximum unique block words. common block shared pages each unique block accessible only through assigned page. Figure 3-17 shows common unique blocks extended program memory. on-chip enabled (MP/MC enabled only page mapped other page program memory. Figure 3-16. Extended Program Memory With On-Chip Mapped Program Space (OVLY 0000 0000 0000 0000 Page words Page words Page words Page words FFFF FFFF FFFF FFFF XPC=127 3-20 Memory SPRU131G Program Memory Figure 3-17. Extended Program Memory With On-Chip Mapped Program Space Data Space (OVLY 0000 Page words 7FFF 8000 8000 8000 8000 Page words FFFF FFFF Page words FFFF Page words FFFF Page words Note: XPC=127 When on-chip enabled program space, accesses region 0000 7FFF, regardless page number, mapped on-chip 0000 7FFF. Figure page more information about this on-chip memory region. facilitate page switching through software, C548, C549, C5402, C5410, C5420 have special instructions that affect XPC: branch (with without delay) FBACC branch location specified value accumulator accumulator (with without delay) FCALA call location specified value accumulator accumulator (with without delay) FCALL call (with without delay) FRET return (with without delay) FRETE return with interrupts enabled (with without delay) following C54x instructions extended C548, C549, C5402, C5410, C5420 bits bits C5402, C5420): READA Read program memory addressed accumulator store data memory WRITA Write data program memory addressed accumulator other instructions modify access only memory within current page. SPRU131G Memory 3-21 Data Memory Data Memory data memory C54xdevices contains 16-bit words. C54x devices have on-chip that mapped software into data (DROM), addition dual-access (DARAM) singleaccess (SARAM). Table shows on-chip data memory available various C54x devices. device-specific on-chip data memory configurations, device data sheet. Table 3-2. On-Chip Data Memory Available TMS320C54x Devices Device C541 C542 C543 C545 C546 C548 C549 C5402 C5410 C5420 Program/Data DARAM SARAM 168K Accesses data (when enabled) made when addresses fall within bounds corresponding on-chip memories. When data-address generation logic (DAGEN) generates address outside bounds on-chip memory, device automatically generates external access. (For more information about data addresses generation, Chapter Data Addressing.) 3.3.1 Data Memory Configurability Data memory reside both on-chip off-chip. on-chip DARAM mapped into data memory space. some C54x devices, portion on-chip (the amount shown Table 3-2) into data space setting DROM located PMST register (see section 4.1, Status Control Registers, page 4-2). This portion on-chip enabled both data space (DROM bit) program space (MP/MC bit), allowing instruction area data residing data space. reset, processor clears DROM 3-22 Memory SPRU131G Data Memory data accessed single cycle instruction using single datamemory operand addressing, including instruction with 32-bit long word operand. dual-memory operand addressing, access requires cycles both operands reside same block; operands reside different blocks, access requires single cycle. address boundaries blocks, section 3.2.2, On-Chip Organization, page 3-17. Figure through Figure (pages through 3-6) show data memory configurations individual C54x devices. 3.3.2 On-Chip Organization On-chip subdivided organized blocks enhance performance. example, block organization enables fetch operands from block DARAM write another block DARAM same cycle. Figure 3-18 page 3-24 shows block organization each C54x device. gray lines figure indicate block boundaries. organization first DARAM C54x devices includes memory-mapped peripheral registers, words scratch-pad DARAM, words DARAM. Depending device, organized into blocks. 5K-RAM devices, typically block 6K-RAM 10K-RAM devices, typically block 16K-RAM devices, typically block other devices have combination block sizes. SPRU131G Memory 3-23 3-24 Data Memory Figure 3-18. On-Chip Block Organization 7000h 6000h 5000h 4000h 3000h 2000h 1000h 0000h Memory 0B00-0FFF 0800-0AFF 1000-13FF 0400-07FF 0000-03FF Dual-access C541 1800-1FFF 1800 1FFF 0800-0FFF 2000-27FF 1000-17FF 1000 17FF 0000-07FF 0000 07FF C542/543 Single-access 0800-0FFF 1000-17FF 1000 17FF 0000-07FF 0000 07FF C545/546 6000-7FFF 4000-5FFF 2000-3FFF 1800-1FFF 1800 1FFF 0800-0FFF 1000-17FF 1000 17FF 0000-07FF 0000 07FF C548/549 SPRU131G Data Memory Figure 3-19. On-Chip Block Organization (C5402/C5410/C5420) C5402 0060h 1FFFh 2000h 3FFFh 0080h 07FFh 0800h 0FFFh 1000h 17FFh 1800h 1FFFh 2000h 3FFFh 4000h 5FFFh 6000h 7FFFh n8000h n9FFFh nA000h nBFFFh nC000h nDFFFh nE000h nFFFFh Dual-access Single-access page, where .127 C5410 C5420 subsystem 4000h 8000h FFFFh 18000h 2F000h 2FFFFh 3.3.3 Memory-Mapped Registers words data memory space include device's memory-mapped registers, which reside data page (data addresses 0000h-007Fh). Data page consists following: registers total) accessible with wait states; Table page 3-27. SPRU131G Memory 3-25 Data Memory peripheral registers used control data registers peripher- circuits. These registers reside within addresses 0020h-005F reside dedicated peripheral structure. list peripherals particular C54x device, section 8.2, Peripheral Memory-Mapped Registers, page 8-2. scratch-pad block (60h-7Fh data memory) includes words DARAM variable storage that helps avoid fragmenting large block. 3.3.4 Memory-Mapped Registers Table 3-3, page 3-27, lists memory-mapped registers. This section gives brief summary more registers. 3.3.4.1 Interrupt Registers (IMR, IFR) interrupt mask register (IMR) individually masks specific interrupts required times. interrupt flag register (IFR) indicates current status interrupts. Interrupts described detail section 6.10, Interrupts, page 6-26. 3.3.4.2 Status Registers (ST0, ST1) status registers contain status various conditions modes C54x devices. contains flags (OVA, OVB, produced arithmetic operations manipulations, addition fields. reflects status modes instructions executed processor. section 4.1, Status Control Registers, page detailed information. 3.3.4.3 Accumulators C54x devices have 40-bit accumulators: accumulator accumulator Each accumulator memory-mapped partitioned into accumulator word (AL, BL), accumulator high word (AH, BH), accumulator guard bits (AG, BG). section 4.3, Accumulators page 4-13 more details about these accumulator features. 3-26 Memory SPRU131G Data Memory Table 3-3. Memory-Mapped Registers Address (Hex) 1E-1F Name PMST Description Interrupt mask register Interrupt flag register Reserved testing Status register Status register Accumulator word (bits 15-0) Accumulator high word (bits 31-16) Accumulator guard bits (bits 39-32) Accumulator word (bits 15-0) Accumulator high word (bits 31-16) Accumulator guard bits (bits 39-32) Temporary register Transition register Auxiliary register Auxiliary register Auxiliary register Auxiliary register Auxiliary register Auxiliary register Auxiliary register Auxiliary register Stack pointer Circular-buffer size register Block-repeat counter Block-repeat start address Block-repeat address Processor mode status register Program counter extension register (C548, C549, C5402, C5410, C5420) Reserved SPRU131G Memory 3-27 Data Memory 3.3.4.4 Temporary Register temporary register many uses. example, hold: multiplicands multiply multiply/accumulate instructions (For more details about register processes multiplication, section 4.5, Multiplier/Adder Unit, page 4-19.) dynamic (execution-time programmable) shift count instructions with shift operation such ADD, instructions dynamic address BITT instruction Branch metrics used DADST DSADT instructions operation Viterbi decoding addition, instruction stores exponent value computed into register, then NORM instruction uses register value normalize number. 3.3.4.5 Transition Register (TRN) 16-bit transition (TRN) register holds transition decision path metrics perform Viterbi algorithm. CMPS (compare select store) instruction updates contents register basis comparison between accumulator high word accumulator word. 3.3.4.6 Auxiliary Registers (AR0-AR7) eight 16-bit auxiliary registers (AR0-AR7) accessed modified auxiliary register arithmetic units (ARAUs). primary function auxiliary registers generate 16-bit addresses data space. However, these registers also general-purpose registers counters. information about role auxiliary registers play datamemory addressing, section 5.5, Indirect Addressing, page 5-10. 3.3.4.7 Stack-Pointer Register (SP) 16-bit stack-pointer register (SP) contains address system stack. always points last element pushed onto stack. stack manipulated interrupts, traps, calls, returns, PSHD, PSHM, POPD, POPM instructions. Pushes pops stack predecrement postincrement, respectively, 16-bit value stack pointer. 3.3.4.8 Circular-Buffer Size Register (BK) ARAUs use16-bit circular-buffer size register (BK) circular addressing specify data block size. information circular addressing, section 5.5.3.4, Circular Address Modifications, page 5-15. 3-28 Memory SPRU131G Data Memory Memory 3.3.4.9 Block-Repeat Registers (BRC, RSA, REA) 16-bit block-repeat counter (BRC) register specifies number times block code repeat when block repeat performed. 16-bit blockrepeat start address (RSA) register contains starting address block program memory repeated. 16-bit block-repeat address (REA) register contains ending address block program memory repeated. more information about repeating multiple instructions BRC, RSA, REA, section 6.8, Repeating Block Instructions, page 6-23. 3.3.4.10 Processor Mode Status Register (PMST) processor mode status register (PMST) controls memory configurations C54x devices. PMST described detail section 4.1, Status Control Registers, page 4-2. 3.3.4.11 Program Counter Extension Register (XPC) program counter extension register (XPC) contains upper bits current program memory address. section 3.2.5, Extended Program Memory page 3-20, more information about extended memory. Memory C54xdevices offer I/O-memory space addition programmemory data-memory spaces. I/O-memory space 64K-word address space (0000h-FFFFh) exists only external device. instructions, PORTR PORTW, used access this space. Read timings vary from those program-memory data-memory spaces facilitate access Other recent searchesSMA70-3 - SMA70-3 SMA70-3 Datasheet QS6U24 - QS6U24 QS6U24 Datasheet ICS842023 - ICS842023 ICS842023 Datasheet AXLE7050 - AXLE7050 AXLE7050 Datasheet AXLE7050V - AXLE7050V AXLE7050V Datasheet 74LVX594 - 74LVX594 74LVX594 Datasheet
Privacy Policy | Disclaimer |