Texas-instruments TMS320C3x Bedienungsanleitung

Stöbern Sie online oder laden Sie Bedienungsanleitung nach Hardware Texas-instruments TMS320C3x herunter. Texas Instruments TMS320C3x User Manual Benutzerhandbuch

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 757
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 0
TMS320C3x
Users Guide
Literature Number: SPRU031E
2558539-9761 revision L
July 1997
Printed on Recycled Paper
Seitenansicht 0
1 2 3 4 5 6 ... 756 757

Inhaltsverzeichnis

Seite 1 - User’s Guide

TMS320C3xUser’s GuideLiterature Number: SPRU031E2558539-9761 revision LJuly 1997Printed on Recycled Paper

Seite 2

If You Need Assistancex If You Need Assistance . . .World-Wide Web SitesTI Online http://www.ti.comSemiconductor Product Information Center (PIC) http

Seite 3 - Read This First

Reset/Interrupt/Trap Vector Map 4-18Figure 4–10. Interrupt and Trap Vector Locations for TMS320C32EA (ITTP) + 3FhEA (ITTP) + 3EhEA (ITTP) + 3DhEA (ITT

Seite 4 - Notational Conventions

Instruction Cache4-19Memory and the Instruction Cache4.3 Instruction CacheA 64 × 32-bit instruction cache speeds instruction fetches and lowers system

Seite 5 - Information About Cautions

Instruction Cache 4-20Figure 4–12. Instruction-Cache ArchitectureSegment startaddress registersSegment wordsLRUStackSSA register 0Segment word 0Segmen

Seite 6 - References

Instruction Cache4-21Memory and the Instruction Cache4.3.2 Instruction-Cache AlgorithmWhen the ’C3x requests an instruction word from external memory,

Seite 7 - Read This First

Instruction Cache 4-22Only instructions may be fetched from the program cache. All reads and writesof data in memory bypass the cache. Program fetches

Seite 8

Instructions may be fetched beforecache is enabledor frozen.Cache clearedInstructions may be fetched beforecache cleared.Instruction Cache4-23Memory a

Seite 9 - Adaptive Array Principles

5-1Data Formats and Floating-Point OperationIn the ’C3x architecture, data is organized into three fundamental types: integer,unsigned integer, and fl

Seite 10 - If You Need Assistance . .

Integer Formats 5-25.1 Integer FormatsThe ’C3x supports two integer formats: a 16-bit short-integer format and a32-bit single-precision integer format

Seite 11 - Trademarks

Unsigned-Integer Formats5-3Data Formats and Floating-Point Operation5.2 Unsigned-Integer FormatsThe ’C3x supports two unsigned-integer formats: a 16-b

Seite 12 - Contents

Floating-Point Formats 5-45.3 Floating-Point FormatsThe ’C3x supports four floating-point formats:A short floating-point format for immediate floating

Seite 13

If You Need Assistance / Trademarksxi Read This FirstDocumentationWhen making suggestions or reporting errors in documentation, please include the f

Seite 14 - Contents

Floating-Point Formats5-5Data Formats and Floating-Point OperationThe exponent field is a 2s-complement number that determines the factor of 2by which

Seite 15

Floating-Point Formats 5-6The following examples illustrate the range and precision of the short floating-point format:Most positive:x = (2 – 2–11) ×

Seite 16

Floating-Point Formats5-7Data Formats and Floating-Point OperationThe following examples illustrate the range and precision of the ‘C32 shortfloating-

Seite 17

Floating-Point Formats 5-8You must use the following reserved values to represent 0 in the single-precisionfloating-point format:e= – 128s=0f=0The fol

Seite 18

Floating-Point Formats5-9Data Formats and Floating-Point OperationThe following examples illustrate the range and precision of the extended-precision

Seite 19

Floating-Point Formats 5-10Rewrite the mantissa as:Mantissa10.1 0 1 0 0 0 0 0 0 0 0Step 3: Shift the decimal point of the mantissa according to the va

Seite 20 - Figures

Floating-Point Formats5-11Data Formats and Floating-Point OperationExample 5–2. Negative Number 0 1 C 0 0 0 0 0 Hex value0000 00

Seite 21

Floating-Point Formats 5-125.3.6 Conversion Between Floating-Point FormatsFloating-point operations assume several different formats for inputs and ou

Seite 22

Floating-Point Formats5-13Data Formats and Floating-Point OperationFigure 5–12. Converting from Single-Precision Floating-Point Format to Extended-Pre

Seite 23

Floating-Point Conversion (IEEE Std. 754) 5-145.4 Floating-Point Conversion (IEEE Std. 754)The ‘C3x floating-point format is not compatible with the I

Seite 24

ContentsxiiiContents1 Introduction 1-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seite 25

Floating-Point Conversion (IEEE Std. 754)5-15Data Formats and Floating-Point OperationFigure 5–15. TMS320C3x Single-Precision 2s-Complement Floating-P

Seite 26

Floating-Point Conversion (IEEE Std. 754) 5-16Case 1 maps the IEEE positive NaNs and positive infinity to the single-preci-sion 2s-complement most pos

Seite 27 - Examples

Floating-Point Conversion (IEEE Std. 754)5-17Data Formats and Floating-Point Operation5.4.1.1 IEEE-to-TMS320C3x Floating-Point Format ConversionExampl

Seite 28 - Examples

Floating-Point Conversion (IEEE Std. 754) 5-18Example 5–4.IEEE-to-TMS320C3x Conversion (Fast Version) (Continued)* NOTE: SINCE THE STACK POINTER SP IS

Seite 29

Floating-Point Conversion (IEEE Std. 754)5-19Data Formats and Floating-Point OperationExample 5–5. IEEE-to-TMS320C3x Conversion (Complete Version)* TI

Seite 30 - Introduction

Floating-Point Conversion (IEEE Std. 754) 5-20Example 5–5.IEEE-to-TMS320C3x Conversion (Complete Version) (Continued)* HANDLE NaN AND INFINITYTSTB *+A

Seite 31 - 1.1 TMS320C3x Devices

Floating-Point Conversion (IEEE Std. 754)5-21Data Formats and Floating-Point Operation5.4.2 Converting 2s-Complement TMS320C3x Floating-Point Format t

Seite 32 - 1.1.2 TMS320C30

Floating-Point Conversion (IEEE Std. 754) 5-225.4.2.1 TMS320C3x-to-IEEE Floating-Point Format ConversionThe vast majority of the numbers represented b

Seite 33 - 1.1.4 TMS320C32

Floating-Point Conversion (IEEE Std. 754)5-23Data Formats and Floating-Point OperationExample 5–6.TMS320C3x-to-IEEE Conversion (Fast Version) (Continu

Seite 34 - TMS320C3x Devices

Floating-Point Conversion (IEEE Std. 754) 5-24Example 5–7. TMS320C3x-to-IEEE Conversion (Complete Version)** TITLE TMS320C3x TO IEEE CONVERSION (COMPL

Seite 35

Contentsxiv 3 CPU Registers 3-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seite 36 - 1.2 Typical Applications

Floating-Point Conversion (IEEE Std. 754)5-25Data Formats and Floating-Point OperationExample 5–7.TMS320C3x-to-IEEE Conversion (Complete Version) (Con

Seite 37 - Architectural Overview

Floating-Point Multiplication 5-265.5 Floating-Point MultiplicationA floating-point number α can be written in floating-point format as in the followi

Seite 38 - 2.1 Overview

Floating-Point Multiplication5-27Data Formats and Floating-Point OperationIf c(exp) has overflowed (step 11) in the positive direction, then step 14se

Seite 39 - Overview

Floating-Point Multiplication 5-28Figure 5–16. Flowchart for Floating-Point Multiplicationα(man)b(man) α(exp)b(exp)(1) (2)Multiply mantissas Add expon

Seite 40

Floating-Point Multiplication5-29Data Formats and Floating-Point OperationExample 5–8 through Example 5–12 illustrate how floating-point multiplicatio

Seite 41

Floating-Point Multiplication 5-30Example 5–9. Floating-Point Multiply (Both Mantissas = 1.5)Let:α = 1.5 × 2α(exp)= 01.0000000000000000000000 × 2α(

Seite 42 - Central Processing Unit (CPU)

Floating-Point Multiplication5-31Data Formats and Floating-Point OperationExample 5–11. Floating-Point Multiply Between Positive and Negative Numbers

Seite 43

Floating-Point Addition and Subtraction 5-325.6 Floating-Point Addition and SubtractionIn floating-point addition and subtraction, two floating-point

Seite 44 - Addressing

Floating-Point Addition and Subtraction5-33Data Formats and Floating-Point OperationFigure 5–17. Flowchart for Floating-Point Additionα(man)b(man) α(e

Seite 45 - 2.3 CPU Primary Register File

Floating-Point Addition and Subtraction 5-34The following examples describe the floating-point addition and subtractionoperations. It is assumed that

Seite 46 - Floating-Point Operation

Contentsxv Contents5.3.3 Single-Precision Floating-Point Format 5-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.4 Extended-

Seite 47 - CPU Primary Register File

Floating-Point Addition and Subtraction5-35Data Formats and Floating-Point OperationExample 5–14. Floating-Point SubtractionA subtraction is performe

Seite 48 - 2.4 Other Registers

Floating-Point Addition and Subtraction 5-36Example 5–16. Floating-Point Addition/Subtraction With Floating-Point 0When floating-point addition and s

Seite 49 - 2.5 Memory Organization

Normalization Using the NORM Instruction5-37Data Formats and Floating-Point Operation5.7 Normalization Using the NORM InstructionThe NORM instruction

Seite 50 - Memory Organization

Normalization Using the NORM Instruction 5-38Figure 5–18. Flowchart for NORM Instruction OperationTest for special cases of c(man)c(exp) = –128(1)α(ma

Seite 51

Rounding (RND Instruction)5-39Data Formats and Floating-Point Operation5.8 Rounding (RND Instruction)The RND instruction rounds a number from the exte

Seite 52

Rounding (RND Instruction) 5-40Figure 5–19. Flowchart for Floating-Point Rounding by the RND InstructionTest for special cases of c(man)c(exp) = –128c

Seite 53 - 2.5.2 Memory Addressing Modes

Floating-Point to Integer Conversion (FIX Instruction)5-41Data Formats and Floating-Point Operation5.9 Floating-Point to Integer Conversion (FIX Instr

Seite 54 - 2.6 Internal Bus Operation

Floating-Point to Integer Conversion (FIX Instruction) 5-42Figure 5–20. Flowchart for Floating-Point to Integer Conversion by FIX InstructionTest for

Seite 55 - 2.7 External Memory Interface

Integer to Floating-Point Conversion (FLOAT Instruction)5-43Data Formats and Floating-Point Operation5.10 Integer to Floating-Point Conversion (FLOAT

Seite 56 - External Memory Interface

Fast Logarithms on a Floating-Point Device 5-445.11 Fast Logarithms on a Floating-Point DeviceThe following TMS320C30/C40 function calculates the log

Seite 57 - 2.8 Interrupts

Contentsxvi 7.1.4 RPTS Instruction 7-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.5 Re

Seite 58 - 2.9 Peripherals

Fast Logarithms on a Floating-Point Device5-45Data Formats and Floating-Point OperationN * log2(mant_old) = EXP_new + log2(mant_new)log2(mant_old) = E

Seite 59 - 2.9.2 Serial Ports

Fast Logarithms on a Floating-Point Device 5-46are equivalent to the seven MSBs of the logarithm. If the exponent could holdall the bits needed for fu

Seite 60

Fast Logarithms on a Floating-Point Device5-47Data Formats and Floating-Point OperationWhen finished, the bits representing the finished logarithm are

Seite 61 - Figure 2–10. DMA Controller

Fast Logarithms on a Floating-Point Device 5-48Figure 5–23. Fast Logarithm for FFT Displays***********************************************************

Seite 62

6-1Addressing ModesThe ’C3x supports five groups of powerful addressing modes. Six types ofaddressing that allow data access from memory, registers, a

Seite 63

Addressing Types 6-26.1 Addressing TypesYou can access data from memory, registers, and the instruction word by usingfive types of addressing:Register

Seite 64 - CPU Registers

Register Addressing6-3Addressing Modes6.2 Register AddressingIn register addressing, a CPU register contains the operand, as shown in thisexample: AB

Seite 65 - Table 3–1. CPU Registers

Direct Addressing 6-46.3 Direct AddressingIn direct addressing, the data address is formed by the concatenation of theeight LSBs of the data-page poin

Seite 66

Indirect Addressing6-5Addressing Modes6.4 Indirect AddressingIndirect addressing specifies the address of an operand in memory through thecontents of

Seite 67 - 3.1.3 Data-Page Pointer (DP)

Indirect Addressing 6-6Figure 6–2. Indirect Addressing Operand EncodingLSBMSB5 bitsmod ARn disp3 bits 0, 5, or 8 bitsNote: Auxiliary RegisterThe auxil

Seite 68 - 3.1.7 Status (ST) Register

Contentsxvii Contents9 TMS320C30 and TMS320C31 External-Memory Interface 9-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . Description of p

Seite 69 - CPU Multiport Register File

Indirect Addressing6-7Addressing ModesTable 6–2. Indirect Addressing(a) Indirect addressing with displacementMod Field Syntax Operation Description000

Seite 70

Indirect Addressing 6-8Table 6–2. Indirect Addressing (Continued)(c) Indirect addressing with index register IR1Mod Field Syntax Operation Description

Seite 71

Indirect Addressing6-9Addressing ModesExample 6–3. Indirect Addressing With Predisplacement AddThe address of the operand to fetch is the sum of an au

Seite 72 - (TMS320C30 and TMS320C31)

Indirect Addressing 6-10Example 6–5. Indirect Addressing With Predisplacement Add and ModifyThe address of the operand to fetch is the sum of an auxil

Seite 73

Indirect Addressing6-11Addressing ModesExample 6–7. Indirect Addressing With Postdisplacement Add and ModifyThe address of the operand to fetch is the

Seite 74

Indirect Addressing 6-12Example 6–9. Indirect Addressing With Postdisplacement Add and Circular ModifyThe address of the operand to fetch is the conte

Seite 75

Indirect Addressing6-13Addressing ModesExample 6–11. Indirect Addressing With Preindex AddThe address of the operand to fetch is the sum of an auxilia

Seite 76

Indirect Addressing 6-14Example 6–13. Indirect Addressing With Preindex Add and ModifyThe address of the operand to fetch is the sum of an auxiliary r

Seite 77

Indirect Addressing6-15Addressing ModesExample 6–15. Indirect Addressing With Postindex Add and ModifyThe address of the operand to fetch is the conte

Seite 78

Indirect Addressing 6-16Example 6–17. Indirect Addressing With Postindex Add and Circular ModifyThe address of the operand to fetch is the contents of

Seite 79

Contentsxviii 11.1.3 TMS320C31 Boot-Loading Sequence 11-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.4 TMS320C31 Boot Data St

Seite 80

Indirect Addressing6-17Addressing ModesExample 6–19. Indirect Addressing With Postindex Add and Bit-Reversed ModifyThe address of the operand to fetch

Seite 81 - 3.2 Other Registers

Immediate Addressing 6-186.5 Immediate AddressingIn immediate addressing, the operand is a 16-bit (short) or 24-bit (long) immediatevalue contained in

Seite 82

PC-Relative Addressing6-19Addressing Modes6.6 PC-Relative AddressingProgram counter (PC)-relative addressing is used for branching. It adds thecontent

Seite 83 - Chapter 4

PC-Relative Addressing 6-20Figure 6–3. Encoding for 24-Bit PC-Relative Addressing Mode(a) BR, BRD: unconditional branches (standard and delayed)31 25

Seite 84 - 4.1 Memory

Circular Addressing6-21Addressing Modes6.7 Circular AddressingMany DSP algorithms, such as convolution and correlation, require a circularbuffer in me

Seite 85 - Peripheral Bus Memory Map

Circular Addressing 6-22Figure 6–6. Logical and Physical Representation of Circular Buffer after Writing Eight ValuesStart Enda) Logical representatio

Seite 86

Circular Addressing6-23Addressing ModesIn circular addressing, index refers to the K LSBs (from the K-bit boundary criteria)of the auxiliary register

Seite 87 - Trap Vector Map

Circular Addressing 6-24Example 6–24. Circular Addressing*AR0++(5)% ; AR0 = 0 (0 value)*AR0++(2)% ; AR0 = 5 (1st value)*AR0– –(3)% ; AR0 = 1 (2nd valu

Seite 88 - Data-Page Pointer (DP)

Circular Addressing6-25Addressing ModesExample 6–25. FIR Filter Code Using Circular Addressing* Impulse Response.sect ”Impulse_Resp”H .float 1.0.float

Seite 89 - 4.1.1.3 TMS320C32 Memory Map

Bit-Reversed Addressing 6-266.8 Bit-Reversed AddressingThe ’C3x can implement fast Fourier transforms (FFT) with bit-reversed ad-dressing. Whenever da

Seite 90

Contentsxix Contents12.3.5 TMS320C32 DMA Internal Priority Schemes 12-62. . . . . . . . . . . . . . . . . . . . . . . . . 12.3.6 CPU and DMA Control

Seite 91 - ’C31, and ’C32

Bit-Reversed Addressing6-27Addressing ModesExample 6–26. Bit-Reversed Addressing*AR2++(IR0)B ; AR2= 0110 0000 (0th value)*AR2++(IR0)B ; AR2= 0110 1000

Seite 92

Aligning Buffers With the TMS320 Floating-Point DSP Assembly 6-286.9 Aligning Buffers With the TMS320 Floating-Point DSP Assembly Language ToolsTo ali

Seite 93

System and User Stack Management6-29Addressing Modes6.10 System and User Stack ManagementThe ’C3x provides a dedicated system-stack pointer (SP) for b

Seite 94

System and User Stack Management 6-306.10.2 StacksStacks can be built from low to high memory or high to low memory. Two casesfor each type of stack a

Seite 95

System and User Stack Management6-31Addressing ModesFigure 6–11.Implementations of Low-to-High Memory StacksTop of stackLow memoryHigh memory(Free)Bot

Seite 96 - Pointer (ITTP)

7-1Program Flow ControlThe TMS320C3x provides a complete set of constructs that facilitate softwareand hardware control of the program flow. Software

Seite 97 - Microprocessor Mode

Repeat Modes 7-27.1 Repeat ModesThe repeat modes of the ’C3x can implement zero-overhead looping. For manyalgorithms, most execution time is spent in

Seite 98

Repeat Modes7-3Program Flow Control7.1.1 Repeat-Mode Control BitsTwo bits are important to the operation of RPTB and RPTS:RM bit. The repeat-mode (RM)

Seite 99 - Microcomputer Mode

Repeat Modes 7-4Example 7–1. Repeat-Mode Control Algorithmif RM == 1 ; If in repeat mode (RPTB or RPTS)if S == 1 ; If RPTSif first time through ; If t

Seite 100 - Note: Traps 28–31

Repeat Modes7-5Program Flow ControlAll block repeats initiated by RPTB can be interrupted. When RPTB src(source) instruction executes, it performs the

Seite 101 - 4.3 Instruction Cache

Figuresxx Figures1–1 TMS320C3x Devices Block Diagram 1-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 TM

Seite 102 - Instruction Cache

Repeat Modes 7-6The RPTS instruction loads all registers and mode bits necessary for the opera-tion of the single-instruction repeat mode. Step 1 load

Seite 103

Repeat Modes7-7Program Flow ControlExample 7–4. Incorrectly Placed Delayed BranchLDI 15,RC ; Load repeat counter with 15RPTB ENDLOOP ; Execute block o

Seite 104 - 4.3.3 Cache Control Bits

Repeat Modes 7-87.1.7 Nested Block RepeatsBlock repeats (RPTB) can be nested. Since the registers RS, RE, RC, andST control the repeat-mode status, th

Seite 105

Delayed Branches7-9Program Flow Control7.2 Delayed BranchesThe ’C3x offers three main types of branching: standard, delayed, and condi-tional delayed.

Seite 106 - Chapter 5

Delayed Branches 7-10Example 7–6. Incorrectly Placed Delayed BranchesB1: BD L1NOPNOPB2: B L2 ; This branch is incorrectly placed.NOPNOPNOP...For faste

Seite 107 - 5.1 Integer Formats

Calls, Traps, and Returns7-11Program Flow Control7.3 Calls, Traps, and ReturnsCalls and traps provide a means of executing a subroutine or function wh

Seite 108 - 5.2 Unsigned-Integer Formats

Calls, Traps, and Returns 7-12RETIcond returns from traps or calls like the RETScond, with the additionthat RETIcond also sets the GIE bit of the stat

Seite 109 - 5.3 Floating-Point Formats

Interlocked Operations7-13Program Flow Control7.4 Interlocked OperationsOne of the most common parallel processing configurations is the sharing ofglo

Seite 110 - Floating-Point Formats

Interlocked Operations 7-14The LDFI and LDII instructions perform the following actions:1) Simultaneously set XF0 to 0 and begin a read cycle. The tim

Seite 111

Interlocked Operations7-15Program Flow ControlNote: Timing Diagrams for SIGIThe timing diagrams for SIGI shown in the data sheets depict a zero waitst

Seite 112

IMPORTANT NOTICETexas Instruments (TI) reserves the right to make changes to its products or to discontinue anysemiconductor product or service withou

Seite 113

Figuresxxi Contents5–1 Short-Integer Format and Sign-Extension of Short Integers 5-2. . . . . . . . . . . . . . . . . . . . . . . . . 5–2 Single-Pre

Seite 114

Interlocked Operations 7-16Example 7–8 shows the implementation of a busy-waiting loop. If locationLOCK is the interlock for a critical section of cod

Seite 115 - Example 5–1. Positive Number

Interlocked Operations7-17Program Flow ControlFigure 7–2. Multiple TMS320C3xs Sharing Global MemoryGlobal memoryArbitration logic’C3x #2XF0 XF1Localme

Seite 116 - Example 5–2. Negative Number

Interlocked Operations 7-18The ’C3x code for V(S) is shown in Example 7–10; code for P(S) is shown inExample 7–11. Compare the code in Example 7–11 to

Seite 117 - Floating-Point Format

Interlocked Operations7-19Program Flow ControlExample 7–12. Code to Synchronize Two TMS320C3x Devices at the Software LevelNCode for ’C3x #2Code for ’

Seite 118

XF0 set as anoutput pin andXF1 set as aninput pinXF1 sampledXF0 driven lowand XF1 sampledXF0 pindriven highXF1 pinsampledXF0 pindriven lowInterlocked

Seite 119 - (the actual expo

Reset Operation7-21Program Flow Control7.5 Reset OperationThe ’C3x supports a nonmaskable external reset signal (RESET), which isused to perform syste

Seite 120

Reset Operation 7-22Table 7–3. TMS320C3x Pin Operation at Reset (Continued)DeviceSignal ‘C32‘C31‘C30Operation at ResetHOLDA Reset has no effectPRGW Re

Seite 121

Reset Operation7-23Program Flow ControlTable 7–3. TMS320C3x Pin Operation at Reset (Continued)DeviceSignal ‘C32‘C31‘C30Operation at ResetDR1 Asynchron

Seite 122

Reset Operation 7-24Table 7–3. TMS320C3x Pin Operation at Reset (Continued)DeviceSignal ‘C32‘C31‘C30Operation at ResetEmulation, Test, and ReservedEMU

Seite 123

Reset Operation7-25Program Flow ControlAt system reset, the following additional operations are performed:The peripherals are reset. This is a synchro

Seite 124

Figuresxxii 7–8 DMA Interrupt Processing 7-39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seite 125

Interrupts 7-267.6 InterruptsThe ’C3x supports multiple internal and external interrupts, which can be used fora variety of applications. Internal int

Seite 126

Interrupts7-27Program Flow ControlTable 7–4. Reset, Interrupt, and Trap-Vector Locations for the TMS320C30/TMS320C31 Microprocessor ModeAddress Name F

Seite 127

Interrupts 7-28Table 7–5. Reset, Interrupt, and Trap-Branch Locations for the TMS320C31 Microcomputer Boot ModeAddress Name Function809FC1 INT0 Extern

Seite 128 - ±1,R0 ; Add the positive sign

Interrupts7-29Program Flow Control7.6.2 TMS320C32 Interrupt Vector TableSimilarly to the rest of the ’C3x device family, the ’C32’s reset vector locat

Seite 129

Interrupts 7-30Table 7–6. Interrupt and Trap-Vector Locations for the TMS320C32Address Name FunctionEA[ITTP] + 00h ReservedEA[ITTP] + 01h INT0 Externa

Seite 130

Interrupts7-31Program Flow Control7.6.3 Interrupt PrioritizationWhen two interrupts occur in the same clock cycle or when two previouslyreceived inter

Seite 131

Interrupts 7-327.6.4 CPU Interrupt Control BitsThree CPU registers contain bits that control interrupt operation:Status (ST) registerThe CPU global in

Seite 132 - Floating-Point Multiplication

Interrupts7-33Program Flow ControlFigure 7–5. IF Register ModificationCorrect IncorrectLDI @MASK, R0 LDI IF, R1AND R0, IF AND @MASK, R1LDI R1, IFNote:

Seite 133

Interrupts 7-34Figure 7–6. CPU Interrupt ProcessingDMA proceeds according to SYNC bitsIf enabled,interrupt isa DMA interruptClear interrupt flagDMA co

Seite 134

Interrupts7-35Program Flow ControlIf you wish to make the interrupt service routine interruptible, you can set theGIE bit to 1 after entering the ISR.

Seite 135

Figuresxxiii Contents10–5 STRB1 Control Register 10-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seite 136

Interrupts 7-36Table 7–8. Interrupt LatencyCycle Description Fetch Decode Read Execute1 Recognize interrupt in single-cycle fetched(prog a + 1) instru

Seite 137

Interrupts7-37Program Flow ControlFigure 7–7. Interrupt Logic Functional DiagramINTnTocontrolsectionInternal interruptset signalInterruptflag (n)Inter

Seite 138

DMA Interrupts 7-387.7 DMA InterruptsInterrupts can also trigger DMA read and write operations. This is calledDMA synchronization. The DMA interrupt p

Seite 139

DMA Interrupts7-39Program Flow Control7.7.2 DMA Interrupt ProcessingFigure 7–8 shows the general flow of interrupt processing by the DMA coprocessor.F

Seite 140

DMA Interrupts 7-407.7.3 CPU/DMA InteractionIf the DMA is not using interrupts for synchronization of transfers, it is notaffected by the processing o

Seite 141 - 0–α =–α (α ≠ 0)

DMA Interrupts7-41Program Flow Control7.7.4 TMS320C3x Interrupt ConsiderationsGive careful consideration to ’C3x interrupts, especially if you make mo

Seite 142

DMA Interrupts 7-42Table 7–9. Pipeline Operation with PUSH STCycle Description Fetch Decode Read Execute1 NOP2 LDI NOP3 MPYI LDI NOP4 Read location V_

Seite 143

DMA Interrupts7-43Program Flow ControlOne solution is to use an instruction that is uninterruptible such as RPTS asfollows to set the GIE:RPTS 0AND 20

Seite 144 - Rounding (RND Instruction)

DMA Interrupts 7-447.7.5 TMS320C30 Interrupt ConsiderationsThe ’C30 silicon revisions earlier than 4.0 have two unique exceptions to theinterrupt oper

Seite 145

DMA Interrupts7-45Program Flow ControlInsert two NOP instructions immediately before the TRAPcond instruction.One NOP is insufficient in some cases, a

Seite 146

Figuresxxiv 11–5 Boot-Loader Serial-Port Load Flowchart 11-18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–6 Boot

Seite 147

DMA Interrupts 7-46ISR_n: PUSH ST ;PUSH DP ; Save registersPUSH R0 ;LDI 0, DP ; Clear Data-page PointerLDI @DUMMY_INT, R0 ; If DUMMY_INT is 0 or posit

Seite 148

Traps7-47Program Flow Control7.8 TrapsA trap is the equivalent of a software-triggered interrupt. In the ’C3x, traps andinterrupts are treated identic

Seite 149

Traps 7-48The RETIcond instruction manipulates the status flags as shown in block (3)in Figure 7–10. RETIcond provides a return from a trap or interru

Seite 150 - Mantissa

Power Management Modes7-49Program Flow Control7.9 Power Management ModesThe following ’C3x devices have been enhanced by the addition of two power-dow

Seite 151

Power Management Modes 7-50The interrupt service routine (ISR) must have been set up before placingthe device in IDLE2 mode, because the instruction f

Seite 152 - 5.11.2 Points to Consider

Power Management Modes7-51Program Flow ControlFigure 7–12. Interrupt Response Timing After IDLE2 Operation1st addressVector addressDataADDRINT0 FlagIN

Seite 153

Power Management Modes 7-52Figure 7–13. LOPOWER Timing32 CLKINH1H3CLKINLOPOWER readFigure 7–14. MAXSPEED TimingH1H3CLKINMAXSPEED read32 CLKIN

Seite 154 - Addressing Modes

8-1Pipeline OperationPipeline OperationTwo characteristics of the’C3x that contribute to its high performance are:PipeliningConcurrent I/O and CPU op

Seite 155 - 6.1 Addressing Types

PerfectoverlapPipeline Structure 8-28.1 Pipeline StructureThe following list describes the four major units of the ‘C3x pipeline structure andtheir fu

Seite 156 - 6.2 Register Addressing

Pipeline Structure8-3Pipeline OperationFor ‘C30 and ‘C31, priorities from highest to lowest have been assigned toeach of the functional units of the p

Seite 157 - 6.3 Direct Addressing

Figuresxxv Contents12–41 TMS320C30 and TMS320C31 CPU/DMA Interrupt-Enable Register 12-60. . . . . . . . . . . . . . . 12–42 TMS320C32 CPU/DMA Interr

Seite 158 - 6.4 Indirect Addressing

Pipeline Conflicts 8-48.2 Pipeline ConflictsPipeline conflicts in the ’C3x can be grouped into the following categories:Branch conflicts Branch confli

Seite 159 - Indirect Addressing

3PCFetch held fornew PC valuePipeline Conflicts8-5Pipeline OperationExample 8–1. Standard BranchBR THREE ; Unconditional branchMPYF ; Not executedADD

Seite 160

Noexecutedelay3PCPipeline Conflicts 8-6Example 8–2. Delayed BranchBRD THREE ; Unconditional delayed branchMPYF ; ExecutedADD ; ExecutedSUBF ; Executed

Seite 161

Decode/addressgeneration helduntil AR write iscompletedARs writtenPipeline Conflicts8-7Pipeline Operationis loaded, and a different auxiliary register

Seite 162

Decode/addressgeneration helduntil AR is readARs readPipeline Conflicts 8-8In Example 8–4, two auxiliary registers are added together, with the result

Seite 163

Pipeline Conflicts8-9Pipeline OperationMemory pipeline conflicts consist of the following four types:Program wait A program fetch is prevented from be

Seite 164

Fetch helduntil dataaccesscompletesData accessedPipeline Conflicts 8-10Example 8–5. Program Wait Until CPU Data Access CompletesADDF3 *AR0,*AR1,R0FIXM

Seite 165

2-cycle DMAaccessPipeline Conflicts8-11Pipeline OperationExample 8–6. Program Wait Due to Multicycle AccessADDF ; code in internal memoryMPY ; code in

Seite 166

1 wait staterequiredPipeline Conflicts 8-12Example 8–7. Multicycle Program Memory FetchesPipeline OperationPC FetchDecode Read Executen MPYF — — —n+1

Seite 167

Write mustcompletebefore thetwo reads cancomplete2 readsperformedPipeline Conflicts8-13Pipeline OperationExample 8–8. Single Store Followed by Two Rea

Seite 168

Tablesxxvi Tables1–1 TMS320C30, TMS320C31, TMS320LC31, and TMS320C32 Comparison 1-5. . . . . . . . . . . . 1–2 Typical Applications of the TMS320 Fam

Seite 169

Read must wait until the writes arecompletedWrites performedPipeline Conflicts 8-14Example 8–9 shows a parallel store followed by a single load or rea

Seite 170

XF1 = 1,read must waitXF1 = 0,read operationis completePipeline Conflicts8-15Pipeline OperationExample 8–10. Interlocked LoadNOT R1,R0LDII 300h,AR2ADD

Seite 171 - 6.5 Immediate Addressing

write access2-cycle external busPipeline Conflicts 8-16Example 8–11. Busy External PortSTF R0,@DMA1LDF @DMA2,R0Pipeline OperationPCFetch Decode Read E

Seite 172 - 6.6 PC-Relative Addressing

2-cycle external busread accessPipeline Conflicts8-17Pipeline OperationExample 8–12. Multicycle Data ReadsLDF @DMA,R0Pipeline OperationPCFetch Decode

Seite 173 - (c) RPTB: repeat block

PC storecyclePipeline Conflicts 8-18Example 8–13. Conditional Calls and TrapsPipeline OperationPC FetchDecode Read Executen CALLcond———n+1 I CALLcond—

Seite 174 - 6.7 Circular Addressing

ARs readResolving Register Conflicts8-19Pipeline Operation8.3 Resolving Register ConflictsIf the auxiliary registers (AR7–AR0), the index registers (I

Seite 175

AR2 readAR2 writtenResolving Register Conflicts 8-20Example 8–15. Write to an AR Followed by an AR for Address Generation Without a Pipeline ConflictL

Seite 176 - Circular Addressing

DP readDP writtenResolving Register Conflicts8-21Pipeline OperationExample 8–16. Write to DP Followed by a Direct Memory Read Without a Pipeline Confl

Seite 177

Memory Access for Maximum Performance 8-228.4 Memory Access for Maximum PerformanceIf program fetches and data accesses are performed so that the reso

Seite 178

Memory Access for Maximum Performance8-23Pipeline OperationTable 8–2. One Program Fetch and Two Data Accesses for Maximum PerformanceCase No.Primary B

Seite 179 - 6.8 Bit-Reversed Addressing

Tablesxxvii Contents10–2 Data-Access Sequence for a Memory Configuration with Two Banks 10-14. . . . . . . . . . . . . . . 10–3 Wait-State Generatio

Seite 180 - Bit-Reversed Addressing

Clocking Memory Accesses 8-248.5 Clocking Memory AccessesThis section discusses the role of internal clock phases (H1 and H3) and howthe ’C3x handles

Seite 181 - Language Tools

Clocking Memory Accesses8-25Pipeline OperationSee Chapter 6, Addressing Modes, for more information.As discussed in Chapter 7, the number of bus cycle

Seite 182 - 6.10.1 System-Stack Pointer

Clocking Memory Accesses 8-26If both source operands are to be fetched from memory, then memory readscan occur in several ways:If both operands are lo

Seite 183 - 6.10.2 Stacks

2-cycle dummyload of src2R0, *AR6 until thestore is completeactual read ofsrc2 and src1Clocking Memory Accesses8-27Pipeline OperationExample 8–17. Dum

Seite 184 - 6.10.3 Queues

2-cycle storeThe read of src2 cannot startuntil the store is complete2-cycle read of src1 and src2Clocking Memory Accesses 8-28Example 8–18. Operand S

Seite 185 - Program Flow Control

Clocking Memory Accesses8-29Pipeline Operation8.5.2.3 Operations with Parallel StoresThe next class of instructions includes every instruction that ha

Seite 186 - 7.1 Repeat Modes

Clocking Memory Accesses 8-30If dst1 and dst2 are both written to external memory, a single CPU cycleis still all that is necessary to complete the st

Seite 187 - 7.1.2 Repeat-Mode Operation

9-1TMS320C30 and TMS320C31External-Memory InterfaceThis chapter describes the ’C30 and ’C31 external-memory interface. SeeChapter 10, Enhanced Externa

Seite 188 - Example 7–2. RPTB Operation

Overview 9-29.1 OverviewThe ’C30 provides two external interfaces: the primary bus and the expansionbus. The TMS320C31 provides one external interface

Seite 189 - 7.1.4 RPTS Instruction

Memory Interface Signals9-3TMS320C30 and TMS320C31 External-Memory Interface9.2 Memory Interface SignalsThis section describes the differences between

Seite 190 - Repeat Modes

Examplesxxviii Examples4–1 Pipeline Effects of Modifying the Cache Control Bits 4-23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 Po

Seite 191

Memory Interface Signals 9-4Table 9–1. Primary Bus Interface SignalsSignal Type†DescriptionValueAfter ResetIdle StatusSTRB O/Z Primary interface acces

Seite 192 - 7.1.7 Nested Block Repeats

Memory Interface Signals9-5TMS320C30 and TMS320C31 External-Memory InterfaceTable 9–2. Expansion Bus Interface SignalsSignal Type†DescriptionValueAfte

Seite 193 - 7.2 Delayed Branches

Memory Interface Signals 9-6Figure 9–1. Memory-Mapped External Interface Control RegistersExpansion-bus control (’C30 only)808060h808061h808062h808063

Seite 194 - Delayed Branches

Memory Interface Control Registers9-7TMS320C30 and TMS320C31 External-Memory Interface9.3 Memory Interface Control RegistersTwo memory interface contr

Seite 195 - 7.3 Calls, Traps, and Returns

Memory Interface Control Registers 9-8Table 9–3. Primary-Bus Control Register BitsAbbreviation Reset Value Name DescriptionHOLDST 0 Hold status bit Th

Seite 196 - Calls, Traps, and Returns

Memory Interface Control Registers9-9TMS320C30 and TMS320C31 External-Memory Interface9.3.2 Expansion-Bus Control RegisterThe expansion-bus control re

Seite 197 - 7.4 Interlocked Operations

Programmable Wait States 9-109.4 Programmable Wait StatesThe ’C3x has its own internal software-configurable ready-generation capabilityfor each strob

Seite 198 - Interlocked Operations

Programmable Wait States9-11TMS320C30 and TMS320C31 External-Memory InterfaceTable 9–5. Wait-State GenerationInputs OutputSWW Bit Field /RDYext /RDYwt

Seite 199

Programmable Bank Switching 9-129.5 Programmable Bank SwitchingProgrammable bank switching allows you to switch between external memorybanks without h

Seite 200

Programmable Bank Switching9-13TMS320C30 and TMS320C31 External-Memory InterfaceThe ’C3x has an internal register that contains the MSBs (as defined b

Seite 201

Examplesxxix Contents6–19 Indirect Addressing With Postindex Add and Bit-Reversed Modify 6-17. . . . . . . . . . . . . . . . . . 6–20 Short-Immediat

Seite 202

Programmable Bank Switching 9-14Figure 9–5. Bank-Switching ExampleH3H1STRBR/WADRDYRead Read ReadExtracycleNote:After changing BNKCMP, up to three inst

Seite 203 - I/O Flag Register (IOF)

External Memory Interface Timing9-15TMS320C30 and TMS320C31 External-Memory Interface9.6 External Memory Interface TimingThis section discusses functi

Seite 204 - (see Example 7–14)

External Memory Interface Timing 9-16The (M)STRB signal is low for the active portion of both reads and writes. Theactive portion lasts one H1 cycle.

Seite 205 - 7.5 Reset Operation

External Memory Interface Timing9-17TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–6. Read-Read-Write for (M)STRB = 0H3H1(M)STRB(X)R/W(X)A(

Seite 206 - Reset Operation

External Memory Interface Timing 9-18Figure 9–7 illustrates a write-write-read sequence for (M)STRB active and nowait states. The address and data wri

Seite 207

External Memory Interface Timing9-19TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–8 illustrates a read cycle with one wait state. Since (X

Seite 208

External Memory Interface Timing 9-20Figure 9–9 illustrates a write cycle with one wait state. Since initially (X)RDY = 1,the write cycle is extended.

Seite 209 - Interface

External Memory Interface Timing9-21TMS320C30 and TMS320C31 External-Memory Interface9.6.2 Expansion-Bus I/O CyclesIn contrast to primary bus and MSTR

Seite 210 - 7.6 Interrupts

External Memory Interface Timing 9-22Figure 9–11 illustrates a read with one wait state when IOSTRB is active, andFigure 9–12 illustrates a write with

Seite 211 - TMS320C31 Microprocessor Mode

External Memory Interface Timing9-23TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–12. Write With One Wait State for IOSTRB = 0H3H1XAXDXR/W

Seite 212 - Microcomputer Boot Mode

Examplesxxx 12–3 Serial-Port Register Setup #1 12-42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seite 213 - Interrupts

External Memory Interface Timing 9-24Figure 9–13 through Figure 9–23 illustrate the various transitions betweenmemory reads and writes, and I/O writes

Seite 214

External Memory Interface Timing9-25TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–14. Memory Read and I/O Read for Expansion BusXRDYXDXAXR

Seite 215

External Memory Interface Timing 9-26Figure 9–15. Memory Write and I/O Write for Expansion BusH3H1XAXDXRDYMSTRBIOSTRBXR/WMemory address I/O addressI/O

Seite 216

External Memory Interface Timing9-27TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–16. Memory Write and I/O Read for Expansion BusH3H1XAXDX

Seite 217 - 7.6.6 Interrupt Processing

External Memory Interface Timing 9-28Figure 9–17. I/O Write and Memory Write for Expansion BusH3H1XAXDXRDYMSTRBIOSTRBXR/WI/O address Memory addressI/O

Seite 218 - Note: CPU and DMA Interrupts

External Memory Interface Timing9-29TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–18. I/O Write and Memory Read for Expansion BusH3H1XAXDX

Seite 219 - 7.6.7 CPU Interrupt Latency

External Memory Interface Timing 9-30Figure 9–19. I/O Read and Memory Write for Expansion BusI/O address Memory addressMemory writeXRDYXDXAXR/WIOSTRBM

Seite 220 - Table 7–8. Interrupt Latency

External Memory Interface Timing9-31TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–20. I/O Read and Memory Read for Expansion BusMemory add

Seite 221

External Memory Interface Timing 9-32Figure 9–21. I/O Write and I/O Read for Expansion BusI/O writeXRDYXDXAXR/WIOSTRBMSTRBH1H3I/O readI/O address I/O

Seite 222 - 7.7 DMA Interrupts

External Memory Interface Timing9-33TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–22. I/O Write and I/O Write for Expansion BusI/O writeI/

Seite 223 - DMA Interrupts

iii PrefaceRead This FirstAbout This ManualThis user’s guide serves as an applications reference book for the TMS320C3xgeneration of digital signal p

Seite 224 - 7.7.3 CPU/DMA Interaction

1-1IntroductionThe TMS320C3x generation of digital signal processors (DSPs) are high-performance CMOS 32-bit floating-point devices in the TMS320 fami

Seite 225

External Memory Interface Timing 9-34Figure 9–23. I/O Read and I/O Read for Expansion BusI/O readI/O readXRDYXDXAXR/WIOSTRBMSTRBH1H3I/O address I/O ad

Seite 226 - ADD *AR0, R1

External Memory Interface Timing9-35TMS320C30 and TMS320C31 External-Memory InterfaceFigure 9–24 and Figure 9–25 illustrate the signal states when a b

Seite 227

External Memory Interface Timing 9-36Figure 9–25. Inactive Bus States for STRB and MSTRBH3H1(X)A(X)D(X)R/W(M)STRB(X)RDYWrite data(X)RDY ignoredBus ina

Seite 228

External Memory Interface Timing9-37TMS320C30 and TMS320C31 External-Memory Interface9.6.3 Hold CyclesFigure 9–26 illustrates the timing for HOLD and

Seite 229

10-1TMS320C32 Enhanced External MemoryInterfaceThe ’C32 external memory interface provides greater flexibility by improvingthe ’C3x core with several

Seite 230

TMS320C32 Memory Features 10-210.1 TMS320C32 Memory FeaturesThe ’C32 external memory interface includes the following features:One external pin, PRGW,

Seite 231 - 7.8 Traps

TMS320C32 Memory Overview10-3TMS320C32 Enhanced External Memory Interface10.2 TMS320C32 Memory OverviewThe following sections describe examples, contr

Seite 232

TMS320C32 Memory Overview 10-4IOSTRB can access 32-bit data from 32-bit wide memory. It does not have theflexibility of STRB0 and STRB1 since it is co

Seite 233 - 7.9 Power Management Modes

TMS320C32 Memory Overview10-5TMS320C32 Enhanced External Memory InterfaceThe PRGW status bit field of the CPU status (ST) register reflects the settin

Seite 234 - Figure 7–11.IDLE2 Timing

TMS320C32 Memory Overview 10-610.2.3.2 16- or 32-Bit Floating-Point Data TypesThe ’C32 supports 16- or 32-bit floating point data. For 16-bit floating

Seite 235 - 7.9.2 LOPOWER

TMS320C3x Devices 1-21.1 TMS320C3x DevicesThe ’C3x family consists of three members: the ’C30, ’C31, and ’C32. The’C30, ’C31, and ’C32 can perform par

Seite 236 - Figure 7–14. MAXSPEED Timing

Configuration10-7TMS320C32 Enhanced External Memory Interface10.3 ConfigurationTo access 8-, 16-, or 32-bit data (types) from 8-, 16-, or 32-bit wide

Seite 237 - Pipeline Operation

Configuration 10-810.3.1.1 STRB0 Control RegisterThe STRB0 control register (Figure 10–4) is a 32-bit register that contains thecontrol bits for the p

Seite 238 - 8.1 Pipeline Structure

Configuration10-9TMS320C32 Enhanced External Memory InterfaceThe instruction immediately preceding a change in the data-size ormemory-width bit fields

Seite 239 - Pipeline Structure

Configuration 10-10Table 10–1 describes the bits in the STRBO, STRB1, and the IOSTRB controlregisters.Table 10–1. STRB0, STRB1, and IOSTRB Control Reg

Seite 240 - 8.2 Pipeline Conflicts

Configuration10-11TMS320C32 Enhanced External Memory InterfaceTable 10–1. STRB0, STRB1, and IOSTRB Control Register Bits (Continued)Abbreviation Descr

Seite 241 - Example 8–1. Standard Branch

Configuration 10-12Table 10–1. STRB0, STRB1, and IOSTRB Control Register Bits (Continued)Abbreviation DescriptionNameResetValueSign ext/zero-fill0 (ST

Seite 242 - Example 8–2. Delayed Branch

Configuration10-13TMS320C32 Enhanced External Memory InterfaceFigure 10–7. STRB ConfigurationSTRB0_BxSTRB1_BxSTRB0_BxSTRB configSTRB1_Bx10.3.2 Using P

Seite 243 - LDI 7,AR2 ; 7 → AR2

Configuration 10-14By setting the bit fields of the STRB0 bus control register with a physical-memory width of 32 bits and a data type size of 32 bits

Seite 244 - 8.2.3 Memory Conflicts

Programmable Wait States10-15TMS320C32 Enhanced External Memory Interface10.4 Programmable Wait StatesThe ’C3x has its own internal software-configura

Seite 245 - 8.2.3.1 Program Wait

Programmable Wait States 10-16Table 10–3. Wait-State GenerationInputs OutputSWW BitField/RDYext/RDYwtcnt /RDYint Functional Description0001xx01Wait un

Seite 246 - ADDF3 *AR0,*AR1,R0

TMS320C3x Devices1-3IntroductionFigure 1–1. TMS320C3x Devices Block DiagramPrimary portmemory interfaceData access32-bit (’C30-’C31)8/16/32-bit (’C32)

Seite 247 - MPY ; code in internal memory

Programmable Bank Switching10-17TMS320C32 Enhanced External Memory Interface10.5 Programmable Bank SwitchingProgrammable bank switching allows you to

Seite 248 - 8.2.3.3 Execute Only

Programmable Bank Switching 10-18The ’C3x has an internal register that contains the MSBs (as defined by theBNKCMP field) of the last address used for

Seite 249 -  LDF *AR3,R2 ; *AR3 → R2

Programmable Bank Switching10-19TMS320C32 Enhanced External Memory InterfaceNote:After changing BNKCMP, up to three instructions are fetched before th

Seite 250 - ADDF @SUM,R1 ; R1 + @SUM → R1

32-Bit-Wide Memory Interface 10-2010.6 32-Bit-Wide Memory InterfaceThe ’C32 memory interface to 32-bit-wide external memory uses STRBx_B3through STRBx

Seite 251 - 8.2.3.4 Hold Everything

32-Bit-Wide Memory Interface10-21TMS320C32 Enhanced External Memory InterfaceTable 10–5. Strobe Byte-Enable for 32-Bit-Wide Memory With 8-Bit Data-Typ

Seite 252 - LDF @DMA2,R0

32-Bit-Wide Memory Interface 10-22For example, reading from or writing to memory locations 904000h to904004h involves the pins listed in Table 10–6.Ta

Seite 253 - LDF @DMA,R0

32-Bit-Wide Memory Interface10-23TMS320C32 Enhanced External Memory InterfaceFigure 10–12. Functional Diagram for 16-Bit Data-Type Size and 32-Bit Ext

Seite 254

32-Bit-Wide Memory Interface 10-24Case 3: 32-Bit-Wide Memory With 32-Bit Data-Type SizeWhen the data size is 32 bits, the ’C32 does not shift the inte

Seite 255 - Generation

32-Bit-Wide Memory Interface10-25TMS320C32 Enhanced External Memory InterfaceFor example, reading or writing to memory locations 904000h to 904004hinv

Seite 256 - Pipeline Conflict

16-Bit-Wide Memory Interface 10-2610.7 16-Bit-Wide Memory InterfaceThe ’C32 memory interface to 16-bit-wide external memory uses STRBx_B3 pinas an add

Seite 257 - Resolving Register Conflicts

TMS320C3x Devices 1-41.1.4 TMS320C32The ’C32 is the newest member of the ’C3x generation. They are enhancedversions of the ’C3x family and the lowest

Seite 258

16-Bit-Wide Memory Interface10-27TMS320C32 Enhanced External Memory InterfaceTable 10–10. Strobe-Byte Enable Behavior for 16-Bit-Wide Memory with 8-Bi

Seite 259

16-Bit-Wide Memory Interface 10-28Table 10–11. Example of 8-Bit Data-Type Size and 16-Bit-Wide External MemoryInternal Address BusExternal Address Pin

Seite 260 - 8.5 Clocking Memory Accesses

16-Bit-Wide Memory Interface10-29TMS320C32 Enhanced External Memory InterfaceFigure 10–16. Functional Diagram for 16-Bit Data-Type Size and 16-Bit Ext

Seite 261 - Clocking Memory Accesses

16-Bit-Wide Memory Interface 10-30Case 6: 16-Bit-Wide Memory with 32-Bit Data-Type SizeWhen the data type size is 32 bits, the ’C32 does not shift the

Seite 262

16-Bit-Wide Memory Interface10-31TMS320C32 Enhanced External Memory InterfaceTable 10–13. Example of 16-Bit-Wide Memory With 32-Bit Data-Type SizeInte

Seite 263 - Example 8–17. Dummy sr2 Read

8-Bit-Wide Memory Interface 10-3210.8 8-Bit-Wide Memory Interface’C32 memory interface to an 8-bit wide external memory uses STRBx_B3 andSTRBx_B2 pins

Seite 264 - ; AR1 points to MSTRB space (

8-Bit-Wide Memory Interface10-33TMS320C32 Enhanced External Memory InterfaceFigure 10–19. Functional Diagram for 8-Bit Data-Type Size and 8-Bit Extern

Seite 265

8-Bit-Wide Memory Interface 10-34Case 8: 8-Bit Wide Memory With 16-Bit Data-Type SizeWhen the data-type size is 16 bits, the ‘C32 shifts the internal

Seite 266

8-Bit-Wide Memory Interface10-35TMS320C32 Enhanced External Memory InterfaceFor example, reading or writing to memory locations A04000h to A04002hinvo

Seite 267 - External-Memory Interface

8-Bit-Wide Memory Interface 10-36Figure 10–21. Functional Diagram for 32-Bit Data-Type Size and 8-Bit External-MemoryWidthA24A23A22.A4A2A1A0CSI/O(7–0)

Seite 268 - 9.1 Overview

TMS320C3x Devices1-5IntroductionTable 1–1. TMS320C30, TMS320C31, TMS320LC31, and TMS320C32 Comparison Memory (words)CycleOn-Chip Off-Chip PeripheralsD

Seite 269 - 9.2 Memory Interface Signals

8-Bit-Wide Memory Interface10-37TMS320C32 Enhanced External Memory InterfaceFor example, reading or writing to memory locations A04000h to A04001hinvo

Seite 270 - Memory Interface Signals

External Ready Timing Improvement 10-3810.9 External Ready Timing ImprovementThe ready (RDY) timing should relate to the H1 low signal as shown inFigu

Seite 271

Bus Timing10-39TMS320C32 Enhanced External Memory Interface10.10 Bus TimingThis section discusses functional timing of operations on the external memo

Seite 272

Bus Timing 10-40Figure 10–23. Read-Read-Write Sequence for STRBx ActiveRDYDAR/WSTRBxH1H3Read Read WriteFigure 10–24 shows a zero wait-state write-writ

Seite 273

Bus Timing10-41TMS320C32 Enhanced External Memory InterfaceFigure 10–25 shows a one wait-state read sequence and Figure 10–26 showsthe write sequence

Seite 274

Bus Timing 10-42Figure 10–26. One Wait-State Write Sequence for STRBx ActiveRDYDAR/WSTRBxH1H3Extra cycleWrite10.10.2 IOSTRB Bus CyclesIn contrast to S

Seite 275

Bus Timing10-43TMS320C32 Enhanced External Memory InterfaceFigure 10–27 illustrates a zero wait-state read and write sequence for IOSTRBactive. During

Seite 276 - 9.4 Programmable Wait States

Bus Timing 10-44Figure 10–28. One Wait-State Read Sequence for IOSTRB ActiveIOSTRBRDYDAR/WH1H3Extra cycleReadFigure 10–29. One Wait-State Write Sequen

Seite 277 - Programmable Wait States

Bus Timing10-45TMS320C32 Enhanced External Memory InterfaceFigure 10–30. STRBx Read and IOSTRB WriteI/O WriteReadSTRB0,1IOSTRBRDYDAR/WH1H3Figure 10–31

Seite 278 - Figure 9–4. BNKCMP Example

Bus Timing 10-46Figure 10–32 and Figure 10–33 illustrate the transitions between STRBxwrites and IOSTRB writes and reads, respectively. In these trans

Seite 279 - Programmable Bank Switching

TMS320C3x Devices1-6Table 1–1. TMS320C30, TMS320C31, TMS320LC31, and TMS320C32 Comparison (Continued)Memory (words)CycleOn-Chip Off-ChipPeripheralsDev

Seite 280

Bus Timing10-47TMS320C32 Enhanced External Memory InterfaceFigure 10–34 through Figure 10–37 show the transitions between IOSTRBwrites/reads and STRBx

Seite 281 - 9.6.1 Primary-Bus Cycles

Bus Timing 10-48Figure 10–35. IOSTRB Write and STRBx ReadI/O Write ReadSTRBxIOSTRBRDYDAR/WH1H3Figure 10–36. IOSTRB Read and STRBx WriteI/O read WriteS

Seite 282

Bus Timing10-49TMS320C32 Enhanced External Memory InterfaceFigure 10–37. IOSTRB Read and STRBx ReadReadI/O ReadSTRBxIOSTRBRDYDAR/WH1H3Figure 10–38 thr

Seite 283

Bus Timing 10-50Figure 10–38. IOSTRB Write and ReadI/O writeIOSTRBRDYDAR/WH1H3I/O readFigure 10–39. IOSTRB Write and WriteI/O writeI/O writeIOSTRBRDYD

Seite 284 - changes

Bus Timing10-51TMS320C32 Enhanced External Memory InterfaceFigure 10–40. IOSTRB Read and ReadI/O ReadI/O ReadIOSTRBRDYDAR/WH1H310.10.3 Inactive Bus St

Seite 285 - is sampled, it is 0

Bus Timing 10-52Figure 10–42. Inactive Bus States Following STRBx Bus CycleI/O writeSTRBxRDYDAR/WH1H3Bus inactive RDY ignored

Seite 286 - The next time (X)RDY

11-1Using the TMS320C31 andTMS320C32 Boot LoadersThe ’C31 and ’C32 have on-chip boot loaders that can load and execute pro-grams received from a host

Seite 287

TMS320C31 Boot Loader 11-211.1 TMS320C31 Boot LoaderThis section describes how to use the ’C31 microcomputer/boot loader (MCBL/MP) function. This feat

Seite 288

TMS320C31 Boot Loader11-3Using the TMS320C31 and TMS320C32 Boot LoadersTable 11–1. Boot-Loader Mode SelectionINT0 INT1 INT2 INT3 Loader Mode Memory Ad

Seite 289

TMS320C31 Boot Loader 11-411.1.3 TMS320C31 Boot-Loading SequenceThe following is the sequence of events that occur during the boot load of asource pro

Seite 290

Typical Applications1-7Introduction1.2 Typical ApplicationsThe TMS320 family’s versatility, realtime performance, and multiple functionsoffer flexible

Seite 291

TMS320C31 Boot Loader11-5Using the TMS320C31 and TMS320C32 Boot LoadersFigure 11–2.Boot-Loader Memory-Load Flowchartblock loadedaddress of firstBranch

Seite 292

TMS320C31 Boot Loader 11-6Figure 11–3.Boot-Loader Serial-Port Load-Mode FlowchartBegin program executionBlock size –1Transfer data fromserial port tod

Seite 293

TMS320C31 Boot Loader11-7Using the TMS320C31 and TMS320C32 Boot Loaders11.1.4 TMS320C31 Boot Data Stream StructureTable 11–2 shows the data stream str

Seite 294

TMS320C31 Boot Loader 11-8Table 11–2. Source Data Stream Structure Word†Content Valid Data Entries1 Memory width (8, 16, or 32 bits) where source prog

Seite 295

TMS320C31 Boot Loader11-9Using the TMS320C31 and TMS320C32 Boot Loaders11.1.4.1 Examples of External TMS320C31 Memory LoadsTable 11–3, Table 11–4, and

Seite 296

TMS320C31 Boot Loader 11-10Table 11–4. 16-Bit-Wide Configured MemoryAddress Value Comments0x1000 0x10 Memory width = 160x1001 0x00000x1002 0x1058 Memo

Seite 297

TMS320C31 Boot Loader11-11Using the TMS320C31 and TMS320C32 Boot Loaders11.1.4.2 Serial-Port LoadingBoot loads, by way of the ’C31 serial port, are se

Seite 298

TMS320C31 Boot Loader 11-12Table 11–6. TMS320C31 Interrupt and Trap Memory MapsAddress Description809FC1 INT0809FC2 INT1809FC3 INT2809FC4 INT3809FC5 X

Seite 299

TMS320C31 Boot Loader11-13Using the TMS320C31 and TMS320C32 Boot Loaders11.1.6 TMS320C31 Boot-Loader PrecautionsThe boot loader builds a one-word-deep

Seite 300

TMS320C32 Boot Loader 11-1411.2 TMS320C32 Boot LoaderThis section describes how to use the ’C32 microcomputer/boot loader(MCBL/MP) functions.11.2.1 TM

Seite 301

2-1Architectural OverviewThis chapter provides an architectural overview of the ’C3x processor. It includesa discussion of the CPU, memory interface,

Seite 302

TMS320C32 Boot Loader11-15Using the TMS320C31 and TMS320C32 Boot LoadersTable 11–7. Boot-Loader Mode SelectionINT0 INT1 INT2 INT3 Boot Loader Mode Sou

Seite 303 - 9.6.3 Hold Cycles

TMS320C32 Boot Loader 11-164) Otherwise, the boot loader attempts a memory boot load. Figure 11–6shows the boot-loader memory flow. If the IF register

Seite 304

TMS320C32 Boot Loader11-17Using the TMS320C31 and TMS320C32 Boot LoadersFigure 11–4.TMS320C32 Boot-Loader Mode-Selection FlowchartNoYesNoYesMCBL/MP =

Seite 305 - TMS320C32 Memory Features

TMS320C32 Boot Loader 11-18Figure 11–5.Boot-Loader Serial-Port Load FlowchartAccording to the destinationaddress, set correspondingSTRB control regist

Seite 306 - TMS320C32 Memory Overview

TMS320C32 Boot Loader11-19Using the TMS320C31 and TMS320C32 Boot LoadersFigure 11–6.Boot-Loader Memory-Load FlowchartEnd of sourceprogram code(block s

Seite 307 - 10.2.2 Program Memory Access

TMS320C32 Boot Loader 11-20Figure 11–7.Handshake Data-Transfer OperationValiddataValiddatai ii iii ivXF1XF0D31-0IACK11.2.4 TMS320C32 Boot Data Stream

Seite 308 - Figure 10–2. Status Register

TMS320C32 Boot Loader11-21Using the TMS320C31 and TMS320C32 Boot LoadersTable 11–8. Source Data Stream Structure Word†Content Valid Data Entries1 Mem

Seite 309 - External 16-Bit Data

TMS320C32 Boot Loader 11-22Table 11–8. Source Data Stream Structure (Continued)Valid Data EntriesContentWord†m + 2 Last block destination memory width

Seite 310 - 10.3 Configuration

TMS320C32 Boot Loader11-23Using the TMS320C31 and TMS320C32 Boot Loaders11.2.5 Boot-Loader Hardware InterfaceThe hardware interface for the memory boo

Seite 311 - Configuration

TMS320C32 Boot Loader 11-24The ’C32 boot loader uses the following peripheral memory-mapped registersas a temporary stack:Timer0 counter register (808

Seite 312

Overview 2-22.1 OverviewThe ’C3x architecture responds to system demands that are based on sophisti-cated arithmetic algorithms that emphasize both ha

Seite 313

12-1PeripheralsThe ’C3x features two timers, a serial port (two serial ports for the ’C30), andan on-chip direct memory access (DMA) controller (2-cha

Seite 314

Timers 12-212.1 TimersThe ’C3x has two 32-bit general-purpose timer modules. Each timer has twosignaling modes and internal or external clocking. You

Seite 315

Timers12-3Peripherals12.1.1 Timer PinsEach timer has one pin associated with the timer clock signal (TCLK) pin. Thispin (TCK) is used as a general-pur

Seite 316

Timers 12-4Figure 12–2. Memory-Mapped Timer LocationsTimer0 global control†Timer0 counter‡Timer0 period‡Timer1 global control†Timer1 counter‡Timer1 pe

Seite 317

Timers12-5PeripheralsTable 12–1. Timer Global-Control Register Bits Summary AbbreviationResetValueName DescriptionFUNC 0 Function Controls the functio

Seite 318 - 10.4 Programmable Wait States

Timers 12-6Table 12–1. Timer Global-Control Register Bits Summary (Continued)Abbreviation DescriptionNameResetValueC/P 0 Clock/pulsemode controlWhen C

Seite 319

Timers12-7Peripherals12.1.4 Timer-Period and Counter RegistersThe 32-bit timer-period register is used to specify the frequency of the timersignaling.

Seite 320 - Figure 10–8. BNKCMP Example

Timers 12-8Figure 12–4. Timer Timing2/f(H1)1/f(H1)1/f(CLKSRC)period register/f(CLKSRC)period register/f(CLKSRC)2 x period register/f(CLKSRC)(a) TSTAT

Seite 321

Timers12-9PeripheralsExample 12–1. Timer Output Generation Examples2H12H1H1(a) INV = 0, C/P = 0 (pulse mode)timer period = 1Also,4H1H1(b) INV = 0, C/P

Seite 322

Timers 12-1012.1.6 Timer Operation ModesThe timer can receive its input and send its output in several different modes,depending upon the setting of C

Seite 323 - 32-Bit-Wide Memory Interface

Overview2-3Architectural OverviewFigure 2–1. TMS320C30 Block DiagramSHZARAU0 ARAU1DISP0, IR0, IR1ALU32-bitbarrelshifterPCRAMblock 1(1K × 32)ROMblock(4

Seite 324

Timers12-11Peripherals12.1.6.2 CLKSRC = 1 and FUNC = 1If CLKSRC = 1 and FUNC = 1 (see Figure 12–6), the timer input comes fromthe internal clock, and

Seite 325

Timers 12-1212.1.6.4 CLKSRC = 0 and FUNC = 1If CLKSRC = 0 and FUNC = 1 (see Figure 12–8), TCLK drives the timer.If INV = 0, all 0-to-1 transitions of

Seite 326

Timers12-13Peripherals12.1.8 Timer InterruptsA timer interrupt is generated whenever the TSTAT bit of the timer control registerchanges from a 0 to a

Seite 327

Timers 12-142) Configure the timer through the timer global-control register (with GO =HLD = 0 ), the timer-counter register, and timer-period registe

Seite 328

Serial Ports12-15Peripherals12.2 Serial PortsThe ’C30 has two totally independent bidirectional serial ports. Both serial portsare identical, and ther

Seite 329 - 16-Bit-Wide Memory Interface

Serial Ports 12-16Figure 12–11. Serial Port Block DiagramReceive Section Transmit SectionReceivetimer (16)Transmittimer (16)Bit counter(8/16/24/32)Bit

Seite 330

Serial Ports12-17PeripheralsFigure 12–12. Memory-Mapped Locations for the Serial PortsSerial-port 0 global controlSerial port 0 FSR/DR/CLKR control§Se

Seite 331

Serial Ports 12-18Figure 12–13. Serial-Port Global-Control Register28RRESETRTINT XINT XTINT31 30 29 27 26 25 24 23 22 21 20 19 18 17 16RLEN XLEN FSRP

Seite 332

Serial Ports12-19PeripheralsTable 12–2. Serial-Port Global-Control Register Bits Summary (Continued)Abbreviation DescriptionNameResetValueHS 0 Handsha

Seite 333

Serial Ports 12-20Table 12–2. Serial-Port Global-Control Register Bits Summary (Continued)Abbreviation DescriptionNameResetValueCLKRP 0 CLKR polarity

Seite 334

Notational Conventionsiv In syntax descriptions, the instruction, command, or directive is in boldtypeface and parameters are in an italic typeface. P

Seite 335 - 8-Bit-Wide Memory Interface

Overview 2-4Figure 2–2. TMS320C31 Block Diagram32-bitbarrelshifterALU4024BootloaderCache(64 × 32)RAMblock 0(1K × 32)RAMblock 1(1K × 32)RDYHOLDHOLDASTR

Seite 336

Serial Ports12-21PeripheralsTable 12–2. Serial-Port Global-Control Register Bits Summary (Continued)Abbreviation DescriptionNameResetValueRINT 0 Recei

Seite 337

Serial Ports 12-2212.2.2 FSX/DX/CLKX Port-Control RegisterThis 32-bit port-control register controls the function of the serial port FSX, DX,and CLKX

Seite 338

Serial Ports12-23PeripheralsTable 12–3. FSX/DX/CLKX Port-Control Register Bits Summary (Continued)Abbreviation DescriptionNameResetValueFSX FUNC 0 FSX

Seite 339

Serial Ports 12-24Table 12–4. FSR/DR/CLKR Port-Control Register Bits Summary AbbreviationResetValueName DescriptionCLKR FUNC 0 Clock receivefunctionCo

Seite 340

Serial Ports12-25Peripherals12.2.4 Receive/Transmit Timer-Control RegisterA 32-bit receive/transmit timer-control register contains the control bits f

Seite 341

Serial Ports 12-26Table 12–5. Receive/Transmit Timer-Control Register Register Bits Summary (Continued)Abbreviation FunctionNameResetValueXCLKSRC 0 Tr

Seite 342 - 10.10 Bus Timing

Serial Ports12-27PeripheralsTable 12–5. Receive/Transmit Timer-Control Register Register Bits Summary (Continued)Abbreviation FunctionNameResetValueRC

Seite 343 - Bus Timing

Serial Ports 12-2812.2.6 Receive/Transmit Timer-Period RegisterThe receive/transmit timer-period register is a 32-bit register (see Figure 12–18).Bits

Seite 344

Serial Ports12-29PeripheralsData is shifted to the left (LSB to MSB). Figure 12–20 illustrates what happenswhen words less than 32 bits are shifted in

Seite 345 - 10.10.2 IOSTRB Bus Cycles

Serial Ports 12-30Figure 12–21. Serial-Port Clocking in I/O ModeTSTATTimer inXSRTimer inXSRTimer inXSRTimer inXSRTSTATTSTATTSTATDATINDATOUTDATOUT (NC)

Seite 346

Overview2-5Architectural OverviewFigure 2–3. TMS320C32 Block Diagram242440Destination-address registerGlobal-controlregisterTimer0Timer-periodregister

Seite 347

Serial Ports12-31PeripheralsFigure 12–22. Serial-Port Clocking in Serial-Port ModeCLKX FUNC= 1 (serial-port mode)CLKX I/O = 1 (output serial-port CLK)

Seite 348

Serial Ports 12-32The transmit ready (XRDY) signal specifies that the data-transmit register(DXR) is available to be loaded with new data. XRDY goes a

Seite 349

Serial Ports12-33Peripherals12.2.10.1 Continuous Transmit and Receive ModesWhen you choose continuous mode, consecutive writes do not generate orexpec

Seite 350

Serial Ports 12-34When the serial port is placed in the handshake mode, the insertion and deletionof a leading 1 for transmitted data, the sending of

Seite 351

Serial Ports12-35Peripherals12.2.12 Serial-Port Functional OperationThe following paragraphs and figures illustrate the functional timing of thevariou

Seite 352

Serial Ports 12-3612.2.12.1 Fixed Data-Rate Timing OperationFixed data-rate serial-port transfers can occur in two varieties: burst mode andcontinuous

Seite 353

Serial Ports12-37PeripheralsFigure 12–27. Fixed Standard Mode With Back-to-Back Frame SyncA1 AN B1 BN C1DXR loadedwith AXINTDXR loadedwith BXINTRINTXI

Seite 354 - 10.10.3 Inactive Bus States

Serial Ports 12-38sync inputs are ignored. Additionally, you should set R/XFSM prior to orduring the first word transferred; you must set R/XFSM no la

Seite 355

Serial Ports12-39PeripheralsFigure 12–29. Exiting Fixed Continuous Mode Without Frame Sync, FSX InternalCLKXFSX(internal)DXLOAD DXR SET XFSM RESET XFS

Seite 356 - TMS320C32 Boot Loaders

Serial Ports 12-40Variable Standard ModeWhen you transmit continuously in variable data-rate mode with frame sync,timing is the same as for fixed data

Seite 357 - 11.1 TMS320C31 Boot Loader

Central Processing Unit (CPU) 2-62.2 Central Processing Unit (CPU)The ’C3x devices (’C30, ’C31, and ’C32) have a register-based CPU architec-ture. The

Seite 358 - TMS320C31 Boot Loader

Serial Ports12-41PeripheralsFigure 12–32. Variable Continuous Mode Without Frame SyncCLKX/RFSR/FSX (external)FSX (internal)DX/DRA1 AN B1 BN C1 C2XINTR

Seite 359

Serial Ports 12-4212.2.14.1 Handshake Mode ExampleWhen using the handshake mode, the transmit (FSX/DS/CLKX) and receive(FSR/DR/CLKR) signals transmit

Seite 360

Serial Ports12-43PeripheralsExample 12–4 and Example 12–5 are serial-port register setups for the abovecase. (Assume two ’C3xs have the same system cl

Seite 361

Serial Ports 12-44Example 12–6. CPU Transfer With Serial Port Transmit Polling Method* TITLE: CPU TRANSFER WITH SERIAL-PORT TRANSMIT POLLING METHOD*

Seite 362

Serial Ports12-45Peripherals12.2.14.3 DMA Transfer With Serial Port InterruptExample 12–8 and Example 12–9 of Section 12.3.11 on page 12-74 use theDMA

Seite 363

Serial Ports 12-4612.2.14.5 Serial Analog-to-Digital (A/D) and Digital-to-Analog (D/A) Interface ExampleThe DSP201/2 and DSP101/2 family of D/As and A

Seite 364

Serial Ports12-47Peripherals4) The bit clock drives both the A/D’s and D/A’s XCLK input.5) The ’C3x transmit clock also acts as the input clock on the

Seite 365

DMA Controller 12-4812.3 DMA ControllerThe DMA controller is a programmable peripheral that transfers blocks of datato any location in the memory map

Seite 366 - 11.1.4.2 Serial-Port Loading

DMA Controller12-49Peripherals12.3.1.1 TMS320C30 and TMS320C31 DMA ControllerThe ’C30 and ’C31 have an on-chip direct memory access (DMA) controllerth

Seite 367

DMA Controller 12-5012.3.2 DMA Basic OperationIf a block of data is to be transferred from one region in memory to another regionin memory (as shown i

Seite 368

Central Processing Unit (CPU)2-7Architectural OverviewFigure 2–4. Central Processing Unit (CPU)MultiplexerMultiplier32-bit barrelshifterExtended-preci

Seite 369 - 11.2 TMS320C32 Boot Loader

DMA Controller12-51PeripheralsAfter the completion of a block transfer, the DMA controller can be programmedto do several things:Stop until reprogramm

Seite 370 - TMS320C32 Boot Loader

DMA Controller 12-52At reset, each DMA-channel control register is set to 0. This makes the DMAchannels lower-priority than the CPU, sets up the sourc

Seite 371

DMA Controller12-53Peripherals12.3.3.1 DMA Global-Control RegisterThe global-control register controls the state in which the DMA controlleroperates.

Seite 372

DMA Controller 12-54Table 12–6. DMA Global-Control Register Bits SummaryAbbreviationResetValueName DescriptionSTART 00 DMA start control Controls the

Seite 373

DMA Controller12-55PeripheralsTable 12–6. DMA Global-Control Register Bits Summary (Continued)AbbreviationResetValueName DescriptionINCSRC 0 DMA sourc

Seite 374

DMA Controller 12-56Table 12–6. DMA Global-Control Register Bits Summary (Continued)AbbreviationResetValueName DescriptionDMA0 PRI 00 CPU/DMA channel

Seite 375

DMA Controller12-57Peripherals12.3.3.2 Destination-Address and Source-Address RegistersThe DMA destination-address and source-address registers are 24

Seite 376

DMA Controller 12-5812.3.3.3 Transfer-Counter RegisterThe transfer-counter register is a 24-bit register that contains the number ofwords to be transm

Seite 377 - SSSSSS6x

DMA Controller12-59PeripheralsFigure 12–40. Transfer-Counter OperationHalt?TC=1IsDMA interrupt generated?TCINT=1Is?to 0CompareDecrementerTransfer-coun

Seite 378

DMA Controller 12-60Figure 12–41. TMS320C30 and TMS320C31 CPU/DMA Interrupt-Enable RegisterxxEDINT ETINT1 ETINT0 ERINT1 EXINT131 30 29 28 27 26 25 24

Seite 379

Central Processing Unit (CPU) 2-82.2.1 Floating-Point/Integer MultiplierThe multiplier performs single-cycle multiplications on 24-bit integer and 32-

Seite 380

DMA Controller12-61PeripheralsTable 12–7. CPU/DMA Interrupt-Enable Register Bits AbbreviationResetValueDescriptionEINT0 (CPU) 0 CPU external interrupt

Seite 381 - 12.1 Timers

DMA Controller 12-62Table 12–7. CPU/DMA Interrupt-Enable Register Bits (Continued)Abbreviation DescriptionResetValueETINT0 (DMA) 0 DMA timer0 interrup

Seite 382 - 12.1.1 Timer Pins

DMA Controller12-63Peripherals12.3.5.2 Rotating Priority SchemeIn a rotating priority scheme, the last channel serviced becomes the lowestpriority cha

Seite 383

DMA Controller 12-64Table 12–8.TMS320C32 DMA PRI Bits and CPU/DMA Arbitration RulesDMA PRI(Bits 13–12)Description0 0 DMA access is lower priority than

Seite 384 - Timer Operation Modes

DMA Controller12-65PeripheralsThe DMA and the CPU can respond to the same interrupt if the CPU is notinvolved in any pipeline conflict or in any instr

Seite 385

DMA Controller 12-66Figure 12–44. Mechanism for DMA Source SynchronizationStartDisable DMA interrupts globallyDMA channel performs a readDMA channel p

Seite 386 - 12.1.5 Timer Pulse Generation

DMA Controller12-67PeripheralsSource and destination synchronization (SYNC = 1 1)When SYNC = 1 1, the DMA is synchronized to both the source anddestin

Seite 387 - Figure 12–4. Timer Timing

DMA Controller 12-68The data transfer rate for a DMA channel (assuming a single-channel accesswith no conflicts between CPU or other DMA channels) is

Seite 388 - = 0 (pulse mode)

DMA Controller12-69PeripheralsFigure 12–47. DMA Timing When Destination is On ChipCycles (H1) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 RateSource

Seite 389 - 12.1.6 Timer Operation Modes

DMA Controller12-70Figure 12–48. DMA Timing When Destination is an STRB, STRB0, STRB1, MSTRB BusCycles(H1)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Seite 390

CPU Primary Register File2-9Architectural Overview2.3 CPU Primary Register FileThe ’C3x provides 28 registers in a multiport register file that is tig

Seite 391

DMA Controller12-71PeripheralsFigure 12–48. DMA Timing When Destination is an STRB, STRB0, STRB1, MSTRB Bus (Continued)Cycles(H1)1 2 3 4 5 6 7 8 9 10

Seite 392 - 12.1.8 Timer Interrupts

DMA Controller12-72Figure 12–49. DMA Timing When Destination is an IOSTRB BusCycles (H1) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 RateSource on ch

Seite 393

DMA Controller12-73Peripherals12.3.9 DMA Initialization/ReconfigurationYou can control the DMA through memory-mapped registers located on thededicated

Seite 394 - 12.2 Serial Ports

DMA Controller 12-74The transfer counter has a zero value. However, the transfer counter isdecremented after the DMA read operation finishes (not afte

Seite 395 - Serial Ports

DMA Controller12-75PeripheralsExample 12–8. Array Initialization With DMA* TITLE: ARRAY INITIALIZATION WITH DMA* .GLOBAL START .DATADMA

Seite 396

DMA Controller 12-76Example 12–9. DMA Transfer With Serial-Port Receive Interrupt* TITLE DMA TRANSFER WITH SERIAL PORT RECEIVE INTERRUPT*.GLOBAL START

Seite 397

DMA Controller12-77PeripheralsExample 12–10 sets up the DMA to transfer data (128 words) from an arraybuffer to the serial port 0 output register with

Seite 398

DMA Controller 12-78Example 12–10. DMA Transfer With Serial-Port Transmit Interrupt (Continued)* DMA INITIALIZATIONLDI @DMA,AR0 ; POINT TO DMA GLOBAL

Seite 399

DMA Controller12-79PeripheralsTransfer a 128-word block of data from on-chip memory to off-chipmemory and generate an interrupt on completion. Invert

Seite 400

13-1Assembly Language InstructionsThe ’C3x assembly language instruction set supports numeric-intensive, signal-processing, and general-purpose applic

Seite 401

CPU Primary Register File 2-10Table 2–1. Primary CPU Registers (Continued)PageSectionAssigned FunctionRegisterNameIR1 Index register 1 3.1.4 3-4BK Blo

Seite 402

Instruction Set 13-213.1 Instruction SetThe ’C3x instruction set is well suited to digital signal processing and othernumeric-intensive applications.

Seite 403

Instruction Set13-3Assembly Language Instructions13.1.2 2-Operand InstructionsThe ’C3x supports 35 2-operand arithmetic and logical instructions. The

Seite 404

Instruction Set 13-413.1.3 3-Operand InstructionsWhereas 2-operand instructions have a single source operand (or shift count)and a destination operand

Seite 405

Instruction Set13-5Assembly Language InstructionsTable 13–4. Program-Control InstructionsInstruction Description Instruction DescriptionBcondBranch co

Seite 406 - It is also set to 0 at reset

Instruction Set 13-6Table 13–6. Interlocked-Operations InstructionsInstruction Description Instruction DescriptionLDFI Load floating-point value, inte

Seite 407 - 12.2.8 Data-Receive Register

Instruction Set13-7Assembly Language InstructionsTable 13–7. Parallel Instructions (Continued)(a) Parallel arithmetic with store instructions (Continu

Seite 408

Instruction Set 13-8Table 13–7. Parallel Instructions (Continued)(b) Parallel load instructionsMnemonic DescriptionLDF|| LDFLoad floating-point valueL

Seite 409

Instruction Set13-9Assembly Language Instructions13.1.8 Illegal InstructionsThe ’C3x has no illegal instruction-detection mechanism. Fetching an illeg

Seite 410 - 12.2.10 Serial-Port Timing

Instruction Set Summary 13-1013.2 Instruction Set SummaryTable 13–8 lists the ’C3x instruction set in alphabetical order. Each table entryprovides the

Seite 411

Instruction Set Summary13-11Assembly Language InstructionsTable 13–8. Instruction Set Summary (Continued)Mnemonic OperationDescriptionBcondBranch cond

Seite 412 - 12.2.10.2 Handshake Mode

CPU Primary Register File2-11Architectural OverviewThe ARAU uses the 32-bit block size register (BK) in circular addressing tospecify the data block s

Seite 413

Instruction Set Summary 13-12Table 13–8. Instruction Set Summary (Continued)Mnemonic OperationDescriptionDBcondDecrement and branch conditionally(stan

Seite 414

Instruction Set Summary13-13Assembly Language InstructionsTable 13–8. Instruction Set Summary (Continued)Mnemonic OperationDescriptionLDIcondLoad inte

Seite 415

Instruction Set Summary 13-14Table 13–8. Instruction Set Summary (Continued)Mnemonic OperationDescriptionNOP No operation Modify ARn if specifiedNORM

Seite 416

Instruction Set Summary13-15Assembly Language InstructionsTable 13–8. Instruction Set Summary (Continued)Mnemonic OperationDescriptionRPTB Repeat bloc

Seite 417

Instruction Set Summary 13-16Table 13–8. Instruction Set Summary (Continued)Mnemonic OperationDescriptionSUBI Subtract integers Dreg – src → DregSUBI3

Seite 418

Parallel Instruction Set Summary13-17Assembly Language Instructions13.3 Parallel Instruction Set SummaryTable 13–9 lists the ’C3x instruction set in a

Seite 419

Parallel Instruction Set Summary 13-18Table 13–9. Parallel Instruction Set Summary (Continued)(a) Parallel arithmetic with store instructions (Continu

Seite 420

Parallel Instruction Set Summary13-19Assembly Language InstructionsTable 13–9. Parallel Instruction Set Summary (Continued)(a) Parallel arithmetic wit

Seite 421

Group Addressing Mode Instruction Encoding 13-2013.4 Group Addressing Mode Instruction EncodingThe six addressing types (covered in Section 6.1, Addre

Seite 422

Group Addressing Mode Instruction Encoding13-21Assembly Language InstructionsFigure 13–1 shows the encoding for the general addressing modes. The nota

Seite 423

Other Registers 2-122.4 Other RegistersThe program-counter (PC) is a 32-bit register containing the address of thenext instruction to fetch. Although

Seite 424

Group Addressing Mode Instruction Encoding 13-22Table 13–10. Indirect Addressing(a) Indirect addressing with displacementMod Field Syntax Operation De

Seite 425

Group Addressing Mode Instruction Encoding13-23Assembly Language InstructionsTable 13–10. Indirect Addressing (Continued)(c) Indirect addressing with

Seite 426

Group Addressing Mode Instruction Encoding 13-2413.4.2 3-Operand Addressing ModesInstructions that use the 3-operand addressing modes, such as ADDI3,

Seite 427 - 12.3 DMA Controller

Group Addressing Mode Instruction Encoding13-25Assembly Language InstructionsThe following values of ARn and ARm are valid:ARn,0 ≤ n ≤ 7ARm,0 ≤ m ≤ 7T

Seite 428 - DMA Controller

Group Addressing Mode Instruction Encoding 13-26address, bits 15–8 the src3 address, and bits 7–0 the src 4 address. Thenotations modn and modm indica

Seite 429 - 12.3.2 DMA Basic Operation

Group Addressing Mode Instruction Encoding13-27Assembly Language Instructions13.4.4 Conditional-Branch Addressing ModesInstructions using the conditio

Seite 430 - 12.3.3 DMA Registers

Condition Codes and Flags 13-2813.5 Condition Codes and FlagsThe ’C3x provides 20 condition codes (00000–10100, excluding 01011) thatyou can place in

Seite 431

Condition Codes and Flags13-29Assembly Language InstructionsFigure 13–6. Status RegisterPRGWstatus(’C32 only)INTconfig(’C32 only)Note: xx = reserved b

Seite 432

Condition Codes and Flags 13-30Table 13–12 lists the condition mnemonic, code, description, and flag for eachof the 20 condition codes.Table 13–12. Co

Seite 433

Condition Codes and Flags13-31Assembly Language InstructionsTable 13–12. Condition Codes and Flags (Continued)(d) Compare to zeroCondition Code Descri

Seite 434

Memory Organization2-13Architectural Overview2.5 Memory OrganizationThe total memory space of the ’C3x is 16M (million) 32-bit words. Program,data, an

Seite 435

Individual Instructions 13-3213.6 Individual InstructionsThis section contains the individual assembly language instructions for the ’C3x.The instruct

Seite 436

Individual Instructions13-33Assembly Language InstructionsTable 13–13. Instruction SymbolsSymbol Meaningsrcsrc1src2src3src4Source operandSource operan

Seite 437

Individual Instructions 13-3413.6.2 Optional Assembler SyntaxThe assembler allows a relaxed syntax form for some instructions. Theseoptional forms sim

Seite 438

Individual Instructions13-35Assembly Language InstructionsEmpty expressions are not allowed for the displacement in indirect mode:LDI *+AR0(),R0is not

Seite 439 - Interrupt-Enable Register

Individual Instructions 13-36Use the syntax in Table 13–14 to designate CPU registers in operands.Note the alternate notation Rn, 0 n 27, which is

Seite 440

Individual Instructions13-37Assembly Language Instructions13.6.3 Individual Instruction DescriptionsEach assembly language instruction for the ’C3x is

Seite 441

EXAMPLEExample Instruction13-38 Syntax INST src, dstorINST1 src2, dst1|| INST2 src3, dst2Each instruction begins with an assembler syntax expression.

Seite 442 - Clocking Memory Access

Example InstructionEXAMPLE13-39 Assembly Language InstructionsOpcodeINST1INST231 24 23 16 8 7 015000srcdstG31 24 23 16 8 7 01511dst1src2dst2src300

Seite 443 - 12.3.7 DMA and Interrupts

EXAMPLEExample Instruction13-40 Example INST @98AEh,R5Before Instruction After InstructionR5 07 6690 0000 R5 00 6690 1000R5 decimal 2.30562500e+02 R5

Seite 444

Absolute Value of Floating PointABSF13-41 Assembly Language InstructionsSyntax ABSF src, dstOperation |src| → dstOperandssrc general addressing mod

Seite 445

Information About Cautions / Related Documentation from Texas Instrumentsv Read This FirstInformation About CautionsThis book contains cautions.This

Seite 446

Memory Organization 2-14Figure 2–5. Memory Organization of the TMS320C30RDYHOLDHOLDASTRBR/WD31–D0A23–A0XRDYMSTRBIOSTRBXR/WXD31–XD0XA12–XA0DMAADDR busD

Seite 447

ABSF||STFParallel ABSF and STF13-42 Syntax ABSFsrc2, dst1|| STFsrc3, dst2Operation |src2| → dst1||src3 → dst2Operandssrc2indirect (disp = 0, 1, IR0, I

Seite 448

Parallel ABSF and STFABSF||STF13-43 Assembly Language InstructionsMode Bit OVM Operation is not affected by OVM bit value.Example ABSF *++AR3(IR1) ,

Seite 449

ABSIAbsolute Value of Integer13-44 Syntax ABSI src, dstOperation |src| → dstOperandssrc general addressing modes (G):0 0 any CPU register0 1 direct1

Seite 450

Absolute Value of IntegerABSI13-45 Assembly Language InstructionsExample 1 ABSI R0,R0orABSI R0Before Instruction After InstructionR0 00 FFFF FFCB R0

Seite 451

ABSI||STIParallel ABSI and STI13-46 Syntax ABSIsrc2, dst1|| STI src3, dst2Operation |src2| → dst1||src3 → dst2Operandssrc2indirect (disp = 0, 1, IR0,

Seite 452

Parallel ABSI and STIABSI||STI13-47 Assembly Language InstructionsStatus Bits These condition flags are modified only if the destination register is

Seite 453

ADDCAdd Integer With Carry13-48 Syntax ADDCsrc, dstOperationdst + src + C → dstOperandssrc general addressing modes (G):0 0 any CPU register0 1 direct

Seite 454

Add Integer With Carry, 3-OperandADDC313-49 Assembly Language InstructionsSyntax ADDC3src2, src1, dstOperationsrc1 + src2 + C → dstOperandssrc1 3-op

Seite 455

ADDC3Add Integer With Carry, 3-Operand13-50 Example 1 ADDC3 *AR5++(IR0),R5,R2 orADDC3 R5,*AR5++(IR0),R2Before Instruction After InstructionR2 00 0000

Seite 456

Add Floating-Point ValuesADDF13-51 Assembly Language InstructionsSyntax ADDFsrc, dstOperationdst + src →dstOperandssrc general addressing modes (G):

Seite 457

Memory Organization2-15Architectural OverviewFigure 2–6. Memory Organization of the TMS320C31RDYHOLDHOLDASTRBR/WD31–D0A23–A0DMAADDR busDMADATA busDADD

Seite 458

ADDFAdd Floating-Point Values13-52 Example ADDF *AR4++(IR1),R5Before Instruction After InstructionR5 05 7980 0000 R5 09 052C 0000AR 4809800 AR4 80992B

Seite 459 - Chapter 13

Add Floating Point, 3-OperandADDF313-53 Assembly Language InstructionsSyntax ADDF3src2, src1, dstOperationsrc1 + src2 → dstOperandssrc1 3-operand ad

Seite 460 - 13.1 Instruction Set

ADDF3Add Floating Point, 3-Operand13-54 Example 1 ADDF3 R6,R5,R1orADDF3 R5,R6,R1Before Instruction After InstructionR1 00 0000 0000 R1 09 052C 0000R5

Seite 461 - 13.1.2 2-Operand Instructions

Parallel ADDF3 and STFADDF3||STF13-55 Assembly Language InstructionsSyntax ADDF3src2, src1, dst1|| STF src3, dst2Operationsrc1 + src2 → dst1||src3 →

Seite 462 - 13.1.3 3-Operand Instructions

ADDF3||STFParallel ADDF3 and STF13-56 OVM Operation is not affected by OVM bit value.Example ADDF3 *+AR3(IR1),R2,R5|| STF R4,*AR2Before Instruction Af

Seite 463

Add IntegerADDI13-57 Assembly Language InstructionsSyntax ADDI src, dstOperationdst + src → dstOperandssrc general addressing modes (G):0 0 any CPU

Seite 464 - Instruction Set

ADDI3Add Integer, 3-Operand13-58 Syntax ADDI3<src2 >,<src1 >,<dst >Operationsrc1 + src2 → dstOperandssrc1 3-operand addressing modes

Seite 465

Add Integer, 3-OperandADDl313-59 Assembly Language InstructionsExample 1 ADDI3 R4,R7,R5Before Instruction After InstructionR4 00 0000 00DC R4 00 000

Seite 466

ADDI3||STIParallel ADDI3 and STI13-60 Syntax ADDI3 src2, src1, dst1|| STI src3, dst2Operationsrc1 + src2 → dst1||src3 → dst2Operandssrc1register (Rn1,

Seite 467 - 13.1.8 Illegal Instructions

Parallel ADDl3 and STIADDl3||STI13-61 Assembly Language InstructionsOVM Operation is affected by OVM bit value.Example ADDI3 *AR0––(IR0),R5,R0 STI

Seite 468 - 13.2 Instruction Set Summary

STRB0_B3/A-1HOLDHOLDAPRGWR/WD31–D0A23–A0DMAADDR busDMADATA busDADDR2 busDADDR1 busDDATA busPADDR busPDATA busProgram counter/instruction registerCPUDM

Seite 469

ANDBitwise-Logical AND13-62 Syntax AND src, dstOperandsdst AND src → dstOperandssrc general addressing modes (G):0 0 any CPU register0 1 direct1 0 in

Seite 470

Bitwise-Logical AND, 3-OperandAND313-63 Assembly Language InstructionsSyntax AND3 src2, src1, dstOperationsrc1 AND src2 → dstOperandssrc1 3-operand

Seite 471

AND3Bitwise-Logical AND, 3-Operand13-64 Example 1 AND3 *AR0––(IR0),*+AR1,R4Before Instruction After InstructionR4 00 0000 0000 R4 00 0000 0020AR0 80 9

Seite 472

Parallel AND3 and STIAND3||STI13-65 Assembly Language InstructionsSyntax AND3 src2, src1, dst1 STI src3, dst2Operationsrc1 AND src2 → dst1||src3

Seite 473

AND3||STIParallel AND3 and STI13-66 OVM Operation is not affected by OVM bit value.Example AND3 *+AR1(IR0),R4,R7|| STI R3,*AR2Before Instruction Af

Seite 474

Bitwise-Logical AND With ComplementANDN13-67 Assembly Language InstructionsSyntax ANDN src, dstOperationdst AND ∼src → dstOperandssrc general addre

Seite 475

ANDNBitwise-Logical AND With Complement13-68 Example ANDN @980Ch,R2Before Instruction After InstructionR2 00 0000 0C2F R2 00 0000 042DDP 080 DP 080LUF

Seite 476

Bitwise-Logical ANDN, 3-OperandANDN313-69 Assembly Language InstructionsSyntax ANDN3 src2, src1, dstOperationsrc1 AND ∼src2 → dstOperandssrc1 3-ope

Seite 477

ANDN3Bitwise-Logical ANDN, 3-Operand13-70 Example 1 ANDN3 R5,R3,R7Before Instruction After InstructionR3 00 0000 0C2F R3 00 0000 0C2FR5 00 0000 0A02 R

Seite 478 - General Addressing Modes

Arithmetic ShiftASH13-71 Assembly Language InstructionsSyntax ASH count, dstOperation If (count ≥ 0):dst << count →dstElse:dst >> |coun

Seite 479 - field. Refer to

Memory Organization2-17Architectural Overview2.5.2 Memory Addressing ModesThe ’C3x supports a base set of general-purpose instructions as well as arit

Seite 480

ASHArithmetic Shift13-72 Status Bits These condition flags are modified only if the destination register is R7–R0.LUF UnaffectedLV 1 if an integer ove

Seite 481

Arithmetic Shift, 3-OperandASH313-73 Assembly Language InstructionsSyntax ASH3 count, src, dstOperation If (count ≥ 0):src << count → dstElse

Seite 482

ASH3Arithmetic Shift, 3-Operand13-74 Status Bits These condition flags are modified only if the destination register is R7–R0.LUF UnaffectedLV 1 if an

Seite 483

Arithmetic Shift, 3-OperandASH313-75 Assembly Language InstructionsExample 2 ASH3 R1,R3,R5Before Instruction After InstructionR1 00 FFFF FFF8 R1 00

Seite 484

ASH3||STIParallel ASH3 and STI13-76 Syntax ASH3count, src2, dst1|| STI src3, dst2Operation If (count ≥ 0):src2 << count → dst1Else:src2 >>

Seite 485 - B 0 0 0

Parallel ASH3 and STIASH3||STI13-77 Assembly Language InstructionsArithmetic right shift:sign of src2 → src2 → CIf the count operand is 0, no shift

Seite 486 - Condition Codes and Flags

ASH3||STIParallel ASH3 and STI13-78 Example ASH3 R1,*AR6++(IR1),R0|| STI R5,*AR2Before Instruction After InstructionR0 00 0000 0000 R0 00 FFFF FFAER1

Seite 487 - Figure 13–6. Status Register

Branch Conditionally (Standard)Bcond13-79 Assembly Language InstructionsSyntax Bcond srcOperation If cond is true:If src is in register-addressing

Seite 488 - (c) Signed compares

BcondBranch Conditionally (Standard)13-80 Example BZ R0Before Instruction After InstructionR0 00 0003 FF00 R0 00 0003 FF00PC 2B00 PC 3 FF00LUF 0 LUF

Seite 489 - (d) Compare to zero

Branch Conditionally (Delayed)BcondD13-81 Assembly Language InstructionsSyntax BcondD srcOperation If cond is true:If src is in register-addressing

Seite 490 - 13.6 Individual Instructions

Internal Bus Operation 2-182.6 Internal Bus OperationMuch of the ’C3x’s high performance is due to internal busing and parallelism.Separate buses allo

Seite 491

BcondDBranch Conditionally (Delayed)13-82 Example BNZD 36 (36 = 24h)Before Instruction After InstructionPC 0050 PC 0077LUF 0 LUF 0LV 0 LV 0UF 0 UF 0N

Seite 492 - Individual Instructions

Branch Unconditionally (Standard)BR13-83 Assembly Language InstructionsSyntax BR srcOperationsrc → PCOperandssrc long-immediate addressing modeOpco

Seite 493

BRDBranch Unconditionally (Delayed)13-84 Syntax BRD srcOperationsrc → PCOperandssrc long-immediate addressing modeOpcode31 24 23 16 8 7 01501100 100s

Seite 494 - Note the alternate notation R

Call SubroutineCALL13-85 Assembly Language InstructionsSyntax CALL srcOperation Next PC → *++SPsrc → PCOperandssrc long-immediate addressing modeOp

Seite 495

CALLcondCall Subroutine Conditionally13-86 Syntax CALLcond srcOperation If cond is true:Next PC → *++SPIf src is in register addressing mode (Rn, 0 ≤

Seite 496 - Example Instruction

Call Subroutine ConditionallyCALLcond13-87 Assembly Language InstructionsExample CALLNZ R5Before Instruction After InstructionR5 00 0000 0789 R5 00

Seite 497 - Example Instruction

CMPFCompare Floating-Point Value13-88 Syntax CMPF src, dstOperationdst – srcOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n ≤ 7)0 1

Seite 498

Compare Floating-Point ValueCMPF13-89 Assembly Language InstructionsExample CMPF *+AR4,R6Before Instruction After InstructionR6 07 0C80 0000 R6 07 0

Seite 499

CMPF3Compare Floating-Point Value, 3-Operand13-90 Syntax CMPF3 src2, src1Operationsrc1 – src2Operandssrc1 3-operand addressing modes (T):0 0 register

Seite 500 - ABSF

Compare Floating-Point Value, 3-OperandCMPF313-91 Assembly Language InstructionsExample CMPF3 *AR2,*AR3––(1)Before Instruction After InstructionAR2

Seite 501

External Memory Interface2-19Architectural Overview2.7 External Memory InterfaceThe ’C30 provides two external interfaces: the primary bus and the exp

Seite 502 - Absolute Value of Integer

CMPICompare Integer13-92 Syntax CMPI src, dstOperationdst – srcOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n ≤ 27)0 1 direct1 0 in

Seite 503 - Example 2 ABSI *AR1,R3

Compare Integer, 3-OperandCMPI313-93 Assembly Language InstructionsSyntax CMPI3 src2, src1Operationsrc1 – src2Operandssrc1 3-operand addressing mod

Seite 504 - ABSI

CMPI3Compare Integer, 3-Operand13-94 Example CMPI3 R7,R4Before Instruction After InstructionR4 00 0000 0898 R4 00 0000 0898R7 00 0000 03E8 R7 00 0000

Seite 505

Decrement and Branch Conditionally (Standard)DBcond13-95 Assembly Language InstructionsSyntax DBcond ARn, srcOperation ARn – 1 → ARnIf cond is true

Seite 506 - Add Integer With Carry

DBcondDecrement and Branch Conditionally (Standard)13-96 Cycles 4Status Bits LUF UnaffectedLV UnaffectedUF UnaffectedN UnaffectedZ UnaffectedV Unaffec

Seite 507 - 00100 0 T

Decrement and Branch Conditionally (Delayed)DBcondD13-97 Assembly Language InstructionsSyntax DBcondD ARn, srcOperation ARn – 1 → ARnIf cond is tru

Seite 508 - Data Loads and Stores

DBcondDDecrement and Branch Conditionally (Delayed)13-98 Cycles 1Status Bits LUF UnaffectedLV UnaffectedUF UnaffectedN UnaffectedZ UnaffectedV Unaffec

Seite 509 - Add Floating-Point Values

Floating-Point-to-Integer ConversionFIX13-99 Assembly Language InstructionsSyntax FIX src, dstOperation fix(src) → dstOperandssrc general addressin

Seite 510 - Example ADDF *AR4++(IR1),R5

FIXFloating-Point-to-Integer Conversion13-100 Example FIX R1,R2Before Instruction After InstructionR1 0A 2820 0000 R1 0A 2820 0000R2 00 0000 0000 R2

Seite 511

Parallel FIX and STIFIX||STI13-101 Assembly Language InstructionsSyntax FIX src2, dst1|| STI src3, dst2Operation fix(src2) → dst1||src3 → dst2Ope

Seite 512

External Memory Interface 2-202.7.2 TMS320C32 8-, 16-, and 32-Bit Data MemoryThe ’C32 external memory interface can load and store 8-, 16-, or 32-bit

Seite 513 - ADDF3

FIX||STIParallell FIX and STI13-102 Status Bits These condition flags are modified only if the destination register is R7–R0.LUF UnaffectedLV 1 if an

Seite 514

Integer-to-Floating-Point ConversionFLOAT13-103 Assembly Language InstructionsSyntax FLOAT src, dstOperation float (src) → dstOperandssrc general a

Seite 515 - Add Integer

FLOATInteger-to-Floating-Point Conversion13-104 Example FLOAT *++AR2(2),R5Before Instruction After InstructionR5 00 034C 2000 R5 00 72E0 0000AR2 80 98

Seite 516 - Add Integer, 3-Operand

Parallel FLOAT and STFFLOAT||STF13-105 Assembly Language InstructionsSyntax FLOATsrc2, dst1|| STF src3, dst2Operation float(src2 ) → dst1||src3 → ds

Seite 517

FLOAT||STFParallel FLOAT and STF13-106 Example FLOAT *+AR2(IR0),R6|| STF R7,*AR1Before Instruction After InstructionR6 00 0000 0000 R6 07 2E00 0000R7

Seite 518 - ADDI3

Interrupt AcknowledgeIACK13-107 Assembly Language InstructionsSyntax IACK srcOperation Perform a dummy read operation with IACK = 0.At end of dummy

Seite 519 - ADDl3

IACKInterrupt Acknowledge13-108 Example IACK *AR5Before Instruction After InstructionIACK1 IACK 1PC 300 PC 301LUF 0 LUF 0LV 0 LV 0UF 0 UF 0N 0 N 0Z 0

Seite 520 - Bitwise-Logical AND

Idle Until InterruptIDLE13-109 Assembly Language InstructionsSyntax IDLEOperation 1 → ST(GIE)Next PC → PCIdle until interrupt.Operands NoneOpcode31

Seite 521 - 31 24 23 16 8 7 015

IDLE2Low-Power Idle13-110 Syntax IDLE2 (supported by: ’LC31, ’C32, ’C30 silicon revision 7.x orgreater, ’C31 silicon revision 5.x or greater)Operatio

Seite 522

Low-Power IdleIDLE213-111 Assembly Language InstructionsFor correct device operation, the three instructions after a delayedbranch should not be IDL

Seite 523 - AND3

Interrupts2-21Architectural Overview2.8 InterruptsThe ’C3x supports four external interrupts (INT3–INT0), a number of internalinterrupts, and a nonmas

Seite 524

LDELoad Floating-Point Exponent13-112 Syntax LDE src, dstOperationsrc(exp) → dst(exp)Operandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n

Seite 525

Load Floating-Point ExponentLDE13-113 Assembly Language InstructionsExample LDE R0,R5Before Instruction After InstructionR0 02 0005 6F30 R0 02 0005

Seite 526 - Example ANDN @980Ch,R2

LDFLoad Floating-Point Value13-114 Syntax LDF src, dstOperationsrc → dstOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n ≤ 7)0 1 dire

Seite 527

Load Floating-Point Value ConditionallyLDFcond13-115 Assembly Language InstructionsSyntax LDFcond src, dstOperation If cond is true:src → dst.Else:

Seite 528

LDFcondLoad Floating-Point Value Conditionally13-116 Example LDFZ R3,R5Before Instruction After InstructionR3 2C FF2C D500 R3 2C FF2C D500 R5 5F 0000

Seite 529 - Arithmetic Shift

Load Floating-Point Value, InterlockedLDFI13-117 Assembly Language InstructionsSyntax LDFI src, dstOperation Signal interlocked operationsrc → dstO

Seite 530 - Arithmetic Shift

LDFILoad Floating-Point Value, Interlocked13-118 Example LDFI *+AR2,R7Before Instruction After InstructionR7 00 0000 0000 R7 05 84C0 0000AR2 80 98F1 A

Seite 531 - Arithmetic Shift, 3-Operand

Parallel LDF and LDFLDF||LDF13-119 Assembly Language InstructionsSyntax LDF src2, dst2|| LDF src1, dst1Operationsrc2 → dst2||src1 → dst1Operandssr

Seite 532 - Arithmetic Shift, 3-Operand

LDF||LDFParallel LDF and LDF13-120 Example LDF *––AR1(IR0),R7|| LDF *AR7++(1),R3Before Instruction After InstructionR3 00 0000 0000 R0 00 0000 0008R7

Seite 533

Parallel LDF and STFLDF||STF13-121 Assembly Language InstructionsSyntax LDF src2, dst1|| STF src3, dst2Operationsrc2 → dst1||src3 → dst2Operandssrc2

Seite 534 - ASH3

Peripherals 2-222.9 PeripheralsAll ’C3x peripherals are controlled through memory-mapped registers on a dedi-cated peripheral bus. This peripheral bus

Seite 535

LDF||STFParallel LDF and STF13-122 Example LDF *AR2––(1),R1|| STF R3,*AR4++(IR1)Before Instruction After InstructionR1 00 0000 0000 R1 07 0C80 0000R3

Seite 536

Load IntegerLDI13-123 Assembly Language InstructionsSyntax LDI src, dstOperationsrc → dstOperandssrc general addressing modes (G):0 0 any CPU regis

Seite 537 - B0 Register or displacement00

LDILoad Integer13-124 Example LDI *–AR1(IR0),R5Before Instruction After InstructionR5 00 0000 03C5 R5 00 0000 0026AR1 2C AR1 2CIR0 5 IR0 5LUF 0 LUF 0L

Seite 538 - Example BZ R0

Load Integer ConditionallyLDIcond13-125 Assembly Language InstructionsSyntax LDIcond src, dstOperation If cond is true:src → dst,Else:dst is unchan

Seite 539 - B0 Register or displacement01

LDIcondLoad Integer Conditionally13-126 Example LDIZ *ARO++,R6Before Instruction After InstructionR6 00 0000 0FE2 R6 00 0000 0FE2AR0 80 98F0 AR0 80 98

Seite 540

Load Integer, InterlockedLDII13-127 Assembly Language InstructionsSyntax LDII src, dstOperation Signal interlocked operationsrc → dstOperandssrc ge

Seite 541

LDIILoad Integer, Interlocked13-128 Example LDII @985Fh,R3Before Instruction After InstructionR3 00 0000 0000 R3 00 0000 00DCDP 80 DP 80LUF 0 LUF 0LV

Seite 542

Parallel LDI and LDILDI||LDI13-129 Assembly Language InstructionsSyntax LDI src2, dst2|| LDI src1, dst1Operationsrc2 → dst2||src1 → dst1Operandssr

Seite 543 - Call Subroutine

LDI||LDIParallel LDI and LDI13-130 Example LDI *–AR1(1),R7|| LDI *AR7++(IR0),R1Before Instruction After InstructionR1 00 0000 0000 R1 00 0000 02EER7 0

Seite 544 - CALLcond

Parallel LDI and STILDI||STI13-131 Assembly Language InstructionsSyntax LDI src2, dst1|| STI src3, dst2Operationsrc2 → dst1||src3 → dst2Operandssr

Seite 545

Peripherals2-23Architectural Overview2.9.1 TimersThe two timer modules are general-purpose 32-bit timer/event counters withtwo signaling modes and int

Seite 546 - Compare Floating-Point Value

LDI||STIParallel LDI and STI13-132 Example LDI *–AR1(1),R2|| STI R7,*AR5++(IR0)Before Instruction After InstructionR2 00 0000 0000 R2 00 0000 00DCR7 0

Seite 547 - Example CMPF *+AR4,R6

Load Floating-Point MantissaLDM13-133 Assembly Language InstructionsSyntax LDM src, dstOperationsrc(man) →dst(man)Operandssrc general addressing mo

Seite 548 - 0010 0110

LDPLoad Data-Page Pointer13-134 Syntax LDP src, DPOperationsrc→ data-page pointerOperandssrc is the 8 MSBs of the absolute 24-bit source address (src

Seite 549

Divide Clock by 16LOPOWER13-135 Assembly Language InstructionsSyntax LOPOWER (supported by: ’LC31 and ’C32, ’C31 silicon revision 5.0 or greater, ’C

Seite 550 - Compare Integer

LSHLogical Shift13-136 Syntax LSH count, dstOperation If count ≥ 0:dst << count → dstElse:dst >> |count| → dstOperandscount general addre

Seite 551 - Compare Integer, 3-Operand

Logical ShiftLSH13-137 Assembly Language InstructionsCycles 1Status Bits These condition flags are modified only if the destination register is R7–R

Seite 552

LSH3Logical Shift, 3-Operand13-138 Syntax LSH3 count, src, dstOperation If count ≥ 0:src << count → dstElse:src >> |count| → dstOperands

Seite 553 - Register or displacementAR

Logical Shift, 3-OperandLSH313-139 Assembly Language InstructionsCycles 1Status Bits These condition flags are modified only if the destination regi

Seite 554

LSH3Logical Shift, 3-Operand13-140 Example 2 LSH3 *–AR4(IR1),R5,R3Before Instruction After InstructionR3 00 0000 0000 R3 00 0001 2C00R5 00 12C0 0000 R

Seite 555

Parallel LSH3 and STILSH3||STI13-141 Assembly Language InstructionsSyntax LSH3 count, src2, dst1|| STI src3, dst2Operation If count ≥ 0:src2 <<

Seite 556

Related Documentation from Texas Instruments / Referencesvi TMS320C3x C Source Debugger User’s Guide (literature numberSPRU053) tells you how to invok

Seite 557

Direct Memory Access (DMA) 2-242.10 Direct Memory Access (DMA)The on-chip DMA controller can read from or write to any location in thememory map witho

Seite 558 - Example FIX R1,R2

LSH3||STIParallel LSH3 and STI13-142 Logical right shift:0 → src2 → CIf the count operand is 0, no shift is performed, and the carry bit is set to 0.T

Seite 559 - FIX

Parallel LSH3 and STILSH3||STI13-143 Assembly Language InstructionsExample 1 LSH3 R2,*++AR3(1),R0|| STI R4,*–AR5Before Instruction After Instruction

Seite 560

LSH3||STIParallel LSH3 and STI13-144 Example 2 LSH3 R7,*AR2––(1),R2|| STI R0,*+AR0(1)Before Instruction After InstructionR0 00 0000 012C R0 00 0000 01

Seite 561

Restore Clock to Regular SpeedMAXSPEED13-145 Assembly Language InstructionsSyntax MAXSPEED (supported by ’C31, ’C32, ’C31 silicon revision 5.0 or gr

Seite 562 - Example FLOAT *++AR2(2),R5

MPYFMultiply Floating-Point Value13-146 Syntax MPYF src, dstOperationdst × src → dstOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n

Seite 563 - FLOAT

Multiply Floating-Point Value, 3-OperandMPYF313-147 Assembly Language InstructionsSyntax MPYF3 src2, src1, dstOperationsrc1 × src2 → dstOperandssrc

Seite 564

MPYF3Multiply Floating-Point Value, 3-Operand13-148 Example 1 MPYF3 R0,R7,R1Before Instruction After InstructionR0 05 7B40 0000 R0 05 7B40 0000R1 00 0

Seite 565 - Interrupt Acknowledge

Parallel MPYF3 and ADDF3MPYF3||ADDF313-149 Assembly Language InstructionsSyntax MPYF3 srcA, srcB, dst1 || ADDF3 srcC, srcD, dst2OperationsrcA × sr

Seite 566 - Example IACK *AR5

MPYF3||ADDF3Parallel MPYF3 and ADDF313-150 This instruction’s operands have been augmented in the following devices:’C31 silicon version 6.0 or greate

Seite 567 - Idle Until Interrupt

Parallel MPYF3 and ADDF3MPYF3||ADDF313-151 Assembly Language Instructions10src1×src2, src3 + src411src3×src1, src2 + src4Opcode31 24 23 16 8 7 01510

Seite 568 - Low-Power Idle

Direct Memory Access (DMA)2-25Architectural OverviewFigure 2–10. DMA ControllerDMAADDR busDMADATA busDMA controllerGlobal-control registerSource-addre

Seite 569 - Low-Power Idle

MPYF3||ADDF3Parallel MPYF3 and ADDF313-152 Example MPYF3 *AR5++(1),*––AR1(IR0),R0|| ADDF3 R5,R7,R3Note: Cycle CountOne cycle if:src3 and src4 are in i

Seite 570 - Load Floating-Point Exponent

Parallel MPYF3 and STFMPYF3||STF13-153 Assembly Language InstructionsSyntax MPYF3src2, src1, dst || STF src3, dst2Operationsrc1 × src2 → dst1||src3

Seite 571 - Example LDE R0,R5

MPYF3||STFParallel MPYF3 and STF13-154 Status Bits These condition flags are modified only if the destination register is R7–R0.LUF 1 if a floating-po

Seite 572 - Load Floating-Point Value

Parallel MPYF3 and SUBF3MPYF3||SUBF313-155 Assembly Language InstructionsSyntax MPYF3srcA, srcB, dst1 || SUBF3srcC, srcD, dst2OperationsrcA × srcB

Seite 573

MPYF3||ADDF3Parallel MPYF3 and ADDF313-156 This instruction’s operands have been augmented in the following devices:’C31 silicon version 6.0 or greate

Seite 574 - Example LDFZ R3,R5

Parallel MPYF3 and SUBF3MPYF3||SUBF313-157 Assembly Language InstructionsOpcode31 24 23 16 8 7 01510 0001src4src3Psrc1src2d1 d2Description A floatin

Seite 575 - 000 00 1

MPYF3||SUBF3Parallel MPYF3 and SUBF313-158 Status Bits These condition flags are modified only if the destination register is R7–R0.LUF 1 if a floatin

Seite 576 - Example LDFI *+AR2,R7

Multiply IntegerMPYI13-159 Assembly Language InstructionsSyntax MPYI src, dstOperationdst ×src →dstOperandssrc general addressing modes (G):0 0 any

Seite 577 - LDF

MPYIMultiply Integer13-160 Example MPYI R1,R5Before Instruction After InstructionR1 00 0033 C251 R1 00 0033 C251R5 00 0078 B600 R5 00 E21D 9600LUF 0 L

Seite 578

Multiply Integer, 3-OperandMPYI313-161 Assembly Language InstructionsSyntax MPYI3 src2, src1, dstOperationsrc1 × src2 → dstOperandssrc1 3-operand ad

Seite 579 - LDF

TMS320C30, TMS320C31, and TMS320C32 Differences 2-262.11 TMS320C30, TMS320C31, and TMS320C32 DifferencesTable 2–2 shows the major differences between

Seite 580

MPYI3Multiply Integer, 3-Operand13-162 Example 1 MPYI3 *AR4,*–AR1(1),R2Before Instruction After InstructionR2 00 0000 0000 R2 00 0000 94ACAR1 80 98F3

Seite 581 - Load Integer

Parallel MPYI3 and ADDI3MPYI3||ADDI313-163 Assembly Language InstructionsSyntax MPYI3 srcA, srcB, dst1 || ADDI3 srcC, srcD, dst2OperationsrcA × src

Seite 582 - Example LDI *–AR1(IR0),R5

MPYI3||ADDI3Parallel MPYI3 and ADDI313-164 This instruction’s operands have been augmented in the following devices:’C31 silicon version 6.0 or greate

Seite 583 - Load Integer Conditionally

Parallel MPYI3 and ADDI3MPYI3||ADDI313-165 Assembly Language InstructionsOpcode31 2423 16 8 7 01510 001 0 Psrc4src3src1src2d1 d2Description An integ

Seite 584 - Example LDIZ *ARO++,R6

MPYl3||ADDl3Parallel MPYl3 and ADD1313-166 Before Instruction After InstructionR0 00 0000 0000 R0 00 0000 07D0R3 00 0000 0000 R3 00 0000 0000R4 00 000

Seite 585 - Load Integer, Interlocked

Parallel MPYI3 and STIMPYI3||STI13-167 Assembly Language InstructionsSyntax MPYI3src2, src1, dst1|| STI src3, dst2Operationsrc1 × src2 → dst1||src3

Seite 586 - Example LDII @985Fh,R3

MPYI3||STIParallel MPYl3 and STI13-168 Status Bits These condition flags are modified only if the destination register is R7–R0.LUF UnaffectedLV 1 if

Seite 587 - LDI

Parallel MPYI3 and SUBI3MPYI3||SUBI313-169 Assembly Language InstructionsSyntax MPYI3 srcA, srcB, dst1|| SUBI3 srcC, srcD, dst2OperationsrcA × src

Seite 588

MPYI3||SUBI3Parallel MPYI3 and SUBI313-170 This instruction’s operands have been augmented in the following devices:’C31 silicon version 6.0 or greate

Seite 589 - LDI

Parallel MPYI3 and SUBI3MPYI3||SUBI313-171 Assembly Language InstructionsVersion 5.0 or laterPsrcA srcB srcD srcC00src3×src4, src1 + src201src3×src1

Seite 590

TMS320C30, TMS320C31, and TMS320C32 Differences2-27Architectural OverviewTable 2–2. Feature Set ComparisonFeature ’C30 ’C31 ’C32External bus Two buses

Seite 591 - Load Floating-Point Mantissa

MPYI3||SUBI3Parallel MPYI3 and SUBI313-172 orMPYI3 *++AR0(1),R2,R0|| SUBI3 *AR5––(IR1),R4,R2Before Instruction After InstructionR0 00 0000 0000 R0 00

Seite 592 - Load Data-Page Pointer

Negative Integer With BorrowNEGB13-173 Assembly Language InstructionsSyntax NEGB src, dstOperation 0 – src – C → dstOperandssrc general addressing m

Seite 593 - Divide Clock by 16

NEGFNegate Floating-Point Value13-174 Syntax NEGF src, dstOperation 0 – src → dstOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n ≤ 7

Seite 594 - Logical Shift

Negate Floating-Point ValueNEGF13-175 Assembly Language InstructionsExample NEGF *++AR3(2),R1Before Instruction After InstructionR1 05 7B40 0025 R1

Seite 595 - Logical Shift

NEGF||STFParallel NEGF and STF13-176 Syntax NEGFsrc2, dst1|| STF src3, dst2Operation 0 – src2 → dst1||src3 → dst2Operandssrc2indirect (disp = 0, 1, IR

Seite 596 - Logical Shift, 3-Operand

Parallel NEGF and STFNEGF||STF13-177 Assembly Language InstructionsExample NEGF *AR4––(1),R7|| STF R2,*++AR5(1)Before Instruction After InstructionR

Seite 597 - Logical Shift, 3-Operand

NEGINegate Integer13-178 Syntax NEGI src, dstOperation 0 – src → dstOperandssrc general addressing modes (G):0 0 any CPU register0 1 direct1 0 indirec

Seite 598

Parallel NEGI and STINEGI||STI13-179 Assembly Language InstructionsSyntax NEGI src2, dst1|| STI src3, dst2Operation 0 – src2 → dst1|| src3 → dst2Ope

Seite 599 - LSH3

NEGI||STIParallel NEGI and STI13-180 Example NEGI *–AR3,R2|| STI R2,*AR1++Before Instruction After InstructionR2 00 0000 0019 R2 00 FFFF FF24AR1 80 98

Seite 600

No OperationNOP13-181 Assembly Language InstructionsSyntax NOP srcOperation No ALU or multiplier operations.ARn is modified if src is specified in

Seite 601

3-1CPU RegistersThe central processing unit (CPU) register file contains 28 registers that canbe operated on by the multiplier and arithmetic logic un

Seite 602

NORMNormalize13-182 Syntax NORM src, dstOperation norm (src) → dstOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n ≤ 7)0 1 direct1 0

Seite 603 - MAXSPEED

NormalizeNORM13-183 Assembly Language InstructionsExample NORM R1,R2Before Instruction After InstructionR1 04 0000 3AF5 R1 04 0000 3AF5R2 07 0C80 00

Seite 604 - Multiply Floating-Point Value

NOTBitwise-Logical Complement13-184 Syntax NOT src, dstOperation ∼src → dstOperandssrc general addressing modes (G):0 0 any CPU register0 1 direct1 0

Seite 605

Bitwise-Logical ComplementNOT13-185 Assembly Language InstructionsExample NOT @982Ch,R4Before Instruction After InstructionR4 00 0000 0000 R4 00 FFF

Seite 606

NOT||STIParallel NOT and STI13-186 Syntax NOT src2, dst1 || STI src3, dst2Operation ∼src2 → dst1||src3 → dst2Operandssrc2indirect (disp = 0, 1, IR0, I

Seite 607 - MPYF3

Parallel NOT and STINOT||STI13-187 Assembly Language InstructionsExample NOT *+AR2,R3|| STI R7,*––AR4 (IR1)Before Instruction After InstructionR3 00

Seite 608

ORBitwise-Logical OR13-188 Syntax OR src, dstOperationdst OR src → dstOperandssrc general addressing modes (G):0 0 any CPU register0 1 direct1 0 indi

Seite 609

Bitwise-Logical OROR13-189 Assembly Language InstructionsExample OR *++AR1(IR1),R2Before Instruction After InstructionR2 00 1256 0000 R2 00 1256 2BC

Seite 610

OR3Bitwise-Logical OR, 3-Operand13-190 Syntax OR3 src2, src1, dstOperationsrc1 OR src2 → dstOperandssrc1 3-operand addressing modes (T):0 0 register

Seite 611 - MPYF3

Bitwise-Logical OR, 3-OperandOR313-191 Assembly Language InstructionsExample OR3 *++AR1(IR1),R2,R7Before Instruction After InstructionR2 00 1256 000

Seite 612

CPU Multiport Register File 3-23.1 CPU Multiport Register FileThe ’C3x provides 28 registers in a multiport register file that is tightly coupled toth

Seite 613 - MPYF3

OR3||STIParallel OR3 and STI13-192 Syntax OR3 src2, src1, dst1 || STI src3, dst2Operationsrc1 OR src2 → dst1|src3 → dst2Operandssrc1 register (Rn1, 0

Seite 614

Parallel OR3 and STIOR3||STI13-193 Assembly Language InstructionsStatus Bits These condition flags are modified only if the destination register is

Seite 615

POPPop Integer13-194 Syntax POP dstOperation *SP–– → dstOperandsdst register (Rn, 0 ≤ n ≤ 27)Opcode31 24 23 16 8 7 015000 01 01 01dst10 000 000 00 0

Seite 616

Pop Floating-Point ValuePOPF13-195 Assembly Language InstructionsSyntax POPF dstOperation *SP–– → dst1Operandsdst register (Rn, 0 ≤ n ≤ 7)Opcode31

Seite 617 - Multiply Integer

PUSHPUSH Integer13-196 Syntax PUSH srcOperationsrc → *++SPOperandssrc register (Rn, 0 ≤ n ≤ 27)Opcode31 24 23 16 8 7 015000 01 11 01src00100000000000

Seite 618 - Example MPYI R1,R5

PUSH Floating-Point ValuePUSHF13-197 Assembly Language InstructionsSyntax PUSHF srcOperationsrc → *++SPOperandssrc register (Rn, 0 ≤ n ≤ 7)Opcode31

Seite 619 - Multiply Integer, 3-Operand

RETIcondReturn From Interrupt Conditionally13-198 Syntax RETIcondOperation If cond is true:*SP – – → PC1 → ST (GIE).Else, continue.Operands NoneOpcode

Seite 620

Return From Interrupt ConditionallyRETIcond13-199 Assembly Language InstructionsExample RETINZBefore Instruction After InstructionPC 0456 PC 0123SP

Seite 621 - MPYI3

RETScondReturn From Subroutine Conditionally13-200 Syntax RETScondOperation If cond is true:*SP– – → PC.Else, continue.Operands NoneOpcode31 2423 16 8

Seite 622

Return From Subroutine ConditionallyRETScond13-201 Assembly Language InstructionsExample RETSGEBefore Instruction After InstructionPC 0123 PC 0456SP

Seite 623

CPU Multiport Register File3-3CPU RegistersThe registers also have some special functions for which they are particularlyappropriate. For example, the

Seite 624 - MPYl3

RNDRound Floating-Point Value13-202 Syntax RND src, dstOperation rnd(src) → dstOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n ≤ 7)0

Seite 625 - MPYI3

Round Floating-Point ValueRND13-203 Assembly Language InstructionsExample RND R5,R2Before Instruction After InstructionR2 00 0000 0000 R2 07 33C1 6F

Seite 626

ROLRotate Left13-204 Syntax ROL dstOperationdst left-rotated 1 bit → dstOperandsdst register (Rn, 0 ≤ n ≤ 27)Opcode31 24 23 16 8 7 015000 1 0 10 10ds

Seite 627 - MPYI3

Rotate Left Through CarryROLC13-205 Assembly Language InstructionsSyntax ROLC dstOperationdst left-rotated one bit through carry bit → dstOperandsd

Seite 628

ROLCRotate Left Through Carry13-206 Example 2 ROLC R3Before Instruction After InstructionR3 00 8000 4281 R3 00 0000 8502LUF 0 LUF 0LV 0 LV 0UF 0 UF 0N

Seite 629

Rotate RightROR13-207 Assembly Language InstructionsSyntax ROR dstOperationdst right-rotated one bit through carry bit → dstOperandsdst register (R

Seite 630

RORCRotate Right Through Carry13-208 Syntax RORC dstOperationdst right-rotated one bit through carry bit → dstOperandsdst register (Rn, 0 ≤ n ≤ 27)Op

Seite 631 - Negative Integer With Borrow

Repeat BlockRPTB13-209 Assembly Language InstructionsSyntax RPTB srcOperationsrc → RE1 → ST (RM)Next PC → RSOperandssrc long-immediate addressing m

Seite 632 - Negate Floating-Point Value

RPTBRepeat Block13-210 Example RPTB 127hBefore Instruction After InstructionPC 0123 PC 0124RE 0 RE 127RS 0 RS 124ST 0 ST 100LUF 0 LUF 0LV 0 LV 0UF 0

Seite 633 - Example NEGF *++AR3(2),R1

Repeat Single InstructionRPTS13-211 Assembly Language InstructionsSyntax RPTS srcOperationsrc → RC1 → ST (RM)1 → SNext PC → RSNext PC → REOperandss

Seite 634 - NEGF

CPU Multiport Register File 3-43.1.2 Auxiliary Registers (AR7–AR0)The CPU can access the eight 32-bit auxiliary registers (AR7–AR0), and thetwo auxili

Seite 635

RPTSRepeat Single Instruction13-212 Example RPTS AR5Before Instruction After InstructionAR5 00 00FF AR5 00 00FFPC 0123 PC 0124RC 0 RC 0FFRE 0 RE 124RS

Seite 636 - Negate Integer

Signal, InterlockedSIGI13-213 Assembly Language InstructionsSyntax SIGIOperation Signal interlocked operation.Wait for interlock acknowledge.Clear i

Seite 637 - NEGI

STFStore Floating-Point Value13-214 Syntax STF src, dstOperationsrc → dstOperandssrc register (Rn, 0 ≤ n ≤ 7)dst general addressing modes (G):0 1 dir

Seite 638

Store Floating-Point Value, InterlockedSTFI13-215 Assembly Language InstructionsSyntax STFI src, dstOperationsrc → dstSignal end of interlocked ope

Seite 639 - No Operation

STFIStore Floating-Point Value, Interlocked13-216 Note:The STFI instruction is not interruptible because it completes when ready issignaled. See Secti

Seite 640 - Normalize

Parallel Store Floating-Point ValueSTF||STF13-217 Assembly Language InstructionsSyntax STF src2, dst2|| STF src1, dst1Operationsrc2 → dst2||src1 → d

Seite 641 - Example NORM R1,R2

STF||STFParallel Store Floating-Point Value13-218 Example STF R4,*AR3––|| STF R3,*++AR5Before Instruction After InstructionR3 07 33C0 0000 R3 07 33C0

Seite 642 - Bitwise-Logical Complement

Store IntegerSTI13-219 Assembly Language InstructionsSyntax STI src, dstOperationsrc → dstOperandssrc register (Rn, 0 ≤ n ≤ 27)dst general addressi

Seite 643 - Example NOT @982Ch,R4

STIIStore Integer, Interlocked13-220 Syntax STII src, dstOperationsrc → dstSignal end of interlocked operationOperandssrc register (Rn, 0 ≤ n ≤ 27)ds

Seite 644 - NOT

Parallel STI and STISTI||STI13-221 Assembly Language InstructionsSyntax STIsrc2, dst2|| STIsrc1, dst1Operationsrc2 → dst2||src1 →dst1Operandssrc1reg

Seite 645

CPU Multiport Register File3-5CPU Registers3.1.7 Status (ST) Register The status (ST) register contains global information about the state of the CPU.

Seite 646 - Bitwise-Logical OR

STI||STIParallel STI and STI13-222 Example STI R0,*++AR2(IR0)|| STI R5,*AR0Before Instruction After InstructionR0 00 0000 00DC R0 00 0000 00DCR5 00 00

Seite 647 - Example OR *++AR1(IR1),R2

Subtract Integer With BorrowSUBB13-223 Assembly Language InstructionsSyntax SUBB src, dstOperationdst – src – C → dstOperandssrc general addressin

Seite 648 - Bitwise-Logical OR, 3-Operand

SUBB3Subtract Integer With Borrow, 3-Operand13-224 Syntax SUBB3 src2, src1, dstOperationsrc1 – src2 – C → dstOperandssrc1 3-operand addressing modes

Seite 649

Subtract Integer With Borrow, 3-OperandSUBB313-225 Assembly Language InstructionsExample SUBB3 R5,*AR5++(IR0),R0Before Instruction After Instruction

Seite 650 - OR3

SUBCSubtract Integer Conditionally13-226 Syntax SUBC src, dstOperation If (dst – src ≥ 0):(dst – src << 1) OR 1 → dstElse:dst << 1 → dstO

Seite 651

Subtract Integer ConditionallySUBC13-227 Assembly Language InstructionsExample 1 SUBC @98C5h,R1Before Instruction After InstructionR1 00 0000 04F6

Seite 652 - Pop Integer

SUBFSubtract Floating-Point Value13-228 Syntax SUBF src, dstOperationdst – src →dstOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n ≤

Seite 653 - Pop Floating-Point Value

Subtract Floating-Point ValueSUBF13-229 Assembly Language InstructionsExample SUBF *AR0––(IR0),R5Before Instruction After InstructionR5 07 33C0 0000

Seite 654 - PUSH Integer

SUBF3Subtract Floating-Point Value, 3-Operand13-230 Syntax SUBF3 src2, src1, dstOperationsrc1 – src2 → dstOperandssrc1 3-operand addressing modes (T)

Seite 655 - PUSH Floating-Point Value

Subtract Floating-Point Value, 3-OperandSUBF313-231 Assembly Language InstructionsExample 1 SUBF3 *AR0––(IR0),*AR1,R4Before Instruction After Instru

Seite 656 - RETIcond

CPU Multiport Register File 3-6Table 3–2. Status Register Bits Bit Name Reset Value Name DescriptionC 0 Carry flag Carry condition flagV 0 Overflow fl

Seite 657

SUBF3||STFParallel SUBF3 and STF13-232 Syntax SUBF3src1, src2, dst1|| STF src3, dst2Operationsrc2 – src1 → dst1||src3 → dst2Operandssrc1register (Rn1

Seite 658 - RETScond

Parallel SUBF3 and STFSUBF3||STF13-233 Assembly Language InstructionsExample SUBF3 R1,*–AR4(IR1),R0|| STF R7,*+AR5(IR0)Before Instruction After Inst

Seite 659

SUBISubtract Integer13-234 Syntax SUBI src, dstOperationdst – src → dstOperandssrc general addressing modes (G):0 0 register (Rn, 0 ≤ n ≤ 27)0 1 dire

Seite 660 - Round Floating-Point Value

Subtract Integer, 3-OperandSUBI313-235 Assembly Language InstructionsSyntax SUBI3 src2, src1, dst Operationsrc1 – src2 → dstOperandssrc1 3-operand

Seite 661 - Round Floating-Point Value

SUBI3Subtract Integer, 3-Operand13-236 Example 1 SUBI3 R7,R2,R0Before Instruction After InstructionR0 00 0000 0000 R0 00 0000 0032R2 00 0000 0866 R2

Seite 662 - Rotate Left

Parallel SUBI3 and STISUBI3||STI13-237 Assembly Language InstructionsSyntax SUBI3src1, src2, dst1|| STI src3, dst2Operationsrc2 – src1 → dst1||src3

Seite 663 - Rotate Left Through Carry

SUBI3||STIParallel SUBI3 and STI13-238 Example SUBI3 R7,*+AR2(IR0),R1|| STI R3,*++AR7Before Instruction After InstructionR1 00 0000 0000 R1 00 0000 00

Seite 664 - Example 2 ROLC R3

Subtract Reverse Integer With BorrowSUBRB13-239 Assembly Language InstructionsSyntax SUBRB src, dstOperationsrc – dst – C → dstOperandssrc general

Seite 665 - Rotate Right

SUBRFSubtract Reverse Floating-Point Value13-240 Syntax SUBRF src, dstOperationsrc – dst →dstOperandssrc general addressing modes (G):0 0 register (R

Seite 666 - Rotate Right Through Carry

Subtract Reverse IntegerSUBRI13-241 Assembly Language InstructionsSyntax SUBRI src, dstOperationsrc – dst → dstOperandssrc general addressing modes

Seite 667 - Repeat Block

Referencesvii Read This FirstDigital Signal Processing Applications with the TMS320 Family, Vol. III.Texas Instruments, 1990; Prentice-Hall, Inc., 1

Seite 668 - Repeat Block

CPU Multiport Register File3-7CPU RegistersTable 3–2. Status Register Bits (Continued)Bit Name DescriptionNameReset ValueCF 0 Cache freeze Enables or

Seite 669 - Repeat Single Instruction

SWISoftware Interrupt13-242 Syntax SWIOperation Performs an emulation interruptOperands NoneOpcode31 2423 16 8 7 01501100 01 01 0 0 000000000000000000

Seite 670 - Repeat Single Instruction

Trap ConditionallyTRAPcond13-243 Assembly Language InstructionsSyntax TRAPcond NOperation 0 → ST(GIE)If cond is true:Next PC → *++SP,Trap vector N →

Seite 671

TRAPcondTrap Conditionally13-244 Example TRAPZ 16Before Instruction After InstructionPC 0123 PC 0010SP 809870 SP 809871ST 0 ST 0LUF 0 LUF 0LV 0 LV 0U

Seite 672 - Store Floating-Point Value

Test Bit FieldsTSTB13-245 Assembly Language InstructionsSyntax TSTB src, dstOperationdst AND srcOperandssrc general addressing modes (G):0 0 regist

Seite 673

TSTBTest Bit Fields13-246 Example TSTB *–AR4(1),R5Before Instruction After InstructionR5 00 0000 0898 R5 00 0000 0898AR4 80 99C5 AR4 80 99C5LUF 0 LUF

Seite 674

Test Bit Fields, 3-OperandTSTB313-247 Assembly Language InstructionsSyntax TSTB3 src2, src1Operationsrc1 AND src2Operandssrc1 3-operand addressing

Seite 675 - STF

TSTB3Test Bit Fields, 3-Operand13-248 Example 1 TSTB3 *AR5––(IR0),*+AR0(1)Before Instruction After InstructionAR0 80 992C AR0 80 992CAR5 80 9885 AR5 8

Seite 676

Bitwise-Exclusive ORXOR13-249 Assembly Language InstructionsSyntax XOR src, dstOperationdst XOR src → dstOperandssrc general addressing modes (G):0

Seite 677 - Store Integer

XOR3Bitwise-Exclusive OR, 3-Operand13-250 Syntax XOR3 src2, src1, dstOperationsrc1 XOR src2 → dstOperandssrc1 3-operand addressing modes (T):0 0 regi

Seite 678 - Store Integer, Interlocked

Bitwise-Exclusive OR, 3-OperandXOR313-251 Assembly Language InstructionsExample 1 XOR3 *AR3++(IR0),R7,R4Before Instruction After InstructionR4 00 00

Seite 679 - STI

CPU Multiport Register File 3-8Table 3–2. Status Register Bits (Continued)Bit Name DescriptionNameReset ValuePRGW Dependenton PRGWpin levelProgram wid

Seite 680

XOR3||STIParallel XOR3 and STI13-252 Syntax XOR3 src2, src1, dst1|| STI src3, dst2Operationsrc1 XOR src2 → dst1||src3 → dst2Operandssrc1register (Rn1

Seite 681 - Subtract Integer With Borrow

Parallel XOR3 and STIXOR3||STI13-253 Assembly Language InstructionsStatus Bits These condition flags are modified only if the destination register i

Seite 682

A-1Appendix AInstruction OpcodesThe opcode fields for all TMS320C3x instructions are shown in Table A–1. Bitsin the table marked with a hyphen are def

Seite 683

Instruction OpcodesA-2 Table A–1. TMS320C3x Instruction Opcodes Instruction 31 30 29 28 27 26 25 24 23ABSF 0 0 0 0 0 0 0 0 0ABSI 0 0 0 0 00001ADDC 0

Seite 684 - 00 0 10 1

Instruction OpcodesA-3 Instruction OpcodesTable A–1. TMS320C3x Instruction Opcodes (Continued)Instruction 232425262728293031MPYI 0 0 0 0 1 0 1 0 1NE

Seite 685 - Example 1 SUBC @98C5h,R1

Instruction OpcodesA-4 Table A–1. TMS320C3x Instruction Opcodes (Continued)Instruction 232425262728293031SUBRB 0 0 0 1 1 0 0 0 1SUBRF 0 0 0 1 10010SUB

Seite 686 - Subtract Floating-Point Value

Instruction OpcodesA-5 Instruction OpcodesTable A–1. TMS320C3x Instruction Opcodes (Continued)Instruction 232425262728293031RPTB 0 1 1 0 0 1 0 – –SW

Seite 687 - Example SUBF *AR0––(IR0),R5

Instruction OpcodesA-6 Table A–1. TMS320C3x Instruction Opcodes (Continued)Instruction 232425262728293031ABSI||STI 1 1 0 0 1 0 1 – –ADDF3||STF 1 1 0 0

Seite 688

B-1Appendix ATMS320C31 Boot Loader Source CodeThis appendix contains the source code for the ’C31 boot loader.Appendix B

Seite 689

TMS320C31 Boot Loader Source CodeB-2 ************************************************************************* C31BOOT – TMS320C31 BOOT LOADER PROG

Seite 690 - SUBF3

CPU Multiport Register File3-9CPU Registers3.1.8 CPU/DMA Interrupt-Enable (IE) RegisterThe CPU/DMA interrupt-enable (IE) register of the ’C30, ’C31, a

Seite 691

TMS320C31 Boot Loader Source CodeB-3 TMS320C31 Boot Loader Source Code.global check.sect ”vectors”reset .word checkint0 .word 809FC1hint1 .word

Seite 692 - Subtract Integer

TMS320C31 Boot Loader Source CodeB-4 trap11 .word 809FEBhtrap12 .word 809FEChtrap13 .word 809FEDhtrap14 .word 809FEEhtrap15 .word 809FEFhtrap16 .

Seite 693 - Subtract Integer, 3-Operand

TMS320C31 Boot Loader Source CodeB-5 TMS320C31 Boot Loader Source CodeNOP *AR1++(1) ; jump last half word from mem. wordLDI sub_h,AR3 ; half word si

Seite 694

TMS320C31 Boot Loader Source CodeB-6 LDI *+AR0(4Ch),R1LDI R0,R0 ; test load address flagBNN end_sload_s STI R1,*AR4++(1) ; store new word to dest. add

Seite 695 - SUBI3

C-1Appendix ATMS320C32 Boot Loader Source CodeThis appendix includes a description of the ’C32 boot loader sequence ofevents and a listing of its sour

Seite 696

Boot-Loader Source Code DescriptionC-2 C.1 Boot-Loader Source Code DescriptionFigure C–1 shows the boot loader program flow chart. The boot loader pro

Seite 697

Boot-Loader Source Code DescriptionC-3 TMS320C32 Boot Loader Source CodeFigure C–1. Boot-Loader Flow ChartStartInitialize registers:AR7, SP, IR0Seri

Seite 698

Boot-Loader Source Code ListingC-4 C.2 Boot-Loader Source Code Listing********************************************************************************

Seite 699 - Subtract Reverse Integer

Boot-Loader Source Code ListingC-5 TMS320C32 Boot Loader Source Code* that to function properly, the boot loader program always expects 32-bit *

Seite 700 - Software Interrupt

Boot-Loader Source Code ListingC-6 * Test for INT3 and, if set exclusively, proceed with serial boot load. Else, * load AR3 with 1000h if INT0, 810000

Seite 701 - TRAPcond

CPU Multiport Register File 3-10Table 3–3. IE Bits and Functions AbbreviationResetValueDescriptionEINT0 (CPU) 0 CPU external interrupt 0 enableEINT1 (

Seite 702

Boot-Loader Source Code ListingC-7 TMS320C32 Boot Loader Source Codelabel4 SUBI 2,AR6 CMPI 0,AR6 ; set flags

Seite 703 - Test Bit Fields

Boot-Loader Source Code ListingC-8 CALLU AR0 ; 10 – STRB1 LDI R1,R4 AND 6Ch,R1

Seite 704 - Example TSTB *–AR4(1),R5

Boot-Loader Source Code ListingC-9 TMS320C32 Boot Loader Source Coderead_s0 TSTB 20h,IF ; look at RINT0 flag BZ read_

Seite 705 - Test Bit Fields, 3-Operand

Boot-Loader Source Code ListingC-10 LDI 2,IOF ;*; assert data acknowledge ;*; (XF0 low to

Seite 706

D-1Appendix AGlossaryAA0–A23: External address pins for data/program memory or I/O devices.These pins are on the primary bus. address: The location o

Seite 707 - Bitwise-Exclusive OR

GlossaryD-2 BK:Block-size register. A 32-bit register used by the ARAU in circular ad-dressing to specify the data block size.boot loader: An on-chip

Seite 708

GlossaryD-3 Glossarydata size: The number of bits (8, 16, or 32) used to represent a particularnumber.decode phase: The phase of the pipeline in whi

Seite 709

GlossaryD-4 IIACK:Interrupt acknowledge signal. An output signal indicating that an in-terrupt has been received and that the program counter is fetch

Seite 710 - XOR3

GlossaryD-5 GlossaryMmachine cycle: See CPU cycle.mantissa: A component of a floating-point number consisting of a fractionand a sign bit. The manti

Seite 711

GlossaryD-6 Ooverflow flag (OV) bit: A status bit that indicates whether or not an arithme-tic operation has exceeded the capacity of the correspondin

Seite 712 - Instruction Opcodes

CPU Multiport Register File3-11CPU RegistersTable 3–3. IE Bits and Functions(Continued)Abbreviation DescriptionResetValueETINT0 (DMA) 0 DMA timer0 int

Seite 713

GlossaryD-7 GlossarySshort floating-point format: A 16-bit representation of a floating point num-ber with a 12-bit mantissa and a 4-bit exponent.sh

Seite 714 - Instruction Opcodes

GlossaryD-8 Wwait state: A period of time that the CPU must wait for external program,data, or I/O memory to respond when it reads from or writes to t

Seite 715

IndexIndex-1Index16-bit-wide configured memory,TMS320C31 11-102-operand instruction 13-32-operand instruction word 8-253-operand addressing modes 2-17

Seite 716

IndexIndex-2 arithmetic logic unit (ALU), definition D-1assembler syntax expression, example 13-38assembly language, instruction set2-operand instruct

Seite 717

IndexIndex-3assembly language instructions (continued)normalize (NORM) 13-182–13-183parallel instructionsABSF and STF 13-42ABSI and STI 13-46ADDF3 and

Seite 718 - Appendix B

IndexIndex-4 bitwise-logicalAND 13-623-operand 13-63with complement (ANDN) 13-67complement instruction (NOT) 13-184OR instruction 13-188blockdiagram,

Seite 719

IndexIndex-5carry bit, definition D-2carry flag 13-29central processing unit. See CPUcircular addressing 6-21–6-25algorithm 6-23buffer 6-21–6-25defini

Seite 720

IndexIndex-6 data-rate timing operationfixed 12-36burst mode 12-36continuous mode 12-36variable 12-39burst mode 12-35continuous mode 12-40data-page po

Seite 721

IndexIndex-7extended-precision(R7–R0) registers 3-3definition D-3floating-point format, definition D-3externalbuses (expansion, primary) 2-19interface

Seite 722

IndexIndex-8 global-control registerDMA 12-53–12-59serial port 12-15, 12-17–12-21timer 12-3, 12-4–12-6Hhandshake 11-20hardware interrupt, definition D

Seite 723

CPU Multiport Register File 3-12Figure 3–7. TMS320C30 CPU Interrupt Flag (IF) RegisterXINT1RINT1yy yy71115–1231–16xx10DINT9TINT18TINT05RINT04XINT03INT

Seite 724 - Appendix C

IndexIndex-9interfaceenhanced memory, TMS320C32 2-19expansion bus 2-19primary bus 2-19interlockedinstructions 2-21operations 7-13–7-20busy-waiting loo

Seite 725

IndexIndex-10 logical shift instruction (LSH) 13-136LOPOWER 7-51–7-52timing 7-52low-powercontrol instructions 13-5idle instruction (IDLE2) 13-110LRU c

Seite 726

IndexIndex-11MSB, definition D-5MSTRB signal 9-3, 9-15multiple processors, sharing global memory 7-13multiplication, floating-point, examples 5-29–5-3

Seite 727

IndexIndex-12 peripherals 12-1–12-68DMA controller 12-48–12-68CPU/DMA interrupt enable regis-ter 12-59–12-62destination- and source-address regis-ters

Seite 728

IndexIndex-13program (continued)RPTB instruction 7-4–7-5RPTS instruction 7-5–7-6reset operation 7-21–7-25TMS320LC31 power management modeIDLE2 7-49–7-

Seite 729

IndexIndex-14 repeat end-address (RE) register 3-17, 7-2repeat mode, definition D-6repeat modes 7-2–7-8control algorithm 7-4control bits 7-3maximum nu

Seite 730

IndexIndex-15serial port (continued)loading 11-11memory mapped locations for 12-17operation configurations 12-29–12-31port control registerFSR/DR/CLKR

Seite 731

IndexIndex-16 timer-period register, definition D-7timingexternal interfaceexpansion bus I/O cycles 9-21–9-36primary bus cycles 9-15–9-20external memo

Seite 732

CPU Multiport Register File3-13CPU RegistersTable 3–4. IF Bits and FunctionsBitNameResetValueFunctionINT0 0 External interrupt 0 flagINT1 0 External i

Seite 733

CPU Multiport Register File 3-143.1.9.1 Interrupt-Trap Table Pointer (ITTP)Similar to the rest of the ‘C3x device family, the ’C32’s reset vector loca

Seite 734 - Glossary

CPU Multiport Register File3-15CPU RegistersFigure 3–11.Interrupt and Trap Vector LocationsEA (ITTP) + 3FhEA (ITTP) + 3EhEA (ITTP) + 3DhEA (ITTP) + 3C

Seite 735 - See also LD0–LD31

CPU Multiport Register File 3-163.1.10 I/O Flag (IOF) RegisterThe I/O flag (IOF) register is shown in Figure 3–12 and controls the functionof the dedi

Seite 736 - First-in, first-out buffer

Referencesviii Parsons, Thomas., Voice and Speech Processing. New York, NY:McGraw Hill Company, Inc., 1987.Rabiner, Lawrence R., and Schafer, R.W., Di

Seite 737 - Least significant bit

CPU Multiport Register File3-17CPU Registers3.1.11 Repeat-Counter (RC) and Block-Repeat (RS, RE) RegistersThe repeat-counter (RC) register is a 32-bit

Seite 738 - Nonmaskable interrupt

Other Registers 3-183.2 Other Registers3.2.1 Program-Counter (PC) RegisterThe program counter (PC) is a 32-bit register containing the address of then

Seite 739 - See read/write pin

Reserved Bits and Compatibility3-19CPU Registers3.3 Reserved Bits and CompatibilityTo retain compatibility with future members of the ’C3x family of m

Seite 740 - Glossary

4-1Memory and the Instruction CacheThe ’C3x provides a total memory space of 16M (million) 32-bit words that containprogram, data, and I/O space. Two

Seite 741 - See also

Memory 4-24.1 MemoryThe ’C3x accesses a total memory space of 16M (million) 32-bit words of pro-gram, data, and I/O space and allows tables, coefficie

Seite 742 - 3-operand instruction 13-49

Memory4-3Memory and the Instruction CacheMicrocomputer ModeIn microcomputer mode, the 4K on-chip ROM is mapped into locations0h–0FFFh. There are 192 l

Seite 743

Memory 4-4Figure 4–1. TMS320C30 Memory MapsReset, interrupt, trap vectors,and reserved locations (64)(external STRB active)0h03Fh040hExternalSTRB acti

Seite 744

Memory4-5Memory and the Instruction Cache4.1.1.2 TMS320C31 Memory MapThe memory map depends on whether the processor is running in micropro-cessor mod

Seite 745

Memory 4-6Figure 4–2. TMS320C31 Memory MapsReset, interrupt, trap vectors,and reserved locations (64)(external STRB active)0h03Fh040hExternalSTRB acti

Seite 746

Memory4-7Memory and the Instruction Cache4.1.1.3 TMS320C32 Memory MapThe memory map depends on whether the processor is running in micropro-cessor mod

Seite 747

Referencesix Read This FirstArray Signal ProcessingHaykin, S., Justice, J.H., Owsley, N.L., Yen, J.L., and Kak, A.C. Array SignalProcessing. Englewo

Seite 748

Memory 4-8Figure 4–3. TMS320C32 Memory MapsExternal memorySTRB1 active(7.168M words)External memorySTRB1 active(7.168M words)Boot 3External memorySTRB

Seite 749 - TMS320C32 2-16

Memory4-9Memory and the Instruction Cache4.1.2 Peripheral Bus Memory MapThe following sections describe the peripherial bus memory maps for the ’C30,’

Seite 750 - (LDF) 13-114

Memory 4-10Figure 4–4. TMS320C30 Peripheral Bus Memory-Mapped RegistersSerial port 1 data transmit808064hPrimary-buscontrol808060hExpansion-buscontrol

Seite 751 - TMS320C32 4-12

Memory4-11Memory and the Instruction Cache4.1.2.2 TMS320C31 Peripheral Bus Memory MapThe ’C31 memory-mapped peripheral registers are located starting

Seite 752

Memory 4-124.1.2.3 TMS320C32 Peripheral Bus Memory MapThe ’C32’s memory-mapped peripheral and external-bus control registers arelocated starting at ad

Seite 753

Memory4-13Memory and the Instruction CacheFigure 4–6. TMS320C32 Peripheral Bus Memory-Mapped Registers8097FFh808068hSTRB1 buscontrol808064hSTRB0 busco

Seite 754

Reset/Interrupt/Trap Vector Map 4-144.2 Reset/Interrupt/Trap Vector MapThe addresses for the reset, interrupt, and trap vectors are 00h–3Fh, as showni

Seite 755

Reset/Interrupt/Trap Vector Map4-15Memory and the Instruction CacheFigure 4–7. Reset, Interrupt, and Trap Vector Locations for the TMS320C30 Microproc

Seite 756 - (SUBRI) 13-241

Reset/Interrupt/Trap Vector Map 4-16Figure 4–8. Reset, Interrupt, and Trap Vector Locations for theTMS320C31 Microprocessor Mode00h RESET01h INT002h I

Seite 757

Reset/Interrupt/Trap Vector Map4-17Memory and the Instruction CacheFigure 4–9. Interrupt and Trap Branch Instructions for the TMS320C31Microcomputer M

Kommentare zu diesen Handbüchern

Keine Kommentare