| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Volume Peripherals Literature Number: SPRU131F April 1999 IM
Top Searches for this datasheetTMS320C54x Reference Volume Peripherals Literature Number: SPRU131F April 1999 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 acknowledgement, including those pertaining warranty, patent infringement, limitation liability. warrants performance semiconductor 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. CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS INVOLVE POTENTIAL RISKS DEATH, PERSONAL INJURY, SEVERE PROPERTY ENVIRONMENTAL DAMAGE ("CRITICAL APPLICATIONS"). SEMICONDUCTOR PRODUCTS DESIGNED, AUTHORIZED, WARRANTED SUITABLE LIFE-SUPPORT DEVICES SYSTEMS OTHER CRITICAL APPLICATIONS. INCLUSION PRODUCTS SUCH APPLICATIONS UNDERSTOOD FULLY CUSTOMER'S RISK. 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 semiconductor products services might used. TI's publication information regarding third party's products services does constitute TI's approval, warranty endorsement thereof. Copyright 1999, Texas Instruments Incorporated Preface Read This First About This Manual TMS320C54x fixed-point digital signal processor (DSP) TMS320 family. This book, first volume 5-volume set, serves reference TMS320C54x provides information developing hardware software applications using '54x. Unless otherwise specified, references '54x apply TMS320C54x, TMS320LC54x, TMS320VC54x. Many device references shown with apostrophe replacing usual alphanumeric prefix (ex. '549 instead TMS320C549). should consult device-specific datasheet need more information about device's nomenclature. This user's guide contains limited information about enhanced peripherals available '5402, '5410, '5420 devices. detailed information enhanced peripherals, volume this reference set: TMS320C54x DSP, Enhanced Peripherals, literature number SPRU302. summary updates this book, Appendix Summary Updates This Document. This Manual table below summarizes '54x information contained this book. (For complete listing, refer Table Contents.) 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 Read This First This Manual looking information about: architecture Turn these chapters: Chapter Architectural Overview Chapter Central Processing Unit External Hold mode Host port interface Interrupts Memory Chapter External Operation Chapter External Operation Chapter On-Chip Peripherals Chapter Program Memory Addressing Chapter Architectural Overview Chapter Memory On-chip peripherals Overview '54x 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 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. information about algebraic form instruction set, TMS320C54x Reference Set, Volume Algebraic Instruction Set. Program listings program examples shown special typeface. 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. Read This First Read This First Related Documentation from Texas Instruments Related Documentation from Texas Instruments following books describe '54x 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. Click DSPS Solutions, then click Literature. TMS320C54x Reference composed five volumes that ordered with literature number SPRU210. order individual book, document-specific literature number: TMS320C54x Reference Set, Volume Peripherals (literature number SPRU131) describes TMS320C54x 16-bit fixed-point general-purpose digital signal processors. Covered architecture, internal register structure, data program addressing, instruction pipeline, on-chip peripherals. Also includes development support information, parts lists, design considerations using XDS510 emulator. TMS320C54x Reference Set, Volume Mnemonic Instruction (literature number SPRU172) describes TMS320C54x digital signal processor mnemonic instructions individually. Also includes summary instruction classes cycles. TMS320C54x Reference Set, Volume Algebraic Instruction (literature number SPRU179) describes TMS320C54x digital signal processor algebraic instructions individually. Also includes summary instruction classes cycles. TMS320C54x Reference Set, Volume Applications Guide (literature number SPRU173) describes software hardware applications TMS320C54x digital signal processor. Also includes development support information, parts lists, design considerations using XDS510 emulator. TMS320C54x Reference Set, Volume Enhanced Peripherals (literature number SPRU302) describes enhanced peripherals available TMS320C54x digital signal processors. Includes multichannel buffered serial ports (McBSPs), direct memory access (DMA) controller, HPI-8 HPI-16 host port interfaces, interprocessor communication module. TMS320C54x, TMS320LC54x, TMS320VC54x Fixed-Point Digital Signal Processors (literature number SPRS039) data sheet contains electrical timing specifications these devices, well signal descriptions pinouts available packages. Related Documentation from Texas Instruments TMS320C54x DSKplus User's Guide (literature number SPRU191) describes TMS320C54x digital signal processor starter (DSK), which allows execute custom 'C54x code real time debug line line. Covered installation procedures, description debugger assembler, customized applications, initialization routines. 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 'C54x generation devices. TMS320C5xx Source Debugger User's Guide (literature number SPRU099) tells invoke 'C54x emulator, 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. TMS320C54x Code Generation Tools Getting Started Guide (literature number SPRU147) describes install TMS320C54x assembly language tools compiler 'C54x devices. installation MS-DOSTM, OS/2TM, SunOSTM, SolarisTM, HP-UX9.0x systems covered. TMS320C54x Evaluation Module Technical Reference (literature number SPRU135) describes 'C54x evaluation module, features, design details external interfaces. TMS320C54x Optimizing Compiler User's Guide (literature number SPRU103) describes 'C54x compiler. This compiler accepts ANSI standard source code produces TMS320 assembly language source code 'C54x generation devices. TMS320C54x Simulator Getting Started (literature number SPRU137) describes install TMS320C54x simulator source debugger 'C54x. installation MS-DOSTM, PC-DOSTM, SunOSTM, SolarisTM, HP-UXsystems covered. TMS320 Third-Party Support Reference Guide (literature number SPRU052) alphabetically lists over third parties that provide various products that serve family TMS320 digital signal processors. myriad products applications offered-software hardware development tools, speech recognition, image processing, noise cancellation, modems, etc. Read This First Technical Articles Related Documentation from Texas Instruments Technical Articles 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 Development Support Reference Guide (literature number SPRU011) describes TMS320 family digital signal processors tools that support these devices. Included code-generation tools (compilers, assemblers, linkers, etc.) system integration debug tools (simulators, emulators, evaluation modules, etc.). Also covered available documentation, seminars, university program, factory repair exchange. Technical Articles wide variety related documentation available digital signal processing. These references fall into following application categories: General-Purpose Graphics/Imagery Speech/Voice Control Multimedia Military Telecommunications Automotive Consumer Medical Development Support 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. viii Technical Articles 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. 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. Read This First Technical Articles 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. 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. Technical Articles 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. 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. Read This First Read This First Technical Articles 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. 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 Technical Articles 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. 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. Read This First xiii Trademarks Technical Articles Trademarks 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 HP-UX trademark Hewlett-Packard Company. MS-DOS registered trademark 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. Windows registered trademark Microsoft Corporation. Hotline On-line, XDS510, XDS510WS trademarks Texas Instruments Incorporated. Micro Star trademark Texas Instruments Incorporated. Need Assistance Need Assistance World-Wide Sites Online Semiconductor Product Information Center (PIC) Solutions Hotline On-line http://www.ti.com http://www.ti.com/dsps North America, South America, Central America Product Information Center (PIC) (972) 644-5580 Literature Response Center U.S.A. (800) 477-8924 Software Registration/Upgrades (214) 638-0333 Fax: (214) 638-7742 U.S.A. Factory Repair/Hardware Upgrades (281) 274-2285 U.S. Technical Training Organization (972) 644-5580 Hotline Email: dsph@ti.com Internet anonymous ftp://ftp.ti.com/pub/tms320bbs Europe, Middle East, Africa European Product Information Center (EPIC) Hotlines: Multi-Language Support Email: epic@ti.com Deutsch 8161 English Francais Italiano EPIC Modem European Factory Repair Europe Customer Training Helpline Fax: Fax: Asia-Pacific Literature Response Center +852 7288 Fax: +852 2200 Hong Kong Hotline +852 7268 Fax: +852 1002 Korea Hotline 2804 Fax: 2828 Korea Modem 2914 Singapore Hotline Fax: 7179 Taiwan Hotline +886 1450 Fax: +886 2718 Taiwan Modem +886 2592 Taiwan Internet anonymous ftp://dsp.ee.tit.edu.tw/pub/TI/ Japan Product Information Center +0120-81-0026 Japan) +03-3457-0972 (INTL) 813-3457-0972 Hotline +03-3769-8735 (INTL) 813-3769-8735 Nifty-Serve Type TIASP" Fax: +0120-81-0036 Japan) Fax: +03-3457-1259 (INTL) 813-3457-1259 Fax: +03-3457-7071 (INTL) 813-3457-7071 Documentation When making suggestions reporting errors documentation, please include following information that title page: full title book, publication date, literature number. Mail: Texas Instruments Incorporated Email: dsph@ti.com Technical Documentation Services, P.O. 1443 Houston, Texas 77251-1443 Note: When calling Literature Response Center order documentation, please specify literature number book. Read This First 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 Memory Security 2.2.5 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) Data Addressing Program Memory Addressing Pipeline Operation On-Chip Peripherals 2.7.1 General-Purpose Pins 2.7.2 Software-Programmable Wait-State Generator 2.7.3 Programmable Bank-Switching Logic 2.7.4 Host Port Interface 2.7.5 Hardware Timer 2.7.6 Clock Generator xvii 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 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.2.1 Program Memory Configurability 3.2.2 On-Chip Organization 3.2.3 Program Memory Address On-Chip Contents 3.2.4 On-Chip Code Contents Mapping 3.2.5 Extended Program Memory (Available '548/549/5402/5410/5420) Data Memory 3.3.1 Data Memory Configurability 3.3.2 On-Chip Organization 3.3.3 Memory-Mapped Registers 3.3.4 Memory-Mapped Registers Memory Program Data Security 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.2.1 Input 4.2.2 Overflow Handling 4.2.3 Carry 4.2.4 Dual 16-Bit Mode Accumulators 4.3.1 Storing Accumulator Contents 4.3.2 Accumulator Shift Rotate Operations 4.3.3 Saturation Upon Accumulator Store 4.3.4 Application-Specific Instructions xviii 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 Data Addressing Describes seven basic addressing modes TMS320C54x. 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.5.1 Single-Operand Addressing 5.5.2 ARAU Address-Generation Operation 5.5.3 Single-Operand Address Modifications 5.5.4 Dual-Operand Address Modifications 5.5.5 TMS320C2x/C20x/C24x/C5x Compatibility (ARP) Mode Memory-Mapped Register Addressing Stack Addressing Data Types Program Memory Addressing Describes TMS320C54x program control mechanisms. Includes information about address generation, program counter, hardware stack, reset, interrupts, power-down modes. Program-Memory Address Generation Program Counter (PC) Branches 6.3.1 Unconditional Branches 6.3.2 Conditional Branches 6.3.3 Branches (Available '548/'549/'5402/'5410/'5420) Calls 6.4.1 Unconditional Calls 6.4.2 Conditional Calls 6.4.3 Calls (Available '548 /'549/'5402/'5410/'5420) Contents Contents 6.10 6.11 Returns 6.5.1 Unconditional Returns 6.5.2 Conditional Returns 6.5.3 Returns (Available '548/'549/'5402/'5410/'5420) 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 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.1.4 Conditional Execute Instructions Pipeline 7.1.5 Conditional-Call Conditional-Branch Instructions Pipeline Interrupts Pipeline Dual-Access Memory Pipeline 7.3.1 Resolved Conflict Between Instruction Fetch Operand Read 7.3.2 Resolved Conflict Between Operand Write Dual-Operand Read 7.3.3 Resolved Conflict Among Operand Write, Operand Write, Dual-Operand Read 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 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.3.1 Branch Control Input (BIO) 8.3.2 External Flag Output (XF) Timer 8.4.1 Timer Registers 8.4.2 Timer Operation Clock Generator 8.5.1 Hardware-Configurable 8.5.2 Software-Programmable Programming Considerations When Using Software-Programmable Using PLLCOUNT Programmable Lock Timer Switching Clock Mode From Mode Mode Switching Clock Mode From Mode Mode Changing Multiplier Ratio Operation Immediately Following Reset Considerations When Using IDLE Instruction Considerations When Using Bootloader Host Port Interface 8.6.1 Basic Host Port Interface Functional Description 8.6.2 Details Host Port Interface Operation Control Register Bits Function 8.6.3 Host Read/Write Access Access Sequences 8.6.4 DSPINT HINT Function Operation Host Device Using DSPINT Interrupt '54x Host Port Interface ('54x) Using HINT Interrupt Host Device 8.6.5 Considerations Changing Memory Access Mode (SAM/HOM) IDLE2/3 8.6.6 Access Memory During Reset Contents Contents 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 9.2.3 Configuring Serial Port Interface Reserved XRST RRST Bits Bits RRDY XRDY Bits XSREMPTY RSRFULL SOFT FREE Bits 9.2.4 Burst Mode Transmit Receive Operations 9.2.5 Continuous Mode Transmit Receive Operations 9.2.6 Serial Port Interface Exception Conditions Burst Mode Continuous Mode 9.2.7 Example Serial Port Interface Operation Buffered Serial Port (BSP) Interface 9.3.1 Operation Standard Mode 9.3.2 Autobuffering Unit (ABU) Operation 9.3.3 System Considerations Operation 9.3.4 Buffer Misalignment Interrupt (BMINT) '549 only 9.3.5 Operation Power-Down Mode Time-Division Multiplexed (TDM) Serial Port Interface 9.4.1 Basic Time-Division Multiplexed Operation 9.4.2 Serial Port Interface Registers 9.4.3 Serial Port Interface Operation 9.4.4 Mode Transmit Receive Operations 9.4.5 Serial Port Interface Exception Conditions 9.4.6 Examples Serial Port Interface Operation xxii Contents External Operation 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 External Priority External Control 10.3.1 Wait-State Generator 10.3.2 Bank-Switching Logic External Interface Timing 10.4.1 Memory Access Timing 10.4.2 Access Timing 10.4.3 Memory Access Timing Start-Up Access Sequences 10.5.1 Reset 10.5.2 IDLE3 Hold Mode 10.6.1 Interrupts During Hold 10.6.2 Hold Reset 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 Emulator Cable Signal Timing Emulation Timing Calculations Connections Between Emulator Target System A.6.1 Buffering Signals A.6.2 Using Target-System Clock A.6.3 Configuring Multiple Processors Physical Dimensions 14-Pin Emulator Connector Emulation Design Considerations A.8.1 Using Scan Path Linkers A.8.2 Emulation Timing Calculations Scan Path Linker (SPL) A.8.3 Using Emulation Pins A.8.4 Performing Diagnostic Applications Contents xxiii Contents 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 Code Generation Tools System Integration Debug 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. Summary Updates This Document Provides summary updates this version document. Glossary Defines terms abbreviations used throughout this book. xxiv 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 Evolution TMS320 Family Block Diagram TMS320C54x Internal Hardware Memory Maps '541 Memory Maps '542 '543 Memory Maps '545 '546 Memory Maps '548 Memory Maps '549 Extended Program Memory Maps '548 '549 Memory Maps '5402 Extended Program Memory '5402 Memory Maps '5410 Extended Program Memory Maps '5410 (On-chip Mapped Program Space Data Space, OVLY Extended Program Memory Maps '5410 (On-chip Mapped Program Space Data Space, OVLY Data Memory '5420 Relative Subsystems Program Memory Maps '5420 Relative Subsystems On-Chip Block Organization On-Chip Program Memory (High Addresses) Extended Program Memory With On-Chip Mapped Program Space (OVLY Extended Program Memory With On-Chip Mapped Program Space Data Space (OVLY On-Chip Block Organization On-Chip Block Organization ('5402/'5410/'5420) Status Register (ST0) Diagram Status Register (ST1) Diagram Processor Mode Status Register (PMST) Diagram Functional Diagram Accumulator Accumulator Barrel Shifter Functional Diagram Multiplier/Adder Functional Diagram Compare, Select, Store Unit (CSSU) Viterbi Operator Exponent Encoder Contents 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 xxvi 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 Indirect Addressing Block Diagram Single Data-Memory Operand Circular Addressing Block Diagram Circular Buffer Implementation Indirect-Addressing Instruction Format Dual Data-Memory Operands Indirect Addressing Block Diagram Dual Data-Memory Operands Indexes Auxiliary Registers Indirect-Addressing Instruction Format Compatibility Mode Memory-Mapped Register Addressing Block Diagram Stack Stack Pointer Before After Push Operation Word Order Memory Program-Address Generation Logic (PAGEN) Registers Interrupt Flag Register (IFR) Diagram Interrupt Mask Register (IMR) Diagram Interrupt-Vector Address Generation Flow Diagram Interrupt Operation Pipeline Stages Pipelined Memory Accesses Half-Cycle Accesses Dual-Access Memory External Flag Timing Diagram Timer Control Register (TCR) Diagram Timer Block Diagram Clock Mode Register (CLKMD) Diagram Lockup Time Versus CLKOUT Frequency Host Port Interface Block Diagram Generic System Block Diagram Select Input Logic HPIC Diagram Host Reads from HPIC HPIC Diagram Host Writes HPIC HPIC Diagram TMS320C54x Reads From HPIC HPIC Diagram TMS320C54x Writes HPIC Timing Diagram One-Way Serial Port Transfer Serial Port Interface Block Diagram Serial Port Control Register (SPC) Diagram Receiver Signal Multiplexers Burst Mode Serial Port Transmit Operation Serial Port Transmit With Long Pulse 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 Burst Mode Serial Port Transmit Operation With Delayed Frame Sync External Frame Sync Mode (SP) Burst Mode Serial Port Transmit Operation With Delayed Frame Sync External Frame Sync Mode (BSP) Burst Mode Serial Port Receive Operation Burst Mode Serial Port Receive Overrun Serial Port Receive With Long Pulse Burst Mode Serial Port Transmit Maximum Packet Frequency Burst Mode Serial Port Receive Maximum Packet Frequency Continuous Mode Serial Port Transmit Continuous Mode Serial Port Receive Receiver Functional Operation (Burst Mode) Receiver Functional Operation (Burst Mode) SP/BSP Transmitter Functional Operation (Burst Mode) SP/BSP Receiver Functional Operation (Continuous Mode) SP/BSP Transmitter Functional Operation (Continuous Mode) Block Diagram Control Extension Register (BSPCE) Diagram Serial Port Control Bits Transmit Continuous Mode with External Frame (Format Bits) Block Diagram Control Extension Register (BSPCE) Diagram Control Bits Circular Addressing Registers Transmit Buffer Receive Buffer Mapping Example Standard Mode Initialization Timing Autobuffering Mode Initialization Timing Time-Division Multiplexing 4-Wire Serial Port Registers Diagram Serial Port Timing (TDM Mode) Example Configuration Diagram External Interface Priority Software Wait-State Register (SWWSR) Diagram Software Wait-State Control Register (SWCR) Diagram Software Wait-State Generator Block Diagram Bank-Switching Control Register (BSCR) Diagram Bank Switching Between Memory Reads Bank Switching Between Program Space Data Space Memory Interface Operation Read-Read-Write Memory Interface Operation Write-Write-Read Memory Interface Operation Read-Read-Write (Program-Space Wait States) Parallel Interface Operation Read-Write-Read Parallel Operation Read-Write-Read (I/O-Space Wait States) Memory Read Write Contents xxvii Figures 10-14 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 Read Read Memory Write Write Memory Write Read Write Memory Write Write Memory Read Read Memory Write Read Memory Read External Reset Sequence IDLE3 Wake-Up Sequence HOLD HOLDA Minimum Timing HOLD Interaction 14-Pin Header Signals Header Dimensions933 Emulator Cable Interface Emulator Cable Timings Emulator Connections Without Signal Buffering Emulator Connections With Signal Buffering Target-System-Generated Test Clock Multiprocessor Connections Pod/Connector Dimensions 14-Pin Connector Dimensions Connecting Secondary JTAG Scan Path Scan Path Linker EMU0/1 Configuration Meet Timing Requirements Less Than Suggested Timings EMU0 EMU1 Signals EMU0/1 Configuration With Additional Gate Meet Timing Requirements Greater Than EMU0/1 Configuration Without Global Stop Emulation Connections JTAG Scan Paths TMS320 Device Nomenclature TMS320 Code Submittal Flowchart xxviii Tables Tables 5-10 5-11 6-10 Typical Applications TMS320 DSPs Usage Read Write Accesses Program Data Memory TMS320C54x Devices Host Port Interfaces TMS320C54x Devices Serial Port Interfaces TMS320C54x Devices On-Chip Program Memory Available '54x Devices On-Chip Data Memory Available TMS320C54x Devices Memory-Mapped Registers Data Security Status Register (ST0) Summary Status Register (ST1) Summary Processor Mode Status Register (PMST) Summary Input Selection Instructions Multiplier Input Selection Several Instructions Operations Dual 16-Bit Mode Instructions That Allow Immediate Addressing Direct-Addressing Instruction Summary Indirect-Addressing Instruction Summary Single Data-Memory Operand Indirect Addressing Types With Single Data-Memory Operand Bit-Reversed Addresses Indirect-Addressing Instruction Summary Dual Data-Memory Operands Auxiliary Registers Selected Field Instruction Indirect Addressing Types With Dual Data-Memory Operands Assembler Syntax Comparison TMS320C2x/C20x/C24x/C5x '54x Indirect-Addressing Instruction Summary Compatibility Mode Instructions With 32-Bit Word Operands Devices With Additional Program Memory Address Lines Loading Addresses Into Loading Addresses into Unconditional Branch Instructions Conditional Branch Instructions Branch Instructions Unconditional Call Instructions Conditional Call Instruction Call Instructions Unconditional Return Instructions Contents xxix Tables 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 7-25 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 '541 Interrupt Locations Priorities '542 Interrupt Locations Priorities '543 Interrupt Locations Priorities '545 Interrupt Locations Priorities '546 Interrupt Locations Priorities '548 Interrupt Locations Priorities '549 Interrupt Locations Priorities '5402 Interrupt Locations Priorities '5410 Interrupt Locations Priorities '5420 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 Latencies Updating From Within RPTB Loop Tables 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 9-11 Latencies OVLY, IPTR, MP/MC Bits Latencies DROM Latencies Accumulators When Used Memory-Mapped Registers '541/'541B Peripheral Memory-Mapped Registers '542 Peripheral Memory-Mapped Registers '543 Peripheral Memory-Mapped Registers '545/'545A Peripheral Memory-Mapped Registers '546/'546A Peripheral Memory-Mapped Registers '548 Peripheral Memory-Mapped Registers '549 Peripheral Memory-Mapped Registers '5402 Peripheral Memory-Mapped Registers '5410 Peripheral Memory-Mapped Registers '5420 Peripheral Memory-Mapped Registers Each Subsystem '5402/'5410/'5420 McBSP Sub-addressed Registers '5402/'5410/'5420 Sub-addressed Registers Timer Registers Timer Control Register (TCR) Summary Clock Mode Configurations Clock Mode Settings Reset Clock Mode Settings Reset ('5402) Clock Mode Register (CLKMD) Summary Multiplier Ratio Function PLLNDIV, PLLDIV, PLLMUL Registers Description Signal Names Functions Input Control Signals Function Selection Descriptions Control Register (HPIC) Descriptions HPIC Host/TMS320C54x Read/Write Characteristics Wait-State Generation Conditions Initialization HPIA Read Access With Autoincrement Write Access With Autoincrement Sequence Entering Exiting IDLE2 IDLE3 Operation During RESET 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 Buffered Serial Port Registers Differences Between Serial Port Operation Standard Mode Control Extension Register (BSPCE) Summary Serial Port Control Bits Buffered Serial Port Word Length Configuration Autobuffering Unit Registers Contents xxxi Tables 9-12 9-13 9-14 9-15 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 Control Extension Register (BSPCE) Summary Control Bits Serial Port Registers Interprocessor Communications Scenario Register Contents External Interface Signals Software Wait-State Register (SWWSR) Summary '548/'549/'5402/'5410/'5420 Software Wait-State Register (SWWSR) Summary Number CLKOUT1 Cycles Access Various Numbers Wait States Bank-Switching Control Register (BSCR) Summary Relationship Between BNKCMP Bank Size State Signals When External Interface Disabled (EXIO Counter Down-Time With Multiplication Factors Operation 14-Pin Header Signal Descriptions Emulator Cable Timing Parameters Development Support Tools Part Numbers xxxii 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 CMPS Instruction Operation Normalization Accumulator Sequence Auxiliary Registers Modifications Bit-Reversed Addressing Sample Pipeline Diagram Branch Instruction Pipeline Delayed-Branch Instruction Pipeline Call Instruction Pipeline Delayed-Call Instruction Pipeline INTR Instruction Pipeline Return Instruction Pipeline Delayed-Return Instruction Pipeline Return-With-Interrupt-Enable Instruction Pipeline Delayed Return-With-Interrupt-Enable Instruction Pipeline Return-Fast Instruction Pipeline Delayed Return-Fast Instruction Pipeline Instruction Pipeline Instruction Pipeline Instruction Pipeline Instruction Pipeline Instruction Pipeline Interrupt Response Pipeline Instruction Fetch Operand Read Operand Write Dual-Operand Read Conflict Operand Write Operand Read Conflict Resolving Conflict When Updating Multiple ARxs Resolving Conflict When Updating Resolving Conflict When Updating Updated With Latency Updated With 1-Cycle Latency Updated With Without 1-Cycle Latency Updated With Without 2-Cycle Latency Updated With 2-Cycle Latency Updated With 1-Cycle Latency Contents xxxiii 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 xxxiv 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 Serial Port Initialization Routine Examples Serial Port Interrupt Service Routine Transmit Initialization Routine Receive Initialization Routine Serial Port Transmit Initialization Routine Serial Port Transmit Interrupt Service Routine Serial Port Receive Initialization Routine Serial Port Receive Interrupt Service Routine Timing Single-Processor System Without Buffers Timing Single- Multiple-Processor System With Buffered Input Output Timing Single-Processor System Without Buffering (SPL) Timing Single- Multiprocessor-System With Buffered Input Output (SPL) Contents xxxv Chapter Introduction TMS320C54x devices fixed-point digital signal processors (DSPs) TMS320 family. '54x meets specific needs real-time embedded applications, such telecommunications. '54x central processing unit (CPU), with modified Harvard architecture, features minimized power consumption high degree parallelism. addition these features, versatile addressing modes instruction '54x improve overall system performance. Topic Page TMS320 Family Overview TMS320C54x Overview TMS320C54x Features TMS320 Family Overview TMS320 Family Overview TMS320 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: 1.1.1 Very flexible instruction Inherent operational flexibility High-speed performance Innovative parallel architecture Cost-effectiveness C-friendly architecture 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". Today, TMS320 family consists these generations: 'C1x, 'C2x, 'C2xx, 'C5x, 'C54x, 'C6x fixed-point DSPs; 'C3x 'C4x floating-point DSPs; 'C8x multiprocessor DSPs. Devices within generation TMS320 family have same structure different on-chip memory peripheral configurations. Spinoff devices combinations on-chip memory peripherals satisfy wide range needs worldwide electronics market. integrating memory peripherals onto single chip, TMS320 devices reduce system costs save circuit board space. Figure illustrates performance gains that TMS320 family made. TMS320 Family Overview Figure 1-1. Evolution TMS320 Family 'C6000 ('C62x, 'C67x) 'C5000 ('C54x) 'C2000 ('C20x, 'C24x) 'C1/2x 'C5x Power-efficient performance 'C8x '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. 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 TMS320C54x Overview TMS320C54x Overview '54x high degree operational flexibility speed. combines advanced modified Harvard architecture (with program memory bus, three data memory buses, four address buses), with applicationspecific hardware logic, on-chip memory, on-chip peripherals, highly specialized instruction set. Spinoff devices that combine '54x with customized on-chip memory peripheral configurations have been, continue developed specialized areas electronics market. '54x 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 applicationspecific 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 Introduction TMS320C54x Features TMS320C54x Features This section lists features '54x 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 Dual-CPU/core architecture '5420 192K words 16-bit addressable memory space (64K-words program, 64K-words data, 64K-words I/O), with extended program memory '548, '549, '5402, '5410, '5420. On-chip configurations follows words): Device '541 '542 '543 '545 '546 '548 '549 '5402 '5410 '5420 Dual-access Single-access Memory Program Program/Data DARAM SARAM 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 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 '541B, '545A, '546A, '548, '549, '5402, '5410, '5420 have software-programmable additional saturation modes. software-programmable 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 TMS320C54x Features Ports: Serial Ports Host Port Interface MultiChannel Buffered Time-Division Multiplexed Device '541 '542 '543 '545 '546 '548 '549 '5402 '5410 '5420 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 '541 Power Supply 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 '541B '542 '543 '545 '545A '546 '546A '548 '549 'VC549 (2.5 core) 144-pin TQFP/144-pin Micro Start 144-pin TQFP/144-pin Micro Star TMS320C54x Features Table Continued Device 'VC5402 Power Supply (1.8 core) (2.5 core) (1.8 core) Speed Package 'VC5410 'VC5420 144-pin TQFP/176-pin Micro Start 144-pin TQFP/144-pin Micro Start 144-pin TQFP/144-pin Micro Star 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 Introduction Chapter Architectural Overview This chapter provides overview architectural structure '54x, which comprises central processing unit (CPU), memory, on-chip peripherals. '54x DSPs 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, '54x includes control mechanisms manage interrupts, repeated operations, function calling. Figure shows functional block diagram '54x, which includes principal blocks structure. Topic Page Structure Internal Memory Organization Central Processing Unit (CPU) Data Addressing Program Memory Addressing 2-10 Pipeline Operation 2-10 On-Chip Peripherals 2-11 Serial Ports 2-14 External Interface 2-16 2.10 IEEE Standard 1149.1 Scanning Logic 2-16 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 Memory external interface Peripheral interface Sign Barrel shifter MSW/LSW select Structure Structure '54x 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. '54x 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. '54x 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. Architectural Overview Structure Legend: Peripheral write Peripheral read Data dual read Program write Program read Access Type Dual read/coefficient read Data read/data write Data single write Data long (32-bit) read Data single read Table 2-1. Usage Read Write Accesses high 16-bit word 16-bit word (hw) Address (lw) (hw) Data (lw) Internal Memory Organization Internal Memory Organization '54x memory organized into three individually selectable spaces: program, data, space. '54x devices contain both random-access memory (RAM) read-only memory (ROM). Among devices, types represented: dual-access (DARAM) single-access (SARAM). Table shows much ROM, DARAM, SARAM available different '54x devices. '54x also registers plus peripheral registers that mapped data-memory space. '54x memory types features introduced sections following this paragraph. details about configuring using various memory blocks, Chapter Memory. Table 2-2. Program Data Memory TMS320C54x Devices Memory Type ROM: Program Program/ data DARAM SARAM '541 '542 '543 '545 '546 '548 '549 '5402 '5410 '5420 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. devices with small amount words), contains bootloader that useful booting faster on-chip external RAM. bootloading details '54x devices except '548 '549, TMS320C54x Reference Set, Volume Applications Guide. bootloading details '548 '549, TMS320C548/549 Bootloader Technical Reference. devices with larger amounts ROM, portion mapped into both data program space (except '5410). larger ROMs also custom ROMs: provide code data programmed into object file format, Texas Instruments generates appropriate Architectural Overview Internal Memory Organization process mask program ROM. details submitting codes Texas Instruments, Appendix Submitting Codes 2.2.2 On-Chip Dual-Access (DARAM) DARAM composed several blocks. Because each DARAM block accessed twice machine cycle, central processing unit (CPU) 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) 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 Memory Security '54x maskable memory security option protects contents on-chip memories. When designate this option, externally originating instruction access on-chip memory spaces. 2.2.5 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. Central Processing Unit (CPU) Central Processing Unit (CPU) '54x common '54x devices. '54x contains: 2.3.1 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 Arithmetic Logic Unit (ALU) '54x 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-11, 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-15, more details about features these accumulators. Architectural Overview Central Processing Unit (CPU) 2.3.3 Barrel Shifter '54x 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-19, more details about function shifter. section 4.7, Exponent Encoder, page 4-29, 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 '54x 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-21, more details about multiplier/adder unit. Central ProcessingCentral Processing Addressing Unit (CPU) Data 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-26, more details about this unit. Data Addressing '54x 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. Architectural Overview Program Memory Addressing Pipeline Operation Program Memory Addressing Program Memory Addressing Program memory usually addressed '54x device 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, multipleinstruction 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. '54x 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. 2-10 On-Chip Peripherals On-Chip Peripherals '54x devices have same CPU, different on-chip peripherals connected their CPUs. '54x devices have these on-chip peripheral options: General-purpose pins: Timer Clock generator Host port interface 8-bit standard ('542, '545, '548, '549) 8-bit enhanced ('5402, '5410 note below) 16-bit enhanced ('5420 note below) Synchronous serial port ('541, '545, '546) Buffered serial port ('542, '543, '545, '546, '548, '549) Multichannel buffered serial port (McBSP) ('5402, '5410, '5420 note below) Time-division multiplexed (TDM) serial port ('542, '543, '548, '549). Software-programmable wait-state generator Programmable bank-switching module Note: Enhanced Peripherals more detailed information enhanced peripherals, volume this reference set: TMS320C54x DSP, Enhanced Peripherals, literature number SPRU302. 2.7.1 General-Purpose Pins Each '54x device general-purpose pins: input that used monitor status external devices. software-controlled output that allows signal external devices. section 8.3, General-Purpose I/O, page 8-20, more details about 2.7.2 Software-Programmable Wait-State Generator software-programmable wait-state generator extends external cycles seven machine cycles machine cycles '549 '5402, '5410, '5420) interface with slower off-chip memory devices. software wait-state generator incorporated without external hardware. offchip 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. Architectural Overview 2-11 On-Chip Peripherals 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. cycle also inserted when access crosses from program memory data memory. This extra cycle prevents contention allowing memory devices release before other devices start driving bus. size memory bank bank switching defined bank switching control register (BSCR). section 10.3.2, Bank-Switching Logic, page 10-8, more details. 2.7.4 Host Port Interface host port interface (HPI) parallel port that provides interface host processor. Information exchanged between '54x host processor through '54x on-chip memory that accessible both host processor '54x. Table identifies HPI-equipped '54x devices. section 8.6, Host Port Interface, page 8-37, more details about operation. Table 2-3. Host Port Interfaces TMS320C54x Devices Host Port Interface Standard 8-bit Enhanced 8-bit Enhanced 16-bit '541 '542 '543 '545 '546 '548 '549 '5402 '5410 '5420 2.7.5 Hardware Timer '54x 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-12 On-Chip Peripherals 2.7.6 Clock Generator clock generator consists internal oscillator phase-locked loop (PLL) circuit. clock generator driven internally crystal resonator with internal oscillator externally clock source. circuit generate internal clock multiplying clock source specific factor; thus, should clock source with lower frequency than that CPU. more details about generator, section 8.5, Clock Generator, page 8-26. Architectural Overview 2-13 Serial Ports Serial Ports serial ports '54x vary device, represented four types: synchronous, buffered, multichannel buffered (McBSP), time-division multiplexed (TDM). Table number each type various '54x devices. sections that follow provide introduction four types serial ports. more details about these ports, Chapter Serial Ports. detailed information about McBSPs, volume this reference set: TMS320C54x DSP, Enhanced Peripherals, literature number SPRU302. Table 2-4. Serial Port Interfaces TMS320C54x Devices Serial Ports Synchronous Buffered Multichannel Buffered '541 '542 '543 '545 '546 '548 '549 '5402 '5410 '5420 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-to-digital (A/D) converters, other serial systems. When more than synchronous serial port resides '54x, 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. 2-14 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, volume this reference set: TMS320C54x DSP, Enhanced Peripherals, literature number SPRU302. 2.8.4 Serial Ports time-division multiplexed (TDM) serial port synchronous serial port that enhanced allow time-division multiplexing data. configured either synchronous operations operations commonly used multiprocessor applications. Architectural Overview 2-15 External Interface IEEE Standard 1149.1 Scanning Logic External Interface External Interface '54x address words data memory, words program memory words '548, '549, '5410; words '5402; 256K words '5420), 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 '54x buses; this way, external device access resources program, data, spaces. External memory accessed most '54x instructions. However, accessing ports requires special instructions: PORTR PORTW. Chapter External Operation, more details about interfacing '54x 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 '54x. IEEE Standard 1149.1 scanning logic interfaced internal scanning-logic circuitry that access on-chip resources. Thus, '54x perform on-board emulation using IEEE Standard 1149.1 serial scan pins emulation-dedicated pins. more information, appendix titled Design Considerations Using XDS510 Emulator. 2-16 Chapter Memory This chapter describes '54x memory configuration operation. general, '54x devices have total memory space 192K 16-bit words. This space divided into three specific memory segments: words program, words data, words I/O. some devices, memory structure been modified through overlay paging schemes allow additional memory space. parallel nature '54x architecture dual-access capability on-chip allow '54x perform four concurrent memory operations given machine cycle: instruction fetch, two-operand 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-30 Program Data Security 3-30 Memory Space Memory Space '54x's memory organized into three individually selectable spaces: program, data, I/O. Within these spaces, RAM, ROM, EPROM, EEPROM, memory-mapped peripherals reside either 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 chip version, several on-chip memory types available '54x: dual-access (DARAM), single-access (SARAM), ROM. RAMs always mapped into data space, also mapped into program space. activated mapped into program space; also mapped, part, into data space. 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 '54x device's data program memory maps maps affected MP/MC, OVLY, DROM bits. Memory Space Figure 3-1. Memory Maps '541 '541 Program Memory 0000h OVLY OVLY 0000h-13FFh External 0000h-007Fh Reserved 0080h-13FFh On-chip DARAM 0000h '541 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 Memory Memory Space Figure 3-2. Memory Maps '542 '543 '542/543 Program Memory '542/543 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 Space Figure 3-3. Memory Maps '545 '546 '545/546 Program Memory 0000h OVLY OVLY 0000h-17FFh External 0000h-007Fh Reserved 0080h-17FFh On-chip DARAM 0000h '545/546 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 Memory Memory Space Figure 3-4. Memory Maps '548 0000 Program Reserved (OVLY External (OVLY 0000 Program Reserved (OVLY External (OVLY 0000 005F 0060 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 Scratch-Pad 007F 0080 On-Chip DARAM (OVLY External (OVLY 007F 0080 On-Chip DARAM (OVLY External (OVLY 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 Space Figure 3-5. Memory Maps '549 0000 Program Reserved (OVLY External (OVLY 007F 0080 On-Chip DARAM (OVLY External (OVLY 1FFF 2000 On-Chip SARAM (OVLY External (OVLY 7FFF 8000 External BFFF C000 On-Chip (16K Words) FEFF FF00 FF7F FF80 FFFF (Microprocessor Mode) Interrupts Reserved (External) Interrupts Reserved (On-Chip) FFFF (Microcomputer Mode) FFFF FEFF FF00 BFFF C000 On-Chip (DROM External (DROM 0000 Program Reserved (OVLY External (OVLY 0000 005F 0060 007F 0080 On-Chip DARAM Words) 1FFF 2000 On-Chip SARAM (24K Words) 7FFF 8000 External Data Memory-Mapped Registers Scratch-Pad 007F 0080 On-Chip DARAM (OVLY External (OVLY 1FFF 2000 On-Chip SARAM (OVLY External (OVLY 7FFF 8000 External Reserved (DROM External (DROM Memory Memory Space Figure 3-6. Extended Program Memory Maps '548 '549 0000 Page Words 0000 Page Words 0000 Page Words 0000 Page Words 7FFF FFFF FFFF FFFF 8000 Page Words 8000 Page Words 8000 Page Words 8000 Page Words FFFF FFFF FFFF FFFF 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 Space Figure 3-7. Memory Maps '5402 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 EFFF F000 (DROM=1) External (DROM=0) Reserved FF7F FF80 Interrupts (External) FFFF (Microprocessor Mode) FFFF (Microcomputer Mode) FF7F FF80 Interrupts (On-Chip) FEFF FF00 Reserved (DROM=1) External (DROM=0) FFFF Memory Memory Space Figure 3-8. Extended Program Memory '5402 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 Space Figure 3-9. Memory Maps '5410 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 Memory 3-11 Memory Space Figure 3-10. Extended Program Memory Maps '5410 (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 '5410 (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 Space Figure 3-12. Data Memory '5420 Relative Subsystems 0000 005F 0060 007F 0080 Data Memory Mapped 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 Memory 3-13 Memory Space Figure 3-13. Program Memory Maps '5420 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 Program Memory Program Memory external program memory '54x devices (except '548, '549, '5402, '5410, '5420) addresses 16-bit words. '54x devices have on-chip ROM, dual-access (DARAM), single-access (SARAM) that mapped software into program space. When cells mapped into program space, device automatically accesses them when addresses fall within their bounds. When program address generation unit (PAGEN) generates address outside bounds on-chip memory, device automatically generates external access. (For more information about program address generation, Chapter Program Memory Addressing.) Table shows on-chip program memory available various '54x devices. Table 3-1. On-Chip Program Memory Available '54x Devices Device `541 `542 `543 `545 `546 `548 '549 '5402 '5410 '5420 DARAM SARAM 168K 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 '54x devices. 3-16 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 '54x device. gray lines figure indicate block boundaries. Figure 3-14. On-Chip Block Organization '541 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 '542/543 '545/546 '548 '549 '5402 '5410 organized blocks these devices. Memory 3-17 Program Memory 3.2.3 Program Memory Address On-Chip Contents device reset, reset, interrupt, trap vectors mapped address FF80h program 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 '54x devices (except '5420) provide variety sizes (4K, 16K, 24K, 28K, words). '54x 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 '54x 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 '54x on-chip ROM. Appendix Submitting Codes details submit code Texas Instruments. 3-18 Figure 3-15. On-Chip Program Memory (High Addresses) FD00h FC00h FE00h FB00h FF80h FF00h FA00h F900h F800h Interrupt vector table User-specified code '541/545/546 Reserved '542/543/548/549/5402/5410 A-law expansion table µ-law expansion table Interrupt vector table Sine look-up table Bootloader code Reserved Memory Program Memory 3-19 Program Memory 3.2.5 Extended Program Memory (Available '548/549/5402/5410/5420) '548, '549, '5402, '5410, '5420 paged extended memory scheme program space allow access 8192K words program memory. implement this scheme, '548, '549, 5402, '5410, '5420 include several additional features: address lines, instead address lines '5402, '5420) extra memory-mapped register, program counter extension register (XPC) extra instructions addressing extended program space Program memory '548, '549, '5402, '5410, 5420 organized into pages pages '5402, '5420) that each words length, shown Figure 3-16. 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 When on-chip enabled program space, 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. on-chip enabled (MP/MC enabled only page mapped other page program memory. value register defines page selection. This register memory-mapped into data space address 001Eh. hardware reset, initialized 3-20 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, '548, '549, '5402, '5410, '5420 have special instructions that affect XPC: FB[D] branch FBACC[D] branch location specified value accumulator accumulator FCALA[D] call location specified value accumulator accumulator FCALL[D] call FRET[D] return FRETE[D] return with interrupts enabled following '54x instructions extended '548, '549, '5402, '5410, '5420 bits bits '5402, '5420): 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. Memory 3-21 Data Memory Data Memory data memory '54x contains 16-bit words. number '54x devices have on-chip that mapped software into data space (DROM) addition dual- single-access (DARAM SARAM). Table shows on-chip data memory available various '54x devices. Table 3-2. On-Chip Data Memory Available TMS320C54x Devices Device '541 '542 '543 '545 '546 '548 '549 '5402 '5410 '5420 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 generation data addresses, Chapter Data Addressing.) 3.3.1 Data Memory Configurability Data memory reside both off-chip. on-chip DARAM mapped into data memory space. some '54x 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 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 '54x 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 '54x device. gray lines figure indicate block boundaries. organization first DARAM '54x devices includes memory-mapped peripheral registers, words scratch-pad DARAM, words DARAM. Memory 3-23 3-24 Data Memory Figure 3-18. On-Chip Block Organization 7000h 6000h 5000h 4000h 3000h 2000h 1000h 0000h 0B00-0FFF 0800-0AFF 1000-13FF 0400-07FF 0000-03FF Dual-access '541 1800-1FFF 0800-0FFF 2000-27FF 1000-17FF 0000-07FF '542/543 Single-access 0800-0FFF 1000-17FF 0000-07FF '545/546 6000-7FFF 4000-5FFF 2000-3FFF 1800-1FFF 0800-0FFF 0000-07FF 1000-17FF '548/549 Data Memory Figure 3-19. On-Chip Block Organization ('5402/'5410/'5420) '5402 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 '5410 '5420 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-26. Memory 3-25 Data Memory peripheral registers used control data registers peripheral circuits. These registers reside within addresses 0020h-005F reside dedicated peripheral structure. list peripherals particular '54x 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 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 '54x 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. Table 3-3. Memory-Mapped Registers Address (Hex) Name Description Interrupt mask register Interrupt flag register Reserved testing Status register Status register 3-26 Data Memory Table 3-3. Memory-Mapped Registers (Continued) Address (Hex) 1E-1F Name PMST Description 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 ('548, '549, '5402, '5410, '5420) Reserved 3.3.4.3 Accumulators '54x 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-15 more details about these accumulator features. 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-21.) 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 Data 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 '54x devices. PMST described detail section 4.1, Status Control Registers, page 4-2. 3.3.4.11 Program Counter Extension Register (XPC, Available '548/'549/'5402/'5410/'5420) 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 3-29 Memory Program Data Security Memory Memory '54x devices offer memory space addition program- data-memory spaces. 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- data-memory spaces facilitate access individual I/O-mapped devices rather than memories. details external operation control accesses, Chapter External Operation. Program Data Security '54x staged security options: on-chip security ROM/ security. Table summary security feature. Table 3-4. Data Security Affect On-Chip Memory Accesses Security Affected both program data accesses. Instructions fetched from on-chip read on-chip program data accesses. Instructions fetched from on-chip external memory will prohibited from accessing on-chip will read invalid data (0FFFFh) program data accesses. ROM/RAM Affected both program data accesses. Instructions fetched from on-chip on-chip read on-chip program data accesses. Instructions fetched from external memory will prohibited from accessing on-chip will read invalid data (0FFFFh) program data accesses. Affected both program data accesses. Instructions fetched from on-chip on-chip read on-chip program data accesses. Instructions fetched from external memory will prohibited from accessing on-chip will read invalid data (0FFFFh) program data accesses. Unaffected this security option. 3-30 Chapter Central Processing Unit This chapter describes '54x central processing unit (CPU) operations. perform high-speed arithmetic operations within instruction cycle because parallel architectural design. following functional components discussed this chapter: 40-bit arithmetic logic unit (ALU) 40-bit accumulator registers Barrel shifter supporting shift range Multiply/accumulate block 16-bit temporary register 16-bit transition register (TRN) Compare, select, store unit (CSSU) Exponent encoder registers memory-mapped, enabling quick saves restores. Topic Page Status Control Registers Arithmetic LogIc Unit (ALU) 4-11 Accumulators 4-15 Barrel Shifter 4-19 Multiplier/Adder Unit 4-21 Compare, Select, Store Unit (CSSU) 4-26 Exponent Encoder 4-29 Other recent searchesICS331-26 - ICS331-26 ICS331-26 Datasheet FSTD16211 - FSTD16211 FSTD16211 Datasheet CF61A8002C - CF61A8002C CF61A8002C Datasheet AZ6951 - AZ6951 AZ6951 Datasheet 1N4938-1 - 1N4938-1 1N4938-1 Datasheet
Privacy Policy | Disclaimer |