|
楼主 |
发表于 2006-3-18 16:32:00
|
显示全部楼层
TMS320C54x DSP Reference Set - CPU and Peripherals
TMS320C54x DSP
Reference Set
Volume 1: CPU and Peripherals
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Summarizes the features of the TMS320 family of products and presents typical applications.
Describes the TMS320C54x DSP and lists its key features.
1.1 TMS320 Family Overview 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 History, Development, and Advantages of TMS320 DSPs 1. . . . . . . . . . . . . . . . . 2
1.1.2 Typical Applications for the TMS320 Family 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 TMS320C54x Overview 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 TMS320C54x Key Features 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Architectural Overview 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Summarizes the TMS320C54x architecture. Provides general information about the CPU, bus
structures, internal memory organization, on-chip peripherals, and scanning logic.
2.1 Bus Structure 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Internal Memory Organization 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 On-Chip ROM 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 On-Chip Dual-Access RAM (DARAM) 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 On-Chip Single-Access RAM (SARAM) 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.4 On-Chip Memory Security 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.5 Memory-Mapped Registers 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Central Processing Unit (CPU) 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Arithmetic Logic Unit (ALU) 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 Accumulators 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.3 Barrel Shifter 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.4 Multiplier/Adder Unit 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.5 Compare, Select, and Store Unit (CSSU) 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Data Addressing 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Program Memory Addressing 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Pipeline Operation 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7 On-Chip Peripherals 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7.1 General-Purpose I/O Pins 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7.2 Software-Programmable Wait-State Generator 2. . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7.3 Programmable Bank-Switching Logic 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.4 Host Port Interface 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.5 Hardware Timer 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7.6 Clock Generator 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Contents
xviii
2.8 Serial Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
2.8.1 Synchronous Serial Ports 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8.2 Buffered Serial Ports 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8.3 Multichannel Buffered Serial Ports (McBSPs) 2. . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.8.4 TDM Serial Ports 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.9 External Bus Interface 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10 IEEE Standard 1149.1 Scanning Logic 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Memory 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Describes the TMS320C54x memory configuration and operation. Includes memory maps and
descriptions of program memory, data memory, and I/O space. Also includes descriptions of
the CPU memory-mapped registers.
3.1 Memory Space 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Program Memory 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.1 Program Memory Configurability 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.2 On-Chip ROM Organization 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.3 Program Memory Address Map and On-Chip ROM Contents 3. . . . . . . . . . . . . 18
3.2.4 On-Chip ROM Code Contents and Mapping 3. . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.5 Extended Program Memory (Available on ’548/549/5402/5410/5420) 3. . . . . 20
3.3 Data Memory 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1 Data Memory Configurability 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.2 On-Chip RAM Organization 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.3 Memory-Mapped Registers 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.4 CPU Memory-Mapped Registers 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4 I/O Memory 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5 Program and Data Security 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4 Central Processing Unit 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Describes the TMS320C54x CPU operations. Includes information about the arithmetic logic
unit, the accumulators, the shifter, the multiplier/adder unit, the compare, select, store unit, and
the exponent encoder.
4.1 CPU Status and Control Registers 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
4.1.1 Status Registers (ST0 and ST1) 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
4.1.2 Processor Mode Status Register (PMST) 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Arithmetic Logic Unit (ALU) 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2.1 ALU Input 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2.2 Overflow Handling 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.3 The Carry Bit 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.4 Dual 16-Bit Mode 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Accumulators A and B 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.1 Storing Accumulator Contents 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.2 Accumulator Shift and Rotate Operations 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3.3 Saturation Upon Accumulator Store 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3.4 Application-Specific Instructions 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Contents
Contents xix
4.4 Barrel Shifter 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.5 Multiplier/Adder Unit 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5.1 Multiplier Input Sources 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.5.2 Multiply/Accumulate (MAC) Instructions 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5.3 MAC and MAS Saturation Upon Multiplication 4. . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.6 Compare, Select, and Store Unit (CSSU) 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.7 Exponent Encoder 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Data Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Describes the seven basic addressing modes of the TMS320C54x.
5.1 Immediate Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
5.2 Absolute Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.2.1 dmad Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.2.2 pmad Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2.3 PA Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2.4 *(lk) Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.3 Accumulator Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.4 Direct Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.4.1 DP-Referenced Direct Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.4.2 SP-Referenced Direct Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.5 Indirect Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.5.1 Single-Operand Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.5.2 ARAU and Address-Generation Operation 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.5.3 Single-Operand Address Modifications 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.5.4 Dual-Operand Address Modifications 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.5.5 TMS320C2x/C20x/C24x/C5x Compatibility (ARP) Mode 5. . . . . . . . . . . . . . . . . 23
5.6 Memory-Mapped Register Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.7 Stack Addressing 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.8 Data Types 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6 Program Memory Addressing 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Describes the TMS320C54x program control mechanisms. Includes information about address
generation, the program counter, the hardware stack, reset, interrupts, and power-down
modes.
6.1 Program-Memory Address Generation 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
6.2 Program Counter (PC) 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
6.3 Branches 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6.3.1 Unconditional Branches 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6.3.2 Conditional Branches 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.3.3 Far Branches (Available on ’548/’549/’5402/’5410/’5420) 6. . . . . . . . . . . . . . . . . 8
6.4 Calls 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.4.1 Unconditional Calls 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.4.2 Conditional Calls 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.4.3 Far Calls (Available on ’548 /’549/’5402/’5410/’5420) 6. . . . . . . . . . . . . . . . . . . . 11
Contents
xx
6.5 Returns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
6.5.1 Unconditional Returns 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.5.2 Conditional Returns 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.5.3 Far Returns (Available on ’548/’549/’5402/’5410/’5420) 6. . . . . . . . . . . . . . . . . . 14
6.6 Conditional Operations 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.6.1 Using Multiple Conditions 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.6.2 Conditional Execute (XC) Instruction 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.6.3 Conditional Store Instructions 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.7 Repeating a Single Instruction 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.8 Repeating a Block of Instructions 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.9 Reset Operation 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.10 Interrupts 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.10.1 Interrupt Flag Register (IFR) 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.10.2 Interrupt Mask Register (IMR) 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.10.3 Phase 1: Receive Interrupt Request 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.10.4 Phase 2: Acknowledge Interrupt 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.10.5 Phase 3: Execute Interrupt Service Routine (ISR) 6. . . . . . . . . . . . . . . . . . . . . . . 33
6.10.6 Interrupt Context Save 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.10.7 Interrupt Latency 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.10.8 Interrupt Operation: A Quick Summary 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.10.9 Re-mapping Interrupt-Vector Addresses 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.10.10 Interrupt Tables 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.11 Power-Down Modes 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.11.1 IDLE1 Mode 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.11.2 IDLE2 Mode 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.11.3 IDLE3 Mode 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.11.4 Hold Mode 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.11.5 Other Power-Down Capabilities 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7 Pipeline 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Describes the TMS320C54x pipeline operation and lists the pipeline latency cycles for these
types of latencies.
7.1 Pipeline Operation 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
7.1.1 Branch Instructions in the Pipeline 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1.2 Call Instructions in the Pipeline 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1.3 Return Instructions in the Pipeline 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.1.4 Conditional Execute Instructions in the Pipeline 7. . . . . . . . . . . . . . . . . . . . . . . . 19
7.1.5 Conditional-Call and Conditional-Branch Instructions in the Pipeline 7. . . . . . . 20
7.2 Interrupts and the Pipeline 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.3 Dual-Access Memory and the Pipeline 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.3.1 Resolved Conflict Between Instruction Fetch and Operand Read 7. . . . . . . . . 29
7.3.2 Resolved Conflict Between Operand Write and Dual-Operand Read 7. . . . . . 30
7.3.3 Resolved Conflict Among Operand Write, Operand Write, and
Dual-Operand Read 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Contents
Contents xxi
7.4 Single-Access Memory and the Pipeline 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.5 Pipeline Latencies 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.5.1 Recommended Instructions for Accessing Memory-Mapped Registers 7. . . . . 35
7.5.2 Updating ARx, BK, or SP—A Resolved Conflict 7. . . . . . . . . . . . . . . . . . . . . . . . . 38
7.5.3 Rules to Determine DAGEN Register Access Conflicts 7. . . . . . . . . . . . . . . . . . 44
7.5.4 Latencies for ARx and BK 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.5.5 Latencies for the Stack Pointer 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.5.6 Latencies for Temporary Register (T) 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.5.7 Latencies for Accessing Status Registers 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.5.8 Latencies in Repeat-Block Loops 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.5.9 Latencies for the PMST 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.5.10 Latencies for Memory-Mapped Accesses to Accumulators 7. . . . . . . . . . . . . . . 79
8 On-Chip Peripherals 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Describes the TMS320C54x peripherals and how to control them. Includes information about
the general-purpose I/O pins, timers, clock, and host port interface.
8.1 Available On-Chip Peripherals 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
8.2 Peripheral Memory-Mapped Registers 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
8.3 General-Purpose I/O 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.3.1 Branch Control Input Pin (BIO) 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.3.2 External Flag Output Pin (XF) 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.4 Timer 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.4.1 Timer Registers 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.4.2 Timer Operation 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.5 Clock Generator 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.5.1 Hardware-Configurable PLL 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.5.2 Software-Programmable PLL
(’541B/’545A/’546A/’548/’549/’5402/’5410/’5420) 8. . . . . . . . . . . . . . . . . . . . . . . 27
Programming Considerations When Using the
Software-Programmable PLL 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Using the PLLCOUNT Programmable Lock Timer 8. . . . . . . . . . . . . . . . . . . . . . 31
Switching Clock Mode From DIV Mode to PLL Mode 8. . . . . . . . . . . . . . . . . . . . 32
Switching Clock Mode From PLL Mode to DIV Mode 8. . . . . . . . . . . . . . . . . . . . 33
Changing the PLL Multiplier Ratio 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
PLL Operation Immediately Following Reset 8. . . . . . . . . . . . . . . . . . . . . . . . . . . 35
PLL Considerations When Using IDLE Instruction 8. . . . . . . . . . . . . . . . . . . . . . 35
PLL Considerations When Using the Bootloader 8. . . . . . . . . . . . . . . . . . . . . . . . 36
8.6 Host Port Interface 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.6.1 Basic Host Port Interface Functional Description 8. . . . . . . . . . . . . . . . . . . . . . . . 38
8.6.2 Details of Host Port Interface Operation 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
HPI Control Register Bits and Function 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.6.3 Host Read/Write Access to HPI 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Access Sequences 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.6.4 DSPINT and HINT Function Operation 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Host Device Using DSPINT to Interrupt the ’54x 8. . . . . . . . . . . . . . . . . . . . . . . . 51
Host Port Interface (’54x) Using HINT to Interrupt the Host Device 8. . . . . . . . 52
8.6.5 Considerations in Changing HPI Memory Access Mode (SAM/HOM)
and IDLE2/3 Use 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.6.6 Access of HPI Memory During Reset 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Contents
xxii
9 Serial Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Describes the TMS320C54x serial ports. Includes information about the standard serial port
interface, buffered serial port interface, multichannel buffered serial port interface, and time-division
multiplexed serial port interface.
9.1 Introduction to the Serial Ports 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
9.2 Serial Port Interface 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
9.2.1 Serial Port Interface Registers 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
9.2.2 Serial Port Interface Operation 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.2.3 Configuring the Serial Port Interface 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Reserved Bit 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
DLB Bit 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
FO Bit 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
FSM Bit 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
MCM Bit 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
TXM Bit 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
XRST and RRST Bits 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
IN0 and IN1 Bits 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
RRDY and XRDY Bits 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
XSREMPTY Bit 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
RSRFULL Bit 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
SOFT and FREE Bits 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.2.4 Burst Mode Transmit and Receive Operations 9. . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.2.5 Continuous Mode Transmit and Receive Operations 9. . . . . . . . . . . . . . . . . . . . 24
9.2.6 Serial Port Interface Exception Conditions 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Burst Mode 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Continuous Mode 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
9.2.7 Example of Serial Port Interface Operation 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.3 Buffered Serial Port (BSP) Interface 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.3.1 BSP Operation in Standard Mode 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9.3.2 Autobuffering Unit (ABU) Operation 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
9.3.3 System Considerations for BSP Operation 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.3.4 Buffer Misalignment Interrupt (BMINT) – ’549 only 9. . . . . . . . . . . . . . . . . . . . . . 54
9.3.5 BSP Operation in Power-Down Mode 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9.4 Time-Division Multiplexed (TDM) Serial Port Interface 9. . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.4.1 Basic Time-Division Multiplexed Operation 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.4.2 TDM Serial Port Interface Registers 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.4.3 TDM Serial Port Interface Operation 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.4.4 TDM Mode Transmit and Receive Operations 9. . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.4.5 TDM Serial Port Interface Exception Conditions 9. . . . . . . . . . . . . . . . . . . . . . . . 64
9.4.6 Examples of TDM Serial Port Interface Operation 9. . . . . . . . . . . . . . . . . . . . . . . 64
Contents
Contents xxiii
10 External Bus Operation 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Discusses the external bus interface and the timing of events involved in memory and I/O accesses.
Describes the hold mode and the wake-up sequence from IDLE3 mode.
10.1 External Bus Interface 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
10.2 External Bus Priority 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
10.3 External Bus Control 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
10.3.1 Wait-State Generator 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
10.3.2 Bank-Switching Logic 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
10.4 External Bus Interface Timing 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
10.4.1 Memory Access Timing 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
10.4.2 I/O Access Timing 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.4.3 Memory and I/O Access Timing 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
10.5 Start-Up Access Sequences 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
10.5.1 Reset 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
10.5.2 IDLE3 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
10.6 Hold Mode 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
10.6.1 Interrupts During Hold 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.6.2 Hold and Reset 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
A Design Considerations for Using XDS510 Emulator A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Describes the JTAG emulator cable, how to construct a 14-pin connector on your target system,
and how to connect the target system to the emulator.
A.1 Designing Your Target System’s Emulator Connector (14-Pin Header) A. . . . . . . . . . . . . 2
A.2 Bus Protocol A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
A.3 Emulator Cable Pod A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
A.4 Emulator Cable Pod Signal Timing A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
A.5 Emulation Timing Calculations A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
A.6 Connections Between the Emulator and the Target System A. . . . . . . . . . . . . . . . . . . . . 10
A.6.1 Buffering Signals A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
A.6.2 Using a Target-System Clock A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
A.6.3 Configuring Multiple Processors A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
A.7 Physical Dimensions for the 14-Pin Emulator Connector A. . . . . . . . . . . . . . . . . . . . . . . . 14
A.8 Emulation Design Considerations A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
A.8.1 Using Scan Path Linkers A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
A.8.2 Emulation Timing Calculations for a Scan Path Linker (SPL) A. . . . . . . . . . . . . 18
A.8.3 Using Emulation Pins A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
A.8.4 Performing Diagnostic Applications A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Contents
xxiv
B Development Support and Part Order Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B1
Provides device part numbers and support tool ordering information for the TMS320C54x and
development support information available from TI and third-party vendors.
B.1 Development Support B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
B.1.1 Development Tools B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Code Generation Tools B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
System Integration and Debug Tools B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
B.1.2 Third-Party Support B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
B.1.3 Technical Training Organization (TTO) TMS320 Workshops B. . . . . . . . . . . . . . . 4
B.1.4 Assistance B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
B.2 Part Order Information B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
B.2.1 Device and Development Support Tool Nomenclature Prefixes B. . . . . . . . . . . . 5
B.2.2 Device Nomenclature B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
B.2.3 Development Support Tools B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
C Submitting ROM Codes to TI C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Provides information for submitting ROM codes to Texas Instruments.
D Summary of Updates in This Document D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Provides a summary of the updates in this version of the document.
E Glossary E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Defines terms and abbreviations used throughout this book.
【文件名】:06318@52RD_C54xCPU&Peripherals.pdf
【格 式】:pdf
【大 小】:2390K
【简 介】:
【目 录】:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|