TE X AS INS TRUM E NTS -预告信息
Tiva™ TM4C1231D5PM 微控制器
数据手册
D S -T M 4C 1231 D5 P M - 1 5 5 5 3 . 2 7 0 0
Z HCS C69
版权 © 2 0 07-2013
Te xa s In stru me n ts In co rporated
版权
版权 © 2007-2013 Texas Instruments Incorporated。Tiva 和 TivaWare 均为 Texas Instruments Incorporated 的注册商标。ARM 和 Thumb
是 ARM 公司的注册商标,Cortex 是 ARM 公司的商标。所有其他商标均属于其所有者的财产。
产品数据信息为发布时的信息。根据 Texas Instruments 的标准条款,产品符合规格。生产过程中没有必要对产品的所有参数进行测试。
请留意,此数据手册最后部分包含 Texas Instruments 半导体产品的可用性、标准保修期和关键任务应用的重要信息通告以及相关的免
责声明。
Texas Instruments Incorporated
108 Wild Basin, Suite 350
Austin, TX 78746
http://www.ti.com/tm4c
http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm
2014 年 01 月 28 日
2
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
目录
关于本文档 ....................................................................................................................................... 31
受众 .....................................................................................................................................................
关于本手册 ...........................................................................................................................................
相关文档 ...............................................................................................................................................
文档约定 ...............................................................................................................................................
31
31
31
32
1
结构概述 ................................................................................................................... 34
1.1
1.2
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.3.6
1.3.7
1.4
1.5
1.6
Tiva™ C 系列 概述 ........................................................................................................ 34
TM4C1231D5PM 微控制器概述 ..................................................................................... 34
TM4C1231D5PM 微控制器特性 ..................................................................................... 37
ARM Cortex-M4F 处理器核心 ........................................................................................ 37
片上存储器 ................................................................................................................... 39
串行通讯外设 ................................................................................................................ 40
系统集成 ....................................................................................................................... 43
模拟 ............................................................................................................................. 49
JTAG 和 ARM 串行线调试 ............................................................................................. 50
封装和温度 ................................................................................................................... 51
TM4C1231D5PM 微控制器硬件细节 ............................................................................... 51
开发套件 ....................................................................................................................... 51
支持信息 ....................................................................................................................... 52
2
Cortex-M4F 处理器 .................................................................................................. 53
2.1
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.4.7
2.5
2.5.1
2.5.2
2.5.3
结构框图 .......................................................................................................................
概述 .............................................................................................................................
系统级接口 ...................................................................................................................
集成的可配置调试 .........................................................................................................
跟踪端口的接口单元(TPIU) ........................................................................................
Cortex-M4F 系统组件细节 .............................................................................................
编程模型 .......................................................................................................................
处理器模式和软件执行的权限级别 ..................................................................................
堆栈 .............................................................................................................................
寄存器映射 ...................................................................................................................
寄存器描述 ...................................................................................................................
异常和中断 ...................................................................................................................
数据类型 .......................................................................................................................
存储模型 .......................................................................................................................
内存区,类型和属性 ......................................................................................................
内存访问存储系统顺序 ...................................................................................................
存储器访问行为 .............................................................................................................
存储器访问的软件顺序 ...................................................................................................
位带区 ..........................................................................................................................
数据保存 .......................................................................................................................
同步原语 .......................................................................................................................
异常模式 .......................................................................................................................
异常状态 .......................................................................................................................
异常类型 .......................................................................................................................
异常处理程序 ................................................................................................................
2014 年 01 月 28 日
54
55
55
55
55
56
56
57
57
57
59
75
75
75
77
77
78
78
79
81
82
83
83
84
87
3
Texas Instruments-预告信息
目录
2.5.4
2.5.5
2.5.6
2.5.7
2.6
2.6.1
2.6.2
2.6.3
2.6.4
2.7
2.7.1
2.7.2
2.8
向量表 ..........................................................................................................................
异常优先级 ...................................................................................................................
中断优先级分组 .............................................................................................................
异常进入和返回 .............................................................................................................
故障处理 .......................................................................................................................
故障类型 .......................................................................................................................
故障扩大和硬件故障 ......................................................................................................
故障状态寄存器和故障地址寄存器 ..................................................................................
死锁 .............................................................................................................................
电源管理 .......................................................................................................................
进入睡眠模式 ................................................................................................................
从睡眠模式唤醒 .............................................................................................................
指令集总结 ...................................................................................................................
87
88
89
89
91
92
92
93
93
93
93
94
94
3
Cortex-M4 外设 ..................................................................................................... 101
3.1
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.2
3.3
3.4
3.5
3.6
3.7
功能说明 .....................................................................................................................
系统定时器(SysTick) ...............................................................................................
嵌套式向量化中断控制器(NVIC) ...............................................................................
系统控制模块 (SCB) ....................................................................................................
存储器保护单元 (MPU) ................................................................................................
浮点单元 (FPU) ...........................................................................................................
寄存器映射 .................................................................................................................
系统定时器(SysTick)寄存器描述 ...............................................................................
NVIC寄存器描述 .........................................................................................................
系统控制模块(SCB)寄存器描述 ................................................................................
存储器保护单元(MPU)寄存器描述 ............................................................................
浮点单元 (FPU) 寄存器描述 .........................................................................................
101
101
102
103
104
108
111
114
118
133
161
169
4
JTAG 接口 .............................................................................................................. 175
4.1
4.2
4.3
4.3.1
4.3.2
4.3.3
4.3.4
4.4
4.5
4.5.1
4.5.2
结构框图 .....................................................................................................................
信号描述 .....................................................................................................................
功能说明 .....................................................................................................................
JTAG 接口管脚 ............................................................................................................
JTAG TAP 控制器 ........................................................................................................
移位寄存器 .................................................................................................................
操作注意事项 ..............................................................................................................
初始化和配置 ..............................................................................................................
寄存器描述 .................................................................................................................
指令寄存器 (IR) ...........................................................................................................
数据寄存器 .................................................................................................................
5
系统控制 ................................................................................................................. 186
5.1
5.2
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
5.3
信号描述 .....................................................................................................................
功能说明 .....................................................................................................................
器件标识 .....................................................................................................................
复位控制 .....................................................................................................................
不可屏蔽的中断 ...........................................................................................................
功率控制 .....................................................................................................................
时钟控制 .....................................................................................................................
系统控制 .....................................................................................................................
初始化和配置 ..............................................................................................................
176
176
177
177
178
179
179
182
182
182
183
186
186
186
186
191
192
193
199
202
2014 年 01 月 28 日
4
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
5.4
5.5
5.6
寄存器映射 ................................................................................................................. 202
系统控制寄存器描述 .................................................................................................... 207
系统控制传统寄存器描述 ............................................................................................. 367
6
系统异常模块 .......................................................................................................... 421
6.1
6.2
6.3
功能说明 ..................................................................................................................... 421
寄存器映射 ................................................................................................................. 421
寄存器描述 ................................................................................................................. 421
7
休眠模块 ................................................................................................................. 429
7.1
7.2
7.3
7.3.1
7.3.2
7.3.3
7.3.4
7.3.5
7.3.6
7.3.7
7.3.8
7.3.9
7.3.10
7.3.11
7.3.12
7.4
7.4.1
7.4.2
7.4.3
7.4.4
7.4.5
7.5
7.6
结构框图 .....................................................................................................................
信号描述 .....................................................................................................................
功能说明 .....................................................................................................................
寄存器访问间隙 ...........................................................................................................
休眠时钟源 .................................................................................................................
系统实现 .....................................................................................................................
电池管理 .....................................................................................................................
实时时钟 .....................................................................................................................
带备用电池的存储器 ....................................................................................................
电源控制:使用 HIB ....................................................................................................
以 VDD3ON 模式管理电源 ...........................................................................................
启动休眠 .....................................................................................................................
从休眠模式唤醒 ...........................................................................................................
仲裁性电源移除 ...........................................................................................................
中断和状态 .................................................................................................................
初始化和配置 ..............................................................................................................
初始化 ........................................................................................................................
RTC 匹配功能(无休眠) ............................................................................................
RTC 匹配/唤醒 ............................................................................................................
外部唤醒 .....................................................................................................................
RTC 或外部唤醒 ..........................................................................................................
寄存器映射 .................................................................................................................
寄存器描述 .................................................................................................................
430
430
431
431
431
433
433
434
435
436
436
436
436
437
437
437
437
438
438
439
439
439
440
8
内部存储器 ............................................................................................................. 458
8.1
8.2
8.2.1
8.2.2
8.2.3
8.2.4
8.3
8.4
8.5
8.6
结构框图 .....................................................................................................................
功能说明 .....................................................................................................................
SRAM ........................................................................................................................
ROM ..........................................................................................................................
Flash 存储器 ...............................................................................................................
EEPROM ....................................................................................................................
寄存器映射 .................................................................................................................
Flash 存储器寄存器描述 (Flash 控制偏移量) .................................................................
EEPROM 寄存器描述(EEPROM 偏移量) ..................................................................
存储器寄存器描述 (系统控制偏移量) .............................................................................
9
微型直接存储器访问(μDMA) ............................................................................. 512
9.1
9.2
9.2.1
9.2.2
结构框图 .....................................................................................................................
功能说明 .....................................................................................................................
通道分配 .....................................................................................................................
优先级 ........................................................................................................................
2014 年 01 月 28 日
458
459
459
460
461
466
470
472
488
504
513
513
513
515
5
Texas Instruments-预告信息
目录
9.2.3
9.2.4
9.2.5
9.2.6
9.2.7
9.2.8
9.2.9
9.2.10
9.3
9.3.1
9.3.2
9.3.3
9.3.4
9.3.5
9.4
9.5
9.6
仲裁数目 ..................................................................................................................... 515
请求类型 ..................................................................................................................... 515
通道配置 ..................................................................................................................... 516
传输模式 ..................................................................................................................... 517
待传输数目及增量 ....................................................................................................... 526
外设接口 ..................................................................................................................... 526
软件请求 ..................................................................................................................... 526
中断及错误 ................................................................................................................. 526
初始化和配置 .............................................................................................................. 527
模块初始化 ................................................................................................................. 527
存储器到存储器传输的配置 .......................................................................................... 527
外设简单发送的配置 .................................................................................................... 529
外设乒乓接收的配置 .................................................................................................... 530
通道分配的配置 ........................................................................................................... 532
寄存器映射 ................................................................................................................. 532
μDMA 通道控制结构体 ................................................................................................. 534
μDMA 寄存器描述 ....................................................................................................... 541
10
通用输入/输入端口(GPIOs) ............................................................................... 575
10.1
10.2
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5
10.2.6
10.3
10.4
10.5
信号描述 .....................................................................................................................
功能说明 .....................................................................................................................
数据控制 .....................................................................................................................
中断控制 .....................................................................................................................
模式控制 .....................................................................................................................
确认控制 .....................................................................................................................
引脚(Pad)控制 .............................................................................................................
标识 ...........................................................................................................................
初始化和配置 ..............................................................................................................
寄存器映射 .................................................................................................................
寄存器描述 .................................................................................................................
11
通用定时器 ............................................................................................................. 628
11.1
11.2
11.3
11.3.1
11.3.2
11.3.3
11.3.4
11.3.5
11.3.6
11.3.7
11.4
11.4.1
11.4.2
11.4.3
11.4.4
11.4.5
11.5
11.6
结构框图 ..................................................................................................................... 629
信号描述 ..................................................................................................................... 630
功能说明 ..................................................................................................................... 631
GPTM复位条件 ........................................................................................................... 632
定时器模式 ................................................................................................................. 632
等待触发模式 .............................................................................................................. 642
同步通用定时器模块 .................................................................................................... 642
DMA 操作 ................................................................................................................... 643
访问连接的 16/32 位 GPTM 寄存器值 ........................................................................... 643
访问连接的 32/64 位宽 GPTM 寄存器值 ........................................................................ 644
初始化和配置 .............................................................................................................. 645
单次触发/周期定时器模式 ............................................................................................. 645
实时时钟 (RTC) 模式 ................................................................................................... 646
输入边沿计数模式下: ................................................................................................. 646
输入边沿定时模式 ....................................................................................................... 647
PWM 模式 .................................................................................................................. 648
寄存器映射 ................................................................................................................. 648
寄存器描述 ................................................................................................................. 649
575
577
579
580
581
581
582
582
582
583
585
2014 年 01 月 28 日
6
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
12
看门狗定时器 .......................................................................................................... 692
12.1
12.2
12.2.1
12.3
12.4
12.5
结构框图 .....................................................................................................................
功能说明 .....................................................................................................................
寄存器访问间隙 ...........................................................................................................
初始化和配置 ..............................................................................................................
寄存器映射 .................................................................................................................
寄存器描述 .................................................................................................................
13
模-数转换器(ADC) ............................................................................................. 717
13.1
13.2
13.3
13.3.1
13.3.2
13.3.3
13.3.4
13.3.5
13.3.6
13.3.7
13.4
13.4.1
13.4.2
13.5
13.6
结构框图 .....................................................................................................................
信号描述 .....................................................................................................................
功能说明 .....................................................................................................................
采样序列发生器 ...........................................................................................................
模块控制 .....................................................................................................................
硬件采样平均电路 .......................................................................................................
模-数转换器 ................................................................................................................
差分采样 .....................................................................................................................
内部温度传感器 ...........................................................................................................
数字比较器 .................................................................................................................
初始化和配置 ..............................................................................................................
模块初始化 .................................................................................................................
采样序列发生器的配置 .................................................................................................
寄存器映射 .................................................................................................................
寄存器描述 .................................................................................................................
14
通用异步收发器(UART) ..................................................................................... 799
14.1
结构框图 .....................................................................................................................
14.2
信号描述 .....................................................................................................................
14.3
功能说明 .....................................................................................................................
14.3.1 发送/接收逻辑 .............................................................................................................
14.3.2 波特率的产生 ..............................................................................................................
14.3.3 数据传输 .....................................................................................................................
14.3.4 串行红外(SIR) .........................................................................................................
14.3.5 对ISO 7816的支持 .......................................................................................................
14.3.6 对调制解调器握手信号的支持 .......................................................................................
14.3.7 9 位 UART 模式 ..........................................................................................................
14.3.8 FIFO操作 ....................................................................................................................
14.3.9 中断信号 .....................................................................................................................
14.3.10 回送操作 .....................................................................................................................
14.3.11 DMA 操作 ...................................................................................................................
14.4
初始化和配置 ..............................................................................................................
14.5
寄存器映射 .................................................................................................................
14.6
寄存器描述 .................................................................................................................
693
693
694
694
694
695
718
718
719
719
720
723
724
726
728
729
733
733
734
734
736
800
800
801
801
802
802
803
804
804
805
806
806
807
807
807
809
810
15
同步串行接口(SSI) ............................................................................................. 856
15.1
15.2
15.3
15.3.1
15.3.2
15.3.3
结构框图 .....................................................................................................................
信号描述 .....................................................................................................................
功能说明 .....................................................................................................................
位速率的产生 ..............................................................................................................
FIFO操作 ....................................................................................................................
中断信号 .....................................................................................................................
2014 年 01 月 28 日
857
857
858
858
859
859
7
Texas Instruments-预告信息
目录
15.3.4
15.3.5
15.4
15.5
15.6
帧格式 ........................................................................................................................
DMA 操作 ...................................................................................................................
初始化和配置 ..............................................................................................................
寄存器映射 .................................................................................................................
寄存器描述 .................................................................................................................
16
内部集成电路(I2C)接口 ...................................................................................... 899
16.1
16.2
16.3
16.3.1
16.3.2
16.3.3
16.3.4
16.3.5
16.4
16.4.1
16.4.2
16.5
16.6
16.7
16.8
结构框图 ..................................................................................................................... 900
信号描述 ..................................................................................................................... 900
功能说明 ..................................................................................................................... 900
I2C 总线功能概览 ........................................................................................................ 901
可用的速度模式 ........................................................................................................... 904
中断信号 ..................................................................................................................... 906
回送操作 ..................................................................................................................... 907
命令序列流程图 ........................................................................................................... 907
初始化和配置 .............................................................................................................. 915
将 I2C 模块配置为以主机身份传输单字节数据 ................................................................ 915
将 I2C 主机配置为高速模式 .......................................................................................... 916
寄存器映射 ................................................................................................................. 917
寄存器描述(I2C 主机) .............................................................................................. 918
寄存器描述(I2C 从机) .............................................................................................. 934
寄存器描述(I2C 状态和控制寄存器) .......................................................................... 944
17
控制器局域网(CAN)模块 ................................................................................... 947
17.1
结构框图 .....................................................................................................................
17.2
信号描述 .....................................................................................................................
17.3
功能说明 .....................................................................................................................
17.3.1 初始化 ........................................................................................................................
17.3.2 基本操作 .....................................................................................................................
17.3.3 报文对象的发送 ...........................................................................................................
17.3.4 待发送报文对象的配置 .................................................................................................
17.3.5 待发送报文对象的刷新 .................................................................................................
17.3.6 已接收报文对象的接受 .................................................................................................
17.3.7 接收数据帧 .................................................................................................................
17.3.8 接收远程帧 .................................................................................................................
17.3.9 接收/发送优先级 ..........................................................................................................
17.3.10 接收报文对象的配置 ....................................................................................................
17.3.11 已接收报文对象的处理 .................................................................................................
17.3.12 中断的处理 .................................................................................................................
17.3.13 测试模式 .....................................................................................................................
17.3.14 位定时配置错误的注意事项 ..........................................................................................
17.3.15 位时间与位速率 ...........................................................................................................
17.3.16 位定时参数的计算 .......................................................................................................
17.4
寄存器映射 .................................................................................................................
17.5
寄存器描述 .................................................................................................................
860
867
867
869
870
948
948
949
950
950
951
951
952
953
953
953
954
954
955
956
957
958
958
960
963
965
18
模拟比较器 ............................................................................................................. 993
18.1
18.2
18.3
结构框图 ..................................................................................................................... 994
信号描述 ..................................................................................................................... 994
功能说明 ..................................................................................................................... 995
2014 年 01 月 28 日
8
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
18.3.1
18.4
18.5
18.6
内部参考电压编程 .......................................................................................................
初始化和配置 ..............................................................................................................
寄存器映射 .................................................................................................................
寄存器描述 .................................................................................................................
995
997
998
998
19
管脚图 ................................................................................................................... 1007
20
信号表 ................................................................................................................... 1008
20.1
20.2
20.3
20.4
20.5
20.6
按管脚编号分类的信号 ...............................................................................................
按信号名称分类的信号 ...............................................................................................
按功能分类的信号(GPIO 除外) ...............................................................................
GPIO 管脚和复用功能 ................................................................................................
复用功能的可能的管脚赋值 ........................................................................................
未用管脚的处理 .........................................................................................................
21
Electrical Characteristics .................................................................................. 1029
1008
1014
1019
1024
1026
1028
21.1
Maximum Ratings ...................................................................................................... 1029
21.2
Operating Characteristics ........................................................................................... 1030
21.3
Recommended Operating Conditions ......................................................................... 1031
21.4
Load Conditions ........................................................................................................ 1033
21.5
JTAG and Boundary Scan .......................................................................................... 1034
21.6
Power and Brown-Out ............................................................................................... 1036
21.6.1 VDDA Levels ............................................................................................................ 1036
21.6.2 VDD Levels ............................................................................................................... 1037
21.6.3 VDDC Levels ............................................................................................................ 1038
21.6.4 VDD Glitches ............................................................................................................ 1039
21.6.5 VDD Droop Response ............................................................................................... 1039
21.7
Reset ........................................................................................................................ 1041
21.8
On-Chip Low Drop-Out (LDO) Regulator ..................................................................... 1043
21.9
Clocks ...................................................................................................................... 1044
21.9.1 PLL Specifications ..................................................................................................... 1044
21.9.2 PIOSC Specifications ................................................................................................ 1045
21.9.3 Low-Frequency Internal Oscillator (LFIOSC) Specifications .......................................... 1045
21.9.4 Hibernation Clock Source Specifications ..................................................................... 1045
21.9.5 Main Oscillator Specifications ..................................................................................... 1046
21.9.6 System Clock Specification with ADC Operation .......................................................... 1049
21.10 Sleep Modes ............................................................................................................. 1050
21.11 Hibernation Module ................................................................................................... 1052
21.12 Flash Memory and EEPROM ..................................................................................... 1053
21.13 Input/Output Pin Characteristics ................................................................................. 1054
21.13.1 GPIO Module Characteristics ..................................................................................... 1054
21.13.2 Types of I/O Pins and ESD Protection ......................................................................... 1054
21.14 Analog-to-Digital Converter (ADC) .............................................................................. 1058
21.15 Synchronous Serial Interface (SSI) ............................................................................. 1061
21.16 Inter-Integrated Circuit (I2C) Interface ......................................................................... 1064
21.17 Analog Comparator ................................................................................................... 1065
21.18 Current Consumption ................................................................................................. 1067
A
封装信息 ............................................................................................................... 1070
A.1
A.2
可订购器件 ................................................................................................................ 1070
型号标识 ................................................................................................................... 1071
2014 年 01 月 28 日
9
Texas Instruments-预告信息
目录
A.3
A.4
封装图 ...................................................................................................................... 1072
封装材料 ................................................................................................................... 1073
2014 年 01 月 28 日
10
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
插图清单
图 1-1.
图 2-1.
图 2-2.
图 2-3.
图 2-4.
图 2-5.
图 2-6.
图 2-7.
图 3-1.
图 3-2.
图 4-1.
图 4-2.
图 4-3.
图 4-4.
图 4-5.
图 5-1.
图 5-2.
图 5-3.
图 5-4.
图 5-5.
图 5-6.
图 7-1.
图 7-2.
图 7-3.
图 7-4.
图 7-5.
图 7-6.
图 8-1.
图 8-2.
图 9-1.
图 9-2.
图 9-3.
图 9-4.
图 9-5.
图 9-6.
图 10-1.
图 10-2.
图 10-3.
图 10-4.
图 11-1.
图 11-2.
图 11-3.
图 11-4.
图 11-5.
图 11-6.
图 11-7.
Tiva™ TM4C1231D5PM 微控制器高级框图 ............................................................ 36
CPU 结构图 ........................................................................................................ 54
TPIU方框图 ......................................................................................................... 56
Cortex-M4F 寄存器组 ........................................................................................... 58
位带映射 ............................................................................................................. 81
数据保存 ............................................................................................................. 82
向量表 ................................................................................................................ 88
异常堆栈框 .......................................................................................................... 90
SRD 使用示例 ................................................................................................... 106
FPU 寄存器块 .................................................................................................... 109
JTAG 模块方框图 ............................................................................................... 176
测试访问端口状态机 .......................................................................................... 179
IDCODE 寄存器格式 .......................................................................................... 184
BYPASS 寄存器格式 .......................................................................................... 184
边界扫描寄存器格式 .......................................................................................... 184
基本 RST 配置 ................................................................................................... 189
延长上电复位时间的外部电路 ............................................................................. 189
复位电路由开关控制 .......................................................................................... 190
功率结构 ........................................................................................................... 193
主时钟树 ........................................................................................................... 195
模块时钟选择 .................................................................................................... 200
休眠模块结构图 ................................................................................................. 430
使用晶振作为休眠模块的时钟源(单一电池源) .................................................. 432
在 VDD3ON 模式中使用专用振荡器作为休眠模块的时钟源 ................................... 432
VDD 和 VBAT 使用稳压器 ..................................................................................... 433
TRIM 值为 0x8002 时的计数器行为 ..................................................................... 435
TRIM 值为 0x7FFC 时的计数器行为 .................................................................... 435
内部存储器结构图 .............................................................................................. 458
EEPROM 结构图 ............................................................................................... 459
μDMA 结构图 .................................................................................................... 513
乒乓式 μDMA 数据会话的示例 ............................................................................ 519
存储器散聚模式:创建及配置 ............................................................................. 521
存储器散聚模式:μDMA 复制序列 ...................................................................... 522
外设散聚模式:创建及配置 ................................................................................ 524
外设散聚模式:μDMA 复制序列 .......................................................................... 525
数字 I/O 口 ........................................................................................................ 578
模拟/数字 I/O 口 ................................................................................................. 579
GPIODATA 写实例 ............................................................................................. 580
GPIODATA 读实例 ............................................................................................. 580
GPTM 模块的结构图 .......................................................................................... 629
读取 RTC 值 ...................................................................................................... 636
输入边沿计数模式实例,递减计数 ...................................................................... 637
16 位输入边沿计时模式实例 ............................................................................... 639
16-位PWM模式实例 ........................................................................................... 640
CCP 输出,GPTMTnMATCHR > GPTMTnILR ..................................................... 641
CCP 输出,GPTMTnMATCHR = GPTMTnILR ..................................................... 641
2014 年 01 月 28 日
11
Texas Instruments-预告信息
目录
图 11-8.
图 11-9.
图 12-1.
图 13-1.
图 13-2.
图 13-3.
图 13-4.
图 13-5.
图 13-6.
图 13-7.
图 13-8.
图 13-9.
图 13-10.
图 13-11.
图 13-12.
图 13-13.
图 13-14.
图 14-1.
图 14-2.
图 14-3.
图 15-1.
图 15-2.
图 15-3.
图 15-4.
图 15-5.
图 15-6.
图 15-7.
图 15-8.
图 15-9.
图 15-10.
图 15-11.
图 15-12.
图 16-1.
图 16-2.
图 16-3.
图 16-4.
图 16-5.
图 16-6.
图 16-7.
图 16-8.
图 16-9.
图 16-10.
图 16-11.
图 16-12.
图 16-13.
图 16-14.
图 16-15.
图 17-1.
CCP 输出,GPTMTnILR > GPTMTnMATCHR ..................................................... 642
定时器菊花链 .................................................................................................... 642
WDT模块的结构图 ............................................................................................. 693
两个 ADC 模块的连接结构图 .............................................................................. 718
ADC模块框图 .................................................................................................... 718
ADC 采样相位 ................................................................................................... 721
ADC 采样率倍增 ................................................................................................ 722
交错采样 ........................................................................................................... 722
采样平均的实例 ................................................................................................. 724
ADC 输入端等效框图 ......................................................................................... 725
ADC 参考电压 ................................................................................................... 725
ADC 转换结果 ................................................................................................... 726
差分电压表达式 ................................................................................................. 728
内部温度传感器特性 .......................................................................................... 729
低值带工作(CIC = 0x0) .................................................................................. 731
中值带工作(CIC = 0x1 ) ................................................................................. 732
高值带工作(CIC = 0x3) .................................................................................. 733
UART模块的结构图 ........................................................................................... 800
UART字符帧 ..................................................................................................... 802
IrDA 数据调制 .................................................................................................... 804
SSI模块的结构图 ............................................................................................... 857
TI 同步串行帧格式(单次传输) ......................................................................... 860
TI 同步串行的帧格式(连续传输) ...................................................................... 861
SPO = 0 和 SPH = 0 时的飞思卡尔 SPI 格式(单次传输) ................................... 862
SPO = 0 和 SPH = 0 时的飞思卡尔 SPI 格式 (连续传输) ....................................... 862
SPO = 0、SPH = 1 时的飞思卡尔 SPI 帧格式 ...................................................... 863
SPO = 1 和 SPH = 0 时的飞思卡尔 SPI 帧格式(单次传输) ................................ 864
SPO = 1 和 SPH = 0 时的飞思卡尔 SPI 帧格式(连续传输) ................................ 864
SPO = 1、SPH = 1 时的飞思卡尔 SPI 帧格式 ...................................................... 865
MICROWIRE的帧格式 (单帧) .............................................................................. 865
MICROWIRE的帧格式 (连续传输) ....................................................................... 866
MICROWIRE 帧格式,SSInFss 输入建立和保持时间要求 .................................... 867
I2C 结构图 ......................................................................................................... 900
I2C 总线配置 ...................................................................................................... 901
START 和 STOP 条件 ........................................................................................ 901
带 7 位地址的完整数据传输 ................................................................................ 902
首字节的R/S位 .................................................................................................. 902
I2C 总线位传输过程中的数据有效性 .................................................................... 902
高速数据格式 .................................................................................................... 906
主机单次传输 .................................................................................................... 908
主机单次接收 .................................................................................................... 909
多数据字节的主机传输 ....................................................................................... 910
多数据字节的主机接收 ....................................................................................... 911
主机传输后以重复开始序列进行的主机接收 ......................................................... 912
主机接收后以重复开始序列进行的主机传输 ......................................................... 913
标准高速模式主机传输 ....................................................................................... 914
从机命令序列 .................................................................................................... 915
CAN 控制器结构图 ............................................................................................. 948
2014 年 01 月 28 日
12
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 17-2.
图 17-3.
图 17-4.
图 18-1.
图 18-2.
图 18-3.
图 19-1.
图 21-1.
图 21-2.
图 21-3.
图 21-4.
图 21-5.
图 21-6.
图 21-7.
图 21-8.
图 21-9.
图 21-10.
图 21-11.
图 21-12.
图 21-13.
图 21-14.
图 21-15.
图 21-16.
图 21-17.
图 21-18.
图 21-19.
图 21-20.
图 21-21.
图 21-22.
图 21-23.
图 A-1.
图 A-2.
图 A-3.
图 A-4.
图 A-5.
CAN 数据帧/远程帧 ............................................................................................ 949
FIFO 缓冲区中的报文对象 .................................................................................. 956
CAN 的位时间 ................................................................................................... 959
模拟比较器模块的结构图 .................................................................................... 994
比较单元的结构 ................................................................................................. 995
比较器内部参考结构 .......................................................................................... 996
64 管脚 LQFP 封装管脚图 ................................................................................ 1007
Load Conditions ............................................................................................... 1033
JTAG Test Clock Input Timing ........................................................................... 1034
JTAG Test Access Port (TAP) Timing ................................................................ 1035
Power Assertions versus VDDA Levels ............................................................. 1037
Power and Brown-Out Assertions versus VDD Levels ........................................ 1038
POK assertion vs VDDC ................................................................................... 1039
POR-BOR0-BOR1 VDD Glitch Response .......................................................... 1039
POR-BOR0-BOR1 VDD Droop Response ......................................................... 1040
Digital Power-On Reset Timing ......................................................................... 1041
Brown-Out Reset Timing .................................................................................. 1041
External Reset Timing (RST) ............................................................................ 1042
Software Reset Timing ..................................................................................... 1042
Watchdog Reset Timing ................................................................................... 1042
MOSC Failure Reset Timing ............................................................................. 1042
Hibernation Module Timing ............................................................................... 1052
ESD Protection on Fail-Safe Pins ...................................................................... 1055
ESD Protection on Non-Fail-Safe Pins .............................................................. 1056
ADC Input Equivalency Diagram ....................................................................... 1060
SSI Timing for TI Frame Format (FRF=01), Single Transfer Timing
Measurement .................................................................................................. 1062
SSI Timing for MICROWIRE Frame Format (FRF=10), Single Transfer ............... 1062
Master Mode SSI Timing for SPI Frame Format (FRF=00), with SPH=1 .............. 1063
Slave Mode SSI Timing for SPI Frame Format (FRF=00), with SPH=1 ................ 1063
I2C Timing ....................................................................................................... 1064
器件型号说明 ................................................................................................... 1070
TM4C1231D5PM 64 管脚 LQFP 封装图 ............................................................ 1072
64 管脚 LQFP PM 封装载带 .............................................................................. 1073
64 管脚 LQFP PM 封装塑料圆盘 ....................................................................... 1074
64 管脚 LQFP PM 封装用载带圆盘箱 ................................................................ 1074
2014 年 01 月 28 日
13
Texas Instruments-预告信息
目录
表格清单
表 1.
表 1-1.
表 2-1.
表 2-2.
表 2-3.
表 2-4.
表 2-5.
表 2-6.
表 2-7.
表 2-8.
表 2-9.
表 2-10.
表 2-11.
表 2-12.
表 2-13.
表 3-1.
表 3-2.
表 3-3.
表 3-4.
表 3-5.
表 3-6.
表 3-7.
表 3-8.
表 3-9.
表 3-10.
表 4-1.
表 4-2.
表 4-3.
表 5-1.
表 5-2.
表 5-3.
表 5-4.
表 5-5.
表 5-6.
表 5-7.
表 5-8.
表 6-1.
表 7-1.
表 7-2.
表 7-3.
表 8-1.
表 8-2.
表 8-3.
表 9-1.
表 9-2.
表 9-3.
文档约定 ............................................................................................................. 32
TM4C1231D5PM 微控制器特性 ............................................................................ 35
处理器模式、特权等级和堆栈使用摘要 .................................................................. 57
处理器 寄存器映射 ............................................................................................... 58
PSR 寄存器组合 .................................................................................................. 64
存储器映射 .......................................................................................................... 75
存储器访问行为 ................................................................................................... 78
SRAM 存储器位带区 ............................................................................................ 79
外设存储器位带区 ................................................................................................ 80
异常类型 ............................................................................................................. 85
中断信号 ............................................................................................................. 85
异常返回行为 ...................................................................................................... 91
故障 .................................................................................................................... 92
故障状态寄存器和故障地址寄存器 ........................................................................ 93
Cortex-M4F 指令摘要 ........................................................................................... 95
内核外设寄存器区域 .......................................................................................... 101
存储器属性摘要 ................................................................................................. 104
TEX、S、C 和 B 位域编码 ................................................................................. 107
存储器属性编码对应的高速缓存策略 ................................................................... 107
AP 位域编码 ...................................................................................................... 107
Stellaris Tiva™ C 系列 微控制器的存储器区属性 .................................................. 108
QNaN 和 SNaN 处理 .......................................................................................... 110
外设 寄存器映射 ................................................................................................ 111
中断优先级分组 ................................................................................................. 141
SIZE 域数值示例 ................................................................................................ 168
JTAG_SWD_SWO 信号 (64LQFP) ...................................................................... 176
上电复位或 RST 生效后的 JTAG 端口管脚状态 .................................................... 177
JTAG 指令寄存器命令 ........................................................................................ 182
系统控制; 时钟 信号 (64LQFP) ............................................................................ 186
复位源 .............................................................................................................. 187
时钟源选项 ........................................................................................................ 194
使用 SYSDIV 域可能实现的系统时钟频率 ............................................................ 195
使用 SYSDIV2 域可能实现的系统时钟频率示例 ................................................... 196
当 DIV400=1 时可能实现的系统时钟频率示例 ...................................................... 196
系统控制 寄存器映射 .......................................................................................... 203
替代 RCC 域的 RCC2 域 .................................................................................... 227
系统异常 寄存器映射 .......................................................................................... 421
休眠 信号 (64LQFP) ........................................................................................... 430
休眠模块的时钟运行 .......................................................................................... 438
休眠模块 寄存器映射 .......................................................................................... 439
Flash 存储器保护策略组合 ................................................................................. 462
用户可编程的 Flash 存储器驻留寄存器 ................................................................ 466
Flash 寄存器映射 ............................................................................................... 470
μDMA 通道分配 ................................................................................................. 514
所支持的请求类型 .............................................................................................. 515
控制结构体的存储器映射 .................................................................................... 516
2014 年 01 月 28 日
14
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 9-4.
表 9-5.
表 9-6.
表 9-7.
表 9-8.
表 9-9.
表 9-10.
表 9-11.
表 9-12.
表 9-13.
表 10-1.
表 10-2.
表 10-3.
表 10-4.
表 10-5.
表 10-6.
表 10-7.
表 10-8.
表 10-9.
表 10-10.
表 10-11.
表 11-1.
表 11-2.
表 11-3.
表 11-4.
表 11-5.
表 11-6.
表 11-7.
表 11-8.
表 11-9.
表 11-10.
表 11-11.
表 11-12.
表 12-1.
表 13-1.
表 13-2.
表 13-3.
表 13-4.
表 14-1.
表 14-2.
表 14-3.
表 15-1.
表 15-2.
表 16-1.
表 16-2.
表 16-3.
表 16-4.
表 16-5.
通道控制结构体 .................................................................................................
μDMA 读操作实例:8 位外设 .............................................................................
μDMA 中断分配 .................................................................................................
第 30 号通道的通道控制结构体偏移量 .................................................................
存储器传输示例的通道控制字配置 ......................................................................
第 7 号通道的通道控制结构体偏移量 ...................................................................
外设传输示例的通道控制字配置 ..........................................................................
第 8 号通道的主控制结构体及副控制结构体偏移量 ...............................................
外设乒乓接收示例的通道控制字配置 ...................................................................
μDMA 寄存器映射 ..............................................................................................
具有非 0 复位值的 GPIO 管脚 .............................................................................
GPIO 管脚和复用功能 (64LQFP) ........................................................................
GPIO 端口配置示例 ...........................................................................................
GPIO 中断配置示例 ...........................................................................................
具有非 0 复位值的 GPIO 管脚 .............................................................................
GPIO 触发 寄存器映射 .......................................................................................
具有非 0 复位值的 GPIO 管脚 .............................................................................
具有非 0 复位值的 GPIO 管脚 .............................................................................
具有非 0 复位值的 GPIO 管脚 .............................................................................
具有非 0 复位值的 GPIO 管脚 .............................................................................
具有非 0 复位值的 GPIO 管脚 .............................................................................
可用的 CCP 管脚 ...............................................................................................
通用定时器 信号 (64LQFP) .................................................................................
通用定时器功能 .................................................................................................
单次触发或周期模式下启用定时器时的计数器值 ..................................................
带预分频器的 16 位定时器配置 ...........................................................................
带预分频器配置的 32 位定时器(配置为 32/64 位模式) ......................................
RTC 模式下启用定时器时的计数器值 ..................................................................
输入边沿计数模式下启用定时器时的计数器值 ......................................................
输入事件计数模式下启用定时器时的计数器值 ......................................................
PWM 模式下启用定时器时的计数器值 .................................................................
GPTM 模式的超时动作 .......................................................................................
定时器触发 寄存器映射 ......................................................................................
看门狗定时器 寄存器映射 ...................................................................................
ADC 信号 (64LQFP) ..........................................................................................
采样序列发生器的采样数和 FIFO 深度 ................................................................
差分采样对 ........................................................................................................
ADC 寄存器映射 ................................................................................................
UART 信号 (64LQFP) ........................................................................................
流控模式 ...........................................................................................................
UART 寄存器映射 ..............................................................................................
SSI 信号 (64LQFP) ............................................................................................
SSI 寄存器映射 ..................................................................................................
I2C 信号 (64LQFP) ............................................................................................
I2C 主机定时器周期与速度模式示例 ....................................................................
高速模式下 I2C 主机定时器周期的示例 ................................................................
内部集成电路(I2C)接口 寄存器映射 .................................................................
为 I2CMCS[3:0] 域写入域解码 ............................................................................
2014 年 01 月 28 日
516
526
527
528
528
529
529
531
531
533
576
576
583
583
584
584
595
601
603
606
612
629
630
631
633
634
634
634
637
638
639
643
649
694
719
719
727
734
800
805
809
858
869
900
905
906
917
923
15
Texas Instruments-预告信息
目录
表 17-1.
表 17-2.
表 17-3.
表 17-4.
表 17-5.
表 18-1.
表 18-2.
表 18-3.
表 18-4.
表 18-5.
表 20-1.
表 20-2.
表 20-3.
表 20-4.
表 20-5.
表 20-6.
表 20-7.
表 21-1.
表 21-2.
表 21-3.
表 21-4.
表 21-5.
表 21-6.
表 21-7.
表 21-8.
表 21-9.
表 21-10.
表 21-11.
表 21-12.
表 21-13.
表 21-14.
表 21-15.
表 21-16.
表 21-17.
表 21-18.
表 21-19.
表 21-20.
表 21-21.
表 21-22.
表 21-23.
表 21-24.
表 21-25.
表 21-26.
表 21-27.
表 21-28.
表 21-29.
表 21-30.
表 21-31.
控制器局域网 信号 (64LQFP) ............................................................................. 948
报文对象的配置 ................................................................................................. 953
CAN 协议范围 ................................................................................................... 959
CANBIT 寄存器值 .............................................................................................. 960
CAN 寄存器映射 ................................................................................................ 963
模拟比较器触发 信号 (64LQFP) .......................................................................... 994
内部参考电压和 ACREFCTL 域值 ....................................................................... 996
模拟比较器参考电压特性,VDDA = 3.3V,EN= 1 且 RNG = 0 ............................... 997
模拟比较器参考电压特性,VDDA = 3.3V,EN= 1 且 RNG = 1 ............................... 997
模拟比较器触发 寄存器映射 ................................................................................ 998
默认为复用功能的 GPIO 管脚 ........................................................................... 1008
按管脚编号分类的信号 ..................................................................................... 1008
按信号名称分类的信号 ..................................................................................... 1014
按功能分类的信号(GPIO 除外) ..................................................................... 1019
GPIO 管脚和复用功能 ...................................................................................... 1024
复用功能的可能的管脚赋值 ............................................................................... 1026
未用信号的连接(64 管脚 LQFP) .................................................................... 1028
Maximum Ratings ............................................................................................ 1029
ESD Absolute Maximum Ratings ...................................................................... 1029
Temperature Characteristics ............................................................................. 1030
Thermal Characteristics ................................................................................... 1030
Recommended DC Operating Conditions .......................................................... 1031
Recommended GPIO Pad Operating Conditions ................................................ 1031
GPIO Current Restrictions ................................................................................ 1031
GPIO Package Side Assignments ..................................................................... 1032
JTAG Characteristics ....................................................................................... 1034
Power-On and Brown-Out Levels ...................................................................... 1036
Reset Characteristics ....................................................................................... 1041
LDO Regulator Characteristics ......................................................................... 1043
Phase Locked Loop (PLL) Characteristics ......................................................... 1044
Actual PLL Frequency ...................................................................................... 1044
PIOSC Clock Characteristics ............................................................................ 1045
Low-Frequency internal Oscillator Characteristics .............................................. 1045
Hibernation Oscillator Input Characteristics ........................................................ 1045
Main Oscillator Input Characteristics ................................................................. 1046
Crystal Parameters .......................................................................................... 1047
Supported MOSC Crystal Frequencies .............................................................. 1048
System Clock Characteristics with ADC Operation ............................................. 1049
Sleep Modes AC Characteristics ....................................................................... 1050
Time to Wake with Respect to Low-Power Modes .............................................. 1050
Hibernation Module Battery Characteristics ....................................................... 1052
Hibernation Module AC Characteristics ............................................................. 1052
Flash Memory Characteristics ........................................................................... 1053
EEPROM Characteristics ................................................................................. 1053
GPIO Module Characteristics ............................................................................ 1054
Pad Voltage/Current Characteristics for Fail-Safe Pins ....................................... 1055
Fail-Safe GPIOs that Require an External Pull-up .............................................. 1056
Non-Fail-Safe I/O Pad Voltage/Current Characteristics ....................................... 1056
2014 年 01 月 28 日
16
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 21-32.
表 21-33.
表 21-34.
表 21-35.
表 21-36.
表 21-37.
表 21-38.
表 21-39.
表 A-1.
ADC Electrical Characteristics ..........................................................................
SSI Characteristics ..........................................................................................
I2C Characteristics ...........................................................................................
Analog Comparator Characteristics ...................................................................
Analog Comparator Voltage Reference Characteristics ......................................
Analog Comparator Voltage Reference Characteristics, VDDA = 3.3V, EN= 1, and
RNG = 0 ..........................................................................................................
Analog Comparator Voltage Reference Characteristics, VDDA = 3.3V, EN= 1, and
RNG = 1 ..........................................................................................................
Current Consumption .......................................................................................
可订购的器件型号 ............................................................................................
2014 年 01 月 28 日
1058
1061
1064
1065
1065
1065
1066
1067
1070
17
Texas Instruments-预告信息
目录
寄存器列表
Cortex-M4F 处理器 ......................................................................................................................... 53
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
Cortex 通用寄存器 0(R0) ............................................................................................. 60
Cortex 通用寄存器 1(R1) ............................................................................................. 60
Cortex 通用寄存器 2(R2) ............................................................................................. 60
Cortex 通用寄存器 3(R3) ............................................................................................. 60
Cortex 通用寄存器 4(R4) ............................................................................................. 60
Cortex 通用寄存器 5(R5) ............................................................................................. 60
Cortex 通用寄存器 6(R6) ............................................................................................. 60
Cortex 通用寄存器 7(R7) ............................................................................................. 60
Cortex 通用寄存器 8(R8) ............................................................................................. 60
Cortex 通用寄存器 9(R9) ............................................................................................. 60
Cortex 通用寄存器 10(R10) .......................................................................................... 60
Cortex 通用寄存器 11(R11) .......................................................................................... 60
Cortex 通用寄存器 12(R12) .......................................................................................... 60
堆栈指针(SP) .............................................................................................................. 61
链接寄存器(LR) ........................................................................................................... 62
程序计数器(PC) .......................................................................................................... 63
程序状态寄存器(PSR) .................................................................................................. 64
优先级屏蔽寄存器(PRIMASK) ...................................................................................... 68
故障屏蔽寄存器(FAULTMASK) ..................................................................................... 69
基本优先级屏蔽寄存器(BASEPRI) ................................................................................ 70
控制寄存器(CONTROL) ............................................................................................... 71
浮点状态控制(FPSC)寄存器 ......................................................................................... 73
Cortex-M4 外设 ............................................................................................................................. 101
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
SysTick 控制及状态寄存器(STCTRL),偏移量 0x010 ..................................................
SysTick 重载值寄存器(STRELOAD),偏移量 0x014 ....................................................
SysTick 当前值寄存器(STCURRENT),偏移量 0x018 .................................................
中断 0-31 置位启用寄存器(EN0),偏移量 0x100 .........................................................
中断 32-63 置位启用寄存器(EN1),偏移量 0x104 ........................................................
中断 64-95 置位启用寄存器(EN2),偏移量 0x108 ........................................................
中断 96-127 置位启用寄存器(EN3),偏移量 0x10C .....................................................
中断 128-138 设置启用寄存器(EN4),偏移量 0x110 ....................................................
中断 0-31 清除启用寄存器(DIS0),偏移量 0x180 .........................................................
中断 32-63 清除启用寄存器(DIS1),偏移量 0x184 .......................................................
中断 64-95 清除启用寄存器(DIS2),偏移量 0x188 .......................................................
中断 96-127 清除启用寄存器(DIS3),偏移量 0x18C ....................................................
中断 128-138 清除启用寄存器(DIS4),偏移量 0x190 ...................................................
中断 0-31 置位挂起寄存器(PEND0),偏移量 0x200 .....................................................
中断 32-63 置位挂起寄存器(PEND1),偏移量 0x204 ...................................................
中断 64-95 置位挂起寄存器(PEND2),偏移量 0x208 ...................................................
中断 96-127 置位挂起寄存器(PEND3),偏移量 0x20C .................................................
中断 128-138 置位挂起寄存器(PEND4),偏移量 0x210 ...............................................
中断 0-31 清除挂起寄存器(UNPEND0),偏移量 0x280 ................................................
中断 32-63 清除挂起寄存器(UNPEND1),偏移量 0x284 ..............................................
中断 64-95 清除挂起寄存器(UNPEND2),偏移量 0x288 ..............................................
115
117
118
119
119
119
119
120
121
121
121
121
122
123
123
123
123
124
125
125
125
2014 年 01 月 28 日
18
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 22:
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
寄存器 28:
寄存器 29:
寄存器 30:
寄存器 31:
寄存器 32:
寄存器 33:
寄存器 34:
寄存器 35:
寄存器 36:
寄存器 37:
寄存器 38:
寄存器 39:
寄存器 40:
寄存器 41:
寄存器 42:
寄存器 43:
寄存器 44:
寄存器 45:
寄存器 46:
寄存器 47:
寄存器 48:
寄存器 49:
寄存器 50:
寄存器 51:
寄存器 52:
寄存器 53:
寄存器 54:
寄存器 55:
寄存器 56:
寄存器 57:
寄存器 58:
寄存器 59:
寄存器 60:
寄存器 61:
寄存器 62:
寄存器 63:
寄存器 64:
寄存器 65:
寄存器 66:
寄存器 67:
寄存器 68:
寄存器 69:
中断 96-127 清除挂起寄存器(UNPEND3),偏移量 0x28C ............................................ 125
中断 128-138 清除挂起寄存器(UNPEND4),偏移量 0x290 .......................................... 126
中断 0-31 活动位寄存器(ACTIVE0),偏移量 0x300 ..................................................... 127
中断 32-63 活动位寄存器(ACTIVE1),偏移量 0x304 .................................................... 127
中断 64-95 活动位寄存器(ACTIVE2),偏移量 0x308 .................................................... 127
中断 96-127 活动位寄存器(ACTIVE3),偏移量 0x30C ................................................. 127
中断 128-138 活动位寄存器(ACTIVE4),偏移量 0x310 ................................................ 128
中断 0-3 优先级寄存器(PRI0),偏移量 0x400 .............................................................. 129
中断 4-7 优先级寄存器(PRI1),偏移量 0x404 .............................................................. 129
中断 8-11 优先级寄存器(PRI2),偏移量 0x408 ............................................................ 129
中断 12-15 优先级寄存器(PRI3),偏移量 0x40C ......................................................... 129
中断 16-19 优先级寄存器(PRI4),偏移量 0x410 .......................................................... 129
中断 20-23 优先级寄存器(PRI5),偏移量 0x414 .......................................................... 129
中断 24-27 优先级寄存器(PRI6),偏移量 0x418 .......................................................... 129
中断 28-31 优先级寄存器(PRI7),偏移量 0x41C ......................................................... 129
中断 32-35 优先级寄存器(PRI8),偏移量 0x420 .......................................................... 129
中断 36-39 优先级寄存器(PRI9),偏移量 0x424 .......................................................... 129
中断 40-43 优先级寄存器(PRI10),偏移量 0x428 ........................................................ 129
中断 44-47 优先级寄存器(PRI11),偏移量 0x42C ........................................................ 129
中断 48-51 优先级寄存器(PRI12),偏移量 0x430 ........................................................ 129
中断 52-55 优先级寄存器(PRI13),偏移量 0x434 ........................................................ 129
中断 56-59 优先级寄存器(PRI14),偏移量 0x438 ........................................................ 129
中断 60-63 优先级寄存器(PRI15),偏移量 0x43C ........................................................ 129
中断 64-67 优先级寄存器(PRI16),偏移量 0x440 ........................................................ 131
中断 68-71 优先级寄存器(PRI17),偏移量 0x444 ........................................................ 131
中断 72-75 优先级寄存器(PRI18),偏移量 0x448 ........................................................ 131
中断 76-79 优先级寄存器(PRI19),偏移量 0x44C ........................................................ 131
中断 80-83 优先级寄存器(PRI20),偏移量 0x450 ........................................................ 131
中断 84-87 优先级寄存器(PRI21),偏移量 0x454 ........................................................ 131
中断 88-91 优先级寄存器(PRI22),偏移量 0x458 ........................................................ 131
中断 92-95 优先级寄存器(PRI23),偏移量 0x45C ........................................................ 131
中断 96-99 优先级寄存器(PRI24),偏移量 0x460 ........................................................ 131
中断 100-103 优先级寄存器(PRI25),偏移量 0x464 .................................................... 131
中断 104-107 优先级寄存器(PRI26),偏移量 0x468 .................................................... 131
中断 108-111 优先级寄存器(PRI27),偏移量 0x46C .................................................... 131
中断 112-115 优先级寄存器(PRI28),偏移量 0x470 ..................................................... 131
中断 116-119 优先级寄存器(PRI29),偏移量 0x474 ..................................................... 131
中断 120-123 优先级寄存器(PRI30),偏移量 0x478 .................................................... 131
中断 124-127 优先级寄存器(PRI31),偏移量 0x47C .................................................... 131
中断 128-131 优先级寄存器(PRI32),偏移量 0x480 .................................................... 131
中断 132-135 优先级寄存器(PRI33),偏移量 0x484 .................................................... 131
中断 136-138 优先级寄存器(PRI34),偏移量 0x488 .................................................... 131
软件触发中断寄存器(SWTRIG),偏移量 0xF00 ........................................................... 133
辅助控制寄存器(ACTLR),偏移量 0x008 .................................................................... 134
CPU ID 基础寄存器(CPUID),偏移量 0xD00 ............................................................... 136
中断控制及状态寄存器(INTCTRL),偏移量 0xD04 ....................................................... 137
向量表寄存器(VTABLE),偏移量 0xD08 ..................................................................... 140
应用程序中断及复位控制寄存器(APINT),偏移量 0xD0C ............................................. 141
2014 年 01 月 28 日
19
Texas Instruments-预告信息
目录
寄存器 70:
寄存器 71:
寄存器 72:
寄存器 73:
寄存器 74:
寄存器 75:
寄存器 76:
寄存器 77:
寄存器 78:
寄存器 79:
寄存器 80:
寄存器 81:
寄存器 82:
寄存器 83:
寄存器 84:
寄存器 85:
寄存器 86:
寄存器 87:
寄存器 88:
寄存器 89:
寄存器 90:
寄存器 91:
寄存器 92:
寄存器 93:
寄存器 94:
系统控制寄存器(SYSCTRL),偏移量 0xD10 ............................................................... 143
配置及控制寄存器(CFGCTRL),偏移量 0xD14 ............................................................ 145
系统处理程序优先级寄存器 1(SYSPRI1),偏移量 0xD18 ............................................. 147
系统处理程序优先级寄存器 2(SYSPRI2),偏移量 0xD1C ............................................. 148
系统处理程序优先级寄存器 3(SYSPRI3),偏移量 0xD20 ............................................. 149
系统处理程序控制及状态寄存器(SYSHNDCTRL),偏移量 0xD24 ................................. 150
可配置故障状态寄存器(FAULTSTAT),偏移量 0xD28 .................................................. 153
硬故障状态寄存器(HFAULTSTAT),偏移量 0xD2C ...................................................... 159
存储器管理故障地址寄存器(MMADDR),偏移量 0xD34 ............................................... 160
总线故障地址寄存器(FAULTADDR),偏移量 0xD38 ..................................................... 161
MPU 类型寄存器(MPUTYPE),偏移量 0xD90 ............................................................. 162
MPU 控制寄存器(MPUCTRL),偏移量 0xD94 ............................................................. 163
MPU 区编号寄存器(MPUNUMBER),偏移量 0xD98 .................................................... 165
MPU 区基地址寄存器(MPUBASE),偏移量 0xD9C ..................................................... 166
MPU 区基地址别名寄存器 1(MPUBASE1),偏移量 0xDA4 .......................................... 166
MPU 区基地址别名寄存器 2(MPUBASE2),偏移量 0xDAC .......................................... 166
MPU 区基地址别名寄存器 3(MPUBASE3),偏移量 0xDB4 .......................................... 166
MPU 区属性和大小寄存器(MPUATTR),偏移量 0xDA0 ............................................... 168
MPU 区属性和大小别名寄存器 1(MPUATTR1),偏移量 0xDA8 .................................... 168
MPU 区属性和大小别名寄存器 2(MPUATTR2),偏移量 0xDB0 .................................... 168
MPU 区属性和大小别名寄存器 3(MPUATTR3),偏移量 0xDB8 .................................... 168
协处理器访问控制(CPAC),偏移量 0xD88 .................................................................. 170
浮点上下文控制(FPCC),偏移量 0xF34 ...................................................................... 171
浮点上下文访问(FPCA),偏移量 0xF38 ...................................................................... 173
浮点默认状态控制(FPDSC),偏移量 0xF3C ................................................................ 174
系统控制 ......................................................................................................................................... 186
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
器件标识 0(DID0),偏移量 0x000 ............................................................................... 208
器件标识寄存器 1(DID1),偏移量 0x004 ..................................................................... 210
掉电复位控制(PBORCTL),偏移量 0x030 ................................................................... 212
原始中断状态(RIS),偏移量 0x050 ............................................................................. 213
中断屏蔽控制(IMC),偏移量 0x054 ............................................................................ 215
屏蔽的中断状态和清除(MISC),偏移量 0x058 ............................................................. 217
复位原因(RESC),偏移量 0x05C ............................................................................... 219
运行模式时钟配置(RCC),偏移量 0x060 ..................................................................... 221
GPIO 高性能总线控制(GPIOHBCTL),偏移量 0x06C .................................................. 225
运行模式时钟配置 2(RCC2),偏移量 0x070 ................................................................ 227
主振荡器控制(MOSCCTL),偏移量 0x07C .................................................................. 230
深度睡眠时钟配置(DSLPCLKCFG),偏移量 0x144 ...................................................... 231
系统属性寄存器(SYSPROP),偏移量 0x14C ............................................................... 233
精确内部振荡器校准(PIOSCCAL),偏移量 0x150 ........................................................ 235
精确内部振荡器统计寄存器(PIOSCSTAT),偏移量 0x154 ............................................ 236
PLL 频率寄存器 0(PLLFREQ0),偏移量 0x160 ........................................................... 237
PLL 频率寄存器 1(PLLFREQ1),偏移量 0x164 ........................................................... 238
PLL 状态寄存器(PLLSTAT),偏移量 0x168 ................................................................. 239
睡眠功率配置寄存器(SLPPWRCFG),偏移量 0x188 ................................................... 240
深度睡眠功率配置寄存器(DSLPPWRCFG),偏移量 0x18C .......................................... 241
LDO 睡眠功率控制寄存器(LDOSPCTL),偏移量 0x1B4 ............................................... 242
LDO 睡眠功率校准寄存器(LDOSPCAL),偏移量 0x1B8 ............................................... 244
2014 年 01 月 28 日
20
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
寄存器 28:
寄存器 29:
寄存器 30:
寄存器 31:
寄存器 32:
寄存器 33:
寄存器 34:
寄存器 35:
寄存器 36:
寄存器 37:
寄存器 38:
寄存器 39:
寄存器 40:
寄存器 41:
寄存器 42:
寄存器 43:
寄存器 44:
寄存器 45:
寄存器 46:
寄存器 47:
寄存器 48:
寄存器 49:
寄存器 50:
寄存器 51:
寄存器 52:
寄存器 53:
寄存器 54:
寄存器 55:
寄存器 56:
寄存器 57:
寄存器 58:
寄存器 59:
寄存器 60:
寄存器 61:
寄存器 62:
寄存器 63:
寄存器 64:
寄存器 65:
寄存器 66:
寄存器 67:
寄存器 68:
寄存器 69:
LDO 深度睡眠功率控制寄存器(LDODPCTL),偏移量 0x1BC ....................................... 245
LDO 深度睡眠功率校准寄存器(LDODPCAL),偏移量 0x1C0 ........................................ 247
睡眠/深度睡眠功率模式状态寄存器(SDPMST),偏移量 0x1CC ..................................... 248
看门狗定时器外设存在寄存器(PPWD),偏移量 0x300 ................................................. 251
16/32 位通用定时器外设存在寄存器(PPTIMER),偏移量 0x304 ................................... 252
通用输入/输出外设存在寄存器(PPGPIO),偏移量 0x308 ............................................. 254
微型直接存储器访问外设存在寄存器(PPDMA),偏移量 0x30C ..................................... 257
休眠外设存在寄存器(PPHIB),偏移量 0x314 ............................................................... 258
通用异步收发器外设存在寄存器(PPUART),偏移量 0x318 .......................................... 259
同步串行接口外设存在寄存器(PPSSI),偏移量 0x31C ................................................. 261
内部集成电路外设存在寄存器(PPI2C),偏移量 0x320 .................................................. 262
通用串行总线外设存在寄存器(PPUSB),偏移量 0x328 ................................................ 264
控制器局域网外设存在寄存器(PPCAN),偏移量 0x334 ................................................ 265
模数转换器外设存在寄存器(PPADC),偏移量 0x338 ................................................... 266
模拟比较器外设存在寄存器(PPACMP),偏移量 0x33C ................................................ 267
脉宽调解器外设存在寄存器(PPPWM),偏移量 0x340 .................................................. 268
正交编码器接口外设存在寄存器(PPQEI),偏移量 0x344 .............................................. 269
EEPROM 外设存在寄存器(PPEEPROM),偏移量 0x358 ............................................. 270
32/64 位宽通用定时器外设存在寄存器(PPWTIMER),偏移量 0x35C ............................ 271
看门狗定时器软件复位寄存器(SRWD),偏移量 0x500 ................................................. 273
16/32 位通用定时器软件复位寄存器(SRTIMER),偏移量 0x504 ................................... 274
通用输入/输出软件复位寄存器(SRGPIO),偏移量 0x508 ............................................. 276
微型直接存储器访问软件复位寄存器(SRDMA),偏移量 0x50C ..................................... 278
休眠软件复位寄存器(SRHIB),偏移量 0x514 .............................................................. 279
通用异步收发器软件复位寄存器(SRUART),偏移量 0x518 .......................................... 280
同步串行接口软件复位寄存器(SRSSI),偏移量 0x51C ................................................. 282
内部集成电路软件复位寄存器(SRI2C),偏移量 0x520 ................................................. 284
控制器局域网软件复位寄存器(SRCAN),偏移量 0x534 ............................................... 286
模数转换器软件复位寄存器(SRADC),偏移量 0x538 ................................................... 287
模数比较器软件复位寄存器(SRACMP),偏移量 0x53C ................................................ 288
EEPROM 软件复位寄存器(SREEPROM),偏移量 0x558 ............................................. 289
32/64 位宽通用定时器软件复位寄存器(SRWTIMER),偏移量 0x55C ............................ 290
看门狗定时器运行模式时钟门控控制寄存器(RCGCWD),偏移量 0x600 ........................ 292
16/32 位通用定时器运行模式时钟门控控制寄存器(RCGCTIMER),偏移量 0x604 .......... 293
通用输入/输出运行模式时钟门控控制寄存器(RCGCGPIO),偏移量 0x608 .................... 295
微型直接存储器访问运行模式时钟门控控制寄存器(RCGCDMA),偏移量 0x60C ........... 297
休眠运行模式时钟门控控制寄存器(RCGCHIB),偏移量 0x614 ..................................... 298
通用异步收发器运行模式时钟门控控制寄存器(RCGCUART),偏移量 0x618 ................. 299
同步串行接口运行模式时钟门控控制寄存器(RCGCSSI),偏移量 0x61C ....................... 301
内部集成电路运行模式时钟门控控制寄存器(RCGCI2C),偏移量 0x620 ........................ 303
控制器局域网运行模式时钟门控控制寄存器(RCGCCAN),偏移量 0x634 ...................... 305
模数转换器运行模式时钟门控控制寄存器(RCGCADC),偏移量 0x638 .......................... 306
模拟比较器运行模式时钟门控控制寄存器(RCGCACMP),偏移量 0x63C ....................... 307
EEPROM 运行模式时钟门控控制寄存器(RCGCEEPROM),偏移量 0x658 .................... 308
32/64 位宽通用定时器运行模式时钟门控控制寄存器(RCGCWTIMER),偏移量
0x65C ........................................................................................................................... 309
看门狗定时器睡眠模式时钟门控控制寄存器(SCGCWD),偏移量 0x700 ........................ 311
16/32 位通用定时器睡眠模式时钟门控控制寄存器(SCGCTIMER),偏移量 0x704 .......... 312
2014 年 01 月 28 日
21
Texas Instruments-预告信息
目录
寄存器 70:
寄存器 71:
寄存器 72:
寄存器 73:
寄存器 74:
寄存器 75:
寄存器 76:
寄存器 77:
寄存器 78:
寄存器 79:
寄存器 80:
寄存器 81:
寄存器 82:
寄存器 83:
寄存器 84:
寄存器 85:
寄存器 86:
寄存器 87:
寄存器 88:
寄存器 89:
寄存器 90:
寄存器 91:
寄存器 92:
寄存器 93:
寄存器 94:
寄存器 95:
寄存器 96:
寄存器 97:
寄存器 98:
寄存器 99:
寄存器 100:
寄存器 101:
寄存器 102:
寄存器 103:
寄存器 104:
寄存器 105:
寄存器 106:
寄存器 107:
寄存器 108:
寄存器 109:
寄存器 110:
寄存器 111:
寄存器 112:
寄存器 113:
寄存器 114:
寄存器 115:
通用输入/输出睡眠模式时钟门控控制寄存器(SCGCGPIO),偏移量 0x708 .................... 314
微型直接存储器访问睡眠模式时钟门控控制寄存器(SCGCDMA),偏移量 0x70C ............ 316
休眠睡眠模式时钟门控控制寄存器(SCGCHIB),偏移量 0x714 ..................................... 317
通用异步收发器睡眠模式时钟门控控制寄存器(SCGCUART),偏移量 0x718 ................. 318
同步串行接口睡眠模式时钟门控控制寄存器(SCGCSSI),偏移量 0x71C ........................ 320
内部集成电路睡眠模式时钟门控控制寄存器(SCGCI2C),偏移量 0x720 ........................ 322
控制器局域网睡眠模式时钟门控控制寄存器(SCGCCAN),偏移量 0x734 ....................... 324
模数转换器睡眠模式时钟门控控制寄存器(SCGCADC),偏移量 0x738 .......................... 325
模拟比较器睡眠模式时钟门控控制寄存器(SCGCACMP),偏移量 0x73C ....................... 326
EEPROM 睡眠模式时钟门控控制寄存器(SCGCEEPROM),偏移量 0x758 .................... 327
32/64 位宽通用定时器睡眠模式时钟门控控制寄存器(SCGCWTIMER),偏移量
0x75C ........................................................................................................................... 328
看门狗定时器深度睡眠模式时钟门控控制寄存器(DCGCWD),偏移量 0x800 ................. 330
16/32 位通用定时器深度睡眠模式时钟门控控制寄存器(DCGCTIMER),偏移量
0x804 ........................................................................................................................... 331
通用输入/输出深度睡眠模式时钟门控控制寄存器(DCGCGPIO),偏移量 0x808 ............. 333
微型直接存储器访问深度睡眠模式时钟门控控制寄存器(DCGCDMA),偏移量 0x80C ..... 335
休眠深度睡眠模式时钟门控控制寄存器(DCGCHIB),偏移量 0x814 .............................. 336
通用异步收发器深度睡眠模式时钟门控控制寄存器(DCGCUART),偏移量 0x818 .......... 337
同步串行接口深度睡眠模式时钟门控控制寄存器(DCGCSSI),偏移量 0x81C ................. 339
内部集成电路深度睡眠模式时钟门控控制寄存器(DCGCI2C),偏移量 0x820 ................. 341
控制器局域网深度睡眠模式时钟门控控制寄存器(DCGCCAN),偏移量 0x834 ................ 343
模数转换器深度睡眠模式时钟门控控制寄存器(DCGCADC),偏移量 0x838 ................... 344
模拟比较器深度睡眠模式时钟门控控制寄存器(DCGCACMP),偏移量 0x83C ................ 345
EEPROM 深度睡眠模式时钟门控控制寄存器(DCGCEEPROM),偏移量 0x858 ............. 346
32/64 位宽通用定时器深度睡眠模式时钟门控控制寄存器(DCGCWTIMER),偏移量
0x85C ........................................................................................................................... 347
看门狗定时器外设就绪寄存器(PRWD),偏移量 0xA00 ................................................. 349
16/32 位通用定时器外设就绪寄存器(PRTIMER),偏移量 0xA04 ................................... 350
通用输入/输出外设就绪寄存器(PRGPIO),偏移量 0xA08 ............................................. 352
微型直接存储器访问外设就绪寄存器(PRDMA),偏移量 0xA0C .................................... 354
休眠外设就绪寄存器(PRHIB),偏移量 0xA14 .............................................................. 355
通用异步收发器外设就绪寄存器(PRUART),偏移量 0xA18 .......................................... 356
同步串行接口外设就绪寄存器(PRSSI),偏移量 0xA1C ................................................ 358
内部集成电路外设就绪寄存器(PRI2C),偏移量 0xA20 ................................................. 360
控制器局域网外设就绪寄存器(PRCAN),偏移量 0xA34 ............................................... 362
模数转换器外设就绪寄存器(PRADC),偏移量 0xA38 .................................................. 363
模拟比较器外设就绪寄存器(PRACMP),偏移量 0xA3C ............................................... 364
EEPROM 外设就绪寄存器(PREEPROM),偏移量 0xA58 ............................................ 365
32/64 位宽通用定时器外设就绪寄存器(PRWTIMER),偏移量 0xA5C ............................ 366
器件功能寄存器 0(DC0),偏移量 0x008 ...................................................................... 368
器件功能寄存器 1(DC1),偏移量 0x010 ...................................................................... 370
器件功能寄存器 2(DC2),偏移量 0x014 ...................................................................... 373
器件功能寄存器 3(DC3),偏移量 0x018 ...................................................................... 375
器件功能寄存器 4(DC4),偏移量 0x01C ..................................................................... 379
器件功能寄存器 5(DC5),偏移量 0x020 ...................................................................... 381
器件功能寄存器 6(DC6),偏移量 0x024 ...................................................................... 383
器件功能寄存器 7(DC7),偏移量 0x028 ...................................................................... 384
器件功能寄存器 8 (DC8),偏移量 0x02C .................................................................... 387
2014 年 01 月 28 日
22
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 116:
寄存器 117:
寄存器 118:
寄存器 119:
寄存器 120:
寄存器 121:
寄存器 122:
寄存器 123:
寄存器 124:
寄存器 125:
寄存器 126:
寄存器 127:
寄存器 128:
寄存器 129:
软件复位控制寄存器 0(SRCR0),偏移量 0x040 ..........................................................
软件复位控制寄存器 1(SRCR1),偏移量 0x044 ..........................................................
软件复位控制寄存器 2(SRCR2),偏移量 0x048 ..........................................................
运行模式时钟门控控制寄存器 0(RCGC0),偏移量 0x100 .............................................
运行模式时钟门控控制寄存器 1(RCGC1),偏移量 0x104 .............................................
运行模式时钟门控控制寄存器 2(RCGC2),偏移量 0x108 .............................................
睡眠模式时钟门控控制寄存器 0(SCGC0),偏移量 0x110 .............................................
睡眠模式时钟门控控制寄存器 1(SCGC1),偏移量 0x114 .............................................
睡眠模式时钟门控控制寄存器 2(SCGC2),偏移量 0x118 .............................................
深度睡眠模式时钟门控控制寄存器 0(DCGC0),偏移量 0x120 ......................................
深度睡眠模式时钟门控控制寄存器 1(DCGC1),偏移量 0x124 ......................................
深度睡眠模式时钟门控控制寄存器 2(DCGC2),偏移量 0x128 ......................................
器件功能寄存器 9(DC9),偏移量 0x190 ......................................................................
非易失性存储器信息寄存器(NVMSTAT),偏移量 0x1A0 ...............................................
390
392
394
396
399
402
404
406
409
411
413
416
418
420
系统异常模块 ................................................................................................................................. 421
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
系统异常原始中断状态(SYSEXCRIS),偏移量 0x000 ..................................................
系统异常中断屏蔽(SYSEXCIM),偏移量 0x004 ...........................................................
系统异常屏蔽的中断状态(SYSEXCMIS),偏移量 0x008 ..............................................
系统异常中断清零(SYSEXCIC),偏移量 0x00C ..........................................................
422
424
426
428
休眠模块 ......................................................................................................................................... 429
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
休眠 RTC 计数器寄存器(HIBRTCC),偏移量 0x000 ....................................................
休眠 RTC 匹配寄存器 0(HIBRTCM0),偏移量 0x004 ...................................................
休眠 RTC 加载寄存器(HIBRTCLD),偏移量 0x00C .....................................................
休眠控制寄存器(HIBCTL),偏移量 0x010 ...................................................................
休眠中断屏蔽寄存器(HIBIM),偏移量 0x014 ...............................................................
休眠原始中断状态寄存器(HIBRIS),偏移量 0x018 .......................................................
休眠屏蔽中断状态寄存器(HIBMIS),偏移量 0x01C ......................................................
休眠中断清除寄存器(HIBIC),偏移量 0x020 ................................................................
休眠 RTC 修正寄存器(HIBRTCT),偏移量 0x024 ........................................................
休眠 RTC 亚秒寄存器(HIBRTCSS),偏移量 0x028 ......................................................
休眠数据寄存器(HIBDATA),偏移量 0x030-0x06F .......................................................
441
442
443
444
448
450
452
454
455
456
457
内部存储器 ..................................................................................................................................... 458
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
Flash 存储器地址(FMA),偏移量 0x000 ...................................................................... 473
Flash 存储器数据寄存器(FMD),偏移量 0x004 ............................................................ 474
Flash 存储器控制(FMC),偏移量 0x008 ...................................................................... 475
Flash 控制器原始中断状态(FCRIS),偏移量 0x00C ..................................................... 477
Flash 控制器中断屏蔽(FCIM),偏移量 0x010 .............................................................. 479
Flash控制器可屏蔽中断的状态和清除(FCMISC),偏移量 0x014 ................................... 481
Flash存储器控制2(FMC2),偏移量 0x020 ................................................................... 483
Flash 写缓冲器有效(FWBVAL),偏移量 0x030 ............................................................ 484
Flash 写缓冲器n(FWBn),偏移量 0x100 - 0x17C ........................................................ 485
Flash 容量寄存器(FSIZE),偏移量 0xFC0 ................................................................... 486
SRAM 大小寄存器(SSIZE),偏移量 0xFC4 ................................................................. 487
ROM 软件映射寄存器(ROMSWMAP),偏移量 0xFCC ................................................. 488
EEPROM 大小信息寄存器(EESIZE),偏移量 0x000 .................................................... 489
EEPROM 当前块寄存器(EEBLOCK),偏移量 0x004 ................................................... 490
EEPROM 当前寄存器(EEOFFSET),偏移量 0x008 ..................................................... 491
EEPROM 读写寄存器(EERDWR),偏移量 0x010 ........................................................ 492
2014 年 01 月 28 日
23
Texas Instruments-预告信息
目录
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
寄存器 28:
寄存器 29:
寄存器 30:
寄存器 31:
寄存器 32:
寄存器 33:
寄存器 34:
寄存器 35:
寄存器 36:
EEPROM 读写加 1 寄存器(EERDWRINC),偏移量 0x014 ........................................... 493
EEPROM 完成状态寄存器(EEDONE),偏移量 0x018 .................................................. 494
EEPROM 支持控制和状态寄存器(EESUPP),偏移量 0x01C ........................................ 496
EEPROM 解锁寄存器(EEUNLOCK),偏移量 0x020 .................................................... 498
EEPROM 保护寄存器(EEPROT),偏移量 0x030 ......................................................... 499
EEPROM 密码寄存器(EEPASS0),偏移量 0x034 ........................................................ 500
EEPROM 密码寄存器(EEPASS1),偏移量 0x038 ........................................................ 500
EEPROM 密码寄存器(EEPASS2),偏移量 0x03C ....................................................... 500
EEPROM 中断寄存器(PWM0CTL),偏移量 0x040 ...................................................... 501
EEPROM 块隐藏寄存器(EEHIDE),偏移量 0x050 ....................................................... 502
EEPROM 调试整体擦除寄存器(EEDBGME),偏移量 0x080 ........................................ 503
EEPROM 外设属性寄存器(EEPROMPP),偏移量 0xFC0 ............................................ 504
ROM 控制(RMCTL),偏移量 0x0F0 ........................................................................... 505
Flash 存储器保护读取启用寄存器 0(FMPRE0),偏移量 0x130 和 0x200 ....................... 506
Flash 存储器保护编程启用寄存器 0(FMPPE0),偏移量 0x134 和 0x400 ....................... 507
启动配置(BOOTCFG),偏移量 0x1D0 ........................................................................ 508
用户寄存器 0(USER_REG0),偏移量 0x1E0 ............................................................... 511
用户寄存器 1(USER_REG1),偏移量 0x1E4 ............................................................... 511
用户寄存器 2(USER_REG2),偏移量 0x1E8 ............................................................... 511
用户寄存器 3(USER_REG3),偏移量 0x1EC .............................................................. 511
微型直接存储器访问(μDMA) ..................................................................................................... 512
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
DMA 通道源地址末指针寄存器(DMASRCENDP),偏移量 0x000 .................................. 535
DMA 通道目的地址末指针寄存器(DMADSTENDP),偏移量 0x004 ............................... 536
DMA 通道控制字寄存器(DMACHCTL),偏移量 0x008 ................................................. 537
DMA 状态寄存器(DMASTAT),偏移量 0x000 .............................................................. 542
DMA 配置寄存器(DMACFG),偏移量 0x004 ............................................................... 544
DMA 通道控制基指针寄存器(DMACTLBASE),偏移量 0x008 ...................................... 545
DMA 副通道控制基指针寄存器(DMAALTBASE),偏移量 0x00C ................................... 546
DMA 通道等待请求状态寄存器(DMAWAITSTAT),偏移量 0x010 .................................. 547
DMA 通道软件请求寄存器(DMASWREQ),偏移量 0x014 ............................................ 548
DMA 通道采用猝发置位寄存器(DMAUSEBURSTSET),偏移量 0x018 ......................... 549
DMA 通道采用猝发清除寄存器(DMAUSEBURSTCLR),偏移量 0x01C ......................... 550
DMA 通道请求屏蔽置位寄存器(DMAREQMASKSET),偏移量 0x020 ........................... 551
DMA 通道请求屏蔽清零寄存器(DMAREQMASKCLR),偏移量 0x024 ........................... 552
DMA 通道启用置位寄存器(DMAENASET),偏移量 0x028 ........................................... 553
DMA 通道启用清除寄存器(DMAENACLR),偏移量 0x02C ........................................... 554
DMA 通道主副置位寄存器(DMAALTSET),偏移量 0x030 ............................................ 555
DMA 通道主副清除寄存器(DMAALTCLR),偏移量 0x030 ............................................ 556
DMA 通道优先置位寄存器(DMAPRIOSET),偏移量 0x038 .......................................... 557
DMA 通道优先清零寄存器(DMAPRIOCLR),偏移量 0x03C ......................................... 558
DMA 总线错误清除寄存器(DMAERRCLR),偏移量 0x04C ........................................... 559
DMA 通道分配寄存器(DMACHASGN),偏移量 0x500 ................................................. 560
DMA 通道中断状态寄存器(DMACHIS),偏移量 0x504 ................................................. 561
DMA 通道映射选择寄存器 0(DMACHMAP0),偏移量 0x510 ........................................ 562
DMA 通道映射选择寄存器 1(DMACHMAP1),偏移量 0x514 ........................................ 563
DMA 通道映射选择寄存器 2(DMACHMAP2),偏移量 0x518 ........................................ 564
DMA 通道映射选择寄存器 3(DMACHMAP3),偏移量 0x51C ........................................ 565
DMA 外设标识寄存器 0(DMAPeriphID0),偏移量 0xFE0 ............................................. 566
2014 年 01 月 28 日
24
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 28:
寄存器 29:
寄存器 30:
寄存器 31:
寄存器 32:
寄存器 33:
寄存器 34:
寄存器 35:
DMA 外设标识寄存器 1(DMAPeriphID1),偏移量 0xFE4 .............................................
DMA 外设标识寄存器 2(DMAPeriphID2),偏移量 0xFE8 .............................................
DMA 外设标识寄存器 3(DMAPeriphID3),偏移量 0xFEC .............................................
DMA 外设标识寄存器 4(DMAPeriphID4),偏移量 0xFD0 .............................................
DMA PrimeCell 标识寄存器 0(DMAPCellID0),偏移量 0xFF0 ......................................
DMA PrimeCell 标识寄存器 1(DMAPCellID1),偏移量 0xFF4 ......................................
DMA PrimeCell 标识寄存器 2(DMAPCellID2),偏移量 0xFF8 ......................................
DMA PrimeCell 标识寄存器 3(DMAPCellID3),偏移量 0xFFC ......................................
567
568
569
570
571
572
573
574
通用输入/输入端口(GPIOs) ....................................................................................................... 575
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
寄存器 28:
寄存器 29:
寄存器 30:
寄存器 31:
寄存器 32:
寄存器 33:
寄存器 34:
寄存器 35:
寄存器 36:
GPIO 数据寄存器(GPIODATA),偏移量 0x000 ............................................................
GPIO 方向寄存器(GPIODIR),偏移量 0x400 ...............................................................
GPIO 中断检测寄存器(GPIOIS),偏移量 0x404 ..........................................................
GPIO 中断双边沿(GPIOIBE),偏移量 0x408 ...............................................................
GPIO 中断事件寄存器(GPIOIEV),偏移量 0x40C ........................................................
GPIO 中断屏蔽寄存器(GPIOIM),偏移量 0x410 ..........................................................
GPIO 原始中断状态寄存器(GPIORIS),偏移量 0x414 .................................................
GPIO 屏蔽中断状态寄存器(GPIOMIS),偏移量 0x418 .................................................
GPIO 中断清除寄存器(GPIOICR),偏移量 0x41C .......................................................
GPIO 备用功能选择寄存器(GPIOAFSEL),偏移量 0x420 ............................................
GPIO 2-mA 驱动选择寄存器(GPIODR2R),偏移量 0x500 ............................................
GPIO 4-mA 驱动选择寄存器(GPIODR4R),偏移量 0x504 ............................................
GPIO 8-mA 驱动选择寄存器(GPIODR8R),偏移量 0x508 ............................................
GPIO 开漏选择寄存器(GPIOODR),偏移量 0x50C ......................................................
GPIO 上拉电阻选择寄存器(GPIOPUR),偏移量 0x510 ................................................
GPIO 下拉电阻选择寄存器(GPIOPDR),偏移量 0x514 ................................................
GPIO 斜率控制选择寄存器(GPIOSLR),偏移量 0x518 ................................................
GPIO 数字使能寄存器(GPIODEN),偏移量 0x51C ......................................................
GPIO 锁定寄存器(GPIOLOCK),偏移量 0x520 ...........................................................
GPIO 确认寄存器(GPIOCR),偏移量 0x524 ...............................................................
GPIO 模拟选择寄存器(GPIOAMSEL),偏移量 0x528 ..................................................
GPIO端口控制寄存器(GPIOPCTL),偏移量0x52C ......................................................
GPIO ADC 控制寄存器(GPIOADCCTL),偏移量 0x530 ...............................................
GPIO DMA 控制寄存器(GPIODMACTL),偏移量 0x534 ..............................................
GPIO 外设标识寄存器 4(GPIOPeriphID4),偏移量 0xFD0 ...........................................
GPIO 外设标识寄存器 5(GPIOPeriphID5),偏移量 0xFD4 ...........................................
GPIO 外设标识寄存器 6(GPIOPeriphID6),偏移量0xFD8 ............................................
GPIO 外设标识寄存器 7(GPIOPeriphID7),偏移量 0xFDC ...........................................
GPIO 外设标识寄存器 0(GPIOPeriphID0),偏移量 0xFE0 ...........................................
GPIO 外设标识寄存器 1(GPIOPeriphID1),偏移量 0xFE4 ...........................................
GPIO 外设标识寄存器 2(GPIOPeriphID2),偏移量 0xFE8 ...........................................
GPIO 外设标识寄存器 3(GPIOPeriphID3),偏移量 0xFEC ...........................................
GPIO PrimeCell 标识寄存器 0(GPIOPCellID0),偏移量 0xFF0 .....................................
GPIO PrimeCell 标识寄存器 1(GPIOPCellID1),偏移量 0xFF4 .....................................
GPIO PrimeCell 标识寄存器 2(GPIOPCellID2),偏移量 0xFF8 .....................................
GPIO PrimeCell 标识寄存器 3(GPIOPCellID3),偏移量 0xFFC ....................................
586
587
588
589
590
591
592
593
594
595
597
598
599
600
601
603
605
606
608
609
611
612
614
615
616
617
618
619
620
621
622
623
624
625
626
627
通用定时器 ..................................................................................................................................... 628
寄存器 1:
寄存器 2:
GPTM 配置寄存器(GPTMCFG),偏移量 0x000 ........................................................... 650
GPTM Timer A 模式寄存器(GPTMTAMR),偏移量 0x004 ............................................ 651
2014 年 01 月 28 日
25
Texas Instruments-预告信息
目录
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
GPTM Timer B 模式寄存器(GPTMTBMR),偏移量 0x008 ............................................ 654
GPTM 控制寄存器(GPTMCTL),偏移量 0x00C ........................................................... 657
GPTM 同步寄存器(GPTMSYNC),偏移量 0x010 ........................................................ 660
GPTM 中断屏蔽寄存器(GPTMIMR),偏移量 0x018 ..................................................... 663
GPTM 原始中断状态寄存器(GPTMRIS),偏移量 0x01C .............................................. 666
GPTM 屏蔽的中断状态寄存器(GPTMMIS),偏移量 0x020 ........................................... 669
GPTM 中断清除寄存器(GPTMICR),偏移量 0x024 ..................................................... 672
GPTM Timer A 间隔加载寄存器(GPTMTAILR),偏移量 0x028 ..................................... 674
GPTM Timer B 间隔加载寄存器(GPTMTBILR),偏移量 0x02C ..................................... 675
GPTM Timer A 匹配寄存器(GPTMTAMATCHR),偏移量 0x030 ................................... 676
GPTM Timer B 匹配寄存器(GPTMTBMATCHR),偏移量 0x034 ................................... 677
GPTM Timer A 预分频寄存器(GPTMTAPR),偏移量 0x038 ......................................... 678
GPTM Timer B 预分频寄存器(GPTMTBPR),偏移量 0x03C ........................................ 679
GPTM TimerA 预分频匹配寄存器(GPTMTAPMR),偏移量 0x040 ................................. 680
GPTM TimerB 预分频匹配寄存器(GPTMTBPMR),偏移量 0x044 ................................ 681
GPTM Timer A 寄存器(GPTMTAPR),偏移量 0x048 ................................................... 682
GPTM Timer B 寄存器(GPTMTBPR),偏移量 0x04C .................................................. 683
GPTM Timer A 值寄存器(GPTMTAV),偏移量 0x050 ................................................... 684
GPTM Timer B 值寄存器(GPTMTBV),偏移量 0x054 .................................................. 685
GPTM RTC 预分频寄存器(GPTMRTCPD),偏移量 0x058 ........................................... 686
GPTM Timer A 预分频快照寄存器(GPTMTAPS),偏移量 0x05C .................................. 687
GPTM Timer B 预分频快照寄存器(GPTMTBPS),偏移量 0x060 ................................... 688
GPTM Timer A 预分频值寄存器(GPTMTAPV),偏移量 0x064 ...................................... 689
GPTM Timer B 预分频值寄存器(GPTMTBPV),偏移量 0x068 ...................................... 690
GPTM 外设属性寄存器(GPTMPP),偏移量 0xFC0 ...................................................... 691
看门狗定时器 ................................................................................................................................. 692
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
看门狗加载寄存器(WDTLOAD),偏移量 0x000 ...........................................................
看门狗当前值寄存器(WDTVALUE),偏移量 0x004 ......................................................
看门狗控制寄存器(WDTCTL),偏移量 0x008 ..............................................................
看门狗中断清除寄存器(WDTICR),偏移量 0x00C .......................................................
看门狗原始中断状态寄存器(WDTRIS),偏移量 0x010 .................................................
看门狗可屏蔽中断状态寄存器(WDTMIS),偏移量 0x014 ..............................................
看门狗测试寄存器(WDTTEST),偏移量 0x418 ............................................................
看门狗锁定寄存器(WDTLOCK),偏移量 0xC00 ...........................................................
看门狗外设标识寄存器 4(WDTPeriphID4),偏移量 0xFD0 ...........................................
看门狗外设标识寄存器 5(WDTPeriphID5),偏移量 0xFD4 ...........................................
看门狗外设标识寄存器 6(WDTPeriphID6),偏移量 0xFD8 ...........................................
看门狗外设标识寄存器 7(WDTPeriphID7),偏移量 0xFDC ...........................................
看门狗外设标识寄存器 0(WDTPeriphID0),偏移量 0xFE0 ...........................................
看门狗外设标识寄存器 1(WDTPeriphID1),偏移量 0xFE4 ...........................................
看门狗外设标识寄存器 2(WDTPeriphID2),偏移量 0xFE8 ...........................................
看门狗外设标识寄存器 3(WDTPeriphID3),偏移量 0xFEC ...........................................
看门狗 PrimeCell 标识寄存器 0(WDTPCellID0),偏移量 0xFF0 ....................................
看门狗 PrimeCell 标识寄存器 1(WDTPCellID1),偏移量 0xFF4 ....................................
看门狗 PrimeCell 标识寄存器 2(WDTPCellID2),偏移量 0xFF8 ....................................
看门狗 PrimeCell 标识寄存器 3(WDTPCellID3),偏移量 0xFFC ...................................
696
697
698
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
模-数转换器(ADC) ..................................................................................................................... 717
寄存器 1:
ADC 有效采样序列发生器寄存器(ADCACTSS),偏移量 0x000 .................................... 737
2014 年 01 月 28 日
26
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
寄存器 28:
寄存器 29:
寄存器 30:
寄存器 31:
寄存器 32:
寄存器 33:
寄存器 34:
寄存器 35:
寄存器 36:
寄存器 37:
寄存器 38:
寄存器 39:
寄存器 40:
寄存器 41:
寄存器 42:
寄存器 43:
寄存器 44:
寄存器 45:
寄存器 46:
寄存器 47:
寄存器 48:
寄存器 49:
ADC原始中断状态寄存器(ADCRIS),偏移量 0x004 ..................................................... 739
ADC 中断掩码寄存器(ADCIM),偏移量 0x008 ............................................................ 741
ADC 中断状态及清除寄存器(ADCISC),偏移量 0x00C ................................................ 743
ADC 上溢状态寄存器(ADCOSTAT),偏移量 0x010 ...................................................... 746
ADC 事件复用选择寄存器(ADCEMUX),偏移量 0x014 ................................................ 748
ADC 下溢状态寄存器(ADCUSTAT),偏移量 0x018 ...................................................... 753
ADC 采样序列发生器优先级寄存器(ADCSSPRI),偏移量 0x020 .................................. 754
ADC 采样相位控制寄存器(ADCSPC),偏移量 0x024 ................................................... 755
ADC 处理器采样序列启动寄存器(ADCPSSI),偏移量 0x028 ........................................ 756
ADC 采样平均控制寄存器(ADCSAC),偏移量 0x030 ................................................... 758
ADC 数字比较器中断状态及清除寄存器(ADCDCISC),偏移量 0x034 ........................... 759
ADC 控制寄存器(ADCCTL),偏移量 0x038 ................................................................. 761
ADC 采样序列输入复用选择寄存器 0(ADCSSMUX0),偏移量 0x040 ............................ 762
ADC 采样序列控制寄存器 0(ADCSSCTL0),偏移量 0x044 .......................................... 763
ADC 采样序列结果 FIFO 寄存器 0(ADCSSFIFO0),偏移量 0x048 ............................... 769
ADC 采样序列结果 FIFO 寄存器 1(ADCSSFIFO1),偏移量 0x068 ............................... 769
ADC 采样序列结果 FIFO 寄存器 2(ADCSSFIFO2),偏移量 0x088 ............................... 769
ADC 采样序列结果 FIFO 寄存器 3(ADCSSFIFO3),偏移量 0x0A8 ............................... 769
ADC 采样序列 FIFO 0 状态寄存器(ADCSSFSTAT0),偏移量 0x04C ............................ 770
ADC 采样序列 FIFO 1 状态寄存器(ADCSSFSTAT1),偏移量 0x06C ............................ 770
ADC 采样序列 FIFO 2 状态寄存器(ADCSSFSTAT2),偏移量 0x08C ............................ 770
ADC 采样序列 FIFO 3 状态寄存器(ADCSSFSTAT3),偏移量 0x0AC ............................ 770
ADC 采样序列寄存器 0(ADCSSOP0),偏移量 0x050 .................................................. 772
ADC 采样序列数字比较器选择寄存器 0(ADCSSDC0),偏移量 0x054 ........................... 774
ADC 采样序列输入复用选择寄存器 1(ADCSSMUX1),偏移量 0x060 ............................ 776
ADC 采样序列输入复用选择寄存器 2(ADCSSMUX2),偏移量 0x080 ............................ 776
ADC 采样序列控制寄存器 1(ADCSSCTL1),偏移量 0x064 .......................................... 777
ADC 采样序列控制寄存器 2(ADCSSCTL2),偏移量 0x084 .......................................... 777
ADC 采样序列 1 工作寄存器(ADCSSOP1),偏移量 0x070 ........................................... 781
ADC 采样序列 2 工作寄存器(ADCSSOP2),偏移量 0x090 .......................................... 781
ADC 采样序列数字比较器选择寄存器 1(ADCSSDC1),偏移量 0x074 ........................... 782
ADC 采样序列数字比较器选择寄存器 2(ADCSSDC2),偏移量 0x094 .......................... 782
ADC 采样序列输入复用选择寄存器 3(ADCSSMUX3),偏移量 0x0A0 ........................... 783
ADC 采样序列控制寄存器 3(ADCSSCTL3),偏移量 0x0A4 .......................................... 784
ADC 采样序列器 3 工作寄存器(ADCSSOP3),偏移量 0x0B0 ....................................... 786
ADC 采样序列 3 数字比较器选择寄存器(ADCSSDC3),偏移量 0x0B4 .......................... 787
ADC 数字比较器复位启动条件寄存器(ADCDCRIC),偏移量 0xD00 .............................. 788
ADC 数字比较器控制寄存器 0(ADCDCCTL0),偏移量 0xE00 ...................................... 792
ADC 数字比较器控制寄存器 1(ADCDCCTL1),偏移量 0xE04 ...................................... 792
ADC 数字比较器控制寄存器 2(ADCDCCTL2),偏移量 0xE08 ...................................... 792
ADC 数字比较器控制寄存器 3(ADCDCCTL3),偏移量 0xE0C ...................................... 792
ADC 数字比较器控制寄存器 4(ADCDCCTL4),偏移量 0xE10 ...................................... 792
ADC 数字比较器控制寄存器 5(ADCDCCTL5),偏移量 0xE14 ...................................... 792
ADC 数字比较器控制寄存器 6(ADCDCCTL6),偏移量 0xE18 ...................................... 792
ADC 数字比较器控制寄存器 7(ADCDCCTL7),偏移量 0xE1C ...................................... 792
ADC 数字比较器范围寄存器 0(ADCDCCMP0),偏移量 0xE40 ..................................... 794
ADC 数字比较器范围寄存器 1(ADCDCCMP1),偏移量 0xE44 ..................................... 794
ADC 数字比较器范围寄存器 2(ADCDCCMP2),偏移量 0xE48 ..................................... 794
2014 年 01 月 28 日
27
Texas Instruments-预告信息
目录
寄存器 50:
寄存器 51:
寄存器 52:
寄存器 53:
寄存器 54:
寄存器 55:
寄存器 56:
寄存器 57:
ADC 数字比较器范围寄存器 3(ADCDCCMP3),偏移量 0xE4C ....................................
ADC 数字比较器范围寄存器 4(ADCDCCMP4),偏移量 0xE50 .....................................
ADC 数字比较器范围寄存器 5(ADCDCCMP5),偏移量 0xE54 .....................................
ADC 数字比较器范围寄存器 6(ADCDCCMP6),偏移量 0xE58 .....................................
ADC 数字比较器范围寄存器 7(ADCDCCMP7),偏移量 0xE5C ....................................
ADC 外设属性寄存器(ADCPP),偏移量 0xFC0 ...........................................................
ADC 外设配置寄存器(ADCPC),偏移量 0xFC4 ...........................................................
ADC 时钟配置寄存器(ADCCC),偏移量 0xFC8 ...........................................................
794
794
794
794
794
795
797
798
通用异步收发器(UART) ............................................................................................................ 799
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
寄存器 28:
寄存器 29:
寄存器 30:
UART 数据寄存器(UARTDR),偏移量 0x000 .............................................................. 811
UART 接收状态/错误清除寄存器(UARTRSR/UARTECR),偏移量 0x004 ...................... 813
UART 标志寄存器(UARTFR),偏移量 0x018 .............................................................. 816
UART IrDA 低功耗寄存器(UARTILPR),偏移量 0x020 ................................................. 818
UART 波特率分频值整数寄存器(UARTIBRD),偏移量 0x024 ....................................... 819
UART 波特率分频值小数寄存器(UARTFBRD),偏移量 0x028 ...................................... 820
UART 线控寄存器(UARTLCRH),偏移量 0x02C ......................................................... 821
UART 控制寄存器(UARTCTL),偏移量 0x030 ............................................................. 823
UART 中断 FIFO 深度选择寄存器(UARTIFLS),偏移量 0x034 ..................................... 827
UART 中断屏蔽寄存器(UARTIM),偏移量 0x038 ......................................................... 829
UART 原始中断状态寄存器(UARTRIS),偏移量 0x03C ............................................... 831
UART 屏蔽中断状态寄存器(UARTMIS),偏移量 0x040 ................................................ 834
UART 中断清除寄存器(UARTICR),偏移量 0x044 ...................................................... 837
UART DMA 控制寄存器(UARTDMACTL),偏移量 0x048 ............................................. 839
UART 9 位模式自身地址寄存器(UART9BITADDR),偏移量 0x0A4 ............................... 840
UART 9 位模式自身地址屏蔽寄存器(UART9BITAMASK),偏移量 0x0A8 ...................... 841
UART 外设属性寄存器(UARTPP),偏移量 0xFC0 ....................................................... 842
UART 时钟配置寄存器(UARTCC),偏移量 0xFC8 ....................................................... 843
UART 外设标识寄存器 4(UARTPeriphID4),偏移量 0xFD0 .......................................... 844
UART 外设标识寄存器 5(UARTPeriphID5),偏移量 0xFD4 .......................................... 845
UART 外设标识寄存器 6(UARTPeriphID6),偏移量 0xFD8 .......................................... 846
UART 外设标识寄存器 7(UARTPeriphID7),偏移量 0xFDC ......................................... 847
UART 外设标识寄存器 0(UARTPeriphID0),偏移量 0xFE0 .......................................... 848
UART 外设标识寄存器 1(UARTPeriphID1),偏移量 0xFE4 .......................................... 849
UART 外设标识寄存器 2(UARTPeriphID2),偏移量 0xFE8 .......................................... 850
UART 外设标识寄存器 3(UARTPeriphID3),偏移量 0xFEC .......................................... 851
UART PrimeCell 标识寄存器 0(UARTPCellID0),偏移量 0xFF0 ................................... 852
UART PrimeCell 标识寄存器 1(UARTPCellID1),偏移量 0xFF4 ................................... 853
UART PrimeCell 标识寄存器 2(UARTPCellID2),偏移量 0xFF8 ................................... 854
UART PrimeCell 标识寄存器 3(UARTPCellID3),偏移量 0xFFC ................................... 855
同步串行接口(SSI) .................................................................................................................... 856
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
SSI 控制寄存器0(SSICR0),偏移量 0x000 ..................................................................
SSI 控制寄存器1(SSICR1),偏移量 0x004 ..................................................................
SSI 数据寄存器(SSIDR),偏移量 0x008 .....................................................................
SSI 状态寄存器(SSISR),偏移量 0x00C .....................................................................
SSI 时钟预分频寄存器(SSICPSR),偏移量 0x010 .......................................................
SSI 中断屏蔽寄存器(SSIIM),偏移量 0x014 ................................................................
SSI 原始中断状态寄存器(SSIRIS),偏移量 0x018 .......................................................
SSI 屏蔽中断状态寄存器(SSIMIS),偏移量 0x01C ......................................................
871
873
875
876
878
879
880
882
2014 年 01 月 28 日
28
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
SSI 中断清除寄存器(SSIICR),偏移量 0x020 .............................................................. 884
SSI DMA 控制寄存器(SSIDMACTL),偏移量 0x024 .................................................... 885
SSI 时钟配置寄存器(SSICC),偏移量 0xFC8 .............................................................. 886
SSI 外设标识寄存器 4(SSIPeriphID4),偏移量 0xFD0 ................................................. 887
SSI 外设标识寄存器 5(SSIPeriphID5),偏移量 0xFD4 ................................................. 888
SSI 外设标识寄存器 6(SSIPeriphID6),偏移量 0xFD8 ................................................. 889
SSI 外设标识寄存器 7(SSIPeriphID7),偏移量 0xFDC ................................................. 890
SSI 外设标识寄存器 0(SSIPeriphID0),偏移量 0xFE0 ................................................. 891
SSI 外设标识寄存器 1(SSIPeriphID1),偏移量 0xFE4 ................................................. 892
SSI 外设标识寄存器 2(SSIPeriphID2),偏移量 0xFE8 ................................................. 893
SSI 外设标识寄存器 3(SSIPeriphID3),偏移量 0xFEC ................................................. 894
SSI PrimeCell 标识寄存器 0(SSIPCellID0),偏移量 0xFF0 ........................................... 895
SSI PrimeCell 标识寄存器 1(SSIPCellID1),偏移量 0xFF4 ........................................... 896
SSI PrimeCell 标识寄存器 2(SSIPCellID2),偏移量 0xFF8 ........................................... 897
SSI PrimeCell 标识寄存器 3(SSIPCellID3),偏移量 0xFFC .......................................... 898
内部集成电路(I2C)接口 .............................................................................................................. 899
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
I2C 主机从机地址寄存器(I2CMSA),偏移量 0x000 ......................................................
I2C 主机控制/状态寄存器(I2CMCS),偏移量 0x004 .....................................................
I2C 主机数据寄存器(I2CMDR),偏移量 0x008 .............................................................
I2C 主机定时器周期寄存器(I2CMTPR),偏移量 0x00C ................................................
I2C 主机中断屏蔽寄存器(I2CMIMR),偏移量 0x010 .....................................................
I2C 主机原始中断状态寄存器(I2CMRIS),偏移量 0x014 ...............................................
I2C 主机屏蔽中断状态寄存器(I2CMMIS),偏移量 0x018 ..............................................
I2C 主机中断清除寄存器(I2CMICR),偏移量 0x01C .....................................................
I2C 主机配置寄存器(I2CMCR),偏移量 0x020 .............................................................
I2C 主机时钟低电平超时计数寄存器(I2CMCLKOCNT),偏移量 0x024 ..........................
I2C 主机总线监视寄存器(I2CMBMON),偏移量 0x02C ................................................
I2C 主机配置 2 寄存器(I2CMCR2),偏移量 0x038 .......................................................
I2C 从机本身地址寄存器(I2CSOAR),偏移量 0x800 ....................................................
I2C 从机控制/状态寄存器(I2CSCSR),偏移量 0x804 ...................................................
I2C 从机数据寄存器(I2CSDR),偏移量 0x808 .............................................................
I2C 从机中断屏蔽(I2CSIMR),偏移量 0x80C ...............................................................
I2C 从机原始中断状态寄存器(I2CSRIS),偏移量 0x810 ...............................................
I2C 从机屏蔽中断状态寄存器(I2CSMIS),偏移量 0x814 ...............................................
I2C 从机中断清除寄存器(I2CSICR),偏移量 0x818 ......................................................
I2C 从机自身地址寄存器 2(I2CSOAR2),偏移量 0x81C ...............................................
I2C 从机应答控制寄存器(I2CSACKCTL),偏移量 0x820 ..............................................
I2C 外设属性寄存器(I2CPP),偏移量 0xFC0 ...............................................................
I2C 外设配置寄存器(I2CPC),偏移量 0xFC4 ...............................................................
919
920
925
926
927
928
929
930
931
932
933
934
935
936
938
939
940
941
942
943
944
945
946
控制器局域网(CAN)模块 ........................................................................................................... 947
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
CAN 控制寄存器(CANCTL),偏移量 0x000 .................................................................
CAN 状态寄存器(CANSTS),偏移量0x004 .................................................................
CAN 错误计数寄存器(CANERR),偏移量 0x008 .........................................................
CAN 位时序寄存器(CANBIT),偏移量 0x00C ..............................................................
CAN 中断寄存器(CANINT),偏移量 0x010 .................................................................
CAN 测试寄存器(CANTST),偏移量 0x014 .................................................................
CAN 波特率预分频器扩展寄存器(CANBRPE),偏移量 0x018 ......................................
2014 年 01 月 28 日
966
968
970
971
972
973
975
29
Texas Instruments-预告信息
目录
寄存器 8:
寄存器 9:
寄存器 10:
寄存器 11:
寄存器 12:
寄存器 13:
寄存器 14:
寄存器 15:
寄存器 16:
寄存器 17:
寄存器 18:
寄存器 19:
寄存器 20:
寄存器 21:
寄存器 22:
寄存器 23:
寄存器 24:
寄存器 25:
寄存器 26:
寄存器 27:
寄存器 28:
寄存器 29:
寄存器 30:
寄存器 31:
寄存器 32:
寄存器 33:
寄存器 34:
寄存器 35:
寄存器 36:
寄存器 37:
CAN IF1 指令请求寄存器(CANIF1CRQ),偏移量 0x020 ..............................................
CAN IF2 指令请求寄存器(CANIF2CRQ),偏移量 0x080 ..............................................
CAN IF1 指令屏蔽寄存器(CANIF1CMSK),偏移量 0x024 ............................................
CAN IF2 指令屏蔽寄存器(CANIF2CMSK),偏移量 0x084 ............................................
CAN IF1 屏蔽寄存器 1(CANIF1MSK1),偏移量 0x028 ................................................
CAN IF2 屏蔽寄存器 1(CANIF2MSK1),偏移量 0x088 ................................................
CAN IF1 屏蔽寄存器 2(CANIF1MSK2),偏移量 0x02C ................................................
CAN IF2 屏蔽寄存器 2(CANIF2MSK2),偏移量 0x08C ................................................
CAN IF1 仲裁寄存器 1(CANIF1ARB1),偏移量 0x030 .................................................
CAN IF2 仲裁寄存器 1(CANIF2ARB1),偏移量 0x090 .................................................
CAN IF1 仲裁寄存器 2(CANIF1ARB2),偏移量 0x034 .................................................
CAN IF2 仲裁寄存器 2(CANIF2ARB2),偏移量 0x094 .................................................
CAN IF1 报文控制寄存器(CANIF1MCTL),偏移量 0x038 .............................................
CAN IF2 报文控制寄存器(CANIF2MCTL),偏移量 0x098 .............................................
CAN IF1 数据寄存器 A1(CANIF1DA1),偏移量 0x03C ................................................
CAN IF1 数据寄存器 A2(CANIF1DA2),偏移量 0x040 .................................................
CAN IF1 数据寄存器 B1(CANIF1DB1),偏移量 0x044 .................................................
CAN IF1 数据寄存器 B2(CANIF1DB2),偏移量 0x048 .................................................
CAN IF2 数据寄存器 A1(CANIF2DA1),偏移量 0x09C ................................................
CAN IF2 数据寄存器 A2(CANIF2DA2),偏移量 0x0A0 ................................................
CAN IF2 数据寄存器 B1(CANIF2DB1),偏移量 0x0A4 ................................................
CAN IF2 数据寄存器 B2(CANIF2DB2),偏移量 0x0A8 ................................................
CAN 传输请求寄存器 1(CANTXRQ1),偏移量 0x100 ..................................................
CAN 传输请求寄存器 2(CANTXRQ2),偏移量 0x104 ..................................................
CAN 新数据寄存器 1(CANNWDA1),偏移量 0x120 .....................................................
CAN 新数据寄存器 2(CANNWDA2),偏移量 0x124 .....................................................
CAN 报文 1 中断挂起寄存器(CANMSG1INT),偏移量 0x140 .......................................
CAN 报文 2 中断挂起寄存器(CANMSG2INT),偏移量 0x144 .......................................
CAN 报文 1 有效寄存器(CANMSG1VAL),偏移量 0x160 .............................................
CAN 报文 2 有效寄存器(CANMSG2VAL),偏移量 0x164 .............................................
976
976
977
977
980
980
981
981
982
982
983
983
985
985
988
988
988
988
988
988
988
988
989
989
990
990
991
991
992
992
模拟比较器 ..................................................................................................................................... 993
寄存器 1:
寄存器 2:
寄存器 3:
寄存器 4:
寄存器 5:
寄存器 6:
寄存器 7:
寄存器 8:
寄存器 9:
模拟比较器屏蔽中断状态寄存器(ACMIS),偏移量 0x00 ............................................... 999
模拟比较器原始中断状态寄存器(ACRIS),偏移量 0x04 .............................................. 1000
模拟比较器中断启用寄存器(ACINTEN),偏移量 0x08 ................................................ 1001
模拟比较器参考电压控制寄存器(ACREFCTL),偏移量 0x010 .................................... 1002
模拟比较器状态寄存器 0(ACSTAT0),偏移量 0x020 .................................................. 1003
模拟比较器状态寄存器 1(ACSTAT1),偏移量 0x040 .................................................. 1003
模拟比较器控制寄存器 0(ACCTL0),偏移量 0x024 .................................................... 1004
模拟比较器控制寄存器 1(ACCTL1),偏移量 0x044 .................................................... 1004
模拟比较器外设属性寄存器(ACMPPP),偏移量 0xFC0 .............................................. 1006
2014 年 01 月 28 日
30
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
关于本文档
该数据手册提供 TM4C1231D5PM 微控制器的参考信息,描述了围绕 ARM® Cortex™-M4F 内核设
计的片上系统 (SoC) 器件的各功能模块。
受众
本手册的受众是系统软件开发人员、硬件设计人员和应用设计人员。
关于本手册
本文档分成若干章节,每个章节与主要的特性相对应。
相关文档
相关文档可从以下网站获取: Tiva™ C 系列 网址 http://www.ti.com/tiva-c :
■ “Tiva™ C Series TM4C123x Silicon Errata”(文献编号 SPMZ849)
■ “ARM® Cortex™-M4 Errata(文献编号 SPMZ637)”
■ “TivaWare™ Boot Loader for C Series User's Guide(文献编号 SPMU301)”
■ “TivaWare™ Graphics Library for C Series User's Guide(文献编号 SPMU300)”
■ “TivaWare™ Peripheral Driver Library for C Series User's Guide(文献编号 SPMU298)”
■ “TivaWare™ USB Library for C Series User's Guide(文献编号 SPMU297)”
■ “TM4C1231D5PM ROM User's Guide”
下列相关文档也可能包含有用信息:
■ “ARM® Cortex™-M4 Devices Generic User Guide(文献编号 ARM DUI 0553A)中的
Cortex™-M4 指令集章节”
■ “ARM® Debug Interface V5 Architecture Specification”
■ “ARM® Embedded Trace Macrocell Architecture Specification”
■ “IEEE Standard 1149.1-Test Access Port and Boundary-Scan Architecture”
这个文献列表的实时性根据发布的日期来判断。其他文献(包括应用说明和白皮书),请访问网站
获取。
2014 年 01 月 28 日
31
Texas Instruments-预告信息
关于本文档
文档约定
本文档使用的约定如表1(32页)所示。
表 1. 文档约定
表示法
含义
通用寄存器的表示法
寄存器
APB 寄存器用大写的粗体表示。例如,PBORCTL 是上电和掉电复位控制寄存器。如果一个寄
存器名称包含一个小写的 n,它就代表了多个寄存器。例如,SRCRn 代表了下面三个软件复位
控制寄存器的任何一个或全部:SRCR0、SRCR1 和 SRCR2。
位
寄存器的一个位。
位域
2 个或更多连续和相关联的位。
偏移量 0xnnn
寄存器地址的一个十六进制增量,增量是相对表2-4(75页)中指定的模块基址而言的。
寄存器 N
为了方便引用,在整篇文档中,寄存器被顺序编号。寄存器编号对软件没有意义。
保留
标注为保留的寄存器位保留下来供将来使用在大多数情况下,保留位被设置成 0;但是,用户软
件不应当依赖保留位的值。为了使软件兼容未来的器件,保留位的值应当在读-修改-写过程中保
留下来。
yy:xx
寄存器位的范围从 xx 到 yy(xx 和 yy 包括在内)。例如,31:15 表示相应寄存器的位 15 到 31。
寄存器 位/域 类型
寄存器位框图中的这个值指明了在控制器上运行的软件是否能改变位域的值。
RC
软件可以读取这个域。位/域在被读取之后由硬件清零。
RO
软件可以读取这个域。始终写入芯片复位值。
R/W
软件可以读或写这个域。
R/WC
软件可以读或写这个域。向该寄存器写入任意值都会将寄存器清零。
R/W1C
软件可以读或写这个域。向 W1C 位写入 0 不影响寄存器中的位值。写 1 清零寄存器中位的值;
剩余的位保持变。
这个寄存器类型主要用来清零中断状态位,执行读操作来提供中断状态,写入读取的值只清除在
读寄存器时被报告的中断。
R/W1S
软件可以读或向此域写 1。向 R/W1S 位写 0 不影响寄存器中的位值。
W1C
软件可以写这个域。向 W1C 位写入 0 不影响寄存器中的位值。写 1 清零寄存器中位的值;剩余
的位保持变。读寄存器返回的数据没有意义。
这个寄存器通常用来清零中断寄存器中相应的位。
WO
只有软件的写操作才有效;读寄存器返回的数据没有意义。
寄存器 位/域 复位值
寄存器位框图中的这个值是任何复位后的位/域值,但特别注明的除外。
0
芯片复位时位被清零。
1
芯片复位时位被置1。
-
不确定。
管脚/信号表示法
[]
管脚备用功能;管脚默认用作不带方括号的信号。
管脚
参考封装上的物理连接
信号
参考管脚的电气信号编码。
使一个信号有效
将信号的值从逻辑假状态变为逻辑真状态对于高电平有效的信号,有效的信号值为 1(高);对
于低电平有效的信号,有效的信号值为0(低)。有效极性(高或低)由信号名称来定义(见下
面的 SIGNAL 和 SIGNAL)。
使一个信号无效
将信号的值从逻辑真状态变为逻辑假状态。
SIGNAL
信号名称采用大写字母,使用 Courier 字体。信号名称带有上横线表示该信号低有效。要使
SIGNAL 有效就将其驱动为低电平;要使 SIGNAL 无效就将其驱动为高电平。
SIGNAL
信号名称采用大写字母,使用 Courier 字体。高有效的信号没有上横线。要使 SIGNAL 有效就将
其驱动为高电平;要使 SIGNAL 无效就将其驱动为低电平。
2014 年 01 月 28 日
32
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 1. 文档约定(续)
表示法
含义
数值
X
大写的X表示几个值都是可取的,此处的X可以是任何合法的样式。例如,二进制值0X00可以是
0100或0000,十六进制值0xX可以是0x0或0x1,等等。
0x
十六进制值带有前缀 0x。例如,0x00FF 是十六进制值 FF。
寄存器表中的所有其它数假设为二进制。在概念信息中,二进制数用一个 b 后缀表示,例如,
1011b,写十进制数无需前缀或后缀。
2014 年 01 月 28 日
33
Texas Instruments-预告信息
结构概述
1
结构概述
®
德州仪器的 Tiva™ C 系列 微控制器采用基于 ARM Cortex™-M 的卓越架构,具备强大的集成能力,
并提供成熟的软件和开发工具生态系统,是设计师的理想选择。为了提供最佳的性能和灵活性,我
们为 Tiva™ C 系列 架构推出了带 FPU、各种集成存储器以及可编程 GPIO 的 80 MHz Cortex-M。
Tiva™ C 系列 能够集成适合特定应用的外设,并提供广泛的软件工具选项,可大大降低电路板成
本、减少设计周期时间,是用户最理想的成本效益型解决方案。我们的 Tiva™ C 系列 微控制器能
够帮助您缩短产品面市时间、节省成本,是高性能 32 位应用的领先之选。
本章给出了 Tiva™ C 系列 微控制器的概述以及有关 TM4C1231D5PM 微控制器的细节:
■
■
■
■
■
■
1.1
“Tiva™ C 系列 概述”(34页)
“TM4C1231D5PM 微控制器概述”(34页)
“TM4C1231D5PM 微控制器特性”(37页)
“TM4C1231D5PM 微控制器硬件细节”(51页)
“开发套件”(51页)
“支持信息”(52页)
Tiva™ C 系列 概述
德州仪器的 Tiva™ C 系列 ARM Cortex-M4 微控制器具有顶级性能和高级集成功能。本产品系列适
用于需要控制成本,同时又需要大量控制和连接能力的应用,例如:
■
■
■
■
■
■
■
■
■
■
■
低功耗手持智能设备
游戏设备
家用和商用监控
运动控制
医疗器械
测试和测量仪器
工厂自动化
火警和安防用具
智能能源/智能电网解决方案
智能照明控制
运输业
至于那些对功耗有特别要求的应用方案,TM4C1231D5PM 微控制器还具有一个带备用电池的休眠
模块,从而有效地使 TM4C1231D5PM 在长时间未被激活时进入低功耗状态。休眠模块拥有一个上
电/掉电序列发生器、连续时间计数器 (RTC)、多种休眠唤醒选项、以及专用的带备用电池的存储
器,使 TM4C1231D5PM 微控制器极其适合电池应用。
另外,TM4C1231D5PM 微控制器的优势还在于能够方便的运用多种 ARM 的开发工具和片上系统
(SoC) 的底层 IP 应用方案,以及广大的用户群体。另外,该微控制器使用了兼容 ARM的Thumb®
指令集的 Thumb2 指令集来减少存储容量的需求,并以此达到降低成本的目的。最后,
TM4C1231D5PM 微控制器代码大多与 Tiva™ C 系列 产品线兼容,为设计带来了灵活性。
Texas Instruments 为了能够帮助用户产品快速的上市,提供了一整套的解决方案,包括评估和开发
用的板卡、白皮书和应用笔记 、方便使用的外设驱动程序库、以及强劲的支持、销售和分销网络。
1.2
TM4C1231D5PM 微控制器概述
TM4C1231D5PM 微控制器结合了复杂集成功能和高性能,并具备如表1-1 中所示的各种特性。
2014 年 01 月 28 日
34
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 1-1. TM4C1231D5PM 微控制器特性
特性
描述
性能
内核
ARM Cortex-M4F 处理器核心
性能
80-MHz 运行速度;100 DMIPS 性能
Flash
64 KB 单周期 Flash 存储器
系统 SRAM
24 KB 单周期访问的 SRAM
EEPROM
2KB EEPROM
内置 ROM
搭载 TivaWare™(适用于 C 系列)软件的内置 ROM
安全性
通信接口
通用异步收发器 (UART)
八 个 UART
同步串行接口(SSI)
四 个 SSI 模块
内部集成电路
(I2C)
控制器局域网 (CAN)
4 个 I2C 模块,具有四种传输速率(包括高速模式)
个 CAN 2.0 A/B 控制器
系统集成
微型直接存储器访问 (µDMA)
ARM® PrimeCell® 32 通道的可配置 µDMA 控制器
通用定时器 (GPTM)
6 个 16/32 位 GPTM 模块和 6 个32/64 位宽 GPTM 模块
看门狗定时器 (WDT)
2 个看门狗定时器
休眠模块 (HIB)
带备用电池的低功耗休眠模块
通用输入/输出端口 (GPIO)
6 个物理 GPIO 模块
模拟支持
模-数转换器(ADC)
2 个 12 位 ADC 模块,每个的最大采样速率达 1M 次采样每秒
模拟比较器控制器
两个独立集成的模拟比较器
数字比较器
16 个数字比较器
JTAG 和串行线调试 (SWD)
一个 JTAG 模块,带集成的 ARM SWD
封装信息
封装
64 管脚 LQFP
工作温度范围(环境)
工业(-40°C 到 85°C)温度范围
扩展(-40°C 到 105°C)温度范围
图1-1(36页) 显示了 TM4C1231D5PM 微控制器的特性。请注意有两条片内总线连接内核和外设。
高级外设总线 (APB) 是旧系统的总线,高级高性能总线 (AHB) 提供比 APB 总线更好的背靠背的访
问性能。
2014 年 01 月 28 日
35
Texas Instruments-预告信息
结构概述
图 1-1. Tiva™ TM4C1231D5PM 微控制器高级框图
JTAG/SWD
ARM®
Cortex™-M4F
ROM
(80MHz)
系统
控制 和
时钟
(带精确振荡器)
ETM
FPU
NVIC
MPU
DCode 总线
启用加载程序
DriverLib
AES & CRC
Flash
(64KB)
ICode 总线
系统总线
TM4C1231D5PM
总线矩阵
SRAM
(24KB)
系统外设
EEPROM
(2K)
休眠模块
模块
GPIO
(43)
通
用
定时器 (12)
I2C
(4)
高级外设总线 (APB)
看门狗
定时器
(2)
高级高性能总线 (AHB)
DMA
CAN
控制器
(1)
串行外设
UART
(8)
SSI
(4)
模拟外设
模拟
比较器
(2)
12- 位 ADC
通道
(12)
2014 年 01 月 28 日
36
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
1.3
TM4C1231D5PM 微控制器特性
有关 TM4C1231D5PM 微控制器元件特性和通用功能的更多详细信息请参考下面的章节。
1.3.1
ARM Cortex-M4F 处理器核心
德州仪器 Tiva™ C 系列的所有产品(包括 TM4C1231D5PM 微控制器)都是围绕 ARM Cortex-M
处理器内核设计的。这款 ARM Cortex-M 处理器为高性能、低成本的平台提供了一个满足最小存储
需求、简化管脚数以及低功耗三方面要求的内核,与此同时,它还提供出色的计算性能和卓越的系
统中断响应能力。
1.3.1.1
处理器内核 (见第53页)
■ 32 位 ARM Cortex-M4F 架构针对小封装嵌入式应用进行了优化
■ 80-MHz 运行速度;100 DMIPS 性能
■ 优越的处理性能和更快的中断处理。
■ 混合 16 位/32 位的 Thumb-2 指令集提供与 32 位 ARM 内核所期望的高性能而采用了更紧凑的
内存大小,而这通常在 8 位和 16 位设备相关的存储容量中,特别是在微控制器级应用的几千字
节存储中。
– 单周期乘法指令和硬件除法器
– 精确的位操作(bit-banding),不仅最大限度的利用了存储器空间而且还改良了对外设的控
制
– 非对齐式数据访问,使数据能够更为有效的安置到存储器中
■ 符合 IEEE754 的单精度浮点单元 (FPU)
■ 16 位 SIMD 矢量处理单元
■ 快速代码执行允许更低的处理器时钟和增加休眠模式时间
■ Harvard 结构 - 将数据和指令所使用的总线进行了分离
■ 高效的处理器内核,系统和存储器
■ 硬件除法和以快速数字信号处理为导向的乘加
■ 采用饱和算法处理信号
■ 对时间苛刻的应用提供可确定的, 高性能的中断处理
■ 存储器保护单元为操作系统机能提供特权操作模式
■ 增强的系统调试提供全方位的断点和跟踪能力
■ 串行线调试和串行线跟踪减少调试和跟踪过程中需求的管脚数
■ 从 ARM7™ 处理器系列中移植过来,以获得更好的性能和电源效率
■ 针对高达指定频率的单周期 Flash 存储器使用情况而设计。详见 “内部存储器”(458页)。
2014 年 01 月 28 日
37
Texas Instruments-预告信息
结构概述
■ 集成多种休眠模式,更低功耗
1.3.1.2
系统定时器 (SysTick) (见第101页)
ARM Cortex-M4F 包含一个集成的系统定时器 SysTick。SysTick 提供了一种简单的、24 位写 1 清
0 (clear-on-write)、递减的、自加载 (wrap-on-zero) 的计数器,同时具有灵活的控制机制。该计数器
可被用在不同的方面,比如:
■ 用作 RTOS 的节拍定时器,按照可编程的频率(例如,100Hz)定时触发,调用系统定时器服务
子程序
■ 用作高速报警定时器,采用系统时钟作为时钟源
■ 用作频率可变的报警或信号定时器——其周期取决于所采用的参考时钟源以及计数器的动态范围
■ 用作简单计数器,测量任务的完成时刻、总体耗时等等
■ 基于未到达/到达时间的内部时钟源控制
1.3.1.3
嵌套式向量化中断控制器 (NVIC) (见第102页)
TM4C1231D5PM 控制器包含 ARM 嵌套向量中断控制器 (NVIC)。NVIC 和 Cortex-M4F 可以在“处
理模式”中对所有的异常进行优先级划分并进行处理。异常发生时处理器状态被自动存储到堆栈,中
断服务程序 (ISR) 结束时又自动被恢复。向量的读取与状态保存并行,高效率进入中断。处理器支
持尾链 (tail-chaining),这样使得执行背靠背中断不需要重叠的状态保存和恢复。可通过软件设置 7
个异常(系统处理)和 64 个中断的 8 级优先级。
■ 明确、快速地处理中断:总是 12 周期或 6 周期(后者带尾部连接)(这些值不会体现 FPU 堆
栈)
■ 外部不可屏蔽中断信号 (NMI) 可用于安全关键应用
■ 动态优先级中断
■ 通过硬件实现所需的寄存器可灵活的处理特殊的中断
1.3.1.4
系统控制模块(SCB) (见第103页)
系统控制块(SCB)提供系统实现信息和系统控制,包括系统异常的配置,控制和报告。
1.3.1.5
存储器保护单元(MPU) (见第104页)
MPU 支持标准的 ARM7 受保护的内存系统架构(PMSA)模型。MPU提供保护区支持,重叠保护
区,访问权限和导出存储属性到系统。
1.3.1.6
浮点单元 (FPU) (见第108页)
该 FPU 完全支持单精度的加法、减法、乘法、除法、乘累加和平方根操作。它还可用于转换定点和
浮点数据格式,并提供浮点常数指令。
■ 适用于单精度(C 浮点)数据处理操作的 32 位指令
■ 适用于更高精度(熔合 MAC)的组合乘加指令
■ 适用于换算、加法、减法、可选累加的乘法、除法和平方根计算的硬件支持
■ 适用于反常和所有 IEEE 舍入模式的硬件支持
2014 年 01 月 28 日
38
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
■ 32 个专用的 32 位单精度寄存器,也可作为 16 位双字寄存器进行寻址
■ 去耦三级流水线
1.3.2
片上存储器
TM4C1231D5PM 微控制器整合了以下片上存储器和特性:
■ 24 KB 单周期访问的 SRAM
■ 64 KB Flash 存储器
■ 2KB EEPROM
■ 搭载 TivaWare™(适用于 C 系列) 软件包的内部 ROM:
– TivaWare™ 外设驱动库
– TivaWare 引导加载程序
– 高级加密标准 (AES) 密码表
– 循环冗余检验 (CRC) 错误检测功能
1.3.2.1
SRAM (见第459页)
TM4C1231D5PM 微控制器提供 24 KB 单周期片上 SRAM。器件的内部 SRAM 位于器件存储器映
射的偏移量 0x2000.0000 处。
由于读-修改-写 (RMW) 操作是很耗时的,因此 ARM 将位带 (bit-banding) 技术引入到 Cortex-M4F
处理器中。在位带启用的处理器中,存储器映射的特定区域 (SRAM 和外设空间) 能够使用地址别
名,在单个原子操作中访问各个位。
数据可由以下主机实现与 SRAM 的相互传输:
■ µDMA
1.3.2.2
Flash 存储器 (见第461页)
TM4C1231D5PM 微控制器提供 64 KB 单周期片上 Flash 存储器。Flash 存储器由一系列 1 KB 的
块组织在一起,这些块可以被单独擦除。擦除一个块会将块中的所有位都复位为 1。这些区块配对
后便组成了一组可分别进行保护的 2 KB 区块。该保护允许块被标记为只读或只执行,以提供不同
等级的代码保护。只读块不能被擦除或编程,块的内容受保护不能修改。只执行块不能被擦除或编
程,只能通过控制器取指机制来读取它的内容,块的内容受保护不能被控制器或调试器读取。
1.3.2.3
ROM (见第460页)
TM4C1231D5PM ROM 出厂时经过预编程,包含了下面的软件和程序:
■ TivaWare 外设驱动库
■ TivaWare 引导加载程序
■ 高级加密标准 (AES) 密码表
■ 循环冗余检验 (CRC) 错误检测功能
所述的 TivaWare 外设驱动库是具有引导加载能力的用于控制片上外设的免版税软件库。该库可用
于外设初始化和控制功能,可选择轮询式和中断驱动式外设支持。另外,经过设计,这个库可以充
分利用 ARM Cortex-M4F 核心的优异中端性能。不需要特殊的程序或者用户汇编代码开端/收尾功
2014 年 01 月 28 日
39
Texas Instruments-预告信息
结构概述
能。在需要现场编程能力的应用中,免版税的 TivaWare 引导加载程序可用于应用程序加载,支持
现场固件升级。
高级加密标准 (AES) 是美国政府使用的公开定义的加密标准。AES 是一种强大的加密方法,拥有不
错的性能和大小。AES 在硬件和软件方面都很快,它非常容易使用,并且只需要很少的存储空间。
其 Texas Instruments 加密数据包开放了所有源代码,并且建立在宽通用许可证 (LGPL) 源代码基础
之上。LGPL 是指可在应用中使用,但不受任何 copyleft 的影响的代码(代码并不会自动变成开源
代码)。然而对于该数据包源的修改必须是开源的。
循环冗余检查 (CRC) 是一项用来确认一段数据的内容与先前检验的数据是否相同的技术。CRC 技
术可用来验证信息是否正确接收(在传送中没有丢失或改变)、解压后的数据、Flash 存储器的内
容是否更改以及其它需要验证数据的情况。CRC 优于简单的校验和 (例如异或所有的位) ,因为它更
容易捕捉到变化。
1.3.2.4
EEPROM (见第466页)
TM4C1231D5PM 微控制器包含 1 个 EEPROM 单元,其特性如下:
■ 可用 2K 字节的存储器,即 512 32 位字
■ 32 个块区,每区 16 字(64 字节)
■ 内置的换位写入技术
■ 每个模块的访问保护
■ 整个外设的锁定保护选项和每个块的锁定保护一样,都使用 32 位到 96 位的解锁代码(根据应
用的需要选择)
■ 支持写完成中断,避免轮询
■ 每个 2 页面块可进行 500K 次写操作(按周期使用固定偏移量对隔页进行写操作时)到 15M 次
操作(在两个页面之间循环时)。
1.3.3
串行通讯外设
TM4C1231D5PM 控制器支持同步和异步串行通信:
■ CAN 2.0 A/B 控制器
■ 8 个 UART,支持 IrDA、9 位以及 ISO 7816。
■ 4 个 I2C 模块,具有四种传输速率(包括高速模式)
■ 4 个同步串行接口模块 (SSI)
下面的章节各个通讯功能的提供更多细节。
1.3.3.1
控制器局域网 (CAN)(见第947页)
控制器局域网 (CAN) 是一种用于连接电子控制设备(Electronic Control Unit,简写为ECU)的多播
共享型串行总线标准。CAN 总线针对抗电磁干扰进行了专门设计,适用于具有较强电磁干扰的环
境,不但可以使用与 RS-485 类似的差分平衡传输线,也可以使用更加可靠的双绞线。CAN 总线最
初是针对汽车应用而研发的,不过时至今日已经广泛应用于各种嵌入式控制领域(例如工业方面和
医疗方面)。CAN 总线在总线长度小于 40 米时最高可达 1 Mbps 位速率。位速率越低则有效通讯
距离越远(例如125 kbps 时通讯距离可达 500 米)。
2014 年 01 月 28 日
40
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
发送器向所有 CAN 结点发送一条报文(广播)。每个节点根据接收到的标识符来判断是否处理该报
文。标识符还决定了总线访问竞争中报文享有的优先级。每个CAN报文都能够传输0到8个字节的用
户信息。
TM4C1231D5PM 微控制器包括 1 个 CAN 单元,有如下特性:
■ 支持 CAN 总线协议 2.0 A/B
■ 位速率最高可达 1 Mbps
■ 32 个报文对象,每个报文对象都具有独立的标识符掩码
■ 可屏蔽中断;
■ 支持禁用自动重新发送(Disable Automatic Retransmission,简写为 DAR)模式,因此可用于
时间触发 CAN(Time Triggered CAN,简写为 TTCAN)应用
■ 可编程的回送模式,用于实现自检
■ 可编程的 FIFO 模式,可使能多个报文对象存储
■ 通过 CANnTX 和 CANnRX 管脚无缝连接片外 CAN 收发器
1.3.3.2
UART (见第799页)
通用异步收发器 (UART) 用于 RS-232C 串行通讯的集成电路。包含可异步工作的发送器(并转串)
和接收器(串转并) 。
TM4C1231D5PM 微控制器包含八个完全可编程的 16C550 型 UART。虽然其功能与 16C550 UART
相似,但并不是寄存器兼容的。UART 能够根据 RX、TX、调制解调器流量控制、和错误条件产生
独立可屏蔽的中断。如果任何中断发生并且未被屏蔽,那么模块将生成一个组合的中断。
这八个 UART 如下特性:
■ 可编程的波特率发生器,在常规模式(16 分频)下最高可达 5 Mbps,在高速模式(8 分频)下
最高可达 10 Mbps
■ 相互独立的 16×8 发送 (TX) FIFO和接收 (RX) FIFO,可降低中断服务对 CPU 的占用
■ FIFO 长度可编程,包括提供传统双缓冲接口的 1 字节深的操作
■ FIFO触发深度有如下级别可选:1/8、1/4、1/2、3/4或7/8;
■ 标准的异步通讯位:起始位、停止位、奇偶校验位;
■ 线中止的产生与检测;
■ 完全可编程的串行接口特性
– 可包含5、6、7或8个数据位
– 可产生/检测奇偶校验位,支持偶校验位、奇校验位、粘着校验位或无校验位
– 可产生1或2个停止位
■ IrDA串行红外(SIR)编解码器
– 可选择采用 IrDA 串行红外 (SIR) 输入输出或普通 UART 输入输出
2014 年 01 月 28 日
41
Texas Instruments-预告信息
结构概述
– 支持 IrDA SAR 编解码功能,半双工时数据传输率最高 115.2 Kbps
– 支持标准的 3/16 位时间以及低功耗位时间(1.41~2.23 μs)
– 可编程的内部时钟发生器,可对参考时钟源进行1~256分频以提供低功耗位时间
■ 支持与 ISO 7816 智能卡的通讯
■ 调制解调器流量控制和状态(在 UART1 模块上)
■ 支持 EIA-485(9 位)
■ 提供标准的基于 FIFO 深度的中断以及发送结束中断
■ 用微型直接内存访问 (µDMA) 有效的传输数据
– 相互独立的发送通道和接收通道
– 当接收 FIFO 中有数据时产生单次请求;当接收 FIFO 到达预设的触发深度时产生猝发请求
– 当发送 FIFO 中有空闲单元时产生单次请求;当发送 FIFO 到达预设的触发深度时产生猝发请
求
1.3.3.3
I2C (见第899页)
内部集成电路 (I2C) 总线通过一个两线设计(串行数据线 SDA 和串行时钟线 SCL)来提供双向数据
传输。I2C 总线可与诸如串行存储器(RAM 和 ROM)、网络设备、LCD、音频发生器等外部 I2C
器件相连。I2C 总线还可在产品开发和制造过程中用于系统测试和诊断。
I2C 总线上的设备可被指定为主机或从机。 I2C 模块支持作为主机或从机来发送和接收数据,也支持
既用作主机又用作从机的同步操作。I2C 主机和从机都能够产生中断。
TM4C1231D5PM 微控制器包含四个具有以下特性的 I2C 模块:
■ I2C 总线上的设备可被指定为主机或从机
– 在主机或从机模式下都支持发送和接受数据
– 支持它们作为主机和从机的同步操作
■ 四种 I2C 模式:
– 主机发送
– 主机接收
– 从机发送
– 从机接收
■ 四种传输速度:
– 标准 (100 Kbps)
– 快速 (400 Kbps)
– 超快速 (1 Kbps)
2014 年 01 月 28 日
42
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
– 高速 (3.33 Mbps)
■ 时钟低电平超时中断
■ 双从机地址功能
■ 故障抑制
■ 主机和从机产生中断
– 主机因为传送或接收数据结束(或者是因为错误而取消)产生中断
– 从机在主机向其发送数据或发出请求时,或检测到START或STOP信号时产生中断。
■ 主机带有仲裁和时钟同步功能,支持多主机以及 7 位寻址模式
1.3.3.4
SSI (见第856页)
同步串行接口 (SSI) 是一个用于将数据并转串的 4 线双向型通信接口。此 SSI 模块对从外围器件接
收到的数据执行串并转换,对发送到外围设备的数据执行并串转换。这个 SSI 模块可以配置用作主
设备或从设备。作为从机设备的时候,还可以通过配置将 SSI 模块的输出禁能,从而使一个主设备
可以与多个从设备相连。TX 和 RX 的通路都有内部 FIFO 负责缓冲。
此 SSI 模块还包含一个可编程的位速率时钟分频器和预分频器,SSI 模块输入的时钟信号将通过它
们来生成 SSI 输出的串行时钟信号。位速率根据输入时钟产生,最大位速率取决于连接的外设。
TM4C1231D5PM 微控制器包含四个具有以下特性的 SSI 模块:
■ 提供可编程控制的接口,可与 Freescale SPI、MICROWIRE 或者 Texas Instruments 同步串行
接口相连
■ 主机或从机工作方式;
■ 可编程的时钟位速率以及预分频器;
■ 相互独立的发送 FIFO 和接收 FIFO,二者均为 16 位宽、8 个单元深;
■ 可编程的数据帧长度,4位到16位可选;
■ 内部环回测试模式,能够很方便地实现诊断/调试;
■ 标准 FIFO 中断以及发送结束中断;
■ 用微型直接内存访问 (µDMA) 有效的传输数据
– 相互独立的发送通道和接收通道
– 当接收 FIFO 中有数据时产生单次请求;当接收 FIFO 中包含 4 个数据单元时产生猝发请求
– 发送单次请求在 FIFO 有空闲单元时有效;发送猝发请求在有 4 个及以上条目可以写入 FIFO
中时有效
1.3.4
系统集成
TM4C1231D5PM 微控制器将各种标准系统功能集成到设备中,包括:
■ 直接存储器访问控制器 (DMA)
2014 年 01 月 28 日
43
Texas Instruments-预告信息
结构概述
■ 系统控制和时钟,包括片上 16-M 高精度振荡器
■ 6 个 32 位定时器(最多可达 12 个 16 位定时器)
■ 六个 64 位宽定时器(最多可达 12 个 32 位宽定时器)
■ 十二个 32/64 位捕获比较 PWM (CCP) 管脚
■ 带备用电池的低功耗休眠模块
■ 在休眠模块中的实时时钟
■ 两个看门狗定时器
– 一个定时器使用主时钟振荡器
– 一个定时器使用内部时钟振荡器
■ 高达 43 个 GPIO,具体取决于配置
– 高度灵活的管脚复用,可配置为GPIO或任一外设功能
– 可独立配置为 2、4 或 8 mA 端口驱动能力
– 高达 4 个 GPIO,具有 18 mA 驱动能力
下面的章节提供这些功能的更多信息。
1.3.4.1
直接内存访问 (见第512页)
TM4C1231D5PM 微控制器内置一个直接存储器访问(Direct Memory Access,简写为DMA)控制
器,我们称之为微型 DMA (μDMA) 控制器。µDMA 控制器所提供的工作方式能够分载 Cortex-M4F
处理器参与的数据传输任务,从而使处理器得到更加高效的利用和腾出更多的总线带宽。µDMA 控
制器能够自动执行存储器与外设之间的数据传输。片上每个支持 µDMA 功能的外设都有专用的 µDMA
通道,通过合理的编程配置,当外设需要时能够自动在外设和存储器之间传输数据。μDMA 控制器
具有以下特性:
®
■ ARM PrimeCell 32 通道的可配置 µDMA 控制器;
■ 支持存储器到存储器、存储器到外设、外设到存储器的 μDMA 传输,包括:
– 基本模式,用于简单的传输需求
– 乒乓模式,用于实现持续数据流
– 散聚模式,借助一个可编程的任务列表,由单个请求触发多达 256 个指定传输
■ 高度灵活的可配置的通道配置;
– 各通道均可独立配置、独立操作
– 每个支持 μDMA 功能的片上模块都有其专用通道
– 灵活的通道分配
– 对于双向模块,为其接收和发送各提供一个通道
– 专用的软件通道,可由软件启动 μDMA 传输
– 每通道都可分别配置优先级
2014 年 01 月 28 日
44
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
– 可选配置:任一通道均可用作软件启动传输
■ 优先级分为两级;
■ 通过优化设计,改进了 μDMA 控制器与处理器内核之间的总线访问性能:
– 当内核不访问总线时,μDMA 控制器即可占用总线
– RAM条带处理
– 外设总线分段
■ 支持 8 位、16 位或 32 位数据宽度
■ 待传输数目可编程为 2 的整数幂,有效范围 1 到 1024
■ 源地址及目的地址可自动递增,递增单位可以是字节、半字、字、不递增
■ 可屏蔽的外设请求
■ 传输结束中断,且每个通道有独立的中断
1.3.4.2
系统控制及时钟 (见第186页)
系统控制决定了器件的所有操作它不但提供了有关器件的信息,控制节能特性、对器件和单个外设
的时钟进行控制,还处理复位的检测和报告。
■ 器件识别信息:版本、部件号、SRAM 大小、Flash 存储器大小等
■ 功率控制
– 片上低压差线性稳压器 (LDO)
– 3.3 V 通电/断电序列,并控制内核的数字逻辑和模拟电路
– 微控制器的低功耗选项:带有时钟门控的休眠和深度休眠模式
– 片上模块的低功耗选择:软件控制各独立外设和存储器的掉电
– 3.3 V 电源掉电检测,可通过中断或复位来报告
■ 微控制器的系统时钟有多个时钟源。TM4C1231D5PM 微控制器配有以下时钟源:
– 精确内部振荡器 (PIOSC),提供 16-MHz 频率
• 整个温度和电压范围 16 MHz ±3%
• 可用 7 位的调整分辨率进行校准,实现更高的准确度 (16 MHz ±1%)
• 低功耗模式可软件控制掉电
– 主振荡器 (MOSC):主振荡器可通过两种方式提供一个频率精确的时钟源:外部单端时钟源
连接到 OSC0 输入管脚,或者外部晶振串接在 OSC0 输入管脚和 OSC1 输出管脚间。
– 低频内部振荡器 (LFIOSC):在节电模式期间使用的片上时钟源
– 可配置为休眠 (HIB) 模块 32.768-kHz 外部振荡器时钟源的休眠 RTC 振荡器 (RTCOSC) 时
钟,或者位于休眠模块中的 HIB 低频时钟源 (HIB LFIOSC)。
■ 灵活的复位源
2014 年 01 月 28 日
45
Texas Instruments-预告信息
结构概述
– 上电复位 (POR)
– 复位管脚有效
– 欠压 (BOR) 警告系统电源掉电
– 软件复位
– 看门狗定时器复位
– 主振荡器 (MOSC) 故障
1.3.4.3
可编程定时器 (见第628页)
可编程定时器可对驱动定时器输入管脚的外部事件进行计数或定时。每个 16/32 位 GPTM 模块包含
两个 16 位的定时器/计数器,用户可以将它们配置成独立运行的定时器或事件计数器,或将它们配
置成一个 32 位定时器或一个 32 位实时时钟 (RTC)。每个 32/64 位宽 GPTM 模块包含两个 32 位的
定时器/计数器(称作 TimerA 和 TimerB),用户可以将它们配置成独立运行的定时器或事件计数器
或将它们配置成一个 64 位定时器或一个 64 位实时时钟 (RTC)。定时器也可以用来触发模数转换
(ADC) 和 DMA 传输。
通用定时器模块 (GPTM) 包含六个 16/32 位 GPTM 时钟以及六个 32/64 位宽 GPTM 时钟,有以下
功能选项:
■ 16/32 位运行模式:
– 16 位或 32 位可编程的单次定时器
– 16 位或 32 位可编程的周期定时器
– 具有 8 位预分频的 16 位通用定时器
– 当有 32.768 KHz 的外部时钟源时可作为 32 位的实时时钟
– 16 位输入沿计数或定时捕获模式,并带 8 位的预分频器
– 带 8 位预分频器的 16 位 PWM 模式以及软件编程实现的 PWM 信号反相输出
■ 32/64 位运行模式:
– 32 位或 64 位可编程的单次定时器
– 32 位或 64 位可编程的周期定时器
– 具有 16 位预分频的 32 位通用定时器
– 当有 32.768 KHz 的外部时钟源时可作为 64 位的实时时钟
– 带有 16 位预分频器的 32 位输入沿计数或定时捕获模块
– 带有 16 位预分频器 的 32 位 PWM 模式以及软件编程实现的 PWM 信号反相输出
■ 可以向上或向下计数
■ 十二个 16/32 位捕获比较 PWM 管脚 (CCP)
■ 十二个 32/64 位捕捉比较 PWM 管脚 (CCP)
2014 年 01 月 28 日
46
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
■ 菊花链式的定时器模块允许一个定时器开始计时多路时钟事件
■ 定时器同步功能允许所选的定时器在同一时钟周期开始计数
■ 模数转换(ADC)触发器
■ 当调试时,CPU 出现暂停标识时,用户可以停止定时器事件(包括 RTC 模式)
■ 可以确定从产生定时器中断到进入中断服务程序所经过的时间
■ 用微型直接内存访问 (µDMA) 有效的传输数据
– 每个定时器具有专用通道
– 定时器中断响应突发请求
1.3.4.4
CCP 管脚 (见第636页)
捕获/比较/PWM 管脚 (CCP) 可以被通用定时器模块使用,通过将 CCP 管脚作为输入,可定时/计数
外部事件。此外,GPTM 模块可以在 CCP 管脚上产生一个简单的 PWM 输出。
TM4C1231D5PM 微控制器包括十二个 16/32 位 CCP 管脚,通过编程,这些管脚能够按以下模式
运行:
■ 捕捉:通用定时器根据 CCP 输入的编程事件递增/递减。当编程事件发生时,它捕获和存储当前
定时器的值。
■ 比较:通用定时器根据 CCP 输入的编程事件递增/递减。它将当前定时器的值和存储的值相比
较,当匹配时,产生中断信号。
■ PWM:通用定时器根据系统时钟递增/递减。PWM信号的产生基于计数值和存储值的匹配,并输
出到 CCP 脚。
1.3.4.5
休眠模块 (HIB)(见第429页)
休眠模块提供了一种逻辑,将主处理器和外设电源暂时关闭,在外部事件或基于时间的事件发生时
唤醒休眠模块包括上电顺序逻辑,有如下特性:
■ 32 位实时秒计数器 (RTC),其时钟分辨率是 1/32,768 秒;以及一个 15 位亚秒计数器
– 32 位的 RTC 秒匹配寄存器,以及一个 15 位的亚秒匹配寄存器(其时钟分辨率是 1/32,768
秒),用于定时唤醒和产生中断
– RTC 预分频器调整,对时钟速率进行良好地调节
■ 电源控制的两种机制:
– 使用离散的外部稳压器控制系统电源
– 使用在寄存器控制下的内部开关控制片上电源
■ 使用外部信号用作唤醒的专用管脚
■ 只要 VDD 或 VBAT 有效,RTC 运行的内存和休眠所占内存就一直有效
■ 电池电量低检测、发出信号和中断发生;在电量低时提供可选的唤醒操作
2014 年 01 月 28 日
47
Texas Instruments-预告信息
结构概述
■ GPIO 管脚的状态在休眠过程中可保持不变
■ 时钟源可以是 32.768 KHz 的外部晶振或振荡器
■ 16 个 32 位字的带备用电池存储器,用于在休眠过程中保存状态
■ 可为以下事件设置中断信号:
– RTC匹配
– 外部唤醒
– 电池电量过低
1.3.4.6
看门狗定时器 (见第692页)
当系统由于软件错误或是由于因外部设备故障而无法按预期的方式响应的时候,使用看门狗定时器
可以重新获得控制权。TM4C1231D5PM 看门狗定时器在到达超时值时,可能会产生一个中断、一
个不可屏蔽的中断或者复位。此外,看门狗定时器兼容 ARM FIRM,可配置成在第一次超时时产生
中断请求并发送到微控制器,并在第二次超时时产生复位信号。配置好看门狗定时器后,即可写入
锁定寄存器,从而防止定时器配置被意外更改。
TM4C1231D5PM 微控制器含有两个看门狗定时器模块:看门狗定时器 0 使用系统时钟计时;看门
狗定时器 1 由 PIOSC 定时器时钟驱动。看门狗定时器模块具有如下特性:
■ 32位递减并且可编程装载的寄存器
■ 独立的看门狗时钟使能
■ 带中断屏蔽功能和可选 NMI 功能的可编程中断产生逻辑
■ 软件跑飞时保护锁定寄存器
■ 复位使能/禁止产生逻辑
■ 调试期间,微控制器的 CPU 暂停时,用户可启用的停滞
1.3.4.7
可编程的 GPIO (见第575页)
通用输入/输出 (GPIO) 管脚为各种连接方式带来了灵活性。TM4C1231D5PM GPIO 模块包含 6 个
物理 GPIO 块,每个块对应一个独立的 GPIO 端口。GPIO 模块遵循 FiRM 规范(遵循 ARM 实时微
控制器底层 IP 规范)并支持 TM4C1231D5PM 的可编程输入/输出管脚。可用的 GPIO 数目取决于
正在使用的外设(有关每个 GPIO 管脚可用的信号见 “信号表”(1008页))
■ 高达 43 个 GPIO,具体取决于配置
■ 高度灵活的管脚复用,可配置为GPIO或任一外设功能
■ 配置为输入模式可承受 5 V 电压
■ 端口 A-G 可通过高级外设总线 (APB) 访问
■ 快速切换能力,在 AHB 端口每个时钟周期实现一次变化;在 APB 端口每两个时钟周期实现一次
变化
■ 可编程控制的GPIO中断
2014 年 01 月 28 日
48
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
– 产生中断屏蔽
– 上升沿、下降沿或是双边沿(上升沿和下降沿)触发
– 高电平或低电平触发
■ 读写操作时刻可过地址线进行位屏蔽的操作
■ 可用于启动一个 ADC 采样序列或 μDMA 传输
■ 在休眠模式中,可以保持管脚的状态
■ 配置为数字输入的管脚均为施密特触发
■ 可编程控制的GPIO引脚配置
– 弱上拉或下拉电阻
– 数字通信时可配置为 2 mA、4 mA 或 8 mA 驱动电流;对于需要大电流的应用,可通过多达
四个管脚承载 18 mA
– 8 mA 驱动电流的斜率控制
– 开漏启用
– 数字输入启用
1.3.5
模拟
TM4C1231D5PM 微控制器将模拟功能集成到芯片中,包括:
■ 2 个 12 位模数转换器 (ADC),总共带有 12 个模拟输入通道;每个的采样速率为 1M 采样/秒
■ 两个模拟比较器
■ 片上电压稳压器
下面的章节提供模拟功能的更多信息。
1.3.5.1
ADC (见第717页)
模-数转换器(ADC)是一种能够将连续的模拟电压信号转换为离散的数字量的外设。TM4C1231D5PM
ADC 模块具有 12 位转换精度并支持 12 个输入通道;同时还内置一个温度传感器。4 个带缓冲的采
样序列无需使用控制器,就可以对最多 12 个模拟输入源进行快速采样。每个采样序列发生器都可灵
活配置其输入源、触发事件、中断的产生、序列发生器的优先级等内容。每个 ADC 块内置数字比较
器功能,采样转换结果可移交给数字比较器模块,该数字比较器模块内置 8 路数字比较器。
TM4C1231D5PM 微控制器内置 2 个 ADC 模块,每个模块均具有以下特性:
■ 12 个共用模拟输入通道
■ 12 位精度的 ADC
■ 可配置为单端输入或差分输入;
■ 片上内置温度传感器
2014 年 01 月 28 日
49
Texas Instruments-预告信息
结构概述
■ 1M 次/秒的采样率
■ 可选的移相器,采样点以采样周期计可延后 22.5° 到 337.5°
■ 4 个可编程的采样转换序列发生器,序列长度 1 到 8 个单元不等,且各自带有相应长度的转换结
果 FIFO
■ 灵活的转换触发控制:
– 控制器(软件)触发
– 定时器触发
– 模拟比较器触发
– GPIO
■ 硬件可对多达 64 个采样值进行平均计算
■ 八个数字比较器
■ 模拟部分的电源/地与数字部分的电源/地相互独立
■ 用微型直接内存访问 (µDMA) 有效的传输数据
– 每个采样序列发生器各自有专用的通道
– ADC 模块的 DMA 操作均采用猝发请求
1.3.5.2
模拟比较器 (见第993页)
模拟比较器是一个外设,它能比较两个模拟电压的大小,并通过自身提供的逻辑输出端将比较结果
以信号的形式输出。该 TM4C1231D5PM 微控制器提供两个独立集成的模拟比较器,该模拟比较器
可配置为驱动输出或产生中断或 ADC 事件。
比较器可以向器件管脚提供输出,以替换板上的模拟比较器。比较器也可以通过中断或触发 ADC 通
知应用让它开始捕获采样序列。中断产生逻辑和 ADC 触发是各自独立的。这就意味着,中断可以在
上升沿产生,而 ADC 在下降沿触发。
TM4C1231D5PM 微控制器提供两个独立集成的模拟比较器,具有如下功能:
■ 可以比较外部输入管脚和外部输入管脚或内部可编程的参考电压
■ 比较器可将测试电压与下面的其中一种电压相比较
– 独立的外部参考电压
– 共用的外部参考电压
– 共用的内部参考电压
1.3.6
JTAG 和 ARM 串行线调试 (见第175页)
联合测试行动组 (JTAG) 是一项 IEEE 标准,它定义了数字集成电路的测试访问端口和边界扫描结
构,并且提供了一个标准化的串行接口来控制相关的测试逻辑。TAP、指令寄存器 (IR) 和数据寄存
器 (DR) 可用来测试组装好的印刷电路板的互连性,并获取元件的制造信息。JTAG 端口还可用于访
问和控制测试用设计的特性,如 I/O 管脚的观察和控制、扫描测试以及调试。 Texas Instruments 实
2014 年 01 月 28 日
50
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
现了通过 ARM 串行线 JTAG 调试端口 (SWJ-DP) 接口取代 ARM SW-DP 和 JTAG-DP 的功能。
SWJ-DP 接口将 SWD 和 JTAG 调试端口集成到一个模块中,提供所有的正常 JTAG 调试和测试功
能,可实时访问系统存储器而不停止内核,且不需要任何目标寄居代码。SWJ-DP 接口具有如下特
性:
■ IEEE 1149.1-1990 兼容的测试访问端口 (TAP) 控制器
■ 4 位指令寄存器 (IR) 链,用于存储 JTAG 指令
■ IEEE 标准指令:BYPASS、IDCODE、SAMPLE/PRELOAD 和 EXTEST
■ ARM 附加指令:APACC、DPACC 和 ABORT
■ 集成的 ARM 串行线调试 (SWD)
– 串行线 JTAG 调试端口 (SWJ-DP)
– Flash 修补和断点 (FPB) 单元,用于实现断点操作
– 数据观察点和触发 (DWT) 单元,用于执行观察点、触发源和系统性能分析
– 仪表跟踪宏单元 (ITM),用于支持 printf 型调试
– 用于指令追踪捕捉的嵌入式追踪宏单元 (ETM)
– 跟踪端口接口单元 (TPIU) 用作跟踪端口分析仪的桥接
1.3.7
封装和温度
■ 符合 RoHS 标准的 64 管脚 LQFP 封装
■ 工业(-40°C 到 85°C)环境温度范围
■ 扩展(-40°C 到 105°C)环境温度范围
1.4
TM4C1231D5PM 微控制器硬件细节
有关管脚和封装的详细信息可在下一节中找到:
■ “管脚图”(1007页)
■ “信号表”(1008页)
■ “Electrical Characteristics”(1029页)
■ “封装信息”(1070页)
1.5
开发套件
其 Tiva™ C 系列 为工程师提供了各种硬件和软件工具,以便快速开始进行产品研发。
■ 参考设计套件通过提供可以运行的硬件和完整的文档来加速产品开发,这些完整的文档包含了硬
件设计文件
■ 评估套件方便您在购买之前以低廉的成本有效评估 TM4C1231D5PM 微控制器
2014 年 01 月 28 日
51
Texas Instruments-预告信息
结构概述
■ 开发套件为你提供所有需要开发的工具和原型嵌入式应用
请访问 Tiva 系列的网站 http://www.ti.com/tiva-c 了解最新的可用工具,或者请直接联系分销商。
1.6
支持信息
关于 Tiva™ C 系列 产品的支持服务,请就近联系 TI Worldwide Product Information Center。
2014 年 01 月 28 日
52
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
2
Cortex-M4F 处理器
ARM® Cortex™-M4F 处理器提供了一个高性能、低成本的平台,可满足系统对降低存储需求、简
化管脚数以及降低功耗三方面的要求,与此同时,它还提供出色的计算性能和优越的系统中断响应
能力。特性包括:
®
■ 32 位 ARM Cortex™-M4F 架构针对小封装嵌入式应用进行了优化
■ 80-MHz 运行速度;100 DMIPS 性能
■ 优越的处理性能和更快的中断处理。
■ 混合 16 位/32 位的 Thumb-2 指令集提供与 32 位 ARM 内核所期望的高性能而采用了更紧凑的
内存大小,而这通常在 8 位和 16 位设备相关的存储容量中,特别是在微控制器级应用的几千字
节存储中。
– 单周期乘法指令和硬件除法器
– 精确的位操作(bit-banding),不仅最大限度的利用了存储器空间而且还改良了对外设的控
制
– 非对齐式数据访问,使数据能够更为有效的安置到存储器中
■ 符合 IEEE754 的单精度浮点单元 (FPU)
■ 16 位 SIMD 矢量处理单元
■ 快速代码执行允许更低的处理器时钟和增加休眠模式时间
■ Harvard 结构 - 将数据和指令所使用的总线进行了分离
■ 高效的处理器内核,系统和存储器
■ 硬件除法和以快速数字信号处理为导向的乘加
■ 采用饱和算法处理信号
■ 对时间苛刻的应用提供可确定的, 高性能的中断处理
■ 存储器保护单元为操作系统机能提供特权操作模式
■ 增强的系统调试提供全方位的断点和跟踪能力
■ 串行线调试和串行线跟踪减少调试和跟踪过程中需求的管脚数
■ 从 ARM7™ 处理器系列中移植过来,以获得更好的性能和电源效率
■ 针对高达指定频率的单周期 Flash 存储器使用情况而设计。详见 “内部存储器”(458页)。
■ 集成多种休眠模式,更低功耗
然后 Tiva™ C 系列 微控制器基于此内核之上,提供了高性能的 32 位运算能力
本章提供关于 Tiva™ C 系列 Cortex-M4F 处理器的执行信息,包括编程模块、存储器模块、异常模
块、故障处理和电源管理。
2014 年 01 月 28 日
53
Texas Instruments-预告信息
Cortex-M4F 处理器
关于指令集的技术细节,请参考“ ARM® Cortex™-M4 Devices Generic User Guide(文献编号
ARM DUI 0553A)”中的 Cortex™-M4 指令集章节。
2.1
结构框图
Cortex-M4F 处理器基于高性能的处理器内核,采用三级流水线的哈佛架构,是满足嵌入式应用的理
想的处理器。该处理器带有高效的指令集和特别优化的设计,具有优异的能耗效率,并提供符合
IEEE754 的单精度浮点型计算单元、一系列单周期和 SIMD 乘法器和乘加功能,以及专用的硬件除
法器等高端处理硬件。
为促进成本敏感型设备的设计,Cortex-M4F 处理器采用了紧耦合的系统部件以降低处理器尺寸,同
时显著提高了中断处理能力和系统调试能力。Cortex-M4F 处理器采用了基于 Thumb-2 技术的
Thumb® 指令集,确保高代码密度和降低程序存储需求。Cortex-M4F 采用现代 32 位架构和 8 位、
16 位微处理器的高密度指令集,因而性能优异。
Cortex-M4F 处理器高度集成了嵌入式中断控制器 (NVIC),可达到业界领先的中断性能。
TM4C1231D5PM NVIC 包括一个不可屏蔽中断 (NMI),并提供 8 个中断优先级。紧密集成的处理器
内核和NVIC提供快速的中断服务程序和显著的降低了中断延迟。硬件入栈和停止多步装载和存储操
作进一步降低了中断延迟。中断处理不需要任何的汇编从何减少了ISR的代码开销。尾链优化同样显
著地降低了ISR切换时的开销。为优化低功耗设计,NVIC集成了睡眠模式,包括深度睡眠模式,该
模式可使整个芯片迅速地降低功耗。
图 2-1. CPU 结构图
嵌套的
向量 中断
控制器
FPU
中断信号
睡眠
ARM
Cortex-M4F
CM4 内核
调试
指令
数据
嵌入式 追踪
宏单元
内存 保护
单元
Flash
修补和
断点
数据 监视点 设备 追踪宏单元
及追踪
ROM
表
专用外设 总线
(内部)
高级外设总线
总线
矩阵
串行线 JTAG
调试端口
追踪
端口
接口
单元
串行 线
输出
追踪 端口
(SWO)
调试 访问端口
I-code 总线
D-code 总线
系统总线
2014 年 01 月 28 日
54
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
2.2
概述
2.2.1
系统级接口
Cortex-M4F 处理器采用 AMBA® 技术来提供多接口,以实现高速、低延迟的存储器访问。内核支持
非对齐的数据访问和原子位操作,使得外设的控制,系统自旋锁和线程安全布尔数据处理更快。
Cortex-M4F 处理器内有一个存储器保护单元 (MPU),可提供细粒度的存储器控制,使应用可以实
现安全特权级别和基于各个任务的独立代码、数据和堆栈。
2.2.2
集成的可配置调试
Cortex-M4F 处理器提供一个完整的硬件调试方案,通过一个传统的 JTAG 端口或者适合于微控制器
和其他小封装设备的 2 脚串行线调试 (SWD) 端口来实现处理器和存储器的系统高度可观测性。所述
的 Tiva™ C 系列 以兼容 ARM CoreSight™ 的串行线 JTAG 调试端口 (SWJ-DP) 接口取代了 ARM
SW-DP 和 JTAG—DP。SWJ-DP 接口将 SWD 和 JTAG 调试端口组合到一个模块中。有关 SWJ-DP
的详细信息,请参考 “ARM® Debug Interface V5 架构规格”。
对于系统跟踪,处理器集成了一个仪表跟踪宏单元(ITM),具有数据断点和分析单元。能够简单
地低成本的系统跟踪事件,串行线观测器(SWV)通过一个单引脚能导出软件产生的信息、数据跟
踪和分析信息的数据流。
嵌入式跟踪宏单元 (ETM) 提供了优异的指令追踪能力,相比传统的追踪单元,其追踪范围更加精
确,同时还提供了全指令追踪功能。更多有关 ARM ETM 的详细信息,请参考 “ARM® Embedded
Trace Macrocell 架构规格”。
Flash补丁和断点单元(FPB)提供高达8个硬件断点比较仪,这些可被调试器使用。FPB 的这些比
较仪还提供在程序代码中的代码内存区多达 8 个字的重映射功能。这个 FPB 允许存储在 Flash 存储
器只读区的应用可以拼接到片上 SRAM 或 Flash 存储器的另一个区。当需要拼接时,应用编程FPB
来重映射一组地址。当这些地址被访问时,访问被重定位到FPB配置中指定的重映射表中。
更多有关 Cortex-M4F 调试功能的信息,请参考 “ARM® Debug Interface V5 Architecture
Specification”。
2.2.3
跟踪端口的接口单元(TPIU)
TPIU 充当来自 ITM 的 Cortex-M4F 跟踪数据以及片外跟踪端口分析仪之间的桥接器,如 图
2-2(56页) 中所示。
2014 年 01 月 28 日
55
Texas Instruments-预告信息
Cortex-M4F 处理器
图 2-2. TPIU方框图
2.2.4
调试
ATB
从机
端口
ARM® 跟踪
总线 (ATB)
接口
APB
从机
端口
高级 外设
总线 (APB)
接口
Asynchronous FIFO
Trace Out
(串行化)
串行线
追踪端口
(SWO)
Cortex-M4F 系统组件细节
Cortex-M4F 包含以下系统组件:
■ SysTick
24 位的递减定时器,可被用作实时操作系统 (RTOS) 的节拍定时器,或者作为一个简单的计数
器,参见 “系统定时器(SysTick)”(101页)。
■ 嵌套式向量化中断控制器(NVIC)
一个嵌入的中断控制器,支持低延迟中断处理,参见 “嵌套式向量化中断控制器
(NVIC)”(102页)。
■ 系统控制模块 (SCB)
处理器的编程模型接口。系统控制块 (SCB) 提供系统实现信息和系统控制,包括系统异常的配
置、控制和报告(请参考“系统控制模块 (SCB)”(103页))。
■ 存储器保护单元 (MPU)
通过为不同的内存区定义内存属性来提高系统的稳定性。MPU 提供多达 8 个不同区和一个可选
的预定义的背景区,参见 “存储器保护单元 (MPU)”(104页)。
■ 浮点单元 (FPU)
完全支持单精度的加、减、乘、除、乘加以及平方根操作。它还可用于转换定点和浮点数据格
式,并提供浮点常数指令(请参考 “浮点单元 (FPU)”(108页))。
2.3
编程模型
这部分描述了 Cortex-M4F 的编程模型。另外还有单个的内核寄存器描述,处理器模式的信息和软
件执行、堆栈的权限级别。
2014 年 01 月 28 日
56
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
2.3.1
处理器模式和软件执行的权限级别
Cortex-M4F 模块具有两种工作模式:
■ 线程模式
用于执行应用程序软件。处理器复位后,进入线程模式。
■ 处理器模式
用于处理异常。当处理器完成异常的处理之后返回到线程模式。
另外,Cortex-M4F 有两个权限级别:
■ 无特权级
在此模式下,软件有如下限制:
– 限制访问 MSR 和 MRS 指令,且不使用 CPS 指令
– 不能访问系统定时器、NVIC 或者系统控制块
– 限制对某些存储器和外设的访问
■ 特权级
在此模式下,软件可以使用所有的指令和访问所有的资源。
在线程模式下,CONTROL 寄存器(参见 71页)控制软件执行是在特权级还是非特权级。在处理模
式下,软件执行总是在特权级下。
在线程模式下,只有特权级软件可以写 CONTROL 寄存器来改变软件的特权级。非特权级软件可使
用 SVC 指令来产生一个系统调用,把控制权转移到特权级软件。
2.3.2
堆栈
该处理器使用向下的满栈,意味着在存储器中堆栈指针指向的是最后入栈项目。当处理器推入一个
新的项目入栈时,先递减堆栈指针,再把新项目写入到内存中。处理器实现了两个堆栈:主堆栈和
处理堆栈,每个堆栈的指针都包含于独立的寄存器中(请参考61页上的 SP 寄存器)。
在线程模式,CONTROL 寄存器(见 71页)控制处理器是使用主堆栈还是处理堆栈。在处理模式
下,处理器总是使用主堆栈。处理器操作选项如 表2-1(57页) 所示。
表 2-1. 处理器模式、特权等级和堆栈使用摘要
处理器模式
用途
特权等级
Thread
应用程序
特权级或非特权级
Handler
异常处理程序
特权级
堆栈使用
a
主堆栈或进程堆栈
a
主堆栈
a. 参见 CONTROL(71页)。
2.3.3
寄存器映射
图2-3(58页) 描述了 Cortex-M4F 的寄存器组。表 2-2(58页) 列出了内核寄存器。核心寄存器
并没有映射存储器且可以通过寄存器名称访问,所以基址是 n/a(不适用)且没有偏移。
2014 年 01 月 28 日
57
Texas Instruments-预告信息
Cortex-M4F 处理器
图 2-3. Cortex-M4F 寄存器组
R0
R1
R2
R3
低位寄存器
R4
R5
通用寄存器
R6
R7
R8
R9
高位寄存器
R10
R11
R12
堆栈指针
SP (R13)
链接寄存器
LR (R14)
程序计数器
PC (R15)
PSP‡
PSR
MSP‡
‡SP
的分组版本
程序状态寄存器
PRIMASK
FAULTMASK
异常屏蔽寄存器
特殊寄存器
BASEPRI
CONTROL
控制寄存器
表 2-2. 处理器 寄存器映射
偏移量
名称
类型
复位
描述
见页面
-
R0
R/W
-
Cortex 通用寄存器 0
60
-
R1
R/W
-
Cortex 通用寄存器 1
60
-
R2
R/W
-
Cortex 通用寄存器 2
60
-
R3
R/W
-
Cortex 通用寄存器 3
60
-
R4
R/W
-
Cortex 通用寄存器 4
60
-
R5
R/W
-
Cortex 通用寄存器 5
60
-
R6
R/W
-
Cortex 通用寄存器 6
60
-
R7
R/W
-
Cortex 通用寄存器 7
60
-
R8
R/W
-
Cortex 通用寄存器 8
60
-
R9
R/W
-
Cortex 通用寄存器 9
60
-
R10
R/W
-
Cortex 通用寄存器 10
60
-
R11
R/W
-
Cortex 通用寄存器 11
60
2014 年 01 月 28 日
58
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 2-2. 处理器 寄存器映射(续)
偏移量
名称
类型
复位
-
R12
R/W
-
Cortex 通用寄存器 12
60
-
SP
R/W
-
堆栈指针
61
-
LR
R/W
0xFFFF.FFFF
链接寄存器
62
-
PC
R/W
-
程序计数器
63
-
PSR
R/W
0x0100.0000
程序状态寄存器
64
-
PRIMASK
R/W
0x0000.0000
优先级屏蔽寄存器
68
-
FAULTMASK
R/W
0x0000.0000
故障屏蔽寄存器
69
-
BASEPRI
R/W
0x0000.0000
基本优先级屏蔽寄存器
70
-
CONTROL
R/W
0x0000.0000
控制寄存器
71
-
FPSC
R/W
-
浮点状态控制
73
2.3.4
描述
见页面
寄存器描述
本章列出(以 图2-3(58页) 中所示的顺序)并描述了 Cortex-M4F 寄存器。内核寄存器地地址不
是存储器映射的,因此只能通过寄存器名称访问,而不能通过使用偏移量的方式访问。
注意:
在寄存器描述栏中,描述了程序在线程模式和处理器模式执行时的类型。调试访问可能不
同。
2014 年 01 月 28 日
59
Texas Instruments-预告信息
Cortex-M4F 处理器
寄存器 1: Cortex 通用寄存器 0(R0)
寄存器 2: Cortex 通用寄存器 1(R1)
寄存器 3: Cortex 通用寄存器 2(R2)
寄存器 4: Cortex 通用寄存器 3(R3)
寄存器 5: Cortex 通用寄存器 4(R4)
寄存器 6: Cortex 通用寄存器 5(R5)
寄存器 7: Cortex 通用寄存器 6(R6)
寄存器 8: Cortex 通用寄存器 7(R7)
寄存器 9: Cortex 通用寄存器 8(R8)
寄存器 10: Cortex 通用寄存器 9(R9)
寄存器 11: Cortex 通用寄存器 10(R10)
寄存器 12: Cortex 通用寄存器 11(R11)
寄存器 13: Cortex 通用寄存器 12(R12)
Rn 寄存器是供数据操作的 32 位通用寄存器,既可在特权模式下访问,也可在在非特权模式下访
问。
Cortex 通用寄存器 0 (R0)
类型 R/W, 复位 31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
DATA
类型
复位
DATA
类型
复位
位/域
名称
类型
复位
31:0
DATA
R/W
-
描述
寄存器数据。
2014 年 01 月 28 日
60
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 14: 堆栈指针(SP)
堆栈指针 (SP) 即寄存器 R13。在线程模式下,该寄存器功能取决于控制寄存器 (CONTROL) 寄存
器中的 ASP 位。当 ASP 位为 0 时,此寄存器是主堆栈指针 (MSP)。当 ASP 位置位时,此寄存器
是进程堆栈指针 (PSP)。复位时,ASP 清零,同时处理器将地址 0x0000.0000 处的值载入 MSP。
仅在特权级模式下才可访问 MSP 寄存器;在特权级和非特权级模式都可访问 PSP 寄存器。
堆栈指针 (SP)
类型 R/W, 复位 31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
SP
类型
复位
SP
类型
复位
位/域
名称
类型
复位
31:0
SP
R/W
-
描述
该字段是堆栈指针的地址
2014 年 01 月 28 日
61
Texas Instruments-预告信息
Cortex-M4F 处理器
寄存器 15: 链接寄存器(LR)
R14 寄存器是链接寄存器 (LR)。它存储关于子程序、函数调用和异常事件的返回信息。在特权和非
特权模式下均可访问链接寄存器。
遇到异常条目时,EXC_RETURN 被载入到 LR。其值及相关描述参见 表2-10(91页)。
链接寄存器 (LR)
类型 R/W, 复位 0xFFFF.FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
7
6
5
4
3
2
1
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
LINK
类型
复位
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
15
14
13
12
11
10
9
8
LINK
类型
复位
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
位/域
名称
类型
31:0
LINK
R/W
R/W
1
复位
R/W
1
描述
0xFFFF.FFFF 此字段是返回地址。
2014 年 01 月 28 日
62
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 16: 程序计数器(PC)
R15 寄存器是程序计数器 (PC),保存的是当前程序的地址。复位时,处理器将地址 0x0000.0004
处的复位向量载入到 PC 寄存器。复位时,该复位向量的位 0 载入到 EPSR 寄存器中的 THUMB
位,此时该位必须是 1。在特权和非特权模式下均可访问 PC 寄存器。
程序计数器 (PC)
类型 R/W, 复位 31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
PC
类型
复位
PC
类型
复位
位/域
名称
类型
复位
31:0
PC
R/W
-
描述
此字段是当前程序的地址
2014 年 01 月 28 日
63
Texas Instruments-预告信息
Cortex-M4F 处理器
寄存器 17: 程序状态寄存器(PSR)
注意:
此寄存器也被称为 xPSR。
程序状态寄存器 (PSR) 有三个功能,且寄存器中的位被分配为不同的功能:
■ 应用程序状态寄存器 (APSR),位域 31:27,位域 19:16
■ 运行程序状态寄存器 (EPSR),位域 26:24、15:10
■ 中断程序状态寄存器 (IPSR),位域 7:0
PSR、IPSR 和 EPSR 寄存器只能在特权模式下访问;APSR 寄存器在特权和非特权模式下均可访
问。
APSR 寄存器保存前面指令执行状态标记的当前状态。
EPSR 包含 Thumb 状态位和 If-Then (IT) 指令或中断的多周期载入和存储指令的“可中断-可继续指
令”(ICI) 域的执行状态位。尝试通过应用软件使用 MSR 指令直接读取 EPSR 的操作,其返回值总是
为零。尝试在应用程序软件中使用 MSR 指令对 EPSR 进行写操作,将始终被忽略。故障处理器可
通过检查堆栈式的 PSR 中的 EPSR 值来确定出现故障的操作(见 “异常进入和返回”(89页))。
IPSR 寄存器包含的是当前中断服务程序 (ISR) 的异常类型号。
这些寄存器可以单独访问或者是任何两三个一起访问,访问时使用寄存器的名称作为 MSR 或 MRS
指令的参数。例如,可以使用 PSR + MRS 指令组合对所有寄存器进行读操作;APSR + MSR 指令
组合只能对 APSR 寄存器进行写操作。64页 列出了 PSR 所有可能的寄存器组合。请参见 MRS 和
MSR 指令的描述(在 “ARM® Cortex™-M4 Devices Generic User Guide [文献编号 ARM DUI
0553A]” 的 Cortex™-M4 指令集章节中),了解关于如何访问程序状态寄存器的更多信息。
表 2-3. PSR 寄存器组合
寄存器
类型
组合
PSR
a b
R/W ,
APSR、EPSR 和 IPSR
IEPSR
RO
EPSR 和 IPSR
a
APSR 和 IPSR
b
APSR 和 EPSR
IAPSR
R/W
EAPSR
R/W
a. 处理器忽略对 IPSR 位的写操作。
b. 读 EPSR 位返回零,处理器忽略这些位的写操作。
程序状态寄存器 (PSR)
类型 R/W, 复位 0x0100.0000
类型
复位
31
30
29
28
27
N
Z
C
V
Q
26
25
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
RO
0
RO
0
15
14
13
12
11
10
9
ICI / IT
ICI / IT
类型
复位
RO
0
RO
0
RO
0
24
23
22
THUMB
21
RO
0
RO
0
RO
0
19
18
17
16
GE
RO
1
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
RO
0
20
保留
ISRNUM
RO
0
RO
0
RO
0
RO
0
RO
0
2014 年 01 月 28 日
64
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
31
N
R/W
0
描述
APSR 负数或小于标志
值 描述
1 先前操作的结果是负数或小于。
0 先前操作的结果是整数、零、大于或相等。
当访问 PSR 或 APSR 时该位才有意义。
30
Z
R/W
0
APSR 零标志
值 描述
1 先前操作结果为0。
0 先前操作结果非0。
当访问 PSR 或 APSR 时该位才有意义。
29
C
R/W
0
APSR 进位或借位标志
值 描述
1 先前加法操作导致进位或者先前的减法操作没有产生借位。
0 先前的加法操作没有导致进位或者先前的减法操作导致了借位。
当访问 PSR 或 APSR 时该位才有意义。
28
V
R/W
0
APSR 上溢标志
值 描述
1 先前的操作导致了上溢。
0 先前的操作没导致上溢。
当访问 PSR 或 APSR 时该位才有意义。
27
Q
R/W
0
APSR DSP 上溢和饱和标志
值 描述
1 使用 SIMD 指令时,发生 DSP 上溢或饱和。
0 自从复位或自从该位上次清零以来没有发生过 DSP 上溢或饱和。
当访问 PSR 或 APSR 时该位才有意义。
该位可由软件使用 MRS 指令清零。
26:25
ICI / IT
RO
0x0
EPSR ICI/IT 状态
这些位以及位 15:10 包含中断的多指令载入操作或多指令存储操作的“可
中断-可继续指令”(ICI) 域或者 IT 指令的执行状态位。
当 EPSR 保持 ICI 执行状态时,位 26:25 都是 0。
If-Then 模块在 IT 指令之后最多包含四条指令。该模块中的每条指令都
是带有条件的。这些指令的条件有可能都一样,其中一些也可能和其它
相反。更多信息请参考 “ARM® Cortex™-M4 Devices Generic User
Guide(文献编号 ARM DUI 0553A)”中的 Cortex™-M4 指令集章节。
当访问 PSR 或 EPSR 时该位才有意义。注意这些 EPSR 位不能使用
MRS 和 MSR 指令访问,但提供了定义,以便在异常处理程序中解译堆
栈式 (E)PSR 值。
2014 年 01 月 28 日
65
Texas Instruments-预告信息
Cortex-M4F 处理器
位/域
名称
类型
复位
24
THUMB
RO
1
描述
EPSR Thumb 状态
该位指示Thumb的状态且应该一直为1。
下面的方式可清除 THUMB 位:
■
BLX、BX 和 POP{PC} 指令
■
异常返回时的堆栈式 xPSR 值恢复
■
异常进入或复位时的向量值的位 0
尝试在该位为0时执行指令或导致产生fault后者锁住。更多信息参见 “死
锁”(93页)。
当访问 PSR 或 EPSR 时该位才有意义。
23:20
保留
RO
0x00
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
19:16
GE
R/W
0x0
大于或等于标志
更多信息请参考 “ARM® Cortex™-M4 Devices Generic User Guide
(文献编号 ARM DUI 0553A)”中 Cortex™-M4 指令集章节的 ARM
DUI 0553A 指令描述。
当访问 PSR 或 APSR 时该位域才有意义。
15:10
ICI / IT
RO
0x0
EPSR ICI/IT 状态
这些位以及位 26:25 都包含可用于中断的多指令载入操作或多指令存储
操作的“可中断-可继续指令”(ICI) 域以及 IT 指令的执行状态位。
在执行 LDM、STM、PUSHPOP、VLDM、VSTM、VPUSH 或 VPOP
指令过程中,如果出现中断,处理器将暂时停止多指令载入或多指令存
储操作,并将多指令操作中的下一个寄存器操作数存储到位 15:12 中。
处理完中断后,处理器返回到位 15:12 指向的寄存器,然后恢复多指令
载入和存储操作。当 EPSR 保持 ICI 执行状态时,位 11:10 都是 0。
If-Then 模块在 16 位的 IT 指令之后最多包含四条指令。该模块中的每
条指令都是带有条件的。这些指令的条件有可能都一样,其中一些也可
能和其它相反。更多信息请参考 “ARM® Cortex™-M4 Devices Generic
User Guide(文献编号 ARM DUI 0553A)”中的 Cortex™-M4 指令集
章节。
当访问 PSR 或 EPSR 时该位才有意义。
9:8
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
66
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
7:0
ISRNUM
RO
0x00
IPSR ISR 号
该域包含的是当前中断服务程序 (ISR) 的异常类型号。
值
描述
0x00
线程模式
0x01
保留
0x02
NMI
0x03
硬故障
0x04
存储器管理故障
0x05
总线故障
0x06
用法故障
0x07-0x0A 保留
0x0B
SVCall
0x0C
保留用于调试
0x0D
保留
0x0E
PendSV
0x0F
SysTick
0x10
中断向量0
0x11
中断向量1
...
...
0x9A
中断向量138
更多信息参见 “异常类型”(84页)。
当访问 PSR 或 IPSR 时该字段才有意义。
2014 年 01 月 28 日
67
Texas Instruments-预告信息
Cortex-M4F 处理器
寄存器 18: 优先级屏蔽寄存器(PRIMASK)
PRIMASK 寄存器可屏蔽所有优先级可编程的异常。只有固定优先级的复位、NMI 和硬故障是例外
的。当异常可能影响到关键任务执行时间时应该被禁止。该寄存器只能在特权模式下访问。MSR 和
MRS 指令用于访问 PRIMASK 寄存器,CPS 指令可用于更改 PRIMASK 寄存器的值。关于这些指
令的更多信息请参考 “ARM® Cortex™-M4 Devices Generic User Guide(文献编号 ARM DUI
0553A)”中的 Cortex™-M4 指令集章节。有关异常优先级的更多信息,请参考 “异常类型”(84页)。
优先级屏蔽寄存器 (PRIMASK)
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
8
7
6
5
4
3
2
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:1
保留
RO
0x0000.000
0
PRIMASK
R/W
0
RO
0
0
PRIMASK
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
优先级屏蔽
值 描述
1 禁止所有可配置优先级的异常。
0 没有影响
2014 年 01 月 28 日
68
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 19: 故障屏蔽寄存器(FAULTMASK)
FAULTMASK 寄存器可屏蔽除 NMI(不可屏蔽中断)外的所有异常。当异常可能影响到关键任务执
行时间时应该被禁止。该寄存器只能在特权模式下访问。MSR 和 MRS 指令用于访问 FAULTMASK
寄存器,CPS 指令可用于更改 FAULTMASK 寄存器的值。关于这些指令的更多信息请参考 “ARM®
Cortex™-M4 Devices Generic User Guide(文献编号 ARM DUI 0553A)”中的 Cortex™-M4 指令
集章节。有关异常优先级的更多信息,请参考 “异常类型”(84页)。
故障屏蔽寄存器 (FAULTMASK)
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
8
7
6
5
4
3
2
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:1
保留
RO
0x0000.000
0
FAULTMASK
R/W
0
RO
0
0
FAULTMASK
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
故障屏蔽
值 描述
1 禁止除了NMI的所有异常。
0 没有影响
处理器从除了 NMI 外的任何异常处理程序返回时清零 FAULTMASK 位。
2014 年 01 月 28 日
69
Texas Instruments-预告信息
Cortex-M4F 处理器
寄存器 20: 基本优先级屏蔽寄存器(BASEPRI)
BASEPRI 寄存器定义了异常处理的最小优先级。当 BASEPRI 寄存器是非零值时,它将会禁止所有
异常优先级比 BASEPRI 寄存器低或相等的异常。当异常可能影响到关键任务执行时间时应该被禁
止。该寄存器只能在特权模式下访问。有关异常优先级的更多信息,请参考 “异常类型”(84页)。
基本优先级屏蔽寄存器 (BASEPRI)
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
BASEPRI
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:5
BASEPRI
R/W
0x0
R/W
0
保留
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
基本优先级
任何可编程优先级的异常的优先级低于或等于该字段的值时将被屏蔽。
PRIMASK 寄存器可用来屏蔽所有优先级可编程的异常。优先级越高,
优先级别越低。
值
描述
0x0 所有异常都不屏蔽
0x1 所有优先级别在1-7的异常都将屏蔽。
0x2 所有优先级别在2-7的异常都将屏蔽。
0x3 所有优先级别在3-7的异常都将屏蔽。
0x4 所有优先级别在4-7的异常都将屏蔽。
0x5 所有优先级别在5-7的异常都将屏蔽。
0x6 所有优先级别在6-7的异常都将屏蔽。
0x7 所有优先级别为7的异常都将屏蔽。
4:0
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
70
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 21: 控制寄存器(CONTROL)
当处理器处于线程模式时,CONTROL 寄存器控制使用的堆栈和软件执行的特权等级,并指示 FPU
是否处于活动状态。该寄存器只能在特权模式下访问。
处理程序模式总是使用 MSP,处理器将忽略在处理模式下向 CONTROL 寄存器的 ASP 位写入具体
的值。异常进入和返回机制自动采用 EXC_RETURN(参见 表2-10(91页))的值来更新 CONTROL
寄存器。在带操作系统环境下,线程在线程模式下运行应该使用process堆栈,而内核和异常处理应
该使用main中断。默认情况下,线程模式使用 MSP。要将线程模式中使用的堆栈指针切换到 PSP,
可按照 “ARM® Cortex™-M4 Devices Generic User Guide(文献编号 ARM DUI 0553A)”中
Cortex™-M4 指令集章节的详细介绍,使用 MSR 指令将 ASP 位置位,或使用相应的 EXC_RETURN
值在发生异常时返回线程模式,如表2-10(91页) 所示。
注意:
当改变堆栈指针时,软件必须在执行 ISB 指令后立即使用一条 MSR 指令,确保 ISB 后的
指令使用新的堆栈指针。请参见 “ARM® Cortex™-M4 Devices Generic User Guide(文
献编号 ARM DUI 0553A)”中的 Cortex™-M4 指令集章节。
控制寄存器 (CONTROL)
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
FPCA
ASP
TMPL
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
RO
0
位/域
名称
类型
复位
31:3
保留
RO
0x0000.000
2
FPCA
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
激活浮点上下文
值 描述
1 激活浮点上下文
0 没有激活浮点上下文
Cortex-M4F 使用该位来确定在处理异常时是否保留浮点状态。
重要:
1
ASP
R/W
0
两个位控制何时启用 FPCA:浮点上下文控制 (FPCC)
寄存器中的 ASPEN 位和辅助控制 (ACTLR) 寄存器中的
DISFPCA 位。
活动堆栈指针
值 描述
1 PSP 是当前堆栈指针。
0 MSP 是当前堆栈指针。
在处理模式下,该位读出零写会忽略。当异常返回时,Cortex-M4F 自
动更新该位。
2014 年 01 月 28 日
71
Texas Instruments-预告信息
Cortex-M4F 处理器
位/域
名称
类型
复位
0
TMPL
R/W
0
描述
线程模式特权级
值 描述
1 非特权级软件可以在线程模式被执行。
0 只有特权级的软件才能在线程模式下被执行。
2014 年 01 月 28 日
72
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 22: 浮点状态控制(FPSC)寄存器
FPSC 寄存器提供浮点系统所有必要的用户级控制。
浮点状态控制 (FPSC)
类型 R/W, 复位 31
类型
复位
30
29
28
27
26
25
24
22
21
20
19
RMODE
18
17
16
N
Z
C
V
保留
AHP
DN
FZ
R/W
-
R/W
-
R/W
-
R/W
-
RO
0
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
IXC
UFC
OFC
DZC
IOC
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
-
RO
0
R/W
-
R/W
-
R/W
-
R/W
-
R/W
-
保留
类型
复位
23
保留
IDC
位/域
名称
类型
复位
31
N
R/W
-
保留
RO
0
描述
负极状态码标志
浮点比较操作会更新此状态码标志。
30
Z
R/W
-
零状态码标志
浮点比较操作会更新此状态码标志。
29
C
R/W
-
进位状态码标志
浮点比较操作会更新此状态码标志。
28
V
R/W
-
上溢状态码标志
浮点比较操作会更新此状态码标志。
27
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
26
AHP
R/W
-
Alternative 半精度
置位时,选择 Alternative 半精度格式。清零时,选择 IEEE 半精度格
式。
FPDSC 寄存器中的 AHP 位包含该位的默认值。
25
DN
R/W
-
默认 NaN 模式
置位时,任何涉及一个或多个 NaN 的操作都会返回默认 NaN。清零时,
NaN 操作数传递到浮点操作的输出。
FPDSC 寄存器中的 DN 位包含该位的默认值。
24
FZ
R/W
-
清零模式
置位时,清零模式启用。清零时,清零模式被禁用,浮点系统的行为完
全符合 IEEE 754 标准。
FPDSC 寄存器中的 FZ 位包含该位的默认值。
2014 年 01 月 28 日
73
Texas Instruments-预告信息
Cortex-M4F 处理器
位/域
名称
类型
复位
23:22
RMODE
R/W
-
描述
舍入模式
几乎所有的浮点指令都使用指定的舍入模式。
FPDSC 寄存器中的 RMODE 位包含该位的默认值。
值
描述
0x0 向最接近值舍入 (RN) 模式
0x1 向正无穷大舍入 (RP) 模式
0x2 向负无穷大舍入 (RM) 模式
0x3 向 0 舍入 (RZ) 模式
21:8
保留
RO
0x0
7
IDC
R/W
-
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
输入反常累积异常
置位时,表示该异常自上一次向该位写 0 已经发生。
6:5
保留
RO
0x0
4
IXC
R/W
-
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
不精确的累积异常
置位时,表示该异常自上一次向该位写 0 已经发生。
3
UFC
R/W
-
下溢累积异常
置位时,表示该异常自上一次向该位写 0 已经发生。
2
OFC
R/W
-
上溢累积异常
置位时,表示该异常自上一次向该位写 0 已经发生。
1
DZC
R/W
-
除零累积异常
置位时,表示该异常自上一次向该位写 0 已经发生。
0
IOC
R/W
-
无效操作累积异常
置位时,表示该异常自上一次向该位写 0 已经发生。
2014 年 01 月 28 日
74
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
2.3.5
异常和中断
Cortex-M4F 处理器支持中断和系统异常。处理器和嵌入向量中断控制器分级和处理所有异常。异常
改变了软件控制流。处理器使用处理模式处理除了复位之外的所有异常。更多信息参见 “异常进入和
返回”(89页)。
NVIC寄存器控制中断处理。更多信息参见 “嵌套式向量化中断控制器(NVIC)”(102页)。
2.3.6
数据类型
Cortex-M4F 支持 32 位字、16 位半字和 8 位字节。处理器也支持 64 位数据传输指令。所有指令和
数据访问都是小端模式。更多信息参见 “内存区,类型和属性”(77页)。
2.4
存储模型
本节描述处理器存储映射、存储器访问和位带特征。处理器提供4GB的寻址空间和混合的存储映射。
TM4C1231D5PM 控制器的存储器映射请参考表2-4(75页)。在本手册中,寄存器地址将采用相对
于存储器映射表中各模块基址的十六进制递增的形式给出。
在SRAM和外设区包含位带区。位带区对位数据提供原子操作,参见 “位带区”(79页)。
处理器为核心外设寄存器保留了相应范围的专用外设总线 (PPB) 地址区(参见 “Cortex-M4 外
设”(101页))。
注意:
在存储器映射中,尝试在保留空间读、写地址会导致总线故障。此外,尝试在 Flash 范围写
入地址也会导致总线故障。
表 2-4. 存储器映射
开始
结束
描述
详见页
0x0000.0000
0x0000.FFFF
片上Flash
472
0x0001.0000
0x1FFF.FFFF
保留
-
0x2000.0000
0x2000.5FFF
片上 SRAM 位带
459
0x2000.6000
0x21FF.FFFF
保留
-
0x2200.0000
0x220B.FFFF
片上 SRAM 的位带别名区,起始地址为 0x2000.0000
459
0x220C.0000
0x3FFF.FFFF
保留
-
0x4000.0000
0x4000.0FFF
看门狗定时器0
695
0x4000.1000
0x4000.1FFF
看门狗定时器1
695
0x4000.2000
0x4000.3FFF
保留
-
0x4000.4000
0x4000.4FFF
GPIO 端口 A
585
0x4000.5000
0x4000.5FFF
GPIO 端口 B
585
0x4000.6000
0x4000.6FFF
GPIO 端口 C
585
0x4000.7000
0x4000.7FFF
GPIO 端口 D
585
0x4000.8000
0x4000.8FFF
SSI0
870
0x4000.9000
0x4000.9FFF
SSI1
870
0x4000.A000
0x4000.AFFF
SSI2
870
0x4000.B000
0x4000.BFFF
SSI3
870
0x4000.C000
0x4000.CFFF
UART0
810
0x4000.D000
0x4000.DFFF
UART1
810
存储器
外设
2014 年 01 月 28 日
75
Texas Instruments-预告信息
Cortex-M4F 处理器
表 2-4. 存储器映射(续)
开始
结束
描述
详见页
0x4000.E000
0x4000.EFFF
UART2
810
0x4000.F000
0x4000.FFFF
UART3
810
0x4001.0000
0x4001.0FFF
UART4
810
0x4001.1000
0x4001.1FFF
UART5
810
0x4001.2000
0x4001.2FFF
UART6
810
0x4001.3000
0x4001.3FFF
UART7
810
0x4001.4000
0x4001.FFFF
保留
-
0x4002.0FFF
I2C 0
918
0x4002.1FFF
I2C
1
918
0x4002.2000
0x4002.2FFF
I2C
2
918
0x4002.3000
0x4002.3FFF
I2C 3
918
0x4002.4000
0x4002.4FFF
GPIO 端口 E
585
0x4002.5000
0x4002.5FFF
GPIO 端口 F
585
0x4002.6000
0x4002.FFFF
保留
-
0x4003.0000
0x4003.0FFF
16/32 位定时器 0
649
0x4003.1000
0x4003.1FFF
16/32 位定时器 1
649
0x4003.2000
0x4003.2FFF
16/32 位定时器 2
649
0x4003.3000
0x4003.3FFF
16/32 位定时器 3
649
0x4003.4000
0x4003.4FFF
16/32 位定时器 4
649
0x4003.5000
0x4003.5FFF
16/32 位定时器 5
649
0x4003.6000
0x4003.6FFF
32/64 位定时器 0
649
0x4003.7000
0x4003.7FFF
32/64 位定时器 1
649
0x4003.8000
0x4003.8FFF
ADC0
736
0x4003.9000
0x4003.9FFF
ADC1
736
0x4003.A000
0x4003.BFFF
保留
-
0x4003.C000
0x4003.CFFF
模拟比较器触发
993
0x4003.D000
0x4003.FFFF
保留
-
0x4004.0000
0x4004.0FFF
CAN0 控制器
965
0x4004.1000
0x4004.BFFF
保留
-
0x4004.C000
0x4004.CFFF
32/64 位定时器 2
649
0x4004.D000
0x4004.DFFF
32/64 位定时器 3
649
0x4004.E000
0x4004.EFFF
32/64 位定时器 4
649
0x4004.F000
0x4004.FFFF
32/64 位定时器 5
649
0x4005.0000
0x4005.7FFF
保留
-
0x4005.8000
0x4005.8FFF
GPIO 端口 A(AHB 槽)
585
0x4005.9000
0x4005.9FFF
GPIO 端口 B(AHB 槽)
585
0x4005.A000
0x4005.AFFF
GPIO 端口 C(AHB 槽)
585
0x4005.B000
0x4005.BFFF
GPIO 端口 D(AHB 槽)
585
0x4005.C000
0x4005.CFFF
GPIO 端口 E(AHB 槽)
585
0x4005.D000
0x4005.DFFF
GPIO 端口 F(AHB 槽)
585
0x4005.E000
0x400A.EFFF
保留
-
外设
0x4002.0000
0x4002.1000
2014 年 01 月 28 日
76
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 2-4. 存储器映射(续)
开始
结束
描述
详见页
0x400A.F000
0x400A.FFFF
EEPROM 和密钥锁
488
0x400B.0000
0x400F.8FFF
保留
-
0x400F.9000
0x400F.9FFF
系统异常模块
421
0x400F.A000
0x400F.BFFF
保留
-
0x400F.C000
0x400F.CFFF
睡眠模块
440
0x400F.D000
0x400F.DFFF
Flash 存储器控制
472
0x400F.E000
0x400F.EFFF
系统控制
207
0x400F.F000
0x400F.FFFF
µDMA
532
0x4010.0000
0x41FF.FFFF
保留
-
0x4200.0000
0x43FF.FFFF
0x4000.0000 到 0x400F.FFFF 的位带别名
-
0x4400.0000
0xDFFF.FFFF
保留
-
0xE000.0000
0xE000.0FFF
仪表跟踪宏单元(ITM)
55
0xE000.1000
0xE000.1FFF
数据观察点和跟踪(DWT)
55
0xE000.2000
0xE000.2FFF
Flash 修补和断点(FPB)
55
0xE000.3000
0xE000.DFFF
保留
-
0xE000.E000
0xE000.EFFF
Cortex-M4F 外设(SysTick、NVIC、MPU、FPU 和 SCB) 111
0xE000.F000
0xE003.FFFF
保留
-
0xE004.0000
0xE004.0FFF
跟踪端口的接口单元(TPIU)
55
0xE004.1000
0xE004.1FFF
嵌入式跟踪宏单元(ETM)
55
0xE004.2000
0xFFFF.FFFF
保留
-
专用的外设总线
2.4.1
内存区,类型和属性
存储器映射和 MPU 的编程将存储器映射分割成几个区域。每个区被定义了存储类型且有些区有附
件的内存属性。存储类型和属性决定访问该区的行为。
存储类型:
■ 普通:处理器为了效率可重新排序和不确定的读操作。
■ 设备:处理器保存传送顺序并严格依照顺序和其它设备或严格排序存储器交换信息。
■ 严格排序处理器保存传送顺序并严格依照顺序和其它设备交换信息。
设备和严格排序存储器的顺序要求不同,这就意味着,存储系统可以将写操作缓冲到设备存储器,
而不可缓冲到严格排序存储器。
附件的存储属性是永不执行区 (XN)。意味着处理器阻止指令访问。只要在 XN 区执行指令就会产生
故障异常。
2.4.2
内存访问存储系统顺序
大多数的内存访问时通过具体的内存访问指令,存储系统并不能保证访问的顺序和指令的编程顺序
一致,提供的顺序不影响指令序列的行为。通常,如果程序的正常执行依赖于两次存储器访问依照
编程顺序,则软件要在两次存储器访问指令之间设置存储器阻碍指令。(参见 “存储器访问的软件顺
序”(78页))。
2014 年 01 月 28 日
77
Texas Instruments-预告信息
Cortex-M4F 处理器
然而,内存系统保证设备和严格顺序存储之间的访问顺序。两条内存访问指A1和A 2,如果A1和A2
都访问设备或者严格顺序存储器,并且在编程顺序上A1在A2前边,则A1将一直在A2前边被获取。
2.4.3
存储器访问行为
表2-5(78页) 示出存储器映射中每个区的访问行为。关于存储器类型和 XN 属性的具体信息,参
见 “内存区,类型和属性”(77页)。 Tiva™ C 系列 设备保留如下表所示的地址范围。更多信息,
参见 表2-4(75页)。
表 2-5. 存储器访问行为
地址范围
存储器区域
存储器类型
从不执行
(XN)
描述
0x0000.0000 - 0x1FFF.FFFF
代码
正常模式
-
这个可执行区域用于存放程序代码。数据也
可以保存到这里。
0x2000.0000 - 0x3FFF.FFFF
SRAM
正常模式
-
这个可执行区域用于存放数据。代码也可以
保存在这里。这个区域包括了位带和位带别
名区(参见 表2-6(79页))。
0x4000.0000 - 0x5FFF.FFFF
外设
设备
XN
这个区域包括了位带和位带别名区(参见
表2-7(80页))。
0x6000.0000 - 0x9FFF.FFFF
外部 RAM
正常模式
-
这个可执行区域用于存放数据。
0xA000.0000 - 0xDFFF.FFFF
外部设备
设备
XN
这个区域用作外部器件存储器。
0xE000.0000- 0xE00F.FFFF
专用外设总线
严格排序
XN
这个区域包括 NVIC、系统定时器和系统控
制模块。
0xE010.0000- 0xFFFF.FFFF
保留
-
-
-
CODE、SRAM 和外部 RAM 可以保存程序。然而,推荐在 CODE 区保存程序,因为 Cortex-M4F
分离总线可以同时读取和访问数据。
MPU 可以不理会默认存储器访问。详见 “存储器保护单元 (MPU)”(104页)。
Cortex-M4F 会在执行前预取指令,并且它会以推测的方式从分支目标地址进行预取。
2.4.4
存储器访问的软件顺序
程序流中的指令顺序并不总能保证相应的内存传送顺序,有以下几个原因:
■ 为提高效率,处理器能够记录一些存储器访问,提供这些并不影响指令序列的行为。
■ 处理器有多个总线接口。
■ 存储器映射中的存储器或设备有不同的等待状态。
■ 有些存储器访问被缓冲或者是不确定的。
“内存访问存储系统顺序”(77页) 描述了存储系统保证存储器访问顺序的几种情况。然而,如果内
存访问顺序是关键的,软件必须包含内存边界指令强制顺序。Cortex-M4F 有如下的内存边界指令:
■ 数据存储器边界 (DMB) 指令确保先执行尚未完成的存储器传输,再执行后续存储器传输。
■ 数据同步边界 (DSB) 指令确保先执行尚未完成的存储器传输,再执行后续指令。
■ 指令同步边界 (ISB) 指令确保所有已完成的存储器传输的影响能被后续指令识别。
内存边界指令可被用在下面的情况:
2014 年 01 月 28 日
78
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
■ MPU 编程
– 如果 MPU 设置改变,且改变必须在下条指令时有效,应使用 DSB 指令以确保 MPU 在指令
切换结束后立即生效。
– 如果使用分支或者调用进入 MPU 配置代码,应使用 ISB 指令确保新的 MPU 设置在编程 MPU
区后立即生效。如果 MPU 配置代码使用异常机制进入,则不需要 ISB 指令。
■ 向量表
如果程序改变了向量表的入口并启用了相应的异常,应在两次操作之间使用 DMB 指令。当异常
在启用后立即发生时,DMB 指令可确保处理器使用新的异常向量。
■ 自修改代码
如果程序包含自修改代码,应在程序代码修改后立即使用 ISB 指令。ISB 指令确保在执行后续指
令时使用更新的程序。
■ 存储器映射切换
如果系统包含存储器映射切换机制,应在程序中切换存储器映射之后使用 DSB 指令。DSB 指令
确保在执行后续指令时使用更新的存储器映射。
■ 动态异常优先级改变
当异常处于挂起或者活动状态时,如果其优先级需要更改,应在更改之后使用 DSB 指令。在
DSB 指令执行之后,更改将生效。
访问严格顺序存储器时(例如系统控制块),不需要使用 DMB 指令。
关于存储器边界指令的更多细节,请参考“ ARM® Cortex™-M4 Devices Generic User Guide(文
献编号 ARM DUI 0553A)”中的 Cortex™-M4 指令集章节。
2.4.5
位带区
位带区映在位带别名区中的每个字到位带区中的单个位。位带区占用SRAM和外设内存区中最少1MB
空间。对 32-MBSRAM 别名区的访问映射到 SRAM 中 1-MB 的位带区,如 表2-6(79页) 所示。
对 32-MB 外设别名区的访问映射到 1-MB 的外设位带区,如 表2-7(80页) 所示。关于位带区的特
定地址范围,参见 表2-4(75页)。
注意:
对在SRAM或外设位带别名区中一个字的访问映射到SRAM或外设位带区中的一个位。
对位带区的一个字访问结果是对相应内存的一个字访问,类似半字或字节访问。这样就与相
应外设的访问要求相符合。
表 2-6. SRAM 存储器位带区
地址范围
存储器区域
指令和数据访问
0x2000.5FFF
SRAM 位带区
对这个存储器范围的直接访问行为如同对SRAM存储器
的访问。但是该区域也可通过位带别名进行位寻址。
0x220B.FFFF
SRAM 位带别名
对这个区域的数据访问被重新映射到位带区。一个写操
作被执行为读-修改-写。指令访问没有重新映射。
开始
结束
0x2000.0000
0x2200.0000
2014 年 01 月 28 日
79
Texas Instruments-预告信息
Cortex-M4F 处理器
表 2-7. 外设存储器位带区
地址范围
存储器区域
指令和数据访问
0x400F.FFFF
外设位带区
对这个存储器范围的直接访问行为如同对外设存储器的
访问。但是该区域也可通过位带别名进行位寻址。
0x43FF.FFFF
外设位带别名
对这个区域的数据访问被重新映射到位带区。一个写操
作被执行为读-修改-写。指令访问没有重新映射。
开始
结束
0x4000.0000
0x4200.0000
下面的公式演示了别名区和位带区的映射关系:
bit_word_offset = (byte_offset x 32) + (bit_number x 4)
bit_word_addr = bit_band_base + bit_word_offset
此处,
bit_word_offset
在位带区中的目标位的位置。
bit_word_addr
在别名区中雨目标位映射的字的地址。
bit_band_base
别名区的起始地址。
byte_offset
字节在包含目标位的位带区中的编号。
bit_number
目标位的位置,0-7。
图2-4(81页) 示出了 SRAM 位带别名区和 SRAM 位带区映射的例子:
■ 在 0x23FF.FFE0 处的别名字映射到了位带区中的 0x200F.FFFF 的第 0 位:
0x23FF.FFE0 = 0x2200.0000 + (0x000F.FFFF*32) + (0*4)
■ 在 0x23FF.FFFC 处的别名字映射到了位带区中的 0x200F.FFFF 的第 7 位:
0x23FF.FFFC = 0x2200.0000 + (0x000F.FFFF*32) + (7*4)
■ 在 0x2200.0000 处的别名字映射到了位带区中的 0x2000.0000 的第 0 位:
0x2200.0000 = 0x2200.0000 + (0*32) + (0*4)
■ 在 0x2200.001C 处的别名字映射到了位带区中的 0x2000.0000 的第 7 位:
0x2200.001C = 0x2200.0000+ (0*32) + (7*4)
2014 年 01 月 28 日
80
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 2-4. 位带映射
32 MB 的别名区
0x23FF.FFFC
0x23FF.FFF8
0x23FF.FFF4
0x23FF.FFF0
0x23FF.FFEC
0x23FF.FFE8
0x23FF.FFE4
0x23FF.FFE0
0x2200.001C
0x2200.0018
0x2200.0014
0x2200.0010
0x2200.000C
0x2200.0008
0x2200.0004
0x2200.0000
3
7
3
1 MB SRAM 位带区
7
6
5
4
3
2
1
0
7
6
0x200F.FFFF
7
6
5
4
3
2
0x2000.0003
2.4.5.1
5
4
3
2
1
0
7
6
0x200F.FFFE
1
0
7
6
5
4
3
2
5
4
2
1
0
6
0x200F.FFFD
1
0x2000.0002
0
7
6
5
4
3
2
0x2000.0001
5
4
2
1
0
1
0
0x200F.FFFC
1
0
7
6
5
4
3
2
0x2000.0000
直接访问别名区
在别名区写一个字会更新位带区的一个位。
在别名区写入的字,其值的第0位决定了位带区对应位的值。写入值的第0位置位使位带位为1,写入
值的第0位清零使位带位为0。
别名区字的位 31:1 对位带区对应位没有影响。写入0x01和写入0xFF的影响是一样的。写入0x00和
写入0x0E的影响是一样的。
当在别名区写入一个字时,0x0000.0000 表示位带区中的对应位清零,0x0000.0001 表示位带区中
的对应位置位。
2.4.5.2
直接访问位带区
“存储器访问行为”(78页) 描述了对位带区的字节、半字或字进行直接访问的行为。
2.4.6
数据保存
处理器将存储器看做一个从零开始按增加顺序编号的线性字节集合。例如,字节0-3占据第一个存储
字,字节4-7占据第二个存储字。数据以小端法 (little-endian) 格式存储,字的最不重要字节 (lsbyte)
存储在最低编号字节,最重要字节 (msbyte) 存储在最高编号字节。图2-5(82页) 示出了数据是如
何存储的。
2014 年 01 月 28 日
81
Texas Instruments-预告信息
Cortex-M4F 处理器
图 2-5. 数据保存
存储器
7
寄存器
0
31
2.4.7
地址 A
B0
A+1
B1
A+2
B2
A+3
B3
lsbyte
24 23
B3
16 15
B2
8 7
B1
0
B0
msbyte
同步原语
Cortex-M4F 指令集包含多对同步原语,可以提供一个没有阻碍的机制,使一个线程或进程能用于获
取对存储位置的专有访问。软件可以使用这些原语执行有保证的读-修改-写存储器更新序列,或者用
作信号量机制。
一对同步原语包括:
■ 一个下载专用指令,用于读取一个存储器位置的值并请求对该位置的专有访问。
■ 一个保存专用指令,用于尝试写入相同的存储器位置并想一个寄存器返回一个状态位。如果这个
状态位为 0,表示该线程或进程获得了对存储器的专有访问,写入成功;如果这个状态位为 1,
表示该线程或进程没有获得对存储器的专有访问,写入没有执行。
这对下载专用和保存专用指令是:
■ 字指令 LDREX 和 STREX
■ 半字指令 LDREXH 和 STREXH
■ 字节指令 LDREXB 和 STREXB
软件必须使用对应的下载专用指令和保存专用指令。
要对存储器位置执行专有的读-修改-写操作,软件必须:
1. 使用一个下载专用指令读取该位置的值。
2. 按照需要修改该值。
3. 使用保存专用指令来尝试将新值写入存储器位置。
4. 测试返回的状态位。
如果状态位清零,读-修改-写操作成功完成。如果状态位为 0,不执行写操作,表示第 1 步返回
的值可能已过时。软件必须重试整个读-修改-写序列。
软件可以使用同步原语来实现信号量,如下:
1. 使用一个下载专用指令读取信号量地址,检测信号量是否自由。
2. 如果信号量是自由的,使用保存专用指令向信号量地址写入获取值。
2014 年 01 月 28 日
82
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
3. 如果第2步返回的状态位表示保存成功,那么软件已经获取了信号量。但是,如果保存失败,那
么可能在软件执行第1步后另外的进程已经获取了信号量。
Cortex-M4F 包含一个专用的访问监视器,处理器执行一个下载专用指令后,监视器会对这个事件做
一个标签。如果发生下列情况,处理器会移除这个专用访问标签。
■ 执行一条 CLREX 指令。
■ 执行一条 Store-Exclusive 指令,不管是否写成功。
■ 发生异常时,表示处理器可以在不同线程间解决信号量冲突。
关于同步原语指令的更多细节,请参考“ ARM® Cortex™-M4 Devices Generic User Guide(文献
编号 ARM DUI 0553A)”中的 Cortex™-M4 指令集章节。
2.5
异常模式
ARM Cortex-M4F 处理器和嵌套矢量中断控制器 (NVIC) 在处理模式对所有的异常进行优先级划分和
处理。异常发生时处理器状态被自动存储到堆栈,中断服务程序 (ISR) 结束时又自动被恢复。向量
的读取与状态保存并行,高效率进入中断。处理器支持尾链 (tail-chaining),这样使得执行背靠背中
断不需要重叠的状态保存和恢复。
表2-8(85页) 列出了所有的异常类型。软件可在七个异常(系统处理程序)以及 64 中断(在表
2-9(85页)中列出)上设置 8 个优先级。
系统处理程序的优先级由 NVIC 的系统处理程序优先级 n 寄存器 (SYSPRIn) 设定。中断是通过 NVIC
中断设置启用 n (ENn) 寄存器来启用的,并且由 NVIC 中断优先级 n (PRIn) 寄存器来区分其优先等
级。优先级可以被分组为先发优先级和子优先级。在 “嵌套式向量化中断控制器(NVIC)”(102页)
中描述了所有中断寄存器。
在内部用户可编程的最高优先级 (0) 是第4优先级,按顺序在复位、非屏蔽中断 (NMI) 和硬件故障之
后。注意 0 是所有可编程优先级的默认优先级。
重要:
在一次写操作清除中断源后,对于 NVIC 来说,可能需要花费几个处理器周期才能看到
中断源被禁止。所以如果在中断处理程序中最后清除中断,有可能中断处理程序结束了
但是NVIC看到中断仍然有效,导致错误的重新进入中断处理程序。这种情况可以避免,
或者通过在中断处理程序开始时清除中断源,或者在写操作清除中断源后执行一个读或
写操作 (刷新写缓冲器)。
关于异常和中断的具体信息,参见 “嵌套式向量化中断控制器(NVIC)”(102页)。
2.5.1
异常状态
每种异常都处于下列状态之一:
■ 不活动的. 异常是不活动的,也不是挂起的。
■ 待定. 异常正在等待处理器处理。来自外设或软件的中断请求可以将相应的中断变为挂起状态。
■ 活动的. 处理器正在处理的异常,并且异常没有结束。
注意:
一个异常处理程序可以中断另一个异常处理程序的执行。就此来说,两个异常都处于活
动状态。
■ 活动的和挂起的. 异常正被处理器处理,并且有一个挂起的异常来自相同的源。
2014 年 01 月 28 日
83
Texas Instruments-预告信息
Cortex-M4F 处理器
2.5.2
异常类型
异常类型有:
■ 复位值. 上电或热复位会引起复位。异常模式将复位看做一种特殊形式的异常。当复位有效时,
在指令的任何时刻,处理器的操作都会停止。当复位不再有效时,从向量表中复位入口的地址重
新开始执行。在线程模式中该执行是特权执行。
■ NMI. 一个非屏蔽中断 (NMI) 可以使用 NMI 信号来发出通知或者使用中断控制及状态 (INTCTRL)
寄存器由软件触发。除了复位,该异常有最高的优先级。NMI 永久启用并拥有一个固定的优先级
-2。NMI 的激活不能被其他任何异常屏蔽或阻止,也不能被除复位外的其他任何异常抢占。
■ 硬件故障. 硬故障是一个异常,它的发生是由于异常处理期间有错误,或者异常不能被任何异常
机制管理。硬件故障拥有一个固定的优先级-1,表明它的优先级高于任何可配置的优先级。
■ 存储器管理故障. 存储器管理故障是一个异常,它的发生是由于存在与存储器保护相关的故障(包
括访问冲突和不匹配)。在处理指令存储器和数据存储器时,MPU 或固定存储器保护限制决定
了该故障。该故障用来取消指令对不执行 (XN) 存储区域的访问,即使 MPU 是禁止的也不例外。
■ 总线故障. 总线故障是一个异常,它的发生是由于在处理指令或数据存储器时发生了与存储器相
关的故障,如预取错误或存储器访问故障。该故障可以被使能或禁止。
■ 使用故障. 使用故障是一个异常,它的发生是由于指令执行的相关故障,如:
– 一个未定义的指令
– 一次非法的未对齐访问
– 指令执行时的无效状态
– 异常返回错误
当内核被正确配置后,在字或半字存储器访问未对齐的地址或除以0都会引起一个使用故障。
■ SVCall. 系统调用 (SVC) 是一个异常,它由 SVC 指令触发。在OS环境,应用程序可以使用SVC
指令来访问OS内核函数和器件驱动。
■ 调试监控器. 这个异常是由于调试监视器(没有停止时)引起的。该异常只有在使能时才激活。
如果该异常的优先级低于当前的动作,那么它不会激活。
■ PendSV. PendSV 是一个对系统级服务发出的请求,它可以挂起,并由中断驱动。在OS环境,
当没有其它异常活动时,可使用PendSV作为背景切换。PendSV 由中断控制和状态寄存器
(INTCTRL) 触发。
■ SysTick. SysTick 异常是在系统定时器启用中断时,系统定时器达到 0 时产生的。软件也可以通
过中断控制和状态寄存器 (INTCTRL) 来产生一个 SysTick 异常。在OS环境,处理器可以使用该
异常作为系统时标。
■ 中断 (IRQ). 中断(即 IRO)是一个异常,它由外设标记,或者通过软件请求并由 NVIC(划分优
先顺序的)反馈产生。所有的中断与指令执行都是异步的。在系统中,外设使用中断与处理器通
信。表2-9(85页)列出了 TM4C1231D5PM 控制器上的中断。
对于异步异常,除复位外,处理器可以在异常触发和处理器进入异常处理程序之间执行其他指令。
特权软件可以禁止 表2-8(85页) 上显示的可配置优先级的异常(参见 150页 上的 SYSHNDCTRL
寄存器和 121页 上的 DIS0 寄存器)。
2014 年 01 月 28 日
84
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
关于硬故障、存储器管理故障、总线故障和使用故障的更多信息,参见 “故障处理”(91页)。
表 2-8. 异常类型
异常类型
向量号
a
b
优先级
向量地址或偏移量
激活
-
0
-
0x0000.0000
复位时向量表的首入口
复位
1
-3 (最高)
0x0000.0004
异步
不可屏蔽的中断(NMI)
2
-2
0x0000.0008
异步
硬件故障
3
-1
0x0000.000C
-
存储器管理
4
可编程
c
0x0000.0010
同步
c
0x0000.0014
精确时同步,不精确时异
步
c
总线故障
5
可编程
使用故障
6
可编程
0x0000.0018
同步
7-10
-
-
保留
c
0x0000.002C
同步
c
SVCall
11
可编程
调试监控器
12
可编程
0x0000.0030
同步
-
13
-
-
保留
0x0000.0038
异步
PendSV
c
14
可编程
c
0x0000.003C
异步
d
0x0000.0040 及其以上
异步
SysTick
15
可编程
中断信号
16及其以上
可编程
a. 0 是所有可编程优先级的默认优先级。
b. 请参阅“向量表”(87页)。
c. 参见 147页 上的 SYSPRI1 寄存器。
d. 参见 129页 上的 PRIn 寄存器。
表 2-9. 中断信号
向量号
中断编号(在中断寄存
器中的位)
向量地址或偏移量
0-15
-
0x0000.0000 0x0000.003C
16
0
0x0000.0040
GPIO 端口 A
17
1
0x0000.0044
GPIO 端口 B
18
2
0x0000.0048
GPIO 端口 C
19
3
0x0000.004C
GPIO 端口 D
20
4
0x0000.0050
GPIO 端口 E
21
5
0x0000.0054
UART0
22
6
0x0000.0058
UART1
23
7
0x0000.005C
SSI0
24
8
0x0000.0060
I2C0
25-29
9-13
-
保留
30
14
0x0000.0078
ADC0 序列 0
31
15
0x0000.007C
ADC0 序列 1
32
16
0x0000.0080
ADC0 序列 2
33
17
0x0000.0084
模拟比较器 0
34
18
0x0000.0088
看门狗定时器 0 和 1
35
19
0x0000.008C
16/32 位定时器 0A
2014 年 01 月 28 日
描述
处理器异常
85
Texas Instruments-预告信息
Cortex-M4F 处理器
表 2-9. 中断信号(续)
向量号
中断编号(在中断寄存
器中的位)
向量地址或偏移量
描述
36
20
0x0000.0090
16/32 位定时器 0B
37
21
0x0000.0094
16/32 位定时器 1A
38
22
0x0000.0098
16/32 位定时器 1B
39
23
0x0000.009C
16/32 位定时器 2A
40
24
0x0000.00A0
16/32 位定时器 2B
41
25
0x0000.00A4
模拟比较器0
42
26
0x0000.00A8
模拟比较器1
43
27
-
44
28
0x0000.00B0
系统控制
45
29
0x0000.00B4
Flash 存储器控制和 EEPROM 控制
GPIO 端口 F
保留
46
30
0x0000.00B8
47-48
31-32
-
49
33
0x0000.00C4
UART2
50
34
0x0000.00C8
SSI1
51
35
0x0000.00CC
16/32 位定时器 3A
52
36
0x0000.00D0
16/32 位定时器 3B
53
37
0x0000.00D4
I2C1
54
38
-
保留
55
39
0x0000.00DC
56-58
40-42
-
保留
CAN0
保留
59
43
0x0000.00EC
60-61
44-45
-
睡眠模块
62
46
0x0000.00F8
µDMA 软件
63
47
0x0000.00FC
μDMA 出错
64
48
0x0000.0100
ADC1 序列 0
65
49
0x0000.0104
ADC1 序列 1
66
50
0x0000.0108
ADC1 序列 2
67
51
0x0000.010C
ADC1 序列 3
68-72
52-56
-
保留
73
57
0x0000.0124
SSI2
74
58
0x0000.0128
SSI3
75
59
0x0000.012C
UART3
76
60
0x0000.0130
UART4
77
61
0x0000.0134
UART5
78
62
0x0000.0138
UART6
79
63
0x0000.013C
UART7
80-83
64-67
0x0000.0140 0x0000.014C
保留
84
68
0x0000.0150
I2C2
85
69
0x0000.0154
I2C3
86
70
0x0000.0158
16/32 位定时器 4A
保留
2014 年 01 月 28 日
86
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 2-9. 中断信号(续)
2.5.3
向量号
中断编号(在中断寄存
器中的位)
向量地址或偏移量
描述
87
71
0x0000.015C
16/32 位定时器 4B
88-107
72-91
0x0000.0160 0x0000.01AC
保留
108
92
0x0000.01B0
16/32 位定时器 5A
109
93
0x0000.01B4
16/32 位定时器 5B
110
94
0x0000.01B8
32/64 位定时器 0A
111
95
0x0000.01BC
32/64 位定时器 0B
112
96
0x0000.01C0
32/64 位定时器 1A
113
97
0x0000.01C4
32/64 位定时器 1B
114
98
0x0000.01C8
32/64 位定时器 2A
115
99
0x0000.01CC
32/64 位定时器 2B
116
100
0x0000.01D0
32/64 位定时器 3A
117
101
0x0000.01D4
32/64 位定时器 3B
118
102
0x0000.01D8
32/64 位定时器 4A
119
103
0x0000.01DC
32/64 位定时器 4B
120
104
0x0000.01E0
32/64 位定时器 5A
121
105
0x0000.01E4
32/64 位定时器 5B
122
106
0x0000.01E8
系统异常(不精确)
63
47
-
保留
异常处理程序
处理器处理异常是通过使用:
■ 中断服务程序 (ISR). 中断 (IRQx) 是由 ISR 处理的异常。
■ 故障处理程序. 硬件障、存储器管理故障、使用故障以及总线故障都是故障异常,由故障处理程
序处理。
■ 系统处理程序. NMI、PendSV、SVCall、SysTick 和故障异常都是系统异常,由系统处理程序处
理。
2.5.4
向量表
向量表包含了堆栈指针的复位值和开始地址,对于所有的异常处理程序也可称作异常向量。向量表
由 表2-8(85页) 中示出的向量地址或偏移量组成。图2-6(88页) 示出向量表中异常向量的次序。
每个向量的最低位必须为1,表示异常处理程序是Thumb码。
2014 年 01 月 28 日
87
Texas Instruments-预告信息
Cortex-M4F 处理器
图 2-6. 向量表
异常号
IRQ 号
154
138
。
。
。
18
2
17
1
16
0
15
-1
14
-2
13
偏移量
0x0268
.
.
.
0x004C
0x0048
0x0044
0x0040
0x003C
0x0038
12
11
向量
IRQ131
.
.
.
IRQ2
IRQ1
IRQ0
SysTick
PendSV
保留
保留用于调试
-5
10
0x002C
9
SVCall
保留
8
7
6
-10
5
-11
4
-12
3
-13
2
-14
1
0x0018
0x0014
0x0010
0x000C
0x0008
0x0004
0x0000
用法故障
总线故障
存储器管理故障
硬故障
NMI
复位
初始的 SP 值
系统复位时,向量表固定在地址 0x0000.0000。特权软件可以通过向向量表偏移量 (VTABLE) 寄存
器进行写操作,来将向量表的开始地址重新定位为不同的存储器地址,范围是 0x0000.0400 至
0x3FFF.FC00(请参考“向量表”(87页))。注意在配置 VTABLE 寄存器时,偏移量必须在 1024
字节的边界对齐。
2.5.5
异常优先级
如 表2-8(85页) 所示,所有的异常都有其相关的优先级,优先级的值低表示其优先级高,除复位、
硬件复位和 NM I 外的所有异常都可以配置优先级。如果软件没有配置任何优先级,那么可配置优先
级的所有异常的优先级值为 0。关于配置异常优先级的更多信息,参见 147页 和 129页。
注意:
对于 Tiva™ C 系列 的可配置优先级值的范围是 0-7。这就意味着带有负的优先级值的复位、
硬故障和 NMI 等异常,总是比其他异常有更高的优先级。
例如,分配一个较高的优先级值给 IRQ[0] 同时分配一个较低的优先级值给 IRQ[1] ,表示 IRQ[1] 比
IRQ[0] 有更高的优先级。如果 IRQ[1] 和 IRQ[0] 都有效,那么 IRQ[1] 先于 IRQ[0] 被处理。
如果多个挂起的异常有相同的优先级,那么异常号最低的优先。例如,如果 IRQ[1] 和 IRQ[0] 都挂
起并且它们有相同的优先级,那么 IRQ[0] 优先于 IRQ[1] 。
当处理器正在执行一个异常处理程序时,如果有个更高优先级的异常发生,那么它将取代当前的异
常处理程序。如果有一个同样优先级的异常发生,那么不管其异常号如何都不会取代当前的异常处
理程序。但是,新中断的状态变为挂起。
2014 年 01 月 28 日
88
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
2.5.6
中断优先级分组
为提高系统中对中断优先级的控制,NVIC支持优先级分组。这个分组将中断优先级寄存器入口分为
两个区域。
■ 高区域定义组的优先级
■ 低区域定义在同一组内的子优先级
只有组的优先级可以决定中断异常的取代。当处理器正在执行一个中断异常处理程序时,同优先级
组的另一个中断不能取代当前的处理程序。
如果多个挂起的中断处于相同的优先级组,那么子优先级决定处理的顺序。如果多个挂起的中断有
相同的组优先级和子优先级,那么最低IRQ编号的中断先被处理。
关于将中断优先级域分为组优先级和子优先级的更多信息,参见 141页。
2.5.7
异常进入和返回
异常处理的描述使用以下术语:
■ 抢占式. 当处理器正在执行一个异常处理程序时,如果另一个异常的优先级更高,那么它可以抢
占当前正在执行的异常处理程序。关于中断抢占的更多信息,参见 “中断优先级分组”(89页)。
当一个异常取代另一个时,它们称为嵌套异常。更多信息参见 “异常进入”(89页)。
■ 返回. 当异常处理程序完成,并且没有挂起的有足够优先级的异常被服务,并且完成的异常处理
程序不是一个后到的异常时,发生返回。处理器弹出堆栈并恢复到中断发生前的状态。更多信息
参见 “异常返回”(90页)。
■ 尾链. 使用尾链机制可加速异常处理。当一个异常处理程序完成时,如果有一个挂起的异常满足
进入的要求,堆栈弹出将被跳过并且控制权直接转移到新的异常处理程序。
■ 后到. 使用后到机制可加速抢占。如果在先前的异常正在保存状态期间有一个更高优先级的异常
发生,那么处理器会切换到处理更高优先级的异常并开始为该异常取出向量。后到不会影响状态
保存,因为对于前后两个异常来说,要保存的状态是一样的。所以,状态保存会没有中断的持续
进行。处理器可以在直到先前异常处理程序的第一条指令进入到执行阶段时再接受后到的异常。
从后到的异常处理程序返回时,正常的尾链规则有效。
2.5.7.1
异常进入
异常进入发生的条件是:有一个挂起的有足够优先级的异常,同时处理器处于线程模式,或者新的
异常优先级高于正在处理的异常,这种情况新的异常将取代原先的异常。
当一个异常取代另一个异常时,它们是嵌套的。
足够的优先级表示异常比屏蔽寄存器设置的任何限制都要更优先 (参见 68页 上的 PRIMASK;69页
上的 FAULTMASK;以及 70页 上 的 BASEPRI)。比它的优先级低的异常会挂起而不是由处理器处
理。
当处理器取得一个异常时,除非该异常是尾链的或后到的异常,否则处理器会将信息压入当前堆栈
中。这个操作被称作堆栈,8 个数据字的结构被称作堆栈框。
当使用浮点程序时,Cortex-M4F 处理器自动将已建立的浮点状态压入异常入口堆栈。在 图
2-7(90页) 显示了当浮点状态由于中断或异常而保存在堆栈中时,Cortex-M4F 堆栈框的布局。
注意:
如果没有分配浮点状态的堆栈空间,该堆栈框就与不带有 FPU 的 ARMv7-M 具有相同结构。
图2-7(90页) 也示出了堆栈框。
2014 年 01 月 28 日
89
Texas Instruments-预告信息
Cortex-M4F 处理器
图 2-7. 异常堆栈框
...
{定位}
FPSCR
S15
S14
S13
S12
S11
S10
S9
S8
S7
S6
S5
S4
S3
S2
S1
S0
xPSR
PC
LR
R12
R3
R2
R1
R0
堆栈的 Pre-IRQ 顶
内存 地址
递减
堆栈的 IRQ 顶
可储存浮点 的异常帧
...
{定位}
xPSR
PC
LR
R12
R3
R2
R1
R0
堆栈的 Pre-IRQ 顶
堆栈的 IRQ 顶
不可储存浮点 的异常帧
入栈操作完成后,堆栈指针立即指示堆栈框的最低地址。
堆栈框包含返回地址,它是被中断程序的下一条指令的地址。当异常返回时这个地址重新载入 PC,
以便被中断的程序重新开始。
当入栈操作进行时,处理器并行从向量表读取异常处理程序的开始地址。当入栈操作完成时,处理
器开始执行异常处理程序。同时,处理器将 EXC_RETURN 值写入 LR,指明哪个堆栈指针与堆栈
框相对应,以及处理器在进入异常前处于何种操作模式。
如果在异常进入期间没有更高优先级的异常发生,处理器开始执行异常处理程序并自动将相应挂起
的中断状态更改为活动的。
如果在异常进入期间有另一个更优先的异常发生,即后到,处理器开始执行后到的异常处理程序,
并且不改变先前异常的挂起状态。
2.5.7.2
异常返回
异常返回发生在处理器的处理模式,处理器执行下列指令之一,将 EXC_RETURN 值装载到 PC:
■ 装载 PC 的 POP 或 POP 指令
■ 使用任意寄存器的 BX 指令
■ 将 PC 作为目标的 LDR 指令
2014 年 01 月 28 日
90
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
EXC_RETURN 是异常进入时载入 LR 的值。异常机制依赖这个值来检测处理器什么时候完成异常
处理程序。这个值的低 5 位提供了有关返回堆栈和处理器模式的信息。表2-10(91页) 示出了
EXC_RETURN 值,包括其异常返回行为的描述。
EXC_RETURN 的位 31:5 都将置位。当这个值载入 PC 时,它表示对于处理器而言异常已经完成,
处理器开始执行适合的异常返回序列。
表 2-10. 异常返回行为
EXC_RETURN[31:0]
描述
0xFFFF.FFE0
保留
0xFFFF.FFE1
返回到处理模式。
异常返回使用来自 MSP 的浮点状态。
返回后,执行程序将使用 MSP。
0xFFFF.FFE2 - 0xFFFF.FFE8
保留
0xFFFF.FFE9
返回到线程模式。
异常返回使用来自 MSP 的浮点状态。
返回后,执行程序将使用 MSP。
0xFFFF.FFEA - 0xFFFF.FFEC
保留
0xFFFF.FFED
返回到线程模式。
异常返回使用来自 MSP 的浮点状态。
返回后执行操作使用 PSP。
0xFFFF.FFEE - 0xFFFF.FFF0
保留
0xFFFF.FFF1
返回到处理模式。
异常返回使用来自 MSP 的非浮点状态。
返回后,执行程序将使用 MSP。
0xFFFF.FFF2 - 0xFFFF.FFF8
保留
0xFFFF.FFF9
返回到线程模式。
异常返回使用来自 MSP 的非浮点状态。
返回后,执行程序将使用 MSP。
0xFFFF.FFFA - 0xFFFF.FFFC
保留
0xFFFF.FFFD
返回到线程模式。
异常返回使用来自 PSP 的非浮点状态。
返回后执行操作使用 PSP。
0xFFFF.FFFE - 0xFFFF.FFFF
2.6
保留
故障处理
故障是异常的一个子集(见 “异常模式”(83页))。下面的条件产生一个故障:
■ 在取指或载入向量表或访问数据时的总线错误。
■ 内部检测出的错误,如没有定义的指令或尝试用一个 BX 指令更改状态。
■ 尝试从一个标记为不可执行 (XN) 的存储区域执行指令。
■ 由于权限冲突或尝试访问未管理区域而产生的 MPU 错误。
2014 年 01 月 28 日
91
Texas Instruments-预告信息
Cortex-M4F 处理器
2.6.1
故障类型
表2-11(92页) 示出了故障类型、用于处理故障的处理程序、相应的故障状态寄存器和指示故障发
生的寄存器位。关于故障状态寄存器的更多信息,参见 153页。
表 2-11. 故障
故障
Handler
故障状态寄存器
位名字
读向量时的总线错误
硬故障
硬件故障状态 (HFAULTSTAT)
VECT
故障扩大到硬件故障
硬故障
硬件故障状态 (HFAULTSTAT)
FORCED
存取指令时,MPU 或默认的存储器不 存储器管理故障
匹配
存储器管理故障状态 (MFAULTSTAT)
IERR
存取数据时,MPU或默认的存储器不 存储器管理故障
匹配
存储器管理故障状态 (MFAULTSTAT)
DERR
异常堆栈时,MPU或默认的存储器不 存储器管理故障
匹配
存储器管理故障状态 (MFAULTSTAT)
MSTKE
异常退出堆栈时,MPU或默认的存储 存储器管理故障
器不匹配
存储器管理故障状态 (MFAULTSTAT)
MUSTKE
在浮点怠惰状态保存过程中,MPU 或 存储器管理故障
默认的存储器不匹配
存储器管理故障状态 (MFAULTSTAT)
MLSPERR
异常堆栈时的总线错误
总线故障
总线故障状态 (BFAULTSTAT)
BSTKE
异常退出堆栈时的总线错误
总线故障
总线故障状态 (BFAULTSTAT)
BUSTKE
预取指令时的总线错误
总线故障
总线故障状态 (BFAULTSTAT)
IBUS
在浮点怠惰状态保存过程中,总线错 总线故障
误
总线故障状态 (BFAULTSTAT)
BLSPE
精确数据总线错误
总线故障
总线故障状态 (BFAULTSTAT)
PRECISE
非精确数据总线错误
总线故障
总线故障状态 (BFAULTSTAT)
IMPRE
尝试访问协处理器
用法故障
使用故障状态 (UFAULTSTAT)
NOCP
用法故障
使用故障状态 (UFAULTSTAT)
UNDEF
用法故障
使用故障状态 (UFAULTSTAT)
INVSTAT
无效的 EXC_RETURN 值
用法故障
使用故障状态 (UFAULTSTAT)
INVPC
非法的未对齐下载或存储
用法故障
使用故障状态 (UFAULTSTAT)
UNALIGN
除以0
用法故障
使用故障状态 (UFAULTSTAT)
DIV0
没有定义的指令
尝试进入无效指令集状态
b
a
a. 此故障出现在对 XN 区访问时(即使禁用了 MPU)。
b. 尝试使用一个非 Thumb 指令集的指令集,或者在 ICI 持续期间返回一个非下载存储复合指令。
2.6.2
故障扩大和硬件故障
除硬件故障外的所有故障异常都有可配置的异常优先级(参见 147页 上的 SYSPRI1)。软件可以禁
止执行这些故障的处理程序(参见 150页 上的 SYSHNDCTRL)。
通常,异常优先级和异常屏蔽寄存器的值决定了处理器是否可以进入故障处理程序,一个故障处理
程序是否可以取代另外一个故障处理程序,参见 “异常模式”(83页)。
在某些状况下,一个带有可配置优先级的故障可被看做一个硬件故障。该处理称为优先级扩大,该
故障被描述为扩大到硬件故障。扩大到硬件故障发生在:
■ 故障处理程序引起了与它所服务的故障类型相同的故障。这种扩大到硬件故障的发生是因为故障
处理程序不能取代自身,因为它的优先级与当前优先级一样。
■ 故障处理程序引起了与它所服务的故障优先级相同或更低的故障。这种情况的发生是因为新的故
障处理程序不能取代当前正在执行的故障程序。
2014 年 01 月 28 日
92
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
■ 一个异常引起了故障,该故障的的优先级等于或低于当前正在执行的异常。
■ 一个故障发生了,但是该故障的处理程序没有启用。
当进入一个总线故障处理程序时,如果在堆栈入栈期间发生了一个总线故障,该总线故障不会扩大
到硬件故障。因此如果一个损坏的堆栈引起了一个故障,即使该处理程序的入栈失败,故障处理程
序依然会执行。故障处理程序运行,但是堆栈内容是损坏的。
注意:
2.6.3
只有复位和 NMI 可以取代固定优先级的硬件故障。硬件故障可以取代除复位、NMI或另外
硬件故障之外的任何异常。
故障状态寄存器和故障地址寄存器
故障状态寄存器显示了故障原因。对于总线故障和存储器管理故障,故障地址寄存器显示了造成故
障的操作要访问的地址,参见 表2-12(93页)。
表 2-12. 故障状态寄存器和故障地址寄存器
Handler
状态寄存器名称
地址寄存器名称
寄存器描述
硬故障
硬件故障状态 (HFAULTSTAT)
-
159页
存储器管理故障
存储器管理故障状态 (MFAULTSTAT)
存储器管理故障地址寄存器
(MMADDR)
153页
总线故障地址寄存器
(FAULTADDR)
153页
-
153页
总线故障
总线故障状态 (BFAULTSTAT)
用法故障
2.6.4
使用故障状态 (UFAULTSTAT)
160页
161页
死锁
当处理器执行NMI或硬件故障处理程序时,如果一个硬件故障发生,那么处理器进入死锁状态。当
处理器处于死锁状态时,它不执行任何指令。处理器将一直处于死锁状态,直至其置位、产生 NMI
或被调试器停止。
注意:
2.7
如果死锁状态从NMI处理程序引发,那么随后的NMI不会使处理器离开死锁状态。
电源管理
Cortex-M4F 处理器的睡眠模式减少了功耗:
■ 睡眠模式停止处理器时钟。
■ 深度睡眠模式停止系统时钟并关闭 PLL 和 Flash 存储器。
系统控制 (SYSCTRL) 寄存器中的 SLEEPDEEP 位用于选择睡眠模式(参见 143页)。关于睡眠模
式行为的更多信息,参见 “系统控制”(199页)。
本节描述进入睡眠模式的机制和从睡眠模式唤醒的条件,它们对与睡眠模式和深度睡眠模式都适用。
2.7.1
进入睡眠模式
本节描述使用软件将处理器进入一种睡眠模式的机制。
系统可以产生假造的唤醒事件,如调试操作可唤醒处理器。所以软件必须能够在该事件后将处理器
返回到睡眠模式。一段程序可能有一个空循环来将处理器返回到睡眠模式。
2014 年 01 月 28 日
93
Texas Instruments-预告信息
Cortex-M4F 处理器
2.7.1.1
等待中断
等待中断指令 WFI 会导致立即进入睡眠模式,除非唤醒条件为真(请参考“从WFI或睡眠中退出
(Sleep-on-Exit)唤醒”(94页))。当处理器执行一条 WFI 指令时,它将停止执行其他指令并进入睡
眠模式。更多信息请参考 “ARM® Cortex™-M4 Devices Generic User Guide(文献编号 ARM DUI
0553A)”中的 Cortex™-M4 指令集章节。
2.7.1.2
等待事件
等待事件指令 WFE 会导致以 1 位事件寄存器的值为条件进入睡眠模式。当处理器执行一条 WFE 指
令时,它会检测事件寄存器。如果寄存器为0,处理器停止执行指令并进入睡眠模式。如果寄存器为
1,处理器清零寄存器,接着继续执行指令而不进入睡眠模式。
如果事件寄存器为 1,处理器执行 WFE 指令时一定不会进入睡眠模式。通常,这种情况在执行 SEV
指令后发生。软件不能直接访问这个寄存器。
更多信息请参考 “ARM® Cortex™-M4 Devices Generic User Guide(文献编号 ARM DUI 0553A)”
中的 Cortex™-M4 指令集章节。
2.7.1.3
睡眠中退出 (Sleep-on-Exit)
如果 SYSCTRL 寄存器中的 SLEEPEXIT 位置位,当处理器完成所有异常处理器程序的执行后,它
将返回线程模式并立即进入睡眠模式。这种机制可用于异常发生时需要处理器运行的情况。
2.7.2
从睡眠模式唤醒
处理器唤醒的条件依赖于促使其进入睡眠模式的机制。
2.7.2.1
从WFI或睡眠中退出(Sleep-on-Exit)唤醒
通常,只有在 NVIC 检测到一个异常,并且该异常的优先级足够导致异常进入时,处理器才被唤醒。
有些嵌入式系统可能会在处理器唤醒后执行中断处理程序前必须执行系统恢复任务。置位 PRIMASK
位和清零 FAULTMASK 位可以延迟进入中断处理程序。如果一个中断使能并且比当前异常的优先级
高,该中断到来时处理器唤醒,但直到处理器清零 PRIMASK 后才执行中断处理程序。关于 PRIMASK
和 FAULTMASK 的更多信息,参见 68页 和 69页。
2.7.2.2
从WFE 唤醒
处理器如果检测到一个足够优先执行的异常,处理器会唤醒。
另外,如果 SYSCTRL 寄存器的 SEVONPEND 位置位,任何新挂起的中断,即使该中断被禁止或
没有足够的优先级执行,都会触发一个事件并唤醒处理器。关于 SYSCTRL 的更多信息,参见 143
页。
2.8
指令集总结
该处理器执行一个Thumb指令集版本。表2-13(95页) 列出了所支持的指令。
注意:
在 表2-13(95页) 中:
■
■
■
■
■
尖括号 包含了操作数的复用形式
大括号 {} 包含了可选的操作数
操作数列是不全面的
Op2 是第二操作数,它可以是一个寄存器,也可以是一个常数。
大部分指令可以使用一个可选的状态码后缀
有关指令和操作数的更多信息,请参考 “ARM® Cortex™-M4 技术参考手册”中的指令描
述。
2014 年 01 月 28 日
94
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 2-13. Cortex-M4F 指令摘要
助记符
操作数
简要描述
标志
ADC, ADCS
{Rd,} Rn, Op2
带进位加法
N,Z,C,V
ADD, ADDS
{Rd,} Rn, Op2
加法
N,Z,C,V
ADD, ADDW
{Rd,} Rn , #imm12
加法
-
ADR
Rd, label
载入PC相对地址
-
AND, ANDS
{Rd,} Rn, Op2
逻辑与
N,Z,C
ASR, ASRS
Rd, Rm,
算术右移
N,Z,C
B
label
转移
-
BFC
Rd, #lsb, #width
位域清零
-
BFI
Rd, Rn, #lsb, #width
位域插入
-
BIC, BICS
{Rd,} Rn, Op2
位清零
N,Z,C
BKPT
#imm
断点
-
BL
label
带连接转移
-
BLX
Rm
带连接的间接转移
-
BX
Rm
间接转移
-
CBNZ
Rn, label
比较非零转移
-
CBZ
Rn, label
比较为零转移
-
CLREX
-
清除互斥
-
CLZ
Rd, Rm
计算前导0的数目
-
CMN
Rn, Op2
负向比较
N,Z,C,V
CMP
Rn, Op2
比较
N,Z,C,V
CPSID
i
改变处理器状态,禁止中断
-
CPSIE
i
改变处理器状态,使能中断
-
DMB
-
数据存储隔离
-
DSB
-
数据同步隔离
-
EOR, EORS
{Rd,} Rn, Op2
近位异或
N,Z,C
ISB
-
指令同步隔离
-
IT
-
If-Then 条件块
-
LDM
Rn{!}, reglist
加载多个寄存器,加载后自增加
-
LDMDB, LDMEA
Rn{!}, reglist
加载多个寄存器,加载前自减
-
LDMFD, LDMIA
Rn{!}, reglist
加载多个寄存器,加载后自增加
-
LDR
Rt, [Rn, #offset]
从寄存器加载字
-
LDRB, LDRBT
Rt, [Rn, #offset]
从寄存器中加载字节
-
LDRD
Rt, Rt2, [Rn, #offset]
从寄存器中加载双字节
-
LDREX
Rt, [Rn, #offset]
加载寄存器,标记互斥
-
LDREXB
Rt, [Rn]
从寄存器加载字节,标记互斥
-
LDREXH
Rt, [Rn]
从寄存器加载半字,标记互斥
-
LDRH, LDRHT
Rt, [Rn, #offset]
从寄存器加载半字
-
LDRSB, LDRSBT
Rt, [Rn, #offset]
从寄存器加载带符号的字节
-
LDRSH, LDRSHT
Rt, [Rn, #offset]
从寄存器加载带符号的半字
-
LDRT
Rt, [Rn, #offset]
从寄存器加载字
-
LSL, LSLS
Rd, Rm,
逻辑左移
N,Z,C
LSR, LSRS
Rd, Rm,
逻辑右移
N,Z,C
2014 年 01 月 28 日
95
Texas Instruments-预告信息
Cortex-M4F 处理器
表 2-13. Cortex-M4F 指令摘要(续)
助记符
操作数
简要描述
标志
MLA
Rd, Rn, Rm, Ra
乘加,32位结果
-
MLS
Rd, Rn, Rm, Ra
乘减,32位结果
-
MOV, MOVS
Rd, Op2
加载
N,Z,C
MOV, MOVW
Rd, #imm16
加载16位常数
N,Z,C
MOVT
Rd, #imm16
加载高位
-
MRS
Rd, spec_reg
从特殊寄存器加载到通用寄存器
-
MSR
spec_reg, Rm
从通用寄存器加载到特殊寄存器
N,Z,C,V
MUL, MULS
{Rd,} Rn, Rm
乘法,32位结果
N,Z
MVN, MVNS
Rd, Op2
取反加载
N,Z,C
NOP
-
无操作
-
ORN, ORNS
{Rd,} Rn, Op2
逻辑或取反
N,Z,C
ORR, ORRS
{Rd,} Rn, Op2
逻辑或
N,Z,C
PKHTB, PKHBT
{Rd,} Rn, Rm, Op2
包半字
-
POP
reglist
从堆栈中弹出到寄存器
-
PUSH
reglist
将寄存器值压入堆栈
-
QADD
{Rd,} Rn, Rm
饱和加法
Q
QADD16
{Rd,} Rn, Rm
饱和加法 (16)
-
QADD8
{Rd,} Rn, Rm
饱和加法 (8)
-
QASX
{Rd,} Rn, Rm
可互调的饱和加法和饱和减法
-
QDADD
{Rd,} Rn, Rm
饱和倍乘加法
Q
QDSUB
{Rd,} Rn, Rm
饱和倍乘减法
Q
QSAX
{Rd,} Rn, Rm
可互调的饱和减法和饱和加法
-
QSUB
{Rd,} Rn, Rm
饱和减法
Q
QSUB16
{Rd,} Rn, Rm
饱和减法 (16)
-
QSUB8
{Rd,} Rn, Rm
饱和减法 (8)
-
RBIT
Rd, Rn
位反转
-
REV
Rd, Rn
在一个字中反转字节顺序
-
REV16
Rd, Rn
在每个半字中反转字节顺序
-
REVSH
Rd, Rn
反转低半字的字节顺序,带符号扩展
-
ROR, RORS
Rd, Rm,
循环右移
N,Z,C
RRX, RRXS
Rd, Rm
带进位的循环右移
N,Z,C
RSB, RSBS
{Rd,} Rn, Op2
反向减法
N,Z,C,V
SADD16
{Rd,} Rn, Rm
带符号的加法 (16)
GE
SADD8
{Rd,} Rn, Rm
带符号的加法 (8)
GE
SASX
{Rd,} Rn, Rm
可互调的带符号加法和减法
GE
SBC, SBCS
{Rd,} Rn, Op2
带借位的减法
N,Z,C,V
SBFX
Rd, Rn, #lsb, #width
带符号位域扩展
-
SDIV
{Rd,} Rn, Rm
带符号除法
-
SEL
{Rd,} Rn, Rm
选择字节
-
SEV
-
发送事件
-
SHADD16
{Rd,} Rn, Rm
带符号的半字加法 (16)
-
SHADD8
{Rd,} Rn, Rm
带符号的半字加法 (8)
-
2014 年 01 月 28 日
96
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 2-13. Cortex-M4F 指令摘要(续)
助记符
操作数
简要描述
标志
SHASX
{Rd,} Rn, Rm
可互调的带符号半字加法和半字减法
-
SHSAX
{Rd,} Rn, Rm
可互调的带符号半字加法和半字减法
-
SHSUB16
{Rd,} Rn, Rm
带符号的半字减法 (16)
-
SHSUB8
{Rd,} Rn, Rm
带符号的半字减法 (8)
-
SMLABB,
Rd, Rn, Rm, Ra
带符号的长整型(半字)乘加
Q
Rd, Rn, Rm, Ra
带符号的倍乘加
Q
SMLAL
RdLo, RdHi, Rn, Rm
带符号乘加 (32x32+64), 64位结果
-
SMLALBB,
RdLo, RdHi, Rn, Rm
带符号的长整型(半字)乘加
-
SMLALD, SMLALDX
RdLo, RdHi, Rn, Rm
带符号的长整型整数(半字)倍乘加
-
SMLAWB,SMLAWT
Rd, Rn, Rm, Ra
带符号的乘加,字乘半字
Q
SMLSD
Rd, Rn, Rm, Ra
带符号的倍乘减
Q
RdLo, RdHi, Rn, Rm
带符号的长整型(半字)倍乘减
SMMLA
Rd, Rn, Rm, Ra
带符号的最高有效字乘加
-
SMMLS,
Rd, Rn, Rm, Ra
带符号的最高有效字乘减
-
{Rd,} Rn, Rm
带符号的最高有效字乘法
-
{Rd,} Rn, Rm
带符号的倍乘加
Q
{Rd,} Rn, Rm
带符号的半字乘法
-
SMULL
RdLo, RdHi, Rn, Rm
带符号乘法 (32x32), 64位结果
-
SMULWB,
{Rd,} Rn, Rm
带符号乘法(乘半字)
-
{Rd,} Rn, Rm
带符号的倍乘减
-
SSAT
Rd, #n, Rm {,shift #s}
带符号的饱和运算
Q
SSAT16
Rd, #n, Rm
带符号的饱和运算 (16)
Q
SSAX
{Rd,} Rn, Rm
可互调的饱和减法和饱和加法
GE
SSUB16
{Rd,} Rn, Rm
带符号的减法 (16)
-
SSUB8
{Rd,} Rn, Rm
带符号的减法 (8)
-
STM
Rn{!}, reglist
保存多个寄存器,保存后自增加
-
SMLABT,
SMLATB,
SMLATT
SMLAD,
SMLADX
SMLALBT,
SMLALTB,
SMLALTT
SMLSDX
SMLSLD
SMLSLDX
SMMLR
SMMUL,
SMMULR
SMUAD
SMUADX
SMULBB,
SMULBT,
SMULTB,
SMULTT
SMULWT
SMUSD,
SMUSDX
2014 年 01 月 28 日
97
Texas Instruments-预告信息
Cortex-M4F 处理器
表 2-13. Cortex-M4F 指令摘要(续)
助记符
操作数
简要描述
标志
STMDB, STMEA
Rn{!}, reglist
保存多个寄存器,保存前自减
-
STMFD, STMIA
Rn{!}, reglist
保存多个寄存器,保存后自增加
-
STR
Rt, [Rn {, #offset}]
保存寄存器字
-
STRB, STRBT
Rt, [Rn {, #offset}]
保存寄存器字节
-
STRD
Rt, Rt2, [Rn {, #offset}]
保存寄存器双字
-
STREX
Rt, Rt, [Rn {, #offset}]
在互斥状态保存寄存器
-
STREXB
Rd, Rt, [Rn]
在互斥状态保存寄存器字节
-
STREXH
Rd, Rt, [Rn]
在互斥状态保存寄存器半字
-
STRH, STRHT
Rt, [Rn {, #offset}]
保存寄存器半字
-
STRSB, STRSBT
Rt, [Rn {, #offset}]
保存寄存器带符号字节
-
STRSH, STRSHT
Rt, [Rn {, #offset}]
保存寄存器带符号半字
-
STRT
Rt, [Rn {, #offset}]
保存寄存器字
-
SUB, SUBS
{Rd,} Rn, Op2
减法
N,Z,C,V
SUB, SUBW
{Rd,} Rn, #imm12
减12位常数
N,Z,C,V
SVC
#imm
系统服务调用
-
SXTAB
{Rd,} Rn, Rm, {,ROR #}
将 8 位扩展到 32 位后做加法运算
-
SXTAB16
{Rd,} Rn, Rm,{,ROR #}
将 8 位扩展到 16 位后做加法运算
-
SXTAH
{Rd,} Rn, Rm,{,ROR #}
将 16 位扩展到 32 位后做加法运算
-
SXTB16
{Rd,} Rm {,ROR #n}
带符号扩展字节 (16)
-
SXTB
{Rd,} Rm {,ROR #n}
带符号扩展一个字节
-
SXTH
{Rd,} Rm {,ROR #n}
带符号扩展一个半字
-
TBB
[Rn, Rm]
查表转移字节
-
TBH
[Rn, Rm, LSL #1]
查表转移半字
-
TEQ
Rn, Op2
测试是否相等
N,Z,C
TST
Rn, Op2
测试
N,Z,C
UADD16
{Rd,} Rn, Rm
无符号的加法 (16)
GE
UADD8
{Rd,} Rn, Rm
无符号的加法 (8)
GE
UASX
{Rd,} Rn, Rm
可互调的无符号加法和减法
GE
UHADD16
{Rd,} Rn, Rm
无符号的半字加法 (16)
-
UHADD8
{Rd,} Rn, Rm
无符号的半字加法 (8)
-
UHASX
{Rd,} Rn, Rm
可互调的无符号半字加法和半字减法
-
UHSAX
{Rd,} Rn, Rm
可互调的无符号半字减法和半字加法
-
UHSUB16
{Rd,} Rn, Rm
无符号的半字减法 (16)
-
UHSUB8
{Rd,} Rn, Rm
无符号的半字减法 (8)
-
UBFX
Rd, Rn, #lsb, #width
无符号位域扩展
-
UDIV
{Rd,} Rn, Rm
无符号除法
-
UMAAL
RdLo, RdHi, Rn, Rm
无符号的长整型乘加 (32x32+64), 64 位 结果
UMLAL
RdLo, RdHi, Rn, Rm
无符号乘加 (32 x 32 + 32 + 32), 64 位结 果
UMULL
RdLo, RdHi, Rn, Rm
无符号乘法 (32x32), 64位结果
-
UQADD16
{Rd,} Rn, Rm
无符号的饱和加法 (16)
-
2014 年 01 月 28 日
98
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 2-13. Cortex-M4F 指令摘要(续)
助记符
操作数
简要描述
标志
UQADD8
{Rd,} Rn, Rm
无符号的饱和加法 (8)
-
UQASX
{Rd,} Rn, Rm
可互调的无符号饱和加法和饱和减法
-
UQSAX
{Rd,} Rn, Rm
可互调的无符号饱和减法和饱和加法
-
UQSUB16
{Rd,} Rn, Rm
无符号的饱和减法 (16)
-
UQSUB8
{Rd,} Rn, Rm
无符号的饱和减法 (8)
-
USAD8
{Rd,} Rn, Rm
无符号的绝对差和
-
USADA8
{Rd,} Rn, Rm, Ra
无符号的绝对差及累加和
-
USAT
Rd, #n, Rm {,shift #s}
无符号饱和操作
Q
USAT16
Rd, #n, Rm
无符号的饱和操作 (16)
Q
USAX
{Rd,} Rn, Rm
可互调的无符号减法和加法
GE
USUB16
{Rd,} Rn, Rm
无符号的减法 (16)
GE
USUB8
{Rd,} Rn, Rm
无符号的减法 (8)
GE
UXTAB
{Rd,} Rn, Rm, {,ROR #}
轮换,将 8 位扩展到 32 位后做加法运算 -
UXTAB16
{Rd,} Rn, Rm, {,ROR #}
轮换,将 8 位扩展到 16 位后做加法运算 -
UXTAH
{Rd,} Rn, Rm, {,ROR #}
轮换,无符号扩展并加半字
-
UXTB
{Rd,} Rm, {,ROR #n}
使用零扩展一个字节
-
UXTB16
{Rd,} Rm, {,ROR #n}
无符号扩展字节 (16)
-
UXTH
{Rd,} Rm, {,ROR #n}
使用零扩展一个半字
-
VABS.F32
Sd, Sm
浮点绝对
-
VADD.F32
{Sd,} Sn, Sm
浮点加法
-
VCMP.F32
Sd,
比较两个浮点型寄存器,或者是浮点型
寄存器和零
FPSCR
VCMPE.F32
Sd,
比较两个浮点型寄存器,或者是带有无
效操作校验的浮点型寄存器和零
FPSCR
VCVT.S32.F32
Sd, Sm
在浮点型数据和整数之间的转换
-
VCVT.S16.F32
Sd, Sd, #fbits
在浮点型数据和定点数据之间的转换
-
VCVTR.S32.F32
Sd, Sm
在浮点型数据和舍位整数之间的转换
-
VCVT.F32.F16
Sd, Sm
将半精度的值转换为单精度值
-
VCVTT.F32.F16
Sd, Sm
将单精度的值转换为半精度值
-
VDIV.F32
{Sd,} Sn, Sm
浮点除法
-
VFMA.F32
{Sd,} Sn, Sm
浮点熔合乘加
-
VFNMA.F32
{Sd,} Sn, Sm
浮点熔合乘加取反
-
VFMS.F32
{Sd,} Sn, Sm
浮点熔合乘减
-
VFNMS.F32
{Sd,} Sn, Sm
浮点熔合乘减取反
-
VLDM.F
Rn{!}, list
加载多个扩展寄存器
-
VLDR.F
, [Rn]
从存储器加载扩展寄存器
-
VLMA.F32
{Sd,} Sn, Sm
浮点乘加
-
VLMS.F32
{Sd,} Sn, Sm
浮点乘减
-
VMOV.F32
Sd, #imm
浮点立即移动
-
VMOV
Sd, Sm
浮点移动寄存器
-
VMOV
Sn, Rt
将 ARM 内核寄存器复制到单精度
-
VMOV
Sm, Sm1, Rt, Rt2
将 2 个 ARM 内核寄存器复制到 2 个单
精度
-
2014 年 01 月 28 日
99
Texas Instruments-预告信息
Cortex-M4F 处理器
表 2-13. Cortex-M4F 指令摘要(续)
助记符
操作数
简要描述
标志
VMOV
Dd[x], Rt
将 ARM 内核寄存器复制到标量
-
VMOV
Rt, Dn[x]
将标量复制到 ARM 内核
-
VMRS
Rt, FPSCR
将 FPSCR 移动到 ARM 内核寄存器或
APSR
N,Z,C,V
VMSR
FPSCR, Rt
从 ATM 内核寄存器移动到 FPSCR
FPSCR
VMUL.F32
{Sd,} Sn, Sm
浮点乘法
-
VNEG.F32
Sd, Sm
浮点取反
-
VNMLA.F32
{Sd,} Sn, Sm
浮点乘加
-
VNMLS.F32
{Sd,} Sn, Sm
浮点乘减
-
VNMUL
{Sd,} Sn, Sm
浮点乘法
-
VPOP
list
从扩展寄存器弹出
-
VPUSH
list
压入扩展寄存器
-
VSQRT.F32
Sd, Sm
计算浮点数据平方根
-
VSTM
Rn{!}, list
浮点寄存器多存储
-
VSTR.F3
Sd, [Rn]
将扩展寄存器存到存储器
-
VSUB.F
{Sd,} Sn, Sm
浮点除法
-
WFE
-
等待事件
-
WFI
-
等待中断
-
2014 年 01 月 28 日
100
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
3
Cortex-M4 外设
本章提供关于 Tiva™ C 系列 Cortex-M4 处理器外设的信息,包括:
■ SysTick (见第101页)
提供一个简单易用、配置灵活的24位单调递减计数器。该计数器具有写入即清零、过零自动重载
等特性。
■ 嵌套式向量化中断控制器 (NVIC) (见第102页)
– 提供低-等待延时异常和中断处理
– 可控制电源管理
– 执行系统控制寄存器
■ 系统控制模块(SCB) (见第103页)
可提供系统构成信息,并进行系统控制,包括系统异常的配置、控制以及上报。
■ 存储器保护单元(MPU) (见第104页)
支持标准的ARMv7受保护存储器系统架构(PMSA)模型。MPU提供保护区支持,重叠保护区,
访问权限和导出存储属性到系统。
■ 浮点单元 (FPU) (见第108页)
完全支持单精度的加、减、乘、除、乘加以及平方根操作。它还可用于转换定点和浮点数据格
式,并提供浮点常数指令。
表3-1(101页) 显示专用外设总线(PPB)的地址映射。某些外设寄存器空间还会进一步划分为两
个区,在表中分别列为两组地址。
表 3-1. 内核外设寄存器区域
地址
内核级外设
描述(见页面)
0xE000.E010-0xE000.E01F
系统定时器
101
0xE000.E100-0xE000.E4EF
嵌套式向量化中断控制器
102
系统控制模块
103
0xE000.ED90-0xE000.EDB8
存储器保护单元
104
0xE000.EF30-0xE000.EF44
浮点单元
108
0xE000.EF00-0xE000.EF03
0xE000.E008-0xE000.E00F
0xE000.ED00-0xE000.ED3F
3.1
功能说明
本章提供关于 Tiva™ C 系列 Cortex-M4 处理器外设的信息:SysTick、NVIC、SCB、MPU、FPU。
3.1.1
系统定时器(SysTick)
Cortex-M4 内核集成有一个系统定时器 SysTick,提供简单易用、配置灵活的 24 位单调递减计数
器,还具有写入即清零、过零自动重载等特性。该计数器的用途广泛,举例来说,可以:
■ 用作RTOS的节拍定时器,按照可编程的频率(例如100Hz)定时触发,调用系统定时器服务子
程序。
■ 用作一个使用系统时钟的高速报警定时器。
2014 年 01 月 28 日
101
Texas Instruments-预告信息
Cortex-M4 外设
■ 速率可变的报警或信号定时器—时间延迟的范围由使用的参考时钟和计数器的动态范围决定。
■ 用作简单计数器,测量任务的完成时刻、总体耗时等等;
■ 用于实现基于失配/匹配周期的内部时钟源控制。此时通过查询 STCTRL 控制及状态寄存器的
COUNT 标志位,可以判定某个动作是否在指定的时间内完成;以此作为动态时钟管理控制环的
一部分。
系统定时器包含以下3个寄存器:
■ SysTick 控制和状态 (STCTRL):控制和状态计数器用来配置其时钟、使能计数器、使能SysTick
中断以及确定计数器状态。
■ SysTick 重载值 (STRELOAD):计数器的重装值,用来提供计数器的重装值(wrap value)。
■ SysTick 当前值 (STCURRENT):计数器的当前值。
使能系统定时器后,计数器将在每个时钟递减一次,从重载值逐个递减到 0,之后在下一个时钟沿
翻转(重载 STRELOAD 寄存器的值),之后继续每个时钟递减一次,如此周而复始。如果将
STRELOAD 寄存器清零,则会在下次重载时禁用该计数器。当计数器递减到 0 时,COUNT 标志位
将置位。读取 COUNT 标志位后其自动清零。
对 STCURRENT 寄存器进行写操作,即可将此寄存器清零,同时还将清零 COUNT 标志位。这个
写操作并不会触发SysTick异常逻辑。读取该寄存器时,返回值是该寄存器被访问时刻的内容。
SysTick 计数器根据系统时钟或精确内部振荡器 (PIOSC) 4 分频运行。假如在某些低功耗模式下停
止提供该时钟信号,则系统定时器的计数器也将停止运行。在 SysTick 控制和状态寄存器 (STCTRL)
中设置 CLK_SRC 位并确保深度睡眠时钟配置 (DSLPCLKCFG) 寄存器中的 PIOSCPD 位已清零,
从而使 SysTick 在深度休眠模式中保持运行状态。软件在访问系统定时器的寄存器时,应确保始终
采用字对齐操作予以访问。
在复位时,SysTick 计数器的重载值和当前值并未定义;SysTick 计数器的正确初始化序列为:
1. 将 STRELOAD 寄存器中的值编程。
2. 向 STCURRENT 寄存器中写入任意值来将其清零。
3. 配置 STCTRL 寄存器以执行所需操作。
注意:
3.1.2
在调试过程中处理器暂停时,此计数器不会递减。
嵌套式向量化中断控制器(NVIC)
本节介绍嵌套式向量化中断控制器(NVIC)及其寄存器。NVIC支持:
■ 64 个中断。
■ 每个中断的优先级均可编程,取值范围0~7。优先级数字越大则其优先级越低,也就是说0代表最
高优先级;
■ 可实现异常及中断的快速响应处理;
■ 中断信号可以是电平检测或脉冲检测;
■ 动态重设中断优先级;
■ 优先级可分组,划分为分组优先级域以及子优先级域;
2014 年 01 月 28 日
102
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
■ 支持咬尾中断;
■ 提供一个外部的不可屏蔽中断(NMI)。
处理器在异常入口处能够自动将状态入栈,在退出异常时能够自动将状态出栈。这个过程是处理器
自行完成的、无需多余的指令开销,因此可快速响应异常并进行处理。
3.1.2.1
电平式中断及脉冲式中断
处理器支持电平式中断及脉冲式中断。脉冲式中断通常又称为边沿触发中断。
对于电平式中断而言,只要外设产生中断信号就会始终保持处于触发状态,直到外设中断信号复原
后才不再触发。一般来说这需要ISR(中断服务子程序)对外设进行操作,使得外设不再产生中断请
求信号。脉冲中断是在处理器时钟的上升沿同步采样的中断信号。为了确保 NVIC 能够检测到中断,
外设所产生的中断信号必须保持至少一个时钟周期,在此期间 NVIC 可检测到脉冲并锁存中断。
处理器进入 ISR 后,将自动清除该中断的挂起状态(参见“中断的硬件控制及软件控制”(103页)以
了解更多信息)。对于电平式中断,如果处理器从 ISR 返回后,中断信号仍未复原,则中断将再次
挂起,于是处理器必须再次运行其 ISR。外设可以像这样保持中断信号持续享用服务,直到其不再
需要服务为止。
3.1.2.2
中断的硬件控制及软件控制
Cortex-M4 内核能够锁存所有中断。当满足以下条件之一,外设中断即变为挂起状态:
■ NVIC检测到某个中断信号为高电平,并且该中断为未激活状态;
■ NVIC检测到某个中断信号的上升沿;
■ 软件对中断设置挂起寄存器的相应位写操作,或向软件触发中断寄存器 (SWTRIG) 的相应位写操
作,形成软件产生中断的挂起。请参阅 123页 上 PEND0 寄存器中的 INT 位或 133页 上的 SWTRIG。
中断挂起后将保持挂起状态,直到满足以下条件之一:
■ 处理器进入该中断的 ISR,将中断状态由挂起改为已激活。然后:
– 对于电平式中断,当处理器从ISR返回后,NVIC将再次采样中断信号。假如仍然检测到中断
信号,那么中断状态将再次变为挂起,使得处理器立即重新进入该ISR。否则,中断状态将变
为未激活。
– 对于脉冲式中断,处理器时刻监视着中断信号的状态。只要检测到中断脉冲信号就会将中断
状态改为挂起并激活。在此情况下,当处理器从ISR返回后,中断状态将再次变为挂起,使得
处理器立即重新进入该ISR。
如果当处理器在ISR内期间并未产生中断脉冲信号,那么当处理器从ISR返回后,中断状态将
变为未激活。
■ 软件对中断清除挂起寄存器中的相应标志位执行写操作
– 对于电平式中断,若仍旧产生中断信号,那么中断状态将保持不变。否则,中断状态将变为
未激活。
– 对于脉冲式中断,假如中断状态是挂起并激活,则将变为未激活。
3.1.3
系统控制模块 (SCB)
系统控制模块提供系统构成信息,并能实现系统控制功能,包括系统异常的配置、控制以及上报。
2014 年 01 月 28 日
103
Texas Instruments-预告信息
Cortex-M4 外设
3.1.4
存储器保护单元 (MPU)
本节介绍存储器保护单元(MPU)。MPU将存储器映射空间划分为若干个存储器区,并分别规定每
一个存储器区的起始地址、大小、访问权限以及存储属性。MPU支持为每一个存储器区分别定义其
属性设置,支持重叠区的设置,此外还能将存储属性导出到系统。
存储属性影响对该存储器区进行访问时的表现。Cortex-M4 MPU 定义了八个单独存储器区 (0-7) 以
及背景区。
当存储区出现重叠时,重叠部分的访问将由编号最大的存储区属性决定。例如,第7存储器区始终优
先于其它存储器区,因此一旦与其它区发生重叠时,都将以第7区的存储属性为准。
背景区的存储器访问属性与默认的存储器映射相同,但只允许特权级软件依此进行访问。
Cortex-M4 的 MPU 存储器映射是统一的,也就是说指令访问和数据访问都是共用相同的存储区设
置。
假如程序试图访问某个地址,而该地址被MPU设置为禁止访问,那么处理器将产生一个存储管理故
障,并由此触发故障异常。这个异常可能会导致操作系统环境下某个进程终止运行。在操作系统环
境下,操作系统内核能够按照进程的实际需求来动态更新MPU区的设置。一般来说,嵌入式操作系
统都需要通过MPU实现存储器保护。
MPU 区的配置是基于存储器类型的(参见“内存区,类型和属性”(77页)以了解更多信息)。
表3-2(104页) 显示 MPU 区的可能属性。请参阅 “一个 Tiva™ C 系列 微控制器的 MPU 配置”一
节(108页) 以了解关于将微控制器实施编程的准则。
表 3-2. 存储器属性摘要
存储器类型
描述
严格排序
对严格顺序存储器的所有访问必须按照程序顺序进行。
设备
存储器映射外部设备
正常模式
普通存储器
为避免出现无法预料的执行结果,如果某些中断的处理函数可能访问某存储器区,那么在更新该存
储器区的属性之前,应当先关闭这些中断。
在访问MPU寄存器时,应确保软件按照正确的宽度进行对齐访问:
■ 除 MPU 区属性及大小 (MPUATTR) 寄存器外,所有 MPU 寄存器必须按字对齐进行访问;
■ MPUATTR 寄存器可按字节对齐、半字对齐或字对齐进行访问。
处理器不支持对MPU寄存器进行未对齐访问。
在配置MPU时,由于MPU可能曾经被编程过,因此所有当前不用的存储器区都应当禁用,防止存储
器区的旧设置对当前更新后的MPU设置产生不良影响。
3.1.4.1
更新单个MPU区
要更新某个 MPU 区的属性,必须更新 MPU 区编号寄存器 (MPUNUMBER)、MPU 区基地址寄存器
(MPUBASE) 以及 MPUATTR 寄存器。用户可以分别编程各个寄存器,也可以利用多字写操作来同
时编程所有寄存器。您可以使用 MPUBASEx 和 MPUATTRx 别名,通过使用 STM 指令同时对最多
四个区进行编程。
采用单字写操作,更新单个MPU区
下面的例程可以完成单个MPU区的配置:
2014 年 01 月 28 日
104
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
; R1 = region number
; R2 = size/enable
; R3 = attributes
; R4 = address
LDR R0,=MPUNUMBER
STR R1, [R0, #0x0]
STR R4, [R0, #0x4]
STRH R2, [R0, #0x8]
STRH R3, [R0, #0xA]
;
;
;
;
;
0xE000ED98, MPU region number register
Region Number
Region Base Address
Region Size and Enable
Region Attribute
假如之前启用了某个存储器区,又需要更改其设置,那么在向MPU写入新的设置之前应当先将此存
储器区禁用。例如:
; R1 = region number
; R2 = size/enable
; R3 = attributes
; R4 = address
LDR R0,=MPUNUMBER
STR R1, [R0, #0x0]
BIC R2, R2, #1
STRH R2, [R0, #0x8]
STR R4, [R0, #0x4]
STRH R3, [R0, #0xA]
ORR R2, #1
STRH R2, [R0, #0x8]
;
;
;
;
;
;
;
;
0xE000ED98, MPU region number register
Region Number
Disable
Region Size and Enable
Region Base Address
Region Attribute
Enable
Region Size and Enable
在以下情况下,软件中必须采用存储器隔离指令:
■ 假如在修改MPU配置时,可能存在某些仍在进行中的存储器传输过程(例如缓冲式写操作),则
该操作将可能受到MPU配置改变的影响。
■ 此时在配置MPU之前必须采用存储器隔离指令。
假如进入异常处理程序后立即开始配置MPU,或配置完MPU后立即从异常中返回,那么可以不采用
存储器隔离指令,因为异常入口和异常出口已经能够实现相当于存储器隔离指令的保护机制。
在配置MPU期间,并不需要软件再增加存储器隔离指令,这是因为访问MPU时必须通过私有外设总
线(Private Peripheral Bus,简写为PPB),而PPB是严格顺序存储区。
举例来说,如果要让所有的存储器访问行为在编程序列后立即生效,则应使用 DSB 指令和 ISB 指
令。更改 MPU 配置后应当立即发出一条 DSB 指令,例如上下文切换的结尾。如果对 MPU 存储区
编程的代码是通过分支语句或调用语句进入的,那么应当发出一条 ISB 指令。如果编程序列使用异
常返回或通过进入异常来输入,那么无需发出 ISB 指令。
采用多字写操作,更新单个MPU区
取决于写入信息如何分割,MPU也可以直接采用多字写操作进行编程。例如:
; R1 = region number
; R2 = address
; R3 = size, attributes in one
LDR R0, =MPUNUMBER ; 0xE000ED98, MPU region number register
STR R1, [R0, #0x0] ; Region Number
STR R2, [R0, #0x4] ; Region Base Address
STR R3, [R0, #0x8] ; Region Attribute, Size and Enable
2014 年 01 月 28 日
105
Texas Instruments-预告信息
Cortex-M4 外设
STM 指令可以用于优化:
; R1 = region number
; R2 = address
; R3 = size, attributes in one
LDR R0, =MPUNUMBER ; 0xE000ED98, MPU region number register
STM R0, {R1-R3}
; Region number, address, attribute, size and enable
此操作可以按预整合信息的两个字来完成,表示 MPU 区基地址 (MPUBASE) 寄存器(请参阅 166
页)包含所需区域号且具有 VALID 位集。这种方式比较适合静态配置数据的应用场合,例如对于
Bootloader,就能够进一步精简其大小。
; R1 = address and region number in one
; R2 = size and attributes in one
LDR R0, =MPUBASE
; 0xE000ED9C, MPU Region Base register
STR R1, [R0, #0x0] ; Region base address and region number combined
; with VALID (bit 4) set
STR R2, [R0, #0x4] ; Region Attribute, Size and Enable
存储子区
任何不小于256字节的存储器区还能进一步均分为8个存储子区。在 MPU 区属性及大小 (MPUATTR)
寄存器的 SRD 域中设置相应位(请参阅 168页)以禁用存储子区。SRD 位域的最低位控制着第一个
子区,最高位控制着最后一个子区。禁用某个子区表示另一区域重叠禁用的范围匹配。如果禁用某
个子区后,也没有其它已启用的存储器区重叠在该区域上,那么MPU会产生一个故障。
如果存储器区的大小为32、64或128字节,是无法再划分为子区的。对于这些大小的区域,SRD 域
必须配置为 0x00,否则 MPU 行为将无法预测。
SRD的用法示例
在下面的例子中,两个存储器区具有相同的基地址,因此它们相互重叠。第1个区的大小为128kB,
第2个区的大小为512kB。为了确保来自第一个区域的属性应用于第一个 128 KB 区域,请将第二个
区域的 SRD 域配置为 0x03 以禁用前两个子区域,如 图3-1(106页) 所示。
图 3-1. SRD 使用示例
带有子区域的 区域
2
区域 1
两个区的基地址
3.1.4.2
禁用的子区域
禁用的子区域
从基地址的
偏移量
512KB
448KB
384KB
320KB
256KB
192KB
128KB
64KB
0
MPU访问权限属性
MPUATTR 寄存器中的访问权限位(TEX、S、C、B、AP、XN)负责控制相应存储区的访问权限。
假如试图访问某个区域,而该区域并未开放相关权限,那么MPU将会产生一个访问权限故障。
表3-3(107页) 显示 TEX、C、B, 和 S 访问权限位的编码。出于完整方面的考虑,表中列出了所有
可能的编码组合,不过目前的 Cortex-M4 内核尚不支持可高速缓冲性以及可共享性。请参阅 “一个
2014 年 01 月 28 日
106
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
Tiva™ C 系列 微控制器的 MPU 配置”一节(108页) 以了解对 MPU 编程以实施 TM4C1231D5PM
的相关信息。
表 3-3. TEX、S、C 和 B 位域编码
TEX
S
C
B
存储器类型
可共享性
其他属性
a
a
000b
X
0
0
严格排序
可共享
-
000
X
0
1
设备
可共享
-
000
0
1
0
正常模式
不可共享
000
1
1
0
正常模式
可共享
000
0
1
1
正常模式
不可共享
000
1
1
1
正常模式
可共享
001
0
0
0
正常模式
不可共享
001
1
0
0
正常模式
可共享
外部及内部均不可缓
冲。
001
X
a
0
1
保留的编码
-
-
a
外部及内部均为完全写
入式。无写分配。
001
X
1
0
保留的编码
-
-
001
0
1
1
正常模式
不可共享
001
1
1
1
正常模式
可共享
外部及内部均为回写
式。写及读均分配
010
X
设备
不可共享
不可共享的设备。
a
0
0
a
a
010
X
0
1
保留的编码
-
-
010
X
1
X
保留的编码
-
-
1BB
0
A
A
正常模式
不可共享
1BB
1
A
A
正常模式
可共享
可高速缓冲的存储器
(BB代表外部策略,A
代表内部策略)。
a
关于 AA 和 BB 位的编
码,参见表3-4。
a. MPU 将忽略此位的值。
表3-4(107页) 显示存储器属性编码(TEX 值在范围 0x4-0x7 中)的高速缓存策略。
表 3-4. 存储器属性编码对应的高速缓存策略
编码(AA 或 BB)
相应的高速缓存策略
00
不可高速缓冲
01
回写式,写及读均分配
10
完全写入式,无写分配
11
回写式,无写分配
表3-5(107页) 显示 MPUATTR 寄存器中的 AP 编码,这些编码定义特权软件和非特权软件的访问
权限。
表 3-5. AP 位域编码
AP 位域
特权权限
非特权权限
描述
000
无访问权
无访问权
任何访问操作都会导致产生一个访问权限故障。
001
R/W
无访问权
仅特权级软件才拥有访问权限。
010
R/W
RO
非特权级软件的写操作会导致产生一个访问权限故障。
011
R/W
R/W
任何软件均可任意访问。
100
无法预测
无法预测
保留
2014 年 01 月 28 日
107
Texas Instruments-预告信息
Cortex-M4 外设
表 3-5. AP 位域编码(续)
AP 位域
特权权限
非特权权限
描述
101
RO
无访问权
仅特权级软件才拥有只读权限。
110
RO
RO
特权级软件或非特权级软件均拥有只读权限。
111
RO
RO
特权级软件或非特权级软件均拥有只读权限。
一个 Tiva™ C 系列 微控制器的 MPU 配置
Tiva™ C 系列 微控制器只有一个处理器,并且不带高速缓存。因此,应按 表3-6(108页) 中所示对
MPU 编程。
表 3-6. Stellaris Tiva™ C 系列 微控制器的存储器区属性
存储器区域
TEX
S
C
B
存储器类型和属性
Flash 存储器
000b
0
1
0
普通存储器,不可共享,完全写入式
内部 SRAM
000b
1
1
0
普通存储器,可共享,完全写入式
外部 SRAM
000b
1
1
1
普通存储器,可共享,回写式,写分配
外设
000b
1
0
1
设备存储器,可共享
在当前的 Tiva™ C 系列 微控制器的实施中,可共享性和高速缓冲策略属性对系统行为并无影响。
不过,如果正确配置这些MPU区属性,有益于充分保障代码的可移植性。上表给出的都是常见配置
的参考值。
3.1.4.3
MPU失配
若某个访问操作违反了 MPU 权限,处理器将会产生存储器管理故障(请参阅 “异常和中断”(75页)
以了解更多信息)。MFAULTSTAT 寄存器指示故障原因。更多信息参见 153页。
3.1.5
浮点单元 (FPU)
本节描述浮点单元 (FPU) 及其使用的寄存器。FPU 提供:
■ 适用于单精度(C 浮点)数据处理操作的 32 位指令
■ 适用于更高精度(熔合 MAC)的组合乘加指令
■ 适用于换算、加法、减法、可选累加的乘法、除法和平方根计算的硬件支持
■ 适用于反常和所有 IEEE 舍入模式的硬件支持
■ 32 个专用的 32 位单精度寄存器,也可作为 16 位双字寄存器进行寻址
■ 去耦三级流水线
Cortex-M4F FPU 完全支持单精度的加法、减法、乘法、除法、乘加和平方根计算。它还可用于转
换定点和浮点数据格式,并提供浮点常数指令。FPU 提供浮点计算功能,该功能符合 ANSI/IEEE
754-2008 标准(适用于二进制浮点运算的 IEEE 标准,也称为 IEEE 754 标准)。FPU 的单精度扩
展寄存器也可以作为 16 位双字寄存器,并支持加载、存储和移动操作。
3.1.5.1
寄存器块的 FPU 视图
FPU 提供包含 32 个单精度寄存器的扩展寄存器文件。这些寄存器可视为:
■ 十六个 64 位双字寄存器,D0-D15
2014 年 01 月 28 日
108
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
■ 三十二个 32 位单字寄存器,S0-S31
■ 以上寄存器的组合
图 3-2. FPU 寄存器块
S0
S1
S2
S3
S4
S5
S6
S7
...
S28
S29
S30
S31
D0
D1
D2
D3
...
D14
D15
寄存器之间的映射如下:
■ S 映射到 D 低位的那一半
■ S 映射到 D 高位的那一半
例如,您可以通过访问 S12 来访问 D6 中的低位值,通过访问 S13 来访问该元件的高位值。
3.1.5.2
工作模式
FPU 提供三种工作模式以适应多种应用程序的需要。
完全合规性模式. 在完全合规性模式下,FPU 按照硬件中的 IEEE 754 标准来处理所有工作。
清零模式. 将浮点状态和控制 (FPSC) 寄存器的 FZ 位置位可启用清零模式。在该模式下,FPU 将算
术 CDP 操作的所有非规格化输入操作数作为 0 来处理。由 0 操作数造成的异常会发出相应的信号。
VABS、VNEG 和 VMOV 不被视为算术 CDP 操作,因此不受清零模式的影响。根据 IEEE 754 标
准,如果某个结果极小,其目标精度的大小小于舍入前的最小正常值,则该结果将被 0 取代。FPSC
寄存器中的 IDC 位指示清空输入的时间。FPSC 寄存器中的 UFC 位指示清空结果的时间。
默认 NaN 模式. 将 FPSC 寄存器中的 DN 位置位可启用默认 NaN 模式。在该模式下,包含输入 NaN
或产生 NaN 结果的任何算术数据处理操作的结果都会返回默认 NaN。小数位的传播仅由 VABS、
VNEG 和 VMOV 操作维持。所有其他 CDP 操作会忽略输入 NaN 的小数位中的任何信息。
3.1.5.3
符合 IEEE 754 标准
当禁用默认 NaN (DN) 和清零 (FZ) 模式时,FPv4 功能在硬件上符合 IEEE 754 标准。实现此合规
性不需要支持代码。
3.1.5.4
完全实现 IEEE 754 标准
Cortex-M4F 浮点指令集并不完全支持 IEEE 754-2008 标准中定义的所有操作。不支持的操作包括
但不限于:
■ 余数
■ 将浮点数舍入为整数值的浮点数
2014 年 01 月 28 日
109
Texas Instruments-预告信息
Cortex-M4 外设
■ 二进制转十进制
■ 十进制转二进制
■ 单精度和双精度值的直接比较
根据 IEEE 标准,Cortex-M4 FPU 支持熔合 MAC 操作。要完全实现 IEEE 754-2008 标准,浮点功
能必须随库函数增加。
3.1.5.5
IEEE 754 标准实现选项
NaN 处理
所有具有最大指数域值和非零小数域的单精度值都是有效的 NaN。最高小数位为 0 指示信号非数
(SNaN)。最高小数位为 1 指示静默非数 (QNaN)。如果两个 NaN 的任何一位都不同,则将其视为
不同的 NaN 值。下表显示了默认的 NaN 值。
符号
小数
小数
0
0xFF
位 [22] = 1,位 [21:0] 全为 0
对 ARM 浮点功能和库的输入 NaN 的处理方式定义如下:
■ 在完全合规性模式下,NaN 按《ARM 架构参考手册》中的描述处理。硬件直接将 NaN 用于算
术 CDP 指令。对于数据传输操作,NaN 被传输而不引起无效操作异常。对于非算术 CDP 指令、
VABS、VNEG 和 VMOV,如果指令中有说明,则 NaN 被复制且符号改变,而不引起无效操作
异常。
■ 在默认 NaN 模式下,涉及 NaN 操作数的算术 CDP 指令将返回默认 NaN,而不考虑 NaN 操作
数的小数。算术 CDP 操作中的 SNaN 将 IOC 标志 FPSCR[0] 置位。由数据传输和非算术 CDP
指令进行的 NaN 处理与在完全合规性模式下一样。
表 3-7. QNaN 和 SNaN 处理
指令类型
默认 NaN 模式
带有 QNaN 操作数
关闭
如果有多个 QNaN 操作数,则将按
IOC 置位。SNaN 最高有效位被清除,得
《ARM 架构参考手册》中的规则返回一 出的 NaN 取决于《ARM 架构参考手册》
个 QNaN 或 QNaN 操作数。
中的规则。
开启
默认 NaN 返回。
非算术 CDP
关闭/开启
NaN 传输到目的地,符号会发生相应改变。
FCMP(Z)
-
无序比较。
IOC 置位。无序比较。
FCMPE(Z)
-
IOC 置位。无序比较。
IOC 置位。无序比较。
加载/存储
关闭/开启
传输所有 NaN。
算术 CDP
带有 SNaN 操作数
a
a
IOC 置位。默认 NaN 返回。
a. IOC 是无效操作异常标志,FPSCR[0]。
比较
比较结果会修改 FPSCR 中的标志。您可以使用 MVRS APSR_nzcv 指令(即之前的 FMSTAT)将
当前标志从 FPSCR 传输到 APSR。有关将 IEEE 754-2008 标准谓词映射到 ARM 条件的详细信息,
请参考《ARM 架构参考手册》。应仔细选择所使用的标志,使后续的 ARM 指令在指定执行条件下
能测试 IEEE 标准中定义的谓词。
下溢
Cortex-M4F FPU 使用 IEEE 754-2008 标准中描述的舍入前的极小值和丢失精度的不准确结果来产
生下溢异常。
2014 年 01 月 28 日
110
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
在清零模式下,根据 IEEE 标准,舍入前极小的结果将清空为 0,且 UFC 标志 FPSCR[3] 置位。有
关清零模式的信息,请参考《ARM 架构参考手册》。
当 FPU 未处于清零模式时,将对非规格化操作数进行操作。如果操作没有产生极小的结果,它将返
回计算结果,且 UFC 标志 FPSCR[3] 不置位。如果操作不精确,IXC 标志 FPSCR[4] 置位。如果操
作产生了极小的结果,该结果为非规格化值或 0,如果结果同样不精确,UFC 标志 FPSCR[3] 置
位。
3.1.5.6
异常
根据 FPv4 架构,FPU 将如每条指令所要求地将 FPSCR 寄存器中的累积异常状态标志置位。FPU
不支持用户模式处理。FPSCR 中的异常启用位读数为 0 并且忽略写操作。处理器也有六个输出管
脚:FPIXC、FPUFC、FPOFC、FPDZC、FPIDC 和 FPIOC,每个管脚反映一个累积异常标志的状
态。有关这些输出的描述,请参考 “ARM Cortex-M4 集成和实现手册”(ARM DII 0239,可通过
ARM 获取)。
该处理器可通过使用怠惰堆栈来降低异常延迟。请参考第 4-5 页上的辅助控制寄存器,ACTLR。这
意味着处理器在堆栈上保留了 FP 状态的空间,但并未在堆栈上保存该状态的信息。有关更多信息,
请参考《ARMv7-M 架构参考手册》(可通过 ARM 获取)。
3.1.5.7
启用 FPU
FPU 通过复位被禁用。您必须先启用 FPU,才能使用浮点指令。处理器必须处于特权模式,才能读
取/写入协处理器访问控制 (CPAC) 寄存器。以下示例代码序列可同时在特权模式和用户模式中启用
FPU。
; CPACR is located at address 0xE000ED88
LDR.W R0, =0xE000ED88
; Read CPACR
LDR R1, [R0]
; Set bits 20-23 to enable CP10 and CP11 coprocessors
ORR R1, R1, #(0xF GPTMTnILR
GPTMnMATCHR
计数器值
GPTMnILR
CCP
CCP 置位(如果 GPTMnMATCHR ≠ GPTMnILR)
图11-7(641页) 显示在 PLO 和 MRSU 位被置位并且 GPTMTnMATCHR 值等于 GPTMTnILR 值
时,CCP 输出如何操作。此时,如果 PLO 位等于 0,CCP 信号在载入 GPTMTnILR 值时拉高,匹
配基本上将被忽略。
图 11-7. CCP 输出,GPTMTnMATCHR = GPTMTnILR
GPTMnMATCHR
计数器值
GPTMnILR
CCP
CCP 不置位(如果 GPTMnMATCHR = GPTMnILR)
图11-8(642页) 显示在 PLO 和 MRSU 位被置位并且 GPTMTnILR 大于 GPTMTnMATCHR 值时,
CCP 输出如何操作。
2014 年 01 月 28 日
641
Texas Instruments-预告信息
通用定时器
图 11-8. CCP 输出,GPTMTnILR > GPTMTnMATCHR
GPTMnILR
GPTMnMATCHR = GPTMnILR-1
GPTMnMATCHR = GPTMnILR-2
GPTMnMATCHR == 0
11.3.3
CCP
GPTMnMATCHR = GPTMnILR - 1 时,脉宽为 1 个时钟
CCP
GPTMnMATCHR = GPTMnILR - 2 时,脉宽为 2 个时钟
CCP
GPTMnMATCHR= 0 时,脉宽为 GPTMnILR 时钟
等待触发模式
等待触发模式,是允许使用菊花链式的定时器模块。比如,一旦配置好,一个单独的定时器可以通
过定时器触发来初始化多路时钟事件。通过置位 GPTMTnMR 寄存器里的 TnWOT 位来启用等待触
发模式。当 TnWOT 置位时,Timer N+1 只有在等到菊花链中它的上一个定时器 (Timer N) 发生超
时事件时,才会开始计数。菊花链的配置一般是如下形式的:GPTM1跟着GPTM0,GPTM2跟着
GPTM1,…等等。如果 Timer A 被配置为 32 位(16/32 位模式)或 64 位(32/64 位宽模式)定时
器(通过 GPTMCFG 寄存器的 GPTMCFG 域控制),则触发下一模块的 Timer A。如果 Timer A
被配置为 16 位(16/32 位模式)或 32 位(32/64 位宽模式)定时器,则触发同一模块中的 Timer
B,由 Timer B 触发下一模块的 Timer A。必须注意:GPTM0 的 TAWOT 位永远不会置位。图
11-9(642页) 显示了 GPTMCFG 位如何影响菊花链。这些功能对单次触发、周期和 PWM 模式都
是有效的。
图 11-9. 定时器菊花链
GP Timer N+1
1
0
GPTMCFG
Timer B
Timer A
Timer B ADC 触发
Timer A ADC 触发
GP Timer N
1
0
GPTMCFG
Timer B
Timer A
11.3.4
Timer B ADC 触发
Timer A ADC 触发
同步通用定时器模块
GPTM0 模块中的 GPTM 同步控制 (GPTMSYNC) 寄存器可以用于同步所选的定时器,以便同时开
始计数。将 GPTMSYNC 寄存器的某位置位将导致相关定时器执行超时事件的动作。在同步定时器
时未产生中断。如果正在连接模式中使用定时器,仅 Timer A 的位必须在 GPTMSYNC 寄存器中置
位。
注意:
要正常使用此功能,所有定时器必须设置相同的时钟源。
2014 年 01 月 28 日
642
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表11-11(643页) 显示在各种定时器模式中同步定时器时所执行超时事件的动作。
表 11-11. GPTM 模式的超时动作
模式
11.3.5
计数目录
超时动作
32 和 64 位单次触发(连 ─
接定时器)
N/A
32 和 64 位周期(连接定 递减
时器)
递增
计数值 = ILR
32 和 64 位 RTC(连接 递增
定时器)
计数值 = 0
16 和 32 位单次触发(独 ─
立/分离定时器)
N/A
16 和 32 位周期(独立/ 递减
分离定时器)
递增
计数值 = ILR
16 和 32 位边沿计数(独 递减
立/分离定时器)
递增
计数值 = ILR
16 和 32 位边沿计时(独 递减
立/分离定时器)
递增
计数值 = ILR
16 和 32 位 PWM
计数值 = ILR
递减
计数值 = 0
计数值 = 0
计数值 = 0
计数值 = 0
DMA 操作
每一个定时器都有一个专用的 μDMA 通道,并且可以给 μDMA 控制器提供一个请求信号。该请求
信号是突发类型的,并且在定时器原始中断发生时都会发生。μDMA 传输的仲裁数目应与每次定时
器事件出现时应该传输的数据单元数相同。
例如,要传输256个项目,每10ms传输8个。配置一个定时器为周期定时器,每10ms发生一次中断。
配置 μDMA 传输总量为 256 个项目,每次突发传送 8 个项目。每次定时器超时,μDMA 控制器就
会传输 8 个项目,直到所有 256 个项目传输完毕。
不需要其他特殊步骤就能使定时器用于 μDMA 操作。关于给 μDMA 控制器编程的更多详情,请参
阅 “微型直接存储器访问(μDMA)”(512页)。
11.3.6
访问连接的 16/32 位 GPTM 寄存器值
通过向 GPTM 配置 (GPTMCFG) 寄存器中的 GPTMCFG 位域写入 0x0 或 0x1,可将 GPTM 配置为
连接模式。在这两种配置下,某些 16/32 位 GPTM 寄存器会连接在一起形成伪 32 位寄存器。这些
寄存器包括:
■ GPTM Timer A 间隔加载 (GPTMTAILR) 寄存器 [15:0],见674页
■ GPTM Timer B 间隔加载 (GPTMTBILR) 寄存器 [15:0],见675页
■ GPTM Timer A (GPTMTAR) 寄存器 [15:0],见682页
■ GPTM Timer B (GPTMTBR) 寄存器 [15:0],见683页
■ GPTM Timer A 值 (GPTMTAV) 寄存器 [15:0],见684页
■ GPTM Timer B 值 (GPTMTBV) 寄存器 [15:0],见685页
■ GPTM Timer A 匹配 (GPTMTAMATCHR) 寄存器 [15:0],见676页
2014 年 01 月 28 日
643
Texas Instruments-预告信息
通用定时器
■ GPTM Timer B 匹配 (GPTMTBMATCHR) 寄存器 [15:0],见677页
在 32 位模式下,GPTM 把对 GPTMTAILR 的 32 位写访问转换为对 GPTMTAILR 和 GPTMTBILR
的写访问。这样,写操作最终的字顺序为:
GPTMTBILR[15:0]:GPTMTAILR[15:0]
同样,对 GPTMTAR 的 32 位读操作返回的值为:
GPTMTBR[15:0]:GPTMTAR[15:0]
对 GPTMTAV 的 32 位读操作返回的值为:
GPTMTBV[15:0]:GPTMTAV[15:0]
11.3.7
访问连接的 32/64 位宽 GPTM 寄存器值
在 32/64 位宽 GPTM 模块上,连接的寄存器值(64 位和 48 位)并不适合作为大于处理器内核的总
线宽度访问的位宽。在连接定时器模式和独立的定时器模式中,在使用预分频器时,软件必须针对
该值执行原子访问,以使之一致。在读取大于 32 位的定时器值时,软件应遵循以下步骤:
1. 读取合适的 Timer B 寄存器或预分频器寄存器。
2. 读取相应的 Timer A 寄存器。
3. 重新读取 Timer B 寄存器或预分频器寄存器。
4. 对比首次和第二次读取的 Timer B 或预分频器值。如果它们相同,定时器的值一致。如果它们
不同,再次重复步骤 1-4,使它们相同。
以下伪代码说明了该过程:
high = timer_high;
low = timer_low;
if (high != timer_high);
//low overflowed into high
{
high = timer_high;
low = timer_low;
}
必须以此方法读取的寄存器如下所示:
■ 64 位读取
– GPTMTAV 和 GPTMTBV
– GPTMTAR 和 GPTMTBR
■ 48 位读取
– GPTMTAR 和 GPTMTAPS
2014 年 01 月 28 日
644
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
– GPTMTBR 和 GPTMTBPS
– GPTMTAV 和 GPTMTAPV
– GPTMTBV 和 GPTMTBPV
同样,还必须通过在写入低位之前写入高位来执行写操作,如下所示:
1. 写入合适的 Timer B 寄存器或预分频器寄存器。
2. 写入相应的 Timer A 寄存器。
必须以此方法写入的寄存器如下所示:
■ 64 位写入
– GPTMTAV 和 GPTMTBV
– GPTMTAMATCHR 和 GPTMTBMATCHR
– GPTMTAILR 和 GPTMTBILR
■ 48 位写入
– GPTMTAV 和 GPTMTAPV
– GPTMTBV 和 GPTMTBPV
– GPTMTAMATCHR 和 GPTMTAPMR
– GPTMTBMATCHR 和 GPTMTBPMR
– GPTMTAILR 和 GPTMTAPR
– GPTMTBILR 和 GPTMTBPR
在写入 64 位值时,如果连续两次写入到以上“64 位写入”标题下列出的任何寄存器中,不论寄存器
是在 Timer A 或 Timer B 中,或者如果在写入 Timer B 中相应的寄存器之前写入寄存器 Timer A,
那么系统将通过 GPTMRIS 寄存器中的 WUERIS 位报告错误。如果该错误未被屏蔽,即可引发中
断。请注意,因为预分频器的使用是可选项,所以该错误并未报告给预分频器寄存器。因此,程序
员必须小心遵循上文所述的协议。
11.4
初始化和配置
要使用 GPTM,必须将 RCGCTIMER或 RCGCWTIMER 寄存器中相应的 TIMERn 位置位(请参阅
293页 和309页)。如果使用任何 CCP 管脚,必须通过 RCGCGPIO 寄存器启用相关 GPIO 模块的时
钟(见295页)。要了解要启用哪一个 GPIO 端口,请参考表20-4(1019页)。在 GPIOPCTL 寄存器
中配置 PMCn 域,以将 CCP 信号分配到合适的管脚(见612页和 表20-5(1024页))。
本节提供了所支持的定时器模式的初始化和配置的例子。
11.4.1
单次触发/周期定时器模式
将 GPTM 配置为单次触发和周期模式的步骤如下:
1. 确保先禁用定时器(将 GPTMCTL 寄存器的 TnEN 位清零),然后再进行更改操作。
2014 年 01 月 28 日
645
Texas Instruments-预告信息
通用定时器
2. 向 GPTM 配置 (GPTMCFG) 寄存器写入 0x0000.0000。
3. 配置 GPTM Timer n 模式寄存器 (GPTMTnMR) 的 TnMR 域:
a. 写入 0x1 设为单次触发模式。
b. 写入0x2 设为周期模式。
4. (可选)配置 GPTMTnMR 寄存器中的 TnSNAPS、TnWOT、TnMTE 和 TnCDIR 位,以选择
是否捕获超时自由运行定时器的值、使用外部触发来启动计数、配置一个额外的触发或中断,
以及递增还是递减计数。
5. 将初值加载到 GPTM Timer n 间隔加载 (GPTMTnILR) 寄存器。
6. 如果需要中断,将 GPTM 中断屏蔽 (GPTMIMR) 寄存器里相应的位置位。
7. 在 GPTMCTL 寄存器中将 TnEN 位置位来启用定时器并开始计数。
8. 查询 GPTMRIS 寄存器或等待产生中断(如果已启用)。在这两种情况下,通过向 GPTM 中断
清除 (GPTMICR) 寄存器里相应的位写 1 来清除状态标记。
如果 GPTMTAMR 寄存器中的 TnMIE 位置位,GPTMRIS 寄存器中的 RTCRIS 位将置位,并且定
时器继续计数。在单次触发模式中,定时器在到达超时事件时停止计数。要重新使能定时器需要重
复上述步骤。在周期模式中,发生超时事件后定时器将会重新载入并继续计数。
11.4.2
实时时钟 (RTC) 模式
要使用32位实时时钟,定时器需要在CCP的偶数管脚上有一个32.768KHz的输入信号。要使用RTC
请遵循如下步骤:
1. 在执行任何更改之前,先将定时器禁用(把 TAEN 位清零)。
2. 如果定时器在此之前以其他模式运行,则应先清除 GPTM 定时器 n 模式 (GPTMTnMR) 寄存器
中的所有残余设置位,然后再重新配置。
3. 向 GPTM 配置 (GPTMCFG) 寄存器写入 0x0000.0001。
4. 向 GPTM Timer n 匹配寄存器 (GPTMTnMATCHR) 写入匹配值。
5. 根据需要将 GPTM 控制 (GPTMCTL) 寄存器的 RTCEN 位和 TnSTALL 位置位或清零。
6. 如果需要中断,将 GPTM 中断屏蔽 (GPTMIMR) 寄存器的 RTCIM 位置位。
7. 置位 GPTMCTL 寄存器的 TAEN 位来启用定时器并开始计数。
当定时器计数等于 GPTMTnMATCHR 寄存器中的值时,GPTM 确认 GPTMRIS 寄存器中的 RTCRIS
位,并且继续计数,直到 Timer A 被禁用或发生硬件复位。通过写 GPTMICR 寄存器的 RTCCINT
位来清除中断。请注意:如果 GPTMTnILR 寄存器加载了新值,则定时器将从该新值开始继续计数,
并在达到 0xFFFF.FFFF 后返回初始值重新计数。
11.4.3
输入边沿计数模式下:
将定时器通过如下步骤配置为输入边沿计数模式:
1. 在执行任何更改之前,先将定时器禁用(把 TnEN 位清零)。
2014 年 01 月 28 日
646
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
2. 向 GPTM 配置 (GPTMCFG) 寄存器写入 0x0000.0004。
3. 在 GPTM 定时器模式 (GPTMTnMR) 寄存器中,向 TnCMR 位域写入 0x0,向 TnMR 位域写入
0x3。
4. 在 GPTM 控制 (GPTMCTL) 寄存器里的 TnEVENT 位域写入相应的值来设置时钟捕获的事件类
型。
5. 如果使用预分频器,向 GPTM Timer n 预分频 (GPTMTnPR) 寄存器中写入预分频值。
6. 给 GPTM Timer n 间隔加载 (GPTMTnILR) 寄存器加载定时器初值。
7. 向 GPTM Timer n 预分频匹配 (GPTMTnPMR) 寄存器加载预分频器匹配值(如有)。
8. 向 GPTM Timer n 匹配 (GPTMTnMATCHR) 寄存器加载事件计数。请注意:执行递增计数时,
GPTMTnPR 和 GPTMTnILR 的值必须大于 GPTMTnPMR 和 GPTMTnMATCHR 的值。
9. 如果需要中断,将 GPTM 中断屏蔽 (GPTMIMR) 寄存器的 CnMIM 位置位。
10. 置位 GPTMCTL 寄存器的 TnEN 位可启用定时器并开始等待边沿事件。
11. 查询 GPTMRIS 寄存器的 CnMRIS 位,或者等待发生中断(如果已启用)。在这两个情况下,
通过向 GPTM 中断清除 (GPTMICR) 寄存器中的 CnMCINT 位写入 1 来清除状态标志。
在输入边沿计数模式中递减计数时,定时器在检测到定义好的边沿事件数之后停止。需确保 TnEN
位清零并重复#4(647页) 到#9(647页) 才能重新启用定时器。
11.4.4
输入边沿定时模式
将定时器配置为输入边沿定时模式的步骤如下:
1. 在执行任何更改之前,先将定时器禁用(把 TnEN 位清零)。
2. 向 GPTM 配置 (GPTMCFG) 寄存器写入 0x0000.0004。
3. 在 GPTM 定时器模式 (GPTMTnMR) 寄存器中,向 TnCMR 位域写入 0x1,向 TnMR 位域写入
0x3。
4. 在 GPTM 控制 (GPTMCTL) 寄存器里的 TnEVENT 位域写入相应的值来设置时钟捕获的事件类
型。
5. 如果使用预分频器,向 GPTM Timer n 预分频 (GPTMTnPR) 寄存器中写入预分频值。
6. 给 GPTM Timer n 间隔加载 (GPTMTnILR) 寄存器加载定时器初值。
7. 如果需要中断,将 GPTM 中断屏蔽 (GPTMIMR) 寄存器的 CnEIM 位置位。
8. 将 GPTM 控制 (GPTMCTL) 寄存器中的 TnEN 位置位可启用定时器并开始计数。
9. 查询 GPTMRIS 寄存器中的 CnERIS 位或等待发生中断(如果已启用)。在这两种情况下,通
过向 GPTM 中断清除 (GPTMICR) 寄存器中的 CnECINT 位写入 1 来清除状态标志。事件发生
的时间可以通过读取 GPTM Timer n (GPTMTnR) 寄存器来获得。
在输入边沿定时模式下,定时器在检测到边沿事件之后继续运行,但通过写 GPTMTnILR 寄存器可
在任何时候改变定时器间隔。此改变在写操作的下一个周期生效。
2014 年 01 月 28 日
647
Texas Instruments-预告信息
通用定时器
11.4.5
PWM 模式
定时器可以通过以下步骤配置为 PWM 模式:
1. 在执行任何更改之前,先将定时器禁用(把 TnEN 位清零)。
2. 向 GPTM 配置 (GPTMCFG) 寄存器写入 0x0000.0004。
3. 在 GPTM 定时器模式 (GPTMTnMR) 寄存器中,将 TnAMS 位设为 0x1,将 TnCMR 位设为
0x0,将 TnMR 域设为 0x2。
4. 在 GPTM 控制 (GPTMCTL) 寄存器的 TnEVENT 位域中,配置 PWM 信号的输出状态(是否需
要反相)。
5. 如果使用预分频器,向 GPTM Timer n 预分频 (GPTMTnPR) 寄存器中写入预分频值。
6. 如果使用 PWM 中断,配置 GPTMCTL 寄存器中 TnEVENT 域的中断条件,并且通过将
GPTMTnMR 寄存器中的 TnPWMIE 位置位来启用中断。注:PWM 输出反相时,将翻转边沿检
测中断行为(参考 657页)。
7. 给 GPTM Timer n 间隔加载 (GPTMTnILR) 寄存器加载定时器初值。
8. 向 GPTM Timer n 匹配 (GPTMTnMATCHR) 寄存器加载匹配值。
9. 置位 GPTM 控制 (GPTMCTL) 寄存器的 TnEN 位可启用定时器并开始输出 PWM 信号。
在PWM模式下,定时器在产生PWM信号之后继续运行。通过写 GPTMTnILR 寄存器可在任何时候
对 PWM 周期进行调整,此改变在写操作的下一个周期生效。
11.5
寄存器映射
表 11-12(649页) 列出了 GPTM 寄存器。下表中列出的“偏移量”代表寄存器相对于该定时器基址的
十六进制地址增量:
■
■
■
■
■
■
■
■
■
■
■
■
16/32 位Timer 0:0x4003.0000
16/32 位Timer 1:0x4003.1000
16/32 位Timer 2:0x4003.2000
16/32 位Timer 3:0x4003.3000
16/32 位Timer 4:0x4003.4000
16/32 位Timer 5:0x4003.5000
32/64 位宽 Timer 0:0x4003.6000
32/64 位宽 Timer 1:0x4003.7000
32/64 位宽 Timer 2:0x4004.C000
32/64 位宽 Timer 3:0x4004.D000
32/64 位宽 Timer 4:0x4004.E000
32/64 位宽 Timer 5:0x4004.F000
GPTM 外设属性 (GPTMPP) 寄存器中的 SIZE 域可识别模块是具有 16/32 位还是 32/64 位宽定时
器。
请注意,在给寄存器编程前必须启用通用定时器模块时钟(请参阅293页 或309页)。在访问任何定时
器模块寄存器前,启用定时器模块时钟后必须有 3 个系统时钟的延迟。
2014 年 01 月 28 日
648
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 11-12. 定时器触发 寄存器映射
偏移量
名称
类型
复位
0x000
GPTMCFG
R/W
0x0000.0000
GPTM 配置寄存器
650
0x004
GPTMTAMR
R/W
0x0000.0000
GPTM Timer A 模式寄存器
651
0x008
GPTMTBMR
R/W
0x0000.0000
GPTM Timer B 模式寄存器
654
0x00C
GPTMCTL
R/W
0x0000.0000
GPTM 控制寄存器
657
0x010
GPTMSYNC
R/W
0x0000.0000
GPTM 同步寄存器
660
0x018
GPTMIMR
R/W
0x0000.0000
GPTM 中断屏蔽寄存器
663
0x01C
GPTMRIS
RO
0x0000.0000
GPTM 原始中断状态寄存器
666
0x020
GPTMMIS
RO
0x0000.0000
GPTM 屏蔽的中断状态寄存器
669
0x024
GPTMICR
W1C
0x0000.0000
GPTM 中断清除寄存器
672
0x028
GPTMTAILR
R/W
0xFFFF.FFFF
GPTM Timer A 间隔加载寄存器
674
0x02C
GPTMTBILR
R/W
-
GPTM Timer B 间隔加载寄存器
675
0x030
GPTMTAMATCHR
R/W
0xFFFF.FFFF
GPTM Timer A 匹配寄存器
676
0x034
GPTMTBMATCHR
R/W
-
GPTM Timer B 匹配寄存器
677
0x038
GPTMTAPR
R/W
0x0000.0000
GPTM Timer A 预分频寄存器
678
0x03C
GPTMTBPR
R/W
0x0000.0000
GPTM Timer B 预分频寄存器
679
0x040
GPTMTAPMR
R/W
0x0000.0000
GPTM TimerA 预分频匹配寄存器
680
0x044
GPTMTBPMR
R/W
0x0000.0000
GPTM TimerB 预分频匹配寄存器
681
0x048
GPTMTAPR
RO
0xFFFF.FFFF
GPTM Timer A 寄存器
682
0x04C
GPTMTBPR
RO
-
GPTM Timer B 寄存器
683
0x050
GPTMTAV
RW
0xFFFF.FFFF
GPTM Timer A 值寄存器
684
0x054
GPTMTBV
RW
-
GPTM Timer B 值寄存器
685
0x058
GPTMRTCPD
RO
0x0000.7FFF
GPTM RTC 预分频寄存器
686
0x05C
GPTMTAPS
RO
0x0000.0000
GPTM Timer A 预分频快照寄存器
687
0x060
GPTMTBPS
RO
0x0000.0000
GPTM Timer B 预分频快照寄存器
688
0x064
GPTMTAPV
RO
0x0000.0000
GPTM Timer A 预分频值寄存器
689
0x068
GPTMTBPV
RO
0x0000.0000
GPTM Timer B 预分频值寄存器
690
0xFC0
GPTMPP
RO
0x0000.0000
GPTM 外设属性寄存器
691
11.6
描述
见页面
寄存器描述
本章的其余部分,按照地址的偏移量递增的顺序描述了GPTM的寄存器。
2014 年 01 月 28 日
649
Texas Instruments-预告信息
通用定时器
寄存器 1: GPTM 配置寄存器(GPTMCFG),偏移量 0x000
该寄存器对 GPTM 模块的全局操作进行配置。写入该寄存器的值决定 GPTM 处于 32 或 64 位模式
(连接定时器)还是处于 16 或 32 位模式(独立、分离定时器)。
重要:
该寄存器中的位应仅在 GPTMCTL 寄存器中的 TAEN 和 TBEN 位清零时发生更改。
GPTM 配置寄存器 (GPTMCFG)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x000
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
保留
类型
复位
保留
类型
复位
RO
0
位/域
名称
类型
复位
31:3
保留
RO
0x0000.000
2:0
GPTMCFG
R/W
0x0
GPTMCFG
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
GPTM配置
GPTMCFG 值的定义如下:
值
0x0
描述
对于 16/32 位定时器,该值选择 32 位定时器配置。
对于 32/64 位宽定时器,该值选择 64 位定时器配置。
0x1
对于 16/32 位定时器,该值选择 32 位实时时钟 (RTC) 计数
器配置。
对于 32/64 位宽定时器,该值选择 64 位实时时钟 (RTC) 计
数器配置。
0x2-0x3 保留
0x4
对于 16/32 位定时器,该值选择 16 位定时器配置。
对于 32/64 位宽定时器,该值选择 32 位定时器配置。
功能由 GPTMTAMR 和 GPTMTBMR 的位 1:0 来控制。
0x5-0x7 保留
2014 年 01 月 28 日
650
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 2: GPTM Timer A 模式寄存器(GPTMTAMR),偏移量 0x004
该寄存器根据 GPTMCFG 寄存器的配置来进一步的配置 GPTM。在 PWM 模式中,将 TAAMS 位
置位,将 TACMR 位清零,并把 TAMR 域配置为 0x1 或 0x2。
该寄存器在 Timer A 独立使用时控制它的模式。在 Timer A 和 Timer B 连接在一起时,该寄存器控
制 Timer A 和 Timer B 的模式,并忽略 GPTMTBMR 的内容。
重要:
该寄存器中的位应仅可在 GPTMCTL 寄存器中的 TAEN 位清零时发生更改。
GPTM Timer A 模式寄存器 (GPTMTAMR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x004
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
7
6
1
保留
类型
复位
RO
0
RO
0
15
14
RO
0
RO
0
13
12
保留
类型
复位
RO
0
RO
0
RO
0
11
TAPLO
RO
0
RO
0
RO
0
RO
0
10
9
TAMRSU TAPWMIE
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
31:12
保留
RO
0x0000.00
11
TAPLO
R/W
0
RO
0
8
TAILD
TASNAPS TAWOT
R/W
0
R/W
0
R/W
0
5
4
3
2
TAMIE
TACDIR
TAAMS
TACMR
R/W
0
R/W
0
R/W
0
R/W
0
0
TAMR
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
GPTM Timer A PWM 传统操作
值 描述
0 定时器达到 0 后重新载入 GPTMTAILR 时,执行 CCP 管脚拉低的
传统操作。
1 定时器达到 0 后重新载入 GPTMTAILR 时,CCP 拉高。
该位仅在 PWM 模式中有效。
10
TAMRSU
R/W
0
GPTM Timer A 匹配寄存器更新
值 描述
0 在下一个时钟周期更新 GPTMTAMATCHR 寄存器和 GPTMTAPR
寄存器(如使用)。
1 在下一次超时时更新 GPTMTAMATCHR 寄存器和 GPTMTAPR 寄
存器(如使用)。
当该位被置位时,如果定时器被禁用(TAEN 清零),则定时器启用时,
GPTMTAMATCHR 和 GPTMTAPR 将更新。如果定时器暂停(TASTALL
置位),GPTMTAMATCHR 和 GPTMTAPR 将根据该位的配置更新。
2014 年 01 月 28 日
651
Texas Instruments-预告信息
通用定时器
位/域
名称
类型
复位
9
TAPWMIE
R/W
0
描述
GPTM Timer A PWM 中断启用
根据 GPTMCTL 寄存器中 TAEVENT 域的定义,在 PWM 模式中,该位
启用在上升沿、下降沿或 CCP 输出的双边沿中断功能。
值 描述
0 捕获事件中断已禁用。
1 捕获事件中断已启用。
该位仅在 PWM 模式中有效。
8
TAILD
R/W
0
GPTM Timer A 间隔加载写操作
值 描述
0 在下一个周期根据 GPTMTAILR 寄存器中的值更新 GPTMTAR 和
GPTMTAV 寄存器。同时在下一个周期根据 GPTMTAPR 寄存器的
值更新 GPTMTAPS和 GPTMTAPV 寄存器。
1 在下一个周期根据 GPTMTAILR 寄存器中的值更新 GPTMTAR 和
GPTMTAV 寄存器。同时在下一次超时时根据 GPTMTAPR 寄存器
的值更新 GPTMTAPS和 GPTMTAPV 寄存器。
请注意该位的状态在递增计数时没有影响。
定时器已启用并正在运行时,适用上面的位描述。当该位被置位时,如
果定时器被禁用(TAEN 清零),则定时器启用时,GPTMTAR、
GPTMTAV、GPTMTAPs、和 GPTMTAPV 将更新。如果定时器暂停
(TASTALL 置位),GPTMTAR 和 GPTMTAPS 将根据该位的配置更
新。
7
TASNAPS
R/W
0
GPTM Timer A 快照模式
值 描述
0 禁用快照模式
1 如果 Timer A 被配置为周期模式,Timer A 的实际自由运行、捕获
或者快照值将在发生超时、捕获或者快照事件时加载到 GPTM Timer
A (GPTMTAR) 寄存器。如果使用了定时器预分频器,将把预分频
器快照载入 GPTM Timer A (GPTMTAPR)。
6
TAWOT
R/W
0
GPTM Timer A 等待触发
值 描述
0 一旦使能马上开始计数
1 如果 Timer A 启用(GPTMCTL 寄存器中的 TAEN 置位),Timer
A 不会马上开始计数,直到它从菊花链中上一个位置的定时器收到
一个触发信号,请参阅图11-9(642页)。这些功能对单次触发、周
期和 PWM 模式都是有效的。
GPTM 0 Timer A的该位必须清零
5
TAMIE
R/W
0
GPTM Timer A 匹配中断启用
值 描述
0 匹配事件的匹配中断已禁用。
1 在单次触发或者周期模式下,当达到 GPTMTAMATCHR 寄存器中
的匹配值时,就会产生中断。
2014 年 01 月 28 日
652
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
4
TACDIR
R/W
0
描述
GPTM Timer A 计数方向
值 描述
0 向下递减计数
1 定时器递增计数。在递增计数时,定时器从 0x0 开始。
在 PWM 或 RTC 模式中时,忽略该位的状态。PWM 模式始终递减计
数,而 RTC 模式始终递增计数。
3
TAAMS
R/W
0
GPTM Timer A 交替模式选择
TAAMS 的值定义如下:
值 描述
0 捕获或者对比模式已启用。
1 使能PWM模式
注意:
2
TACMR
R/W
0
要启用 PWM 模式,必须将 TACMR 位清零并将 TAMR
域配置为 0x1 或 0x2。
GPTM Timer A 捕获模式
TACMR 的值定义如下:
值 描述
0 边沿计数模式
1 边沿定时模式
1:0
TAMR
R/W
0x0
GTPM Timer A 模式寄存器
TAMR 的值定义如下:
值
描述
0x0 保留
0x1 单次触发定时器模式
0x2 周期定时器模式
0x3 捕获模式
定时器模式基于 GPTMCFG 寄存器 2:0 位定义的定时器配置。
2014 年 01 月 28 日
653
Texas Instruments-预告信息
通用定时器
寄存器 3: GPTM Timer B 模式寄存器(GPTMTBMR),偏移量 0x008
该寄存器根据 GPTMCFG 寄存器的配置来进一步的配置 GPTM。在 PWM 模式中,将 TBAMS 位
置位,将 TBCMR 位清零,并配置 TBMR 域为 0x1 或 0x2。
该寄存器在 Timer B 独立使用时控制它的模式。在 Timer A 和 Timer B 连接时,该寄存器将被忽略,
并且 GPTMTAMR 控制 Timer A 和 Timer B 的模式。
重要:
该寄存器中的位应仅可在 GPTMCTL 寄存器中的 TBEN 位清零时发生更改。
GPTM Timer B 模式寄存器 (GPTMTBMR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x008
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
7
6
1
保留
类型
复位
RO
0
RO
0
15
14
RO
0
RO
0
13
12
保留
类型
复位
RO
0
RO
0
RO
0
11
TBPLO
RO
0
RO
0
RO
0
RO
0
10
9
TBMRSU TBPWMIE
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
31:12
保留
RO
0x0000.00
11
TBPLO
R/W
0
RO
0
8
TBILD
TBSNAPS TBWOT
R/W
0
R/W
0
R/W
0
5
4
3
2
TBMIE
TBCDIR
TBAMS
TBCMR
R/W
0
R/W
0
R/W
0
R/W
0
0
TBMR
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
GPTM Timer B PWM 传统操作
值 描述
0 定时器达到 0 后重新载入 GPTMTAILR 时,执行 CCP 管脚拉低的
传统操作。
1 定时器达到 0 后重新载入 GPTMTAILR 时,CCP 拉高。
该位仅在 PWM 模式中有效。
10
TBMRSU
R/W
0
GPTM Timer B 匹配寄存器更新
值 描述
0 在下一个时钟周期更新 GPTMTBMATCHR 寄存器和 GPTMTBPR
寄存器(如使用)。
1 在下一次超时时更新 GPTMTBMATCHR 寄存器和 GPTMTBPR 寄
存器(如使用)。
当该位被置位时,如果定时器被禁用(TBEN 清零),则定时器启用时,
GPTMTBMATCHR 和 GPTMTBPR 将更新。如果定时器暂停(TBSTALL
置位),GPTMTBMATCHR 和 GPTMTBPR 将根据该位的配置更新。
2014 年 01 月 28 日
654
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
9
TBPWMIE
R/W
0
描述
GPTM Timer B PWM 中断启用
根据 GPTMCTL 寄存器中 TBEVENT 域的定义,在 PWM 模式中,该位
启用在上升沿、下降沿或 CCP 输出的双边沿中断功能。
值 描述
0 捕获事件中断已禁用。
1 捕获事件已启用。
该位仅在 PWM 模式中有效。
8
TBILD
R/W
0
GPTM Timer B 间隔加载写操作
值 描述
0 在下一个周期根据 GPTMTBILR 寄存器中的值更新 GPTMTBR 和
GPTMTBV 寄存器。同时在下一个周期根据 GPTMTBPR 寄存器的
值更新 GPTMTBPS和 GPTMTBPV 寄存器。
1 在下一个周期根据 GPTMTBILR 寄存器中的值更新 GPTMTBR 和
GPTMTBV 寄存器。同时在下一次超时时根据 GPTMTBPR 寄存器
的值更新 GPTMTBPS和 GPTMTBPV 寄存器。
请注意该位的状态在递增计数时没有影响。
定时器已启用并正在运行时,适用上面的位描述。当该位被置位时,如
果定时器被禁用(TBEN 清零),则定时器启用时,GPTMTBR、
GPTMTBV、GPTMTBPS 和 GPTMTBPV 将更新。如果定时器暂停
(TBSTALL 置位),GPTMTBR 和 GPTMTBPS 将根据该位的配置更
新。
7
TBSNAPS
R/W
0
GPTM Timer B 快照模式
值 描述
0 禁用快照模式
1 如果 Timer B 被配置为周期模式,Timer B 实际自由运行的值将在
发生超时事件时加载到 GPTM Timer B (GPTMTBR) 寄存器。如果
使用了定时器预分频器,将把预分频器快照载入 GPTM Timer B
(GPTMTBPR)。
6
TBWOT
R/W
0
GPTM 定时器 B 等待触发
值 描述
0 Timer B 一启用就开始计数。
1 如果 Timer B 启用(GPTMCTL 寄存器中的 TBEN 置位),Timer
B 不会马上开始计数,直到它从菊花链中上一个位置的定时器收到
一个触发信号,请参阅图11-9(642页)。这些功能对单次触发、周
期和 PWM 模式都是有效的。
5
TBMIE
R/W
0
GPTM Timer B 匹配中断启用
值 描述
0 匹配事件的匹配中断已禁用。
1 在单次触发或者周期模式下,当达到 GPTMTBMATCHR 寄存器中
的匹配值时,就会产生中断。
2014 年 01 月 28 日
655
Texas Instruments-预告信息
通用定时器
位/域
名称
类型
复位
4
TBCDIR
R/W
0
描述
GPTM Timer B 计数方向
值 描述
0 向下递减计数
1 定时器递增计数。在递增计数时,定时器从 0x0 开始。
在 PWM 或 RTC 模式中时,忽略该位的状态。PWM 模式始终递减计
数,而 RTC 模式始终递增计数。
3
TBAMS
R/W
0
GPTM Timer B 交替模式选择
TBAMS 的值定义如下:
值 描述
0 捕获或者对比模式已启用。
1 使能PWM模式
注意:
2
TBCMR
R/W
0
要启用 PWM 模式,必须将 TBCMR 位清零,并将 TBMR
域配置为 0x1 或 0x2。
GPTM Timer B 捕获模式
TBCMR 的值定义如下:
值 描述
0 边沿计数模式
1 边沿定时模式
1:0
TBMR
R/W
0x0
GTPM Timer B 模式寄存器
TBMR 的值定义如下:
值
描述
0x0 保留
0x1 单次触发定时器模式
0x2 周期定时器模式
0x3 捕获模式
定时器模式基于 GPTMCFG 寄存器 2:0 位定义的定时器配置。
2014 年 01 月 28 日
656
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 4: GPTM 控制寄存器(GPTMCTL),偏移量 0x00C
该寄存器与 GPTMCFG 和 GMTMTnMR 寄存器一起使用,用于对定时器配置进行微调和启用其他
功能,比如定时器停止和输出触发。输出触发器可以用来启动ADC模块上的传输。
重要:
该寄存器中的位应仅在相应定时器的 TnEN 位清零时发生更改。
GPTM 控制寄存器 (GPTMCTL)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x00C
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
保留
TBPWML
TBOTE
保留
RO
0
R/W
0
R/W
0
RO
0
TBSTALL
TBEN
保留
TAPWML
TAOTE
RTCEN
TASTALL
TAEN
R/W
0
R/W
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
类型
复位
TBEVENT
R/W
0
R/W
0
位/域
名称
类型
复位
31:15
保留
RO
0x0000
14
TBPWML
R/W
0
TAEVENT
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
GPTM Timer B PWM 输出水平
TBPWML 的值定义如下:
值 描述
0 输出不受影响
1 输出反向
13
TBOTE
R/W
0
GPTM Timer B输出触发使能
TBOTE 值定义如下:
值 描述
0 Timer B的ADC触发输出被禁止
1 Timer B的ADC触发输出被使能
注意:
要让 ADC 触发信号有效,必须将定时器配置为单次触发
或者周期超时模式。GPTM 并不会为匹配事件、对比事
件或者对比匹配事件产生触发信号。
此外,必须用 ADCEMUX 寄存器中的 EMn 位启用 ADC,并且选择定
时器为触发源(见748页)。
12
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
657
Texas Instruments-预告信息
通用定时器
位/域
名称
类型
复位
描述
11:10
TBEVENT
R/W
0x0
GPTM Timer B事件模式
TBEVENT 的值定义如下:
值
描述
0x0 上升沿
0x1 下降沿
0x2 保留
0x3 双边沿
注意:
9
TBSTALL
R/W
0
如果启用了 PWM 输出反相,将翻转边沿检测中断行为。因
此,如果上升沿中断触发已置位,且 PWM 反相生成上升沿,
将不存在有效的事件触发中断。相反,中断在 PWM 信号的下
降沿生成。
GPTM Timer B停止使能
TBSTALL 的值定义如下:
值 描述
0 当处理器被调试挂起时,Timer B继续计数
1 当处理器被调试挂起时,Timer B停止计数
当处理器正常运行的时候,TBSTALL 位将被忽略。
8
TBEN
R/W
0
GPTM Timer B使能
TBEN 的值定义如下:
值 描述
0 Timer B是禁止的
1 根据 GPTMCFG 寄存器,启用 Timer B 并开始计数或启用捕获逻
辑。
7
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
6
TAPWML
R/W
0
GPTM Timer A的PWM输出电平
TAPWML 的值定义如下:
值 描述
0 输出不受影响
1 输出反向
2014 年 01 月 28 日
658
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
5
TAOTE
R/W
0
描述
GPTM Timer A输出触发使能
TAOTE 值定义如下:
值 描述
0 Timer A的ADC触发输出被禁止
1 Timer A的ADC触发输出被使能
注意:
要让 ADC 触发信号有效,必须将定时器配置为单次触发
或者周期超时模式。GPTM 并不会为匹配事件、对比事
件或者对比匹配事件产生触发信号。
此外,必须用 ADCEMUX 寄存器中的 EMn 位启用 ADC,并且选择定
时器为触发源(见748页)。
4
RTCEN
R/W
0
GPTM RTC 停止启用
RTCEN 的值定义如下:
值 描述
0 当处理器被调试器停止时,RTC 停止计数。
1 当处理器被调试器停止时,RTC 继续计数。
置位后,RTCEN 位可防止所有操作模式下的定时器停止运行,即使
TnSTALL 已置位。
3:2
TAEVENT
R/W
0x0
GPTM Timer A事件模式
TAEVENT 值定义如下:
值
描述
0x0 上升沿
0x1 下降沿
0x2 保留
0x3 双边沿
注意:
1
TASTALL
R/W
0
如果启用了 PWM 输出反相,将翻转边沿检测中断行为。因
此,如果上升沿中断触发已置位,且 PWM 反相生成上升沿,
将不存在有效的事件触发中断。相反,中断在 PWM 信号的下
降沿生成。
GPTM Timer A停止使能
TASTALL 的值定义如下:
值 描述
0 当处理器被调试挂起时,Timer A继续计数
1 当处理器被调试挂起时,Timer A停止计数
当处理器正常运行的时候,TASTALL 位将被忽略。
0
TAEN
R/W
0
GPTM Timer A使能
TAEN 的值定义如下:
值 描述
0 Timer A是禁止的
1 根据 GPTMCFG 寄存器,Timer A 已启用并开始计数,或捕获逻辑
已启用。
2014 年 01 月 28 日
659
Texas Instruments-预告信息
通用定时器
寄存器 5: GPTM 同步寄存器(GPTMSYNC),偏移量 0x010
注意:
仅在 GPTM 模块 0 上执行该寄存器。
该寄存器允许软件同步多个定时器。
GPTM 同步寄存器 (GPTMSYNC)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x010
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
保留
类型
复位
22
SYNCWT5
21
20
19
SYNCWT4
18
17
SYNCWT3
16
SYNCWT2
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
SYNCWT1
类型
复位
23
R/W
0
R/W
0
SYNCWT0
R/W
0
R/W
0
SYNCT5
R/W
0
R/W
0
SYNCT4
R/W
0
SYNCT3
R/W
0
R/W
0
R/W
0
SYNCT2
R/W
0
R/W
0
SYNCT1
R/W
0
R/W
0
SYNCT0
R/W
0
R/W
0
位/域
名称
类型
复位
描述
31:24
保留
RO
0x00
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
23:22
SYNCWT5
R/W
0x0
同步 GPTM 32/64 位 Timer 5
SYNCWT5 值定义如下:
值
描述
0x0 GPTM 32/64 位 Timer 5 未受影响。
0x1 触发 GPTM 32/64 位 Timer 5 的 Timer A 超时事件。
0x2 触发 GPTM 32/64 位 Timer 5 的 Timer B 超时事件。
0x3 触发 GPTM 32/64 位 Timer 5 的 Timer A 和 Timer B 超时事件。
21:20
SYNCWT4
R/W
0x0
同步 GPTM 32/64 位 Timer 4
SYNCWT4 值定义如下:
值
描述
0x0 GPTM 32/64 位 Timer 4 未受影响。
0x1 触发 GPTM 32/64 位 Timer 4 的 Timer A 超时事件。
0x2 触发 GPTM 32/64 位 Timer 4 的 Timer B 超时事件。
0x3 触发 GPTM 32/64 位 Timer 4 的 Timer A 和 Timer B 超时事件。
2014 年 01 月 28 日
660
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
19:18
SYNCWT3
R/W
0x0
同步 GPTM 32/64 位 Timer 3
SYNCWT3 值定义如下:
值
描述
0x0 GPTM 32/64 位 Timer 3 未受影响。
0x1 触发 GPTM 32/64 位 Timer 3 的 Timer A 超时事件。
0x2 触发 GPTM 32/64 位 Timer 3 的 Timer B 超时事件。
0x3 触发 GPTM 32/64 位 Timer 3 的 Timer A 和 Timer B 超时事件。
17:16
SYNCWT2
R/W
0x0
同步 GPTM 32/64 位 Timer 2
SYNCWT2 值定义如下:
值
描述
0x0 GPTM 32/64 位 Timer 2 未受影响。
0x1 触发 GPTM 32/64 位 Timer 2 的 Timer A 超时事件。
0x2 触发 GPTM 32/64 位 Timer 2 的 Timer B 超时事件。
0x3 触发 GPTM 32/64 位 Timer 2 的 Timer A 和 Timer B 超时事件。
15:14
SYNCWT1
R/W
0x0
同步 GPTM 32/64 位 Timer 1
SYNCWT1 值定义如下:
值
描述
0x0 GPTM 32/64 位 Timer 1 未受影响。
0x1 触发 GPTM 32/64 位 Timer 1 的 Timer A 超时事件。
0x2 触发 GPTM 32/64 位 Timer 1 的 Timer B 超时事件。
0x3 触发 GPTM 32/64 位 Timer 1 的 Timer A 和 Timer B 超时事件。
13:12
SYNCWT0
R/W
0x0
同步 GPTM 32/64 位 Timer 0
SYNCWT0 值定义如下:
值
描述
0x0 GPTM 32/64 位 Timer 0 未受影响。
0x1 触发 GPTM 32/64 位 Timer 0 的 Timer A 超时事件。
0x2 触发 GPTM 32/64 位 Timer 0 的 Timer B 超时事件。
0x3 触发 GPTM 32/64 位 Timer 0 的 Timer A 和 Timer B 超时事件。
11:10
SYNCT5
R/W
0x0
同步 GPTM 16/32 位 Timer 5
SYNCT5 值定义如下:
值
描述
0x0 GPTM 16/32 位 Timer 5 未受影响。
0x1 触发 GPTM 16/32 位 Timer 5 的 Timer A 超时事件。
0x2 触发 GPTM 16/32 位 Timer 5 的 Timer B 超时事件。
0x3 触发 GPTM 16/32 位 Timer 5 的 Timer A 和 Timer B 超时事件。
2014 年 01 月 28 日
661
Texas Instruments-预告信息
通用定时器
位/域
名称
类型
复位
描述
9:8
SYNCT4
R/W
0x0
同步 GPTM 16/32 位 Timer 4
SYNCT4 值定义如下:
值
描述
0x0 GPTM 16/32 位 Timer 4 未受影响。
0x1 触发 GPTM 16/32 位 Timer 4 的 Timer A 超时事件。
0x2 触发 GPTM 16/32 位 Timer 4 的 Timer B 超时事件。
0x3 触发 GPTM 16/32 位 Timer 4 的 Timer A 和 Timer B 超时事件。
7:6
SYNCT3
R/W
0x0
同步 GPTM 16/32 位 Timer 3
SYNCT3 值定义如下:
值
描述
0x0 GPTM 16/32 位 Timer 3 未受影响。
0x1 触发 GPTM 16/32 位 Timer 3 的 Timer A 超时事件。
0x2 触发 GPTM 16/32 位 Timer 3 的 Timer B 超时事件。
0x3 触发 GPTM 16/32 位 Timer 3 的 Timer A 和 Timer B 超时事件。
5:4
SYNCT2
R/W
0x0
同步 GPTM 16/32 位 Timer 2
SYNCT2 值定义如下:
值
描述
0x0 GPTM 16/32 位 Timer 2 未受影响。
0x1 触发 GPTM 16/32 位 Timer 2 的 Timer A 超时事件。
0x2 触发 GPTM 16/32 位 Timer 2 的 Timer B 超时事件。
0x3 触发 GPTM 16/32 位 Timer 2 的 Timer A 和 Timer B 超时事件。
3:2
SYNCT1
R/W
0x0
同步 GPTM 16/32 位 Timer 1
SYNCT1 值定义如下:
值
描述
0x0 GPTM 16/32 位 Timer 1 未受影响。
0x1 触发 GPTM 16/32 位 Timer 1 的 Timer A 超时事件。
0x2 触发 GPTM 16/32 位 Timer 1 的 Timer B 超时事件。
0x3 触发 GPTM 16/32 位 Timer 1 的 Timer A 和 Timer B 超时事件。
1:0
SYNCT0
R/W
0x0
同步 GPTM 16/32 位 Timer 0
SYNCT0 值定义如下:
值
描述
0x0 GPTM 16/32 位 Timer 0 未受影响。
0x1 触发 GPTM 16/32 位 Timer 0 的 Timer A 超时事件。
0x2 触发 GPTM 16/32 位 Timer 0 的 Timer B 超时事件。
0x3 触发 GPTM 16/32 位 Timer 0 的 Timer A 和 Timer B 超时事件。
2014 年 01 月 28 日
662
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 6: GPTM 中断屏蔽寄存器(GPTMIMR),偏移量 0x018
该寄存器允许软件启用/禁用 GPTM 控制器级中断。置位时启用相应中断,清零时禁用相应中断。
GPTM 中断屏蔽寄存器 (GPTMIMR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x018
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
TBMIM
RO
0
RO
0
RO
0
RO
0
R/W
0
24
23
22
21
20
19
18
17
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
9
8
7
6
5
4
3
2
1
0
CBEIM
CBMIM
TBTOIM
TAMIM
RTCIM
CAEIM
CAMIM
TATOIM
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:17
保留
RO
0x0000
16
WUEIM
R/W
0
16
WUEIM
保留
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
32/64 位宽 GPTM 写操作更新错误中断屏蔽
WUEIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
15:12
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
11
TBMIM
R/W
0
GPTM Timer B 匹配中断屏蔽
TBMIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
10
CBEIM
R/W
0
GPTM Timer B 捕获模式事件中断屏蔽
CBEIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
2014 年 01 月 28 日
663
Texas Instruments-预告信息
通用定时器
位/域
名称
类型
复位
9
CBMIM
R/W
0
描述
GPTM Timer B 捕获模式匹配中断屏蔽
CBMIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
8
TBTOIM
R/W
0
GPTM Timer B超时中断屏蔽
TBTOIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
7:5
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
4
TAMIM
R/W
0
GPTM Timer A 匹配中断屏蔽
TAMIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
3
RTCIM
R/W
0
GPTM实时时钟中断屏蔽
RTCIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
2
CAEIM
R/W
0
GPTM Timer A 捕获模式事件中断屏蔽
CAEIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
1
CAMIM
R/W
0
GPTM Timer A 捕获模式匹配中断屏蔽
CAMIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
2014 年 01 月 28 日
664
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
TATOIM
R/W
0
描述
GPTM Timer A 超时中断屏蔽
TATOIM 值定义如下:
值 描述
0 中断被禁止
1 中断被使能
2014 年 01 月 28 日
665
Texas Instruments-预告信息
通用定时器
寄存器 7: GPTM 原始中断状态寄存器(GPTMRIS),偏移量 0x01C
该寄存器显示了GPTM内部中断信号的状态。不管是否在 GPTMIMR 寄存器中将中断屏蔽,这些位
都会置位。向 GPTMICR 的某一位写 1 可将其中对应位清零。
注意:
通过 GPTM 控制 (GPTMCTL) 寄存器的 TnEN 位禁用再重新启用定时器不会影响 GPTMRIS
寄存器的状态。如果某个应用程序要求所有或部分状态位在重新启用定时器后不继续保留,
那么在重新启用定时器之前,应通过 GPTMICR 寄存器将 GPTMRIS 寄存器中的相应位清
零。如果未执行该操作,那么一旦重新启用定时器,在 GPTMRIS 寄存器中设置的状态位
和未在 GPTMIMR 寄存器中屏蔽的状态位会产生一个中断信号。
GPTM 原始中断状态寄存器 (GPTMRIS)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x01C
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
保留
类型
复位
RO
0
RO
0
15
14
RO
0
RO
0
13
12
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
TBMRIS
CBERIS
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
CBMRIS TBTORIS
RO
0
位/域
名称
类型
复位
31:17
保留
RO
0x0000
16
WUERIS
R/W
0
RO
0
16
WUERIS
RO
0
RO
0
6
5
保留
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
4
3
2
TAMRIS
RTCRIS
CAERIS
RO
0
RO
0
RO
0
RO
0
R/W
0
1
0
CAMRIS TATORIS
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
32/64 位宽 GPTM 写操作更新错误原始中断状态
值 描述
0 无错误。
1 Timer A 寄存器或 Timer B 寄存器被连续写入两次,或 Timer A 寄
存器在写入相应的 Timer B 寄存器前被写入。
15:12
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
11
TBMRIS
RO
0
GPTM Timer B 匹配原始中断
值 描述
0 匹配值没有到达
1 配置为单次触发或周期模式时,GPTMTBMR 寄存器的 TBMIE 位
被置位,并达到 GPTMTBMATCHR 和(可选)GPTMTBPMR 寄
存器中的匹配值。
通过向 GPTMICR 寄存器中的 TBMCINT 位写 1 来清零该位。
2014 年 01 月 28 日
666
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
10
CBERIS
RO
0
描述
GPTM Timer B 捕获模式事件原始中断
值 描述
0 Timer B 尚未发生捕获模式事件。
1 Timer B 已发生捕获模式事件。子定时器配置为输入边沿计时模式
或配置为 PWM 模式(且通过将 GPTMTBMR 的 TBPWMIE 位置位
而启用 PWM 中断)时,该中断有效。
通过写 1 到 GPTMICR 寄存器的 CBECINT 位可将该位清零。
9
CBMRIS
RO
0
GPTM Timer B 捕获模式匹配原始中断
值 描述
0 Timer B 尚未发生捕获模式匹配。
1 Timer B 已发生捕获模式匹配。配置为输入边沿计时模式时,如果
GPTMTBR 和 GPTMTBPR 中的值与 GPTMTBMATCHR 和
GPTMTBPMR 中的值相同,则该中断有效。
通过写 1 到 GPTMICR 寄存器的 CBMCINT 位可将该位清零。
8
TBTORIS
RO
0
GPTM Timer B超时原始中断
值 描述
0 Timer B 未超时。
1 Timer B 已超时。单次触发或周期模式定时器达到自身的计数限值
(0 或载入 GPTMTBILR 的值,由计数方向决定)时,该中断有
效。
通过写 1 到 GPTMICR 寄存器的 TBTOCINT 位可将该位清零。
7:5
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
4
TAMRIS
RO
0
GPTM Timer A 匹配原始中断
值 描述
0 匹配值没有到达
1 配置为单次触发或周期模式时,GPTMTAMR 寄存器的 TAMIE 位
被置位,并达到 GPTMTAMATCHR 和GPTMTAPMR 寄存器(可
选)中的匹配值。
通过写 1 到 GPTMICR 寄存器的 TAMCINT 位可将该位清零。
3
RTCRIS
RO
0
GPTM实时时钟原始中断
值 描述
0 RTC 事件未发生。
1 RTC 事件已发生。
通过写 1 到 GPTMICR 寄存器的 RTCCINT 位可将该位清零。
2014 年 01 月 28 日
667
Texas Instruments-预告信息
通用定时器
位/域
名称
类型
复位
2
CAERIS
RO
0
描述
GPTM Timer A 捕获模式事件原始中断
值 描述
0 Timer A 尚未发生捕获模式事件。
1 Timer A 已发生捕获模式事件。子定时器配置为输入边沿计时模式
或配置为 PWM 模式(且通过将 GPTMTAMR 的 TAPWMIE 位置位
而启用 PWM 中断)时,该中断有效。
通过写 1 到 GPTMICR 寄存器的 CAECINT 位可将该位清零。
1
CAMRIS
RO
0
GPTM Timer A 捕获模式匹配原始中断
值 描述
0 Timer A 尚未发生捕获模式匹配。
1 Timer A 已发生捕获模式匹配。配置为输入边沿计时模式时,如果
GPTMTAR 和 GPTMTAPR 中的值与 GPTMTAMATCHR 和
GPTMTAPMR 中的值相同,则该中断有效。
通过写 1 到 GPTMICR 寄存器的 CAMCINT 位可将该位清零。
0
TATORIS
RO
0
GPTM Timer A超时中断清除
值 描述
0 Timer A 未超时。
1 Timer A 已超时。单次触发或周期模式定时器达到自身的计数限值
(0 或载入 GPTMTAILR 的值,由计数方向决定)时,该中断有
效。
该位通过写 1 到 GPTMICR 寄存器的 TATOCINT 位来清零。
2014 年 01 月 28 日
668
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 8: GPTM 屏蔽的中断状态寄存器(GPTMMIS),偏移量 0x020
该寄存器显示了GPTM控制器级中断的状态。如果没有在 GPTMIMR 寄存器中将中断屏蔽,并在此
时出现一个使中断有效的事件,那么该寄存器中相应的位将会置位。通过向 GPTMICR 的对应位写
1 可将所有位清零。
GPTM 屏蔽的中断状态寄存器 (GPTMMIS)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x020
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
RO
0
RO
0
RO
0
RO
0
24
23
22
21
20
19
18
17
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
8
7
6
5
4
3
2
1
0
TAMMIS
RTCMIS
RO
0
RO
0
保留
类型
复位
保留
类型
复位
TBMMIS
WUEMIS
CBEMIS CBMMIS TBTOMIS
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:17
保留
RO
0x0000
16
WUEMIS
RO
0
RO
0
16
保留
RO
0
RO
0
RO
0
CAEMIS CAMMIS TATOMIS
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
32/64 位宽 GPTM 写操作更新错误屏蔽中断状态
值 描述
0 未屏蔽的写操作更新错误未发生。
1 未屏蔽的写操作更新错误已发生。
15:12
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
11
TBMMIS
RO
0
GPTM Timer B 匹配屏蔽中断
值 描述
0 匹配值没有到达或中断已经被屏蔽
1 未屏蔽的 Timer B 模式匹配中断
已发生。
通过向 GPTMICR 寄存器中的 TBMCINT 位写 1 来清零该位。
2014 年 01 月 28 日
669
Texas Instruments-预告信息
通用定时器
位/域
名称
类型
复位
10
CBEMIS
RO
0
描述
GPTM Timer B 捕获模式事件屏蔽中断
值 描述
0 捕获器B事件没有发生或中断已经被屏蔽
1 未屏蔽的捕获 B 事件中断
已发生。
通过写 1 到 GPTMICR 寄存器的 CBECINT 位可将该位清零。
9
CBMMIS
RO
0
GPTM Timer B 捕获模式匹配屏蔽中断
值 描述
0 捕获 B 模式匹配值没有到达或中断已经被屏蔽。
1 未屏蔽的捕获 B 匹配中断
已发生。
通过写 1 到 GPTMICR 寄存器的 CBMCINT 位可将该位清零。
8
TBTOMIS
RO
0
GPTM Timer B 超时屏蔽的中断
值 描述
0 捕获器B没有超时或中断已经被屏蔽
1 未屏蔽的 Timer B 超时中断
已发生。
通过写 1 到 GPTMICR 寄存器的 TBTOCINT 位可将该位清零。
7:5
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
4
TAMMIS
RO
0
GPTM Timer A 匹配屏蔽中断
值 描述
0 Timer A 模式匹配值没有到达或中断已经被屏蔽。
1 未屏蔽的 Timer A 模式匹配中断
已发生。
通过写 1 到 GPTMICR 寄存器的 TAMCINT 位可将该位清零。
3
RTCMIS
RO
0
GPTM RTC 屏蔽的中断
值 描述
0 RTC 事件未产生中断,或此中断被屏蔽。
1 未屏蔽的 RTC 事件中断
已发生。
通过写 1 到 GPTMICR 寄存器的 RTCCINT 位可将该位清零。
2014 年 01 月 28 日
670
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
2
CAEMIS
RO
0
描述
GPTM Timer A 捕获模式事件屏蔽中断
值 描述
0 捕获 B 事件没有发生或中断已经被屏蔽。
1 未屏蔽的捕获 A 事件中断
已发生。
通过写 1 到 GPTMICR 寄存器的 CAECINT 位可将该位清零。
1
CAMMIS
RO
0
GPTM Timer A 捕获模式匹配屏蔽中断
值 描述
0 捕获 A 模式匹配值没有到达或中断已经被屏蔽。
1 未屏蔽的捕获 A 匹配中断
已发生。
通过写 1 到 GPTMICR 寄存器的 CAMCINT 位可将该位清零。
0
TATOMIS
RO
0
GPTM Timer A 超时屏蔽的中断
值 描述
0 Timer A 没有超时或中断已经被屏蔽。
1 未屏蔽的 Timer A 超时中断
已发生。
该位通过写 1 到 GPTMICR 寄存器的 TATOCINT 位来清零。
2014 年 01 月 28 日
671
Texas Instruments-预告信息
通用定时器
寄存器 9: GPTM 中断清除寄存器(GPTMICR),偏移量 0x024
该寄存器用来清零 GPTMRIS 和 GPTMMIS 寄存器的状态位。向该寄存器写 1 可清除 GPTMRIS 和
GPTMMIS 中相应的位。
GPTM 中断清除寄存器 (GPTMICR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x024
类型 W1C, 复位 0x0000.0000
31
30
29
28
27
26
25
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
RO
0
RO
0
RO
0
RO
0
24
23
22
21
20
19
18
17
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
8
7
6
5
4
3
2
1
0
保留
类型
复位
保留
类型
复位
WUECINT
TBMCINT CBECINT CBMCINT TBTOCINT
W1C
0
W1C
0
W1C
0
位/域
名称
类型
复位
31:17
保留
RO
0x0000
16
WUECINT
R/W
0
W1C
0
16
保留
RO
0
RO
0
TAMCINT RTCCINT CAECINT CAMCINT TATOCINT
RO
0
W1C
0
W1C
0
W1C
0
W1C
0
W1C
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
32/64 位宽 GPTM 写操作更新错误中断清除
向本标志位写 1,即可将 GPTMRIS 寄存器的 WUERIS 位以及 GPTMMIS
寄存器的 WUEMIS 位清零。
15:12
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
11
TBMCINT
W1C
0
GPTM Timer B 匹配中断清零
该位写 1 可清除 GPTMRIS 寄存器的 TBMRIS 位和 GPTMMIS 寄存器
TBMMIS 位。
10
CBECINT
W1C
0
GPTM Timer B 捕获模式事件中断清零
该位写 1 可清除 GPTMRIS 寄存器的 CBERIS 位和 GPTMMIS 寄存器
CBEMIS 位。
9
CBMCINT
W1C
0
GPTM Timer B 捕获模式匹配中断清零
该位写 1 可清除 GPTMRIS 寄存器的 CBMRIS 位和 GPTMMIS 寄存器
CBMMIS 位。
8
TBTOCINT
W1C
0
GPTM Timer B超时中断清除
该位写 1 可清除 GPTMRIS 寄存器的 TBTORIS 位和 GPTMMIS 寄存器
TBTOMIS位。
7:5
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2014 年 01 月 28 日
672
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
4
TAMCINT
W1C
0
描述
GPTM Timer A 匹配中断清零
该位写 1 可清除 GPTMRIS 寄存器的 TAMRIS 位和 GPTMMIS 寄存器
TAMMIS 位。
3
RTCCINT
W1C
0
GPTM实时时钟中断清除
该位写 1 可清除 GPTMRIS 寄存器的 RTCRIS位和 GPTMMIS 寄存器
RTCMIS位。
2
CAECINT
W1C
0
GPTM Timer A 捕获模式事件中断清零
该位写 1 可清除 GPTMRIS 寄存器的 CAERIS 位和 GPTMMIS 寄存器
CAEMIS 位。
1
CAMCINT
W1C
0
GPTM Timer A 捕获模式匹配中断清零
该位写 1 可清除 GPTMRIS 寄存器的 CAMRIS 位和 GPTMMIS 寄存器
CAMMIS 位。
0
TATOCINT
W1C
0
GPTM Timer A超时中断清除
该位写 1 可清除 GPTMRIS 寄存器的 TATORIS 位和 GPTMMIS 寄存器
TATOMIS 位。
2014 年 01 月 28 日
673
Texas Instruments-预告信息
通用定时器
寄存器 10: GPTM Timer A 间隔加载寄存器(GPTMTAILR),偏移量 0x028
当定时器递减计数时,该寄存器为定时器装载初值。当定时器递增计数时,该寄存器为超时事件设
置上边沿。
当 16/32 位 GPTM 配置为其中一种 32 位模式时,GPTMTAILR 作为 32 位寄存器使用(高 16 位对
应于 GPTM Timer B 间隔加载 (GPTMTBILR) 寄存器的值)。当配置为 16 位时,高 16 位读出来是
0,并且不会影响 GPTMTBILR 寄存器的状态。
当 32/64 位宽 GPTM 配置为其中一种 64 位模式时,GPTMTAILR 包含 64 位计数的 31:0 位,并且
GPTM Timer B 间隔加载 (GPTMTBILR) 寄存器包含 63:32 位。
GPTM Timer A 间隔加载寄存器 (GPTMTAILR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x028
类型 R/W, 复位 0xFFFF.FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
TAILR
类型
复位
TAILR
类型
复位
位/域
名称
类型
31:0
TAILR
R/W
复位
描述
0xFFFF.FFFF GPTM Timer A 间隔加载寄存器
写入该域将为 Timer A 加载计数器,读取该域将返回 GPTMTAILR 寄存
器的当前值。
2014 年 01 月 28 日
674
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 11: GPTM Timer B 间隔加载寄存器(GPTMTBILR),偏移量 0x02C
当定时器递减计数时,该寄存器为定时器装载初值。当定时器递增计数时,该寄存器为超时事件设
置上边沿。
当 16/32 位 GPTM 配置为其中一种 32 位模式时,该寄存器中 15:0 位的内容被加载到 GPTMTAILR
寄存器的高 16 位。读取该寄存器将返回 Timer B 的当前值并且忽略写操作。在 16 位模式中,15:0
位用于加载值。在两种情况下都保留 31:16 位。
当 32/64 位宽 GPTM 配置为其中一种 64 位模式时,GPTMTAILR 包含 64 位计数的 31:0 位,并且
GPTMTBILR 寄存器包含 63:32 位。
GPTM Timer B 间隔加载寄存器 (GPTMTBILR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x02C
类型 R/W, 复位 -
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
1
R/W
1
R/W
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
1
R/W
1
R/W
0
R/W
0
R/W
1
R/W
0
R/W
0
TBILR
类型
复位
TBILR
类型
复位
位/域
名称
类型
复位
31:0
TBILR
R/W
0x0000.FFFF
(适用于
16/32 位)
0xFFFF.FFFF
(适用于
32/64 位)
描述
GPTM Timer B 间隔加载寄存器
写入该域将为 Timer B 加载计数器,读取该域将返回 GPTMTBILR 寄存
器的当前值。
当 16/32 位 GPTM 处于 32 位模式中,写操作被忽略,读操作返回
GPTMTBILR 的当前值。
2014 年 01 月 28 日
675
Texas Instruments-预告信息
通用定时器
寄存器 12: GPTM Timer A 匹配寄存器(GPTMTAMATCHR),偏移量 0x030
该寄存器加载一个匹配值。在单次触发或周期模式中,如果定时器的值等于该寄存器的值则引发一
个中断。
在边沿计数模式中,该寄存器和 GPTMTAILR 寄存器一起记录共有多少个边沿事件发生。检测到的
边沿数等于 GPTMTAILR 的值减去该寄存器里的值。请注意:在边沿计数模式中执行递增计数时,
GPTMTnPR 和 GPTMTnILR 的值必须大于 GPTMTnPMR 和 GPTMTnMATCHR 的值。
在 PWM 模式中,该寄存器与 GPTMTAILR 寄存器一起决定输出信号的占空比。
当 16/32 位 GPTM 配置为其中一种 32 位模式时,GPTMTAMATCHR 作为 32 位寄存器使用(高
16 位对应于 GPTM Timer B 匹配 (GPTMTBMATCHR) 寄存器的值)。当配置为 16 位时,高 16 位
读出来是 0,并且不会影响 GPTMTBMATCHR 寄存器的状态。
当 32/64 位宽 GPTM 配置为其中一种 64 位模式时,GPTMTAMATCHR 包含 64 位匹配值的 31:0
位,并且 GPTM Timer B 匹配 (GPTMTBMATCHR) 寄存器包含 63:32 位。
GPTM Timer A 匹配寄存器 (GPTMTAMATCHR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x030
类型 R/W, 复位 0xFFFF.FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
TAMR
类型
复位
TAMR
类型
复位
位/域
名称
类型
31:0
TAMR
R/W
复位
描述
0xFFFF.FFFF GPTM Timer A 匹配寄存器
该值与 GPTMTAR 寄存器进行比较来确定匹配事件的发生。
2014 年 01 月 28 日
676
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 13: GPTM Timer B 匹配寄存器(GPTMTBMATCHR),偏移量 0x034
该寄存器加载一个匹配值。在单次触发或周期模式中,如果定时器的值等于该寄存器的值则引发一
个中断。
在边沿计数模式中,该寄存器和 GPTMTBILR 寄存器一起记录共有多少个边沿事件发生。检测到的
边沿数等于 GPTMTBILR 的值减去该寄存器里的值。请注意:在边沿计数模式中执行递增计数时,
GPTMTnPR 和 GPTMTnILR 的值必须大于 GPTMTnPMR 和 GPTMTnMATCHR 的值。
在 PWM 模式中,该寄存器与 GPTMTBILR 寄存器一起决定输出信号的占空比。
当 16/32 位 GPTM 配置为其中一种 32 位模式时,该寄存器中 15:0 位的内容被加载到
GPTMTAMATCHR 寄存器的高 16 位。读取该寄存器将返回 Timer B 的匹配值并且忽略写操作。在
16 位模式中,15:0 位用于匹配值。在两种情况下都保留 31:16 位。
当 32/64 位宽 GPTM 配置为其中一种 64 位模式时,GPTMTAMATCHR 包含 64 位匹配值的 31:0
位,并且 GPTMTBMATCHR 寄存器包含 63:32 位。
GPTM Timer B 匹配寄存器 (GPTMTBMATCHR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x034
类型 R/W, 复位 -
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
1
R/W
1
R/W
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
1
R/W
1
R/W
0
R/W
0
R/W
1
R/W
0
R/W
0
TBMR
类型
复位
TBMR
类型
复位
位/域
名称
类型
31:0
TBMR
R/W
复位
描述
0x0000.FFFF GPTM Timer B 匹配寄存器
(适用于
该值与 GPTMTBR 寄存器进行比较来确定匹配事件的发生。
16/32 位)
0xFFFF.FFFF
(适用于
32/64 位)
2014 年 01 月 28 日
677
Texas Instruments-预告信息
通用定时器
寄存器 14: GPTM Timer A 预分频寄存器(GPTMTAPR),偏移量 0x038
该寄存器允许软件扩展独立使用时定时器的范围。在单次触发或周期递减计数模式中,该寄存器用
作定时器计数器的真预分频器。用作真预分频器时,在 GPTMTAR 和 GPTMTAV 寄存器的值递增
前,预分频器计数递减到 0。在所有其他独立/分离模式中,该寄存器是定时器计数器上限范围的一
个线性扩展,在 16/32 位 GPTM 的 16 位模式下包含位 23:16,在 32/64 位宽 GPTM 的 32 位模式
下包含位 47:32。
GPTM Timer A 预分频寄存器 (GPTMTAPR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x038
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
TAPSRH
类型
复位
TAPSR
R/W
0
位/域
名称
类型
复位
31:16
保留
RO
0
15:8
TAPSRH
R/W
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
GPTM Timer A 预分频高字节
寄存器通过写操作载入该值。执行读操作将返回寄存器的当前值。
对于 16/32 位 GPTM,保留该域。对于 32/64 位宽 GPTM,该域包含
16 位预分频器的高 8 位。
详细信息和实例请参考表11-5(634页)。
7:0
TAPSR
R/W
0x00
GPTM Timer A预分频
寄存器通过写操作载入该值。执行读操作将返回寄存器的当前值。
对于 16/32 位 GPTM,该域包含全部 8 位预分频器。对于 32/64 位宽
GPTM,该域包含 16 位预分频器的低 8 位。
详细信息和实例请参考表11-5(634页)。
2014 年 01 月 28 日
678
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 15: GPTM Timer B 预分频寄存器(GPTMTBPR),偏移量 0x03C
该寄存器允许软件扩展独立使用时定时器的范围。在单次触发或周期递减计数模式中,该寄存器用
作定时器计数器的真预分频器。用作真预分频器时,预分频器在 GPTMTBR 和 GPTMTBV 寄存器
的值递增前,计数递减到 0。在所有其他独立/分离模式中,该寄存器是定时器计数器上限范围的一
个线性扩展,在 16/32 位 GPTM 的 16 位模式下包含位 23:16,在 32/64 位宽 GPTM 的 32 位模式
下包含位 47:32。
GPTM Timer B 预分频寄存器 (GPTMTBPR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x03C
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
TBPSRH
类型
复位
TBPSR
R/W
0
位/域
名称
类型
复位
31:16
保留
RO
0
15:8
TBPSRH
R/W
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
GPTM Timer B 预分频高字节
寄存器通过写操作载入该值。执行读操作将返回寄存器的当前值。
对于 16/32 位 GPTM,保留该域。对于 32/64 位宽 GPTM,该域包含
16 位预分频器的高 8 位。
详细信息和实例请参考表11-5(634页)。
7:0
TBPSR
R/W
0x00
GPTM Timer B预分频寄存器
寄存器通过写操作载入该值。执行读操作将返回寄存器的当前值。
对于 16/32 位 GPTM,该域包含全部 8 位预分频器。对于 32/64 位宽
GPTM,该域包含 16 位预分频器的低 8 位。
详细信息和实例请参考表11-5(634页)。
2014 年 01 月 28 日
679
Texas Instruments-预告信息
通用定时器
寄存器 16: GPTM TimerA 预分频匹配寄存器(GPTMTAPMR),偏移量 0x040
该寄存器允许软件扩展在单独使用定时器时 GPTMTAMATCHR 的范围。该寄存器保存 16/32 位
GPTM 的 16 位模式中的 23:16 位以及 32/64 位宽 GPTM 的 32 位模式中的 47:32 位。
GPTM TimerA 预分频匹配寄存器 (GPTMTAPMR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x040
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
TAPSMRH
类型
复位
TAPSMR
R/W
0
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15:8
TAPSMRH
R/W
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
GPTM Timer A 预分频匹配高字节
该值与 GPTMTAMATCHR 一起使用,以便在使用预分频器的情况下检
测定时器匹配事件。
对于 16/32 位 GPTM,保留该域。对于 32/64 位宽 GPTM,该域包含
16 位预分频匹配值的高 8 位。
7:0
TAPSMR
R/W
0x00
GPTM Timer A预分频匹配
该值与 GPTMTAMATCHR 一起使用,以便在使用预分频器的情况下检
测定时器匹配事件。
对于 16/32 位 GPTM,该域包含全部 8 位预分频器匹配值。对于 32/64
位宽 GPTM,该域包含 16 位预分频器匹配值的低 8 位。
2014 年 01 月 28 日
680
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 17: GPTM TimerB 预分频匹配寄存器(GPTMTBPMR),偏移量 0x044
该寄存器允许软件扩展在单独使用定时器时 GPTMTBMATCHR 的范围。该寄存器保存 16/32 位
GPTM 的 16 位模式中的 23:16 位以及 32/64 位宽 GPTM 的 32 位模式中的 47:32 位。
GPTM TimerB 预分频匹配寄存器 (GPTMTBPMR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x044
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
TBPSMRH
类型
复位
TBPSMR
R/W
0
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15:8
TBPSMRH
R/W
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
GPTM Timer B 预分频匹配高字节
该值与 GPTMTBMATCHR 一起使用,以便在使用预分频器的情况下检
测定时器匹配事件。
对于 16/32 位 GPTM,保留该域。对于 32/64 位宽 GPTM,该域包含
16 位预分频匹配值的高 8 位。
7:0
TBPSMR
R/W
0x00
GPTM Timer B预分频匹配寄存器
该值与 GPTMTBMATCHR 一起使用,以便在使用预分频器的情况下检
测定时器匹配事件。
对于 16/32 位 GPTM,该域包含全部 8 位预分频器匹配值。对于 32/64
位宽 GPTM,该域包含 16 位预分频器匹配值的低 8 位。
2014 年 01 月 28 日
681
Texas Instruments-预告信息
通用定时器
寄存器 18: GPTM Timer A 寄存器(GPTMTAPR),偏移量 0x048
在任何情况下该寄存器显示当前 Timer A 计数器的值,输入边沿计数模式的情况除外。在输入边沿
计数模式中,该寄存器记录了已经发生的边沿的个数。在输入边沿计时模式中,该寄存器包含上一
次边沿事件发生的时间。
当 16/32 位 GPTM 配置为其中一种 32 位模式时,GPTMTAR 作为 32 位寄存器使用(高 16 位对应
于 GPTM Timer B (GPTMTBR) 寄存器的值)。在16 位输入边沿计数、输入边沿计时和 PWM 模式
中,15:0 位包含计数器的值,23:16 位包含预分频器高 8 位的值。31:24 位的回读值始终为 0。要
在 16 位单次触发和周期模式中读取预分频器的值,读取 GPTMTAV 寄存器中的 [23:16] 位。在周期
快照模式中,读取 Timer A 预分频快照 (GPTMTAPS) 寄存器可获得预分频器的值。
当 32/64 位宽 GPTM 配置为其中一种 64 位模式时,GPTMTAR 包含 64 位定时器值的 31:0 位并且
GPTM Timer B (GPTMTBR) 寄存器包含 63:32 位。在 32 位模式中,预分频器的值存储在 GPTM
Timer A 预分频快照 (GPTMTAPS) 寄存器中。
GPTM Timer A 寄存器 (GPTMTAPR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x048
类型 RO, 复位 0xFFFF.FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
TAR
类型
复位
TAR
类型
复位
位/域
名称
类型
31:0
TAR
RO
复位
描述
0xFFFF.FFFF GPTM Timer A 寄存器
执行读操作将返回 GPTM Timer A 计数寄存器 的当前值,输入边沿计数
和计时模式的情况除外。在输入边沿计数模式中,该寄存器记录了已经
发生的边沿的个数。在输入边沿计时模式中,该寄存器包含上一次边沿
事件发生的时间。
2014 年 01 月 28 日
682
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 19: GPTM Timer B 寄存器(GPTMTBPR),偏移量 0x04C
在任何情况下该寄存器显示当前 Timer B 计数器的值,输入边沿计数模式的情况除外。在输入边沿
计数模式中,该寄存器记录了已经发生的边沿的个数。在输入边沿计时模式中,该寄存器包含上一
次边沿事件发生的时间。
当 16/32 位 GPTM 配置为其中一种 32 位模式时,该寄存器中 15:0 位的内容被加载到 GPTMTAR
寄存器的高 16 位。读取该寄存器将返回 Timer B 的当前值。在 16 位模式中,15:0 位包含计数器的
值,23:16 位包含输入边沿计数、输入边沿计时和 PWM 模式中中预分频器高 8 位的值。31:24 位的
回读值始终为 0。要在 16 位单次触发和周期模式中读取预分频器的值,应读取 GPTMTBV 寄存器
中的 [23:16] 位。在周期快照模式中,读取 Timer B 预分频快照 (GPTMTBPS) 寄存器可获得预分频
器的值。
当 32/64 位宽 GPTM 配置为其中一种 64 位模式时,GPTMTAR 包含 64 位定时器值的 31:0 位并且
GPTM Timer B (GPTMTBR) 寄存器包含 63:32 位。在 32 位模式中,预分频器的值存储在 GPTM
Timer B 预分频快照 (GPTMTBPS) 寄存器中。
GPTM Timer B 寄存器 (GPTMTBPR)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x04C
类型 RO, 复位 31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
1
RO
1
RO
0
RO
0
RO
1
RO
0
RO
0
RO
1
RO
1
RO
0
RO
0
RO
1
RO
0
RO
0
TBR
类型
复位
TBR
类型
复位
位/域
名称
类型
复位
31:0
TBR
RO
0x0000.FFFF
(适用于
16/32 位)
0xFFFF.FFFF
(适用于
32/64 位)
描述
GPTM Timer B 寄存器
执行读操作将返回 GPTM Timer B 计数寄存器的当前值,输入边沿计数
和计时模式的情况除外。在输入边沿计数模式中,该寄存器记录了已经
发生的边沿的个数。在输入边沿计时模式中,该寄存器包含上一次边沿
事件发生的时间。
2014 年 01 月 28 日
683
Texas Instruments-预告信息
通用定时器
寄存器 20: GPTM Timer A 值寄存器(GPTMTAV),偏移量 0x050
在所有模式下,读取该寄存器返回Timer A自由运行的值。在周期操作模式下配合使用快照特性时,
软件可以根据该值来判断从发生中断到进入 ISR(中断服务程序)之间所用时间。向该寄存器写入
的值将会在下一个时钟周期加载到 GPTMTAR 寄存器里。
当 16/32 位 GPTM 配置为其中一种 32 位模式时,GPTMTAV 作为 32 位寄存器使用(高 16 位对应
于 GPTM Timer B 值 (GPTMTBV) 寄存器的值)。在16 位模式中,15:0 位包含计数器的值,23:16
位包含预分频器当前自由运行的值,该值是输入边沿计数、输入边沿计时、PWM 和单次触发或周
期递增计数模式的计数高 8 位。在单次触发或周期递减计数模式中,存储在 23:16 的预分频器是真
预分频器,即 23:16 位在 15:0 位的值递减之前递减计数。31:24 位预分频器的回读值始终为 0。
当 32/64 位宽 GPTM 配置为其中一种 64 位模式时,GPTMTAV 包含 64 位定时器值的 31:0 位并且
GPTM Timer B 值 (GPTMTBV) 寄存器包含 63:32 位。在 32 位模式中,预分频器的当前自由运行
值存储在 GPTM Timer A 预分频值 (GPTMTAPV) 寄存器.mint 中
GPTM Timer A 值寄存器 (GPTMTAV)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x050
类型 RW, 复位 0xFFFF.FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
TAV
类型
复位
TAV
类型
复位
位/域
名称
类型
31:0
TAV
RW
复位
描述
0xFFFF.FFFF GPTM Timer A值寄存器
在所有模式下,读操作返回 Timer A 当前自由运行的值。向该寄存器写
入的值将会在下一个时钟周期加载到 GPTMTAR 寄存器里。
注意:
在 16 位模式中,仅 GPTMTAV 寄存器的低 16 位可写入新
值。向预分频器位写入值不会产生任何效果。
2014 年 01 月 28 日
684
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 21: GPTM Timer B 值寄存器(GPTMTBV),偏移量 0x054
在所有模式下,读取该寄存器返回 Timer B 当前的自由运行值。软件可以根据该值来判断从发生中
断到响应中断经历的时间。向该寄存器写入的值将会在下一个时钟周期加载到 GPTMTBR 寄存器
里。
当 16/32 位 GPTM 配置为其中一种 32 位模式时,该寄存器中 15:0 位的内容被加载到 GPTMTAV
寄存器的高 16 位。读取该寄存器将返回 Timer B 的当前自由运行值。在 16 位模式中,15:0 位包含
计数器的值,23:16 位包含预分频器当前自由运行的值,该值是输入边沿计数、输入边沿计时、PWM
和单次触发或周期递增计数模式的计数高 8 位。在单次触发或周期递减计数模式中,存储在 23:16
的预分频器是真预分频器,即 23:16 位在 15:0 位的值递减之前递减计数。31:24 位预分频器的回读
值始终为 0。
当 32/64 位宽 GPTM 配置为其中一种 64 位模式时,GPTMTBV 包含 64 位定时器值的 63:32 位,
GPTM Timer A 值 (GPTMTAV) 寄存器包含 31:0 位。在 32 位模式中,预分频器的当前自由运行值
存储在 GPTM Timer B 预分频值 (GPTMTBPV) 寄存器中。
GPTM Timer B 值寄存器 (GPTMTBV)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x054
类型 RW, 复位 31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
RW
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
0
RW
0
RW
1
RW
1
RW
0
RW
0
RW
1
RW
0
RW
0
RW
1
RW
1
RW
0
RW
0
RW
1
RW
0
RW
0
TBV
类型
复位
TBV
类型
复位
位/域
名称
类型
复位
31:0
TBV
RW
0x0000.FFFF
(适用于
16/32 位)
0xFFFF.FFFF
(适用于
32/64 位)
描述
GPTM Timer B值寄存器
在所有模式下,读操作返回 Timer A 当前自由运行的值。向该寄存器写
入的值将会在下一个时钟周期加载到 GPTMTAR 寄存器里。
注意:
在 16 位模式中,仅 GPTMTBV 寄存器的低 16 位可写入新
值。向预分频器位写入值不会产生任何效果。
2014 年 01 月 28 日
685
Texas Instruments-预告信息
通用定时器
寄存器 22: GPTM RTC 预分频寄存器(GPTMRTCPD),偏移量 0x058
定时器在 RTC 模式中运行时,该寄存器提供当前的 RTC 预分频器值。软件必须通过连续读取
GPTMTAR、GPTMTBR 和 GPTMRTCPD 寄存器执行原子访问。请参见图11-2(636页)了解更多
信息。
GPTM RTC 预分频寄存器 (GPTMRTCPD)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x058
类型 RO, 复位 0x0000.7FFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
保留
类型
复位
RTCPD
类型
复位
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15:0
RTCPD
RO
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
0x0000.7FFF RTC 预分频计数器值
定时器在 RTC 模式中运行时的当前 RTC 预分频器值。该域在其他定时
器模式中无意义。
2014 年 01 月 28 日
686
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 23: GPTM Timer A 预分频快照寄存器(GPTMTAPS),偏移量 0x05C
对于 32/64 位宽 GPTM,该寄存器显示 32 位模式中 Timer A 预分频器的当前值。对于 16/32 位宽
GPTM,该寄存器显示周期快照模式中 Timer A 预分频器的当前值。
GPTM Timer A 预分频快照寄存器 (GPTMTAPS)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x05C
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
PSS
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
PSS
RO
0x0000
GPTM Timer A 预分频器快照
执行读操作将返回 GPTM Timer A 预分频器当前值。
2014 年 01 月 28 日
687
Texas Instruments-预告信息
通用定时器
寄存器 24: GPTM Timer B 预分频快照寄存器(GPTMTBPS),偏移量 0x060
对于 32/64 位宽 GPTM,该寄存器显示 32 位模式中 Timer B 预分频器的当前值。对于 16/32 位宽
GPTM,该寄存器显示周期快照模式中 Timer B 预分频器的当前值。
GPTM Timer B 预分频快照寄存器 (GPTMTBPS)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x060
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
PSS
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
PSS
RO
0x0000
GPTM Timer A 预分频器值
执行读操作将返回 GPTM Timer A 预分频器当前值。
2014 年 01 月 28 日
688
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 25: GPTM Timer A 预分频值寄存器(GPTMTAPV),偏移量 0x064
对于 32/64 位宽 GPTM,该寄存器显示 32 位模式中 Timer A 预分频器的当前自由运行值。结合
GPTMTAV 寄存器,软件可以使用该值来判断从发生中断到响应中断经历的时间。该寄存器不适用
于 16/32 位 GPTM 模式。
GPTM Timer A 预分频值寄存器 (GPTMTAPV)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x064
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
PSV
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
PSV
RO
0x0000
GPTM Timer A 预分频器值
执行读操作将返回 Timer A 寄存器的当前自由运行值。
2014 年 01 月 28 日
689
Texas Instruments-预告信息
通用定时器
寄存器 26: GPTM Timer B 预分频值寄存器(GPTMTBPV),偏移量 0x068
对于 32/64 位宽 GPTM,该寄存器显示 32 位模式中 Timer B 预分频器的当前自由运行值。结合
GPTMTBV 寄存器,软件可以使用该值来判断从发生中断到响应中断经历的时间。该寄存器不适用
于 16/32 位 GPTM 模式。
GPTM Timer B 预分频值寄存器 (GPTMTBPV)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0x068
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
PSV
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
PSV
RO
0x0000
GPTM Timer B 预分频器值
执行读操作将返回 Timer A 寄存器的当前自由运行值。
2014 年 01 月 28 日
690
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 27: GPTM 外设属性寄存器(GPTMPP),偏移量 0xFC0
GPTMPP 寄存器提供关于通用定时器模块属性的信息。
GPTM 外设属性寄存器 (GPTMPP)
16/32 位Timer 0 基址: 0x4003.0000
16/32 位Timer 1 基址: 0x4003.1000
16/32 位Timer 2 基址: 0x4003.2000
16/32 位Timer 3 基址: 0x4003.3000
16/32 位Timer 4 基址: 0x4003.4000
16/32 位Timer 5 基址: 0x4003.5000
32/64 位宽 Timer 0 基址: 0x4003.6000
32/64 位宽 Timer 1 基址: 0x4003.7000
32/64 位宽 Timer 2 基址: 0x4004.C000
32/64 位宽 Timer 3 基址: 0x4004.D000
32/64 位宽 Timer 4 基址: 0x4004.E000
32/64 位宽 Timer 5 基址: 0x4004.F000
偏移量 0xFC0
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
SIZE
位/域
名称
类型
复位
31:4
保留
RO
0
3:0
SIZE
RO
0x0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
计数大小
值 描述
0 Timer A 和 Timer B 计数器为 16 位,各自具有 8 位预分频计数器。
1 Timer A 和 Timer B 计数器为 32 位,各自具有 16 位预分频计数
器。
2014 年 01 月 28 日
691
Texas Instruments-预告信息
看门狗定时器
12
看门狗定时器
达到超时值时,看门狗定时器会发出不可屏蔽中断 (NMI)、常规中断或者复位信号。当系统由于软
件错误或是由于因外部设备故障而无法按预期的方式响应的时候,使用看门狗定时器可以重新获得
控制权。TM4C1231D5PM 微控制器有两个看门狗定时器模块,一个模块使用系统时钟计时(看门
狗 定时器 0),另一个模块使用 PIOSC 计时(看门狗 定时器 1)。这两个模块是相同的,只是
WDT1 在不同的时钟域,因此需要同步器。因此,WDT1 在看门狗定时器控制寄存器 (WDTCTL) 里
有一个位用来说明 WDT1 寄存器写操作何时完成。在开始新的访问之前可通过该位来确保上一次的
访问已经结束。
TM4C1231D5PM 控制器有两个具有如下特性的看门狗定时器模块:
■ 32位递减并且可编程装载的寄存器
■ 独立的看门狗时钟使能
■ 带中断屏蔽功能和可选 NMI 功能的可编程中断产生逻辑
■ 软件跑飞时保护锁定寄存器
■ 复位使能/禁止产生逻辑
■ 调试期间,微控制器的 CPU 暂停时,用户可启用的停滞
看门狗定时器可以配置为第一次超时的时候产生中断通知CPU,在第二次超时的时候产生一个重启
信号。配置好看门狗定时器后,即可写入锁定寄存器,从而防止定时器配置被意外更改。
2014 年 01 月 28 日
692
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
12.1
结构框图
图 12-1. WDT模块的结构图
WDTLOAD
控制/时钟/中断
产生
WDTCTL
WDTICR
中断/NMI
WDTRIS
32 位倒数 计数器
WDTMIS
0x0000.0000
WDTLOCK
系统时钟/PIOSC
WDTTEST
比较器
WDTVALUE
标识寄存器
12.2
WDTPCellID0
WDTPeriphID0
WDTPeriphID4
WDTPCellID1
WDTPeriphID1
WDTPeriphID5
WDTPCellID2
WDTPeriphID2
WDTPeriphID6
WDTPCellID3
WDTPeriphID3
WDTPeriphID7
功能说明
看门狗定时器有一个32为的计数器,当它使能后开始递减计数,当递减到0后就会产生第一个超时信
号;在计数器使能后看门狗定时器的中断同时也被使能。使用 WDTCTL 寄存器的 INTTYPE 位可以
将看门狗的中断配置为不可屏蔽中断 (NMI)。在第一次超时后,32 位计数器重新装载看门狗定时器
装载寄存器 (WDTLOAD) 的值,并从该值开始恢复递减计数。一旦看门狗定时器被配置后,看门狗
定时器锁定寄存器 (WDTLOCK) 被写入,从而防止软件意外更改看门狗定时器的配置。
如果在第一次超时中断被清除以前,计数器又递减到 0,并且看门狗定时器将控制寄存器 WDTCTL
里的 RESEN 位置位,使能了复位信号,看门狗定时器将把复位信号通知给系统。如果第二次超时
发生之时,第一次超时中断已经清除,32 位计数器将会重新装载 WDTLOAD 寄存器里的值,并从
该值开始恢复计数。
如果看门狗定时器正在计数的时候向 WDTLOAD 寄存器写入新值,计数器将会装载新值,并继续计
数。
写 WDTLOAD 寄存器并不清除活动的中断。中断必须通过向看门狗中断清除寄存器 (WDTICR) 写
入来专门清除。
2014 年 01 月 28 日
693
Texas Instruments-预告信息
看门狗定时器
看门狗的中断和复位信号可以根据需要来使能或禁止。当中断重新使能后,32位计数器将会预装载
装载寄存器的值,而不是从它最后的状态开始计数。
复位后,看门狗定时器将默认被禁用。要对设备实现最大程度的看门狗保护,可在复位向量一开始
就启用看门狗定时器。
12.2.1
寄存器访问间隙
因为看门狗定时器1(WDT1)模块具有一个独立的时钟域,所有在两次访问寄存器的时候要有一些时
间间隙。软件必须保证,在连续的写入寄存器或是连续的读写寄存器操作之间插入足够的延时。
WDT1对于连续的读寄存器的操作之间则没有限制。针对 WDT1 的看门狗控制寄存器 (WDTCTL)
WRC 位表明所需时间差已过。WRC位表明了软件是否可以开始安全的读或写寄存器。软件在访问
另一个寄存器之前必须查询 WDTCTL 寄存器的 WRC 位是否为 1。注意:WDT0没有该限制,因为
它是运行在系统时钟下的。
12.3
初始化和配置
要使用 WDT,必须对看门狗定时器运行模式时钟门控控制寄存器 (RCGCWD) 中的 Rn 位进行置
位,从而启用外设时钟,请参考292页。
看门狗定时器通过如下步骤来配置:
1. 为 WDTLOAD 寄存器装入所需的定时器负载值。
2. 如果是 WDT1,则等待 WDTCTL 寄存器的 WRC 位被置位。
3. 如果看门狗被配置为触发系统复位,则将 WDTCTL 寄存器里 RESEN 位置位。
4. 如果是 WDT1,则等待 WDTCTL 寄存器的 WRC 位被置位。
5. 将 WDTCTL 寄存器的 INTEN 位置位来使能看门狗,使能中断,并锁定控制寄存器。
如果软件需要锁定所有的看门狗寄存器,则写任意值到 WDTLOCK 寄存器便可以完全锁定看门狗定
时器模块。如要要解锁看门狗寄存器,则需要向WDTLOCK寄存器写入0x1ACC.E551。
要维护看门狗,需要定期将计数值重新载入 WDTLOAD 寄存器以重启计数。如果看门狗维护不及
时,可通过 WDTCTL 寄存器中的 INTEN 位启用中断,让处理器尝试实施纠正操作。如果使用 ISR
无法恢复故障,可置位 WDTCTL 中的 RESEN 位来复位系统。
12.4
寄存器映射
表 12-1(694页)列出了看门狗寄存器。所列偏移量是寄存器地址相对于看门狗定时器基址的 16 进
制增量,该定时器基址为:
■ WDT0:0x4000.0000
■ WDT1:0x4000.1000
注意:必须先启用看门狗定时器模块的时钟,然后才能配置寄存器(请参阅292页)。
表 12-1. 看门狗定时器 寄存器映射
偏移量
名称
类型
复位
描述
见页面
0x000
WDTLOAD
R/W
0xFFFF.FFFF
看门狗加载寄存器
696
0x004
WDTVALUE
RO
0xFFFF.FFFF
看门狗当前值寄存器
697
2014 年 01 月 28 日
694
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 12-1. 看门狗定时器 寄存器映射(续)
偏移量
名称
类型
复位
0x008
WDTCTL
R/W
0x0000.0000
(WDT0)
0x8000.0000
(WDT1)
0x00C
WDTICR
WO
-
0x010
WDTRIS
RO
0x014
WDTMIS
0x418
描述
见页面
看门狗控制寄存器
698
看门狗中断清除寄存器
700
0x0000.0000
看门狗原始中断状态寄存器
701
RO
0x0000.0000
看门狗可屏蔽中断状态寄存器
702
WDTTEST
R/W
0x0000.0000
看门狗测试寄存器
703
0xC00
WDTLOCK
R/W
0x0000.0000
看门狗锁定寄存器
704
0xFD0
WDTPeriphID4
RO
0x0000.0000
看门狗外设标识寄存器 4
705
0xFD4
WDTPeriphID5
RO
0x0000.0000
看门狗外设标识寄存器 5
706
0xFD8
WDTPeriphID6
RO
0x0000.0000
看门狗外设标识寄存器 6
707
0xFDC
WDTPeriphID7
RO
0x0000.0000
看门狗外设标识寄存器 7
708
0xFE0
WDTPeriphID0
RO
0x0000.0005
看门狗外设标识寄存器 0
709
0xFE4
WDTPeriphID1
RO
0x0000.0018
看门狗外设标识寄存器 1
710
0xFE8
WDTPeriphID2
RO
0x0000.0018
看门狗外设标识寄存器 2
711
0xFEC
WDTPeriphID3
RO
0x0000.0001
看门狗外设标识寄存器 3
712
0xFF0
WDTPCellID0
RO
0x0000.000D
看门狗 PrimeCell 标识寄存器 0
713
0xFF4
WDTPCellID1
RO
0x0000.00F0
看门狗 PrimeCell 标识寄存器 1
714
0xFF8
WDTPCellID2
RO
0x0000.0006
看门狗 PrimeCell 标识寄存器 2
715
0xFFC
WDTPCellID3
RO
0x0000.00B1
看门狗 PrimeCell 标识寄存器 3
716
12.5
寄存器描述
在本章剩余的部分,按寄存器偏移地址递增的顺序列出了看门狗定时器的寄存器,并详细描述了它
们。
2014 年 01 月 28 日
695
Texas Instruments-预告信息
看门狗定时器
寄存器 1: 看门狗加载寄存器(WDTLOAD),偏移量 0x000
该寄存器是32位的计数器的32位间隔值。当该寄存器被写入的时候,该值立即被装载并从新值开始
递减计数。当 WDTLOAD 寄存器的值装载为 0x0000.0000 时,会立即产生一个中断。
看门狗加载寄存器 (WDTLOAD)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0x000
类型 R/W, 复位 0xFFFF.FFFF
31
30
29
28
27
26
25
24
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
15
14
13
12
11
10
9
8
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
23
22
21
20
19
18
17
16
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
7
6
5
4
3
2
1
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
WDTLOAD
类型
复位
WDTLOAD
类型
复位
位/域
名称
类型
31:0
WDTLOAD
R/W
复位
R/W
1
描述
0xFFFF.FFFF 看门狗装载值
2014 年 01 月 28 日
696
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 2: 看门狗当前值寄存器(WDTVALUE),偏移量 0x004
该寄存器装载着定时器当前的值。
看门狗当前值寄存器 (WDTVALUE)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0x004
类型 RO, 复位 0xFFFF.FFFF
31
30
29
28
27
26
25
24
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
15
14
13
12
11
10
9
8
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
23
22
21
20
19
18
17
16
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
7
6
5
4
3
2
1
0
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
RO
1
WDTVALUE
类型
复位
WDTVALUE
类型
复位
位/域
名称
类型
31:0
WDTVALUE
RO
复位
RO
1
描述
0xFFFF.FFFF 看门狗定时器当前值寄存器
32位递减计数器的当前值。
2014 年 01 月 28 日
697
Texas Instruments-预告信息
看门狗定时器
寄存器 3: 看门狗控制寄存器(WDTCTL),偏移量 0x008
该寄存器是看门狗控制寄存器。看门狗可以产生复位信号(在第二次超时)或在超时时产生中断。
如果对 INTEN 位进行置位,从而启用了看门狗中断,之后对 INTEN 位的所有写入操作都将被忽略。
只有两种方式能重新启用对该位的写入:硬件复位,或通过设置看门狗定时器软件复位寄存器 (SRWD)
的相应位来进行软件复位。
重要:
因为看门狗定时器1(WDT1)模块具有一个独立的时钟域,所有在两次访问寄存器的时候
要有一些时间间隙。软件必须保证,在连续的写入寄存器或是连续的读写寄存器操作之
间插入足够的延时。WDT1对于连续的读寄存器的操作之间则没有限制。针对 WDT1 的
看门狗控制寄存器 (WDTCTL) WRC 位表明所需时间差已过。WRC位表明了软件是否
可以开始安全的读或写寄存器。软件在访问另一个寄存器之前必须查询 WDTCTL 寄存
器的 WRC 位是否为 1。注意:WDT0 没有该限制,因为它运行在系统时钟下,因此没
有 WRC 位。
看门狗控制寄存器 (WDTCTL)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0x008
类型 R/W, 复位 0x0000.0000 (WDT0) 和 0x8000.0000 (WDT1)
31
30
29
28
27
26
25
24
WRC
类型
复位
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
保留
RO
1
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
3
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31
WRC
RO
1
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
2
1
0
INTTYPE
RESEN
INTEN
R/W
0
R/W
0
R/W
0
描述
写入操作完成
WRC 值定义如下:
值 描述
0 未产生此中断
1 产生了接收FIFO读取错误中断。
注意:
30:3
保留
RO
0x000.000
2
INTTYPE
R/W
0
该位是为 WDT0 保留的,其复位值为 0。
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗中断类型
INTTYPE 值定义如下:
值 描述
0 看门狗定时器中断为标准中断。
1 看门狗定时器中断为不可屏蔽中断。
2014 年 01 月 28 日
698
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
1
RESEN
R/W
0
描述
看门狗复位使能
RESEN 值定义如下:
值 描述
0 禁止
1 使能看门狗复位输出
0
INTEN
R/W
0
看门狗中断使能
INTEN 值定义如下:
值 描述
0 禁用中断事件。该位一旦置位,只能由硬件复位或软件复位清零,
其中软件复位需要通过设置看门狗定时器软件复位寄存器 (SRWD)
的相应位来触发。
1 启用中断事件。一旦启用,所有的写入操作都会被忽略。
将该位置位可使能看门狗定时器。
2014 年 01 月 28 日
699
Texas Instruments-预告信息
看门狗定时器
寄存器 4: 看门狗中断清除寄存器(WDTICR),偏移量 0x00C
该寄存器是中断清除寄存器。向该寄存器写入任何值都将清除看门狗中断,并且 32 位计数器将从
WDTLOAD 寄存器重新载入数据。在发生看门狗超时中断时写该寄存器,可以让系统进入看门狗中
断服务。读取或复位后该寄存器的值时不确定的。
注意:
使用 WDTLOCK 寄存器锁定看门狗寄存器不会影响 WDTICR 寄存器,并且允许随时处理
中断请求。因此,在任何时候写 WDTICR 寄存器会清除 WDTMIS 寄存器,并且 32 位计数
器将从 WDTLOAD 寄存器重新载入数据。WDTICR 寄存器只有在中断被触发且需要进入中
断服务时才能写入。
看门狗中断清除寄存器 (WDTICR)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0x00C
类型 WO, 复位 31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
WDTINTCLR
类型
复位
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
15
14
13
12
11
10
9
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
8
7
6
5
4
3
2
1
0
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
WDTINTCLR
类型
复位
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
WO
-
位/域
名称
类型
复位
31:0
WDTINTCLR
WO
-
WO
-
WO
-
描述
清除看门狗中断。
向该寄存器写入任何值都将清除看门狗中断,并且 32 位计数器将从
WDTLOAD 寄存器重新载入数据。在发生看门狗超时中断时写该寄存
器,可以让系统进入看门狗中断服务。读取或复位后该寄存器的值时不
确定的。
2014 年 01 月 28 日
700
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 5: 看门狗原始中断状态寄存器(WDTRIS),偏移量 0x010
该寄存器是看门狗的原始中断状态寄存器。如果中断被屏蔽了,可以通过该寄存器来监视看门狗的
中断事件。
看门狗原始中断状态寄存器 (WDTRIS)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0x010
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:1
保留
RO
0x0000.000
0
WDTRIS
RO
0
RO
0
WDTRIS
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗原始中断状态
值 描述
1 看门狗超时事件已经发生。
0 看门狗没有到达超时
2014 年 01 月 28 日
701
Texas Instruments-预告信息
看门狗定时器
寄存器 6: 看门狗可屏蔽中断状态寄存器(WDTMIS),偏移量 0x014
该寄存器是看门狗屏蔽后的中断状态寄存器。该寄存器的值是原始中断位和看门狗中断启用位逻辑
与运算的结果。
看门狗可屏蔽中断状态寄存器 (WDTMIS)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0x014
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:1
保留
RO
0x0000.000
0
WDTMIS
RO
0
RO
0
WDTMIS
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗屏蔽后的中断状态
值 描述
1 看门狗超时事件已经向中断控制器发出信号
0 看门狗没有到达超时或是中断已经被屏蔽
2014 年 01 月 28 日
702
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 7: 看门狗测试寄存器(WDTTEST),偏移量 0x418
进行调试期间,当微控制器使CPU的暂停(Halt)标志有效时的暂停操作(stalling)可由用户通过该寄存
器来控制使能。
看门狗测试寄存器 (WDTTEST)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0x418
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
RO
0
STALL
位/域
名称
类型
复位
31:9
保留
RO
0x0000.00
8
STALL
R/W
0
R/W
0
保留
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗停滞使能
值 描述
1 如果微控制器因为调试而停止工作,则看门狗定时器停止计数。一
旦微控制器重新启动,看门狗定时器也会恢复计数。
0 如果控制器因为调试停止,看门狗不会停止,将继续计数
7:0
保留
RO
0x00
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
703
Texas Instruments-预告信息
看门狗定时器
寄存器 8: 看门狗锁定寄存器(WDTLOCK),偏移量 0xC00
向 WDTLOCK 寄存器写入 0x1ACC.E551 允许对其它所有寄存器执行写操作。在 WDTLOCK 寄存
器中写入其它任意值则寄存器再次锁定,不能对所有其它寄存器执行写操作,但看门狗测试
(WDTTEST) 寄存器除外。锁定状态将在 2 个时钟周期后生效。读取 WDTLOCK 寄存器会返回锁定
的状态,而不是写入的 32 位值。因此,当写入访问被禁止时,读取 WDTLOCK 寄存器将返回
0x0000.0001(这是在已锁定的情况下;否则,返回的值为 0x0000.0000 [未锁定])。
看门狗锁定寄存器 (WDTLOCK)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xC00
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
15
14
13
12
11
10
9
8
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
23
22
21
20
19
18
17
16
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
WDTLOCK
类型
复位
WDTLOCK
类型
复位
位/域
名称
类型
31:0
WDTLOCK
R/W
复位
R/W
0
描述
0x0000.0000 看门狗中锁定寄存器
写入值 0x1ACC.E551 可解除对看门狗寄存器的写入访问锁定。写入其
它任何值会重新应用锁定,防止对寄存器进行更新,但 WDTTEST 寄存
器除外。看门狗寄存器锁定时,可避免写 WDTTEST 寄存器。
读取该寄存器返回值具有如下的含义
值
描述
0x0000.0001 锁定
0x0000.0000 未锁定
2014 年 01 月 28 日
704
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 9: 看门狗外设标识寄存器 4(WDTPeriphID4),偏移量 0xFD0
WDTPeriphIDn 寄存器均为硬编码寄存器,寄存器的位域决定复位值。
看门狗外设标识寄存器 4 (WDTPeriphID4)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFD0
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
PID4
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID4
RO
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗外设标识寄存器[7:0]
2014 年 01 月 28 日
705
Texas Instruments-预告信息
看门狗定时器
寄存器 10: 看门狗外设标识寄存器 5(WDTPeriphID5),偏移量 0xFD4
WDTPeriphIDn 寄存器均为硬编码寄存器,寄存器的位域决定复位值。
看门狗外设标识寄存器 5 (WDTPeriphID5)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFD4
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
PID5
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID5
RO
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗外设标识寄存器[15:8]
2014 年 01 月 28 日
706
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 11: 看门狗外设标识寄存器 6(WDTPeriphID6),偏移量 0xFD8
WDTPeriphIDn 寄存器均为硬编码寄存器,寄存器的位域决定复位值。
看门狗外设标识寄存器 6 (WDTPeriphID6)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFD8
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
PID6
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID6
RO
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
WDT 外设标识寄存器 [23:16]
2014 年 01 月 28 日
707
Texas Instruments-预告信息
看门狗定时器
寄存器 12: 看门狗外设标识寄存器 7(WDTPeriphID7),偏移量 0xFDC
WDTPeriphIDn 寄存器均为硬编码寄存器,寄存器的位域决定复位值。
看门狗外设标识寄存器 7 (WDTPeriphID7)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFDC
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
PID7
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID7
RO
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗外设标识寄存器[31:24]
2014 年 01 月 28 日
708
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 13: 看门狗外设标识寄存器 0(WDTPeriphID0),偏移量 0xFE0
WDTPeriphIDn 寄存器均为硬编码寄存器,寄存器的位域决定复位值。
看门狗外设标识寄存器 0 (WDTPeriphID0)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFE0
类型 RO, 复位 0x0000.0005
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
0
RO
1
保留
类型
复位
保留
类型
复位
PID0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID0
RO
0x05
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗外设标识寄存器 [7:0]
2014 年 01 月 28 日
709
Texas Instruments-预告信息
看门狗定时器
寄存器 14: 看门狗外设标识寄存器 1(WDTPeriphID1),偏移量 0xFE4
WDTPeriphIDn 寄存器均为硬编码寄存器,寄存器的位域决定复位值。
看门狗外设标识寄存器 1 (WDTPeriphID1)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFE4
类型 RO, 复位 0x0000.0018
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
1
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
PID1
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID1
RO
0x18
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗外设标识寄存器 [15:8]
2014 年 01 月 28 日
710
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 15: 看门狗外设标识寄存器 2(WDTPeriphID2),偏移量 0xFE8
WDTPeriphIDn 寄存器均为硬编码寄存器,寄存器的位域决定复位值。
看门狗外设标识寄存器 2 (WDTPeriphID2)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFE8
类型 RO, 复位 0x0000.0018
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
1
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
PID2
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID2
RO
0x18
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗外设标记寄存器 [23:16]
2014 年 01 月 28 日
711
Texas Instruments-预告信息
看门狗定时器
寄存器 16: 看门狗外设标识寄存器 3(WDTPeriphID3),偏移量 0xFEC
WDTPeriphIDn 寄存器均为硬编码寄存器,寄存器的位域决定复位值。
看门狗外设标识寄存器 3 (WDTPeriphID3)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFEC
类型 RO, 复位 0x0000.0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
保留
类型
复位
保留
类型
复位
PID3
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID3
RO
0x01
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗外设标识寄存器 [31:24]
2014 年 01 月 28 日
712
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 17: 看门狗 PrimeCell 标识寄存器 0(WDTPCellID0),偏移量 0xFF0
WDTPCellIDn 寄存器均为硬编码寄存器,寄存器内的位域决定了复位值。
看门狗 PrimeCell 标识寄存器 0 (WDTPCellID0)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFF0
类型 RO, 复位 0x0000.000D
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
1
RO
0
RO
1
保留
类型
复位
保留
类型
复位
CID0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID0
RO
0x0D
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗PrimeCell标识寄存器[7:0]
2014 年 01 月 28 日
713
Texas Instruments-预告信息
看门狗定时器
寄存器 18: 看门狗 PrimeCell 标识寄存器 1(WDTPCellID1),偏移量 0xFF4
WDTPCellIDn 寄存器为硬编码,寄存器内的位域决定了复位值。
看门狗 PrimeCell 标识寄存器 1 (WDTPCellID1)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFF4
类型 RO, 复位 0x0000.00F0
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
1
RO
1
RO
1
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
CID1
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID1
RO
0xF0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗PrimeCell标识寄存器[15:8]
2014 年 01 月 28 日
714
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 19: 看门狗 PrimeCell 标识寄存器 2(WDTPCellID2),偏移量 0xFF8
WDTPCellIDn 寄存器为硬编码,寄存器内的位域决定了复位值。
看门狗 PrimeCell 标识寄存器 2 (WDTPCellID2)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFF8
类型 RO, 复位 0x0000.0006
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
1
RO
0
保留
类型
复位
保留
类型
复位
CID2
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID2
RO
0x06
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗 PrimeCell 标识寄存器 [23:16]
2014 年 01 月 28 日
715
Texas Instruments-预告信息
看门狗定时器
寄存器 20: 看门狗 PrimeCell 标识寄存器 3(WDTPCellID3),偏移量 0xFFC
WDTPCellIDn 寄存器为硬编码,寄存器内的位域决定了复位值。
看门狗 PrimeCell 标识寄存器 3 (WDTPCellID3)
WDT0 基址: 0x4000.0000
WDT1 基址: 0x4000.1000
偏移量 0xFFC
类型 RO, 复位 0x0000.00B1
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
0
RO
1
RO
1
RO
0
RO
0
RO
0
RO
1
保留
类型
复位
保留
类型
复位
CID3
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID3
RO
0xB1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
看门狗PrimeCell标识寄存器[31:24]
2014 年 01 月 28 日
716
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
13
模-数转换器(ADC)
模-数转换器(ADC)是一种能够将连续的模拟电压信号转换为离散的数字量的外设。包含两个完全
相同的转换器模块,它们共用 12 个输入通道。
该 TM4C1231D5PM ADC 模块的转换分辨率为 12 位,并提供 12 个输入通道和一个内部温度传感
器。每个 ADC 模块都包含 4 个可编程的序列发生器,无需控制器干预即可自动完成对多个模拟输
入源的采样。每个采样序列发生器都可灵活配置其输入源、触发事件、中断的产生、序列发生器的
优先级等内容。此外,还可选择将转换结果转移给数字比较器模块。每个 ADC 模块提供 8 个 数字
比较器。每个数字比较器模块内置16 路数字比较器,每路数字比较器均可将 ADC 转换结果数值与
2 个由用户定义的门限值进行比较,以确定信号的工作范围。ADC0 和 ADC1 可各自采用不同的触
发源,也可采用相同的触发源;可各自采用不同的模拟输入端,也可采用同一模拟输入端。ADC模
块内部还具有移相器,可将采样开始时间(采样点)延后指定的相角。因此当两个ADC模块同时工
作时,其采样点既可以配置为同相工作,也可以配置为相互错开一定的相角,详见 “采样相位控
制”(721页)。
该 TM4C1231D5PM微处理器提供 2 个 ADC 模块,每个模块都具有以下特性:
■ 12 个共用模拟输入通道
■ 12 位精度的 ADC
■ 可配置为单端输入或差分输入;
■ 片上内置温度传感器
■ 1M 次/秒的采样率
■ 可选的移相器,采样点以采样周期计可延后 22.5° 到 337.5°
■ 4 个可编程的采样转换序列发生器,序列长度 1 到 8 个单元不等,且各自带有相应长度的转换结
果 FIFO
■ 灵活的转换触发控制:
– 控制器(软件)触发
– 定时器触发
– 模拟比较器触发
– GPIO
■ 硬件可对多达 64 个采样值进行平均计算
■ 八个数字比较器
■ 模拟部分的电源/地与数字部分的电源/地相互独立
■ 用微型直接内存访问 (µDMA) 有效的传输数据
– 每个采样序列发生器各自有专用的通道
– ADC 模块的 DMA 操作均采用猝发请求
2014 年 01 月 28 日
717
Texas Instruments-预告信息
模-数转换器(ADC)
13.1
结构框图
该 TM4C1231D5PM 微控制器内置两个相同的模数转换器 (ADC) 模块。这两个模块(ADC0 和
ADC1)共用相同的 12 个模拟输入通道。两个ADC模块的工作相互独立,因此可同时执行不同的采
样序列、随时对任一模拟输入通道进行采样、并各自产生不同的中断和触发事件。图13-1(718页)
显示了这两个 ADC 模块是如何与模拟输入端以及系统总线连接的。
图 13-1. 两个 ADC 模块的连接结构图
ADC 0
触发器
输入通道
中断/ 触发
ADC 1
中断/ 触发
图13-2(718页) 显示了 ADC 模块中控制寄存器及数据寄存器的内部配置情况。
图 13-2. ADC模块框图
VDDA/GNDA
触发事件
比较器
GPIO
定时器
PWM
比较器
GPIO
定时器
PWM
SS3
SS2
控制/状态
ADCSSEMUX0
ADCOSTAT
ADCSSCTL0
ADCUSTAT
ADCSSFSTAT0
模数 转换器
模拟输入
(AINx)
ADCSSPRI
ADCPP
SS1
ADCSSMUX0
ADCACTSS
ADCSPC
比较器
GPIO
定时器
PWM
采样 序列发生器
0
采样 序列发生器
1
ADCPC
ADCSSMUX1
ADCTSSEL
ADCSSEMUX1
ADCCC
ADCSSCTL1
硬件平均器
ADCSAC
ADCSSFSTAT1
比较器
GPIO
定时器
PWM
采样 序列发生器
2
SS0
ADCSSMUX2
ADCSSEMUX2
ADCEMUX
ADCPSSI
SS0 中断
SS1 中断
SS2 中断
SS3 中断
数字 比较器
FIFO 模块
ADCSSCTL2
ADCSSFSTAT2
中断控制
ADCIM
ADCRIS
ADCISC
采样 序列发生器
3
ADCSSMUX3
ADCSSOPn
ADCSSFIFO0
ADCSSDCn
ADCSSFIFO1
ADCDCCTLn
ADCSSFIFO2
ADCDCCMPn
ADCSSFIFO3
ADCDCRIC
ADCSSEMUX3
ADCSSCTL3
ADCSSFSTAT3
DC 中断
ADCDCISC
PWM 触发器
13.2
信号描述
下表列出了与 ADC 模块相关的所有外部信号并逐一描述其功能。AINx 信号是某些 GPIO 信号的模
拟功能。表中“复用管脚/赋值”一列是各ADC信号所对应的GPIO管脚。这些信号的配置方式为:将
2014 年 01 月 28 日
718
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
GPIO 数字输入使能 (GPIODEN) 寄存器中相应的 DEN 位清零,并将 GPIO 模拟模式选择
(GPIOAMSEL) 寄存器中相应的 AMSEL 位置位。有关如何配置 GPIO 的更多信息,请参阅“通用输
入/输入端口(GPIOs)”(575页)。
表 13-1. ADC 信号 (64LQFP)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
AIN0
6
PE3
I
模拟
模数转换器输入0。
AIN1
7
PE2
I
模拟
模数转换器输入1。
AIN2
8
PE1
I
模拟
模数转换器输入2。
AIN3
9
PE0
I
模拟
模数转换器输入3。
AIN4
64
PD3
I
模拟
模数转换器输入4。
AIN5
63
PD2
I
模拟
模数转换器输入5。
AIN6
62
PD1
I
模拟
模数转换器输入6。
AIN7
61
PD0
I
模拟
模数转换器输入7。
AIN8
60
PE5
I
模拟
模数转换器输入8。
AIN9
59
PE4
I
模拟
模数转换器输入9。
AIN10
58
PB4
I
模拟
模数转换器输入10。
AIN11
57
PB5
I
模拟
模数转换器输入11。
a. TTL 表示管脚的电压水平与 TTL 一致。
13.3
功能说明
该 TM4C1231D5PM ADC 通过使用一种基于序列的可编程方法来收集采样数据,取代了许多传统
ADC 模块使用的单次采样或双采样的方法。每个采样序列(Sample Sequence)均由一组编程的连
续(背靠背)采样组成,因此 ADC 模块可以自动从多个输入源采集数据,无需处理器对其重新配置
或进行干预。采样序列中的每个采样动作都可灵活编程,可配置的参数包括选择输入源和输入模式
(单端输入或差分输入)、采样结束时是否产生中断、是否是队列中最后一个采样动作的标识符等
等。此外,若结合 μDMA 工作,ADC模块能够更加高效地从采样序列中获取数据,同时无需 CPU
进行任何干预。
13.3.1
采样序列发生器
采样控制和数据采集都是由采样序列发生器(Sample Sequencer,简写为SS)处理的。所有序列
发生器的实现方法都是相同的,区别仅在于能够捕捉的采样数以及FIFO深度有所不同。表
13-2(719页) 给出了每个序列发生器可捕获的最大采样数及其相对应的 FIFO 深度。捕捉到的每个
采样都要存入 FIFO 中。在本实现方案中,每个 FIFO 单元均为一个 32 位的字,低 12 位包含的是
转换结果。
表 13-2. 采样序列发生器的采样数和 FIFO 深度
序列发生器
采样数
FIFO 深度
SS3
1
1
SS2
4
4
SS1
4
4
SS0
8
8
对于指定的采样序列,若以 n 代表其序号,则采样序列 n 中的每个采样动作分别以 ADC 采样序列
输入多路复用器选择 (ADCSSMUXn)、 及 ADC 采样序列控制 (ADCSSCTLn) 中的 1 个半字节予以
定义。该 ADCSSMUXn 用于选择输入管脚,而 ADCSSCTLn 包含采样控制位,这些控制位分别与
2014 年 01 月 28 日
719
Texas Instruments-预告信息
模-数转换器(ADC)
参数(例如,温度传感器的选择、中断启用、序列末端和差分输入模式)对应。采样序列发生器可
以通过置位 ADC活动采样序列发生器 (ADCACTSS) 寄存器中相应的 ASENn 位进行启用,但也可
以在启用之前进行配置。软件可通过置位 ADC 处理器采样序列启动 (ADCPSSI) 寄存器的 SSn 位
来启动采样。此外,在配置各个 ADC 模块时,通过设置 ADCPSSI 寄存器的 GSYNC 和 SYNCWAIT
位同时启动多个 ADC 模块的采样序列。关于这些配置位的详细信息,请参阅 756页。
配置采样序列时,允许同一序列中的多个采样动作对同一输入端进行采样。ADCSSCTLn 寄存器中
的 IEn 位可针对任意采样动作组合置位,如此可在必要时允许在采样序列的每个采样动作后产生中
断。同样,END 位也可在采样序列的任意时刻置位。举例来说,假设使用采样序列 0,那么可在与
第 5 个采样动作相关的半字中将 END 位置位,从而使采样序列 0 在完成第 5 个采样动作后结束整
个采样序列。
当采样序列执行结束后,可从 ADC 采样序列结果 FIFO (ADCSSFIFOn) 寄存器中读取采样结果数
据。ADC模块的FIFO均为简单的环型缓冲区,反复读取同一地址(ADCSSFIFOn)即可依次“弹出”
结果数据。为了方便软件调试,通过 ADC 采样序列 FIFO 状态 (ADCSSFSTATn) 寄存器可查询到
FIFO 头指针和尾指针的位置以及 FULL 和 EMPTY 状态标志。如果 FIFO 已满,再进行写操作时,
该写操作会失败,该 FIFO 会出现上溢状况。通过 ADCOSTAT 和 ADCUSTAT 寄存器可监控上溢
和下溢状态。
13.3.2
模块控制
控制逻辑单元中除采样序列发生器的剩余部分负责执行以下任务:
■ 中断的产生
■ DMA 操作
■ 采样序列按优先级执行
■ 触发事件的配置
■ 比较器的配置
■ 采样相位控制
■ 模块计时
大多数的 ADC 控制逻辑都以 16 MHz 的 ADC 时钟速率运行。当系统 XTAL 选择 PLL 时,硬件将
自动配置内部的 ADC 分频器,以便按照 16 MHz 频率工作。
13.3.2.1
中断信号
采样序列发生器和数字比较器数字比较器的寄存器配置可以监控产生原始中断的事件,但对中断是
否真正发送给中断控制器没有控制权。ADC 模块是否产生中断信号是由 ADC 中断掩码 (ADCIM) 寄
存器的 MASK 位决定的。中断状态可以从以下两个位置查询:ADC 原始中断状态寄存器(ADCRIS)
显示各个中断信号的原始状态;ADC中断及清除寄存器(ADCISC)显示经 ADCIM 寄存器启用后的
实际中断状态。通过向 ADCISC 对应的 IN 位写 1 来清除中断。请注意,数字比较器中断不是通过
本寄存器清除的,而是通过向 ADC 数字比较器中断状态及清除寄存器 (ADCDCISC) 的对应位写 1
来清除的。
13.3.2.2
DMA 操作
如果使用 DMA,则每个采样序列发生器能够独立工作,无需微控制器干预或重新配置即可传输数
据,从而提高了效率。每个采样序列发生器都可向 μDMA 控制器中相关的专用通道发送请求。ADC
不支持单次的传输请求。当采样序列的中断标志置位时(ADCSSCTLn 寄存器的 IE 位置位)产生猝
发传输请求。
2014 年 01 月 28 日
720
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
μDMA 传输的仲裁大小必须是 2 的整数幂,并且 ADCSSCTLn 寄存器的相关 IE 位必须置位。例如,
若 SS0 的 μDMA 通道大小为 4,那么必须将 IE3(第 4 个采样动作)和 IE7(第 8 个采样动作)置
位。因此,每 4 个采样动作后会触发 1 次 μDMA 请求。除此之外不需要其它特殊步骤,ADC 模块
已经能够进行 μDMA 工作。
关于 μDMA 控制器编程的更多信息,请参阅 “微型直接存储器访问(μDMA)”(512页)。
13.3.2.3
优先级
当同时发生多个采样事件(触发条件)时,将按照 ADC 采样序列器优先级 (ADCSSPRI) 寄存器中
的值对它们进行排序和依次处理。优先级的有效值为0~3,其中0代表最高优先级、3代表最低优先
级。如果多个活动的采样序列具有相同的优先级,将导致转换结果数据不连续,因此软件必须确保
当前活动的所有采样序列各自具有唯一的优先级。
13.3.2.4
采样事件
每个采样序列发生器的采样触发条件均通过 ADC 事件多路复用器选择 (ADCEMUX) 寄存器予以定
义。触发事件源包括处理器触发(默认)、模拟比较器触发、GPIO ADC 控制 (GPIOADCCTL) 寄
存器指定的 GPIO 外部信号触发、通用定时器触发、以及持续采样触发。软件可以将 ADC 处理器
采样序列启动 (ADCPSSI) 的 SSx 位置位来启动采样序列。
配置持续采样触发条件时务必慎重。假如某个采样序列的优先级过高,可能导致其它低优先级采样
序列始终无法运行。通常,要将使用连续采样模式的采样序列器设置位最低优先级。当输入接口上
的电压达到了某一特定值,连续采样可以和数字比较器配合使用以产生中断。
13.3.2.5
采样相位控制
ADC0 和 ADC1 可各自采用不同的触发源,也可采用相同的触发源;可各自采用不同的模拟输入端,
也可采用同一模拟输入端。假如两个转换器以相同的采样率工作,其采样点既可以配置为同相,也
可以配置为相互错开一定的相角(可实现15种离散的相位差)。采样点延后的相位通过 ADC 采样
相位控制 (ADCSPC) 寄存器按 22.5° 逐步递增,最大可递增至 337.5°。图13-3(721页) 显示了 1
Msps 采样率时各种不同的相位关系示例。
图 13-3. ADC 采样相位
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ADC 采样时钟
相位 0x0 (0.0°)
相位 0x1 (22.5°)
.
.
.
.
.
.
.
.
.
.
.
.
相位 0xE (315.0°)
相位 0xF (337.5°)
借助此功能可让单个输入通道实现双倍采样率。将ADC0和ADC1模块配置为采用同一个输入通道,
ADC0 模块可以按照标准相位采样(ADCSPC 寄存器的 PHASE = 0)。ADC1 模块可以配置为延后
180° 相位采样(PHASE = 0x8)。通过 ADC 处理器采样序列启动 (ADCPSSI) 寄存器的 GSYNC
和 SYNCWAIT 位可以将两个模块配置位同步运行。然后由软件将来自两个模块的结果数据进行组
合,就能在 16 MHz (参见 图13-4(722页))工作频率下实现 1M 的采样率。
2014 年 01 月 28 日
721
Texas Instruments-预告信息
模-数转换器(ADC)
图 13-4. ADC 采样率倍增
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ADC 采样时钟
GSYNC
ADC 0 相位 0x0 (0.0°)
ADC 1 相位 0x8 (180.0°)
使用 ADCSPC 寄存器,ADC0 和 ADC1 还能实现许多有趣的应用:
■ 不同信号的同步持续采样。两个转换器的采样序列同相进行。
– ADC 模块 0,ADCSPC = 0x0,采样 AIN0
– ADC 模块 1,ADCSPC = 0x0,采样 AIN1
■ 同一信号的交错采样。两个模块的采样序列交错进行异相采样,当采样率为 1 Msps 时,交错时
间为 0.5 µs。在软件将转换结果进行交错组合时,如 图13-5(722页) 所示,此配置可将单个输
入通道的转换带宽加倍。
– ADC 模块 0,ADCSPC = 0x0,采样 AIN0
– ADC 模块 1,ADCSPC = 0x8,采样 AIN0
图 13-5. 交错采样
ADC0
ADC1
13.3.2.6
S1
S2
S1
S3
S2
S4
S3
S5
S4
S6
S5
S7
S6
S8
S7
S8
模块计时
该模块由一个 16-MHz 的时钟计时,该时钟可通过分频的 PLL 输出、PIOSC 或连接到 MOSC 的外
部信号(PLL 处于旁路模式)获得。PLL 工作时,ADC 时钟通过 PLL ÷ 25 得到(默认)。但是,
PIOSC 可用于使用 ADC 时钟配置 (ADCCC) 寄存器的模块时钟。要将 PIOSC 用作 ADC 的时钟源,
首先应给 PLL 上电,然后通过 ADCCC 寄存器的 CS 位域启用 PIOSC,再禁用 PLL。PLL 处于旁
路模式时,连接到 MOSC 的模块时钟源时钟必须为 16 MHz,除非该时钟源使用 PIOSC。要将
MOSC 用作 ADC 的时钟源,首先应给 PLL 上电,然后启用 ADC 模块的时钟,再禁用 PLL,最后
2014 年 01 月 28 日
722
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
将系统时钟切换至 MOSC。如果 PIOSC 是 ADC 模块的时钟源,则 ADC 模块可以继续以深度睡眠
模式工作。
系统时钟的频率必须与 ADC 时钟相同或更高。让所有 ADC 模块使用相同的时钟源有助于在多个转
换设备间同步数据采样。可通过 ADCCC 寄存器的 ADC0 对时钟源进行选择和编程。ADC 模块无
法以不同的转换速率运行。
13.3.2.7
繁忙状态
ADCACTSS 寄存器的 BUSY 位用于指示 ADC 目前正在紧张地执行转换。如果当前周期或者后面若
干周期不存在可启动新转换的触发条件挂起,BUSY 位将为 0。在向模数转换器运行模式时钟门控
控制 (RCGCADC) 寄存器写入数据以禁用 ADC 时钟之前,软件必须确认 BUSY 位已清零
13.3.2.8
启用抖动
ADCCTL 寄存器中的 DITHER 位用来减少 ADC 采样时的随机噪音,并将 ADC 运行保持在
“Analog-to-Digital Converter (ADC)”(1058页) 定义的具体性能限制内。在用 ADC 模块采集多个持
续样本时,应启用 ADCCTL 寄存器中的 DITHER 位,以及 ADC 采样平均控制 (ADCSAC) 寄存器
中的硬件均分功能。复位时,DITHER 位将默认被禁用。
13.3.3
硬件采样平均电路
启用硬件采样平均电路可以获得更高的精度,与此同时付出的代价是吞吐率将成比例地降低。硬件
采样平均电路最高可将64次采样结果累加并计算出平均值,以平均值作为单次采样的数据写入序列
发生器FIFO的1个单元中。由于是算术平均值,因此吞吐率与求平均值的采样数目成反比。例如,
若取16次采样进行平均值计算,那么吞吐率将降为1/16。
默认情况下,硬件采样平均电路是关闭的,转换器捕捉的所有数据直接送入序列发生器的FIFO中。
进行平均计算的硬件由 ADC采样平均控制 (ADCSAC) 寄存器进行控制(见 758页)。每个ADC模块
只有一个平均电路,不论单端输入还是差分输入都会被执行相同的求平均值操作。
图13-6 中显示一个实例。在该实例中,ADCSAC 寄存器设置为 0x2 以进行 4x 硬件过采样;IE1 被
置位以提供采样队列;第 2 个平均值储存进 FIFO 后,将产生中断信号。
2014 年 01 月 28 日
723
Texas Instruments-预告信息
模-数转换器(ADC)
图 13-6. 采样平均的实例
A+B+C+D
4
A+B+C+D
4
INT
13.3.4
模-数转换器
模-数转换器(ADC)模块采用逐次逼近寄存器(Successive Approximation Register,简写为SAR)
架构实现低功耗、高精度的12位A/D转换。该逐次逼近架构使用开关电容阵列执行两种功能:采集
和保持信号,提供 12 位 DAC 操作。
图13-7 显示 ADC 输入端等效框图;参数值请参考 “Analog-to-Digital Converter (ADC)”(1058页)。
2014 年 01 月 28 日
724
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 13-7. ADC 输入端等效框图
Tiva™ Microcontroller
Zs
Rs
VS
Input PAD
Equivalent
Circuit
ESD clamps
to GND only
RADC
Pin
Cs
VADCIN
ZADC
5V ESD
Clamp
12‐bit
SAR ADC
Converter
12‐bit
Word
IL
Pin
Input PAD
Equivalent
Circuit
Pin
Input PAD
Equivalent
Circuit
RADC
RADC
CADC
ADC模块同时从3.3V模拟电源和1.2V数字电源取电。在不要求 ADC 转换精度时,可以将 ADC 时钟
配置为低功耗(请参阅 “系统控制”(199页))。模拟信号通过特殊的平衡输入通道连接到 ADC,尽
量减少输入信号的失真和串扰。关于 ADC 模块供电及模拟输入的详细信息,请参阅 “Analog-to-Digital
Converter (ADC)”(1058页)。
13.3.4.1
参考电压
ADC 使用内部信号 VREFP 和 VREFN 作为参考电压源,以对选定的模拟输入电压进行转换。VREFP
连接到 VDDA 而 VREFN 连接到 GNDA,如 图13-8 所示。
图 13-8. ADC 参考电压
VDDA
GNDA
VDDA
VREFP
VREFN
GNDA
ADC
2014 年 01 月 28 日
725
Texas Instruments-预告信息
模-数转换器(ADC)
转换值的范围为 0x000~0xFFF。在单端输入模式下,0x000 对应于 VREFN 上的电平;0xFFF 对应
于 VREFP 上的电平。通过这样的配置,分辨率就可以使用以下等式计算:
mV per ADC code = (VREFP - VREFN) / 4096
虽然模拟输入管脚能够处理超出此范围的电压,但为了确保结果精确,模拟输入电源必须处于表
21-32(1058页) 规定的限制范围以内。图13-9(726页) 中示出了 ADC 转换值与输入模拟电压的函
数关系。
图 13-9. ADC 转换结果
0xFFF
0xC00
0x800
R
EF
P
-V
EF
P
(V
¾
½
R
EF
(V
R
R
(V
¼
VIN
VR
)
EF
N
N
EF
P
EF
P
-V
-V
R
R
VR
EF
EF
N
)
)
N
0x400
- 输入饱和
13.3.5
差分采样
除了传统的单端采样,ADC模块还支持对两个模拟输入通道进行差分采样。要启用差分采样功能,
软件必须在某个采样步骤的配置半字节中将 ADCSSCTL0n 寄存器的 Dn 位置位。
若采样序列中某个采样动作配置为差分采样,必须在 ADCSSMUXn 寄存器中配置输入的差分信号
对。差分信号对 0 对模拟输入端 0 和 1 进行采样,差分信号对 1 对模拟输入端 2 和 3 进行采样,依
此类推(见 表13-3(727页))。ADC 不支持差分信号对的随意组合,如模拟输入端 0 和模拟输入
端 3 无法作为一对差分信号输入。
2014 年 01 月 28 日
726
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 13-3. 差分采样对
差分信号对
模拟输入
0
0和1
1
2和3
2
4和5
3
6和7
4
8和9
5
10 和 11
差分模式下采样电压是奇数通道与偶数通道电压的差值:
■ 正向输入电压:VIN+ = VIN_EVEN(偶数通道电压)
■ 负向输入电压:VIN- = VIN_ODD(奇数通道电压)
差分输入电压定义为:VIND = VIN+ - VIN-,因此:
■ 若 VIND = 0,则转换结果 = 0x800
■ 若 VIND > 0,则转换结果 > 0x800(范围是 0x800~0xFFF)
■ 若 VIND < 0,则转换结果 < 0x800(范围是 0–0x800)
使用差分采样时,还需考虑以下定义:
■ 输入共模电压:VINCM = (VIN+ + VIN-) / 2
■ 正向参考电压:VREFP
■ 负向参考电压:VREFN
■ 差分参考电压:VREFD = VREFP - VREFN
■ 参考共模电压:VREFCM = (VREFP + VREFN) / 2
差分模式具备以下条件时效果最佳:
■ VIN_EVEN 和 VIN_ODD 必须在(VREFP 至 VREFN)范围内,否则无法得到有效的转换结果
■ 最大可能的差分输入摆幅或最大的差分范围为:-VREFD 至 +VREFD,因此最大的峰峰差分输入
信号为 (+VREFD - -VREFD) = 2 * VREFD= 2 * (VREFP - VREFN)
■ 为了利用最大可能的差分输入摆幅,VINCM 应非常接近 VREFCM,请参考 表21-32(1058页)。
如果 VINCM 不等于 VREFCM,那么在最大或最小电压下,差分输入信号可能减弱,(这是因为任何
单端输入都不能大于 VREFP 或小于 VREFN),而且无法实现全摆幅。因此输入电压和参考电压之
间的任何共模差异都会限制 ADC 的差分动态范围。
由于最大的峰峰差分信号电压为 2 * (VREFP - VREFN),ADC 读数表示为:
mV per ADC code = (2 *(VREFP - VREFN)) / 4096
图13-10 显示如何通过 ADC 读数来表示差分电压 ∆V。
2014 年 01 月 28 日
727
Texas Instruments-预告信息
模-数转换器(ADC)
图 13-10. 差分电压表达式
0xFFF
0x800
-(VREFP - VREFN)
0
VREFP - VREFN
V
- 输入饱和
13.3.6
内部温度传感器
温度传感器的主要作用有两个:1) 内部温度过高或过低时,向系统给予提示。2) 提供温度测试方法
来校准休眠模块 RTC 调整值。
温度传感器没有单独的启用/禁用操作,因为它还关系到带隙参考电压的产生,必须始终启用。该参
考电压不仅提供给 ADC 模块,还需要提供给其它所有模拟模块。此外,该温度传感器还带有 3.3 V
的辅助掉电输入功能,可以由休眠模块进行控制。
内部温度传感器将温度测量值转换为电压。此电压值 VTSENS 可以通过以下公式得出(其中 TEMP
指温度,单位 °C):
VTSENS = 2.7 - ((TEMP + 55) / 75)
这种关系如图13-11(729页) 所示。
2014 年 01 月 28 日
728
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 13-11. 内部温度传感器特性
VTSENS
VTSENS = 2.7 V – (TEMP+55)
75
2.5 V
1.633 V
0.833 V
-40° C
25° C
85° C
温度
通过将 ADCSSCTLn 中的 TSn 位置位,即可在采样队列中得到温度感应器的读数。也可以从温度
传感器的ADC结果通过函数转换得到温度读数。以下公式根据 ADC 读数(ADCCODE,定义为 0 至
4095 的一个不带正负号的十进制数)和最大的 ADC 电压范围 (VREFP - VREFN) 计算温度(TEMP,
单位 ℃):
TEMP = 147.5 - ((75 * (VREFP - VREFN) × ADCCODE) / 4096)
13.3.7
数字比较器
ADC通常用于对外部信号采样并监控其数值的变动,确保其保持在给定的范围内。为了实现此监控
过程的自动化、减少所需的处理器开销,ADC 模块内置有 每个模块提供 8 个数字比较器。
ADC 转换结果可直接发送给数字比较器,与用户编程的门限进行比较。门限通过 ADC 数字比较器
范围寄存器(ADCDCCMPn)配置。ADC 可配置为根据 ADC 是在低值带、中值带还是高值带(可
在 ADCDCCMPn 位域进行配置)运行而生成中断。另外可将数字比较器的 4 种工作模式(单次触
发,持续触发,迟滞单次触发,迟滞持续触发)应用于中断配置。
13.3.7.1
输出功能
取决于 ADC 采样序列 n 操作 (ADCCSOPn) 寄存器中的 SnDCOP 位的设置,ADC 转换结果可以保
存到 ADC 采样序列 FIFO 中,也可以供给数字比较器进行比较。选定的ADC转换结果将被其对应的
数字比较器用于监控外部信号。每个数字比较器可以有两种输出功能:处理器中断或 PWM 触发事
件。
每种输出功能都有其状态机对被监控的信号实施追踪。中断功能和触发事件功能既可以分别使能,
也可以同时使能;两种功能将根据同一转换数据判断其条件是否已经满足、并据此产生相应的输出。
中断信号
将 ADC 数字比较器控制寄存器 (ADCDCCTLn) 的 CIE 位置位即可启用数字比较器的中断功能。此
时中断功能状态机开始运行,并监控输入的 ADC 转换结果。当某组条件得到满足并且 ADCIM 寄存
器的 DCONSSx 位置 1 时,将向中断控制器发送一个中断。
2014 年 01 月 28 日
729
Texas Instruments-预告信息
模-数转换器(ADC)
注意:
13.3.7.2
任何时刻只允许将 1 个 DCONSSn 位置位。如果置位的 DCONSSn 位过多,会导致 ADCRIS
寄存器的 INRDC 位被屏蔽,并且任何采样序列器的中断线都不再产生中断。如果使用中断
信号,建议在交替采样或者采样序列结束时启用中断。
工作模式
数字比较器有4种工作模式,能够支持类型广泛的应用、满足各种信号的要求。这4种工作模式分别
是:持续触发、单次触发、迟滞持续触发、迟滞单次触发。工作模式通过 ADCDCCTLn 寄存器的
CIM 域选取。
持续触发模式
在持续触发工作模式中,只要ADC转换值满足比较条件即会产生相应的中断或触发事件。因此,如
果A/D转换结果处于规定的范围内,将产生一连串的中断或触发事件。
单次触发模式
在单次触发工作模式中,只有当前ADC转换值满足比较条件并且前一个ADC转换值不满足比较条件
时,才会产生相应的中断或触发事件。因此,如果A/D转换结果处于规定的范围内,将产生单个中断
或触发事件。
迟滞持续触发模式
迟滞持续触发工作模式只能结合低值带或高值带工作,只有跨越中值带进入相反的区域时才会清除
迟滞条件。在迟滞持续触发工作模式中,满足以下条件时才会产生相应的中断或触发事件:ADC转
换值满足其比较条件,或之前的某个ADC结果满足比较条件,并且迟滞条件尚未清除(ADC转换值
尚未落入相反的区域)。因此,在ADC转换值进入相反的区域之前,将不断产生一连串的中断或触
发事件。
迟滞单次触发模式
迟滞单次触发工作模式只能结合低值带或高值带工作,只有跨越中值带进入相反的区域时才会清除
迟滞条件。在迟滞单次触发工作模式中,满足以下条件时才会产生相应的中断或触发事件:ADC 转
换值满足其比较条件,且前一个 ADC 转换值不满足比较条件,且迟滞条件已清除。因此将产生单个
中断或触发事件。
13.3.7.3
功能作用范围
ADC 数字比较器范围 (ADCDCCMPn) 寄存器中的两组比较门限 COMP0 和 COMP1 可将转换结果
有效划分为 3 个不同区域。这些区域分别称为低值带(小于 COMP0)、中值带(大于 COMP0 但
小于等于 COMP1)以及高值带(大于等于 COMP1)。允许将 COMP0 和 COMP1 编程为相等的
值,也就是只划分出两个区域。请注意,COMP1 的值必须始终大于等于 COMP0。若 COMP1 小
于 COMP0,其后果将难以预料。
低值带工作
要让数字比较器在低值带内工作,必须将 ADCDCCTLn 寄存器的 CIC 域设为 0x0。此设置会在低
值带内按照编程的工作模式产生中断或触发事件。图13-12(731页) 中显示了在高值带内各种工作
模式下产生中断/触发事件的状态示例。注意,工作模式名称(持续触发、单次触发、迟滞持续触
发、迟滞单次触发)之后一列中的“0”表示不产生中断或触发事件信号,“1”表示产生中断或触发事件
信号。
2014 年 01 月 28 日
730
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 13-12. 低值带工作(CIC = 0x0)
COMP1
COMP0
持续触发 –
0
0
0
0
1
1
1
0
0
1
1
0
0
0
0
1
单次触发 –
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
迟滞持续触发 –
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
迟滞单次触发 –
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
中值带工作
要让数字比较器在中值带内工作,必须将 ADCDCCTLn 寄存器的 CIC 域设为 0x1。此设置会在中
值带内按照工作模式产生中断或触发事件。只有持续触发工作模式和单次触发工作模式能够在中值
带内工作。图13-13(732页) 中显示了在中值带内各种允许的工作模式下产生中断/触发信号的状态
示例。注意,工作模式名称(持续触发、单次触发)之后一列中的“0”表示不产生中断或触发事件信
号,“1”表示产生中断或触发事件信号。
2014 年 01 月 28 日
731
Texas Instruments-预告信息
模-数转换器(ADC)
图 13-13. 中值带工作(CIC = 0x1 )
COMP1
COMP0
持续触发 –
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
单次触发 –
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
迟滞持续触发 –
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
迟滞单次触发 –
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
高值带工作
要让数字比较器在高值带内工作,必须将 ADCDCCTLn 寄存器的 CIC 域设为 0x3。此设置会在高
值带内按照工作模式产生中断或触发事件。图13-14(733页) 中显示了在高值带内各种允许的工作
模式下产生中断/触发信号的状态示例。注意,工作模式名称(持续触发、单次触发、迟滞持续触
发、迟滞单次触发)之后一列中的“0”表示不产生中断或触发事件信号,“1”表示产生中断或触发事件
信号。
2014 年 01 月 28 日
732
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 13-14. 高值带工作(CIC = 0x3)
COMP1
COMP0
13.4
持续触发 –
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
单次触发 –
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
迟滞持续触发 –
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
迟滞单次触发 –
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
初始化和配置
要想正常使用 ADC 模块,必须通过 RCC 寄存器(见第 221页)启用 PLL,并且将工作频率编程为
ADC 模块支持的数值。采用不支持的频率有可能造成ADC模块的工作发生错误。
13.4.1
模块初始化
ADC 模块的初始化流程比较简单,只有很少几个步骤:启用 ADC 的时钟、禁用待用模拟输入脚的
模拟隔离电路、配置采样序列发生器优先级(如果有必要的话)。
ADC的初始化序列如下所示:
1. 使用 RCGCADC 寄存器启用 ADC 时钟(参见 306页)。
2. 通过 RCGCGPIO 寄存器(参见 295页)启用相应 GPIO 模块的时钟。欲了解需要启用哪些 GPIO
端口,请参阅“信号描述”(718页)。
3. 将 ADC 输入管脚的 AFSEL 位置位(参见 595页)。为了确定哪些 GPIO 需要配置,请参考 表
20-4(1019页)。
4. 通过将 GPIO 数字使能 (GPIODEN) 寄存器中相应 DEN 位清零,将 AINx 管脚配置为模拟输出
(请参阅606页)。
5. 通过为 GPIOAMSEL 寄存器(参见 611页)的相应位写 1,禁用待用模拟输入脚的模拟隔离电
路。
6. 假如应用有相关需求,则应通过 ADCSSPRI 寄存器重新配置采样序列发生器的优先级。默认配
置是采样序列发生器0的优先级最高,采样序列发生器3的优先级最低。
2014 年 01 月 28 日
733
Texas Instruments-预告信息
模-数转换器(ADC)
13.4.2
采样序列发生器的配置
与模块的初始化流程相比,采样序列发生器的配置稍微复杂一些,这大概是因为每个采样序列发生
器都是完全可编程的。
每个采样序列发生器的配置步骤应如下:
1. 将 ADCACTSS 寄存器的 ASENn 位清零,禁用采样序列发生器。采样序列器不用使能也可以进
行配置。不过如果在配置期间禁用采样序列发生器,可以有效防止在此期间因满足触发条件而
造成的误执行;
2. 在 ADCEMUX 寄存器中为采样序列发生器配置触发事件;
3. 在 ADCSSMUXn寄存器中为采样序列的每个采样配置相应的输入源。
4. 针对采样序列中的每个采样动作,对 ADCSSCTLn 寄存器中相应半字节的采样控制位进行配
置。在配置最后一个半字节时,应确保 END 位置位。如果 END 不置位,将导致不可预测的执
行结果。
5. 假如打算采用中断,则应将 ADCIM 寄存器中相应的 MASK 位置位。
6. 将 ADCACTSS 寄存器的 ASENn 位置位,启用采样序列发生器逻辑单元。
13.5
寄存器映射
表 13-4(734页) 列出了所有 ADC 寄存器。表中偏移量一列是指相对于 ADC 模块基地址的寄存器
地址十六进制增量,两个 ADC 模块的基地址分别为:
■ ADC0:0x4003.8000
■ ADC1:0x4003.9000
注意配置这些寄存器之前必须启用 ADC 模块的时钟(请参考 306页)。ADC 模块时钟启用后,必须
等待至少 3 个系统时钟才可访问 ADC 模块寄存器。
表 13-4. ADC 寄存器映射
偏移量
名称
类型
复位
描述
见页面
0x000
ADCACTSS
R/W
0x0000.0000
ADC 有效采样序列发生器寄存器
737
0x004
ADCRIS
RO
0x0000.0000
ADC原始中断状态寄存器
739
0x008
ADCIM
R/W
0x0000.0000
ADC 中断掩码寄存器
741
0x00C
ADCISC
R/W1C
0x0000.0000
ADC 中断状态及清除寄存器
743
0x010
ADCOSTAT
R/W1C
0x0000.0000
ADC 上溢状态寄存器
746
0x014
ADCEMUX
R/W
0x0000.0000
ADC 事件复用选择寄存器
748
0x018
ADCUSTAT
R/W1C
0x0000.0000
ADC 下溢状态寄存器
753
0x020
ADCSSPRI
R/W
0x0000.3210
ADC 采样序列发生器优先级寄存器
754
0x024
ADCSPC
R/W
0x0000.0000
ADC 采样相位控制寄存器
755
0x028
ADCPSSI
R/W
-
ADC 处理器采样序列启动寄存器
756
0x030
ADCSAC
R/W
0x0000.0000
ADC 采样平均控制寄存器
758
0x034
ADCDCISC
R/W1C
0x0000.0000
ADC 数字比较器中断状态及清除寄存器
759
2014 年 01 月 28 日
734
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 13-4. ADC 寄存器映射(续)
偏移量
名称
类型
复位
描述
0x038
ADCCTL
R/W
0x0000.0000
ADC 控制寄存器
761
0x040
ADCSSMUX0
R/W
0x0000.0000
ADC 采样序列输入复用选择寄存器 0
762
0x044
ADCSSCTL0
R/W
0x0000.0000
ADC 采样序列控制寄存器 0
763
0x048
ADCSSFIFO0
RO
-
ADC 采样序列结果 FIFO 寄存器 0
769
0x04C
ADCSSFSTAT0
RO
0x0000.0100
ADC 采样序列 FIFO 0 状态寄存器
770
0x050
ADCSSOP0
R/W
0x0000.0000
ADC 采样序列寄存器 0
772
0x054
ADCSSDC0
R/W
0x0000.0000
ADC 采样序列数字比较器选择寄存器 0
774
0x060
ADCSSMUX1
R/W
0x0000.0000
ADC 采样序列输入复用选择寄存器 1
776
0x064
ADCSSCTL1
R/W
0x0000.0000
ADC 采样序列控制寄存器 1
777
0x068
ADCSSFIFO1
RO
-
ADC 采样序列结果 FIFO 寄存器 1
769
0x06C
ADCSSFSTAT1
RO
0x0000.0100
ADC 采样序列 FIFO 1 状态寄存器
770
0x070
ADCSSOP1
R/W
0x0000.0000
ADC 采样序列 1 工作寄存器
781
0x074
ADCSSDC1
R/W
0x0000.0000
ADC 采样序列数字比较器选择寄存器 1
782
0x080
ADCSSMUX2
R/W
0x0000.0000
ADC 采样序列输入复用选择寄存器 2
776
0x084
ADCSSCTL2
R/W
0x0000.0000
ADC 采样序列控制寄存器 2
777
0x088
ADCSSFIFO2
RO
-
ADC 采样序列结果 FIFO 寄存器 2
769
0x08C
ADCSSFSTAT2
RO
0x0000.0100
ADC 采样序列 FIFO 2 状态寄存器
770
0x090
ADCSSOP2
R/W
0x0000.0000
ADC 采样序列 2 工作寄存器
781
0x094
ADCSSDC2
R/W
0x0000.0000
ADC 采样序列数字比较器选择寄存器 2
782
0x0A0
ADCSSMUX3
R/W
0x0000.0000
ADC 采样序列输入复用选择寄存器 3
783
0x0A4
ADCSSCTL3
R/W
0x0000.0000
ADC 采样序列控制寄存器 3
784
0x0A8
ADCSSFIFO3
RO
-
ADC 采样序列结果 FIFO 寄存器 3
769
0x0AC
ADCSSFSTAT3
RO
0x0000.0100
ADC 采样序列 FIFO 3 状态寄存器
770
0x0B0
ADCSSOP3
R/W
0x0000.0000
ADC 采样序列器 3 工作寄存器
786
0x0B4
ADCSSDC3
R/W
0x0000.0000
ADC 采样序列 3 数字比较器选择寄存器
787
0xD00
ADCDCRIC
WO
0x0000.0000
ADC 数字比较器复位启动条件寄存器
788
0xE00
ADCDCCTL0
R/W
0x0000.0000
ADC 数字比较器控制寄存器 0
792
0xE04
ADCDCCTL1
R/W
0x0000.0000
ADC 数字比较器控制寄存器 1
792
0xE08
ADCDCCTL2
R/W
0x0000.0000
ADC 数字比较器控制寄存器 2
792
0xE0C
ADCDCCTL3
R/W
0x0000.0000
ADC 数字比较器控制寄存器 3
792
0xE10
ADCDCCTL4
R/W
0x0000.0000
ADC 数字比较器控制寄存器 4
792
0xE14
ADCDCCTL5
R/W
0x0000.0000
ADC 数字比较器控制寄存器 5
792
0xE18
ADCDCCTL6
R/W
0x0000.0000
ADC 数字比较器控制寄存器 6
792
2014 年 01 月 28 日
见页面
735
Texas Instruments-预告信息
模-数转换器(ADC)
表 13-4. ADC 寄存器映射(续)
偏移量
名称
类型
复位
0xE1C
ADCDCCTL7
R/W
0x0000.0000
ADC 数字比较器控制寄存器 7
792
0xE40
ADCDCCMP0
R/W
0x0000.0000
ADC 数字比较器范围寄存器 0
794
0xE44
ADCDCCMP1
R/W
0x0000.0000
ADC 数字比较器范围寄存器 1
794
0xE48
ADCDCCMP2
R/W
0x0000.0000
ADC 数字比较器范围寄存器 2
794
0xE4C
ADCDCCMP3
R/W
0x0000.0000
ADC 数字比较器范围寄存器 3
794
0xE50
ADCDCCMP4
R/W
0x0000.0000
ADC 数字比较器范围寄存器 4
794
0xE54
ADCDCCMP5
R/W
0x0000.0000
ADC 数字比较器范围寄存器 5
794
0xE58
ADCDCCMP6
R/W
0x0000.0000
ADC 数字比较器范围寄存器 6
794
0xE5C
ADCDCCMP7
R/W
0x0000.0000
ADC 数字比较器范围寄存器 7
794
0xFC0
ADCPP
RO
0x00B0.20C7
ADC 外设属性寄存器
795
0xFC4
ADCPC
R/W
0x0000.0007
ADC 外设配置寄存器
797
0xFC8
ADCCC
R/W
0x0000.0000
ADC 时钟配置寄存器
798
13.6
描述
见页面
寄存器描述
下文将按照地址偏移量的数字顺序列出ADC寄存器,并对这些寄存器进行描述。
2014 年 01 月 28 日
736
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 1: ADC 有效采样序列发生器寄存器(ADCACTSS),偏移量 0x000
本寄存器控制采样序列发生器是否有效。每个采样序列发生器可分别设置启用或禁用。
ADC 有效采样序列发生器寄存器 (ADCACTSS)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x000
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
24
23
22
21
20
19
18
17
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
3
2
1
0
ASEN3
ASEN2
ASEN1
ASEN0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
BUSY
保留
类型
复位
16
位/域
名称
类型
复位
描述
31:17
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
16
BUSY
RO
0
ADC 繁忙
值 描述
0 ADC 空闲
1 ADC 繁忙
15:4
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
3
ASEN3
R/W
0
ADC SS3启用
值 描述
0 禁用采样序列器3。
1 启用采样序列器3。
2
ASEN2
R/W
0
ADC SS2 启用
值 描述
0 禁用采样序列器2。
1 启用采样序列器2。
1
ASEN1
R/W
0
ADC SS1 启用
值 描述
0 禁用采样序列器1。
1 启用采样序列器1。
2014 年 01 月 28 日
737
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
0
ASEN0
R/W
0
描述
ADC SS0 启用
值 描述
0 禁用采样序列器0。
1 启用采样序列器0。
2014 年 01 月 28 日
738
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 2: ADC原始中断状态寄存器(ADCRIS),偏移量 0x004
本寄存器用于指示每个采样序列发生器的原始中断状态。软件可以通过这些标志位查看那些并不向
中断控制器发送的中断状态。
ADC原始中断状态寄存器 (ADCRIS)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x004
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
24
23
22
21
20
19
18
17
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
3
2
1
0
INR3
INR2
INR1
INR0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
INRDC
保留
类型
复位
位/域
名称
类型
复位
31:17
保留
RO
0x000
16
INRDC
RO
0
16
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
数字比较器原始中断状态
值 描述
0 ADCDCISC 寄存器的所有位均清零。
1 ADCDCISC 寄存器中至少有 1 个位置位,即至少产生了 1 个数字
比较器中断。
15:4
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
3
INR3
RO
0
SS3原始中断状态
值 描述
0 未产生中断
1 采样已完成了转换,且 ADCSSCTL3 寄存器中对应的 IEn 位已置
位,将启用原始中断。
向 ADCISC 寄存器的 IN3 位写 1,可清除本标志位。
2
INR2
RO
0
SS2原始中断状态
值 描述
0 未产生中断
1 采样已完成了转换,且 ADCSSCTL2 寄存器中对应的 IEn 位已置
位,将启用原始中断。
向 ADCISC 寄存器的 IN2 位写 1,可清除本标志位。
2014 年 01 月 28 日
739
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
1
INR1
RO
0
描述
SS1原始中断状态
值 描述
0 未产生中断
1 采样已完成了转换,且 ADCSSCTL1 寄存器中对应的 IEn 位已置
位,将启用原始中断。
向 ADCISC 寄存器的 IN1 位写 1,可清除本标志位。
0
INR0
RO
0
SS0原始中断状态
值 描述
0 未产生中断
1 采样已完成了转换,且 ADCSSCTL0 寄存器中对应的 IEn 位已置
位,将启用原始中断。
向 ADCISC 寄存器的 IN0 位写 1,可清除本标志位。
2014 年 01 月 28 日
740
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 3: ADC 中断掩码寄存器(ADCIM),偏移量 0x008
本寄存器控制采样序列发生器和数字比较器原始中断信号是否能发送给中断控制器。每个原始中断
信号都能分别予以掩码。
注意:
任何时刻只允许将 1 个 DCONSSn 位置位。如果置位的 DCONSSn 位过多,会导致 ADCRIS
寄存器的 INRDC 位被屏蔽,并且任何采样序列器的中断线都不再产生中断。如果使用中断
信号,建议在交替采样或者采样序列结束时启用中断。
ADC 中断掩码寄存器 (ADCIM)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x008
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
19
18
17
16
DCONSS3 DCONSS2 DCONSS1 DCONSS0
RO
0
位/域
名称
类型
复位
31:20
保留
RO
0x000
19
DCONSS3
R/W
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
3
2
1
0
MASK3
MASK2
MASK1
MASK0
R/W
0
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SS3 数字比较器中断
值 描述
0 数字比较器的状态不影响 SS3 中断状态。
1 数字比较器产生的原始中断信号(ADCRIS 寄存器的 INRDC 位)
将从 SS3 中断线发送给中断控制器。
18
DCONSS2
R/W
0
SS2数字比较器中断
值 描述
0 数字比较器的状态不影响 SS2 中断状态。
1 数字比较器产生的原始中断信号(ADCRIS 寄存器的 INRDC 位)
将从 SS2 中断线发送给中断控制器。
17
DCONSS1
R/W
0
SS1数字比较器中断
值 描述
0 数字比较器的状态不影响 SS1 中断状态。
1 数字比较器产生的原始中断信号(ADCRIS 寄存器的 INRDC 位)
将从 SS1 中断线发送给中断控制器。
2014 年 01 月 28 日
741
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
16
DCONSS0
R/W
0
描述
SS0数字比较器中断
值 描述
0 数字比较器的状态不影响 SS0 中断状态。
1 数字比较器产生的原始中断信号(ADCRIS 寄存器的 INRDC 位)
将从 SS0 中断线发送给中断控制器。
15:4
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
3
MASK3
R/W
0
SS3中断掩码
值 描述
0 采样序列器3的状态不影响SS3中断状态
1 采样序列器 3 的原始中断信号(ADCRIS 寄存器的 INR3 位)将发
送给中断控制器。
2
MASK2
R/W
0
SS2中断掩码
值 描述
0 采样序列器2的状态不影响SS2中断状态
1 采样序列器 2 的原始中断信号(ADCRIS 寄存器的 INR2 位)将发
送给中断控制器。
1
MASK1
R/W
0
SS1中断掩码
值 描述
0 采样序列器1的状态不影响SS1中断状态
1 采样序列器 1 的原始中断信号(ADCRIS 寄存器的 INR1 位)将发
送给中断控制器。
0
MASK0
R/W
0
SS0中断掩码
值 描述
0 采样序列器0的状态不影响SS0中断状态。
1 采样序列器 0 的原始中断信号(ADCRIS 寄存器的 INR0 位)将发
送给中断控制器。
2014 年 01 月 28 日
742
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 4: ADC 中断状态及清除寄存器(ADCISC),偏移量 0x00C
本寄存器能够显示出由采样序列发生器以及数字比较器以及数字比较器产生、已经发送给中断控制
器的中断状态,并提供清除采样序列发生器中断状态的机制。读本寄存器时,每个位域实际上是相
应的 INR 位和 MASK 位的逻辑与结果。向采样序列器中断位写1,可清除相应的中断。请注意,数
字比较器中断是通过向 ADCDCISC 寄存器的对应位写 1 来清除的。假如以软件轮询 ADCRIS 寄存
器的方式处理事件(而不是产生中断),那么即使 INn 位并未置 1 也能通过 ADCISC 寄存器来清除
INRn 位。
ADC 中断状态及清除寄存器 (ADCISC)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x00C
类型 R/W1C, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
IN3
IN2
IN1
IN0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W1C
0
R/W1C
0
R/W1C
0
R/W1C
0
保留
类型
复位
18
17
16
DCINSS3 DCINSS2 DCINSS1 DCINSS0
保留
类型
复位
19
位/域
名称
类型
复位
31:20
保留
RO
0x000
19
DCINSS3
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SS3 数字比较器的中断状态
值 描述
0 未发生中断,或中断被屏蔽。
1 如果 ADCRIS 寄存器的 INRDC 位和 ADCIM 寄存器的 DCONSS3
位都置位,就会向中断控制器产生一个基于电平的中断。
此位写 1 清 0。如果将此位清零,则 ADCRIS 寄存器中的 INRDC 位也
会被清零。
18
DCINSS2
RO
0
SS2 数字比较器的中断状态
值 描述
0 未发生中断,或中断被屏蔽。
1 如果 ADCRIS 寄存器的 INRDC 位和 ADCIM 寄存器的 DCONSS2
位都置位,就会向中断控制器产生一个基于电平的中断。
此位写 1 清 0。如果将此位清零,则 ADCRIS 寄存器中的 INRDC 位也
会被清零。
2014 年 01 月 28 日
743
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
17
DCINSS1
RO
0
描述
SS1数字比较器中断状态
值 描述
0 未发生中断,或中断被屏蔽。
1 如果 ADCRIS 寄存器的 INRDC 位和 ADCIM 寄存器的 DCONSS1
位都置位,就会向中断控制器产生一个基于电平的中断。
此位写 1 清 0。如果将此位清零,则 ADCRIS 寄存器中的 INRDC 位也
会被清零。
16
DCINSS0
RO
0
SS0数字比较器中断状态
值 描述
0 未发生中断,或中断被屏蔽。
1 如果 ADCRIS 寄存器的 INRDC 位和 ADCIM 寄存器的 DCONSS0
位都置位,就会向中断控制器产生一个基于电平的中断。
此位写 1 清 0。如果将此位清零,则 ADCRIS 寄存器中的 INRDC 位也
会被清零。
15:4
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
3
IN3
R/W1C
0
SS3中断状态及清除
值 描述
0 未发生中断,或中断被屏蔽。
1 ADCRIS 寄存器的 INR3 位以及 ADCIM 寄存器的 MASK3 位都已
置位,于是向中断控制器产生基于电平的中断。
对此标志位写 1,即可将其清零。如果将此位清零,则寄存器 ADCRIS
中的 INR3 位也会被清零。
2
IN2
R/W1C
0
SS2中断状态及清除
值 描述
0 未发生中断,或中断被屏蔽。
1 ADCRIS 寄存器的 INR2 位以及 ADCIM 寄存器的 MASK2 位都已
置位,于是向中断控制器产生基于电平的中断。
对此标志位写 1,即可将其清零。如果将此位清零,则寄存器 ADCRIS
中的 INR2 位也会被清零。
1
IN1
R/W1C
0
SS1中断状态及清除
值 描述
0 未发生中断,或中断被屏蔽。
1 ADCRIS 寄存器的 INR1 位以及 ADCIM 寄存器的 MASK1 位都已
置位,于是向中断控制器产生基于电平的中断。
对此标志位写 1,即可将其清零。如果将此位清零,则寄存器 ADCRIS
中的 INR1 位也会被清零。
2014 年 01 月 28 日
744
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
IN0
R/W1C
0
描述
SS0中断状态及清除
值 描述
0 未发生中断,或中断被屏蔽。
1 ADCRIS 寄存器的 INR0 位以及 ADCIM 寄存器的 MASK0 位都已
置位,于是向中断控制器产生基于电平的中断。
对此标志位写 1,即可将其清零。如果将此位清零,则寄存器 ADCRIS
中的 INR0 位也会被清零。
2014 年 01 月 28 日
745
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 5: ADC 上溢状态寄存器(ADCOSTAT),偏移量 0x010
本寄存器用于指示采样序列发生器FIFO的上溢状况。当软件处理完FIFO上溢状况后,可向相应的位
写1予以清除。
ADC 上溢状态寄存器 (ADCOSTAT)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x010
类型 R/W1C, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
OV3
OV2
OV1
OV0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W1C
0
R/W1C
0
R/W1C
0
R/W1C
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3
OV3
R/W1C
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SS3 FIFO上溢
值 描述
0 FIFO 未出现上溢。
1 采样序列发生器 3 的 FIFO 达到了上溢条件,也就是说 FIFO 满且
要求进行写操作。当 FIFO 出现上溢后,最近一次的写操作会丢失。
对此标志位写 1,即可将其清零。
2
OV2
R/W1C
0
SS2 FIFO上溢
值 描述
0 FIFO 未出现上溢。
1 采样序列发生器 2 的 FIFO 达到了上溢条件,也就是说 FIFO 满且
要求进行写操作。当 FIFO 出现上溢后,最近一次的写操作会丢失。
对此标志位写 1,即可将其清零。
1
OV1
R/W1C
0
SS1 FIFO上溢
值 描述
0 FIFO 未出现上溢。
1 采样序列发生器 1 的 FIFO 达到了上溢条件,也就是说 FIFO 满且
要求进行写操作。当 FIFO 出现上溢后,最近一次的写操作会丢失。
对此标志位写 1,即可将其清零。
2014 年 01 月 28 日
746
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
OV0
R/W1C
0
描述
SS0 FIFO上溢
值 描述
0 FIFO 未出现上溢。
1 采样序列发生器 0 的 FIFO 达到了上溢条件,也就是说 FIFO 满且
要求进行写操作。当 FIFO 出现上溢后,最近一次的写操作会丢失。
对此标志位写 1,即可将其清零。
2014 年 01 月 28 日
747
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 6: ADC 事件复用选择寄存器(ADCEMUX),偏移量 0x014
ADCEMUX 寄存器用于选择每个采样序列发生器启动采样的事件(触发条件)。每个采样序列器可
配置为使用唯一的触发源。
ADC 事件复用选择寄存器 (ADCEMUX)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x014
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
EM3
类型
复位
EM2
EM1
位/域
名称
类型
复位
31:16
保留
RO
0x0000
EM0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
748
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
15:12
EM3
R/W
0x0
SS3触发条件选择
该字段选择采样序列发生器3的触发源。
此位域的有效配置包括:
值
事件
0x0
处理器(默认)
将 ADCPSSI 寄存器中的 SSn 位置位,启动该触发器。
0x1
模拟比较器0
该触发器由模拟比较器控制 0 (ACCTL0) 寄存器配置(参考
1004页)。
0x2
模拟比较器1
该触发器由模拟比较器控制 1 (ACCTL1) 寄存器配置(参考
1004页)。
0x3
保留
0x4
外部(GPIO 管脚)
该触发器连接到相应 GPIO 的 GPIO 中断上(请参阅“ADC
触发源”(581页))。
注意:
0x5
如果 GPIO 带有作为备用功能的 AINx 信号,则可
用于触发 ADC。同样,该管脚也不能同时用作
GPIO 和模拟输入端。
定时器
此外,还必须通过 GPTMCTL 寄存器的 TnOTE 位来启用该
触发器(参考 657页)。
0x6
保留
0x7
保留
0x8
保留
0x9
保留
0xA-0xE 保留
0xF
持续(始终采样)
2014 年 01 月 28 日
749
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
描述
11:8
EM2
R/W
0x0
SS2 触发器选择
该字段选择采样序列发生器2的触发源。
此位域的有效配置包括:
值
事件
0x0
处理器(默认)
将 ADCPSSI 寄存器中的 SSn 位置位,启动该触发器。
0x1
模拟比较器0
该触发器由模拟比较器控制 0 (ACCTL0) 寄存器配置(参考
1004页)。
0x2
模拟比较器1
该触发器由模拟比较器控制 1 (ACCTL1) 寄存器配置(参考
1004页)。
0x3
保留
0x4
外部(GPIO 管脚)
该触发器连接到相应 GPIO 的 GPIO 中断上(请参阅“ADC
触发源”(581页))。
注意:
0x5
如果 GPIO 带有作为备用功能的 AINx 信号,则可
用于触发 ADC。同样,该管脚也不能同时用作
GPIO 和模拟输入端。
定时器
此外,还必须通过 GPTMCTL 寄存器的 TnOTE 位来启用该
触发器(参考 657页)。
0x6
保留
0x7
保留
0x8
保留
0x9
保留
0xA-0xE 保留
0xF
持续(始终采样)
2014 年 01 月 28 日
750
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
7:4
EM1
R/W
0x0
SS1 触发器选择
该字段选择采样序列发生器1的触发源。
此位域的有效配置包括:
值
事件
0x0
处理器(默认)
将 ADCPSSI 寄存器中的 SSn 位置位,启动该触发器。
0x1
模拟比较器0
该触发器由模拟比较器控制 0 (ACCTL0) 寄存器配置(参考
1004页)。
0x2
模拟比较器1
该触发器由模拟比较器控制 1 (ACCTL1) 寄存器配置(参考
1004页)。
0x3
保留
0x4
外部(GPIO 管脚)
该触发器连接到相应 GPIO 的 GPIO 中断上(请参阅“ADC
触发源”(581页))。
注意:
0x5
如果 GPIO 带有作为备用功能的 AINx 信号,则可
用于触发 ADC。同样,该管脚也不能同时用作
GPIO 和模拟输入端。
定时器
此外,还必须通过 GPTMCTL 寄存器的 TnOTE 位来启用该
触发器(参考 657页)。
0x6
保留
0x7
保留
0x8
保留
0x9
保留
0xA-0xE 保留
0xF
持续(始终采样)
2014 年 01 月 28 日
751
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
描述
3:0
EM0
R/W
0x0
SS0 触发器选择
该字段选择采样序列发生器0的触发源
此位域的有效配置包括:
值
事件
0x0
处理器(默认)
将 ADCPSSI 寄存器中的 SSn 位置位,启动该触发器。
0x1
模拟比较器0
该触发器由模拟比较器控制 0 (ACCTL0) 寄存器配置(参考
1004页)。
0x2
模拟比较器1
该触发器由模拟比较器控制 1 (ACCTL1) 寄存器配置(参考
1004页)。
0x3
保留
0x4
外部(GPIO 管脚)
该触发器连接到相应 GPIO 的 GPIO 中断上(请参阅“ADC
触发源”(581页))。
注意:
0x5
如果 GPIO 带有作为备用功能的 AINx 信号,则可
用于触发 ADC。同样,该管脚也不能同时用作
GPIO 和模拟输入端。
定时器
此外,还必须通过 GPTMCTL 寄存器的 TnOTE 位来启用该
触发器(参考 657页)。
0x6
保留
0x7
保留
0x8
保留
0x9
保留
0xA-0xE 保留
0xF
持续(始终采样)
2014 年 01 月 28 日
752
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 7: ADC 下溢状态寄存器(ADCUSTAT),偏移量 0x018
本寄存器用于指示采样序列发生器FIFO的下溢状况。当软件处理完FIFO下溢状况后,可向相应的位
写1予以清除。
ADC 下溢状态寄存器 (ADCUSTAT)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x018
类型 R/W1C, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
UV3
UV2
UV1
UV0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W1C
0
R/W1C
0
R/W1C
0
R/W1C
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3
UV3
R/W1C
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SS3 FIFO下溢
此位域的有效配置如下所示。对此标志位写 1,即可将其清零。
值 描述
0 FIFO未出现下溢。
1 采样序列发生器的 FIFO 达到了下溢条件,也就是说 FIFO 空且要
求进行读操作。此次读操作并不会移动 FIFO 指针,返回值为 0。
2
UV2
R/W1C
0
SS2 FIFO下溢
此域的有效配置与对 UV3 域的配置相同。对此标志位写 1,即可将其清
零。
1
UV1
R/W1C
0
SS1 FIFO 下溢
此域的有效配置与对 UV3 域的配置相同。对此标志位写 1,即可将其清
零。
0
UV0
R/W1C
0
SS0 FIFO 下溢
此域的有效配置与对 UV3 域的配置相同。对此标志位写 1,即可将其清
零。
2014 年 01 月 28 日
753
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 8: ADC 采样序列发生器优先级寄存器(ADCSSPRI),偏移量 0x020
本寄存器用于设置各采样序列发生器的优先级。复位后默认情况下采样序列发生器0具有最高优先
级、采样序列发生器3具有最低优先级。修改优先级时务必确保每个采样序列发生器具有唯一的优先
级,否则ADC可能无法正常工作。
ADC 采样序列发生器优先级寄存器 (ADCSSPRI)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x020
类型 R/W, 复位 0x0000.3210
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
R/W
1
R/W
1
RO
0
RO
0
R/W
1
R/W
0
RO
0
RO
0
R/W
0
R/W
1
RO
0
RO
0
R/W
0
保留
类型
复位
保留
类型
复位
RO
0
SS3
保留
SS2
位/域
名称
类型
复位
31:14
保留
RO
0x0000.0
13:12
SS3
R/W
0x3
保留
SS1
保留
SS0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SS3优先级
此字段包含确定采样序列发生器 3 的优先级编码的二进制编码值。优先
级编码 0x0 的优先级最高;0x3 最低。分配给序列发生器的优先级必须
被唯一地映射。如果两个或两个以上的域相等,那么 ADC 就不能正常
工作。
11:10
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
9:8
SS2
R/W
0x2
SS2 优先级
此字段包含确定采样序列发生器 2 的优先级编码的二进制编码值。优先
级编码 0x0 的优先级最高;0x3 最低。分配给序列发生器的优先级必须
被唯一地映射。如果两个或两个以上的域相等,那么 ADC 就不能正常
工作。
7:6
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
5:4
SS1
R/W
0x1
SS1 优先级
此字段包含确定采样序列发生器 1 的优先级编码的二进制编码值。优先
级编码 0x0 的优先级最高;0x3 最低。分配给序列发生器的优先级必须
被唯一地映射。如果两个或两个以上的域相等,那么 ADC 就不能正常
工作。
3:2
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
1:0
SS0
R/W
0x0
SS0 优先级
此字段包含确定采样序列发生器 0 的优先级编码的二进制编码值。优先
级编码 0x0 的优先级最高;0x3 最低。分配给序列发生器的优先级必须
被唯一地映射。如果两个或两个以上的域相等,那么 ADC 就不能正常
工作。
2014 年 01 月 28 日
754
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 9: ADC 采样相位控制寄存器(ADCSPC),偏移量 0x024
本寄存器可设置采样点的相位,从0.0°到337.5°可选。例如,借助于芯片内的两路ADC模块可实现
双倍采样率,其方法便是将两路ADC模块配置为对同一模拟输入端采样,并将一路ADC模块采样相
位配置为0°、另一路ADC模块采样相位配置为180°。
注意:
当 PHASE 域非 0 时应当小心,因为对 AINx 输入信号的采样延迟可能导致采样结果有别于
系统设计的预期。从 ADC 触发到采样的时间会增加,可能会使得响应时间要比预期要长。
因此而增加的延迟可能会对系统的设计带来负面影响。设计人员必须慎重考虑此延时的影
响。
ADC 采样相位控制寄存器 (ADCSPC)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x024
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
1
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
3
2
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
PHASE
RO
0
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3:0
PHASE
R/W
0x0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
相位差
此位域设置采样点与标准采样时间的相位差。
值
描述
0x0 ADC采样滞后0°
0x1 ADC 采样滞后 22.5°
0x2 ADC 采样滞后 45.0°
0x3 ADC 采样滞后 67.5°
0x4 ADC 采样滞后 90.0°
0x5 ADC 采样滞后 112.5°
0x6 ADC 采样滞后 135.0°
0x7 ADC 采样滞后 157.5°
0x8 ADC 采样滞后 180.0°
0x9 ADC 采样滞后 202.5°
0xA ADC 采样滞后 225.0°
0xB ADC 采样滞后 247.5°
0xC ADC 采样滞后 270.0°
0xD ADC 采样滞后 292.5°
0xE ADC 采样滞后 315.0°
0xF ADC 采样滞后 337.5°
2014 年 01 月 28 日
755
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 10: ADC 处理器采样序列启动寄存器(ADCPSSI),偏移量 0x028
本寄存器提供了由软件启动采样序列工作的手段。采样序列可以各自分别启动,也可以按照任意组
合同时启动。当同时触发多个采样序列时,其执行顺序将由 ADCSSPRI 寄存器的优先级编码决定。
本寄存器还能配置并同时启动对所有 ADC 模块的采样。方法是:首先配置第一个 ADC 模块。然后
对该模块的 ADCPSSI 寄存器进行写操作。将相应的 SS 位与 SYNCWAIT 位一同置位。其余ADC
模块同样按此流程逐个进行配置。当配置完最后一个 ADC 模块后,其 ADCPSSI 寄存器同样应写
入,写操作时应将相应的 SS 位与 GSYNC 位一同置 1。随后所有ADC模块将同时开始按照其配置
执行采样。
ADC 处理器采样序列启动寄存器 (ADCPSSI)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x028
类型 R/W, 复位 31
30
GSYNC
类型
复位
29
28
保留
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
保留
SYNCWAIT
R/W
0
RO
0
RO
0
RO
0
R/W
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31
GSYNC
R/W
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
2
1
0
SS3
SS2
SS1
SS0
WO
-
WO
-
WO
-
WO
-
描述
全局同步
值 描述
0 一旦开始采样则此标志位清零
1 此位用于同时启动多个 ADC 模块的采样。只要有 ADC 模块因 SSn
和 SYNCWAIT 位置位而得以启用,则对本标志位进行写操作时,
这些模块将开始采样。
30:28
保留
RO
0x0
27
SYNCWAIT
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
同步等待
值 描述
0 启动某个采样序列时,将立即执行。
1 通过该位可允许创建采样序列,但会延迟采样,直到 GSYNC 位置
位。
26:4
保留
RO
0x0000.0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
756
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
3
SS3
WO
-
描述
SS3启动
值 描述
0 没有影响
1 如果采样序列发生器 3 已在 ADCACTSS 寄存器中启用,则将执行
采样。
此标志位只能进行写操作;读操作的返回值无意义。
2
SS2
WO
-
SS2 启动
值 描述
0 没有影响
1 如果采样序列发生器 2 已在 ADCACTSS 寄存器中启用,则将执行
采样。
此标志位只能进行写操作;读操作的返回值无意义。
1
SS1
WO
-
SS1 启动
值 描述
0 没有影响
1 如果采样序列发生器 1 已在 ADCACTSS 寄存器中启用,则将执行
采样。
此标志位只能进行写操作;读操作的返回值无意义。
0
SS0
WO
-
SS0 启动
值 描述
0 没有影响
1 如果采样序列发生器 0 已在 ADCACTSS 寄存器中启用,则将执行
采样。
此标志位只能进行写操作;读操作的返回值无意义。
2014 年 01 月 28 日
757
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 11: ADC 采样平均控制寄存器(ADCSAC),偏移量 0x030
本寄存器控制硬件对转换结果进行取平均值时的次数。存储在 FIFO 中的最终转换结果是以指定的
ADC 速率通过 2 AVG 连续的 ADC 采样进行平均计算而得到的。若 AVG 为 0,则每次采样将直接
写入 FIFO,不进行任何平均运算。若 AVG = 6,那么 ADC 模块将连续采集 64 个采样后求其算术
平均值,并将计算结果存入 FIFO 中。若 AVG = 7,其结果无法预料。
ADC 采样平均控制寄存器 (ADCSAC)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x030
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
保留
类型
复位
保留
类型
复位
RO
0
位/域
名称
类型
复位
31:3
保留
RO
0x0000.000
2:0
AVG
R/W
0x0
AVG
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
硬件平均控制
确定硬件平均计算的 ADC 采样数。该 AVG 域可以是 0 到 6 之间的任
意值。如果 AVG = 7,其结果无法预测。
值
描述
0x0 无硬件过采样
0x1 2x 硬件过采样
0x2 4x 硬件过采样
0x3 8x 硬件过采样
0x4 16x 硬件过采样
0x5 32x 硬件过采样
0x6 64x 硬件过采样
0x7 保留
2014 年 01 月 28 日
758
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 12: ADC 数字比较器中断状态及清除寄存器(ADCDCISC),偏移量 0x034
本寄存器可指示数字比较器中断状态,并能对其确认操作。每个数字比较器占用1个位。
ADC 数字比较器中断状态及清除寄存器 (ADCDCISC)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x034
类型 R/W1C, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
DCINT7
DCINT6
DCINT5
DCINT4
DCINT3
DCINT2
DCINT1
DCINT0
RO
0
RO
0
R/W1C
0
R/W1C
0
R/W1C
0
R/W1C
0
R/W1C
0
R/W1C
0
R/W1C
0
R/W1C
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
DCINT7
R/W1C
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
数字比较器7中断状态及清除
值 描述
0 无中断。
1 数字比较器7产生中断
对此标志位写 1,即可将其清零。
6
DCINT6
R/W1C
0
数字比较器6中断状态及清除
值 描述
0 无中断。
1 数字比较器6产生中断
对此标志位写 1,即可将其清零。
5
DCINT5
R/W1C
0
数字比较器5中断状态及清除
值 描述
0 无中断。
1 数字比较器5产生中断
对此标志位写 1,即可将其清零。
4
DCINT4
R/W1C
0
数字比较器4中断状态及清除
值 描述
0 无中断。
1 数字比较器4产生中断
对此标志位写 1,即可将其清零。
2014 年 01 月 28 日
759
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
3
DCINT3
R/W1C
0
描述
数字比较器3中断状态及清除
值 描述
0 无中断。
1 数字比较器3产生中断
对此标志位写 1,即可将其清零。
2
DCINT2
R/W1C
0
数字比较器2中断状态及清除
值 描述
0 无中断。
1 数字比较器2产生中断
对此标志位写 1,即可将其清零。
1
DCINT1
R/W1C
0
数字比较器1中断状态及清除
值 描述
0 无中断。
1 数字比较器1产生中断
对此标志位写 1,即可将其清零。
0
DCINT0
R/W1C
0
数字比较器0中断状态及清除
值 描述
0 无中断。
1 数字比较器0产生中断
对此标志位写 1,即可将其清零。
2014 年 01 月 28 日
760
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 13: ADC 控制寄存器(ADCCTL),偏移量 0x038
本寄存器用于配置参考电压。注意,此寄存器中设置的值会应用到所有 ADC 模块,不可能设置为一
个模块使用内部参考,而另一个模块使用外部参考。
ADC 控制寄存器 (ADCCTL)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x038
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
DITHER
RO
0
位/域
名称
类型
复位
31:7
保留
RO
0x0000.000
6
DITHER
R/W
0
R/W
0
保留
RO
0
VREF
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
启用抖动模式
值 描述
0 禁用抖动模式
1 抖动模式已启用
5:1
保留
RO
0
0
VREF
R/W
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
参考电压源选择
值
描述
0x0 VDDA 和 GNDA 是所有 ADC 模块的电压参考。
0x1 保留
2014 年 01 月 28 日
761
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 14: ADC 采样序列输入复用选择寄存器 0(ADCSSMUX0),偏移量 0x040
该寄存器为采样序列发生器0所执行序列的每个采样定义模拟输入配置。本寄存器为 32 位宽,可分
别定义 8 个采样的信息。
ADC 采样序列输入复用选择寄存器 0 (ADCSSMUX0)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x040
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
R/W
0
25
24
23
22
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
15
14
13
12
11
10
9
8
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
MUX7
类型
复位
20
19
18
R/W
0
R/W
0
R/W
0
R/W
0
7
6
5
4
R/W
0
R/W
0
R/W
0
R/W
0
MUX6
MUX3
类型
复位
21
17
16
R/W
0
R/W
0
R/W
0
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
MUX5
MUX2
MUX4
MUX1
MUX0
位/域
名称
类型
复位
描述
31:28
MUX7
R/W
0x0
第8个采样动作的输入选择
MUX7 字段将在采样序列发生器所执行序列的第 8 个采样中使用。它确
定在进行模数转换时采样哪个模拟输入。此处设置的值表示相应的管
脚。例如,当 EMUX7 清零时,0x1 表示输入管脚是 AIN1。
27:24
MUX6
R/W
0x0
第7个采样动作的输入选择
MUX6 字段将在采样序列发生器所执行序列的第 7 个采样中使用。它确
定在进行模数转换时采样哪个模拟输入。
23:20
MUX5
R/W
0x0
第 6 个采样的输入选择
MUX5 字段将在采样序列发生器所执行序列的第 6 个采样中使用。它确
定在进行模数转换时采样哪个模拟输入。
19:16
MUX4
R/W
0x0
第 5 个采样的输入选择
MUX4 字段将在采样序列发生器所执行序列的第 5 个采样中使用。它确
定在进行模数转换时采样哪个模拟输入。
15:12
MUX3
R/W
0x0
第 4 个采样的输入选择
MUX3 字段将在采样序列发生器所执行序列的第 4 个采样中使用。它确
定在进行模数转换时采样哪个模拟输入。
11:8
MUX2
R/W
0x0
第 3 个采样的输入选择
MUX2 字段将在采样序列发生器所执行序列的第 3 个采样中使用。它确
定在进行模数转换时采样哪个模拟输入。
7:4
MUX1
R/W
0x0
第 2 个采样的输入选择
MUX1 字段将在采样序列发生器所执行序列的第 2 个采样中使用。它确
定在进行模数转换时采样哪个模拟输入。
3:0
MUX0
R/W
0x0
第 1 个采样的输入选择
MUX0 字段将在采样序列发生器所执行序列的第 1 个采样中使用。它确
定在进行模数转换时采样哪个模拟输入。
2014 年 01 月 28 日
762
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 15: ADC 采样序列控制寄存器 0(ADCSSCTL0),偏移量 0x044
本寄存器包含采样序列中每个采样动作的配置信息。在配置一个采样序列时,不管该序列中包含几
个有效的采样动作,其最后 1 个有效采样动作的 END 位必须置 1。本寄存器为 32 位宽,可分别定
义 8 个采样的信息。
ADC 采样序列控制寄存器 0 (ADCSSCTL0)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x044
类型 R/W, 复位 0x0000.0000
31
类型
复位
类型
复位
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
TS7
IE7
END7
D7
TS6
IE6
END6
D6
TS5
IE5
END5
D5
TS4
IE4
END4
D4
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TS3
IE3
END3
D3
TS2
IE2
END2
D2
TS1
IE1
END1
D1
TS0
IE0
END0
D0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
31
TS7
R/W
0
描述
第8个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 8 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 采样序列的第 8 个采样动作读取温度传感器的内容
30
IE7
R/W
0
第 8 个采样动作的中断使能
值 描述
0 不产生原始中断
1 在第 8 个采样转换结束后,原始中断信号 (INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
29
END7
R/W
0
第 8 个采样动作后序列终止
值 描述
0 序列中的另一个采样是最后采样。
1 第 8 个采样为序列的最后一个采样
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
2014 年 01 月 28 日
763
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
28
D7
R/W
0
描述
第 8 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS7 位置 1 时,此标志位不得置
位。
27
TS6
R/W
0
第 7 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 7 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 7 个采样动作时读取温度传感器。
26
IE6
R/W
0
第 7 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 7 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
25
END6
R/W
0
第 7 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 7 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
24
D6
R/W
0
第 7 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS6 位置 1 时,此标志位不得置
位。
23
TS5
R/W
0
第 6 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 6 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 6 个采样动作时读取温度传感器。
2014 年 01 月 28 日
764
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
22
IE5
R/W
0
描述
第 6 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 6 个采样转换结束后,原始中断信号 (INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
21
END5
R/W
0
第 6 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 6 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
20
D5
R/W
0
第 6 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS5 位置 1 时,此标志位不得置
位。
19
TS4
R/W
0
第 5 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 5 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 5 个采样动作时读取温度传感器。
18
IE4
R/W
0
第 5 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 5 个采样转换结束后,原始中断信号 (INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
17
END4
R/W
0
第 5 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 5 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
2014 年 01 月 28 日
765
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
16
D4
R/W
0
描述
第 5 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS4 位置 1 时,此标志位不得置
位。
15
TS3
R/W
0
第 4 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 4 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 4 个采样动作时读取温度传感器。
14
IE3
R/W
0
第 4 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 4 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
13
END3
R/W
0
第 4 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 4 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
12
D3
R/W
0
第 4 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS3 位置 1 时,此标志位不得置
位。
11
TS2
R/W
0
第 3 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 3 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 3 个采样动作时读取温度传感器。
2014 年 01 月 28 日
766
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
10
IE2
R/W
0
描述
第 3 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 3 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
9
END2
R/W
0
第 3 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 3 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
8
D2
R/W
0
第 3 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS2 位置 1 时,此标志位不得置
位。
7
TS1
R/W
0
第 2 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 2 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 2 个采样动作时读取温度传感器。
6
IE1
R/W
0
第 2 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 2 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
5
END1
R/W
0
第 2 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 2 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
2014 年 01 月 28 日
767
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
4
D1
R/W
0
描述
第 2 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS1 位置 1 时,此标志位不得置
位。
3
TS0
R/W
0
第 1 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 1 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 1 个采样动作时读取温度传感器。
2
IE0
R/W
0
第 1 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 1 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
1
END0
R/W
0
第 1 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 1 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
0
D0
R/W
0
第 1 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS0 位置 1 时,此标志位不得置
位。
2014 年 01 月 28 日
768
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 16: ADC 采样序列结果 FIFO 寄存器 0(ADCSSFIFO0),偏移量 0x048
寄存器 17: ADC 采样序列结果 FIFO 寄存器 1(ADCSSFIFO1),偏移量 0x068
寄存器 18: ADC 采样序列结果 FIFO 寄存器 2(ADCSSFIFO2),偏移量 0x088
寄存器 19: ADC 采样序列结果 FIFO 寄存器 3(ADCSSFIFO3),偏移量 0x0A8
重要:
本寄存器为读敏感型寄存器。有关详细信息,请参阅寄存器描述部分。
本寄存器用于保存采样序列发生器采集的采样转换结果(ADCSSFIFO0 寄存器用于采样序列发生器
0,ADCSSFIFO1 寄存器用于采样序列发生器 1,ADCSSFIFO2 寄存器用于采样序列发生器 2,
ADCSSFIFO3 寄存器用于采样序列发生器 3)。每读1次本寄存器可返回1个转换结果数据,依次返
回第1个采样结果、第2个采样结果……依此类推,直到FIFO被读空。如果 FIFO 因未能及时得到软
件处理而出现了上溢或下溢状况,可通过 ADCOSTAT 寄存器和 ADCUSTAT 寄存器进行查询。
ADC 采样序列结果 FIFO 寄存器 n(ADCSSFIFOn)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x048
类型 RO, 复位 31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
-
RO
-
RO
-
RO
-
RO
-
RO
-
RO
-
RO
-
RO
-
RO
-
RO
-
RO
-
保留
类型
复位
保留
类型
复位
DATA
位/域
名称
类型
复位
31:12
保留
RO
0x0000.0
11:0
DATA
RO
-
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
转换结果数据
2014 年 01 月 28 日
769
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 20: ADC 采样序列 FIFO 0 状态寄存器(ADCSSFSTAT0),偏移量 0x04C
寄存器 21: ADC 采样序列 FIFO 1 状态寄存器(ADCSSFSTAT1),偏移量 0x06C
寄存器 22: ADC 采样序列 FIFO 2 状态寄存器(ADCSSFSTAT2),偏移量 0x08C
寄存器 23: ADC 采样序列 FIFO 3 状态寄存器(ADCSSFSTAT3),偏移量 0x0AC
本寄存器为采样序列发生器的状态提供了一个窗口,可藉此查询满/空状态信息以及头指针、尾指针
的位置。复位值 0x100 表示 FIFO 为空,其头尾指针都指向索引值 0。ADCSSFSTAT0 寄存器代表
FIFO0 的状态(8 个单元);ADCSSFSTAT1 寄存器代表 FIFO1 的状态(4 个单元);
ADCSSFSTAT2 寄存器代表 FIFO2 的状态(4 个单元);ADCSSFSTAT3 寄存器代表 FIFO3 的状
态(1 个单元)。
ADC 采样序列 FIFO n 状态寄存器(ADCSSFSTATn)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x04C
类型 RO, 复位 0x0000.0100
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
RO
0
RO
0
FULL
RO
0
RO
0
保留
RO
0
RO
0
EMPTY
RO
0
位/域
名称
类型
复位
31:13
保留
RO
0x0000.0
12
FULL
RO
0
RO
1
HPTR
TPTR
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
FIFO满
值 描述
0 FIFO未满
1 FIFO已满
11:9
保留
RO
0x0
8
EMPTY
RO
1
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
FIFO空
值 描述
0 FIFO非空
1 FIFO空
7:4
HPTR
RO
0x0
FIFO头指针
该字段包含当前 FIFO 的“头”指针索引,也就是下一个要执行的写操作的
位。
FIFO0 的有效值是 0x0-0x7;FIFO1 和 FIFO2 的有效值是 0x0-0x3;
FIFO3 的有效值是 0x0。
2014 年 01 月 28 日
770
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
3:0
TPTR
RO
0x0
FIFO尾指针
该字段包含当前 FIFO 的“尾”指针索引,也就是下一个要读取的位。
FIFO0 的有效值是 0x0-0x7;FIFO1 和 FIFO2 的有效值是 0x0-0x3;
FIFO3 的有效值是 0x0。
2014 年 01 月 28 日
771
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 24: ADC 采样序列寄存器 0(ADCSSOP0),偏移量 0x050
本寄存器用于设置如何处理采样序列发生器0的各个采样结果,是保存到采样序列FIFO0中还是传递
给数字比较器。
ADC 采样序列寄存器 0 (ADCSSOP0)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x050
类型 R/W, 复位 0x0000.0000
31
30
29
保留
类型
复位
27
26
S7DCOP
25
保留
24
23
S6DCOP
22
21
保留
20
19
S5DCOP
18
17
保留
16
S4DCOP
RO
0
RO
0
RO
0
R/W
0
RO
0
RO
0
RO
0
R/W
0
RO
0
RO
0
RO
0
R/W
0
RO
0
RO
0
RO
0
R/W
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
保留
类型
复位
28
RO
0
RO
0
S3DCOP
RO
0
R/W
0
保留
RO
0
RO
0
S2DCOP
RO
0
R/W
0
保留
RO
0
RO
0
S1DCOP
RO
0
R/W
0
保留
RO
0
RO
0
S0DCOP
RO
0
R/W
0
位/域
名称
类型
复位
描述
31:29
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
28
S7DCOP
R/W
0
采样7数字比较器工作
值 描述
0 1 8 个采样动作的结果保存到采样序列器 FIFO0 中。
1 1 8 个采样动作的结果不写入 FIFO,而是发送给指定的数字比较器
(由 ADCSSDC0 寄存器的 S7DCSEL 位域指定)。
27:25
保留
RO
0x0
24
S6DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样6数字比较器工作
用于定义第 7 个采样动作,定义方法与 S7DCOP 相同。
23:21
保留
RO
0x0
20
S5DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样5数字比较器工作
定义和 S7DCOP 一样,但在第 6 个采样中使用。
19:17
保留
RO
0x0
16
S4DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样4数字比较器工作
定义和 S7DCOP 一样,但在第 5 个采样中使用。
15:13
保留
RO
0x0
12
S3DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样3数字比较器工作
定义和 S7DCOP 一样,但在第 4 个采样中使用。
11:9
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
772
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
8
S2DCOP
R/W
0
描述
采样2数字比较器工作
定义和 S7DCOP 一样,但在第 3 个采样中使用。
7:5
保留
RO
0x0
4
S1DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样1数字比较器工作
定义和 S7DCOP 一样,但在第 2 个采样中使用。
3:1
保留
RO
0x0
0
S0DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样0数字比较器工作
定义和 S7DCOP 一样,但在第 1 个采样中使用。
2014 年 01 月 28 日
773
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 25: ADC 采样序列数字比较器选择寄存器 0(ADCSSDC0),偏移量 0x054
若 ADCSSOP0 寄存器的 SnDCOP 位置位,则通过本寄存器选择将采样序列 0 的指定转换采样结
果传递给哪一个数字比较器。
ADC 采样序列数字比较器选择寄存器 0 (ADCSSDC0)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x054
类型 R/W, 复位 0x0000.0000
31
30
R/W
0
R/W
0
15
14
R/W
0
R/W
0
29
28
27
26
R/W
0
R/W
0
R/W
0
R/W
0
13
12
11
10
R/W
0
R/W
0
R/W
0
S7DCSEL
类型
复位
24
23
22
R/W
0
R/W
0
R/W
0
R/W
0
9
8
7
6
R/W
0
R/W
0
R/W
0
S6DCSEL
S3DCSEL
类型
复位
25
R/W
0
20
19
18
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
S5DCSEL
S2DCSEL
R/W
0
21
位/域
名称
类型
复位
描述
31:28
S7DCSEL
R/W
0x0
采样 7 数字比较器的选择
16
S4DCSEL
S1DCSEL
R/W
0
17
S0DCSEL
R/W
0
R/W
0
若 ADCSSOP0 寄存器的 S7DCOP 位置 1,则通过本位域选择将采样序
列发生器 0 的第 8 个采样发送给哪一数字比较器(及其相关的控制寄存
器集)
注意:
值
表中未列出的值是保留值。
描述
0x0 数字比较器单元 0(ADCDCCMP0 和 ADCDCCTL0)
0x1 数字比较器单元 1(ADCDCCMP1 和 ADCDCCTL1)
0x2 数字比较器单元 2(ADCDCCMP2 和 ADCDCCTL2)
0x3 数字比较器单元 3(ADCDCCMP3 和 ADCDCCTL3)
0x4 数字比较器单元 4(ADCDCCMP4 和 ADCDCCTL4)
0x5 数字比较器单元 5(ADCDCCMP5 和 ADCDCCTL5)
0x6 数字比较器单元 6(ADCDCCMP6 和 ADCDCCTL6)
0x7 数字比较器单元 7(ADCDCCMP7 和 ADCDCCTL7)
27:24
S6DCSEL
R/W
0x0
采样 6 数字比较器的选择
此位域用于定义第 7 个采样,其编码方式与 S7DCSEL 相同。
23:20
S5DCSEL
R/W
0x0
采样 5 数字比较器的选择
此位域的编码方式与 S7DCSEL 相同,但用于第 6 个采样。
19:16
S4DCSEL
R/W
0x0
采样 4 数字比较器的选择
此位域的编码方式与 S7DCSEL 相同,但用于第 5 个采样。
15:12
S3DCSEL
R/W
0x0
采样 3 数字比较器的选择
此位域的编码方式与 S7DCSEL 相同,但用于第 4 个采样。
11:8
S2DCSEL
R/W
0x0
采样 2 数字比较器的选择
此位域的编码方式与 S7DCSEL 相同,但用于第 3 个采样。
2014 年 01 月 28 日
774
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
7:4
S1DCSEL
R/W
0x0
采样 1 数字比较器的选择
此位域的编码方式与 S7DCSEL 相同,但用于第 2 个采样。
3:0
S0DCSEL
R/W
0x0
采样 0 数字比较器的选择
此位域的编码方式与 S7DCSEL 相同,但用于第 1 个采样。
2014 年 01 月 28 日
775
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 26: ADC 采样序列输入复用选择寄存器 1(ADCSSMUX1),偏移量 0x060
寄存器 27: ADC 采样序列输入复用选择寄存器 2(ADCSSMUX2),偏移量 0x080
该寄存器在序列中定义了每个采样的模拟输入配置,使用采样序列发生器 1 或 2 来执行。本寄存器
为 16 位宽,可分别定义 4 个采样的信息。详细的位描述请见在 762页 上的 ADCSSMUX0 寄存器。
ADCSSMUX1 寄存器配置采样序列发生器 1,ADCSSMUX2 寄存器配置采样序列发生器 2。
ADC 采样序列输入复用选择寄存器 n (ADCSSMUXn)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x060
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
MUX3
类型
复位
MUX2
MUX1
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15:12
MUX3
R/W
0x0
第 4 个采样的输入选择
11:8
MUX2
R/W
0x0
第 3 个采样的输入选择
7:4
MUX1
R/W
0x0
第 2 个采样的输入选择
3:0
MUX0
R/W
0x0
第 1 个采样的输入选择
MUX0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
776
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 28: ADC 采样序列控制寄存器 1(ADCSSCTL1),偏移量 0x064
寄存器 29: ADC 采样序列控制寄存器 2(ADCSSCTL2),偏移量 0x084
这些寄存器包含在序列中每个采样的配置信息,使用采样序列发生器 1 或 2 来执行。在配置一个采
样序列时,不管该序列中包含几个有效的采样动作,其最后一个有效采样动作的 END 位必须置位。
本寄存器为16位宽,可分别定义4个采样的信息。详细的位描述请见在 763页 上的 ADCSSCTL0 寄
存器。ADCSSCTL1 寄存器配置采样序列发生器 1,ADCSSCTL2寄存器配置采样序列发生器 2。
ADC 采样序列控制寄存器 n (ADCSSCTLn)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x064
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TS3
IE3
END3
D3
TS2
IE2
END2
D2
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
TS1
IE1
END1
D1
TS0
IE0
END0
D0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
类型
复位
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15
TS3
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
第 4 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 4 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 4 个采样动作时读取温度传感器。
14
IE3
R/W
0
第 4 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 4 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
13
END3
R/W
0
第 4 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 4 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
2014 年 01 月 28 日
777
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
12
D3
R/W
0
描述
第 4 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS3 位置 1 时,此标志位不得置
位。
11
TS2
R/W
0
第 3 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 3 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 3 个采样动作时读取温度传感器。
10
IE2
R/W
0
第 3 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 3 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
9
END2
R/W
0
第 3 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 3 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
8
D2
R/W
0
第 3 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS2 位置 1 时,此标志位不得置
位。
7
TS1
R/W
0
第 2 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 2 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 2 个采样动作时读取温度传感器。
2014 年 01 月 28 日
778
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
6
IE1
R/W
0
描述
第 2 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 2 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
5
END1
R/W
0
第 2 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 2 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
4
D1
R/W
0
第 2 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS1 位置 1 时,此标志位不得置
位。
3
TS0
R/W
0
第 1 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 1 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 1 个采样动作时读取温度传感器。
2
IE0
R/W
0
第 1 个采样动作的中断启用
值 描述
0 不产生原始中断
1 在第 1 个采样转换结束后,原始中断信号(INR0 位)生效。若
ADCIM 寄存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
1
END0
R/W
0
第 1 个采样是序列末端
值 描述
0 序列中的另一个采样是最后采样。
1 第 1 个采样为序列中的最后一个采样。
可在任意的采样位置结束序列。软件必须在队列中的某个位置处设置一
个 ENDn 位。当某一采样已设置了 ENDn 位,其后的采样就不会发出转
换请求(即使该域值不为零)。
2014 年 01 月 28 日
779
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
0
D0
R/W
0
描述
第 1 个采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS0 位置 1 时,此标志位不得置
位。
2014 年 01 月 28 日
780
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 30: ADC 采样序列 1 工作寄存器(ADCSSOP1),偏移量 0x070
寄存器 31: ADC 采样序列 2 工作寄存器(ADCSSOP2),偏移量 0x090
本寄存器用于设置如何处理采样序列发生器1或2的各个采样结果,是保存到采样序列FIFO中还是传
递给数字比较器。ADCSSOP1 寄存器配置采样序列发生器 1,ADCSSOP2 寄存器配置采样序列发
生器 2。
ADC 采样序列 n 工作寄存器 (ADCSSOPn)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x070
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
保留
类型
复位
保留
类型
复位
RO
0
RO
0
S3DCOP
RO
0
R/W
0
保留
RO
0
RO
0
S2DCOP
RO
0
位/域
名称
类型
复位
31:13
保留
RO
0x0000.0
12
S3DCOP
R/W
0
R/W
0
保留
RO
0
RO
0
S1DCOP
RO
0
R/W
0
保留
RO
0
RO
0
S0DCOP
RO
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样3数字比较器工作
值 描述
0 第 4 个采样储存到采样序列器 FIFOn 中。
1 第 4 个采样会被发送到由 ADCSSDC0n 寄存器中的 S3DCSEL 位
指定的数字比较器单元,且该值不会写入 FIFO。
11:9
保留
RO
0x0
8
S2DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样2数字比较器工作
定义和 S3DCOP 一样,但在第 3 个采样中使用。
7:5
保留
RO
0x0
4
S1DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样1数字比较器工作
定义和 S3DCOP 一样,但在第 2 个采样中使用。
3:1
保留
RO
0x0
0
S0DCOP
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样0数字比较器工作
定义和 S3DCOP 一样,但在第 1 个采样中使用。
2014 年 01 月 28 日
781
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 32: ADC 采样序列数字比较器选择寄存器 1(ADCSSDC1),偏移量 0x074
寄存器 33: ADC 采样序列数字比较器选择寄存器 2(ADCSSDC2),偏移量 0x094
若 ADCSSOPn 寄存器相应的 SnDCOP 位置 1,则通过本寄存器选择将采样序列 n 的指定转换采样
结果传递给哪一个数字比较器。ADCSSDC1 寄存器控制采样序列发生器 1 的选择,ADCSSDC2 寄
存器控制采样序列发生器 2 的选择。
ADC 采样序列数字比较器选择寄存器 n (ADCSSDCn)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x074
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
S3DCSEL
类型
复位
S2DCSEL
R/W
0
R/W
0
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15:12
S3DCSEL
R/W
0x0
S1DCSEL
R/W
0
S0DCSEL
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样 3 数字比较器的选择
若 ADCSSOPn 寄存器的 S3DCOP 位置位,则通过本位域选择将采样
序列器 n 的第 8 个采样发送给哪个数字比较器(及其相关的控制寄存
器)。
注意:
值
表中未列出的值是保留值。
描述
0x0 数字比较器单元 0(ADCDCCMP0 和 ADCCCTL0)
0x1 数字比较器单元 1 (ADCDCCMP1 和 ADCCCTL1)
0x2 数字比较器单元 2(ADCDCCMP2 和 ADCCCTL2)
0x3 数字比较器单元 3(ADCDCCMP3 和 ADCCCTL3)
0x4 数字比较器单元 4(ADCDCCMP4 和 ADCCCTL4)
0x5 数字比较器单元 5(ADCDCCMP5 和 ADCCCTL5)
0x6 数字比较器单元 6(ADCDCCMP6 和 ADCCCTL6)
0x7 数字比较器单元 7(ADCDCCMP7 和 ADCCCTL7)
11:8
S2DCSEL
R/W
0x0
采样 2 数字比较器的选择
此位域的编码方式与 S3DCSEL 相同,但用于第 3 个采样。
7:4
S1DCSEL
R/W
0x0
采样 1 数字比较器的选择
此位域的编码方式与 S3DCSEL 相同,但用于第 2 个采样。
3:0
S0DCSEL
R/W
0x0
采样 0 数字比较器的选择
此位域的编码方式与 S3DCSEL 相同,但用于第 1 个采样。
2014 年 01 月 28 日
782
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 34: ADC 采样序列输入复用选择寄存器 3(ADCSSMUX3),偏移量 0x0A0
该寄存器为采样序列发生器 3 所执行的采样定义模拟输入配置。本寄存器为4位宽,只能定义1个采
样的信息。详细的位描述请见在 762页 上的 ADCSSMUX0 寄存器。
ADC 采样序列输入复用选择寄存器 3 (ADCSSMUX3)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x0A0
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
MUX0
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3:0
MUX0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
第 1 个采样的输入选择
2014 年 01 月 28 日
783
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 35: ADC 采样序列控制寄存器 3(ADCSSCTL3),偏移量 0x0A4
该寄存器包含采样序列发生器 3 所执行的采样配置信息。本寄存器为4位宽,只能定义1个采样的信
息。详细的位描述请见在 763页 上的 ADCSSCTL0 寄存器。
注意:
通过此寄存器配置采样序列发生器时,必须将 END0 位置位。
ADC 采样序列控制寄存器 3 (ADCSSCTL3)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x0A4
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3
TS0
R/W
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
2
1
0
TS0
IE0
END0
D0
R/W
0
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
第 1 个采样动作的温度传感器选择
值 描述
0 在执行采样序列的第 1 个采样动作时读取 ADCSSMUXn 寄存器指
定的输入管脚。
1 在执行采样序列的第 1 个采样动作时读取温度传感器。
2
IE0
R/W
0
启用采样中断
值 描述
0 不产生原始中断
1 此采样转换结束后,原始中断信号(INR0 位)生效。若 ADCIM 寄
存器的 MASK0 位置位,就会向中断控制器提交中断。
允许同一序列中多个采样动作各自产生中断。
1
END0
R/W
0
序列末端
开始执行单个采样序列时,必须将该位置位。
值 描述
0 继续采样和转换。
1 这是序列末端。
2014 年 01 月 28 日
784
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
D0
R/W
0
描述
采样动作的差分输入选择
值 描述
0 模拟输入信号为单端信号。
1 该模拟输入是差分采样。相应的 ADCSSMUXn 半字节必须被设置
为对编号 i,即成对的输入为“2i”和“2i+1”。
由于温度传感器没有差分选项,因此当 TS0 位置 1 时,此标志位不得置
位。
2014 年 01 月 28 日
785
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 36: ADC 采样序列器 3 工作寄存器(ADCSSOP3),偏移量 0x0B0
本寄存器用于设置如何处理采样序列发生器3的各个采样结果,是保存到采样序列FIFO0中还是传递
给数字比较器。
ADC 采样序列器 3 工作寄存器 (ADCSSOP3)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x0B0
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:1
保留
RO
0x0000.000
0
S0DCOP
R/W
0
RO
0
S0DCOP
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样0数字比较器工作
值 描述
0 采样会被保存到采样序列 FIFO 3 中。
1 采样会被发送到由 ADCSSDC03 寄存器中的 S0DCSEL 位指定的
数字比较器单元,且该值不会写入 FIFO。
2014 年 01 月 28 日
786
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 37: ADC 采样序列 3 数字比较器选择寄存器(ADCSSDC3),偏移量 0x0B4
若 ADCSSOP3 寄存器的 SnDCOP 位置位,则通过本寄存器选择将采样序列 3 的指定转换采样结
果传递给哪一个数字比较器。
ADC 采样序列 3 数字比较器选择寄存器 (ADCSSDC3)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0x0B4
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
S0DCSEL
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3:0
S0DCSEL
R/W
0x0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样 0 数字比较器的选择
若 ADCSSOP3 寄存器的 S0DCOP 位置位,则通过本位域选择将采样
序列器 3 的采样发送给哪个数字比较器(及其相关的控制寄存器)。
注意:
值
表中未列出的值是保留值。
描述
0x0 数字比较器单元 0(ADCDCCMP0 和 ADCCCTL0)
0x1 数字比较器单元 1 (ADCDCCMP1 和 ADCCCTL1)
0x2 数字比较器单元 2(ADCDCCMP2 和 ADCCCTL2)
0x3 数字比较器单元 3(ADCDCCMP3 和 ADCCCTL3)
0x4 数字比较器单元 4(ADCDCCMP4 和 ADCCCTL4)
0x5 数字比较器单元 5(ADCDCCMP5 和 ADCCCTL5)
0x6 数字比较器单元 6(ADCDCCMP6 和 ADCCCTL6)
0x7 数字比较器单元 7(ADCDCCMP7 和 ADCCCTL7)
2014 年 01 月 28 日
787
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 38: ADC 数字比较器复位启动条件寄存器(ADCDCRIC),偏移量 0xD00
本寄存器能够将任一数字比较器中断或触发事件恢复到其初始状态。通过这种方式及时恢复中断,
可保障数字比较器中断或触发事件所用到的数据不会已经过期失效。
ADC 数字比较器复位启动条件寄存器 (ADCDCRIC)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0xD00
类型 WO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
DCINT7
DCINT6
DCINT5
DCINT4
DCINT3
DCINT2
DCINT1
DCINT0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
保留
类型
复位
22
21
20
19
18
17
16
DCTRIG7 DCTRIG6 DCTRIG5 DCTRIG4 DCTRIG3 DCTRIG2 DCTRIG1 DCTRIG0
保留
类型
复位
23
位/域
名称
类型
复位
描述
31:24
保留
RO
0x00
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
23
DCTRIG7
WO
0
数字比较器触发事件7
值 描述
0 没有影响
1 将数字比较器7触发事件单元恢复到其初始状态
当触发事件被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
触发事件,所以在启动新的采样序列时,务必将数字比较器恢复到其初
始状态,避免仍然使用已失效的数据。该位置位后,软件应当等到该位
清零后才可以继续。
22
DCTRIG6
WO
0
数字比较器触发事件6
值 描述
0 没有影响
1 将数字比较器6触发事件单元恢复到其初始状态
当触发事件被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
触发事件,所以在启动新的采样序列时,务必将数字比较器恢复到其初
始状态,避免仍然使用已失效的数据。
2014 年 01 月 28 日
788
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
21
DCTRIG5
WO
0
描述
数字比较器触发事件5
值 描述
0 没有影响
1 将数字比较器5触发事件单元恢复到其初始状态
当触发事件被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
触发事件,所以在启动新的采样序列时,务必将数字比较器恢复到其初
始状态,避免仍然使用已失效的数据。
20
DCTRIG4
WO
0
数字比较器触发事件4
值 描述
0 没有影响
1 将数字比较器4触发事件单元恢复到其初始状态
当触发事件被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
触发事件,所以在启动新的采样序列时,务必将数字比较器恢复到其初
始状态,避免仍然使用已失效的数据。
19
DCTRIG3
WO
0
数字比较器触发事件3
值 描述
0 没有影响
1 将数字比较器3触发事件单元恢复到其初始状态
当触发事件被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
触发事件,所以在启动新的采样序列时,务必将数字比较器恢复到其初
始状态,避免仍然使用已失效的数据。
18
DCTRIG2
WO
0
数字比较器触发事件2
值 描述
0 没有影响
1 将数字比较器2触发事件单元恢复到其初始状态
当触发事件被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
触发事件,所以在启动新的采样序列时,务必将数字比较器恢复到其初
始状态,避免仍然使用已失效的数据。
17
DCTRIG1
WO
0
数字比较器触发事件1
值 描述
0 没有影响
1 将数字比较器1触发事件单元恢复到其初始状态
当触发事件被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
触发事件,所以在启动新的采样序列时,务必将数字比较器恢复到其初
始状态,避免仍然使用已失效的数据。
2014 年 01 月 28 日
789
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
16
DCTRIG0
WO
0
描述
数字比较器触发事件0
值 描述
0 没有影响
1 将数字比较器0触发事件单元恢复到其初始状态
当触发事件被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
触发事件,所以在启动新的采样序列时,务必将数字比较器恢复到其初
始状态,避免仍然使用已失效的数据。
15:8
保留
RO
0x00
7
DCINT7
WO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
数字比较器中断7
值 描述
0 没有影响
1 将数字比较器7中断单元恢复到其初始状态
当中断被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
中断,所以在启动新的采样序列时,务必将数字比较器恢复到其初始状
态,避免仍然使用已失效的数据。
6
DCINT6
WO
0
数字比较器中断6
值 描述
0 没有影响
1 将数字比较器6中断单元恢复到其初始状态
当中断被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
中断,所以在启动新的采样序列时,务必将数字比较器恢复到其初始状
态,避免仍然使用已失效的数据。
5
DCINT5
WO
0
数字比较器中断5
值 描述
0 没有影响
1 将数字比较器5中断单元恢复到其初始状态
当中断被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
中断,所以在启动新的采样序列时,务必将数字比较器恢复到其初始状
态,避免仍然使用已失效的数据。
2014 年 01 月 28 日
790
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
4
DCINT4
WO
0
描述
数字比较器中断4
值 描述
0 没有影响
1 将数字比较器4中断单元恢复到其初始状态
当中断被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
中断,所以在启动新的采样序列时,务必将数字比较器恢复到其初始状
态,避免仍然使用已失效的数据。
3
DCINT3
WO
0
数字比较器中断3
值 描述
0 没有影响
1 将数字比较器3中断单元恢复到其初始状态
当中断被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
中断,所以在启动新的采样序列时,务必将数字比较器恢复到其初始状
态,避免仍然使用已失效的数据。
2
DCINT2
WO
0
数字比较器中断2
值 描述
0 没有影响
1 将数字比较器2中断单元恢复到其初始状态
当中断被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
中断,所以在启动新的采样序列时,务必将数字比较器恢复到其初始状
态,避免仍然使用已失效的数据。
1
DCINT1
WO
0
数字比较器中断1
值 描述
0 没有影响
1 将数字比较器1中断单元恢复到其初始状态
当中断被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
中断,所以在启动新的采样序列时,务必将数字比较器恢复到其初始状
态,避免仍然使用已失效的数据。
0
DCINT0
WO
0
数字比较器中断0
值 描述
0 没有影响
1 将数字比较器0中断单元恢复到其初始状态
当中断被清除时,此标志位将自动清零。
由于数字比较器采用ADC的当前转换值以及前一转换值来决定何时产生
中断,所以在启动新的采样序列时,务必将数字比较器恢复到其初始状
态,避免仍然使用已失效的数据。
2014 年 01 月 28 日
791
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 39: ADC 数字比较器控制寄存器 0(ADCDCCTL0),偏移量 0xE00
寄存器 40: ADC 数字比较器控制寄存器 1(ADCDCCTL1),偏移量 0xE04
寄存器 41: ADC 数字比较器控制寄存器 2(ADCDCCTL2),偏移量 0xE08
寄存器 42: ADC 数字比较器控制寄存器 3(ADCDCCTL3),偏移量 0xE0C
寄存器 43: ADC 数字比较器控制寄存器 4(ADCDCCTL4),偏移量 0xE10
寄存器 44: ADC 数字比较器控制寄存器 5(ADCDCCTL5),偏移量 0xE14
寄存器 45: ADC 数字比较器控制寄存器 6(ADCDCCTL6),偏移量 0xE18
寄存器 46: ADC 数字比较器控制寄存器 7(ADCDCCTL7),偏移量 0xE1C
本寄存器配置用于产生处理器中断触发事件的比较编码。
ADC 数字比较器控制寄存器 n (ADCDCCTLn)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0xE00
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
RO
0
CIE
位/域
名称
类型
复位
31:5
保留
RO
0x0000.0
4
CIE
R/W
0
CIC
R/W
0
CIM
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
比较中断启用
值 描述
0 禁用比较中断。ADC 转换结果始终不会产生中断。
1 启用比较中断。根据 CIC 和 CIM 域的设置并通过 ADC 转换数据来
判断是否应当产生中断。
2014 年 01 月 28 日
792
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
3:2
CIC
R/W
0x0
比较中断条件
当 ADC 转换结果与 COMP0 值以及 COMP1 值进行比较时,此位域定
义哪个工作区域产生中断。COMP0 和 COMP1 域均在 ADCDCCMPx
寄存器中定义。
值
描述
0x0 低值带
ADC 结果 < COMP0 ≤ COMP1
0x1 中值带
COMP0 ≤ ADC 结果 < COMP1
0x2 保留
0x3 高值带
COMP0 < COMP1 ≤ ADC 结果
1:0
CIM
R/W
0x0
比较中断模式
此位域定义比较器产生中断的工作模式。
值
描述
0x0 持续触发模式
只要ADC的转换结果处于选定的工作区域内,就产生中断
0x1 单次触发模式
当ADC的转换结果首次处于选定的工作区域内时,将产生一次中
断
0x2 迟滞持续触发模式
只要ADC的转换结果处于选定的工作区域内,就会持续产生中断;
只有当转换结果到达相反的工作区域内时才会清除迟滞状态。
0x3 迟滞单次触发模式
当 ADC 的转换结果首次处于选定的工作区域内时,将产生一次中
断。只有当转换结果到达相反的工作区域时,才会清除迟滞状态。
此后才可能再次中断。
2014 年 01 月 28 日
793
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 47: ADC 数字比较器范围寄存器 0(ADCDCCMP0),偏移量 0xE40
寄存器 48: ADC 数字比较器范围寄存器 1(ADCDCCMP1),偏移量 0xE44
寄存器 49: ADC 数字比较器范围寄存器 2(ADCDCCMP2),偏移量 0xE48
寄存器 50: ADC 数字比较器范围寄存器 3(ADCDCCMP3),偏移量 0xE4C
寄存器 51: ADC 数字比较器范围寄存器 4(ADCDCCMP4),偏移量 0xE50
寄存器 52: ADC 数字比较器范围寄存器 5(ADCDCCMP5),偏移量 0xE54
寄存器 53: ADC 数字比较器范围寄存器 6(ADCDCCMP6),偏移量 0xE58
寄存器 54: ADC 数字比较器范围寄存器 7(ADCDCCMP7),偏移量 0xE5C
本寄存器定义两个比较门限值,ADC模块据此判断转换的数据属于哪一工作区域。
注意:
注意:COMP1 域的值必须大于等于 COMP0 域的值,否则可能产生无法预料的后果。
ADC 数字比较器范围寄存器 n (ADCDCCMPn)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0xE40
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
保留
类型
复位
RO
0
RO
0
15
14
RO
0
RO
0
20
19
18
17
16
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
21
COMP1
COMP0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
描述
31:28
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
27:16
COMP1
R/W
0x000
门限1
该域中的值与 ADC 转换结果进行比较。比较的结果用于决定转换结果
是否在高值带范围内。
请注意,COMP1 的值必须大于等于 COMP0 的值。
15:12
保留
RO
0x0
11:0
COMP0
R/W
0x000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
门限0
该域中的值与 ADC 转换结果进行比较。比较的结果用于决定转换数据
是否在低值带范围内。
2014 年 01 月 28 日
794
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 55: ADC 外设属性寄存器(ADCPP),偏移量 0xFC0
ADCPP 寄存器提供关于 ADC 模块属性的寄存器。
ADC 外设属性寄存器 (ADCPP)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0xFC0
类型 RO, 复位 0x00B0.20C7
31
30
29
28
27
26
25
24
23
RO
0
RO
0
RO
0
15
14
13
RO
0
RO
0
RO
1
22
21
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
0
RO
1
12
11
10
9
8
7
6
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
1
保留
类型
复位
DC
类型
复位
19
18
17
RO
1
RO
0
RO
0
RO
0
RO
0
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
1
RO
1
RO
1
TS
20
RSL
TYPE
CH
位/域
名称
类型
复位
31:24
保留
RO
0
23
TS
RO
0x1
16
MSR
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
温度传感器
值 描述
0 该 ADC 模块没有温度传感器。
1 该 ADC 模块有一个温度传感器。
该域提供与传统 DC1 寄存器的 TEMPSNS 位相似的功能。
22:18
RSL
RO
0xC
分辨率
该域指定一个最大的二进制数值,用以表示已转换的采样。该域编码为
一个二进制的数,范围在 0 到 32 位之间。
17:16
TYPE
RO
0x0
ADC 的架构
值
描述
0x0
SAR
0x1 - 0x3 保留
15:10
DC
RO
0x8
数字比较器计数
该域指定可用于转换器的 ADC 数字比较器的数量。该域编码为一个二
进制的数,范围在 0 到 63 之间。
该域提供与传统 DC9 寄存器的 ADCnDCn 位相似的功能。
9:4
CH
RO
0xC
ADC 通道计数
该域指定可用于转换器的 ADC 输入通道的数量。本域编码为一个二进
制的数,范围在 0 到 63 之间。
该域提供与传统 DC3 和 DC8 寄存器的 ADCnAINn 位相似的功能。
2014 年 01 月 28 日
795
Texas Instruments-预告信息
模-数转换器(ADC)
位/域
名称
类型
复位
描述
3:0
MSR
RO
0x7
最大 ADC 采样率
该域指定最大 ADC 转换数/秒。该 MSR 域编码如下:
值
描述
0x0
保留
0x1
125 ksps
0x2
保留
0x3
250 ksps
0x4
保留
0x5
500 ksps
0x6
保留
0x7
1 Msps
0x8 - 0xF 保留
2014 年 01 月 28 日
796
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 56: ADC 外设配置寄存器(ADCPC),偏移量 0xFC4
ADCPC 寄存器提供关于外设配置的信息。
ADC 外设配置寄存器 (ADCPC)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0xFC4
类型 R/W, 复位 0x0000.0007
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
1
R/W
1
R/W
1
保留
类型
复位
保留
类型
复位
位/域
名称
类型
31:4
保留
RO
3:0
SR
R/W
SR
复位
描述
0x0000.0000 软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
0x7
ADC 采样率
该域指定 ADC 转换数/秒,适用于运行模式、睡眠模式和深度睡眠模式。
该域编码是以传统的 RCGC0 寄存器编码为基础的。该可编程的采样速
率不能超过由 ADCPP 寄存器中的 MSR 位指定的最大采样速率。该 SR
域编码如下:
值
描述
0x0
保留
0x1
125 ksps
0x2
保留
0x3
250 ksps
0x4
保留
0x5
500 ksps
0x6
保留
0x7
1 Msps
0x8 - 0xF 保留
2014 年 01 月 28 日
797
Texas Instruments-预告信息
模-数转换器(ADC)
寄存器 57: ADC 时钟配置寄存器(ADCCC),偏移量 0xFC8
ADCCC 寄存器控制 ADC 模块的时钟源。
要将 PIOSC 用作 ADC 的时钟源,首先应给 PLL 上电,然后通过 CS 位域启用 PIOSC,再禁用
PLL。
要将 MOSC 用作 ADC 的时钟源,首先应给 PLL 上电,然后启用 ADC 模块的时钟,再禁用 PLL,
最后将系统时钟切换至 MOSC。
ADC 时钟配置寄存器 (ADCCC)
ADC0 基址: 0x4003.8000
ADC1 基址: 0x4003.9000
偏移量 0xFC8
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
CS
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3:0
CS
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
ADC 时钟源
下表指定了可以产生 ADC 时钟输入的时钟源,请参考 图5-5(195页)。
值
描述
0x0
可以是 16 MHz 系统时钟(如果 PLL 被旁路),也可以是通
过 PLL ÷ 25 而得到的 16 MHz 时钟(默认)。
请注意:如果不使用 PLL,则系统时钟必须大于等于 16
MHz。
0x1
PIOSC
PIOSC 为 ADC 提供 16 MHz 时钟源。如果 PIOSC 用作时
钟源,ADC 模块可继续以深度睡眠模式运行。
0x2 - 0xF 保留
2014 年 01 月 28 日
798
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
14
通用异步收发器(UART)
TM4C1231D5PM 控制器包括八个具有以下特征的通用异步收发器 (UART):
■ 可编程的波特率发生器,在常规模式(16 分频)下最高可达 5 Mbps,在高速模式(8 分频)下
最高可达 10 Mbps
■ 相互独立的 16×8 发送 (TX) FIFO和接收 (RX) FIFO,可降低中断服务对 CPU 的占用
■ FIFO 长度可编程,包括提供传统双缓冲接口的 1 字节深的操作
■ FIFO触发深度有如下级别可选:1/8、1/4、1/2、3/4或7/8;
■ 标准的异步通讯位:起始位、停止位、奇偶校验位;
■ 线中止的产生与检测;
■ 完全可编程的串行接口特性
– 可包含5、6、7或8个数据位
– 可产生/检测奇偶校验位,支持偶校验位、奇校验位、粘着校验位或无校验位
– 可产生1或2个停止位
■ IrDA串行红外(SIR)编解码器
– 可选择采用 IrDA 串行红外 (SIR) 输入输出或普通 UART 输入输出
– 支持 IrDA SAR 编解码功能,半双工时数据传输率最高 115.2 Kbps
– 支持标准的 3/16 位时间以及低功耗位时间(1.41~2.23 μs)
– 可编程的内部时钟发生器,可对参考时钟源进行1~256分频以提供低功耗位时间
■ 支持与 ISO 7816 智能卡的通讯
■ 调制解调器流量控制和状态(在 UART1 模块上)
■ 支持 EIA-485(9 位)
■ 提供标准的基于 FIFO 深度的中断以及发送结束中断
■ 用微型直接内存访问 (µDMA) 有效的传输数据
– 相互独立的发送通道和接收通道
– 当接收 FIFO 中有数据时产生单次请求;当接收 FIFO 到达预设的触发深度时产生猝发请求
– 当发送 FIFO 中有空闲单元时产生单次请求;当发送 FIFO 到达预设的触发深度时产生猝发请
求
2014 年 01 月 28 日
799
Texas Instruments-预告信息
通用异步收发器(UART)
14.1
结构框图
图 14-1. UART模块的结构图
PIOSC
时钟控制
系统时钟
UARTCC
UARTCTL
DMA 请求
波特时钟
DMA 控制
UARTDMACTL
中断
中断控制
TxFIFO
16 x 8
UARTIFLS
UARTIM
UARTMIS
UARTRIS
UARTICR
标识寄存器
.
.
.
UARTPCellID0
发送器
(带 SIR 发送
编码器)
UARTPCellID1
UnTx
波特率 发生器
UARTPCellID2
UARTPCellID3
UARTDR
UARTIBRD
UARTFBRD
UARTPeriphID0
接收器 (带
SIR 接收
解码器)
控制/状态
UARTPeriphID1
UnRx
UARTRSR/ECR
UARTPeriphID2
RxFIFO
16 x 8
UARTFR
UARTPeriphID3
UARTLCRH
UARTPeriphID4
UARTCTL
UARTPeriphID5
UARTILPR
.
.
.
UART9BITADDR
UARTPeriphID6
UART9BITAMASK
UARTPeriphID7
14.2
UARTPP
信号描述
下表列出了 UART 模块的外部信号并描述了每个信号的功能。UART 信号通常是 GPIO 信号的备选
功能,因此这些管脚在复位时默认设置为 GPIO 信号;只有 U0Rx 和 U0Tx 这 2 个管脚默认即为
UART 功能。表中“复用管脚/赋值”一列是各UART信号所对应的GPIO管脚。应对 GPIO 备用功能选
择 (GPIOAFSEL) 寄存器(595页)的 AFSEL 位进行置位以选择 UART 功能。括号中的数字表示必
须写入 GPIO 端口控制 (GPIOPCTL) 寄存器(612页)中 PMCn 位域的编码,以便向指定的 GPIO
端口引脚分配 UART 信号。有关如何配置 GPIO 的更多信息,请参阅“通用输入/输入端口
(GPIOs)”(575页)。
表 14-1. UART 信号 (64LQFP)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
U0Rx
17
PA0 (1)
I
TTL
UART 0模块接收信号。
U0Tx
18
PA1 (1)
O
TTL
UART 0模块发送信号。
U1CTS
15
29
PC5 (8)
PF1 (1)
I
TTL
UART 模块 1 CTS(Clear to Send,允许发送)调
制解调器流控输入信号。
2014 年 01 月 28 日
800
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 14-1. UART 信号 (64LQFP)(续)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
U1RTS
16
28
PC4 (8)
PF0 (1)
O
TTL
UART 模块 1 RTS(Request to Send,请求发送)
调制解调器流控输出线。
U1Rx
16
45
PC4 (2)
PB0 (1)
I
TTL
UART 1模块接收信号。
U1Tx
15
46
PC5 (2)
PB1 (1)
O
TTL
UART 1模块发送信号。
U2Rx
53
PD6 (1)
I
TTL
UART 2模块接收信号。
U2Tx
10
PD7 (1)
O
TTL
UART 2模块发送信号。
U3Rx
14
PC6 (1)
I
TTL
UART 3模块接收信号。
U3Tx
13
PC7 (1)
O
TTL
UART 3模块发送信号。
U4Rx
16
PC4 (1)
I
TTL
UART 4模块接收信号。
U4Tx
15
PC5 (1)
O
TTL
UART 4模块发送信号。
U5Rx
59
PE4 (1)
I
TTL
UART 5模块接收信号。
U5Tx
60
PE5 (1)
O
TTL
UART 5模块发送信号。
U6Rx
43
PD4 (1)
I
TTL
UART 6模块接收信号。
U6Tx
44
PD5 (1)
O
TTL
UART 6模块发送信号。
U7Rx
9
PE0 (1)
I
TTL
UART 7模块接收信号。
U7Tx
8
PE1 (1)
O
TTL
UART 7模块发送信号。
a. TTL 表示管脚的电压水平与 TTL 一致。
14.3
功能说明
每个 TM4C1231D5PM UART 可执行“并-串”和“串-并”转换功能。其功能与 16C550 UART 类似,
但两者的寄存器不兼容。
用户可通过 UART 控制 (UARTCTL) 寄存器(见 823页)的 TXE 和 RXE 位对 UART 进行发送和/或
接收配置。复位后,发送和接收默认都是使能的。在对任一控制寄存器编程之前,必须将 UART 禁
能,这可以通过清零 UARTCTL 寄存器的 UARTEN 位来实现。假如在UART发送或接收期间进行此
操作,则UART模块会在当前进行的数据会话结束后才停止运行。
UART模块还包含串行红外(SIR)编解码模块,可直接连接红外收发器实现IrDA SIR物理层。SIR
功能通过 UARTCTL 寄存器进行设置。
14.3.1
发送/接收逻辑
发送逻辑单元从发送FIFO取出数据后执行并-串转换。控制逻辑输出串行位流时,最先输出起始位,
之后按照控制寄存器的配置依次输出若干数据位(最低有效位在前)、奇偶校验位和停止位。详见
图14-2(802页)。
接收逻辑单元在检测到有效的起始脉冲后,对接收到的串行位码流执行串-并转换。在接收过程中还
要进行溢出错误检测、奇偶校验、帧错误检测、线中止检测,并将这些状态随数据一同写入接收FIFO
中。
2014 年 01 月 28 日
801
Texas Instruments-预告信息
通用异步收发器(UART)
图 14-2. UART字符帧
UnTX
LSB
1
5-8 数据 位
0
n
开始
14.3.2
1-2 个
停止 位
MSB
奇偶校验位
(如启用)
波特率的产生
波特率分频系数是由16位整数部分和6位小数部分组成的22位二进制数。整数部分和小数部分共同
确定分频系数,并由此决定位时间。波特率分频值支持小数部分,使得 UART 可以产生各种标准波
特率。
16 位整数通过 UART 波特率分频值整数 (UARTIBRD) 寄存器(见 819页)进行加载;而 6 位小数则
通过 UART 波特率分频值小数 (UARTFBRD) 寄存器(见 820页)进行加载。波特率分频值 (BRD)
和系统时钟之间具有以下关系(其中 BRDI 是 BRD 的整数部分,BRDF 是小数部分,之间用一个小
数点隔开。)
BRD = BRDI + BRDF = UARTSysClk / (ClkDiv * 波特率)
式中 UARTSysClk 是连接到 UART 模块的系统时钟,ClkDiv 是一个常数,取值为 16(UARTCTL
寄存器的 HSE = 0 时)或 8(HSE = 1 时)。默认情况下,该系统时钟为“时钟控制”(193页)中描
述的主系统时钟。另外,UART 可根据内部精确振荡器 (PIOSC) 计时,不受系统时钟选择的影响。
这使 UART 时钟能够独立于系统时钟 PLL 设置编程。请参考 UARTCC 寄存器获取更多详细信息。
6 位小数部分(即写入 UARTFBRD 寄存器 DIVFRAC 位域的数值)的计算方法是:将波特率除数
的小数部分乘以 64,之后加 0.5 以抵消舍入误差:
UARTFBRD[DIVFRAC] = integer(BRDF * 64 + 0.5)
UART 模块产生内部波特率参考时钟,其频率为波特率的 8 或 16 倍(取决于 UARTCTL 寄存器第
5 位 HSE 的设置),分别称为 Baud8 或 Baud16。此参考时钟一方面经过8分频或16分频后产生发
送时钟,另一方面在接收过程中用于错误检测。请注意,在 ISO 7816 智能卡模式(在 UARTCTL
寄存器中的 SMART 位置位时)下,HSE 位的状态对时钟产生没有影响。
UARTIBRD 和 UARTFBRD 寄存器与 UART 线控,高字节 (UARTLCRH) 寄存器(见 821页)一起
组成一个 30 位内部寄存器。这个内部寄存器只在对 UARTLCRH 寄存器执行写操作时才会更新,因
此更改波特率除数之后必须写一次 UARTLCRH 寄存器,更改内容才会生效。
更新波特率寄存器时,有如下4种可能的操作序列:
■ 写 UARTIBRD,写 UARTFBRD,写 UARTLCRH;
■ 写 UARTFBRD,写 UARTIBRD,写 UARTLCRH;
■ 写 UARTIBRD,写 UARTLCRH;
■ 写 UARTFBRD,写 UARTLCRH
14.3.3
数据传输
数据在接收或发送时各保存在16字节深的FIFO中,接收FIFO的每个单元还有额外4位保存状态信
息。当需要进行发送时,先将数据写入发送FIFO。若 UART 模块已经使能,则将按 UARTLCRH 寄
存器所配置的参数开始发送数据帧。UART模块会持续发送数据,直到发送FIFO中没有可发数据为
止。数据一经写入发送 FIFO(即,如果该 FIFO 不为空),UART 标志 (UARTFR) 寄存器(见 816
页)中的 BUSY 位即会生效,并且在数据发送期间一直保持有效。只有当发送 FIFO 已空、并且最
2014 年 01 月 28 日
802
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
后 1 个字符(包括停止位)已经从移位寄存器中发出后,BUSY 位才会失效。即使UART模块不再
使能,此标志位也能指示出UART是否处于忙状态。
在接收器空闲(UnRx 信号持续为 1)且数据输入变为“低电平”(收到起始位)时,接收计数器开始
运行,并且根据 UARTCTL(详见 “发送/接收逻辑”(801页))中的 HSE 位(第 5 位)的设置,在
Baud16 的第八个周期或者 Baud8 的第四个周期对数据进行采样。
如果 UnRx 信号在 Baud16 的第 8 个周期(HSE 清零)或者 Baud 8 的第 4 个周期(HSE 置位)仍
然为低电平,则起始位有效且可以识别,否则即忽略该起始位。检测到有效起始位后,会按照设定
的数据字符长度和 UARTCTL 中 HSE 位的值,每 16 个 Baud16 周期或每 8 个 Baud8 周期(即:
每个位周期)对后续数据位进行一次采样。之后将捕捉并校验奇偶校验位(如果使能了奇偶校验)。
数据长度和奇偶校验位在 UARTLCRH 寄存器中设置。
最后,通过 UnRx 信号为高电平则判定停止位有效,否则视为发生帧错误。若成功接收到一帧数据,
则数据和与之相关的错误标志都将保存到接收FIFO中。
14.3.4
串行红外(SIR)
UART模块包含有IrDA串行红外(SAR)编解码模块。IrDA SAR模块能够在异步UART数据流与半
双工串行SIR接口之间进行相互转换。不在片上执行任何模拟信号处理。SIR 模块的作用是向 UART
提供数字编码输出和解码输入。使能 SIR 功能后,SIR 模块将通过 UnTx 和 UnRx 管脚实施 SIR 协
议。因此这两个管脚应与片外的红外收发器连接,实现完整的IrDA SIR物理层链路。SIR 模块可以
接收和发送,但是只能以半双工方式进行红外通信,所以它不能同时进行接收和发送。发送必须停
止,然后才能接收数据。IrDA SIR 物理层规定发送和接收之间的最小延迟为 10ms。SIR模块具有两
种工作模式:
■ IrDA标准模式:输出脚上的逻辑0是一个宽度为3/16位周期(按照选定的波特率)的高脉冲;逻
辑1则以静态的低电平输出。这些电平控制红外发送器的驱动装置,逢 0 电平便发送光脉冲。在
接收端,接收到的光脉冲给接收器的光敏晶体管基极加电,将其输出拉至低电平并将 UART 输
入管脚置为低电平。
■ IrDA 低功耗模式:更改 UARTCTL 寄存器(见 823页)的适当位后,发送红外脉冲的宽度将变更
为内部产生的 IrLPBaud16 信号的三倍(在额定频率 1.8432MHz 下即为 1.63μs)。
无论设备是处于正常还是低功耗 IrDA 模式,只要在首次检测到低电平后一个 IrLPBaud16 周期后,
解码器仍然为低电平,则起始位视为有效。这使得正常模式的 UART 能接收低功耗模式 UART 发来
的数据,实现传输小到 1.41 µs 的脉冲。因此,在低功耗和正常模式操作中,UARTILPR 寄存器的
ILPDVSR 域必须进行编程,以使 1.42 MHz < FIrLPBaud16 < 2.12 MHz,从而产生 1.41–2.11 μs (是
IrLPBaud16 周期的三倍)的低功耗脉冲。IrLPBaud16 的最低频率须确保脉宽小于一个 IrLPBaud16
时钟周期的脉冲被忽略,但高于 1.4μs 时则为有效脉冲。
图14-3(804页) 显示了含有 IrDA 调制和不含 IrDA 调制时的 UART 发送和接收信号。
2014 年 01 月 28 日
803
Texas Instruments-预告信息
通用异步收发器(UART)
图 14-3. IrDA 数据调制
数据 位
起始
位
UnTx
1
0
0
0
1
停止
位
0
0
1
1
1
带 IrDA 调制的 UnTx
3
16 位 周期
位 周期
带 IrDA 调制的 UnRx
UnRx
0
1
0
1
起始
0
数据 位
0
1
1
0
1
停止
无论是IrDA标准模式还是低功耗模式:
■ 发送时,UART数据位作为编码的基础;
■ 接收时,解码后的位转发给UART接收逻辑单元。
IrDA SIR物理层协议制定了半双工的通信链路标准,其中规定发送和接收之间至少间隔10ms的延
时。UART模块本身并不提供此延时,必须由用户的应用软件予以保障。对于很多一体化的红外收
发器来说这个延时非常必要,因为从发射LED耦合过来的光功率将导致红外接收电子部分发生偏置
甚至饱和。此延时通常称为等待时间或接收器建立时间。
14.3.5
对ISO 7816的支持
UART模块为与ISO 7816智能卡通讯提供一些基本的支持。当 UARTCTL 寄存器的第 3 位 (SMART)
置位时,UnTx 信号被用作位时钟信号,UnRx 信号被用作连接至智能卡的半双工通讯线路。可将
GPIO 信号用于向智能卡发出复位信号。其余智能卡信号应由系统设计提供。此模式下的最大时钟
速率是系统时钟/16。
当启用 ISO 7816 模式后,UARTLCRH 寄存器必须设置为:8 位数据字(WLEN 位域 6:5 配置为
0x3),带偶校验位(PEN 置位、EPS 置位)。UART 模块在这种模式下忽略 UARTLCRH 寄存器
STP2 位的设置,自动采用 2 个停止位。
假如在发送期间检测到奇偶校验错误,UnRx将在第二个停止位期间拉低。此时UART将中止当前传
输过程、清空发送FIFO并丢弃其中的所有数据,同时产生一个奇偶校验错误中断。软件可以据此检
测到发生的异常状况,并重新发送受影响的数据。请注意,在这种情况下UART模块并不会自动重
发被丢弃的数据。
14.3.6
对调制解调器握手信号的支持
本节介绍在将 UART 作为数据终端设备 (DTE) 或数据通信设备 (DCE) 连接时,如何为 UART1 配置
并使用调制解调器的流控信号。一般来说,调制解调器都是DCE,连接到调制解调器的设备都是
DTE。
14.3.6.1
信号
根据 UART 是用作 DCE 还是 DTE,UART1 所提供的状态信号有所不同。用作 DTE 时,调制解调
器的流控信号定义如下:
■ U1CTS 允许发送信号;
2014 年 01 月 28 日
804
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
■ U1RTS 请求发送信号;
用作 DCE 时,调制解调器的流控信号定义如下:
■ U1CTS 请求发送信号;
■ U1RTS 允许发送信号;
14.3.6.2
流控
流控既可以通过硬件实现也可以通过软件实现。下面将分别介绍这两种方法:
硬件流控(RTS/CTS)
两设备之间的硬件流控需将发送方的 U1RTS 输出端连接到接收方的允许发送输入端,并将接收方的
请求发送输出端连接到发送方的 U1CTS 输入端。
U1CTS 输入信号控制发送方。发送方只有在 U1CTS 输入端生效(拉低)的情况下才能发送数据。
U1RTS 输出信号指示接收方的 FIFO 状态。U1CTS将保持信号生效,直到达到预编程的水印电平,此
时表示接收方 FIFO 无法再存储更多字符。
UARTCTL 寄存器的第 15 位 (CTSEN) 和第 14 位 (RTSEN) 指定流控模式,如表14-2(805页) 中
所述。
表 14-2. 流控模式
CTSEN
RTSEN
描述
1
1
RTS与CTS流控使能
1
0
仅CTS流控使能
0
1
仅RTS流控使能
0
0
RTS与CTS流控均禁用
请注意当 RTSEN 为 1 时,软件将无法通过 UARTCTL 寄存器的请求发送 (RTS) 位改变 U1RTS 的
输出值,因此应当忽略 RTS 位的状态。
软件流控(调制解调器状态中断)
两设备间的软件流控实现方法是通过中断来指示UART的状态。使用 UARTIM 寄存器的 3 位,可为
U1CTS 信号发出中断。可使用 UARTRIS 寄存器和 UARTMIS 寄存器查看原始中断状态和屏蔽中断
状态。以上中断可通过 UARTICR 寄存器予以清除。
14.3.7
9 位 UART 模式
UART 提供 9 位模式,可利用 UART9BITADDR 寄存器中的 9BITEN 位将其启用。此功能在 UART
的多分支配置中非常有用,在这种配置下,与多个从机相连的单个主机可以通过某个从机的地址或
带地址字节限定符的地址集,与该从机相互通信。所有从机都会在奇偶校验位查找是否有该地址限
定符,如果设置了该限定符,则对接收到的字节和预设地址进行比较。如果地址匹配,则继续接收
或发送数据。如果地址不匹配,则丢弃该地址字节以及后续的所有数据字节。如果 UART 处于 9 位
模式,则接收器在没有奇偶校验的模式下工作。可将该地址预先定义为与接收到的字节匹配,可通
过 UART9BITADDR 寄存器进行配置。通过使用 UART9BITAMASK 寄存器中的地址屏蔽,匹配范
围可扩大为地址集。默认情况下,UART9BITAMASK 为 0xFF,表示仅匹配指定的地址。
找不到匹配项时,会丢弃其余数据字节和清零的第 9 位。如果找到匹配项,则向 NVIC 发出一个中
断信号,以便进一步操作。后续数据字节和清零的第 9 位存放在 FIFO 中。如果在这种情况下启用
了 μDMA 和/或 FIFO 操作,软件可以屏蔽该中断,无需处理器干预。9 位模式下的所有发送操作均
为数据字节且第 9 位清零。软件可以将奇偶校验设定改写为粘着奇偶校验,对某个字节启用奇校验,
2014 年 01 月 28 日
805
Texas Instruments-预告信息
通用异步收发器(UART)
从而改写将置位(以指示地址)的第 9 位。要让发送时间与正确的奇偶校验设定匹配,可将地址字
节作为单次传输发送,而不是突发传输。发送 FIFO 并不含地址/数据位,因此软件应该相应地启用
地址位。
14.3.8
FIFO操作
UART 有 2 个 16x8 的 FIFO;一个用于发送,另一个用于接收。这两个 FIFO 都通过 UART 数据
(UARTDR) 寄存器(见 811页)进行访问。对 UARTDR 寄存器执行读操作将返回 12 位的结果,其
中包含 8 个数据位和 4 个错误标志位;对 UARTDR 寄存器执行写操作,可将 8 位数据写入发送
FIFO 中。
复位后,两个FIFO默认都是禁用的,其表现如同1字节深的保持寄存器。可通过对 UARTLCRH 中
的 FEN 位进行置位,从而启用这两个 FIFO(821页)。
可通过 UART 标志 (UARTFR) 寄存器(见 816页)和 UART 接收状态 (UARTRSR) 寄存器监控 FIFO
的状态。而对空、满和溢出条件的监控则是由硬件来完成的。UARTFR 寄存器包含空和满的标志
(TXFE、TXFF、RXFE 和 RXFF 位),而 UARTRSR 寄存器则通过 OE 位指示溢出状态。如果
FIFO 被禁用,将根据 1 字节深的保持寄存器的状态设置空和满标志。
令 FIFO 产生中断的触发点是通过 UART 中断 FIFO 深度选择 (UARTIFLS) 寄存器(见827页)来控
制的。两个FIFO可分别配置为不同的触发深度。可选的触发深度包括1/8、1/4、1/2、3/4和7/8。举
例来说,若设置接收FIFO的触发深度为1/4,则当UART连续收到4个数据字节后即会产生一个接收
中断。复位后两个FIFO的默认触发深度都是1/2。
14.3.9
中断信号
在出现以下状况时UART模块会产生中断:
■ 溢出(Overrun)错误
■ 线中止错误
■ 奇偶校验错误(Parity Error)
■ 帧错误
■ 接收超时
■ 发送(当满足 UARTIFLS 寄存器中 TXIFLSEL 位定义的条件时,或 UARTCTL 寄存器的 EOT
位置 1 并且发送数据的最后 1 位已经从串行移位寄存器发出时)
■ 接收(当满足 UARTIFLS 寄存器中 RXIFLSEL 位定义的条件时)
在发送给中断控制器之前,所有中断事件先进行一次逻辑或操作,因此同一时刻不管实际发生了多
少中断事件,UART模块都只向中断控制器产生一个中断请求。通过读取 UART 屏蔽中断状态
(UARTMIS) 寄存器(见834页),软件可以在一个中断服务例程中处理多个中断事件。
对 UART 中断屏蔽 (UARTIM) 寄存器(见829页)中相应的 IM 位进行置位,可以定义能够触发控制
器级别中断的中断事件。如果不使用中断,总是可通过 UART 原始中断状态 (UARTRIS) 寄存器(见
831页)查看原始中断状态。
向 UART 中断清除 (UARTICR) 寄存器(见837页)的相应位写 1,即可(为 UARTMIS 寄存器和
UARTRIS 寄存器)清除中断。
当接收方 FIFO 不为空时,接收超时中断有效,且在一个 32 位周期内(HSE 清零时)或在一个 64
位周期内(HSE 置位时)不再接收数据。接收超时中断既可以自动清除(读出 FIFO 或保持寄存器
中的所有数据,使得 FIFO 变为空状态),也可以向 UARTICR 寄存器的相应位写 1 手动清除。
2014 年 01 月 28 日
806
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
发生以下事件之一时,接收中断将更改状态:
■ 如果 FIFO 启用且接收 FIFO 到达设置的触发级别,RXRIS 位被置位。通过从接收 FIFO 读取数
据直至其低于触发级别,或向 RXIC 位写 1 清除中断,即可将接收中断清除。
■ 如果 FIFO 禁用(拥有一个位置的深度)且接收数据已填充该位置,则 RXRIS 位被置位。通过
对接收 FIFO 执行一次读取,或向 RXIC 位写 1 清除中断来清零,即可将接收中断清除。
发生以下事件之一时,发送中断将更改状态:
■ 如果 FIFO 启用且发送 FIFO 超出设置的触发水平,TXRIS 位被置位。发送的数据量超过某一水
平时将会触发发送中断信号,因此 FIFO 载入的数据量必须超过既定触发水平,否则不会再产生
发送中断信号。发送中断通过向发送 FIFO 写入数据直至其高于触发级别来清零,或通过向 TXIC
位写 1 清除中断来清零。
■ 如果 FIFO 禁用(拥有一个位置的深度)且发送器单个位置中无数据存在,则 TXRIS 位被置位。
发送中断通过对发送 FIFO 执行一次写入来清零,或通过向 TXIC 位写 1 清除中断来清零。
14.3.10
回送操作
可对 UARTCTL 寄存器(见823页)的 LBE 位进行置位,从而使 UART 处于内部回送模式,以便进
行诊断和调试。在回送模式下,从 UnTx 输出端发送的数据将被 UnRx 输入端接收。请注意,应先
对 LBE 位进行置位,然后再启用 UART。
14.3.11
DMA 操作
UART 向 μDMA 控制器接口提供独立的发送通道和接收通道。UART 的 DMA 操作通过 UART DMA
控制寄存器 (UARTDMACTL) 使能。在使能μDMA操作后,UART模块在接收FIFO或发送FIFO可以
传输数据时向接收或发送通道产生μDMA请求。对于接收通道,只要接收 FIFO 中有数据,就会发出
单次传输请求。只要接收 FIFO 中的数据量达到或超过 UARTIFLS 寄存器中配置的 FIFO 触发水平,
就会发出突发传输请求。对于发送通道,只要发送 FIFO 中至少有一个空位,就会发出单次传输请
求。只要发送 FIFO 中所含的字符少于 FIFO 触发水平,就会发出突发请求。μDMA 控制器会根据
DMA 通道的配置自动处理单次和突发 DMA 传输请求。
如需为接收通道启用 DMA 操作,请对 DMA 控制 (UARTDMACTL) 寄存器中的 RXDMAE 位进行置
位。如需为发送通道启用 DMA 操作,请对 UARTDMACTL 寄存器中的 TXDMAE 位进行置位。还
可以将 UART 配置为在发生接收错误时,令接收通道停止使用 DMA。如果对 UARTDMACR 寄存
器的 DMAERR 位进行了置位且发生接收错误,DMA 接收请求会被自动禁用。此状况可通过清除相
应的UART错误中断予以解除。
如果 µDMA 已启用,那么当 TX FIFO 或 RX FIFO 达到 UARTIFLS 寄存器中设定的触发点时,控制
器会触发一个中断信号。此中断使用 UART 中断向量。因此,如果 UART 操作使用了中断,且启用
了 DMA,UART 中断处理函数中必须包含对 μDMA 完成中断的处理。
注意:
要在 UART 串行移位器完成发送时触发一个中断信号,必须将 UARTCTL 寄存器的 EOT 位
置位。在此配置下,只要 FIFO 完全变空且包括停止位在内的所有数据均从发送串行移位器
发出,就会产生发送中断。这种情况下,系统忽略对 UARTIFLS 寄存器中 TXIFLSEL 位的
设置。
请参见“微型直接存储器访问(μDMA)”(512页)以了解有关对 μDMA 控制器进行配置的更多信息。
14.4
初始化和配置
请按照以下步骤使能并初始化UART模块:
1. 使用 RCGCUART 寄存器(见299页)启用 UART 模块。
2014 年 01 月 28 日
807
Texas Instruments-预告信息
通用异步收发器(UART)
2. 通过 RCGCGPIO 寄存器启用相应 GPIO 模块的时钟,请参考 295页。要了解要启用哪一个 GPIO
端口,请参考表20-5(1024页)。
3. 将相应管脚的 GPIO AFSEL 位置位(请参阅595页)。为了确定哪些 GPIO 需要配置,请参考
表20-4(1019页)。
4. 按所选工作模式分别配置 GPIO 的限流和/或斜率(见597页和605页)。
5. 配置 GPIOPCTL 寄存器的 PMCn 位域,以将 UART 信号赋给相应的管脚(见612页和表
20-5(1024页))。
要使用 UART,必须将 RCGCUART 寄存器(299页)中相应的位置位,从而启用外设时钟。另外,
相应 GPIO 模块的时钟也必须通过系统控制模块中的 RCGCGPIO 寄存器(295页)来启用。要了解
要启用哪一个 GPIO 端口,请参考表20-5(1024页)。
本节将详细介绍配置UART模块的步骤。首先,我们假定UART时钟为20MHz,并且希望实现如下规
格的UART接口:
■ 波特率115200
■ 8位数据位
■ 1停止位
■ 无奇偶校验位
■ 禁用FIFO
■ 不使用中断
设置 UART 首先要确定的参数就是波特率除数 (BRD),因为应当先配置 UARTIBRD 寄存器和
UARTFBRD 寄存器,再配置 UARTLCRH 寄存器。而 BRD 可以通过““波特率的产生”(802页)”中
描述的等式计算得到:
BRD = 20,000,000 / (16 * 115,200) = 10.8507
即 UARTIBRD 寄存器(见819页)的 DIVINT 位域应设为 10(十进制)或 0xA。加载到 UARTFBRD
寄存器(见820页)的值通过以下等式算出:
UARTFBRD[DIVFRAC] = integer(0.8507 * 64 + 0.5) = 54
现在BRD已经计算出来,那么UART配置可按照如下顺序进行写入:
1. 将 UARTCTL 寄存器的 UARTEN 位清零,禁用 UART 模块;
2. 将 BRD 的整数部分写入 UARTIBRD 寄存器;
3. 将 BRD 的小数部分写入 UARTFBRD 寄存器;
4. 将所需的串行工作参数写入 UARTLCRH 寄存器(在本示例中为 0x0000 0060);
5. 通过写 UARTCC 寄存器来配置 UART 时钟源。
6. 还可以选择配置 µDMA 通道(见“微型直接存储器访问(μDMA)”(512页))并在 UARTDMACTL
寄存器中启用 DMA 选项。
7. 将 UARTCTL 寄存器的 UARTEN 位置位,以使能 UART 模块。
2014 年 01 月 28 日
808
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
14.5
寄存器映射
表 14-3(809页) 列出了 UART 寄存器。下表中列出的“偏移量”代表寄存器相对于该 UART 基址的
十六进制地址增量:
■
■
■
■
■
■
■
■
UART0:0x4000.C000
UART1:0x4000.D000
UART2:0x4000.E000
UART3:0x4000.F000
UART4:0x4001.0000
UART5:0x4001.1000
UART6:0x4001.2000
UART7:0x4001.3000
必须先启用 UART 模块的时钟,然后才能配置寄存器(请参阅299页)。启用 UART 模块的时钟后,
必须有 3 个系统时钟单位的延迟,然后才能访问 UART 模块的寄存器。
必须先禁用 UART(见823页中对 UARTCTL 寄存器 UARTEN 位的说明),然后才能对控制寄存器
重新编程。如果在接收或发送期间禁用UART,则UART模块会等待当前数据会话完成后再停止运
行。
表 14-3. UART 寄存器映射
偏移量
名称
类型
复位
描述
0x000
UARTDR
R/W
0x0000.0000
UART 数据寄存器
811
0x004
UARTRSR/UARTECR
R/W
0x0000.0000
UART 接收状态/错误清除寄存器
813
0x018
UARTFR
RO
0x0000.0090
UART 标志寄存器
816
0x020
UARTILPR
R/W
0x0000.0000
UART IrDA 低功耗寄存器
818
0x024
UARTIBRD
R/W
0x0000.0000
UART 波特率分频值整数寄存器
819
0x028
UARTFBRD
R/W
0x0000.0000
UART 波特率分频值小数寄存器
820
0x02C
UARTLCRH
R/W
0x0000.0000
UART 线控寄存器
821
0x030
UARTCTL
R/W
0x0000.0300
UART 控制寄存器
823
0x034
UARTIFLS
R/W
0x0000.0012
UART 中断 FIFO 深度选择寄存器
827
0x038
UARTIM
R/W
0x0000.0000
UART 中断屏蔽寄存器
829
0x03C
UARTRIS
RO
0x0000.0000
UART 原始中断状态寄存器
831
0x040
UARTMIS
RO
0x0000.0000
UART 屏蔽中断状态寄存器
834
0x044
UARTICR
W1C
0x0000.0000
UART 中断清除寄存器
837
0x048
UARTDMACTL
R/W
0x0000.0000
UART DMA 控制寄存器
839
0x0A4
UART9BITADDR
R/W
0x0000.0000
UART 9 位模式自身地址寄存器
840
0x0A8
UART9BITAMASK
R/W
0x0000.00FF
UART 9 位模式自身地址屏蔽寄存器
841
0xFC0
UARTPP
RO
0x0000.0003
UART 外设属性寄存器
842
0xFC8
UARTCC
R/W
0x0000.0000
UART 时钟配置寄存器
843
0xFD0
UARTPeriphID4
RO
0x0000.0000
UART 外设标识寄存器 4
844
2014 年 01 月 28 日
见页面
809
Texas Instruments-预告信息
通用异步收发器(UART)
表 14-3. UART 寄存器映射(续)
偏移量
名称
类型
复位
0xFD4
UARTPeriphID5
RO
0x0000.0000
UART 外设标识寄存器 5
845
0xFD8
UARTPeriphID6
RO
0x0000.0000
UART 外设标识寄存器 6
846
0xFDC
UARTPeriphID7
RO
0x0000.0000
UART 外设标识寄存器 7
847
0xFE0
UARTPeriphID0
RO
0x0000.0060
UART 外设标识寄存器 0
848
0xFE4
UARTPeriphID1
RO
0x0000.0000
UART 外设标识寄存器 1
849
0xFE8
UARTPeriphID2
RO
0x0000.0018
UART 外设标识寄存器 2
850
0xFEC
UARTPeriphID3
RO
0x0000.0001
UART 外设标识寄存器 3
851
0xFF0
UARTPCellID0
RO
0x0000.000D
UART PrimeCell 标识寄存器 0
852
0xFF4
UARTPCellID1
RO
0x0000.00F0
UART PrimeCell 标识寄存器 1
853
0xFF8
UARTPCellID2
RO
0x0000.0005
UART PrimeCell 标识寄存器 2
854
0xFFC
UARTPCellID3
RO
0x0000.00B1
UART PrimeCell 标识寄存器 3
855
14.6
描述
见页面
寄存器描述
本章的剩余部分按照地址偏移量由小到大的顺序依次详细介绍各寄存器。
2014 年 01 月 28 日
810
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 1: UART 数据寄存器(UARTDR),偏移量 0x000
重要:
本寄存器为读敏感型寄存器。有关详细信息,请参阅寄存器描述部分。
本寄存器是UART模块的数据寄存器,是与FIFO的接口。
当发送数据时,若FIFO已使能,则对本寄存器写入的数据将推入发送FIFO。如果发送FIFO被禁用,
则数据仅保存在发送保持寄存器(即发送FIFO的最底部单元)中。对本寄存器执行写操作即会启动
UART的发送。
当接收数据时,若FIFO已使能,则收到的数据字节以及4个状态位(线中止错误、帧错误、奇偶校
验错误、溢出错误)将推入12位宽的接收FIFO中。如果接收FIFO被禁用,则数据字节和状态位保存
在接收保持寄存器(即接收FIFO的最底部单元)中。对本寄存器的读操作即可获取数据字节。
UART 数据寄存器 (UARTDR)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x000
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
15
14
RO
0
RO
0
13
12
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
OE
BE
PE
FE
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:12
保留
RO
0x0000.0
11
OE
RO
0
DATA
R/W
0
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART溢出错误
值 描述
0 未发生数据溢出丢失
1 当FIFO已满时又收到新的数据,导致数据丢失
10
BE
RO
0
UART线中止错误
值 描述
0 未检测到线中止状况
1 检测到线中止状况:接收端被拉低的时间过长,超过一个完整字的
传输时间(指包含起始位、数据位、奇偶校验位、停止位的完整一
帧时间)。
在FIFO模式下,该错误与FIFO顶部的字符有关。发生中止时,只有一
个 0 字符被加载到 FIFO。仅在接收数据输入变为 1(标记状态)且接收
到下一个有效的起始位后,才启用下一字符。
2014 年 01 月 28 日
811
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
9
PE
RO
0
描述
UART奇偶校验错误
值 描述
0 未发生奇偶校验错误
1 所收到数据字符的奇偶校验与 UARTLCRH 寄存器第 2 位及第 7 位
定义的奇偶校验不符。
在FIFO模式下,该错误与FIFO顶部的字符有关。
8
FE
RO
0
UART帧错误
值 描述
0 未发生帧错误
1 收到的数据帧没有有效的停止位(有效的停止位应当为1)
7:0
DATA
R/W
0x00
接收/发送的数据
要通过UART发送数据,则应写入此位域。
读此位域时,将返回UART收到的数据。
2014 年 01 月 28 日
812
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 2: UART 接收状态/错误清除寄存器(UARTRSR/UARTECR),偏移量
0x004
UARTRSR/UARTECR 寄存器分别是接收状态寄存器/错误清除寄存器。
除了 UARTDR 寄存器所返回的状态位外,也可以从 UARTRSR 寄存器读取接收状态。如果从该寄
存器读取状态,则状态信息与读取 UARTRSR 寄存器之前从 UARTDR 读取的内容相对应。而当产
生溢出状况时,溢出状态位会立即置位。
UARTRSR 寄存器不可写。
对 UARTECR 寄存器写入任何值都会清除帧错误、奇偶校验错误、中止错误和溢出错误。复位时本
寄存器将清零。
只读状态寄存器
UART 接收状态/错误清除寄存器 (UARTRSR/UARTECR)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x004
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
OE
BE
PE
FE
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3
OE
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART溢出错误
值 描述
0 未发生数据溢出丢失
1 当FIFO已满时又收到新的数据,导致数据丢失
写 UARTECR 寄存器时此标志位自动清零。
由于 FIFO 已满时不再有数据写入,所以 FIFO 的内容依然有效,只是
移位寄存器的内容被覆盖了。此时,CPU 必须读取数据以便将 FIFO 清
空。
2014 年 01 月 28 日
813
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
2
BE
RO
0
描述
UART线中止错误
值 描述
0 未检测到线中止状况
1 检测到线中止状况:接收端被拉低的时间过长,超过一个完整字的
传输时间(指包含起始位、数据位、奇偶校验位、停止位的完整一
帧时间)。
向 UARTECR 进行写操作会将该位清零。
在FIFO模式下,该错误与FIFO顶部的字符有关。发生中止时,只有一
个 0 字符被加载到 FIFO。仅在接收数据输入变为 1(标记状态)且接收
到下一个有效的起始位后,才启用下一字符。
1
PE
RO
0
UART奇偶校验错误
值 描述
0 未发生奇偶校验错误
1 所收到数据字符的奇偶校验与 UARTLCRH 寄存器第 2 位及第 7 位
定义的奇偶校验不符。
向 UARTECR 进行写操作会将该位清零。
0
FE
RO
0
UART帧错误
值 描述
0 未发生帧错误
1 收到的数据帧没有有效的停止位(有效的停止位应当为1)
向 UARTECR 进行写操作会将该位清零。
在FIFO模式下,该错误与FIFO顶部的字符有关。
只写的错误清除寄存器
UART 接收状态/错误清除寄存器 (UARTRSR/UARTECR)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x004
类型 WO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
WO
0
保留
类型
复位
保留
类型
复位
DATA
2014 年 01 月 28 日
814
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
31:8
保留
WO
0x0000.00
7:0
DATA
WO
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
错误清除
对此寄存器写入任何数值都会清除帧错误、奇偶校验错误、线中止错误
以及溢出错误的标志位
2014 年 01 月 28 日
815
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 3: UART 标志寄存器(UARTFR),偏移量 0x018
UARTFR 寄存器是标志寄存器。复位后,TXFF、RXFF 和 BUSY 位均为 0;而 TXFE 和 RXFE 位
均为 1。CTS 位指示调制解调器流控。请注意,调制解调器位仅对 UART1 有效,对于 UART0 和
UART2,该位是保留的。
UART 标志寄存器 (UARTFR)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x018
类型 RO, 复位 0x0000.0090
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
2
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
11
10
9
8
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
TXFE
RO
1
RO
0
7
6
5
4
3
TXFE
RXFF
TXFF
RXFE
BUSY
RO
1
RO
0
RO
0
RO
1
RO
0
1
保留
RO
0
0
CTS
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART发送FIFO空
此标志位的含义取决于 UARTLCRH 寄存器中 FEN 位的状态。
值 描述
0 UART有数据待发送
1 若 FIFO 被禁用 (FEN = 0),则表明发送保持寄存器为空。
若 FIFO 被使能 (FEN = 1),则表明发送 FIFO 为空。
6
RXFF
RO
0
UART接收FIFO满
此标志位的含义取决于 UARTLCRH 寄存器中 FEN 位的状态。
值 描述
0 UART还能接收数据
1 若 FIFO 被禁用 (FEN = 0),则表明接收保持寄存器已满。
若 FIFO 被使能 (FEN = 1),则表明接收 FIFO 已满。
5
TXFF
RO
0
UART 发送 FIFO 已满
此标志位的含义取决于 UARTLCRH 寄存器中 FEN 位的状态。
值 描述
0 发送器未满。
1 如果 FIFO 处于禁用状态(FEN 为 0),则发送保持寄存器为满。
如果 FIFO 处于启用状态(FEN 为 1),则发送 FIFO 为满。
2014 年 01 月 28 日
816
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
4
RXFE
RO
1
描述
UART 接收 FIFO 为空
此标志位的含义取决于 UARTLCRH 寄存器中 FEN 位的状态。
值 描述
0 接收器不为空。
1 如果 FIFO 处于禁用状态(FEN 为 0),则接收保持寄存器为空。
如果 FIFO 处于启用状态(FEN 为 1),则接收 FIFO 为空。
3
BUSY
RO
0
UART忙
值 描述
0 UART未处于忙状态
1 UART 正忙于发送数据。该位一直处于置位状态,直至包括所有停
止位在内的全部字节都从移位寄存器发出为止。
一旦发送FIFO不为空时(不管UART是否使能)该位都会置位。
2:1
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
0
CTS
RO
0
请求发送
值 描述
0 没有发出 U1CTS 信号。
1 发出 U1CTS 信号。
2014 年 01 月 28 日
817
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 4: UART IrDA 低功耗寄存器(UARTILPR),偏移量 0x020
UARTILPR 寄存器保存 8 位的低功耗计数器除数,将系统时钟 (SysClk) 除以这个除数,即可得到低
功耗 SIR 脉宽时钟。复位时此寄存器清0。
利用 UARTILPR 寄存器中的低功耗除数,将 SysClk 分频后可得到内部的 IrLPBaud16 时钟。在低
功耗模式下,SIR 脉冲的宽度是 IrLPBaud16 时钟周期的三倍。低功耗分频系数值按照下式计算:
ILPDVSR = SysClk / FIrLPBaud16
其中 FIrLPBaud16 标称值为 1.8432 MHz。
由于 IrLPBaud16 时钟被用于对发送的数据采样(不论所处模式),因此在低功耗和正常模式下,
都必须对 ILPDVSR 域编程,以使 1.42 MHz < FIrLPBaud16 < 2.12 MHz,产生 1.41–2.11 μs (是
IrLPBaud16 周期的三倍)的低功耗脉冲。IrLPBaud16 的最低频率须确保脉宽小于一个 IrLPBaud16
时钟周期的脉冲被忽略,但高于 1.4μs 时则为有效脉冲。
注意:
0 是非法值。如果编程为 0,将不会产生 IrLPBaud16 脉冲。
UART IrDA 低功耗寄存器 (UARTILPR)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x020
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
ILPDVSR
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
ILPDVSR
R/W
0x00
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
IrDA低功耗分频系数
此位域包含8位的IrDA低功耗分频系数值。
2014 年 01 月 28 日
818
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 5: UART 波特率分频值整数寄存器(UARTIBRD),偏移量 0x024
UARTIBRD 寄存器包含波特率除数的整数部分。复位时本寄存器将清零。允许的最小分频比为 1
(即 UARTIBRD = 0),此时将忽略 UARTFBRD 寄存器的设置。更改 UARTIBRD 寄存器后,新
的配置需在当前字符的传输/接收结束后才会生效。对波特率除数进行任何修改后,必须写一次
UARTLCRH 寄存器。详细配置信息请参考“波特率的产生”(802页)。
UART 波特率分频值整数寄存器 (UARTIBRD)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x024
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
DIVINT
类型
复位
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
DIVINT
R/W
0x0000
整数波特率除数
2014 年 01 月 28 日
819
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 6: UART 波特率分频值小数寄存器(UARTFBRD),偏移量 0x028
UARTFBRD 寄存器包含波特率除数的小数部分。复位时本寄存器将清零。更改 UARTFBRD 寄存
器后,新的配置需在当前字符的传输/接收结束后才会生效。对波特率除数进行任何修改后,必须写
一次 UARTLCRH 寄存器。详细配置信息请参考“波特率的产生”(802页)。
UART 波特率分频值小数寄存器 (UARTFBRD)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x028
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
DIVFRAC
RO
0
RO
0
位/域
名称
类型
复位
31:6
保留
RO
0x0000.000
5:0
DIVFRAC
R/W
0x0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
小数波特率除数
2014 年 01 月 28 日
820
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 7: UART 线控寄存器(UARTLCRH),偏移量 0x02C
UARTLCRH 寄存器称为线控寄存器。数据长度、奇偶校验位、停止位等串行通讯参数都是通过本
寄存器设置的。
更改波特率除数(UARTIBRD 寄存器和/或 UARTFBRD 寄存器)后,还必须写一次 UARTLCRH 寄
存器。波特率除数寄存器的写选通信号是关联在 UARTLCRH 寄存器的。
UART 线控寄存器 (UARTLCRH)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x02C
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
FEN
STP2
EPS
PEN
BRK
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
SPS
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
SPS
R/W
0
R/W
0
WLEN
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART粘着奇偶校验位选择
如果对 UARTLCRH 的第 1、2 和 7 位进行了置位,则发送奇偶校验位,
且校验结果为 0。如果对第 1 和 7 位进行了置位且第 2 位清零,则发送
奇偶校验位,且校验结果为 1。
该位清零时,粘着奇偶校验被禁能。
6:5
WLEN
R/W
0x0
UART字长度
此位域定义收发的每帧中包含的数据位数
值
描述
0x0 5 个数据位(默认)
0x1 6 位
0x2 7 位
0x3 8 位
4
FEN
R/W
0
UART使能FIFO
值 描述
0 禁用 FIFO(字符模式)。FIFO 变成 1 字节深的保持寄存器。
1 FIFO使能(接收FIFO和发送FIFO)
2014 年 01 月 28 日
821
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
3
STP2
R/W
0
描述
UART双停止位选择
值 描述
0 每帧传输结束时发送1个停止位
1 每帧传输结束时发送双停止位。接收逻辑不会检查接收的是否为双
停止位。
在 ISO 7816 智能卡模式下(UARTCTL 寄存器的 SMART 位置
1),强制采用 2 个停止位。
2
EPS
R/W
0
UART偶校验位选择
值 描述
0 帧传输采用奇校验,即数据位和奇偶校验位中“1”的个数应为奇数
1 帧传输采用偶校验,即数据位和奇偶校验位中“1”的个数应为偶数
当奇偶检验被 PEN 位禁止时,该位无效。
1
PEN
R/W
0
UART奇偶校验位使能
值 描述
0 禁用奇偶校验位,并且帧中也不会包含奇偶校验位
1 使能奇偶校验位的生成和校验
0
BRK
R/W
0
UART发送线中止
值 描述
0 正常使用。
1 当前字符发送完毕后,UnTx 信号的输出一直处于低电平状态。为
了正确执行中止命令,软件必须令该位处于置位状态,并且持续至
少 2 帧(字符周期)。
2014 年 01 月 28 日
822
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 8: UART 控制寄存器(UARTCTL),偏移量 0x030
UARTCTL 寄存器称为控制寄存器。复位后,除了启用发送位 (TXE) 和启用接收位 (RXE) 处于置位
状态,其他所有位都清零。
要使能 UART 模块,必须将 UARTEN 置位。假如软件准备对 UART 模块的配置进行更改,则必须
先将 UARTEN 清零,之后才能写入更改的配置内容。假如在接收或发送期间禁用UART,则当前数
据会话结束后,UART模块才会停止运行。
注意:
启用 UART 后不得修改 UARTCTL 寄存器,否则会产生无法预料的后果。推荐按照下面的
步骤来更改 UARTCTL 寄存器的内容。
1. 禁用UART模块;
2. 等待当前数据会话(传输的字符)结束;
3. 通过将线控寄存器 UARTLCRH 的第 4 位 (FEN) 清 0,从而清空发送 FIFO。
4. 修改控制寄存器的内容;
5. 重新使能UART模块。
UART 控制寄存器 (UARTCTL)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x030
类型 R/W, 复位 0x0000.0300
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
类型
复位
RO
0
RO
0
RO
0
13
15
14
CTSEN
RTSEN
R/W
0
R/W
0
RO
0
12
保留
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
3
2
1
0
RTS
保留
RXE
TXE
LBE
保留
HSE
EOT
SMART
SIRLP
SIREN
UARTEN
R/W
0
RO
0
R/W
1
R/W
1
R/W
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15
CTSEN
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
使能允许发送
值 描述
0 禁用CTS硬件流控
1 启用 CTS 硬件流控。仅当 U1CTS 信号有效时才发送数据。
2014 年 01 月 28 日
823
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
14
RTSEN
R/W
0
描述
使能请求发送
值 描述
0 禁用RTS硬件流控
1 启用 RTS 硬件流控。仅当接收 FIFO 当前有条目时,才会(通过发
出 U1RTS)请求数据。
13:12
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
11
RTS
R/W
0
请求发送
RTSEN 清零后,该位的状态通过 U1RTS 信号反映。如果对 RTSEN 进
行置位,则进行写入操作时会忽略该位,进行读取操作时也应忽略该
位。
10
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
9
RXE
R/W
1
启用 UART 接收
值 描述
0 禁用 UART 的接收部分。
1 启用 UART 的接收部分。
假如在接收的过程中禁用UART,那么仍然会完成当前数据会话后再停
止UART模块。
注意:
8
TXE
R/W
1
要使能接收,还必须将 UARTEN 位置位。
启用 UART 发送
值 描述
0 禁用 UART 的发送部分。
1 启用 UART 的发送部分。
如果 UART 在发送中途被禁用,它会先发送完当前字符,然后再停止。
注意:
7
LBE
R/W
0
要使能发送,还必须将 UARTEN 位置位。
UART环回使能
值 描述
0 正常工作
1 UnTx 信号在内部连接到 UnRx 信号上。
6
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2014 年 01 月 28 日
824
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
5
HSE
R/W
0
描述
高速使能
值 描述
0 UART模块按系统时钟的16分频工作
1 UART模块按系统时钟的8分频工作
注意:
使用的系统时钟也取决于波特率除数配置(见819页和820页)。
在 ISO 7816 智能卡模式下(对 SMART 位置位),该位的状
态不影响时钟产生。
4
EOT
R/W
0
传输结束
此标志位决定 UARTRIS 寄存器中 TXRIS 位的表现。
值 描述
0 当 UARTIFLS 寄存器定义的发送 FIFO 状况满足时,TXRIS 置位。
1 仅当所有发送的数据(包括停止位)从串行移位寄存器中发送出去
后,TXRIS 才能置位。
3
SMART
R/W
0
ISO 7816智能卡支持
值 描述
0 正常工作
1 UART模块按智能卡模式工作
在 ISO 7816 模式下,应用程序必须确保将 UARTLCRH 寄存器配置为
8 位字长 (WLEN = 0x3) 和偶校验(PEN = 1、EPS = 1、SPS = 0)。
在此模式下,会忽略 UARTLCRH 中 STP2 位的值并强制采用 2 个停止
位。请注意,在出现奇偶校验错误的情况下,UART 并不支持自动重新
发送。如果在发送过程中检测到奇偶校验错误,会中止所有后续发送操
作,必须由软件来处理受影响字节或报文的重新发送。
2
SIRLP
R/W
0
UART SIR低功耗模式
此标志位用于选择IrDA编码模式
值 描述
0 低电平位在发送时编码成宽度为3/16个位周期的脉冲
1 UART 在 SIR 低功耗模式下工作。无论选定的比特率是多少,低电
平位将以 3 倍于 IrLPBaud16 输入信号周期的脉宽发送。
对该位进行置位可降低功率消耗,但可能会缩短发送距离。更多信息参
见 818页。
1
SIREN
R/W
0
启用 UART SIR
值 描述
0 正常工作
1 使能IrDA SIR模块,UART将按照SIR协议进行发送和接收
2014 年 01 月 28 日
825
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
0
UARTEN
R/W
0
描述
启用 UART
值 描述
0 禁用 UART。
1 启用 UART。
假如在收发过程中禁用UART,那么仍然会完成当前数据会话后再停止
UART模块。
2014 年 01 月 28 日
826
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 9: UART 中断 FIFO 深度选择寄存器(UARTIFLS),偏移量 0x034
UARTIFLS 寄存器称为中断 FIFO 深度选择寄存器。用户可通过本寄存器定义 UARTRIS 寄存器中
TXRIS 和 RXRIS 位触发时的 FIFO 深度。
中断是在FIFO深度从不满足触发条件到满足触发条件的跳变沿产生的。简单来说,中断是在FIFO深
度越过触发门限时产生的。例如,若接收FIFO触发深度设为1/2,则当UART模块接收到第9个字符
时才会触发中断。
复位后,TXIFLSEL 和 RXIFLSEL 位域均经过配置,以使 FIFO 以 1/2 的深度来触发中断。
UART 中断 FIFO 深度选择寄存器 (UARTIFLS)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x034
类型 R/W, 复位 0x0000.0012
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
4
3
2
1
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
10
9
8
7
6
5
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RXIFLSEL
RO
0
RO
0
位/域
名称
类型
复位
31:6
保留
RO
0x0000.00
5:3
RXIFLSEL
R/W
0x2
RO
0
RO
0
RO
0
R/W
0
R/W
1
TXIFLSEL
R/W
0
R/W
0
R/W
1
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART接收中断FIFO深度选择
如下设置产生接收中断的触发深度:
值
描述
0x0
RX FIFO深度 ≥ 全满的1/8
0x1
RX FIFO ≥ ¼ 满
0x2
RX FIFO ≥ ½ 满(默认)
0x3
RX FIFO ≥ ¾ 满
0x4
RX FIFO ≥ ⅞ 满
0x5-0x7 保留
2014 年 01 月 28 日
827
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
描述
2:0
TXIFLSEL
R/W
0x2
UART 发送中断 FIFO 深度选择
发送中断的触发深度设置如下:
值
描述
0x0
TX FIFO ≤ ⅞ 空
0x1
TX FIFO ≤ ¾ 空
0x2
TX FIFO ≤ ½ 空(默认)
0x3
TX FIFO ≤ ¼ 空
0x4
TX FIFO ≤ ⅛ 空
0x5-0x7 保留
注意:
如果对 UARTCTL(见823页)中的 EOT 位进行置位,只要
FIFO 完全变空且包括停止位在内的所有数据均从发送串行移
位器发出,就会产生发送中断。在这种情况下,会忽略
TXIFLSEL 的设置。
2014 年 01 月 28 日
828
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 10: UART 中断屏蔽寄存器(UARTIM),偏移量 0x038
UARTIM 寄存器是中断掩码置位/清零寄存器。
读本寄存器时,返回各中断的当前掩码状态。对某个位进行置位时,可将相应的原始中断信号传递
到中断控制器。将某个位清零时,可阻止该原始中断信号传递到中断控制器。
UART 中断屏蔽寄存器 (UARTIM)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x038
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
9BITIM
保留
R/W
0
RO
0
OEIM
BEIM
PEIM
FEIM
RTIM
TXIM
RXIM
CTSIM
保留
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
RO
0
保留
类型
复位
保留
类型
复位
RO
0
RO
0
RO
0
保留
RO
0
RO
0
位/域
名称
类型
复位
描述
31:13
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
12
9BITIM
R/W
0
9 位模式中断屏蔽
值 描述
0 9BITRIS 中断被抑制,不会发送到中断控制器。
1 当 UARTRIS 寄存器的 9BITRIS 位置位时,会向中断控制器发送中
断。
11
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
10
OEIM
R/W
0
UART溢出错误中断掩码
值 描述
0 OERIS 中断被抑制,不会发送到中断控制器。
1 当 UARTRIS 寄存器的 OERIS 位置位时,会向中断控制器发送中
断。
9
BEIM
R/W
0
UART线中止错误中断掩码
值 描述
0 BERIS 中断被抑制,不会发送到中断控制器。
1 当 UARTRIS 寄存器的 BERIS 位置位时,会向中断控制器发送中
断。
2014 年 01 月 28 日
829
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
8
PEIM
R/W
0
描述
UART奇偶校验错误中断掩码
值 描述
0 PERIS 中断被抑制,不会发送到中断控制器。
1 当 UARTRIS 寄存器的 PERIS 位置位时,会向中断控制器发送中
断。
7
FEIM
R/W
0
UART帧错误中断掩码
值 描述
0 FERIS 中断被抑制,不会发送到中断控制器。
1 当 UARTRIS 寄存器的 FERIS 位置位时,会向中断控制器发送中
断。
6
RTIM
R/W
0
UART接收超时中断掩码
值 描述
0 RTRIS 中断被抑制,不会发送到中断控制器。
1 当 UARTRIS 寄存器的 RTRIS 位置位时,会向中断控制器发送中
断。
5
TXIM
R/W
0
UART发送中断掩码
值 描述
0 TXRIS 中断被抑制,不会发送到中断控制器。
1 当 UARTRIS 寄存器的 TXRIS 位置位时,会向中断控制器发送中
断。
4
RXIM
R/W
0
UART接收中断掩码
值 描述
0 RXRIS 中断被抑制,不会发送到中断控制器。
1 当 UARTRIS 寄存器的 RXRIS 位置位时,会向中断控制器发送中
断。
3:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
1
CTSIM
R/W
0
UART允许发送调制解调器中断掩码
值 描述
0 CTSRIS 中断被抑制,不会发送到中断控制器。
1 当 CTSRIS 寄存器的 DCDRIS 位置位时,会向中断控制器发送中
断。
该位仅对 UART1 有效,对于 UART0 和 UART2,该位是保留的。
0
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2014 年 01 月 28 日
830
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 11: UART 原始中断状态寄存器(UARTRIS),偏移量 0x03C
UARTRIS 寄存器称为原始中断状态寄存器。当读取本寄存器时,返回当前各个中断的原始状态。对
本寄存器写操作无效。
UART 原始中断状态寄存器 (UARTRIS)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x03C
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
保留
类型
复位
RO
0
15
RO
0
RO
0
14
13
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
12
11
10
9
8
7
6
5
4
9BITRIS
保留
OERIS
BERIS
PERIS
FERIS
RTRIS
TXRIS
RXRIS
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
2
保留
RO
0
1
0
CTSRIS
保留
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:13
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
12
9BITRIS
RO
0
9 位模式原始中断状态
值 描述
0 无中断
1 出现了接收地址匹配。
向 UARTICR 寄存器的 9BITIC 位写入 1 即可将该位清零。
11
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
10
OERIS
RO
0
UART 溢出错误原始中断状态
值 描述
0 无中断
1 发生了溢出错误。
向 UARTICR 寄存器的 OEIC 位写入 1 即可将该位清零。
9
BERIS
RO
0
UART 中止错误原始中断状态
值 描述
0 无中断
1 发生了中止错误。
向 UARTICR 寄存器的 BEIC 位写入 1 即可将该位清零。
2014 年 01 月 28 日
831
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
8
PERIS
RO
0
描述
UART 奇偶校验错误原始中断状态
值 描述
0 无中断
1 发生了奇偶校验错误。
向 UARTICR 寄存器的 PEIC 位写入 1 即可将该位清零。
7
FERIS
RO
0
UART 帧错误原始中断状态
值 描述
0 无中断
1 发生了帧错误。
向 UARTICR 寄存器的 FEIC 位写入 1 即可将该位清零。
6
RTRIS
RO
0
UART 接收超时原始中断状态
值 描述
0 无中断
1 发生接收超时。
向 UARTICR 寄存器的 RTIC 位写入 1 即可将本位清零。
5
TXRIS
RO
0
UART 发送原始中断状态
值 描述
0 无中断
1 若 UARTCTL 寄存器的 EOT 位清零,则说明发送 FIFO 深度已经
越过了 UARTIFLS 寄存器所定义的门限。
若 EOT 位置位,则说明所有待发送数据和标志的最后一位已经从
串行移位寄存器中发出。
FIFO 启用时,通过向 UARTICR 寄存器中的 TXIC 位写 1 或向发送 FIFO
写入数据直至其高于触发深度,以将该位清零,或在 FIFO 禁用时写入
一个字节将该位清零。
4
RXRIS
RO
0
UART 接收原始中断状态
值 描述
0 无中断
1 接收 FIFO 深度已经越过了 UARTIFLS 寄存器所定义的门限。
FIFO 启用时,通过向 UARTICR 寄存器中的 RXIC 位写 1 或从接收
FIFO 读取数据直至其低于触发深度,以将该位清零;FIFO 禁用时,通
过读取一个字节将该位清零。
3:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2014 年 01 月 28 日
832
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
1
CTSRIS
RO
0
描述
UART 允许发送调制解调器原始中断状态
值 描述
0 无中断
1 用于软件流控的允许发送标志。
向 UARTICR 寄存器的 CTSIC 位写入 1 即可将该位清零。
该位仅对 UART1 有效,对于 UART0 和 UART2,该位是保留的。
0
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2014 年 01 月 28 日
833
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 12: UART 屏蔽中断状态寄存器(UARTMIS),偏移量 0x040
UARTMIS 寄存器称为屏蔽中断状态寄存器。读取时,该寄存器给出相应中断的当前屏蔽状态值。
对本寄存器写操作无效。
UART 屏蔽中断状态寄存器 (UARTMIS)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x040
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
保留
类型
复位
RO
0
15
RO
0
RO
0
14
13
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
12
11
10
9
8
7
6
5
4
9BITMIS
保留
OEMIS
BEMIS
PEMIS
FEMIS
RTMIS
TXMIS
RXMIS
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
2
保留
RO
0
1
0
CTSMIS
保留
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:13
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
12
9BITMIS
RO
0
9 位模式屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 由于接收地址匹配,因此发出未屏蔽的中断信号。
向 UARTICR 寄存器的 9BITIC 位写入 1 即可将该位清零。
11
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
10
OEMIS
RO
0
UART溢出错误掩码后中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 已产生溢出错误,并且此中断未被屏蔽
向 UARTICR 寄存器的 OEIC 位写入 1 即可将该位清零。
9
BEMIS
RO
0
UART 中止错误屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 由于产生中止错误,因此发出未屏蔽的中断信号。
向 UARTICR 寄存器的 BEIC 位写入 1 即可将该位清零。
2014 年 01 月 28 日
834
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
8
PEMIS
RO
0
描述
UART 奇偶校验错误屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 由于产生奇偶校验错误,因此发出未屏蔽的中断信号。
向 UARTICR 寄存器的 PEIC 位写入 1 即可将该位清零。
7
FEMIS
RO
0
UART 帧错误屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 由于产生帧错误,因此发出未屏蔽的中断信号。
向 UARTICR 寄存器的 FEIC 位写入 1 即可将该位清零。
6
RTMIS
RO
0
UART 接收超时屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 由于接收超时,因此发出未屏蔽的中断信号。
向 UARTICR 寄存器的 RTIC 位写入 1 即可将本位清零。
5
TXMIS
RO
0
UART 发送屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 若发送 FIFO 深度已经越过了定义的门限(EOT 位清零),或所有
待发送数据已经从串行移位寄存器中发出(EOT 位置位),则发出
未被屏蔽的中断。
FIFO 启用时,通过向 UARTICR 寄存器中的 TXIC 位写 1 或向发送 FIFO
写入数据直至其高于触发深度,以将该位清零,或在 FIFO 禁用时写入
一个字节将该位清零。
4
RXMIS
RO
0
UART 接收屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 接收FIFO深度已经越过了UARTIFLS寄存器所定义的门限,并且此
中断未被屏蔽
FIFO 启用时,通过向 UARTICR 寄存器中的 RXIC 位写 1 或从接收
FIFO 读取数据直至其低于触发深度,以将该位清零;FIFO 禁用时,通
过读取一个字节将该位清零。
3:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2014 年 01 月 28 日
835
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
1
CTSMIS
RO
0
描述
UART 允许发送调制解调器屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 由于允许发送,因此发出未屏蔽的中断信号。
向 UARTICR 寄存器的 CTSIC 位写入 1 即可将该位清零。
该位仅对 UART1 有效,对于 UART0 和 UART2,该位是保留的。
0
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2014 年 01 月 28 日
836
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 13: UART 中断清除寄存器(UARTICR),偏移量 0x044
UARTICR 寄存器称为中断清除寄存器。写入 1 时,相应的中断(包括原始中断,如果启用了屏蔽
中断,则还包括屏蔽中断)被清除。写入 0 不起任何作用。
UART 中断清除寄存器 (UARTICR)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x044
类型 W1C, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
保留
类型
复位
RO
0
15
RO
0
RO
0
14
13
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
12
11
10
9
8
7
6
5
4
9BITIC
保留
OEIC
BEIC
PEIC
FEIC
RTIC
TXIC
RXIC
R/W
0
RO
0
W1C
0
W1C
0
W1C
0
W1C
0
W1C
0
W1C
0
W1C
0
RO
0
2
保留
RO
0
RO
0
1
0
CTSMIC
保留
W1C
0
RO
0
位/域
名称
类型
复位
描述
31:13
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
12
9BITIC
R/W
0
9 位模式中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 9BITRIS 位以及 UARTMIS
寄存器的 9BITMIS 位清零。
11
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
10
OEIC
W1C
0
溢出错误中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 OERIS 位以及 UARTMIS 寄
存器的 OEMIS 位清零。
9
BEIC
W1C
0
中止错误中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 BERIS 位以及 UARTMIS 寄
存器的 BEMIS 位清零。
8
PEIC
W1C
0
奇偶校验错误中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 PERIS 位以及 UARTMIS 寄
存器的 PEMIS 位清零。
7
FEIC
W1C
0
帧错误中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 FERIS 位以及 UARTMIS 寄
存器的 FEMIS 位清零。
6
RTIC
W1C
0
接收超时中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 RTRIS 位以及 UARTMIS 寄
存器的 RTMIS 位清零。
2014 年 01 月 28 日
837
Texas Instruments-预告信息
通用异步收发器(UART)
位/域
名称
类型
复位
5
TXIC
W1C
0
描述
发送中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 TXRIS 位以及 UARTMIS 寄
存器的 TXMIS 位清零。
4
RXIC
W1C
0
接收中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 RXRIS 位以及 UARTMIS 寄
存器的 RXMIS 位清零。
3:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
1
CTSMIC
W1C
0
UART 允许发送调制解调器中断清除
向该位写入 1,即可将 UARTRIS 寄存器的 CTSRIS 位以及 UARTMIS
寄存器的 CTSMIS 位清零。
该位仅对 UART1 有效,对于 UART0 和 UART2,该位是保留的。
0
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2014 年 01 月 28 日
838
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 14: UART DMA 控制寄存器(UARTDMACTL),偏移量 0x048
UARTDMACTL 寄存器称为 DMA 控制寄存器。
UART DMA 控制寄存器 (UARTDMACTL)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x048
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
2
1
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
3
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
31:3
保留
RO
2
DMAERR
R/W
RO
0
复位
DMAERR TXDMAE RXDMAE
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
描述
0x00000.000 软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
0
出现错误时的 DMA
值 描述
0 接收错误不影响μDMA请求
1 当产生接收错误时,自动禁用μDMA请求
1
TXDMAE
R/W
0
发送DMA使能
值 描述
0 禁用发送FIFO的μDMA通道
1 使能发送FIFO的μDMA通道
0
RXDMAE
R/W
0
接收 DMA 启用
值 描述
0 禁用接收 FIFO 的 μDMA 通道
1 启用接收 FIFO 的 μDMA 通道
2014 年 01 月 28 日
839
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 15: UART 9 位模式自身地址寄存器(UART9BITADDR),偏移量 0x0A4
UART9BITADDR 寄存器用于在 9 位地址屏蔽 (UART9BITAMASK) 被设置为 0xFF 时,写入应与接
收字节匹配的具体地址。该寄存器与 UART9BITAMASK 配合使用,从而与接收到的地址字节匹配。
UART 9 位模式自身地址寄存器 (UART9BITADDR)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x0A4
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
9BITEN
类型
复位
R/W
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
RO
0
RO
0
RO
0
ADDR
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15
9BITEN
R/W
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
启用 9 位模式
值 描述
0 禁用 9 位模式。
1 启用 9 位模式。
14:8
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
7:0
ADDR
R/W
0x00
9 位模式的自身地址
此位域中包含当 UART9BITAMASK 被设置为 0xFF 时,应与接收字节
相匹配的地址。
2014 年 01 月 28 日
840
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 16: UART 9 位模式自身地址屏蔽寄存器(UART9BITAMASK),偏移量
0x0A8
UART9BITAMASK 寄存器用于为 9 位模式启用地址屏蔽。屏蔽地址位,从而创建一组将与接收到
的地址字节相匹配的地址。
UART 9 位模式自身地址屏蔽寄存器 (UART9BITAMASK)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0x0A8
类型 R/W, 复位 0x0000.00FF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
保留
类型
复位
保留
类型
复位
MASK
位/域
名称
类型
复位
描述
31:8
保留
RO
0x00
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
7:0
MASK
R/W
0xFF
9 位模式的自身地址屏蔽
此位域包含地址屏蔽,可用于创建一组应匹配的地址。
2014 年 01 月 28 日
841
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 17: UART 外设属性寄存器(UARTPP),偏移量 0xFC0
UARTPP 寄存器提供有关 UART 模块属性的信息。
UART 外设属性寄存器 (UARTPP)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFC0
类型 RO, 复位 0x0000.0003
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
8
7
6
5
4
3
2
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:2
保留
RO
0x0000.000
1
NB
RO
0x1
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
1
0
NB
SC
RO
1
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
9 位模式支持
值 描述
0 UART 模块不支持 9 位数据的发送,因而不支持 RS-485。
1 UART 模块支持 9 位数据的发送,从而支持 RS-485。
0
SC
RO
0x1
智能卡支持
值 描述
0 UART 模块不支持智能卡。
1 UART 模块支持智能卡。
2014 年 01 月 28 日
842
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 18: UART 时钟配置寄存器(UARTCC),偏移量 0xFC8
UARTCC 寄存器控制 UART 模块的波特时钟源。详见 “通信时钟源”一节(195页)。
注意:
如果将 PIOSC 用作 UART 波特时钟,则系统时钟频率在运行模式下必须至少为 9 MHz。
UART 时钟配置寄存器 (UARTCC)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFC8
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
CS
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3:0
CS
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 波特时钟源
下面的表格指定了产生 UART 波特时钟的源:
值
描述
0x0
系统时钟(基于时钟源和分频因子)
0x1-0x4 保留
0x5
PIOSC
0x5-0xF 保留
2014 年 01 月 28 日
843
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 19: UART 外设标识寄存器 4(UARTPeriphID4),偏移量 0xFD0
UARTPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART 外设标识寄存器 4 (UARTPeriphID4)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFD0
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID4
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID4
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 外设标识寄存器 [7:0]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
844
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 20: UART 外设标识寄存器 5(UARTPeriphID5),偏移量 0xFD4
UARTPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART 外设标识寄存器 5 (UARTPeriphID5)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFD4
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID5
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID5
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 外设标识寄存器 [15:8]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
845
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 21: UART 外设标识寄存器 6(UARTPeriphID6),偏移量 0xFD8
UARTPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART 外设标识寄存器 6 (UARTPeriphID6)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFD8
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID6
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID6
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 外设标识寄存器 [23:16]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
846
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 22: UART 外设标识寄存器 7(UARTPeriphID7),偏移量 0xFDC
UARTPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART 外设标识寄存器 7 (UARTPeriphID7)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFDC
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID7
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID7
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 外设标识寄存器 [31:24]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
847
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 23: UART 外设标识寄存器 0(UARTPeriphID0),偏移量 0xFE0
UARTPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART 外设标识寄存器 0 (UARTPeriphID0)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFE0
类型 RO, 复位 0x0000.0060
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID0
RO
0x60
RO
0
RO
0
RO
1
RO
1
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 外设标识寄存器 [7:0]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
848
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 24: UART 外设标识寄存器 1(UARTPeriphID1),偏移量 0xFE4
UARTPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART 外设标识寄存器 1 (UARTPeriphID1)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFE4
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID1
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID1
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 外设标识寄存器 [15:8]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
849
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 25: UART 外设标识寄存器 2(UARTPeriphID2),偏移量 0xFE8
UARTPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART 外设标识寄存器 2 (UARTPeriphID2)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFE8
类型 RO, 复位 0x0000.0018
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
1
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID2
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID2
RO
0x18
RO
0
RO
0
RO
0
RO
0
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 外设标识寄存器 [23:16]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
850
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 26: UART 外设标识寄存器 3(UARTPeriphID3),偏移量 0xFEC
UARTPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART 外设标识寄存器 3 (UARTPeriphID3)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFEC
类型 RO, 复位 0x0000.0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID3
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID3
RO
0x01
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART 外设标识寄存器 [31:24]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
851
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 27: UART PrimeCell 标识寄存器 0(UARTPCellID0),偏移量 0xFF0
UARTPCellIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART PrimeCell 标识寄存器 0 (UARTPCellID0)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFF0
类型 RO, 复位 0x0000.000D
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
1
RO
1
RO
0
RO
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CID0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID0
RO
0x0D
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART PrimeCell 标志寄存器 [7:0]
为软件提供一个标准的交叉外设识别系统。
2014 年 01 月 28 日
852
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 28: UART PrimeCell 标识寄存器 1(UARTPCellID1),偏移量 0xFF4
UARTPCellIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART PrimeCell 标识寄存器 1 (UARTPCellID1)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFF4
类型 RO, 复位 0x0000.00F0
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CID1
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID1
RO
0xF0
RO
0
RO
1
RO
1
RO
1
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART PrimeCell 标志寄存器 [15:8]
为软件提供一个标准的交叉外设识别系统。
2014 年 01 月 28 日
853
Texas Instruments-预告信息
通用异步收发器(UART)
寄存器 29: UART PrimeCell 标识寄存器 2(UARTPCellID2),偏移量 0xFF8
UARTPCellIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART PrimeCell 标识寄存器 2 (UARTPCellID2)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFF8
类型 RO, 复位 0x0000.0005
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
1
RO
0
RO
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CID2
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID2
RO
0x05
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART PrimeCell 标志寄存器 [23:16]
为软件提供一个标准的交叉外设识别系统。
2014 年 01 月 28 日
854
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 30: UART PrimeCell 标识寄存器 3(UARTPCellID3),偏移量 0xFFC
UARTPCellIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
UART PrimeCell 标识寄存器 3 (UARTPCellID3)
UART0 基址: 0x4000.C000
UART1 基址: 0x4000.D000
UART2 基址: 0x4000.E000
UART3 基址: 0x4000.F000
UART4 基址: 0x4001.0000
UART5 基址: 0x4001.1000
UART6 基址: 0x4001.2000
UART7 基址: 0x4001.3000
偏移量 0xFFC
类型 RO, 复位 0x0000.00B1
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CID3
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID3
RO
0xB1
RO
0
RO
1
RO
0
RO
1
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
UART PrimeCell 标志寄存器 [31:24]
为软件提供一个标准的交叉外设识别系统。
2014 年 01 月 28 日
855
Texas Instruments-预告信息
同步串行接口(SSI)
15
同步串行接口(SSI)
TM4C1231D5PM 微控制器包含 4 个同步串行接口 (SSI) 模块。每个 SSI 模块都能以主机或从机方
式与外设器件进行同步串行通信,可以支持飞思卡尔 (Freescale) SPI、MICROWIRE 或者 Texas
Instruments 的同步串行接口 (SSI)。
TM4C1231D5PM SSI 模块具有以下特性:
■ 提供可编程控制的接口,可与飞思卡尔的 SPI 接口、MICROWIRE 或者 Texas Instruments 同步
串行接口相连
■ 主机或从机工作方式;
■ 可编程的时钟位速率以及预分频器;
■ 相互独立的发送 FIFO 和接收 FIFO,二者均为 16 位宽、8 个单元深;
■ 可编程的数据帧长度,4位到16位可选;
■ 内部环回测试模式,能够很方便地实现诊断/调试;
■ 标准 FIFO 中断以及发送结束中断;
■ 用微型直接内存访问 (µDMA) 有效的传输数据
– 相互独立的发送通道和接收通道
– 当接收 FIFO 中有数据时产生单次请求;当接收 FIFO 中包含 4 个数据单元时产生猝发请求
– 发送单次请求在 FIFO 有空闲单元时有效;发送猝发请求在有 4 个及以上条目可以写入 FIFO
中时有效
2014 年 01 月 28 日
856
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
15.1
结构框图
图 15-1. SSI模块的结构图
DMA 请求
DMA 控制
SSIDMACTL
中断
中断控制
TxFIFO
8 x 16
SSIIM
SSIMIS
SSIRIS
SSIICR
.
.
.
控制/状态
SSInTx
SSICR0
SSICR1
SSISR
SSInRx
发送/接收
逻辑
SSIDR
RxFIFO
8 x 16
SSInClk
SSInFss
.
.
.
时钟预分频器
时钟控制
系统时钟
SSICC
SSICPSR
PIOSC
SSI 波特时钟
识别寄存器
SSIPCellID0
SSIPCellID1
SSIPCellID2
SSIPCellID3
15.2
SSIPeriphID0
SSIPeriphID1
SSIPeriphID2
SSIPeriphID3
SSIPeriphID4
SSIPeriphID5
SSIPeriphID6
SSIPeriphID7
信号描述
下面的表格列出了 SSI 模块的外部信号,并描述了每个信号的功能。大多数 SSI 信号是某些 GPIO
信号的备用功能,在复位的时候默认为 GPIO 信号。但 SSI0Clk、SSI0Fss、SSI0Rx 和 SSI0Tx 管
脚例外,它们将默认为 SSI 功能。下表中“复用管脚/赋值”一栏列出了 SSI 信号可能的 GPIO 管脚布
局。将 GPIO 备用功能选择 (GPIOAFSEL) 寄存器(595页)中的 AFSEL 位置位,以便选择 SSI 功
能。必须将括号中的数字写入 GPIO 端口控制 (GPIOPCTL) 寄存器(612页)的 PMCn 域中,以便
2014 年 01 月 28 日
857
Texas Instruments-预告信息
同步串行接口(SSI)
把 SSI 信号分配给指定 GPIO 端口管脚。有关如何配置 GPIO 的更多信息,请参阅“通用输入/输入
端口(GPIOs)”(575页)。
表 15-1. SSI 信号 (64LQFP)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
SSI0Clk
19
PA2 (2)
I/O
TTL
SSI模块0时钟
SSI0Fss
20
PA3 (2)
I/O
TTL
SSI 模块 0 帧信号
SSI0Rx
21
PA4 (2)
I
TTL
SSI模块0接收
SSI0Tx
22
PA5 (2)
O
TTL
SSI模块0发送
SSI1Clk
30
61
PF2 (2)
PD0 (2)
I/O
TTL
SSI 模块 1 时钟信号。
SSI1Fss
31
62
PF3 (2)
PD1 (2)
I/O
TTL
SSI 模块 1 帧信号。
SSI1Rx
28
63
PF0 (2)
PD2 (2)
I
TTL
SSI 模块 1 接收信号。
SSI1Tx
29
64
PF1 (2)
PD3 (2)
O
TTL
SSI 模块 1 发送信号。
SSI2Clk
58
PB4 (2)
I/O
TTL
SSI 模块 2 时钟信号。
SSI2Fss
57
PB5 (2)
I/O
TTL
SSI 模块 2 帧信号。
SSI2Rx
1
PB6 (2)
I
TTL
SSI 模块 2 接收信号。
SSI2Tx
4
PB7 (2)
O
TTL
SSI 模块 2 发送信号。
SSI3Clk
61
PD0 (1)
I/O
TTL
SSI 模块 3 时钟信号。
SSI3Fss
62
PD1 (1)
I/O
TTL
SSI 模块 3 帧信号。
SSI3Rx
63
PD2 (1)
I
TTL
SSI 模块 3 接收信号。
SSI3Tx
64
PD3 (1)
O
TTL
SSI 模块 3 发送信号。
a. TTL 表示管脚的电压水平与 TTL 一致。
15.3
功能说明
SSI对从片外器件接收的数据进行串-并转换。CPU可访问数据、控制信息以及状态信息。发送及接
收通道均内置FIFO存储器,在发送及接收模式下各自最多能缓冲8个16位数值。SSI 还支持 µDMA
接口。可以将发送和接收 FIFO 配置成 µDMA 模块的目的地址/源地址。将 SSIDMACTL 寄存器中
相应的位置位(请参考885页)即可启用 µDMA 操作。
15.3.1
位速率的产生
SSI模块内置可编程的位速率时钟分频器以及预分频器,通过分频产生串行输出时钟。SSI模块支持
2MHz或更高的位速率,实际使用时最高位速率通常由片外器件的性能决定。
串行位速率是由输入时钟(SysClk)分频后得到的。首先,使用 2~254 之间的偶数分频值 CPSDVSR
对输入时钟进行分频,该值在 SSI 时钟预分频 (SSICPSR) 寄存器中设置(请参考 878页)。然后再
使用 1~256 之间的一个数(即 1 + SCR)对时钟进一步分频,此处的 SCR 在 SSI 控制 0 (SSICR0)
寄存器中设置(请参考 871页)。
因此输出时钟 SSInClk 的频率为:
SSInClk = SysClk / (CPSDVSR * (1 + SCR))
注意:
系统时钟或 PIOSC 可用作 SSInClk 的源。当 SSI 时钟配置 (SSICC) 寄存器的 CS 域配置
为 0x5 时,PIOSC 被选为源。在主机模式下,系统时钟或 PIOSC 的速度必须至少是 SSInClk
2014 年 01 月 28 日
858
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
的两倍,而 SSInClk 不能超过 25 MHz。在从机模式下,系统时钟或 PIOSC 的速度必须至
少是 SSIClk 的 12 倍,而 SSInClk 不能超过 6.67 MHz。
SSI 的时序参数请参考 “Synchronous Serial Interface (SSI)”(1061页)。
15.3.2
FIFO操作
15.3.2.1
发送FIFO
SSI发送FIFO是一组16位宽、8单元深的先入先出缓冲区。CPU 通过写 SSI 数据 (SSIDR) 寄存器将
数据写入发送 FIFO,数据在由发送逻辑读出之前一直保存在发送 FIFO 中(请参考 875页)。
当工作于主机或从机模式时,数据以并行方式写入发送 FIFO,然后进行并 - 串转换并通过 SSInTx
管脚分别发送给片外连接的从设备或主设备。
当工作于从机模式时,SSI模块在每次主设备启动会话后才发送数据。若发送FIFO空,那么在主机
启动会话时SSI模块会将发送FIFO中最旧的一个数据发送出去。通过 RCGCSSI 寄存器的 Rn 位启
用 SSI 模块时钟后,如果写入发送 FIFO 的有效数据不足 8 个,则 SSI 模块将发送 0。因此,必须
依会话要求确保FIFO内包含有效数据。SSI 模块可配置为在 FIFO 空时产生中断或 μDMA 请求。
15.3.2.2
接收FIFO
SSI接收FIFO是一组16位宽、8单元深的先入先出缓冲区。从串行接口接收到的数据在由 CPU 读出
之前一直保存在缓冲区中,CPU 通过读 SSIDR 寄存器来访问读 FIFO。
当工作于主机或从机模式时,自 SSInRx 管脚接收的串行数据首先进行保存,而后分别并行载入片
外主机或从机接收 FIFO 中。
15.3.3
中断信号
SSI模块可在出现以下情况时产生中断:
■ 发送FIFO服务(发送FIFO半满或更低)
■ 接收FIFO服务(接收FIFO半满或更多)
■ 接收FIFO超时
■ 接收FIFO溢出
■ 传输结束
■ 接收 DMA 传输完成
■ 发送 DMA 传输完成
在发送给中断控制器之前,所有中断事件先进行一次逻辑或操作,因此同一时刻不管实际发生了多
少SSI中断事件,SSI模块都只向中断控制器产生一个中断请求。将 SSI 中断屏蔽 (SSIIM) 寄存器
(请参考879页)中相应的位清零,可以单独屏蔽这四个可屏蔽中断中的任何一个。将相应的屏蔽位
置位来启用中断。
SSI模块不但提供组合的中断输出,还分别提供各个中断源的输出,因此在处理中断时既可采用全局
中断服务子程序,也可采用模块化的设备驱动程序。动态的发送/接收数据流中断与静态的状态中断
相互独立,方便即时响应FIFO触发深度进行读写操作。独立中断源的状态可以查询 SSI 原始中断状
态 (SSIRIS) 和 SSI 屏蔽中断状态 (SSIMIS) 寄存器(请分别参考880页和882页)。
接收 FIFO 设有 32 个 SSInClk 时钟周期(不管此时 SSInClk 是否激活)的超时周期,并且只要接
收 FIFO 从空状态变为非空状态即会启动。假如接收FIFO在接下来的32个SSIClk周期内再次变为空
2014 年 01 月 28 日
859
Texas Instruments-预告信息
同步串行接口(SSI)
状态,超时周期才会中止并复位。因此中断服务程序应在读出接收 FIFO 后及时对 SSI 中断清除寄
存器 (SSIIC) 的 RTIC 位写 1,以清除接收 FIFO 超时中断。此清除操作不得执行得太晚,否则有可
能中断服务子程序在中断实际清除之前已经返回,此外也可能造成不必要地重复进入中断。
发送结束 (EOT) 中断指明数据已完全发送,只能有效用于主机模式设备/操作。该中断可以用来指示
什么时候关闭 SSI 模块的时钟或者进入休眠模式。另外由于数据的发送和接收是同时完成的,此中
断也能即时指示接收FIFO中的数据已经就绪,无需等待接收FIFO超时了。
注意:
15.3.4
仅在飞思卡尔 SPI 模式下,即便 FIFO 已满,也可实现每发送一个字节即产生一个 EOT 中
断信号。如果集成的从机 SSI 将 EOT 位置 0,而 µDMA 被配置为通过外部回送将该 SSI
中的数据传输到设备所用主机 SSI 中,那么即便 FIFO 已满,也可实现每发送一个字节 SSI
从机就产生一个 EOT 中断信号。
帧格式
根据所设置的数据大小,每个数据帧的长度均在 4~16 位之间,并且从最高有效位 (MSB) 开始发
送。通过对 SSICR0 寄存器中的 FRF 位进行设置,用户可选择三种基本的帧类型:
■ Texas Instruments 同步串行
■ 飞思卡尔SPI格式
■ MICROWIRE格式
对于上述 3 种帧格式,串行时钟 (SSInClk) 在 SSI 空闲时保持不活动状态,只有当数据的发送或接
收处于活动状态时,SSInClk 才在设置好的频率下工作。利用 SSInClk 的空闲状态可提供接收超时
指示,如果一个超时周期之后接收 FIFO 仍含有数据,则产生超时指示。
对于飞思卡尔 SPI 和 MICROWIRE 帧格式,串行帧 (SSInFss) 管脚为低电平有效,并在整个帧传输
过程中保持有效(被下拉)。
而对于 Texas Instruments 同步串行帧格式,在发送每个帧之前,SSInFss 管脚会发出一个以上升
沿开始并持续一个时钟周期的脉冲。在这种帧格式中,SSI 和片外从器件在 SSInClk 的上升沿驱动
各自的输出数据,并在下降沿锁存另一个器件的数据。
与另外两种全双工的帧格式不同,MICROWIRE是半双工工作的,其采用特殊的主-从消息技术。在
该模式中,当帧开始传输时向片外从机发送一个 8 位的控制报文。在发送过程中,SSI 不会接收到
任何输入数据。当控制字发送结束(8位的最后1位发送完成)后,片外从设备即对控制字进行译码。
总线等待1个时钟周期之后,片外从设备开始以所请求的数据应答,应答数据长度为4位到16位,于
是单次会话的总帧长为13位到25位。
15.3.4.1
Texas Instruments 同步串行帧格式
图15-2(860页)显示了 Texas Instruments 同步串行单次传输的的帧格式。
图 15-2. TI 同步串行帧格式(单次传输)
SSInClk
SSInFss
SSInTx/SSInRx
MSB
LSB
4 ~ 16 位
2014 年 01 月 28 日
860
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
在此模式中,当 SSI 模块处于空闲状态时,SSInClk 和 SSInFss 强制拉低,SSI 发送数据管脚 SSInTx
被置为三态。一旦发送 FIFO 的底部入口包含数据,SSInFss 就会变为高电平并持续一个 SSInClk
周期。要发送的值也从发送 FIFO 传输到发送逻辑的串行移位寄存器中。在下一个 SSInClk 时钟上
升沿,数据帧(长度为 4 到 16 位)的最高有效位移位输出到 SSInTx 管脚上。同样,接收到的数据
的 MSB 也通过片外串行从器件移到 SSInRx 管脚上。
然后,SSI 和片外串行从器件在 SSInClk 的每一个下降沿时将数据位逐个移入各自的串行移位器中。
在锁存了 LSB 之后的第一个 SSInClk 上升沿,接收数据从串行移位器传输到接收 FIFO。
图15-3(861页)显示了 Texas Instruments 同步串行帧格式的连续的传输情况。
图 15-3. TI 同步串行的帧格式(连续传输)
SSInClk
SSInFss
SSInTx/SSInRx
MSB
LSB
4 ~ 16 位
15.3.4.2
飞思卡尔 SPI 帧格式
飞思卡尔 SPI 接口是一个 4 线接口,其中 SSInFss 信号用作从机选择。飞思卡尔 SPI 格式的主要
特征是其 SSInClk 信号定义相当灵活,其非活动状态及相位可分别通过 SSISCR0 控制寄存器的
SPO 位以及 SPH 位进行设置。
SPO时钟极性位
当 SPO 时钟极性控制位清零时,它在 SSInClk 管脚上产生稳定的低电平值。如果 SPO 位置位,则
在没有进行数据传输的情况下,它在 SSInClk 管脚上产生一个稳定的高电平值。
SPH相位控制位
SPH 相位控制位用于选择捕捉数据的时钟沿,允许其改变状态。此标志位将决定如何界定传输过程
的首位,即是否在首次捕捉数据之前忽略1次时钟跳变。当 SPH 相位控制位清零时,在第一个时钟
边沿转换时捕获数据。如果 SPH 位置位,则在第二个时钟边沿转换时捕获数据。
15.3.4.3
SPO = 0、SPH = 0 时的飞思卡尔 SPI 帧格式
SPO = 0 和 SPH = 0 时,Freescale SPI 帧格式的单次和连续传输信号序列如图15-4(862页)和图
15-5(862页)所示。
2014 年 01 月 28 日
861
Texas Instruments-预告信息
同步串行接口(SSI)
图 15-4. SPO = 0 和 SPH = 0 时的飞思卡尔 SPI 格式(单次传输)
SSInClk
SSInFss
SSInRx
LSB
MSB
Q
4 ~ 16 位
SSInTx
MSB
注意:
LSB
Q未定义。
图 15-5. SPO = 0 和 SPH = 0 时的飞思卡尔 SPI 格式 (连续传输)
SSInClk
SSInFss
SSInRx LSB
LSB
MSB
MSB
4 到 16 位
SSInTx LSB
MSB
LSB
MSB
在这种格式配置下,SSI空闲期间:
■ SSInClk 强制拉低
■ SSInFss 强制拉高
■ 发送数据管脚 SSInTx 被仲裁强制拉低
■ 若 SSI 模块工作于主机模式,则开启 SSInClk 管脚输出
■ 若 SSI 模块工作于从机模式,则关闭 SSInClk 管脚输出
若 SSI 模块使能,并且发送 FIFO 中已经填入有效数据,那么传输过程在 SSInFss 主机信号拉低时
开始;这可使从机数据立即传输到主机的 SSInRx 输入线上。与此同时主设备的 SSInTx 输出端口
也将使能。
在半个 SSInClk 周期之后,有效的主机数据传输到 SSInTx 管脚。主机和从机数据都已设置好后,
则在下半个 SSInClk 周期后,SSInClk 主机时钟管脚变为高电平。
之后双方将在每个 SSInClk 时钟的上升沿捕捉数据、在下降沿进行传输。
如果传输一个字,则在数据字的所有位都已传输完之后,SSInFss 线在捕获到最后一个位后的一个
SSInClk 周期返回到其空闲的高电平状态。
在背靠背连续传输过程中,必须使 SSInFss 信号在相邻两次数据传输之间输出高脉冲,因为当 SPH
位清 0 时,从设备选通管脚将锁住串行外设寄存器中的数据,不允许对其修改。因此主设备必须在
相邻两次数据传输之间拉高 SSInFss 管脚,以使能串行外设数据写入操作。当连续传输完成时,
SSInFss 管脚将在捕获到最后一位后的一个 SSInClk 周期返回到其空闲状态。
2014 年 01 月 28 日
862
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
15.3.4.4
SPO = 0、SPH = 1 时的飞思卡尔 SPI 帧格式
SPO = 0 和 SPH = 1 时,飞思卡尔 SPI 帧格式的传输信号序列如图15-6(863页) 所示,该图涵盖
了单次和连续传输两种情况。
图 15-6. SPO = 0、SPH = 1 时的飞思卡尔 SPI 帧格式
SSInClk
SSInFss
Q
Q
MSB
SSInRx
LSB
Q
4 ~ 16 位
SSInTx
LSB
MSB
注意:
Q未定义。
在这种格式配置下,SSI空闲期间:
■ SSInClk 强制拉低
■ SSInFss 强制拉高
■ 发送数据管脚 SSInTx 被仲裁强制拉低
■ 若 SSI 模块工作于主机模式,则开启 SSInClk 管脚输出
■ 若 SSI 模块工作于从机模式,则关闭 SSInClk 管脚输出
如果 SSI 启用并且在发送 FIFO 中含有有效的数据,则 SSInFss 主机信号驱动为低电平时发送操作
开始。与此同时主设备的 SSInTx 输出也将使能。再过半个 SSInClk 时钟周期后,主设备和从设备
的有效数据都已在各自的发送线上就绪。同时,利用一个上升沿跳变将 SSInClk 使能。
之后,数据在 SSInClk 信号的下降沿被捕获,在上升沿进行传输。
在单字传输过程中,当数据字的所有位传输完成后,SSInFss 管脚将在捕捉最后 1 位(下降沿)后
1 个 SSInClk 周期恢复其空闲的高电平状态。
如果是连续背对背传输,则 SSInFss 管脚在连续的数据字之间保持为低电平,连续传输的结束情况
与单字传输的相同。
15.3.4.5
SPO = 1、SPH = 0 时的飞思卡尔 SPI 帧格式
SPO = 1 和 SPH = 0 时,Freescale SPI 帧格式的单次和连续传输信号序列如图15-7(864页)和图
15-8(864页)所示。
2014 年 01 月 28 日
863
Texas Instruments-预告信息
同步串行接口(SSI)
图 15-7. SPO = 1 和 SPH = 0 时的飞思卡尔 SPI 帧格式(单次传输)
SSInClk
SSInFss
SSInRx
MSB
LSB
Q
4 ~ 16 位
SSInTx
LSB
MSB
注意:
Q未定义。
图 15-8. SPO = 1 和 SPH = 0 时的飞思卡尔 SPI 帧格式(连续传输)
SSInClk
SSInFss
SSInTx/SSInRx LSB
MSB
LSB
MSB
4 ~ 16 位
在这种格式配置下,SSI空闲期间:
■ SSInClk 强制拉高
■ SSInFss 强制拉高
■ 发送数据管脚 SSInTx 被仲裁强制拉低
■ 若 SSI 模块工作于主机模式,则开启 SSInClk 管脚输出
■ 若 SSI 模块工作于从机模式,则关闭 SSInClk 管脚输出
若 SSI 模块使能,并且发送 FIFO 中已经填入有效数据,那么传输过程在 SSInFss 主机信号拉低时
开始;这可使从机数据立即传输到主机的 SSInRx 线上。与此同时主设备的 SSInTx 输出端口也将
使能。
半个周期之后,有效的主机数据传输到 SSInTx 线上。一旦主机和从机数据都已设置好,再经过半
个 SSInClk 周期,SSInClk 主机时钟管脚变为低电平。这表示数据在每个 SSInClk 时钟的下降沿被
捕获,在上升沿进行传输。
在单字传输过程中,当数据字的所有位传输完成后,SSInFss 管脚将在捕捉最后 1 位(下降沿)后
的 1 个 SSInClk 恢复其空闲的高电平状态。
在背靠背连续传输过程中,必须使 SSInFss 信号在相邻两次数据传输之间输出高脉冲,因为当 SPH
位清 0 时,从设备选通管脚将锁住串行外设寄存器中的数据,不允许对其修改。因此主设备必须在
相邻两次数据传输之间拉高 SSInFss 管脚,以使能串行外设数据写入操作。当连续传输完成时,
SSInFss 管脚将在捕获到最后一位后的一个 SSInClk 周期返回到其空闲状态。
15.3.4.6
SPO = 1、SPH = 1 时的飞思卡尔 SPI 帧格式
SPO = 1 和 SPH = 1 时,飞思卡尔 SPI 帧格式的传输信号序列如图15-9(865页) 所示,该图涵盖
了单次和连续传输两种情况。
2014 年 01 月 28 日
864
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 15-9. SPO = 1、SPH = 1 时的飞思卡尔 SPI 帧格式
SSInClk
SSInFss
SSInRx
Q
MSB
LSB
Q
4 ~ 16 位
MSB
SSInTx
注意:
LSB
Q未定义。
在这种格式配置下,SSI空闲期间:
■ SSInClk 强制拉高
■ SSInFss 强制拉高
■ 发送数据管脚 SSInTx 被仲裁强制拉低
■ 若 SSI 模块工作于主机模式,则开启 SSInClk 管脚输出
■ 若 SSI 模块工作于从机模式,则关闭 SSInClk 管脚输出
如果 SSI 启用并且在发送 FIFO 中含有有效的数据,则 SSInFss 主机信号驱动为低电平时发送操作
开始。与此同时主设备的 SSInTx 输出端口也将使能。再过半个 SSInClk 周期后,主设备和从设备
的数据都已在各自的发送线上就绪。同时,利用下降沿跳变将 SSInClk 使能。之后数据在每个
SSInClk 时钟信号的上升沿被捕获,在下降沿移位输出。
在单字传输过程中,当数据字的所有位传输完成后,SSInFss 管脚将在捕捉最后 1 位(上升沿)后
的 1 个 SSInClk 周期恢复其空闲的高电平状态。
在背靠背连续传输过程中,SSInFss 信号在连续的数据传输过程中始终保持有效(拉低),直到捕
捉最后 1 个字的最后 1 位(上升沿)之后像单字传输那样返回其空闲状态。
在背靠背连续传输过程中,SSInFss 管脚在连续的数据字之间保持为低电平,连续传输的结束情况
与单字传输的相同。
15.3.4.7
MICROWIRE帧格式
图15-10(865页) 显示了单次传输的 MICROWIRE 帧格式图15-11(866页) 显示了该格式的连续的
传输情况
图 15-10. MICROWIRE的帧格式 (单帧)
SSIClk
SSIFss
SSITx
LSB
MSB
8 位控制
SSIRx
0
MSB
LSB
4 ~ 16 位
输出数据
2014 年 01 月 28 日
865
Texas Instruments-预告信息
同步串行接口(SSI)
MICROWIRE的帧格式与SPI非常相近,区别之处在于MICROWIRE是半双工而非全双工,而且还采
用了主-从报文传递技术。每次串行传输都由 SSI 向片外从器件发送 8 位控制字开始。在此传输过程
中,SSI 不会接收到输入的数据。当控制字发送结束(8位的最后1位发送完成)后,片外从设备即
对控制字进行译码。总线等待1个时钟周期之后,片外从设备开始以所请求的数据应答,应答数据长
度为4位到16位,于是单次会话的总帧长为13位到25位。
在这种格式配置下,SSI空闲期间:
■ SSInClk 强制拉低
■ SSInFss 强制拉高
■ 发送数据管脚 SSInTx 被仲裁强制拉低
向发送FIFO内写入控制字节即可触发发送。在 SSInFss 的下降沿,发送 FIFO 底部入口包含的值被
传输到发送逻辑的串行移位寄存器中,而 8 位控制帧的 MSB 被移出到 SSInTx 管脚上。SSInFss在
该控制帧的传输期间保持低电平。SSInRx 管脚在此传输期间保持三态。
片外串行从器件会在 SSInClk 时钟的每个上升沿将每个控制位锁存入串行移位寄存器。在将最后一
位锁存之后,从器件在一个时钟周期的等待状态期间对控制字节进行译码,并且从机将数据发送回
SSI进行应答。每个数据位在 SSInRx 的下降沿时刻被驱动到 SSInClk 线上。SSI 在 SSInClk 的上
升沿时将每个位锁存。在帧尾,对于单次传输,SSInFss 信号在最后 1 位被锁存入接收串行移位寄
存器(上升沿)的 1 个时钟周期被拉高,使接收的数据传递至接收 FIFO。
注意:
在接收移位器将 LSB 锁存之后的 SSInClk 的下降沿上或在 SSInFss 管脚变为高电平时,片
外从器件能够将接收线置为三态。
连续传输的开始及结束均与单次传输大体相同。但 SSInFss 线持续有效(保持低电平),并且数据
传输以背对背的方式产生。下一帧的控制字节紧跟当前接收数据的最低有效位 (LSB)。在当前帧的
LSB 锁存到 SSI 之后,所接收到的每个值在 SSInClk 的下降沿时刻从接收移位器中输出。
图 15-11. MICROWIRE的帧格式 (连续传输)
SSInClk
SSInFss
SSInTx
LSB
MSB
LSB
8 位控制
SSInRx
0
MSB
LSB
MSB
4 ~ 16 位
输出数据
在 MICROWIRE 模式中,当 SSInClk 变为低电平之后,SSI 从机在 SSInFss 的上升沿时刻对接收
数据的第一个位进行采样。用来驱动自由运行的 SSInClk 的主机必须确保 SSInFss 信号相对于
SSInClk 的上升沿具有足够的建立时间和保持时间裕量。
图15-12(867页) 阐明了建立和保持时间要求。相对于 SSI 从机对接收数据的第一位进行采样时所
在的 SSInClk 上升沿,SSInFss 的建立时间至少必须是 SSI 操作时钟 (SSInClk) 周期的两倍。相对
于该边沿之前的 SSInClk 上升沿,SSInFss 至少必须具有一个 SSInClk 周期的保持时间。
2014 年 01 月 28 日
866
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 15-12. MICROWIRE 帧格式,SSInFss 输入建立和保持时间要求
tSetup=(2*tSSIClk)
tHold=tSSIClk
SSInClk
SSInFss
SSInRx
第一个由 SSI
从机采样的 RX 数据
15.3.5
DMA 操作
SSI 模块可与 μDMA 控制器接口实现相互独立的发送通道和接收通道。SSI 的 μDMA 操作通过 SSI
DMA 控制寄存器 (SSIDMACTL) 使能。在使能μDMA操作后,SSI模块在接收FIFO或发送FIFO可以
传输数据时向接收或发送通道产生μDMA请求。对于接收通道,只要接收 FIFO 中有数据,就会发出
单次传输请求。如果接收 FIFO 中的数据是 4 个或者更多,就会发出多个连续传输请求。对于发送
通道,只要发送 FIFO 中存在一个空位,单次传输请求就会发出。如果发送 FIFO 中的空位有 4 个
或者更多,就会发出多个连续传输请求。μDMA 控制器会根据 μDMA 通道的配置自动处理单次传输
请求和连续传输请求。为了启用接收通道的 µDMA 操作,寄存器 DMA 控制 (SSIDMACTL) 中的
RXDMAE 位应置位。为了启用发送通道的 µDMA 操作,寄存器 SSIDMACTL 中的 TXDMAE 位应
置位。如果已经启用了 μDMA,那么 μDMA 控制器会在传输结束时自动触发中断。此中断产生到
SSI 中断向量。因此,如果启用了 SSI 操作使用的中断和μDMA,必须设计 SSI 中断处理函数来处
理 μDMA 的完成中断。
请参见“微型直接存储器访问(μDMA)”(512页)以了解有关对 μDMA 控制器进行配置的更多信息。
15.4
初始化和配置
请按照以下步骤使能并初始化SSI模块:
1. 用 RCGCSSI 寄存器(请参考301页)启用 SSI 模块。
2. 通过 RCGCGPIO 寄存器启用相应 GPIO 模块的时钟,请参考 295页。要了解要启用哪一个 GPIO
端口,请参考表20-5(1024页)。
3. 将相应管脚的 GPIO AFSEL 位置位(请参阅595页)。为了确定哪些 GPIO 需要配置,请参考
表20-4(1019页)。
4. 配置 GPIOPCTL 寄存器的 PMCn 域,将 SSI 信号赋给相应的管脚。请参阅612页和表
20-5(1024页)。
5. 对 GPIODEN 寄存器编程,以启用管脚的数字功能。此外,必须配置驱动强度、开漏选择和上
拉/下拉功能。请参阅 “通用输入/输入端口(GPIOs)”(575页) 以了解更多信息。
注意:
上拉可用来避免 SSI 管脚上不必要的切换,该切换会将从机带入错误状态。
对于不同的帧格式,应按照如下步骤配置SSI模块:
1. 应确保 SSICR1 寄存器的 SSE 位在更改配置前清零。
2. 选择SSI模块工作于主机模式还是从机模式:
2014 年 01 月 28 日
867
Texas Instruments-预告信息
同步串行接口(SSI)
a. 若工作于主机模式,应将 SSICR1 寄存器配置为 0x0000.0000;
b. 若工作于从机模式(允许输出),应将 SSICR1 寄存器配置为 0x0000.0004;
c. 若工作于从机模式(禁止输出),应将 SSICR1 寄存器配置为 0x0000.000C。
3. 通过写 SSICC 寄存器来配置 SSI 时钟源。
4. 通过写 SSICPSR 寄存器配置时钟预分频除数。
5. 通过 SSICR0 寄存器配置以下内容:
■ 串行时钟速率 (SCR)
■ 若采用飞思卡尔 SPI 帧格式,需配置时钟相位和时钟极性(SPH、SPO)
■ 协议模式:飞思卡尔 SPI、TI SSF、MICROWIRE (FRF)
■ 数据长度 (DSS)
6. 另外,还可以配置 μDMA 通道(请参考“微型直接存储器访问(μDMA)”(512页)),并在
SSIDMACTL 寄存器中启用 DMA 选项。
7. 将 SSICR1 寄存器的 SSE 位置位,以使能 SSI 模块。
下面举例予以说明。假定SSI模块要按照如下参数工作:
■ 主机模式
■ 飞思卡尔SPI格式(SPO = 1,SPH = 1)
■ 位速率为1Mbps
■ 数据长度8位
假设系统时钟20MHz,于是位速率计算公式为:
SSInClk = SysClk / (CPSDVSR * (1 + SCR))
1x106 = 20x106 / (CPSDVSR * (1 + SCR))
在此情况下,如果 CPSDVSR = 0x2,SCR 必须为 0x9。
软件中的配置步骤为:
1. 确保 SSICR1 寄存器的 SSE 位清零。
2. 对 SSICR1 寄存器写入 0x0000.0000;
3. 对 SSICPSR 寄存器写入 0x0000.0002;
4. 对 SSICR0 寄存器写入 0x0000.09C7。
5. 随后将 SSICR1 寄存器的 SSE 位置位,使能 SSI 模块。
2014 年 01 月 28 日
868
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
15.5
寄存器映射
表 15-2(869页) 列出了 SSI 寄存器。表中偏移量一列是指相对于SSI基地址的十六进制地址增量,
两个SSI模块的基地址分别为:
■
■
■
■
SSI0:0x4000.8000
SSI1:0x4000.9000
SSI2:0x4000.A000
SSI3:0x4000.B000
请注意配置这些寄存器之前必须先启用 SSI 模块时钟(请参考301页)。PRSSI 寄存器的 Rn 位必须
读数为 0x1,才能访问任一 SSI 模块寄存器。
注意:
在对任何控制寄存器重新编程前,必须将 SSI 禁能(见 SSICR1 寄存器的 SSE 位)。
表 15-2. SSI 寄存器映射
偏移量
名称
类型
复位
描述
0x000
SSICR0
R/W
0x0000.0000
SSI 控制寄存器0
871
0x004
SSICR1
R/W
0x0000.0000
SSI 控制寄存器1
873
0x008
SSIDR
R/W
0x0000.0000
SSI 数据寄存器
875
0x00C
SSISR
RO
0x0000.0003
SSI 状态寄存器
876
0x010
SSICPSR
R/W
0x0000.0000
SSI 时钟预分频寄存器
878
0x014
SSIIM
R/W
0x0000.0000
SSI 中断屏蔽寄存器
879
0x018
SSIRIS
RO
0x0000.0008
SSI 原始中断状态寄存器
880
0x01C
SSIMIS
RO
0x0000.0000
SSI 屏蔽中断状态寄存器
882
0x020
SSIICR
W1C
0x0000.0000
SSI 中断清除寄存器
884
0x024
SSIDMACTL
R/W
0x0000.0000
SSI DMA 控制寄存器
885
0xFC8
SSICC
R/W
0x0000.0000
SSI 时钟配置寄存器
886
0xFD0
SSIPeriphID4
RO
0x0000.0000
SSI 外设标识寄存器 4
887
0xFD4
SSIPeriphID5
RO
0x0000.0000
SSI 外设标识寄存器 5
888
0xFD8
SSIPeriphID6
RO
0x0000.0000
SSI 外设标识寄存器 6
889
0xFDC
SSIPeriphID7
RO
0x0000.0000
SSI 外设标识寄存器 7
890
0xFE0
SSIPeriphID0
RO
0x0000.0022
SSI 外设标识寄存器 0
891
0xFE4
SSIPeriphID1
RO
0x0000.0000
SSI 外设标识寄存器 1
892
0xFE8
SSIPeriphID2
RO
0x0000.0018
SSI 外设标识寄存器 2
893
0xFEC
SSIPeriphID3
RO
0x0000.0001
SSI 外设标识寄存器 3
894
0xFF0
SSIPCellID0
RO
0x0000.000D
SSI PrimeCell 标识寄存器 0
895
0xFF4
SSIPCellID1
RO
0x0000.00F0
SSI PrimeCell 标识寄存器 1
896
0xFF8
SSIPCellID2
RO
0x0000.0005
SSI PrimeCell 标识寄存器 2
897
0xFFC
SSIPCellID3
RO
0x0000.00B1
SSI PrimeCell 标识寄存器 3
898
2014 年 01 月 28 日
见页面
869
Texas Instruments-预告信息
同步串行接口(SSI)
15.6
寄存器描述
本章的剩余部分按照地址偏移量由小到大的顺序依次详细介绍各寄存器。
2014 年 01 月 28 日
870
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 1: SSI 控制寄存器0(SSICR0),偏移量 0x000
SSICR0 寄存器中包含用来控制 SSI 模块内各种功能的位域。诸如协议模式、时钟速率和数字宽度
等功能都在该寄存器中配置。
SSI 控制寄存器0 (SSICR0)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x000
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
5
4
3
2
1
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
11
10
9
8
SCR
类型
复位
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15:8
SCR
R/W
0x00
R/W
0
7
6
SPH
SPO
R/W
0
R/W
0
FRF
R/W
0
DSS
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI串行时钟速率
该域的值用来产生 SSI 的发送和接收位速率位速率:
BR=SysClk/(CPSDVSR * (1 + SCR))
此处,CPSDVSR 为 2-254 之间的一个偶数值,在 SSICPSR 寄存器中
设置,SCR 为 0-255 之间的一个值。
7
SPH
R/W
0
SSI串行时钟相位
此位仅用于飞思卡尔SPI格式。
SPH 控制位用来选择捕获数据的时钟边沿,并允许边沿改变状态。该位
对第一个传输位影响最大,因为它可以在第一个数据捕获边沿之前允许
或不允许一次时钟转换。
值 描述
0 数据在首个时钟跳变沿捕捉
1 数据在第2个时钟跳变沿捕捉
6
SPO
R/W
0
SSI串行时钟极性
值 描述
0 SSInClk 管脚为稳定的低电平值。
1 当无数据传输时,SSInClk 管脚为稳定的高电平值。
2014 年 01 月 28 日
871
Texas Instruments-预告信息
同步串行接口(SSI)
位/域
名称
类型
复位
描述
5:4
FRF
R/W
0x0
SSI帧格式选择
值
帧格式
0x0 飞思卡尔 SPI 帧格式
0x1 Texas Instruments 同步串行帧格式
0x2 MICROWIRE帧格式
0x3 保留
3:0
DSS
R/W
0x0
SSI数据帧长度选择
值
系统数据宽度
0x0-0x2 保留
0x3
传输的每个数据单元为 4 位。
0x4
传输的每个数据单元为 5 位。
0x5
传输的每个数据单元为 6 位。
0x6
传输的每个数据单元为 7 位。
0x7
传输的每个数据单元为 8 位。
0x8
传输的每个数据单元为 9 位。
0x9
传输的每个数据单元为 10 位。
0xA
传输的每个数据单元为 11 位。
0xB
传输的每个数据单元为 12 位。
0xC
传输的每个数据单元为 13 位。
0xD
传输的每个数据单元为 14 位。
0xE
传输的每个数据单元为 15 位。
0xF
传输的每个数据单元为 16 位。
2014 年 01 月 28 日
872
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 2: SSI 控制寄存器1(SSICR1),偏移量 0x004
SSICR1 寄存器中包含用来控制 SSI 模块内各种功能的位域。主机和从机的模式功能由该寄存器控
制。
SSI 控制寄存器1 (SSICR1)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x004
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
10
9
8
7
6
5
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:5
保留
RO
0x0000.0
4
EOT
R/W
0
RO
0
RO
0
RO
0
RO
0
4
3
2
1
0
EOT
保留
MS
SSE
LBM
R/W
0
RO
0
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
传输结束
本位仅对主机模式的设备和操作有效 (MS = 0x0)。
值 描述
0 当发送FIFO内的有效数据不超过4个单元时产生TXRIS中断
1 当传输结束时产生TXRIS中断
注意:
仅在飞思卡尔 SPI 模式下,即便 FIFO 已满,也可实现每发送
一个字节即产生一个 EOT 中断信号。如果集成的从机 SSI 将
EOT 位置 0,而 µDMA 被配置为通过外部回送将该 SSI 中的
数据传输到设备所用主机 SSI 中,那么即便 FIFO 已满,也可
实现每发送一个字节 SSI 从机就产生一个 EOT 中断信号。
3
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2
MS
R/W
0
SSI主/从选择
此位用于选择主机模式还是从机模式,只有当 SSI 禁用 (SSE=0) 时才
能设置。
值 描述
0 SSI模块工作于主机模式
1 SSI模块工作于从机模式
2014 年 01 月 28 日
873
Texas Instruments-预告信息
同步串行接口(SSI)
位/域
名称
类型
复位
1
SSE
R/W
0
描述
SSI同步串行接口使能
值 描述
0 禁用SSI模块
1 使能SSI模块
注意:
0
LBM
R/W
0
在对任何控制器重新编程之前必须先将
该位清零。
SSI环回模式
值 描述
0 进行正常的串口操作
1 启用环回模式:发送串行移位寄存器的输出端将在芯片内部连接到
接收串行移位寄存器的输入端。
2014 年 01 月 28 日
874
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 3: SSI 数据寄存器(SSIDR),偏移量 0x008
重要:
本寄存器为读敏感型寄存器。有关详细信息,请参阅寄存器描述部分。
SSIDR 寄存器是一个 16 位宽的寄存器。当读取 SSIDR 寄存器时,将访问接收 FIFO 中被当前 FIFO
读指针所指向的单元。当SSI接收逻辑单元将输入的数据帧移出后,该数据将放入接收FIFO中由当
前FIFO写指针所指向的单元。
当写入 SSIDR 寄存器时,数据将放入发送 FIFO 中被当前 FIFO 写指针所指向的单元。发送逻辑从
发送 FIFO 中一次移出一个数据值。每个数据值被加载到发送串行移位器中,然后以设置好的位速
率串行移出到 SSInTx 管脚。
当所选的数据大小小于 16 位时,用户必须将写入发送 FIFO 的数据右对齐。发送逻辑忽略未使用的
位。而在接收时,若收到的数据长度不足16位,在接收缓冲中能自动右对齐。
当 SSI 设置为 MICROWIRE 帧格式时,发送数据的默认宽度为 8 位(忽略最高有效字节)。接收
数据的宽度由程序员控制。即使 SSICR1 寄存器的 SSE 位清 0,发送 FIFO 和接收 FIFO 也不会清
空,因此软件可以在使能 SSI 模块之前先填充发送 FIFO。
SSI 数据寄存器 (SSIDR)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x008
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
DATA
类型
复位
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
DATA
R/W
0x0000
SSI接收/发送数据
一个读取操作读取接收 FIFO 的数据。一个写入操作将数据写入发送
FIFO。
当 SSI 设置的数据宽度小于 16 位时,软件必须将数据右对齐。发送逻
辑将忽略顶部未使用的位。接收逻辑自动右对齐数据。
2014 年 01 月 28 日
875
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 4: SSI 状态寄存器(SSISR),偏移量 0x00C
SSISR 寄存器包含若干标志位,用于指示 FIFO 填充状态和 SSI 忙状态。
SSI 状态寄存器 (SSISR)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x00C
类型 RO, 复位 0x0000.0003
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
10
9
8
7
6
5
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:5
保留
RO
0x0000.00
4
BSY
RO
0
RO
0
RO
0
RO
0
RO
0
4
3
2
1
0
BSY
RFF
RNE
TNF
TFE
RO
0
RO
0
RO
0
RO
1
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI忙标志
值 描述
0 SSI 空闲。
1 SSI正在发送/接收数据帧,或发送FIFO非空
3
RFF
RO
0
SSI 接收 FIFO 满
值 描述
0 接收 FIFO 未满
1 接收 FIFO 满
2
RNE
RO
0
SSI FIFO 不为空
值 描述
0 接收 FIFO 为空
1 接收 FIFO 不为空
1
TNF
RO
1
SSI 发送 FIFO 未满
值 描述
0 发送 FIFO 已满
1 发送 FIFO 未满
2014 年 01 月 28 日
876
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
TFE
RO
1
描述
SSI 发送 FIFO 为空
值 描述
0 发送 FIFO 不为空。
1 发送 FIFO 为空。
2014 年 01 月 28 日
877
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 5: SSI 时钟预分频寄存器(SSICPSR),偏移量 0x010
SSICPSR 寄存器指定用于根据系统时钟产生 SSInClk 信号的分频因子。该时钟进一步分频,分频
因子为 1 到 256,即 1 + SCR。SCR 通过 SSICR0 寄存器编程配置。因此 SSInClk 频率的计算公
式如下:
SSInClk = SysClk / (CPSDVSR * (1 + SCR))
本寄存器必须写入2到254之间的偶数。所设的值的最低有效位硬编码为 0。如果向该寄存器写入奇
数,则该寄存器读操作返回的值中,最低有效位为 0。
SSI 时钟预分频寄存器 (SSICPSR)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x010
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CPSDVSR
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
描述
31:8
保留
RO
0x00
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
7:0
CPSDVSR
R/W
0x00
SSI时钟预分频比
该值必须为 2-254 之间的一个偶数,具体取值由 SSInClk 的频率决定。
执行读操作时,LSB 的返回值始终为 0。
2014 年 01 月 28 日
878
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 6: SSI 中断屏蔽寄存器(SSIIM),偏移量 0x014
SSIIM 寄存器是中断屏蔽置位/清零寄存器。本寄存器可读可写,复位后所有位清零。
对本寄存器进行读操作,可获取各个中断的当前屏蔽状态。将某位置位会清除相应的屏蔽,使该中
断发送到中断控制器。将某位清零会置位相应的屏蔽,使该中断就不发送到中断控制器。
SSI 中断屏蔽寄存器 (SSIIM)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x014
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
TXIM
RXIM
RTIM
RORIM
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
描述
31:4
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
3
TXIM
R/W
0
SSI发送FIFO中断屏蔽
值 描述
0 屏蔽发送FIFO中断
1 不屏蔽发送FIFO中断
2
RXIM
R/W
0
SSI 接收 FIFO 中断屏蔽
值 描述
0 接收 FIFO 中断被屏蔽。
1 接收 FIFO 中断没有被屏蔽。
1
RTIM
R/W
0
SSI 接收超时中断屏蔽
值 描述
0 接收 FIFO 超时中断被屏蔽。
1 接收 FIFO 超时中断没有被屏蔽。
0
RORIM
R/W
0
SSI 接收溢出中断屏蔽
值 描述
0 接收 FIFO 溢出中断被屏蔽。
1 接收 FIFO 溢出中断没有被屏蔽。
2014 年 01 月 28 日
879
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 7: SSI 原始中断状态寄存器(SSIRIS),偏移量 0x018
SSIRIS 寄存器为原始中断状态寄存器。读操作时,此寄存器给出屏蔽前的当前原始中断状态值。对
本寄存器写操作无效。
SSI 原始中断状态寄存器 (SSIRIS)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x018
类型 RO, 复位 0x0000.0008
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
2
1
0
TXRIS
RXRIS
RTRIS
RORRIS
RO
1
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:4
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
3
TXRIS
RO
1
SSI发送FIFO原始中断标志
值 描述
0 无中断。
1 若 SSICR1 寄存器的 EOT 位清零,则表示发送 FIFO 为半空或更
少。
若 EOT 置位,则表示发送 FIFO 空,且最后 1 位已经从串行移位
器发出。
当发送 FIFO 中有效数据多于 4 个单元(EOT 清零时)或非空(EOT
置位时),该位清零。
2
RXRIS
RO
0
SSI接收FIFO原始中断标志
值 描述
0 无中断。
1 接收FIFO中有效数据不少于4个单元
当接收FIFO中有效数据少于4个单元时,此标志位清零。
1
RTRIS
RO
0
SSI接收超时原始中断标志
值 描述
0 无中断。
1 发生接收超时
当对 SSI 中断清除寄存器 (SSIICR) 的 RTIC 位写入 1 时,本标志位清
零。
2014 年 01 月 28 日
880
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
RORRIS
RO
0
描述
SSI 接收溢出原始中断状态
值 描述
0 无中断。
1 接收 FIEO 发生溢出
当对 SSI 中断清除寄存器 (SSIICR) 的 RORIC 位写入 1 时,该位清零。
2014 年 01 月 28 日
881
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 8: SSI 屏蔽中断状态寄存器(SSIMIS),偏移量 0x01C
SSIMIS 寄存器为屏蔽中断状态寄存器。读取时,该寄存器给出相应中断的当前屏蔽状态值。对本寄
存器写操作无效。
SSI 屏蔽中断状态寄存器 (SSIMIS)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x01C
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
2
1
0
TXMIS
RXMIS
RTMIS
RORMIS
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:4
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
3
TXMIS
RO
0
SSI 发送 FIFO 屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 发送 FIFO 中有效数据超过 4 个单元(EOT 位清零)或者最后 1 位
已经通过串口发出(EOT 位置位),这两种情况会发出未屏蔽的中
断信号。
当发送 FIFO 中有效数据少于 4 个单元(EOT 清零)或非空(EOT 置
位)时,该位清零。
2
RXMIS
RO
0
SSI 接收 FIFO 屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 由于接收 FIFO 中有效数据超过 4 个单元,因此发出了未屏蔽的中
断信号。
当接收FIFO中有效数据少于4个单元时,此标志位清零。
1
RTMIS
RO
0
SSI 接收超时屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 接收超时产生中断。
当对 SSI 中断清除寄存器 (SSIICR) 的 RTIC 位写入 1 时,本标志位清
零。
2014 年 01 月 28 日
882
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
RORMIS
RO
0
描述
SSI 接收溢出屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 接收 FIFO 溢出产生中断。
当对 SSI 中断清除寄存器 (SSIICR) 的 RORIC 位写入 1 时,该位清零。
2014 年 01 月 28 日
883
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 9: SSI 中断清除寄存器(SSIICR),偏移量 0x020
SSIICR 寄存器为中断清除寄存器。当对本寄存器的有效位写1时,即会清除相应的中断。写入 0 不
起任何作用。
SSI 中断清除寄存器 (SSIICR)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x020
类型 W1C, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
8
7
6
5
4
3
2
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
1
0
RTIC
RORIC
W1C
0
W1C
0
位/域
名称
类型
复位
描述
31:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
1
RTIC
W1C
0
SSI接收超时中断清除
对此位写 1,SSIRIS 寄存器的 RTRIS 标志位以及 SSIMIS 寄存器的
RTMIS 标志位将清零。
0
RORIC
W1C
0
SSI 接收溢出中断清除
向该位写入 1 会将 SSIRIS 寄存器的 RORRIS 位和 SSIMIS 寄存器的
RORMIS 位清零。
2014 年 01 月 28 日
884
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 10: SSI DMA 控制寄存器(SSIDMACTL),偏移量 0x024
SSIDMACTL 寄存器为 μDMA 控制寄存器。
SSI DMA 控制寄存器 (SSIDMACTL)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0x024
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
8
7
6
5
4
3
2
1
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:2
保留
RO
0x0000.000
1
TXDMAE
R/W
0
TXDMAE RXDMAE
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
发送DMA使能
值 描述
0 禁用发送FIFO的μDMA通道
1 使能发送FIFO的μDMA通道
0
RXDMAE
R/W
0
接收 DMA 启用
值 描述
0 禁用接收 FIFO 的 μDMA 通道
1 启用接收 FIFO 的 μDMA 通道
2014 年 01 月 28 日
885
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 11: SSI 时钟配置寄存器(SSICC),偏移量 0xFC8
SSICC 寄存器控制 SSI 模块的波特时钟源。
注意:
如果 PIOSC 用于 SSI 波特时钟,那么在运行模式下系统时钟频率至少为 16 MHz。
SSI 时钟配置寄存器 (SSICC)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFC8
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
CS
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3:0
CS
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 波特时钟源
下面的表格指定了产生 SSI 波特时钟的源:
值
描述
0x0
系统时钟(基于时钟源和分频因子)
0x1-0x4
保留
0x5
PIOSC
0x6 - 0xF 保留
2014 年 01 月 28 日
886
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 12: SSI 外设标识寄存器 4(SSIPeriphID4),偏移量 0xFD0
SSIPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI 外设标识寄存器 4 (SSIPeriphID4)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFD0
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID4
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID4
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 外设 ID 寄存器 [7:0]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
887
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 13: SSI 外设标识寄存器 5(SSIPeriphID5),偏移量 0xFD4
SSIPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI 外设标识寄存器 5 (SSIPeriphID5)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFD4
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID5
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID5
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 外设 ID 寄存器 [15:8]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
888
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 14: SSI 外设标识寄存器 6(SSIPeriphID6),偏移量 0xFD8
SSIPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI 外设标识寄存器 6 (SSIPeriphID6)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFD8
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID6
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID6
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 外设 ID 寄存器 [23:16]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
889
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 15: SSI 外设标识寄存器 7(SSIPeriphID7),偏移量 0xFDC
SSIPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI 外设标识寄存器 7 (SSIPeriphID7)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFDC
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID7
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID7
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 外设 ID 寄存器 [31:24]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
890
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 16: SSI 外设标识寄存器 0(SSIPeriphID0),偏移量 0xFE0
SSIPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI 外设标识寄存器 0 (SSIPeriphID0)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFE0
类型 RO, 复位 0x0000.0022
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
1
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID0
RO
0x22
RO
0
RO
0
RO
0
RO
1
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 外设 ID 寄存器 [7:0]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
891
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 17: SSI 外设标识寄存器 1(SSIPeriphID1),偏移量 0xFE4
SSIPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI 外设标识寄存器 1 (SSIPeriphID1)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFE4
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID1
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID1
RO
0x00
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 外设 ID 寄存器 [15:8]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
892
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 18: SSI 外设标识寄存器 2(SSIPeriphID2),偏移量 0xFE8
SSIPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI 外设标识寄存器 2 (SSIPeriphID2)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFE8
类型 RO, 复位 0x0000.0018
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
1
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID2
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID2
RO
0x18
RO
0
RO
0
RO
0
RO
0
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 外设 ID 寄存器 [23:16]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
893
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 19: SSI 外设标识寄存器 3(SSIPeriphID3),偏移量 0xFEC
SSIPeriphIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI 外设标识寄存器 3 (SSIPeriphID3)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFEC
类型 RO, 复位 0x0000.0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
PID3
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
PID3
RO
0x01
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI 外设 ID 寄存器 [31:24]
可被软件用来标识该外设的存在与否。
2014 年 01 月 28 日
894
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 20: SSI PrimeCell 标识寄存器 0(SSIPCellID0),偏移量 0xFF0
SSIPCellIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI PrimeCell 标识寄存器 0 (SSIPCellID0)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFF0
类型 RO, 复位 0x0000.000D
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
1
RO
1
RO
0
RO
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CID0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID0
RO
0x0D
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI PrimeCell 标识寄存器 [7:0]
为软件提供一个标准的交叉外设识别系统。
2014 年 01 月 28 日
895
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 21: SSI PrimeCell 标识寄存器 1(SSIPCellID1),偏移量 0xFF4
SSIPCellIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI PrimeCell 标识寄存器 1 (SSIPCellID1)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFF4
类型 RO, 复位 0x0000.00F0
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CID1
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID1
RO
0xF0
RO
0
RO
1
RO
1
RO
1
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI PrimeCell 标识寄存器 [15:8]
为软件提供一个标准的交叉外设识别系统。
2014 年 01 月 28 日
896
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 22: SSI PrimeCell 标识寄存器 2(SSIPCellID2),偏移量 0xFF8
SSIPCellIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI PrimeCell 标识寄存器 2 (SSIPCellID2)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFF8
类型 RO, 复位 0x0000.0005
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
1
RO
0
RO
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CID2
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID2
RO
0x05
RO
0
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI PrimeCell 标识寄存器 [23:16]
为软件提供一个标准的交叉外设识别系统。
2014 年 01 月 28 日
897
Texas Instruments-预告信息
同步串行接口(SSI)
寄存器 23: SSI PrimeCell 标识寄存器 3(SSIPCellID3),偏移量 0xFFC
SSIPCellIDn 寄存器均为硬编码的只读寄存器,寄存器的位域决定复位值。
SSI PrimeCell 标识寄存器 3 (SSIPCellID3)
SSI0 基址: 0x4000.8000
SSI1 基址: 0x4000.9000
SSI2 基址: 0x4000.A000
SSI3 基址: 0x4000.B000
偏移量 0xFFC
类型 RO, 复位 0x0000.00B1
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
RO
0
RO
0
RO
0
RO
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CID3
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CID3
RO
0xB1
RO
0
RO
1
RO
0
RO
1
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
SSI PrimeCell 标识寄存器 [31:24]
为软件提供一个标准的交叉外设识别系统。
2014 年 01 月 28 日
898
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
16
内部集成电路(I2C)接口
内部集成电路 (I2C) 总线通过双线设计(串行数据线 SDA 和串行时钟线 SCL)提供双向数据传输以
及连接外部 I2C 设备的接口,例如串行存储器(RAM 和 ROM)、网络设备、LCD、音频发生器等
等。I2C 总线还可在产品开发和制造过程中用于系统测试和诊断。TM4C1231D5PM 微控制器包含
能够与总线上的其他 I2C 备进行互动(发送和接收数据)。
TM4C1231D5PM 控制器包含 个 I2C 模块,具有以下特点:
■ I2C 总线上的设备可被指定为主机或从机
– 在主机或从机模式下都支持发送和接受数据
– 支持它们作为主机和从机的同步操作
■ 四种 I2C 模式:
– 主机发送
– 主机接收
– 从机发送
– 从机接收
■ 四种传输速度:
– 标准 (100 Kbps)
– 快速 (400 Kbps)
– 超快速 (1 Kbps)
– 高速 (3.33 Mbps)
■ 时钟低电平超时中断
■ 双从机地址功能
■ 故障抑制
■ 主机和从机产生中断
– 主机因为传送或接收数据结束(或者是因为错误而取消)产生中断
– 从机在主机向其发送数据或发出请求时,或检测到START或STOP信号时产生中断。
■ 主机带有仲裁和时钟同步功能,支持多主机以及 7 位寻址模式
2014 年 01 月 28 日
899
Texas Instruments-预告信息
内部集成电路(I2C)接口
16.1
结构框图
图 16-1. I2C 结构图
I2CSCL
I2C 控制
中断
I2CMSA
I2CSOAR
I2CMCS
I2CSCSR
I2CMDR
I2CSDR
I2CMTPR
I2CSIMR
I2CMIMR
I2CSRIS
I2CMRIS
I2CSMIS
I2CMMIS
I2CSICR
I2CMICR
I2CPP
I2C 主机内核
I2CSDA
I2CSCL
I2C I/O 选择
I2CSDA
I2CSCL
I2C 从机内核
I2CSDA
I2CMCR
16.2
信号描述
下表列出了 I2C 接口的外部信号及其功能。I2C 接口信号是某些 GPIO 信号的备用功能,复位时将
重置为默认的 GPIO 信号,而 I2C0SCL 和 I2CSDA 管脚例外,这两个管脚复位时将重置为默认的
I2C 功能。下表中“复用管脚/赋值”一栏列出了 I2C 信号的 GPIO 管脚的各种可能布局。应将 GPIO
备用功能选择 (GPIOAFSEL) 寄存器(595页)的 AFSEL 置位,以便选择 I2C 功能。必须将括号里
的数字写入 GPIO 端口控制 (GPIOPCTL) 寄存器(612页)的 PMCn 域中,以便将 I2C 信号分配给
特定的 GPIO 端口管脚。请注意,应通过 GPIO 开漏选择 (GPIOODR) 寄存器将 I2CSDA 管脚设置
成开漏。有关如何配置 GPIO 的更多信息,请参阅“通用输入/输入端口(GPIOs)”(575页)。
表 16-1. I2C 信号 (64LQFP)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
I2C0SCL
47
PB2 (3)
I/O
OD
I2C 模块 0 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C0SDA
48
PB3 (3)
I/O
OD
I2C 模块 0 数据。
I2C1SCL
23
PA6 (3)
I/O
OD
I2C 模块 1 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C1SDA
24
PA7 (3)
I/O
OD
I2C 模块 1 数据。
I2C2SCL
59
PE4 (3)
I/O
OD
I2C 模块 2 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C2SDA
60
PE5 (3)
I/O
OD
I2C 模块 2 数据。
I2C3SCL
61
PD0 (3)
I/O
OD
I2C 模块 3 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C3SDA
62
PD1 (3)
I/O
OD
I2C 模块 3 数据。
a. TTL 表示管脚的电压水平与 TTL 一致。
16.3
功能说明
每个 I2C 模块由主机和从机两个功能组成,并通过唯一地址进行标识。主机发起的通信会产生时钟
信号 SCL。为了实现正确操作,SDA 管脚必须配置为开漏信号。由于内部电路支持高速操作,SCL
管脚不得配置为开漏信号,即使内部电路可导致其发挥开漏信号的作用。SDA 和 SCL 信号必须使
2014 年 01 月 28 日
900
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
用上拉电阻连接到正向电源电压。典型的 I2C 总线配置请参阅图16-2。有关如何确定正确操作所需
的上拉大小,请参考 “I2C 总线规范和用户手册”。
I2C 时序结构图请参阅“Inter-Integrated Circuit (I2C) Interface”(1064页)。
图 16-2. I2C 总线配置
RPUP
SCL
SDA
I2CSCL
I2CSDA
Tiva™ 微控制器
16.3.1
RPUP
SCL
I2C
总线
SDA
第三方设备
带有 I2C 接口
SCL
SDA
第三方设备
带有 I2C 接口
I2C 总线功能概览
I2C 总线只使用两个信号:SDA 和 SCL。在 I2CSDA 微控制器中,它们分别对应 I2CSCL 和
TM4C1231D5PM。SDA是双向的串行数据线,SCL是双向的串行时钟线。当两根线都处于高电平
的时候,总线处于空闲状态。
I2C 总线每次传输的数据长度为九位,其中包括八位数据位和一位应答位。每次传输的字节数(定义
为有效 START 和 STOP 条件之间的时间,请参阅“START 和 STOP 条件”(901页))没有限制,
但是每个数据字节后面必须紧跟一位应答位,而且数据传输时必须首先传送最高有效位 (MSB) 位。
当接收器不能完整接收另一个字节时,它可以保持时钟线SCL为低电平,并迫使发送器进入等待状
态。当接收器释放了时钟线SCL的时候,数据传输得以继续进行。
16.3.1.1
START 和 STOP 条件
I2C 总线协议定义了两种状态,以便开始和结束数据传输:START 和 STOP。当 SCL 为高电平时,
SDA 线由高到低的跳变被定义为 START 信号;当 SCL 为高电平的时候,SDA 线由低到高的跳变
被定义为 STOP 信号。总线在 START 条件之后被视为忙状态,在 STOP 条件之后被视为空闲(free)
状态。请参阅图16-3。
图 16-3. START 和 STOP 条件
SDA
SDA
SCL
SCL
START
条件
STOP
条件
STOP 位决定周期是在数据周期结束时停止,还是继续运行,直到发生重复的 START 条件。要产
生单次传输,应在 I2C 主机从机地址 (I2CMSA) 寄存器中写入所需的地址,并将 R/S 位清零,在控
制寄存器中写入 ACK= X(0 或 1)、STOP= 1、START=1 以及 RUN= 1,以便执行单次传输并停
止。操作完成后(或者因为错误退出),中断管脚将激活,数据可能从 I2C 主机数据 (I2CMDR) 寄
存器中读出。I2C 模块以主接收器模式运行时,ACK 位通常会被置位,这会让 I2C 总线控制器在每
个字节接收完之后自动发送一个应答。当 I2C 总线控制器无需接收从发送器发送的数据时,该位必
须清零。
2014 年 01 月 28 日
901
Texas Instruments-预告信息
内部集成电路(I2C)接口
当此模块以从机模式运行时,I2C 从机原始中断状态 (I2CSRIS) 寄存器中的 STARTRIS 和STOPRIS
位用于监测总线上的开始和停止条件;通过配置 I2C 从机屏蔽中断状态 (I2CSMIS) 寄存器可将
STARTRIS 和 STOPRIS 位转变成控制器中断(前提是启用了中断功能)。
16.3.1.2
带有7位地址的数据格式
传输数据格式请参阅图16-4。在达到开始条件之后,从机地址将被发送。地址共有 7 位,紧跟着的
第 8 位是数据传输方向位(I2CMSA 寄存器的 R/S 位)。R/S 位清零表示传输操作(发送),此位
置位表示数据请求(接收)。数据传输总是由主机生成一个停止条件终止的,然而,主机可以在没
有产生停止信号的时候,通过再产生一个开始信号和总线上另一个设备的地址,来与另一个设备通
信。因此,在一次传输过程中可能会存在各种不同组合的接收/发送格式。
图 16-4. 带 7 位地址的完整数据传输
SDA
MSB
SCL
1
2
LSB
R/S
ACK
7
8
9
MSB
1
从机 地址
开始
2
7
数据
LSB
ACK
8
9
停止
第一字节中的前七位即构成从机地址(请参阅图16-5)。第八位确定报文的方向。R/S位的值为0意
味着主机将会传输(发送)数据给选定的从机,如果该位的值为1则表明主机将要从从机那接收数据。
图 16-5. 首字节的R/S位
最高有效位
最低有效位
R/S
从机地址
16.3.1.3
数据有效性
SDA 线上的数据在时钟的高电平期间必须稳定,只有在 SCL 为低电平的时候,数据线才能改变(请
参阅图16-6)。
图 16-6. I2C 总线位传输过程中的数据有效性
SDA
SCL
16.3.1.4
数据线
稳定
允许
修改
数据
应答
总线上所有传输都要带有应答时钟周期,该时钟周期由主机产生。发送器(可以是主机或从机) 在应
答周期过程中释放SDA线,即SDA为高电平。为了响应传输,接收器必须在应答时钟周期过程中拉
低SDA。在应答周期内,接收器发出的数据必须遵循数据有效性要求,请参阅“数据有效性”(902页)。
当从机不能响应从机地址时,从机必须将SDA线保持在高电平状态,使得主机可产生停止条件来中
止当前的传输。如果主机在传输过程中用作接收器,那么它有责任应答从机发出的每次传输。由于
主机控制着传输中的字节数,因此它通过在最后一个数据字节上不产生应答来向从机发送器指示数
据的结束。然后从机发送器必须释放SDA线,以便主机可以产生停止条件或重复起始条件。
2014 年 01 月 28 日
902
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
如果从机需要提供手动的应答或者否定应答,I2C 从机应答控制 (I2CSACKCTL) 寄存器可以让从机
对无效数据或无效指令做出否定应答,或者对有效数据或有效指令做出应答。当启用该功能时,MCU
从机模块的 I2C 时钟会在最后一个数据位之后拉低,直到该寄存器写入指定响应。
16.3.1.5
重复开始
I2C 主机模块能够在发生初次传输后执行重复的 START 序列(发送或接收)。
主机发送的重复开始序列如下所述:
1. 设备处于空闲状态时,主机将从机地址写入 I2CMSA 寄存器,并将 R/S 位配置为所需的传输类
型。
2. 相关数据将写入 I2CMDR 寄存器。
3. 当 I2CMCS 寄存器的 BUSY 位为 0 时,主机向 I2CMCS 寄存器写入 0x3,以发起传输。
4. 主机不会产生 STOP 条件,但会将另一个从机地址写入 I2CMSA 寄存器,然后写入 0x3,以发
起重复的 START。
主机接收的重复开始序列与上述序列类似:
1. 设备处于空闲状态时,主机将从机地址写入 I2CMSA 寄存器,并将 R/S 位配置为所需的传输类
型。
2. 主机读取 I2CMDR 寄存器的数据。
3. 当 I2CMCS 寄存器的 BUSY 位为 0 时,主机向 I2CMCS 寄存器写入 0x3,以发起传输。
4. 主机不会产生 STOP 条件,但会将另一个从机地址写入 I2CMSA 寄存器,然后写入 0x3,以发
起重复的 START。
有关重复 START 的详细信息,请参阅图16-12(912页) 和图16-13(913页)。
16.3.1.6
时钟低电平超时 (CLTO)
I2C 从机可以将时钟周期性地拉低,以产生较低的位传输速率,从而延长数据传输。I2C 模块有一个
12 位的可编程计数器,它可以跟踪时钟被拉低了多长时间。通过 I2C 主机时钟低电平超时计数
(I2CMCLKOCNT) 寄存器,该计数器的高 8 位可通过软件编程。低四位值为 0x0,用户无法查看。
写入 I2CMCLKOCNT 寄存器中 CNTL 的值必须大于 0x01。应用程序能对计数器最高的 8 位进行编
程,以反映可接受的传输累计低电平时间。该计数在 START 条件时加载,并且在主机内部总线时
钟的每个下降沿进行递减计数。注意:即使总线上的 SCL 被拉低,为此计数器生成的内部总线时钟
将一直按编程的 I2C 速度运行。达到终端计数时,主机状态机在 SCL 和 SDA 释放时通过发布 STOP
条件,在总线上强制执行 ABORT。
例如,如果一个 I2C 模块正按 100 kHz 速度运行,由于低四位值为 0x0,将 I2CMCLKOCNT 寄存
器编程为 0xDA 会让该值转换为 0xDA0。换言之,也就是 3488 个时钟周期,即在 100 kHz 频率
下,时钟低电平累积时间为 34.88 ms。
当到达时钟超时期限时, I2C 主机原始中断状态 (I2CMRIS) 寄存器中的 CLKRIS 位被置位,以便让
主机开始纠正措施,解决远程从机状态问题。另外,I2C 主机控制/状态 (I2CMCS) 寄存器中的 CLKTO
位将被置位;在发送 STOP 条件时或者 I2C 主机复位期间,该位将被清零。软件可以读取 I2C 主机
总线监视 (I2CMBMON) 寄存器中的 SDA 和 SCL 位以获得 SDA 和 SCL 信号的原始状态,从而帮
助确定远程从机的状态。
发生 CLTO 条件时,应用软件必须选择如何尝试恢复总线。大多数应用程序可能会尝试手动切换
I2C 管脚,以强制从机释放时钟信号(另外一种常用的解决方案是强制总线 STOP)。如果在猝发传
2014 年 01 月 28 日
903
Texas Instruments-预告信息
内部集成电路(I2C)接口
输结束前检测到 CLTO,而且主机成功恢复了总线,那么主机硬件将尝试完成挂起的猝发操作。总
线上的实际操作取决于总线恢复后的从机状态。如果从机重新进入能够应答主机的状态(基本上总
线挂起之前的状态),则会从之前停止的位置继续运行。但是如果从机重新进入复位状态(或者由
于主机发出强制 STOP,导致从机进入空闲状态),它可能忽略主机完成猝发操作的尝试,同时
NAK 主机发送或请求的第一个数据字节。
由于从机的操作无法始终准确预测,建议应用程序软件在 CLTO 中断服务例程期间始终写入 I2C 主
机配置 (I2CMCR) 寄存器的 STOP 位。这一设置可以将总线恢复后主机接收或发送的数据量限制为
单个字节,并且在这个单字节在传输线上时,主机将发出一个 STOP。另一种解决方案是在尝试手
动恢复总线之前通过应用程序软件将 I2C 外设复位。这种解决方案能够让 I2C 主机硬件在尝试恢复
卡滞总线前重新进入已知的良好(以及空闲)状态,并防止线上意外出现数据。
注意:
16.3.1.7
主机时钟低电平超时计数器会计算 SCL 被持续拉低的所有时间。如果 SCL 在任何时候失
效,主机时钟低电平超时计数器将重新加载 I2CMCLKOCNT 寄存器中的值,并从此值开始
递减计数。
双地址
I2C 接口支持从机双地址功能。系统提供额外的可编程地址,启用后也可以进行地址匹配。在传统模
式中,双地址功能将被禁用,如果地址与 I2CSOAR 寄存器中的 OAR 域相匹配,I2C 从机会在总线
上提供应答。在双地址模式下,如果 I2CSOAR 寄存器中的 OAR 域或者 I2CSOAR2 寄存器中的
OAR2 域匹配,I2C 从机会在总线上提供应答。双地址功能通过对 I2CSOAR2 寄存器中的 OAR2EN
位进行编程而启用,且传统地址不会被禁用。
I2CSCSR 寄存器中的 OAR2SEL 位可以显示出应答地址是否是复用地址。该位被清零时,表示处
于传统操作,或者无地址匹配。
16.3.1.8
仲裁
只有在总线空闲时,主机才可以启动传输。在 START 条件的最少保持时间内,两个或两个以上的
主机都有可能产生 START 条件。在这些情况下,当SCL为高电平时仲裁机制在SDA线上产生。在
仲裁过程中,第一个竞争的主机在 SDA 上设置 1(高电平),而另一个主机发送 0(低电平),前
者将关闭其数据输出阶段并退出,直至总线再次空闲。
仲裁可以在多个位上发生。仲裁的第一个阶段是比较地址位,如果两个主机都试图寻址相同的器件,
则仲裁继续比较数据位。
16.3.1.9
多主机配置中的故障抑制
使用多主机配置时,可将 I2C 主机配置 (I2CMCR) 寄存器的 GFE 位置位,以为 SCL 和 SDA 线路
启用故障抑制,并确保信号值正确。使用 I2C 主机配置 2 (I2CMCR2) 寄存器的 GFPW 位可将滤波
器配置为不同的滤波宽度。故障抑制值将以缓冲系统时钟数的形式给出。请注意:故障抑制不为零
时,所有信号都将在内部延迟。例如,如果 GFPW 设置为 0x7,则在计算预期处理时间时,应加上
31 个时钟。
16.3.2
可用的速度模式
I2C 总线能够以标准模式 (100 kbps)、快速模式 (400 kbps)、超快模式 (1 Mbps) 或者高速模式 (3.33
Mbps) 运行。所选速度模式必须与总线上的其他 I2C 设备相同。
16.3.2.1
标准、快速和超快模式
通过 I2C 主机定时器周期 (I2CMTPR) 寄存器中的数值可以选择标准、快速和超快模式,其 SCL 频
率为标准模式 100 kbps、快速模式 400 kbps 或超快模式 1 Mbps。
I2C 时钟速率取决于以下参数:CLK_PRD、TIMER_PRD、SCL_LP 和 SCL_HP,其中:
CLK_PRD 是系统时钟周期
2014 年 01 月 28 日
904
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
SCL_LP 是 SCL 的低电平相位(固定为 6)
SCL_HP 是 SCL 的高电平相位(固定为 4)
TIMER_PRD 是 I2CMTPR 寄存器的编程值(请参考 926页)。通过替换以下公式中的已知变量并算
出 TIMER_PRD 值即可得到该值。
I2C 时钟周期计算方法如下:
SCL_PERIOD = 2 × (1 + TIMER_PRD) × (SCL_LP + SCL_HP) × CLK_PRD
例如:
CLK_PRD = 50ns
TIMER_PRD = 2
SCL_LP=6
SCL_HP=4
产生的SCL频率是:
1/SCL_PERIOD = 333 Khz
表16-2 给出了不同的系统时钟频率下产生标准、快速和超快模式 SCL 频率的定时器周期的示例。
表 16-2. I2C 主机定时器周期与速度模式示例
系统时钟
16.3.2.2
定时器周期
标准模式
定时器周期
快速模式
定时器周期
超快模式
4 MHz
0x01
100 Kbps
-
-
-
-
6 MHz
0x02
100 Kbps
-
-
-
-
12.5 MHz
0x06
89 Kbps
0x01
312 Kbps
-
-
16.7 MHz
0x08
93 Kbps
0x02
278 Kbps
-
-
20 MHz
0x09
100 Kbps
0x02
333 Kbps
-
-
25 MHz
0x0C
96.2 Kbps
0x03
312 Kbps
-
-
33 MHz
0x10
97.1 Kbps
0x04
330 Kbps
-
-
40 MHz
0x13
100 Kbps
0x04
400 Kbps
0x01
1000 Kbps
50 MHz
0x18
100 Kbps
0x06
357 Kbps
0x02
833 Kbps
80 MHz
0x27
100 Kbps
0x09
400 Kbps
0x03
1000 Kbps
高速模式
TM4C1231D5PM I2C 外设支持在主机和从机模式下高速运行。高速模式的配置方法是将 I2C 主机控
制/状态 (I2CMCS) 寄存器的 HS 位置位。高速模式将以高位速率传输数据,其占空比为
66.6%/33.3%,但是通信和仲裁将以标准、快速或者超快模式的速度进行,用户可以选择其中一种
模式。如果 I2CMCS 寄存器中的 HS 位被置位,那么当前模式的上拉功能将启用。
可以使用以下公式选择时钟周期,但是在这种情况下,SCL_LP=2,SCL_HP=1。
SCL_PERIOD = 2 × (1 + TIMER_PRD) × (SCL_LP + SCL_HP) × CLK_PRD
例如:
CLK_PRD = 25 ns
TIMER_PRD = 1
SCL_LP=2
SCL_HP=1
2014 年 01 月 28 日
905
Texas Instruments-预告信息
内部集成电路(I2C)接口
产生的SCL频率是:
1/T = 3.33 Mhz
表16-3(906页)给出了高速模式下定时器周期和系统时钟的示例。请注意:必须将 I2CMTPR 寄存
器的 HS 位置位,以便在高速模式中使用 TPR 值。
表 16-3. 高速模式下 I2C 主机定时器周期的示例
系统时钟
定时器周期
传输模式
40 MHz
0x01
3.33 Mbps
50 MHz
0x02
2.77 Mbps
80 MHz
0x03
3.33 Mbps
用作主机时,协议如 图16-7 所示。在开始高速模式传输前,主机负责发送标准模式 (100 Kbps) 或
快速模式 (400 Kbps) 的主机代码字节。主机代码字节必须包含 0000.1XXX 格式的数据,并用于告
诉从机设备准备进行高速传输。主机代码字节不应发送到从机,而只用于表示即将传输的数据将以
更高的数据速率传输。要发送主机代码字节,软件应将主机代码字节的值置入 I2CMSA 寄存器,并
将 0x13 写入 I2CMCS 寄存器。这会将 I2C 主机外设置于高速模式,所有之后的传输(直至 STOP
指令)都通过常规的 I2CMCS 命令位在高速数据速率进行,而无需将 I2CMCS 寄存器的 HS 位置
位。同样的,仅在主机代码字节中需要将 I2CMCS 寄存器的 HS 位置位。
用作高速从机时,无需使用其他软件。
图 16-7. 高速数据格式
R/W
SDA
设备特定
非应
答
地址
数据
SCL
标准 (100 KHz) 或快速模式 (400 KHz)
注意:
16.3.3
高速
(3.3 Mbps)
高速模式为 3.4 Mbps,条件是设置了正确的系统时钟频率,且 SCL 和 SDA 线具有适当拉力。
中断信号
I2C 会在发生以下条件时产生中断:
■ 主机传输完毕
■ 主机仲裁丢失
■ 主机发送错误
■ 主机总线超时
■ 从机接收完成
■ 从机请求传输
■ 总线检测到结束条件
■ 总线检测到开始条件
2014 年 01 月 28 日
906
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
I2C 主机和 I2C 从机模块具有单独的中断信号。然而两种模式下都能因为多种情况产生中断,但只有
一个中断信号进入中断控制器。
16.3.3.1
I2C 主机中断
当通信结束(发送或者接收)、仲裁失败或者通信发生错误时,I2C 主机模块将产生一个中断。要启
用 I2C 主机中断,应通过软件将 I2C 主机中断屏蔽 (I2CMIMR) 寄存器中的 IM 位置位。当满足中断
条件时,必须通过软件检查 I2C 主机控制/状态 (I2CMCS) 寄存器中的 ERROR 和 ARBLST 位,以
验证错误并未发生在最后一个通信期间,以及确保没有输掉仲裁。如果最后的应答信号不是由从机
发出,则可断定有错误发生。如果没有检测到错误的发生,并且主机没有丢失仲裁,应用成员就可
以处理传输。将 I2C 主机中断清除 (I2CMICR) 寄存器中的 IC 位置位,该中断就会被清除。
如果应用程序无需使用中断,那么通过 I2C 主机原始中断状态 (I2CMRIS) 寄存器可以随时查看原始
中断状态。
16.3.3.2
I2C 从机中断
从机模式可以在已接收完数据或是需要从主机接收数据的时候产生中断。将 I2C 从机中断屏蔽
(I2CSIMR) 寄存器中的 DATAIM 位置位即可启用该中断。应通过软件检查 I2C 从机控制/状态
(I2CSCSR) 寄存器中的 RREQ 和 TREQ 位,以确定该模块应该写入(发送)还是读取(接收)来
自 I2C 从机数据 (I2CSDR) 寄存器的数据。如果从机模块处于接收状态,并且已经接收到了第一个
字节,则 FBR 和 RREQ 位一起置位。将 I2C 从机中断清除 (I2CSICR) 寄存器中的 DATAIC 位置位
即可清除该中断。
另外,从机模式时,在检测到开始和结束信号的时候也可以产生中断。要启用这些中断,请将 I2C
从机中断屏蔽 (I2CSIMR) 寄存器中的 STARTIM 和 STOPIM 位置位;要清除这些中断,请将 I2C 从
机中断清除 (I2CSICR) 寄存器中的 STOPIC 和 STARTIC 位置位。
如果应用程序无需使用中断,那么通过 I2C 从机原始中断状态 (I2CSRIS) 寄存器可以随时查看原始
中断状态。
16.3.4
回送操作
将 I2C 主机配置 (I2CMCR) 寄存器中的 LPBK 位置位即可让 I2C 模块进入内部回送模式,以便进行
诊断或者调试工作。在回送模式中,主机的 SDA 和 SCL 信号与从机模块的 SDA 和 SCL 信号绑
定,以便在不使用 I/O 接口的情况下对器件进行内部测试。
16.3.5
命令序列流程图
本节描述了主机和从机模式下进行各种类型的 I2C 传输的详细步骤。
16.3.5.1
I2C 主机指令序列
下图显示了 I2C 主机的可用指令序列。
2014 年 01 月 28 日
907
Texas Instruments-预告信息
内部集成电路(I2C)接口
图 16-8. 主机单次传输
闲置
写入从机 地址到
I2CMSA
在单个主机
系统中, 序列
可能 被忽略
写入数据到
I2CMDR
读取 I2CMCS
否
BUSBSY 位 =
0?
是
写入 ---0-111 到
I2CMCS
读取 I2CMCS
否
BUSY 位 = 0?
是
错误服务
否
ERROR 位 = 0?
是
闲置
2014 年 01 月 28 日
908
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 16-9. 主机单次接收
闲置
写入从机 地址到
I2CMSA
在单个主机
系统中,序列
可能被忽略
读取 I2CMCS
否
BUSBSY 位 =
0?
是
写入 ---00111 到
I2CMCS
读取 I2CMCS
否
BUSY 位 = 0?
是
错误服务
否
ERROR 位 = 0?
是
读取来自 I2CMDR
的数据
闲置
2014 年 01 月 28 日
909
Texas Instruments-预告信息
内部集成电路(I2C)接口
图 16-10. 多数据字节的主机传输
闲置
写入从机 地址到
I2CMSA
读取 I2CMCS
在单个主机
系统中, 序列
可能 被忽略
写入数据到
I2CMDR
BUSY 位 = 0?
是
读取 I2CMCS
ERROR 位 = 0?
否
否
BUSBSY 位 =
0?
否
是
写入数据到
I2CMDR
是
写入 ---0-011 到
I2CMCS
否
ARBLST 位 = 1?
是
写入 ---0-001 到
I2CMCS
否
索引 = n?
是
写入 ---0-101 到
I2CMCS
写入 ---0-100
到 I2CMCS
错误服务
闲置
读取 I2CMCS
否
BUSY 位 = 0?
是
错误服务
否
ERROR 位 = 0?
是
闲置
2014 年 01 月 28 日
910
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 16-11. 多数据字节的主机接收
闲置
写入从机 地址到
I2CMSA
在单个主机
系统中,
序列 可能
被忽略
读取 I2CMCS
BUSY 位 = 0?
读取 I2CMCS
否
是
否
BUSBSY 位 =
0?
ERROR 位 = 0?
否
是
写入 ---01011 到
I2CMCS
否
读取来自 I2CMDR
的数据
ARBLST 位 = 1?
是
写入 ---01001 到
I2CMCS
否
写入 ---0-100 到
I2CMCS
索引 = m-1?
错误服务
是
写入 ---00101 到
I2CMCS
闲置
读取 I2CMCS
BUSY 位 = 0?
否
是
否
ERROR 位 = 0?
是
错误服务
读取来自 I2CMDR
的数据
闲置
2014 年 01 月 28 日
911
Texas Instruments-预告信息
内部集成电路(I2C)接口
图 16-12. 主机传输后以重复开始序列进行的主机接收
闲置
主机以
主机发送模式运行
停止条件没有 发生
写入从机 地址到
I2CMSA
写入 ---01011 到
I2CMCS
主机以
主机接收模式运行
重复开始
条件已发生 且数据
方向已更改
闲置
2014 年 01 月 28 日
912
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 16-13. 主机接收后以重复开始序列进行的主机传输
闲置
主机以
主机接收模式运行
停止条件没有 发生
写入从机 地址到
I2CMSA
写入 ---0-011 到
I2CMCS
主机以
主机发送模式运行
重复开始
条件已发生 且数据
方向已更改
闲置
2014 年 01 月 28 日
913
Texas Instruments-预告信息
内部集成电路(I2C)接口
图 16-14. 标准高速模式主机传输
IDLE
写入从机地址
到 I2CMSA 寄存器
主机代码和 仲裁通常
在快速或
标准模式中完成
写入 ---10011
到 I2CMCS 寄存器
读取 I2CMCS 寄存器
否
繁忙=’0'
是
否
IDLE
错误=’0'
是
正常顺序从此开始。以下 序列包括
SINGLE 发送
写入从机地址
到 I2MSA 寄存器
写数据
到 I2CMDR 寄存器
写 ---0-111
到 I2CMCS 寄存器
读取 I2CMCS 寄存器
否
繁忙=’0'
是
是
IDLE
错误=’0'
否
错误服务
IDLE
2014 年 01 月 28 日
914
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
16.3.5.2
I2C 从机指令序列
图16-15(915页)显示了 I2C 从机的可用指令序列。
图 16-15. 从机命令序列
闲置
写入本身从机
地址到 I2CSOAR
写入 -------1 到
I2CSCSR
读取 I2CSCSR
否
TREQ 位 = 1?
是
写入数据到
I2CSDR
否
RREQ 位 = 1?
FBR
也有效
是
读取来自 I2CSDR
的数据
16.4
初始化和配置
16.4.1
将 I2C 模块配置为以主机身份传输单字节数据
以下示例显示了如何将 I2C 模块配置为以主机身份传输单字节数据。这里假设系统时钟为20MHz。
1. 用系统控制模块中的 RCGCI2C 寄存器启用 I2C 时钟(请参阅303页)。
2. 用系统控制模块中的 RCGCGPIO 寄存器启用适当的 GPIO 模块时钟(请参阅295页)。要了解
要启用哪一个 GPIO 端口,请参考表20-5(1024页)。
3. 在 GPIO 模块中,通过 GPIOAFSEL 寄存器启用相应管脚的复用功能(请参阅 595页)。为了确
定哪些 GPIO 需要配置,请参考 表20-4(1019页)。
4. 启用 I2CSDA 管脚以执行开漏操作。请参阅600页。
2014 年 01 月 28 日
915
Texas Instruments-预告信息
内部集成电路(I2C)接口
5. 设置 GPIOPCTL 寄存器中的 PMCn 域,将 I2C 信号分配到适当的管脚。请参阅612页和表
20-5(1024页)。
6. 在 I2CMCR 寄存器中写入 0x0000.0010,以初始化 I2C 主机。
7. 通过向 I2CMTPR 寄存器写入正确的值来设置所需的 100 Kbps SCL 时钟速率写入 I2CMTPR 寄
存器的值反映了在一个 SCL 时钟周期中系统时钟周期的数目。TPR的值由以下方程决定:
TPR = (System Clock/(2*(SCL_LP + SCL_HP)*SCL_CLK))-1;
TPR = (20MHz/(2*(6+4)*100000))-1;
TPR = 9
向 I2CMTPR 寄存器写入 0x0000.0009。
8. 在 I2CMSA 寄存器中写入 0x0000.0076,以指定从机地址,并指明下一个操作是发送。这会把
从机地址设置为 0x3B。
9. 向 I2CMDR 寄存器写入需要传送的数据,以此设置数据寄存器中待发送的数据(字节)。
10. 通过向 I2CMCS 寄存器写入值 0x0000.0007 来开始从主机发送一个字节的数据到从机(STOP、
START、RUN)。
11. 等待传输结束(通过轮询 I2CMCS 寄存器的 BUSBSY 位是否已被清零)。
12. 检查 I2CMCS 寄存器中的 ERROR 位,确认传输得到应答。
16.4.2
将 I2C 主机配置为高速模式
将 I2C 主机配置为高速模式的方法:
1. 用系统控制模块中的 RCGCI2C 寄存器启用 I2C 时钟(请参阅303页)。
2. 用系统控制模块中的 RCGCGPIO 寄存器启用适当的 GPIO 模块时钟(请参阅295页)。要了解
要启用哪一个 GPIO 端口,请参考表20-5(1024页)。
3. 在 GPIO 模块中,通过 GPIOAFSEL 寄存器启用相应管脚的复用功能(请参阅 595页)。为了确
定哪些 GPIO 需要配置,请参考 表20-4(1019页)。
4. 启用 I2CSDA 管脚以执行开漏操作。请参阅600页。
5. 设置 GPIOPCTL 寄存器中的 PMCn 域,将 I2C 信号分配到适当的管脚。请参阅612页和表
20-5(1024页)。
6. 在 I2CMCR 寄存器中写入 0x0000.0010,以初始化 I2C 主机。
7. 通过向 I2CMTPR 寄存器写入正确的值来设置所需的 SCL 时钟速率 3.33 Mbps。写入 I2CMTPR
寄存器的值反映了在一个 SCL 时钟周期中系统时钟周期的数目。TPR的值由以下方程决定:
TPR = (System Clock/(2*(SCL_LP + SCL_HP)*SCL_CLK))-1;
TPR = (80 MHz/(2*(2+1)*3330000))-1;
TPR = 3
向 I2CMTPR 寄存器写入 0x0000.0003。
8. 要发送主机代码字节,软件应将主机代码字节的值置入 I2CMSA 寄存器,并将 0x13 写入 I2CMCS
寄存器。
2014 年 01 月 28 日
916
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
9. 这会将 I2C 主机外设置于高速模式,所有之后的传输(直至 STOP 指令)都通过常规的 I2CMCS
命令位以高速数据速率进行,而无需将 I2CMCS 寄存器的 HS 位置位。
10. 将 I2CMCS 寄存器中的 STOP 位置位,可结束该操作。
11. 等待传输结束(通过轮询 I2CMCS 寄存器的 BUSBSY 位是否已被清零)。
12. 检查 I2CMCS 寄存器中的 ERROR 位,确认传输得到应答。
16.5
寄存器映射
表 16-4(917页)列出了各个 I2C 寄存器。所有给出的地址都相对于 I2C 基础地址:
■
■
■
■
I2C 0:0x4002.0000
I2C 1:0x4002.1000
I2C 2:0x4002.2000
I2C 3:0x4002.3000
请注意,在对寄存器编程之前必须启用 I2C 模块的时钟(请参阅303页)。I2C 模块时钟启用之后必
须延迟 3 个系统时钟,I2C 模块的寄存器才能访问。
驱动程序库中的 hw_i2c.h 文件 TivaWare™ 将 0x800 作为 I2C 从机寄存器的基础地址。请留意在使
用偏移量在 0x800 和 0x818 之间的寄存器时 TivaWare™(适用于 C 系列) 将使用从机基础地址,
且偏移量介于 0x000 和 0x018 之间。
表 16-4. 内部集成电路(I2C)接口 寄存器映射
偏移量
名称
类型
复位
描述
见页面
0x000
I2CMSA
R/W
0x0000.0000
I2C 主机从机地址寄存器
919
0x004
I2CMCS
R/W
0x0000.0020
I2C 主机控制/状态寄存器
920
0x008
I2CMDR
R/W
0x0000.0000
I2C 主机数据寄存器
925
0x00C
I2CMTPR
R/W
0x0000.0001
I2C 主机定时器周期寄存器
926
0x010
I2CMIMR
R/W
0x0000.0000
I2C 主机中断屏蔽寄存器
927
0x014
I2CMRIS
RO
0x0000.0000
I2C 主机原始中断状态寄存器
928
0x018
I2CMMIS
RO
0x0000.0000
I2C 主机屏蔽中断状态寄存器
929
0x01C
I2CMICR
WO
0x0000.0000
I2C 主机中断清除寄存器
930
0x020
I2CMCR
R/W
0x0000.0000
I2C 主机配置寄存器
931
0x024
I2CMCLKOCNT
R/W
0x0000.0000
I2C 主机时钟低电平超时计数寄存器
932
0x02C
I2CMBMON
RO
0x0000.0003
I2C 主机总线监视寄存器
933
0x038
I2CMCR2
R/W
0x0000.0000
I2C 主机配置 2 寄存器
934
0x800
I2CSOAR
R/W
0x0000.0000
I2C 从机本身地址寄存器
935
0x804
I2CSCSR
RO
0x0000.0000
I2C 从机控制/状态寄存器
936
0x808
I2CSDR
R/W
0x0000.0000
I2C 从机数据寄存器
938
I2C 主机
I2C 从机
2014 年 01 月 28 日
917
Texas Instruments-预告信息
内部集成电路(I2C)接口
表 16-4. 内部集成电路(I2C)接口 寄存器映射(续)
偏移量
名称
类型
复位
描述
见页面
0x80C
I2CSIMR
R/W
0x0000.0000
I2C 从机中断屏蔽
939
0x810
I2CSRIS
RO
0x0000.0000
I2C 从机原始中断状态寄存器
940
0x814
I2CSMIS
RO
0x0000.0000
I2C 从机屏蔽中断状态寄存器
941
0x818
I2CSICR
WO
0x0000.0000
I2C 从机中断清除寄存器
942
0x81C
I2CSOAR2
R/W
0x0000.0000
I2C 从机自身地址寄存器 2
943
0x820
I2CSACKCTL
R/W
0x0000.0000
I2C 从机应答控制寄存器
944
I2C 状态和控制
0xFC0
I2CPP
RO
0x0000.0001
I2C 外设属性寄存器
945
0xFC4
I2CPC
RO
0x0000.0001
I2C 外设配置寄存器
946
16.6
寄存器描述(I2C 主机)
本章的剩余部分按照地址偏移量由小到大的顺序依次详细介绍各 I2C 主机寄存器。
2014 年 01 月 28 日
918
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 1: I2C 主机从机地址寄存器(I2CMSA),偏移量 0x000
该寄存器包含8位:7位地址(A6:A0)和1位接收/发送位。 接收/发送位决定了下一个操作是接收(高)还
是发送(低)。
I2C 主机从机地址寄存器 (I2CMSA)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x000
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
SA
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:1
SA
R/W
0x00
R/S
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
I2C 从机地址
该字段表示从机地址的A6到A0。
0
R/S
R/W
0
接收/发送
R/S 位可指示下一个操作是接收(高电平)还是发送(低电平)。
值 描述
0 发送
1 接收
2014 年 01 月 28 日
919
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 2: I2C 主机控制/状态寄存器(I2CMCS),偏移量 0x004
该寄存器在读取时访问状态位,在写入时访问控制位。读取时,状态寄存器可指示 I2C 总线控制器
的状态。写入时,控制器寄存器可用来设置 I2C 控制器的操作。
START 位用来产生 START 或 REPEATED START 信号。STOP 位决定周期是在数据周期结束时
停止,还是继续运行下一个传输周期(可能是重复 START)。要产生单次传输,应在 I2C 主机从机
地址 (I2CMSA) 寄存器中写入所需的地址,并将 R/S 位清零,在控制寄存器中写入 ACK= X(0 或
1)、STOP= 1、START=1 以及 RUN= 1,以便执行单次传输并停止。当操作完成时(或者由于错误
退出),中断将激活,数据可能从 I2CMDR 寄存器中读出。I2C 模块以主机接收器模式运行时,ACK
位通常会被置位,这会让 I2C 总线控制器在每个字节接收完成之后自动发送一个应答。当 I2C 总线
控制器无需接收从发送器发送的数据时,该位必须清零。
只读状态寄存器
I2C 主机控制/状态寄存器 (I2CMCS)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x004
类型 RO, 复位 0x0000.0020
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
2
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
11
10
9
8
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
CLKTO
RO
0
RO
0
7
6
5
4
CLKTO
BUSBSY
IDLE
ARBLST
RO
0
RO
0
RO
1
RO
0
DATACK ADRACK
RO
0
1
0
ERROR
BUSY
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
时钟超时错误
值 描述
0 无时钟超时错误。
1 发生时钟超时错误。
当主机发送停止条件或者 I2C 主机复位时,该位被清零。
6
BUSBSY
RO
0
总线占线
值 描述
0 I2C 总线空闲。
1 I2C 总线占线。
该位根据开始和停止条件变化。
2014 年 01 月 28 日
920
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
5
IDLE
RO
1
描述
I2C 空闲
值 描述
0 I2C 控制器没有闲置。
1 I2C 控制器空闲。
4
ARBLST
RO
0
仲裁失败
值 描述
0 I2C 控制器赢得仲裁。
1 I2C 控制器输掉仲裁。
3
DATACK
RO
0
应答数据
值 描述
0 发送数据时应答
1 发送数据时不应答
2
ADRACK
RO
0
应答地址
值 描述
0 传输地址得到应答。
1 传输地址没有得到应答。
1
ERROR
RO
0
误差
值 描述
0 在最后的操作中没有检测到错误
1 在最后的操作中已经发生了错误
该错误可能源于从机地址没有得到应答或者传输数据没有得到应答。
0
BUSY
RO
0
I2C 占线
值 描述
0 控制器空闲。
1 控制器忙。
当 BUSY 置位时,其他的状态位将无效。
2014 年 01 月 28 日
921
Texas Instruments-预告信息
内部集成电路(I2C)接口
只写控制寄存器
I2C 主机控制/状态寄存器 (I2CMCS)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x004
类型 WO, 复位 0x0000.0020
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
10
9
8
7
6
5
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
4
3
2
1
0
HS
ACK
STOP
START
RUN
WO
0
WO
0
WO
0
WO
0
WO
0
位/域
名称
类型
复位
描述
31:5
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
4
HS
WO
0
高速使能
值 描述
0 在 I2CMTPR 寄存器中写入相应数值即可选择以标准、快速或者超
快模式运行主机。SCL 频率分别是标准模式 100 kbps、快速模式
400 kbps 或超快模式 1 Mpbs。
1 主机以高速模式运行时,传输速率可高达 3.33 Mbps。
3
ACK
WO
0
数据应答允许
值 描述
0 主机在收到数据的时候不自动应答
1 主机会自动应答接收到的数据字节。域解码请参阅表16-5(923页)。
2
STOP
WO
0
产生停止条件
值 描述
0 控制器不生成停止信号
1 控制器产生了停止条件。域解码请参阅表16-5(923页)。
1
START
WO
0
产生开始条件
值 描述
0 控制器不生成开始信号
1 控制器产生或者重复开始条件。域解码请参阅表16-5(923页)。
2014 年 01 月 28 日
922
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
RUN
WO
0
描述
I2C 主机启用
值 描述
0 该编码表示主机不可以发送或接收数据。
1 主机可以发送或接收数据。
域解码请参阅表16-5(923页)。
表 16-5. 为 I2CMCS[3:0] 域写入域解码
当 I2CMSA[0]
前
R/S
状
态
空
闲
I2CMCS[3:0]
ACK
STOP
START
RUN
0
X
a
0
1
1
START条件之后跟随SEND(主机进入主机发送状态)
0
X
1
1
1
START条件之后跟随SEND和STOP条件(主机保持在空闲
状态)
1
0
0
1
1
START条件之后跟随带有非应答的接收操作(主机进入主
机接收状态)。
1
0
1
1
1
START条件之后跟随RECEIVE和STOP条件(主机保持在
空闲状态)。
1
1
0
1
1
START条件之后跟随 RECEIVE(主机进入主机接收状态)。
1
1
1
1
1
非法
其余未列出的情况都不执行任何操作
主
机
发
送
描述
NOP
X
X
0
0
1
发送操作(主机仍然在发送状态)
X
X
1
0
0
STOP条件(主机进入空闲状态)。
X
X
1
0
1
发送之后跟着是停止条件(主机进入空闲状态)
0
X
0
1
1
重复START条件之后跟随SEND(主机仍然在发送状态)
0
X
1
1
1
重复的START条件之后跟随SEND和STOP条件(主机进入
空闲状态)。
1
0
0
1
1
重复START条件之后跟随带有非应答的接收操作(主机
进入主机接收状态)。
1
0
1
1
1
重复START条件之后跟随SEND和STOP条件(主机进入空
闲状态)。
1
1
0
1
1
重复START条件之后跟随RECEIVE(主机进入主机接收
状态)。
1
1
1
1
1
非法。
其余未列出的情况都不执行任何操作
NOP.
2014 年 01 月 28 日
923
Texas Instruments-预告信息
内部集成电路(I2C)接口
表 16-5. 为 I2CMCS[3:0] 域写入域解码(续)
当 I2CMSA[0]
前
R/S
状
态
主
机
接
收
I2CMCS[3:0]
ACK
STOP
START
RUN
X
0
0
0
1
带有非应答的接收操作(主机保持在主机接收状态)。
X
X
1
0
0
STOP条件(主机进入空闲状态)。
X
0
1
0
1
RECEIVE 接收之后跟随STOP条件(主机进入空闲状
态)。
X
1
0
0
1
接收操作(主机保持在主机接收状态)。
X
1
1
0
1
非法。
1
0
0
1
1
重复的START条件之后跟随带有非应答的接收操作(主
机保持在主机接收状态)。
1
0
1
1
1
重复的START条件之后跟随 RECEIVE和STOP条件(主
机进入空闲状态)。
1
1
0
1
1
重复的START条件之后跟随 RECEIVE(主机保持在主机
接收状态)。
0
X
0
1
1
重复开始条件后紧跟发送操作(主机进入主机发送状
态)。
0
X
1
1
1
重复的START条件之后跟随SEND和STOP条件(主机进入
空闲状态)。
其余未列出的情况都不执行任何操作
描述
b
NOP.
a. 表格中的X说明该位可以设置成0或1。
b. 在主机接收模式下,STOP条件仅在主机执行数据非应答或从机执行地址非应答后产生。
2014 年 01 月 28 日
924
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 3: I2C 主机数据寄存器(I2CMDR),偏移量 0x008
重要:
本寄存器为读敏感型寄存器。有关详细信息,请参阅寄存器描述部分。
在主机发送数据时,该寄存器包含要发送的数据;在主机接收数据时,该寄存器包含接收到的数据。
I2C 主机数据寄存器 (I2CMDR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x008
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
DATA
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
DATA
R/W
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
此字节包含操作期间传输的数据。
2014 年 01 月 28 日
925
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 4: I2C 主机定时器周期寄存器(I2CMTPR),偏移量 0x00C
编程该寄存器以设置 SCL 时钟的定时器周期,并将 SCL 时钟指定为标准或高速模式。
I2C 主机定时器周期寄存器 (I2CMTPR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x00C
类型 R/W, 复位 0x0000.0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
WO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
保留
类型
复位
保留
类型
复位
HS
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
HS
WO
0x0
TPR
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
高速使能
值 描述
0 TPR 设置的 SCL 时钟周期适用于标准模式 (100 Kbps)、快速模式
(400 Kbps) 或超快模式 (1 Mbps)。
1 TPR 设置的 SCL 时钟周期适用于高速模式 (3.33 Mbps)。
6:0
TPR
R/W
0x1
定时器周期
此域将在用于配置 SCL_PERIOD 的公式中使用:
SCL_PERIOD = 2×(1 + TPR)×(SCL_LP + SCL_HP)×CLK_PRD
此处,
SCL_PRD 是 SCL 线周期(I2C 时钟)。
TPR 是定时器周期寄存器值(范围 1 到 127)。
SCL_LP 是 SCL 低电平周期(固定为 6)。
SCL_HP 是 SCL 高电平周期(固定为 4)。
CLK_PRD 是系统时钟周期,单位 ns。
2014 年 01 月 28 日
926
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 5: I2C 主机中断屏蔽寄存器(I2CMIMR),偏移量 0x010
该寄存器控制是否将原始中断提交到控制器中断。
I2C 主机中断屏蔽寄存器 (I2CMIMR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x010
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
CLKIM
IM
R/W
0
R/W
0
位/域
名称
类型
复位
描述
31:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
1
CLKIM
R/W
0
时钟超时中断屏蔽
值 描述
0 CLKRIS 中断被抑制,不会发送到中断控制器。
1 当 I2CMRIS 寄存器中的 CLKRIS 位被置位时,时钟超时中断就会
被发送到中断控制器。
0
IM
R/W
0
主机中断屏蔽寄存器
值 描述
0 RIS 中断被抑制,没有发送到中断控制器。
1 当 I2CMRIS 寄存器里的 RIS 位置位时,主机中断发送到中断控制
器。
2014 年 01 月 28 日
927
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 6: I2C 主机原始中断状态寄存器(I2CMRIS),偏移量 0x014
该寄存器表示是否有中断正等待处理
I2C 主机原始中断状态寄存器 (I2CMRIS)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x014
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
CLKRIS
RIS
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
描述
31:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
1
CLKRIS
RO
0
时钟超时原始中断状态
值 描述
0 无中断。
1 时钟超时中断被挂起。
如果在 I2CMICR 寄存器中的 CLKIC 位写入 1,该位会被清零。
0
RIS
RO
0
主机原始中断状态寄存器
值 描述
0 无中断。
1 主机中断被挂起。
通过向 I2CMICR 寄存器的 IC 位写 1 来清除该位。
2014 年 01 月 28 日
928
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 7: I2C 主机屏蔽中断状态寄存器(I2CMMIS),偏移量 0x018
该寄存器表示是否发出中断信号。
I2C 主机屏蔽中断状态寄存器 (I2CMMIS)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x018
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
CLKMIS
MIS
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
描述
31:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
1
CLKMIS
RO
0
时钟超时屏蔽中断状态
值 描述
0 无中断。
1 未经屏蔽的时钟超时中断信号已经发出,已经挂起。
如果在 I2CMICR 寄存器中的 CLKIC 位写入 1,该位会被清零。
0
MIS
RO
0
屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 未经屏蔽的主机中断信号已经发出,已经挂起。
通过向 I2CMICR 寄存器的 IC 位写 1 来清除该位。
2014 年 01 月 28 日
929
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 8: I2C 主机中断清除寄存器(I2CMICR),偏移量 0x01C
该寄存器可清除原始中断和屏蔽中断。
I2C 主机中断清除寄存器 (I2CMICR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x01C
类型 WO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
CLKIC
IC
WO
0
WO
0
位/域
名称
类型
复位
描述
31:2
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
1
CLKIC
WO
0
时钟超时中断清除
在该位写入 1 即可将 I2CMRIS 寄存器中的 CLKRIS 位和 I2CMMIS 寄
存器中的 CLKMIS 位清零。
读取该寄存器的值没有任何意义
0
IC
WO
0
主机中断清除寄存器
向该位写入 1 可清除 I2CMRIS 的 RIS 位和 I2CMMIS 的 MIS 位。
读取该寄存器的值没有任何意义
2014 年 01 月 28 日
930
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 9: I2C 主机配置寄存器(I2CMCR),偏移量 0x020
该寄存器用于配置主机或从机模式、启用故障滤波器,并为测试模式回送设置接口。
I2C 主机配置寄存器 (I2CMCR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x020
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
GFE
SFE
MFE
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
RO
0
位/域
名称
类型
复位
31:7
保留
RO
0x0000.00
6
GFE
R/W
0
保留
RO
0
RO
0
LPBK
RO
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
I2C 故障滤波器启用
值 描述
0 I2C 故障滤波器已禁用。
1 I2C 故障滤波器已启用。
通过 I2C 主机配置 2 (I2CMCR2) 寄存器的 GFPW 位配置脉冲宽度。
5
SFE
R/W
0
I2C 从机功能启用
值 描述
0 从机模式禁用。
1 从机模式启用。
4
MFE
R/W
0
I2C 主机功能启用
值 描述
0 主机模式禁用。
1 主机模式启用。
3:1
保留
RO
0x0
0
LPBK
R/W
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
I2C 回送
值 描述
0 正常工作
1 控制器处于测试模式回送状态。
2014 年 01 月 28 日
931
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 10: I2C 主机时钟低电平超时计数寄存器(I2CMCLKOCNT),偏移量 0x024
该寄存器包含一个 12 位计数器的高 8 位,可用来保持远程从机拉低时钟的超时限制。计数器的低
四位值始终为 0x0,用户无法查看。
注意:
主机时钟低电平超时计数器会计算 SCL 被持续拉低的所有时间。如果 SCL 在任何时候失
效,主机时钟低电平超时计数器将重新加载 I2CMCLKOCNT 寄存器中的值,并从此值开始
递减计数。
I2C 主机时钟低电平超时计数寄存器 (I2CMCLKOCNT)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x024
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
11
10
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
CNTL
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
CNTL
R/W
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
I2C 主机计数值
该域包含一个 12 位计数器的高 8 位,可用来进行时钟低电平超时计数。
注意:
CNTL 值必须大于 0x1。
2014 年 01 月 28 日
932
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 11: I2C 主机总线监视寄存器(I2CMBMON),偏移量 0x02C
该寄存器用来确定 SCL 和 SDA 的信号状态。
I2C 主机总线监视寄存器 (I2CMBMON)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x02C
类型 RO, 复位 0x0000.0003
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
SDA
SCL
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
RO
1
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:2
保留
RO
0x0000.000
1
SDA
RO
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
I2C SDA 状态
值 描述
0 I2CSDA 信号为低电平。
1 I2CSDA 信号为高电平。
0
SCL
RO
1
I2C SCL 状态
值 描述
0 I2CSCL 信号为低电平。
1 I2CSCL 信号为高电平。
2014 年 01 月 28 日
933
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 12: I2C 主机配置 2 寄存器(I2CMCR2),偏移量 0x038
此寄存器用于为故障抑制设置脉冲宽度,以系统时钟数计。
I2C 主机配置 2 寄存器 (I2CMCR2)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x038
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
GFPW
RO
0
R/W
0
保留
位/域
名称
类型
复位
描述
31:7
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
6:4
GFPW
R/W
0
I2C 故障滤波器脉冲宽度
此域用于控制 SCL 和 SDA 线路的故障抑制脉冲宽度。故障抑制值以系
统时钟数计。
值
描述
0x0 旁路
0x1 1 个时钟
0x2 2 个时钟
0x3 3 个时钟
0x4 4 个时钟
0x5 8 个时钟
0x6 16 个时钟
0x7 31 个时钟
3:0
16.7
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
寄存器描述(I2C 从机)
本章的剩余部分按照地址偏移量由小到大的顺序依次详细介绍各 I2C 从机寄存器。
2014 年 01 月 28 日
934
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 13: I2C 从机本身地址寄存器(I2CSOAR),偏移量 0x800
该寄存器包括 7 个地址位,用以识别 I2C 总线上的 TM4C1231D5PM I2C 设备。
I2C 从机本身地址寄存器 (I2CSOAR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x800
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
OAR
RO
0
位/域
名称
类型
复位
31:7
保留
RO
0x0000.00
6:0
OAR
R/W
0x00
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
I2C 从机本身地址
该字段表示从机地址的A6到A0。
2014 年 01 月 28 日
935
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 14: I2C 从机控制/状态寄存器(I2CSCSR),偏移量 0x804
写入时,该寄存器是控制寄存器;读取时,该寄存器是状态寄存器。
只读状态寄存器
I2C 从机控制/状态寄存器 (I2CSCSR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x804
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
9
8
7
6
5
4
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3
OAR2SEL
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
3
2
1
0
OAR2SEL
FBR
TREQ
RREQ
RO
0
RO
0
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
OAR2 地址匹配
值 描述
0 地址没有匹配,或者匹配是传统模式。
1 OAR2 地址已匹配,而且得到从机应答。
比较每个地址之后,该位会被重新评估。
2
FBR
RO
0
第一个字节已接收
值 描述
0 还没有接收到第一个字节
1 接收到了紧随从机自身地址的第一个字节。
仅当 RREQ 位置位时该位才有效。并且在 I2CSDR 寄存器数据读出后
该位自动清零。
注意:
1
TREQ
RO
0
该位不用于从机发送操作。
发送请求
值 描述
0 没有未完成的发送请求。
1 I2C 控制器被设置成从发送器,正在使用时钟拉低来延迟主机,直
到数据写入 I2CSDR 寄存器中。
2014 年 01 月 28 日
936
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
RREQ
RO
0
描述
接收请求
值 描述
0 没有未完成的接收数据。
1 I2C 控制器有未完成的来自 I2C 主机的接收数据,正在使用时钟拉
低来延迟主机,直到 I2CSDR 寄存器的数据被读取。
只写控制寄存器
I2C 从机控制/状态寄存器 (I2CSCSR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x804
类型 WO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
8
7
6
5
4
3
2
1
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:1
保留
RO
0x0000.000
0
DA
WO
0
RO
0
0
DA
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
WO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
设备激活
值 描述
0 禁用 I2C 从机操作。
1 启用 I2C 从机操作。
一旦将该位置位,则在通过写 0 或复位而清零该位前,不得再次将该位
置位,否则可能发生传输故障。
2014 年 01 月 28 日
937
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 15: I2C 从机数据寄存器(I2CSDR),偏移量 0x808
重要:
本寄存器为读敏感型寄存器。有关详细信息,请参阅寄存器描述部分。
该寄存器含有在从机发送状态中准备发送的数据,以及在从机接收状中接收到的数据。
I2C 从机数据寄存器 (I2CSDR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x808
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
DATA
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7:0
DATA
R/W
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
要发送的数据
该字段包含了在从机接收或发送操作中传输的数据。
2014 年 01 月 28 日
938
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 16: I2C 从机中断屏蔽(I2CSIMR),偏移量 0x80C
该寄存器控制是否将原始中断提交到控制器中断。
I2C 从机中断屏蔽 (I2CSIMR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x80C
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
RO
0
STOPIM STARTIM DATAIM
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
描述
31:3
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2
STOPIM
R/W
0
停止条件中断屏蔽
值 描述
0 STOPRIS 中断被抑制,不发送到中断控制器。
1 当 I2CSRIS 寄存器中的 STOPRIS 位置位时,STOP 条件中断被送
到中断控制器。
1
STARTIM
R/W
0
开始条件中断屏蔽
值 描述
0 STARTRIS 中断被抑制,不会发送到中断控制器。
1 当 I2CSRIS 寄存器中的 STARTRIS 位置位时,START 条件中断被
送到中断控制器。
0
DATAIM
R/W
0
数据中断屏蔽
值 描述
0 DATARIS 中断被抑制,不会发送到中断控制器。
1 当 I2CSRIS 寄存器中的 DATARIS 位置位时,数据接收或数据请求
中断被送到中断控制器。
2014 年 01 月 28 日
939
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 17: I2C 从机原始中断状态寄存器(I2CSRIS),偏移量 0x810
该寄存器表示是否有中断正等待处理
I2C 从机原始中断状态寄存器 (I2CSRIS)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x810
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
RO
0
STOPRIS STARTRIS DATARIS
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:3
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2
STOPRIS
RO
0
停止条件原始中断状态
值 描述
0 无中断。
1 有一个停止条件中断已挂起。
将 I2CSICR 寄存器中的 STOPIC 位置位,该位就会被清零。
1
STARTRIS
RO
0
开始条件原始中断状态
值 描述
0 无中断。
1 有一个开始条件中断已挂起。
在 I2CSICR 寄存器的 STARTIC 位写入 1 来清除该位。
0
DATARIS
RO
0
数据原始中断状态
值 描述
0 无中断。
1 有一个数据接收或者数据请求中断已挂起。
在 I2CSICR 寄存器中的 DATAIC 位写入 1,该位就会被清零。
2014 年 01 月 28 日
940
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 18: I2C 从机屏蔽中断状态寄存器(I2CSMIS),偏移量 0x814
该寄存器表示是否发出中断信号。
I2C 从机屏蔽中断状态寄存器 (I2CSMIS)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x814
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
RO
0
STOPMIS STARTMIS DATAMIS
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:3
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2
STOPMIS
RO
0
停止条件屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 有一个未屏蔽的停止条件中断已挂起。
将 I2CSICR 寄存器中的 STOPIC 位置位,该位就会被清零。
1
STARTMIS
RO
0
开始条件屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 有一个未屏蔽的开始条件中断已挂起。
在 I2CSICR 寄存器的 STARTIC 位写入 1 来清除该位。
0
DATAMIS
RO
0
数据屏蔽中断状态
值 描述
0 中断没有发生或者被屏蔽。
1 有一个没有屏蔽的停止条件中断等待处理
在 I2CSICR 寄存器中的 DATAIC 位写入 1,该位就会被清零。
2014 年 01 月 28 日
941
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 19: I2C 从机中断清除寄存器(I2CSICR),偏移量 0x818
该寄存器清除原始的中断。读取该寄存器的值没有任何意义
I2C 从机中断清除寄存器 (I2CSICR)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x818
类型 WO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
RO
0
STOPIC STARTIC
WO
0
WO
0
DATAIC
WO
0
位/域
名称
类型
复位
描述
31:3
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
2
STOPIC
WO
0
停止条件中断清除
向该位写入 1 可将 I2CSRIS 寄存器的 STOPRIS 位和 I2CSMIS 寄存器
的 STOPMIS 位清零。
读取该寄存器的值没有任何意义
1
STARTIC
WO
0
开始条件中断清除
在该位写入 1 即可将 I2CSRIS 寄存器中的 STARTRIS 位和 I2CSMIS
寄存器中的 STARTMIS 位清零。
读取该寄存器的值没有任何意义
0
DATAIC
WO
0
数据中断清除
向该位写入 1 可将 I2CSRIS 寄存器的 STOPRIS 位和 I2CSMIS 寄存器
的 STOPMIS 位清零。
读取该寄存器的值没有任何意义
2014 年 01 月 28 日
942
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 20: I2C 从机自身地址寄存器 2(I2CSOAR2),偏移量 0x81C
该寄存器包含 7 位地址位,用以识别 I2C 总线上 I2C 设备的复用地址。
I2C 从机自身地址寄存器 2 (I2CSOAR2)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x81C
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
OAR2EN
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
OAR2EN
R/W
0
R/W
0
OAR2
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
I2C 从机自身地址 2 启用
值 描述
0 复用地址禁用。
1 启用 OAR2 域中的复用地址功能。
6:0
OAR2
R/W
0x00
I2C 从机自身地址 2
该域指定复用 OAR2 地址。
2014 年 01 月 28 日
943
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 21: I2C 从机应答控制寄存器(I2CSACKCTL),偏移量 0x820
该寄存器能够让 I2C 从机否定应答无效数据和指令,或应答有效数据和指令。最后一个数据位传输
完成以后,I2C 时钟被拉低,直到该寄存器写入数据。
I2C 从机应答控制寄存器 (I2CSACKCTL)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0x820
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:2
保留
RO
0x0000.000
1
ACKOVAL
R/W
0
ACKOVAL ACKOEN
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
I2C 从机应答覆盖值
值 描述
0 发送应答,表示数据或者指令有效。
1 发送否定应答,表示数据或者指令无效。
0
ACKOEN
R/W
0
I2C 从机应答取代启用
值 描述
0 没有响应。
1 设备会根据 ACKOVAL 位写入的值发送应答或否定应答。
16.8
寄存器描述(I2C 状态和控制寄存器)
本章的剩余部分按照地址偏移量由小到大的顺序依次详细介绍各 I2C 状态和控制寄存器。
2014 年 01 月 28 日
944
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 22: I2C 外设属性寄存器(I2CPP),偏移量 0xFC0
I2CPP 寄存器提供关于 I2C 模块的属性信息。
I2C 外设属性寄存器 (I2CPP)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0xFC0
类型 RO, 复位 0x0000.0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
1
保留
类型
复位
保留
类型
复位
RO
0
HS
位/域
名称
类型
复位
描述
31:1
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
0
HS
RO
0x1
可以进行高速传输
值 描述
0 该接口可以进行标准、快速或超快操作。
1 该接口可以进行高速操作。
2014 年 01 月 28 日
945
Texas Instruments-预告信息
内部集成电路(I2C)接口
寄存器 23: I2C 外设配置寄存器(I2CPC),偏移量 0xFC4
软件可通过 I2CPC 寄存器启用 I2C 模块提供的各种功能。
I2C 外设配置寄存器 (I2CPC)
I2C 0 基址: 0x4002.0000
I2C 1 基址: 0x4002.1000
I2C 2 基址: 0x4002.2000
I2C 3 基址: 0x4002.3000
偏移量 0xFC4
类型 RO, 复位 0x0000.0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
1
保留
类型
复位
保留
类型
复位
RO
0
HS
位/域
名称
类型
复位
描述
31:1
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-修
改-写操作过程中应该保持不变。
0
HS
R/W
1
可以进行高速传输
值 描述
0 该接口设置为进行标准、快速或超快操作。
1 该接口设置为进行高速操作。请注意:该编码只能在 I2CPP 的 HS
位已置位时使用。否则,该编码不可用。
2014 年 01 月 28 日
946
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
17
控制器局域网(CAN)模块
控制器局域网(Controller Area Network,简写为CAN)是一种用于连接电子控制设备(Eletronic
Control Unit,简写为ECU)的多主共享型串行总线标准。CAN总线针对抗电磁干扰进行了专门设
计,适用于具有较强电磁干扰的环境,不但可以使用与RS-485类似的差分平衡传输线,也可以使用
更加可靠的双绞线。CAN总线最初是针对汽车应用而研发的,不过时至今日已经广泛应用于各种嵌
入式控制领域(例如工业方面和医疗方面)。CAN总线在总线长度小于40米时最高可达1Mbps位速
率。位速率越低则有效通讯距离越远(例如125kbps时通讯距离可达500米)。
TM4C1231D5PM 微控制器包括 1 个 CAN 单元,有如下特性:
■ 支持 CAN 总线协议 2.0 A/B
■ 位速率最高可达 1 Mbps
■ 32 个报文对象,每个报文对象都具有独立的标识符掩码
■ 可屏蔽中断;
■ 支持禁用自动重新发送(Disable Automatic Retransmission,简写为 DAR)模式,因此可用于
时间触发 CAN(Time Triggered CAN,简写为 TTCAN)应用
■ 可编程的回送模式,用于实现自检
■ 可编程的FIFO模式,能存储多个报文对象
■ 提供 CANnTX 和 CANnRX 管脚,可无缝连接片外 CAN 收发器。
2014 年 01 月 28 日
947
Texas Instruments-预告信息
控制器局域网(CAN)模块
17.1
结构框图
图 17-1. CAN 控制器结构图
CAN 控制
CANCTL
CANSTS
CANERR
CANBIT
CANINT
CANTST
CANBRPE
CAN Tx
CAN 接口 1
CANIF1CRQ
CANIF1CMSK
CANIF1MSK1
CANIF1MSK2
CANIF1ARB1
CANIF1ARB2
CANIF1MCTL
CANIF1DA1
CANIF1DA2
CANIF1DB1
CANIF1DB2
APB 管脚
APB 接口
CAN 内核
CAN Rx
CAN 接口 2
CANIF2CRQ
CANIF2CMSK
CANIF2MSK1
CANIF2MSK2
CANIF2ARB1
CANIF2ARB2
CANIF2MCTL
CANIF2DA1
CANIF2DA2
CANIF2DB1
CANIF2DB2
报文对象 寄存器
CANTXRQ1
CANTXRQ2
CANNWDA1
CANNWDA2
CANMSG1INT
CANMSG2INT
CANMSG1VAL
CANMSG2VAL
报文 RAM
32 报文对象
17.2
信号描述
下表列出了 CAN 控制器的外部信号及其功能。CAN控制器信号通常是GPIO信号的备选功能,因此
这些管脚在复位时默认设置为GPIO信号。表中“复用管脚/赋值”一列是各CAN信号所对应的GPIO管
脚。应将 GPIO 备用功能选择 (GPIOAFSEL) 寄存器(595页)中的 AFSEL 位置位,以便选择 CAN
控制器功能。必须将括号中的数字写入 GPIO 端口控制 (GPIOPCTL) 寄存器(612页)的 PMCn 域
中,以便把 CAN 信号分配给指定 GPIO 端口管脚。有关如何配置 GPIO 的更多信息,请参阅“通用
输入/输入端口(GPIOs)”(575页)。
表 17-1. 控制器局域网 信号 (64LQFP)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
CAN0Rx
28
58
59
PF0 (3)
PB4 (8)
PE4 (8)
I
TTL
描述
CAN模块0接收信号。
2014 年 01 月 28 日
948
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 17-1. 控制器局域网 信号 (64LQFP)(续)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
CAN0Tx
31
57
60
PF3 (3)
PB5 (8)
PE5 (8)
O
TTL
描述
CAN模块0发送信号。
a. TTL 表示管脚的电压水平与 TTL 一致。
17.3
功能说明
TM4C1231D5PM CAN 控制器支持 CAN 2.0 版协议 (A/B)。支持传输的报文类型包括带有 11 位标
识符(标准)或 29 位标识符(扩展)的数据帧、远程帧、错误帧以及过载帧。通过编程,传输速率
最高可达到 1 Mbps。
CAN模块由3个主要部分组成:
■ CAN协议控制器及报文处理器
■ 报文存储器
■ CAN寄存器接口
数据帧中包含要发送的数据,而远程帧不包含任何数据、仅用于向其它节点请求指定的报文对象。
CAN 数据帧/远程帧的结构如图17-2 所示。
图 17-2. CAN 数据帧/远程帧
远程
发送
请求
起始
帧
分界符
位
总线
闲置
S
O
F
报文分界符
R
T
R
控制
域
数据域
CRC
序列
A
C
K
EOP
IFS
位
数
1
11 或 29
1
6
0 ...64
15
1 1 1
7
3
CRC 序列
结束
帧
域
CRC
域
仲裁域
总线填充
总线
闲置
帧间
域
应答
域
CAN 数据帧
协议控制器从CAN总线上接收和发送串行数据,并将数据传递给报文处理器。报文处理器基于当前
的过滤设置以及报文对象存储器中的标识符,将适当的报文内容载入与之对应的报文对象。报文处
理器还负责根据CAN总线的事件产生中断。
报文对象存储器是一组32个完全相同的存储模块,可为每个报文对象保存其当前的配置、状态以及
实际数据。这些报文对象可通过两组CAN报文对象寄存器接口中的任何一组进行访问。
2014 年 01 月 28 日
949
Texas Instruments-预告信息
控制器局域网(CAN)模块
报文存储器在 TM4C1231D5PM 存储器映射中是无法直接访问的,因此 TM4C1231D5PM CAN 控
制器提供了间接访问的接口:用户可通过两个 CAN 接口寄存器组访问报文存储器,以便与报文对象
进行通信。读取或写入报文对象时,必须使用这两个接口。两组报文对象接口也可以并行访问CAN
控制器报文对象,因此当多个报文对象同时包含亟待处理的新信息时完全可以并行处理。一般我们
用一组接口专司发送,另一组接口专司接收。
17.3.1
初始化
要使用 CAN 控制器,必须先通过 RCGC0 寄存器启用外设时钟(请参阅396页)。此外,还必须通
过 RCGC2 寄存器启用相关 GPIO 模块的时钟(请参阅402页)。要了解要启用哪一个 GPIO 端口,
请参考表20-4(1019页)。将相应管脚的 GPIO AFSEL 位置位(请参阅595页)。此后,应配置
GPIOPCTL 寄存器的 PMCn 域,将 CAN 信号赋给相应的管脚。请参阅612页和表20-5(1024页)。
要开始软件初始化,请(通过软件或以硬件复位的方式)将 CAN 控制 (CANCTL) 寄存器的 INIT 位
置位,或进入脱离总线状态(当发送器的错误计数值超过 255 时即进入此状态)。将 INIT 位置位
后,CAN 总线上的报文传输都将终止,而且 CANnTX 信号将保持为高电平。进入初始化状态并不
会改变CAN控制器、报文对象或错误计数器的配置。不过,某些配置寄存器只能在初始化状态下才
能访问。
要初始化 CAN 控制器,请将 CAN 位时序 (CANBIT) 寄存器置位,并配置每个报文对象。如果无需
使用某个报文对象,请将 CAN IFn 仲裁 2 (CANIFnARB2) 寄存器的 MSGVAL 位清零,即可使其标
记为无效。如果需要使用某个报文对象,则应当详细初始化整个报文对象,因为一旦报文对象的某
个域包含无效的数据将会导致无法预料的后果。只有将 CANCTL 寄存器的 INIT 和 CCE 位都置位,
才能访问 CANBIT 寄存器和 CAN 波特率预分频器扩展 (CANBRPE) 寄存器,以配置位时序。要退
出初始化状态,必须将 INIT 位清零。此后,内部比特流处理器(Bit Stream Processor,简写为
BSP)首先等待一个连续11个隐性位序列的产生(表明总线处于空闲状态),依此序列实现与CAN
总线数据传输的同步,之后才能参与总线活动、开始报文传输。报文对象随时都可以初始化,与CAN
控制器的初始化状态无关。不过,在开始传输报文之前必须保障所有报文对象已经配置有合适的标
识符或已经被设置为无效。在正常工作时,如果需要修改某个报文对象的配置,应先将 CANIFnARB2
寄存器中的 MSGVAL 位清零,暂时将该报文对象设为无效。待修改好配置后,重新将 MSGVAL 位
置位,以将报文对象设为有效。
17.3.2
基本操作
CAN 模块提供两组 CAN 接口寄存器(CANIF1x 和 CANIF2x)用于访问报文 RAM 中的报文对象。
CAN控制器自动将与报文RAM的数据交互映射为与寄存器的数据交互。两组寄存器相互独立而又完
全相同,可用于实现连续会话。一般来说,用一组接口专司发送,另一组接口专司接收。
一旦 CAN 模块完成初始化并且 CANCTL 寄存器中的 INIT 位被清零,CAN 模块将自动与 CAN 总
线同步,然后开始传输报文。收到的每个报文都需要经过报文处理器的滤波。如果能够通过滤波,
将会保存到由 CAN IFn 命令请求 (CANIFnCRQ) 寄存器中的 MNUM 位所指定的报文对象中。整个
报文(包括所有仲裁位、数据长度码以及8个数据字节)都将保存在报文对象中。如果使用标识符屏
蔽(CAN IFn 屏蔽 1 和 CAN IFn 屏蔽 2 (CANIFnMSKn) 寄存器中的 MSK 位),那么报文对象中被
屏蔽为“无关”的仲裁位可能会被覆盖。
CPU随时可以通过CAN接口寄存器读写任一报文。当出现同时访问的情况时,由报文处理器负责保
障数据的一致性。
报文对象的发送是在由管理CAN硬件的软件所管理的。报文对象既可以仅用于单次数据传输、也可
以作为永久报文对象实现周期性的响应。永久报文对象的所有仲裁部分及控制部分是预先设好的固
定值,只需不断刷新各数据字节。开始发送时,CAN 发送请求 n (CANTXRQn) 寄存器的 TXRQST
位以及 CAN 新数据 n (CANNWDAn) 寄存器的 NEWDAT 位将置位。假如多个要发送的报文都使用
同一报文对象(当报文对象不够用时),必须在请求发送报文之前完整配置报文对象。
CAN 控制器允许同时请求发送任意数量的报文对象;当多个报文对象同时等待发送时,发送顺序是
按照内部优先级定义的,即按照报文对象的序号 (MNUM) 排序,其中 1 是最高优先级、32 是最低
2014 年 01 月 28 日
950
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
优先级。报文可以随时刷新或设置为无效,即使其发送请求尚被挂起也是如此。当报文的发送请求
已挂起并且尚未开始时,刷新报文内容时将丢弃旧内容。按照报文对象的配置,当收到标识符相同
的远程帧时能够自动请求发送报文。
当收到匹配的远程帧时可以自动开始请求发送。要启用该模式,请将 CAN IFn 报文控制
(CANIFnMCTL) 寄存器的 RMTEN 位置位。当收到匹配的远程帧时,相应的 TXRQST 位会置位,
并且报文对象将自动发送其数据部分或产生中断,以表示有远程帧的请求。远程帧可以是严格限定
的某个报文标识符,也可以是报文对象所定义的一个标识符范围。CAN 屏蔽寄存器 (CANIFnMSKn)
用于配置哪些帧组将被确定为远程帧请求。通过 CANIFnMCTL 寄存器的 UMASK 位启用
CANIFnMSKn 寄存器的 MSK 位,以确定哪些帧为远程帧请求。如果准备以 29 位扩展标识符触发
远程帧请求,则应将 CANIFnMSK2 寄存器的 MXTD 位置位。
17.3.3
报文对象的发送
假如CAN模块的内部发送移位寄存器已经准备好装载,并且CAN接口寄存器与报文RAM之前无数据
传输,那么已挂起发送请求并且优先级最高的有效报文对象将会被报文处理器装载入发送移位寄存
器中,并开始发送流程。该报文对象在 CANNWDAn 寄存器中的 NEWDAT 位将清零。当发送成功
后,如果自开始发送以后该数据对象没有写入新的数据,则 CANTXRQn 寄存器的 TXRQST 位将清
零。如果 CAN 控制器配置为每成功发送一个报文对象即产生一次中断(CAN IFn 报文控制
(CANIFnMCTL) 寄存器的 TXIE 位置位),那么 CANIFnMCTL 寄存器的 INTPND 位会在每次成功
发送报文对象后置位。如果CAN模块丢失仲裁(竞争总线失败)或在发送期间产生错误,该报文将
在CAN总线一有空闲时立即重新发送。如果与此同时有更高优先级的报文对象请求发送,那么将按
照优先级的顺序依次发送报文。
17.3.4
待发送报文对象的配置
可按照下面的步骤配置要发送的报文对象:
1. 在 CAN IFn 命令屏蔽 (CANIFnCMASK) 寄存器中:
■ 将 WRNRD 位置位,以指定对 CANIFnCMASK 寄存器进行写入操作;通过 MASK 位指定是
否将报文对象的 IDMASK、DIR 和 MXTD 发送给 CAN IFn 寄存器;
■ 通过 ARB 位指定是否将报文对象的 ID、DIR、XTD 和 MSGVAL 发送给接口寄存器;
■ 通过 CONTROL 位指定是否将控制位发送给接口寄存器;
■ 通过 CLRINTPND 位指定是否将 CANIFnMCTL 寄存器的 INTPND 位清零;
■ 通过 NEWDAT 位指定是否将 CANNWDAn 寄存器的 NEWDAT 位清零;
■ 通过 DATAA 和 DATAB 位指定要发送哪些数据位;
2. 通过 CANIFnMSK1 寄存器的 MSK[15:0] 位来指定 29 位或 11 位报文标识符中哪些位用于验收
滤波。请注意,此寄存器的 MSK[15:0] 位域只对应于 29 位标识符的 [15:0] 位域,而并不适用
于 11 位标识符。若此寄存器写入0x00,则所有报文均可通过验收过滤。此外还要注意,要将这
些位用于验收滤波,必须将 CANIFnMCTL 寄存器的 UMASK 位置位,以启用这些位。
3. 配置 CANIFnMSK2 寄存器的 MSK[12:0] 位域,定义使用 29 位或 11 位标识符中的哪些仲裁位
进行验收滤波。请注意,MSK[12:0] 位域对应于 29 位报文标识符的 [28:16] 位;MSK[12:2] 位
域对应于 11 位报文标识符的 [10:0]。通过 MXTD 和 MDIR 位可选择是否将 XTD 和 DIR 位也用
于验收滤波。若此寄存器写入0x00,则所有报文均可通过验收过滤。此外还要注意,要将这些
位用于验收滤波,必须将 CANIFnMCTL 寄存器的 UMASK 位置位,以启用这些位。
2014 年 01 月 28 日
951
Texas Instruments-预告信息
控制器局域网(CAN)模块
4. 对于 29 位的标识符而言,配置 CANIFnARB1 寄存器的 ID[15:0] 以用于报文标识符的 [15:0]
位,而配置 CANIFnARB2 寄存器的 ID[12:0] 以用于报文标识符的 [28:16] 位。此外应将 XTD
位置位,表示采用扩展标识符;将 DIR 位置位,表示发送;将 MSGVAL 位置位,表示该报文
对象有效。
5. 对于 11 位标识符,不考虑 CANIFnARB1 寄存器并配置 CANIFnARB2 寄存器的 ID[12:2] 以用
于报文标识符的 [10:0] 位。此外应将 XTD 位清零,表示采用标准标识符;将 DIR 位置位,表示
发送;将 MSGVAL 位置位,表示该报文对象有效。
6. 在 CANIFnMCTL 寄存器中:
■ 可选设置:将 UMASK 位置位即可为验收滤波启用掩码(CANIFnMSK1 和 CANIFnMSK2
寄存器中指定的 MSK、MXTD 和 MDIR);
■ 可选设置:将 TXIE 位置位,使 INTPND 位在成功发送帧后自动置位;
■ 可选设置:将 RMTEN 位置位,这样每当收到匹配的远程帧后 TXRQST 位自动置位,从而
允许自动传输;
■ 对于单个报文对象,应将 EOB 位置位;
■ 配置 DLC[3:0] 位域,指定数据帧的长度。配置时应注意不要将 NEWDAT、MSGLST、
INTPND 或 TXRQST位置位。
7. 将待发送数据加载到 CAN IFn 数据 (CANIFnDA1、CANIFnDA2、CANIFnDB1 和 CANIFnDB2)
寄存器中。CAN 数据帧的数据字节 0 将保存在 CANIFnDA1 寄存器的 DATA[7:0] 中。
8. 在 CAN IFn 命令请求 (CANIFnCRQ) 寄存器的 MNUM 域中通过编程填写待发送报文对象的编
号。
9. 当所有配置都成功完成后,将 CANIFnMCTL 寄存器的 TXRQST 位置位。此标志位置位后,报
文对象就会在总线空闲时按照优先级进行发送了。请注意,如果 CANIFnMCTL 寄存器的 RMTEN
位置位,则在接收到匹配的远程帧后也会自动开始发送报文。
17.3.5
待发送报文对象的刷新
CPU 随时可以通过 CAN 接口寄存器刷新待发送报文对象的数据字节,而且在刷新之前并不一定需
要将 CANIFnARB2 寄存器的 MSGVAL 位或者 CANIFnMCTL 寄存器的 TXRQST 位清零。
在将 CANIFnDAn/CANIFnDBn 寄存器的内容传递给报文对象之前,即使只需刷新其中的几个数据
字节,也必须保证寄存器中的 4 个字节全都有效。通过 CPU 写入新数据字节时,应将所有 4 个字
节写入 CANIFnDAn/CANIFnDBn 寄存器中,或者先将报文对象传输到 CANIFnDAn/CANIFnDBn 寄
存器,然后再写入数据字节。
要想只刷新报文对象中的数据,应将 CANIFnMSKn 寄存器的 WRNRD、DATAA 和 DATAB 位置
位,接着将刷新数据写入 CANIFnDA1、CANIFnDA2、CANIFnDB1 和 CANIFnDB2 寄存器,然后
将报文对象编号写入 CAN IFn 命令请求 (CANIFnCRQ) 寄存器的 MNUM 域。要想尽快开始发送新
数据,应将 CANIFnMSKn 寄存器的 TXRQST 位置位。
刷新数据时,如果报文对象已开始发送,那么在发送完成后,CANIFnMCTL 寄存器的 TXRQST 位
可能被清零。为了避免出现这种情况,应同时将 CANIFnMCTL 寄存器的 NEWDAT 和 TXRQST 位
置位。只要这两个位同时置位,则当开始新的发送过程后,NEWDAT 位将立即清零。
2014 年 01 月 28 日
952
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
17.3.6
已接收报文对象的接受
当已接收报文的仲裁域和控制域(CANIFnARB2 寄存器的 ID 和 XTD 位以及 CANIFnMCTL 寄存器
的 RMTEN 和 DLC[3:0] 位)已经全部移入 CAN 控制器后,控制器的报文处理功能将开始扫描报文
RAM,以搜索与之匹配的有效报文对象。要扫描报文 RAM 以搜索匹配报文对象,控制器将使用滤
波功能。此功能通过 CANIFnMSKn 寄存器屏蔽位设置,并通过 CANIFnMCTL 寄存器的 UMASK
位启用。控制器将从报文对象1开始逐个将有效报文对象与收到的报文进行比对,以期在报文RAM
中找到匹配的报文对象。当找到匹配的报文对象后,扫描过程就此结束,随后报文处理器将根据收
到的是数据帧还是请求帧予以分别处理。
17.3.7
接收数据帧
报文处理器将来自 CAN 控制器接收移位寄存器的报文存储到报文 RAM 中匹配的报文对象中。而数
据字节、所有仲裁位和 DLC 位都存储到相应的报文对象中。即使采用了仲裁掩码,数据字节也是与
标识符相关联的。CANIFnMCTL 寄存器的 NEWDAT 位置位时,即表示已经收到新数据。CPU在读
取此报文对象之后必须将此标志位清零,告诉控制器已经接收处理此报文、该条缓冲可用于接收新
的报文了。当 NEWDAT 位已经置位时,假如 CAN 控制器又接收到一条新报文,那么 CANIFnMCTL
寄存器的 MSGLST 位将自动置位,表示前一条数据丢失。假如系统需要在成功接收完一帧后产生中
断,则应将 CANIFnMCTL 寄存器的 RXIE 位置位。在这种情况下,当某个报文对象成功接收一帧
后,该寄存器的 INTPND 位将自动置位,使得 CANINT 寄存器指向该报文对象。注意:该报文对象
的 TXRQST 位应当清零,防止发送远程帧。
17.3.8
接收远程帧
远程帧中不包含数据,而是通知其它节点指示应当发送哪一报文对象。当收到远程帧时,应考虑匹
配报文对象的3种不同配置:
表 17-2. 报文对象的配置
CANIFnMCTL 寄存器的配置
■
■
描述
DIR = 1(方向为发送);通过 CANIFnARB2 寄存器 在接收到匹配的远程帧时,将该报文对象的 TXRQST 位置位。
设置
其他报文对象保持不变。控制器将尽快开始自动发送该报文对象
的数据。
RMTEN = 1(在收到帧时,将 CANIFnMCTL 寄存器
的的 TXRQST 位,以启用发送)
■
UMASK = 1 或 0
■
DIR = 1(方向为发送);通过 CANIFnARB2 寄存器 在接收到匹配的远程帧时,该报文对象的 TXRQST 位保持不变;
设置
而远程帧被忽略。该远程帧将被禁用,数据不会被传输,且看不
到任何能表明该远程帧曾经存在过的迹象。
RMTEN = 0(在收到帧时,不改变 CANIFnMCTL 寄
存器的 TXRQST 位的设置)
■
■
UMASK = 0(忽略 CANIFnMSKn 寄存器中的屏蔽设
置)
■
DIR = 1(方向为发送);通过 CANIFnARB2 寄存器 在接收到匹配的远程帧时,将该报文对象的 TXRQST 位清零。
设置
移位寄存器的仲裁域和控制域 (ID + XTD + RMTEN + DLC) 将存
储到报文 RAM 中的报文对象中,并且该报文对象的 NEWDAT
RMTEN = 0(在收到帧时,不改变 CANIFnMCTL 寄 位将置位。报文对象的数据域保持不变;像接收到的数据帧那样
存器的 TXRQST 位的设置)
处理远程帧。该模式对于来自另一 CAN 器件的远程数据请求来
说非常有用,因为其 TM4C1231D5PM 控制器可能没有包含可用
UMASK = 1(使用掩码 [CANIFnMSKn 寄存器的
的数据。软件必须填充数据并人工响应此帧。
MSK、MXTD 和 MDIR] 进行验收滤波)
■
■
2014 年 01 月 28 日
953
Texas Instruments-预告信息
控制器局域网(CAN)模块
17.3.9
接收/发送优先级
报文对象的接收/发送优先级由报文编号决定。报文对象 1 的优先级最高,报文对象 32 的优先级最
低。假如当前挂起的发送请求不止一个,那么将优先发送序号最小的那个报文对象。请注意,这里
所说的优先级与CAN总线上通过报文标识符强制实现的总线优先级没有半点关系。举例来说,假如
报文对象1和报文对象2同时有待发送的有效报文,那么报文对象1将总是优先发送,不管其报文标识
符的总线优先级如何。
17.3.10
接收报文对象的配置
可按照下面的步骤配置接收报文对象:
1. 按照“待发送报文对象的配置”(951页)中所描述的方法对 CAN IFn 命令屏蔽 (CANIFnCMASK)
寄存器进行配置,但 WRNRD 位要被置位,表明是对报文 RAM 的写入操作。
2. 按照“待发送报文对象的配置”(951页)中描述的方法对 CANIFnMSK1 和 CANIFnMSK2 寄存器
进行配置,以设置将哪些位用作验收滤波。注意,要将这些位用于验收滤波,必须将
CANIFnMCTL 寄存器的 UMASK 位置位,以启用这些位。
3. 配置 CANIFnMSK2 寄存器的 MSK[12:0] 位域,定义使用 29 位或 11 位标识符中的哪些仲裁位
进行验收滤波。请注意,MSK[12:0] 位域对应于 29 位报文标识符的 [28:16] 位;MSK[12:2] 位
域对应于 11 位报文标识符的 [10:0]。通过 MXTD 和 MDIR 位可选择是否将 XTD 和 DIR 位也用
于验收滤波。若此寄存器写入0x00,则所有报文均可通过验收过滤。此外还要注意,要将这些
位用于验收滤波,必须将 CANIFnMCTL 寄存器的 UMASK 位置位,以启用这些位。
4. 按照“待发送报文对象的配置”(951页)中描述的方法配置 CANIFnARB1 和 CANIFnARB2 寄存
器的 XTD 和 ID 位以接收报文标识符,并将 MSGVAL 位置位以表示报文有效,同时将 DIR 位
清零以表示接收。
5. 在 CANIFnMCTL 寄存器中:
■ 可选设置:将 UMASK 位置位即可为验收滤波启用掩码(CANIFnMSK1 和 CANIFnMSK2
寄存器中指定的 MSK、MXTD 和 MDIR);
■ 可选设置:将 RXIE 位置位,这样每当成功接收一帧后 INTPND 位将自动置位;
■ 将 RMTEN 位清零,使得 TXRQST 位保持不变;
■ 对于单个报文对象,应将 EOB 位置位;
■ 配置 DLC[3:0] 位域,指定数据帧的长度;
配置时应注意不要将 NEWDAT、MSGLST、INTPND 或 TXRQST位置位。
6. 通过 CAN IFn 命令请求 (CANIFnCRQ) 寄存器的 MNUM 域设置待接收报文对象的编号。当CAN
总线上有匹配的帧时,将立即开始接收报文对象。
当报文处理器向数据对象保存一个数据帧时,会将收到的数据长度码 (DLC) 以及 8 个数据字节写入
CANIFnDA1、CANIFnDA2、CANIFnDB1 和 CANIFnDB2 寄存器。CAN 数据帧的数据字节 0 将保
存在 CANIFnDA1 寄存器的 DATA[7:0] 中。假如数据长度码小于8,那么报文对象的剩余数据字节
将以随机值予以覆盖。
通过CAN掩码寄存器(CANIFnMSKn)可以允许某个报文对象只接收某些数据帧。CAN 屏蔽寄存
器 (CANIFnMSKn) 用于配置哪些帧组将被报文对象接收。通过 CANIFnMCTL 寄存器的 UMASK 位
启用 CANIFnMSKn 寄存器的 MSK 位,以确定哪些帧将被接收。如果报文对象仅使用 29 位扩展标
识符,则应将 CANIFnMSK2 寄存器中的 MXTD 位置位。
2014 年 01 月 28 日
954
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
17.3.11
已接收报文对象的处理
报文处理器状态机已足可保障数据的一致性,因此CPU随时都能通过CAN接口寄存器组来读取已接
收的报文。
一般来说,CPU 会先向 CANIFnCMSK 寄存器写入 0x007F,随后向 CANIFnCRQ 寄存器写入报文
对象的编号。这个操作组合将使已接收的整条报文从报文 RAM 移入报文缓冲寄存器中
(CANIFnMSKn、CANIFnARBn 和 CANIFnMCTL 寄存器)。此外,报文 RAM 中的 NEWDAT 和
INTPND 位也会清零,以确认该报文对象已经被读出,并清除该报文对象所挂起的中断。
假如报文对象使用掩码进行验收滤波,那么可以通过 CANIFnARBn 寄存器查询已接收报文在屏蔽
操作之前的完整 ID。
CANIFnMCTL 寄存器的 NEWDAT 位能够指示出自从上一次读取此报文对象之后是否又收到了一条
新的报文。CANIFnMCTL 寄存器的 MSGLST 位能够指示出自从上一次读取此报文对象之后是否又
收到了多条新的报文。MSGLST 位不会自动清零,因此必须在每次读取其状态后通过软件将其清
零。
通过运用远程帧,CPU 可以向 CAN 总线的其它节点请求新的数据。如果某个报文对象的方向已经
设置为接收,则将该报文对象的 TXRQST 位置位时会以其报文标识符发送一个远程帧。此远程帧将
触发其它CAN节点在总线上发送标识符匹配的数据帧。假如在远程帧发送完成之前收到了匹配的数
据帧,那么 TXRQST 位将自动复位。这样在CAN总线上的其它节点已经发送数据帧(稍微早于预
期的时间)时,可以避免发生数据丢失。
17.3.11.1 FIFO缓冲区的配置
除 CANIFnMCTL 寄存器的 EOB 位以外,属于 FIFO 缓冲区的接收报文对象的配置方式与单个接收
报文对象的配置方法完全相同(请参阅“接收报文对象的配置”(954页))。要将2个或2个以上的报
文对象连锁到同一个FIFO缓冲区中,这些报文对象的标识符及掩码(如果有的话)都应当编程为相
同的值。由于报文对象已经有固定的优先级,因此序号最小的报文对象必然是FIFO缓冲区中的首个
报文对象。在 FIFO 中,除了最后一个报文对象外,其它报文对象的 EOB 位必须清零。最后一个报
文对象的 EOB 位置位即可表明它是缓冲区中的最后一个单元。
17.3.11.2 采用FIFO缓冲区的报文接收过程
当接收到若干个标识符与FIFO缓冲区匹配的报文时,这些报文将从序号最低的报文对象开始依次写
入FIFO缓冲区内。当报文保存到 FIFO 缓冲区中的某个报文对象中时,该报文对象的 CANIFnMCTL
寄存器的 NEWDAT 位便会置位。若在 EOB 清零时将 NEWDAT 位置位,该报文对象将自动锁定,
此后报文处理器将无法再对其写入,直到 CPU 将 NEWDAT 位清零后才会解除锁定状态。匹配的报
文将依次保存入FIFO缓冲区中,一直到此FIFO缓冲区的最后一个报文对象。当 FIFO 缓冲区填满
后,除非已经通过将 NEWDAT 位清零解除锁定前面的所有报文对象,否则所有后来收到的匹配的
报文都将写入最后一个报文对象中,因此最后一个报文对象的内容可能会被反复覆盖。
17.3.11.3 FIFO缓冲区的读取
当 CPU 向 CANIFnCRQ 寄存器写入 FIFO 缓冲区中某个报文对象编号以传输其内容时,应将
CANIFnCMSK 寄存器的 TXRQST 和 CLRINTPND 位置位,这样,CANIFnMCTL 寄存器的 NEWDAT
和 INTPEND 位将在读取后自动清零。CANIFnMCTL 寄存器中的这两个位将始终反映报文对象的当
前状态,直到用户手动将其清零。要确保FIFO缓冲区能够正确工作,CPU应当按照序号由小到大的
顺序依次读取各报文对象的内容。当从 FIFO 缓冲区中读取数据时,用户必须明白:此时接收到的
新报文将写入 CANIFnMCTL 寄存器的 NEWDAT 位已被清零的编号最小的报文对象中。因此这之
后的FIFO中接收报文的顺序是无法得到保障的。图17-3(956页)描述了 CPU 可如何处理连续进入
FIFO 缓冲区中的一组报文对象。
2014 年 01 月 28 日
955
Texas Instruments-预告信息
控制器局域网(CAN)模块
图 17-3. FIFO 缓冲区中的报文对象
开始
报文中断
读取中断指针
0x0000
有中断时
其他情形
0x8000
状态改变
中断处理
结束
MNUM 中存储的是中断指针
将 MNUM 写入 IFn 指令请求寄存器中
(从 IFn 寄存器中读取报文,
复位 NEWDAT = 0,
复位 INTPND = 0
读取 IFn 报文控制寄存器
是
否
NEWDAT = 1
从 IFn 数据寄存器 A 和 B 中读取数据
EOB = 1
是
否
MNUM = MNUM + 1
17.3.12
中断的处理
如果多个中断被挂起,CAN 中断 (CANINT) 寄存器将指向优先级最高的挂起中断,而不考虑它们的
时间顺序。状态中断具有最高优先级。就报文中断而言,编号最小的报文对象中断具有最高优先级。
2014 年 01 月 28 日
956
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
通过将相应报文对象的 CANIFnMCTL 寄存器的 INTPND 位清零,或读取 CAN 状态 (CANSTS) 寄
存器即可将报文中断清除。状态中断可通过读取 CANSTS 寄存器予以清除。
CANINT 寄存器中的中断标识符 INTID 可表明中断原因。当没有任何中断挂起时,该寄存器的回读
值为0x0000。只要 INTID 位域的值不是 0,即表明有中断挂起。如果将 CANCTL 寄存器的 IE 位置
位,则中断控制器的中断线将激活。中断线将保持激活状态,直到 INTID 域为 0(所有中断源都已
清除:中断的条件已经解除)或 IE 位被清零(也就是禁用 CAN 控制器的中断)时才会取消。
CANINT 寄存器的 INTID 域将指向挂起的具有最高优先级的报文中断。CANCTL 寄存器的 SIE 位用
于控制 CANSTS 寄存器中 RXOK、TXOK 和 LEC 位的改变是否会导致中断。CANCTL 寄存器的
EIE 位用于控制 CANSTS 寄存器中 BOFF 和 EWARN 位的改变是否会导致中断。CANCTL 寄存器
中的 IE 位用于控制 CAN 控制器产生的中断是否会导致中断控制器中断。即使将 CANCTL 寄存器
的 IE 清零,CANINT 寄存器也将自动刷新,不过向 CPU 指出产生了中断。
当 CANINT 寄存器的值为 0x8000 时,表示 CAN 模块刷新了 CANSTS 寄存器(但并不一定改变了
其内容)并挂起了中断,因此产生的中断是错误中断或状态中断。对 CANSTS 寄存器执行写入操作
即可将其中的 RXOK、TXOK 和 LEC 位清零;但如果想要清除状态中断源,则唯一的办法是读取
CANSTS 寄存器。
在进行中断处理时可通过以下两种方法确定中断源:一种方法是通过读取 CANINT 寄存器的 INTID
位,确定目前挂起的最高优先级中断;另一种方法是通过读取 CAN 报文中断挂起 (CANMSGnINT)
寄存器,查看所有拥有挂起中断的报文对象。
负责读取作为中断源的报文的中断服务程序在读取报文时还可能同时将 CANIFnCMSK 寄存器的
CLRINTPND 位置位,以将报文对象的 INTPND 位清零。一旦 INTPND 位被清零,CANINT 寄存器
的内容将包含下一个挂起中断的报文对象编号。
17.3.13
测试模式
CAN模块提供测试模式,方便进行各种诊断。将 CANCTL 寄存器的 TEST 位置位即可进入测试模
式。进入测试模式后,可通过 CAN 测试 (CANTST) 寄存器的 TX[1:0]、LBACK、SILENT 和 BASIC
等位域将 CAN 控制器配置成以不同的诊断模式工作。CANTST 寄存器的 RX 位能够监控 CANnRX
管脚状态。若 TEST 位清零,则 CANTST 寄存器的所有功能全部被禁用。
17.3.13.1 安静模式
安静模式下CAN控制器不会发送显性位(确认位、错误帧等等),因此在分析CAN总线数据流的同
时不会对CAN总线通讯造成任何影响。将 CANTST 寄存器的 SILENT 位置位即可进入安静模式。
在安静模式下,CAN控制器能够接收有效的数据帧和远程帧,但本身只能在CAN总线上发送隐性
位,并且无法发送任何报文。即使CAN控制器必须发送显性位(确认位、过载位或有效错误标志
位),也仅在控制器内部连接。也就是说只有CAN控制器本身能够监控到发送的显性位,在CAN总
线上仍然发送的是隐形位。
17.3.13.2 回送模式
回送模式用于实现自检功能。在回送模式下,CAN 控制器在内部将 CANnTX 和 CANnRX 管脚连接
到一起,将自己发送的报文视为接收到的报文并存储到报文缓冲器中(假如这些报文能够顺利通过
验收滤波)。将 CANTST 寄存器的 LBACK 位置位即可让 CAN 控制器进入回送模式。为了彻底隔
绝外部事件的影响,在回送模式下,CAN 控制器将会忽略应答错误(即在数据帧/远程帧的应答时间
内采样到的隐性位)。CANnRX 管脚的实际值会被 CAN 控制器忽略。不过,CANnTX 管脚上仍然
能够监控到发送的报文。
17.3.13.3 回送+安静模式
如果混合使用回送模式与安静模式,CAN 控制器既能实现在线自检、也不会影响与 CANnTX 和
CANnRX 管脚连接的 CAN 总线系统的运行。在这种模式下,CANnRX 管脚并不与 CAN 控制器相
2014 年 01 月 28 日
957
Texas Instruments-预告信息
控制器局域网(CAN)模块
连,并且 CANnTX 管脚始终保持隐性位状态。将 CANTST 寄存器的 LBACK 和 SILENT 位同时置
位即可进入这种模式。
17.3.13.4 基本模式
所谓基本模式就是CAN控制器不使用报文RAM的工作模式。在基本模式下,CANIF1寄存器组用作
发送缓冲。将 CANIF1CRQ 寄存器的 BUSY 位置位即会请求发送 IF1 寄存器组的内容。当 BUSY
位置位时,CANIF1 寄存器即被锁定。此时,BUSY 位可用于指示挂起的发送。只要CAN总线有空
闲,CANIF1寄存器组就会把内容载入CAN控制器的移位寄存器并开始发送。发送结束后,BUSY 位
将自动清零,并且 CANIF1 寄存器组也将被解除锁定状态。若当前有发送挂起且 CANIF1 寄存器组
被锁定,随时都能通过将 CANIF1CRQ 寄存器的 BUSY 位清零而中止发送。如果报文因为丢失仲裁
或者发送出错而等待重发,只要 CPU 将 BUSY 位清零,就能禁止自动重发此报文。
CANIF2寄存器组用作接收缓冲。当接收一条报文后,移位寄存器中的内容将不经过任何验收过滤、
直接保存到CANIF2寄存器组中。此外,在报文传输期间可以监视移位寄存器的实际内容。每当
CANIF2CRQ 寄存器的 BUSY 位置位(开始读取报文对象)时,移位寄存器的内容都将保存到
CANIF2 寄存器组中。
在基本模式下,所有与报文对象相关的控制位、状态位,以及 CANIFnCMSK 寄存器的控制位都无
意义。CANIFnCRQ 寄存器的报文编号也无意义。在 CANIF2MCTL 寄存器中,NEWDAT 和 MSGLST
位保持其原有功能,DLC[3:0] 位域能显示出收到的 DLC,其余控制位均清零。
将 CANTST 寄存器的 BASIC 位置位,即可启用基本模式。
17.3.13.5 发送控制
软件可以直接覆盖 CANnTX 管脚的控制方式,有如下 4 种不同的方式可选:
■ CANnTX 由 CAN 控制器控制;
■ CANnTX 管脚按照采样点驱动输出,用以监控位时序;
■ CANnTX 驱动输出低电平;
■ CANnTX 驱动输出高电平;
最后两项功能结合可读的 CAN 接收管脚 CANnRX,可用于校验 CAN 总线物理层是否工作正常。
发送控制功能是通过 CANTST 寄存器的 TX[1:0] 位域进行选择的。CANnTX 信号的三种测试功能可
连接所有 CAN 协议功能。TX[1:0] 位必须清零(当选择 CAN 报文传输、回送模式、安静模式或基
本模式时)。
17.3.14
位定时配置错误的注意事项
如果在配置CAN的位定时参数时出现微小的错误,即使其并未立即体现出总线故障,也可能会严重
降低CAN总线的性能。在很多情况下,CAN总线本身的位同步功能将会掩盖CAN位定时参数配置的
不当,将其影响降低到只会偶尔产生错误帧的程度。但在仲裁(竞争总线)时,当两个或两个以上
的CAN节点同时试图发送帧时,偏移的采样点可能导致其中一个收发器进入被动错误状态。这种偶
发错误非常难于分析,需要对CAN节点内的位同步原理以及CAN节点与CAN总线的相互作用有详尽
的了解才能予以断定。
17.3.15
位时间与位速率
CAN总线支持的位速率从1kbps到1000kbps不等。CAN网络中的每个成员都有自己的时钟发生电
路。即使各CAN节点所采用的振荡器频率并不相同,也能够通过单独设置各个CAN节点的位定时参
数,最终实现位速率的统一。
2014 年 01 月 28 日
958
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
由于温度/电压波动以及器件本身老化导致频率总会存在微小偏差,因此这些振荡器不可能始终保持
稳定。不过,只要偏差保持在指定的振荡器容差范围内,CAN节点都可通过定期与总线上的比特流
重新同步的方式为各种位速率进行纠偏。
根据 CAN 规范,位时间分成 4 个时间段(请参阅图17-4(959页)):同步段、传播时间段、相位
缓冲段 1 和相位缓冲段 2。每个段由具体、可编程的时间份额数量组成(请参阅表17-3(959页))。
时间份额是位时间的基本单位。时间份额的长度 (tq) 由 CAN 控制器的输入时钟 (fsys) 以及波特率预
分频器 (BRP) 共同确定:
tq = BRP / fsys
其中 fsys 输入时钟源就是通过 RCC 或 RCC2 寄存器设置的系统时钟频率(请参阅221页或227页)。
同步段 (Sync) 是位时间的组成部分,在同步段内期望产生 CAN 总线电平的跳变沿;若跳变沿位于
Sync 之外,则将跳变沿与 Sync 的间隔称为该跳变沿的相位误差。
传播段(Prop)用于补偿CAN网络中的物理延迟时间。
相位缓冲段1和相位缓冲段2共同决定采样点在位时间中的位置。
同步跳转宽度(Synchronization Jump Width,简写为SJW)定义了再同步的跳转距离,当出现跳
变沿相位误差时,可按该距离在相位缓冲段的有效范围内移动采样点进行补偿。
当给定位速率后,可能有多种不同的位时间配置均可满足速率的要求;但是为了保障CAN网络正常
工作,还应当慎重考虑并计算物理延迟时间以及振荡器的容差范围。
图 17-4. CAN 的位时间
额定 CAN 位时间
a
b
TSEG1
Sync
TSEG2
Phase1
Prop
c
1 个时间 份额
( t qq )
Phase2
采样 点
a. TSEG1 = Prop + Phase1
b. TSEG2 = Phase2
c. Phase1 = Phase2 或 Phase1 + 1 = Phase2
a
表 17-3. CAN 协议范围
参数符号
有效范围
注释
BRP
[1 ..64]
定义时间份额 tq 的长度。通过 CANBRPE 寄存器可将此范围扩展
到 1024。
Sync
1 tq
固定长度,将总线输入与系统时钟进行同步
Prop
[1 ..8] tq
补偿CAN总线传输时的物理延时
Phase1
[1 ..8] tq
根据同步的情况可能会适当延长
Phase2
[1 ..8] tq
根据同步的情况可能会适当缩短
SJW
[1 ..4] tq
不得超过任一相位缓冲段的长度
a. 该表描述了CAN协议要求的最小可编程范围。
2014 年 01 月 28 日
959
Texas Instruments-预告信息
控制器局域网(CAN)模块
可通过 CANBIT 寄存器中的两个寄存器字节设置位时序。在 CANBIT 寄存器中,TSEG2、TSEG1、
SJW 和 BRP 这 4 个位域的值必须填写为其实际取值减去 1;因此虽然上表中定义的有效范围是
[1..n],实际对寄存器编程值的有效范围是 [0..n-1]。如此一来,举例来说,同步跳转宽度 SJW(有
效范围 [1..4])在 SJW 位域中只需两个位即可表示。表17-4列出了 CANBIT 寄存器位域值与实际参
数的关系。
表 17-4. CANBIT 寄存器值
CANBIT 寄存器域
设置
TSEG2
Phase2 - 1
TSEG1
Prop + Phase1 - 1
SJW
SJW - 1
BRP
BRP
因此,位时间的长度为(以编程值计算):
[TSEG1 + TSEG2 + 3] × tq
或以实际值表述为:
[Sync + Prop + Phase1 + Phase2] × tq
CANBIT 寄存器中的数值将作为 CAN 协议控制器的配置输入。波特率预分频器(由 BRP 位域配
置)定义了每个时间份额(位时间的基本时间单元)的长度;位时序逻辑(由 TSEG1、TSEG2 和
SJW 配置)定义了每个位时间中包含多少个时间份额。
位时间的处理、采样点的位置计算以及偶发的同步动作均由CAN控制器控制,并且在每个时间份额
都要进行判定。
CAN控制器负责将报文转译为帧以及将帧转译为报文。此外,控制器还要负责以下任务:产生/丢弃
帧中的固定格式位;插入/解出填充位;计算/校验CRC校验码;执行错误管理;确定采用何种类型
的同步。一个位的值是在采样点接收或发送的。信息处理时间 (IPT) 是采样点后控制器做好向 CAN
总线发送下一个位所需的时间。IPT 期间控制器需要进行的工作包括:获取下一个数据位、处理 CRC
位、判断是否需要位填充以及根据需要产生错误标志或进入空闲状态。
IPT 根据应用程序的不同而不同,但不会长于 2 tq;CAN 的 IPT 是 0 tq。IPT长度应作为是Phase2
可编程长度的下限值。当发生再同步时,缩短后的Phase2可能会小于IPT,但这并不影响总线时序。
17.3.16
位定时参数的计算
通常在计算位定时参数时,首先应当确定需要达到的位速率或位时间。位时间(即位速率的倒数)
必须是系统时钟周期的整数倍。
每个位时间由4到25个时间份额所组成。通过将各个时间段进行组合,就能得到所需的位时间,即重
复以下步骤。
首先要确定Prop段。Prop段的长度将决定CAN总线的最大延迟时间,反之也可以根据CAN总线的实
际最大延迟时间来确定其长度。为保证CAN总线系统具有可扩展性,应明确定义最长总线距离下节
点间的最大延时。Prop 的最终时间应转换为时间份额(舍入到最接近的整数值,即 tq 的整数倍)。
Sync 段的长度是 1 个 tq(固定),从而两个相位缓冲段的长度为(位时间 - Prop - 1) tq。假如剩
余的 tq 数是偶数值,则将平均分配给两个相位缓冲段,即 Phase2 = Phase1;假如是奇数值,则
Phase2 = Phase1 + 1。
还必须考虑 Phase2 的最小额定长度。Phase2 不能比 CAN 控制器的信息处理时间短。其长度范围
为 [0..2] tq,具体视实际的执行情况而定。
同步跳转宽度可选择以下3个值中的最小值:4、Phase1、Phase2。
2014 年 01 月 28 日
960
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
确定了以上配置参数后,即可根据下面的公式计算振荡器容差范围:
(1 − df ) × fnom ≤ fosc ≤ (1 + df ) × fnom
此处,
df
≤
(Phase _ seg1, Phase _ seg2) min
2 × (13 × tbit − Phase _ Seg 2)
■ df = 振荡器频率的最大容限
■ fosc
df= 实际的振荡器频率
max = 2 × df × fnom
■ fnom = 额定的振荡器频率
− )df
× fnom
≤ fosc
+ )df
× fnom
(最大频率范围必须考虑以下等式:
1 −(1df
× )fnom
≤ fosc
≤ (1≤ +(1df
× )fnom
(Phase
_ seg
1, Phase
_ seg
2) min
(
Phase
_ seg
1, Phase
_ seg
2) min
df
≤
df ≤
× (13
× tbit
− Phase
_ Seg
× tbit
− Phase
2 × 2(13
_ Seg
2) 2)
× df
× fnom
df df
maxmax
= 2=× 2df
× fnom
此处,
■ Phase1 和 Phase2 取自 表17-3(959页)
■ tbit = 位时间
■ dfmax = 两个振荡器之间的最大差异
假如可选的配置参数不止一组,那么应当优先选用振荡器容差范围最大的一组参数。
如果多个系统时钟频率不同的CAN节点需要达到相同的位速率,需要对其各自进行不同的配置。在
计算传输时间时,应在整个CAN网络内选取距离最远的节点计算最大延迟时间。
整个CAN系统的振荡器容差范围将由系统中容差范围最小的节点所决定(木桶原理)。
以上计算结果表明:要想得到与协议兼容的位定时参数配置,有时必须在诸多因素中进行取舍;要
么必须减小总线长度或位速率,要么必须提高振荡器频率的稳定性。
17.3.16.1 高波特率下的位定时参数计算
在此示例中,假设 CAN 模块输入时钟为 25 MHz,CAN 总线位速率为 1 Mbps。
bit time = 1 µs = n * tq = 5 *
tq = 200 ns
tq = (Baud rate Prescaler)/CAN
Baud rate Prescaler = tq * CAN
Baud rate Prescaler = 200E-9 *
tSync = 1 * tq = 200 ns
tq
Clock
Clock
25E6 = 5
\\fixed at 1 time quanta
delay of bus driver 50 ns
2014 年 01 月 28 日
961
Texas Instruments-预告信息
控制器局域网(CAN)模块
delay of receiver circuit 30 ns
delay of bus line (40m) 220 ns
tProp 400 ns = 2 * tq
\\400 is next integer multiple of tq
bit time = tSync +
bit time = tSync +
tPhase 1 + tPhase2
tPhase 1 + tPhase2
tPhase 1 + tPhase2
tPhase1 = 1 * tq
tPhase2 = 1 * tq
\\tPhase2 = tPhase1
tTSeg1 + tTSeg2 = 5 * tq
tProp + tPhase 1 + tPhase2
= bit time - tSync - tProp
= (5 * tq) - (1 * tq) - (2 * tq)
= 2 * tq
tTSeg1 = tProp + tPhase1
tTSeg1 = (2 * tq) + (1 * tq)
tTSeg1 = 3 * tq
tTSeg2 = tPhase2
tTSeg2 = (Information Processing Time + 1) * tq
tTSeg2 = 1 * tq
\\Assumes IPT=0
tSJW = 1 * tq
\\Least of 4, Phase1 and Phase2
在上面的例子中,CANBIT 寄存器各位域的值为:
TSEG2
= TSeg2 -1
= 1-1
=0
TSEG1
= TSeg1 -1
= 3-1
=2
SJW
= SJW -1
= 1-1
=0
BRP
= 波特率预分频器 - 1
= 5-1
=4
因此最终写入 CANBIT 寄存器的值是 0x0204。
17.3.16.2 低波特率下的位定时参数计算
在此计算中,假定 CAN 时钟的频率 50 MHz,CAN 总线位速率为 100kbps。
bit time = 10 µs = n * tq = 10 * tq
tq = 1 µs
tq = (Baud rate Prescaler)/CAN Clock
Baud rate Prescaler = tq * CAN Clock
Baud rate Prescaler = 1E-6 * 50E6 = 50
tSync = 1 * tq = 1 µs
\\fixed at 1 time quanta
delay of bus driver 200 ns
2014 年 01 月 28 日
962
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
delay of receiver circuit 80 ns
delay of bus line (40m) 220 ns
tProp 1 µs = 1 * tq
\\1 µs is next integer multiple of tq
bit time = tSync +
bit time = tSync +
tPhase 1 + tPhase2
tPhase 1 + tPhase2
tPhase 1 + tPhase2
tPhase1 = 4 * tq
tPhase2 = 4 * tq
\\tPhase1 = tPhase2
tTSeg1
tTSeg1
tTSeg1
tTSeg2
tTSeg2
tTSeg2
=
=
=
=
=
=
tTSeg1 + tTSeg2 = 10 * tq
tProp + tPhase 1 + tPhase2
= bit time - tSync - tProp
= (10 * tq) - (1 * tq) - (1 * tq)
= 8 * tq
tProp + tPhase1
(1 * tq) + (4 * tq)
5 * tq
tPhase2
(Information Processing Time + 4) × tq
4 * tq
\\Assumes IPT=0
tSJW = 4 * tq
\\Least of 4, Phase1, and Phase2
TSEG2
= TSeg2 -1
= 4-1
=3
TSEG1
= TSeg1 -1
= 5-1
=4
SJW
= SJW -1
= 4-1
=3
BRP
= 波特率预分频器 - 1
= 50-1
=49
因此最终写入 CANBIT 寄存器的值是 0x34F1。
17.4
寄存器映射
表 17-5(963页)列出了各寄存器。表中偏移量一列是指相对于CAN基地址的十六进制地址增量,各
个CAN模块的基地址分别为:
■ CAN0:0x4004.0000
请注意,在设置寄存器之前,应先启用 CAN 控制器时钟(请参阅305页)。启用 CAN 模块时钟后,
必须要延迟 3 个系统时钟才可以访问 CAN 模块寄存器。
表 17-5. CAN 寄存器映射
偏移量
名称
类型
复位
描述
0x000
CANCTL
R/W
0x0000.0001
CAN 控制寄存器
966
0x004
CANSTS
R/W
0x0000.0000
CAN 状态寄存器
968
2014 年 01 月 28 日
见页面
963
Texas Instruments-预告信息
控制器局域网(CAN)模块
表 17-5. CAN 寄存器映射(续)
偏移量
名称
类型
复位
描述
见页面
0x008
CANERR
RO
0x0000.0000
CAN 错误计数寄存器
970
0x00C
CANBIT
R/W
0x0000.2301
CAN 位时序寄存器
971
0x010
CANINT
RO
0x0000.0000
CAN 中断寄存器
972
0x014
CANTST
R/W
0x0000.0000
CAN 测试寄存器
973
0x018
CANBRPE
R/W
0x0000.0000
CAN 波特率预分频器扩展寄存器
975
0x020
CANIF1CRQ
R/W
0x0000.0001
CAN IF1 指令请求寄存器
976
0x024
CANIF1CMSK
R/W
0x0000.0000
CAN IF1 指令屏蔽寄存器
977
0x028
CANIF1MSK1
R/W
0x0000.FFFF
CAN IF1 屏蔽寄存器 1
980
0x02C
CANIF1MSK2
R/W
0x0000.FFFF
CAN IF1 屏蔽寄存器 2
981
0x030
CANIF1ARB1
R/W
0x0000.0000
CAN IF1 仲裁寄存器 1
982
0x034
CANIF1ARB2
R/W
0x0000.0000
CAN IF1 仲裁寄存器 2
983
0x038
CANIF1MCTL
R/W
0x0000.0000
CAN IF1 报文控制寄存器
985
0x03C
CANIF1DA1
R/W
0x0000.0000
CAN IF1 数据寄存器 A1
988
0x040
CANIF1DA2
R/W
0x0000.0000
CAN IF1 数据寄存器 A2
988
0x044
CANIF1DB1
R/W
0x0000.0000
CAN IF1 数据寄存器 B1
988
0x048
CANIF1DB2
R/W
0x0000.0000
CAN IF1 数据寄存器 B2
988
0x080
CANIF2CRQ
R/W
0x0000.0001
CAN IF2 指令请求寄存器
976
0x084
CANIF2CMSK
R/W
0x0000.0000
CAN IF2 指令屏蔽寄存器
977
0x088
CANIF2MSK1
R/W
0x0000.FFFF
CAN IF2 屏蔽寄存器 1
980
0x08C
CANIF2MSK2
R/W
0x0000.FFFF
CAN IF2 屏蔽寄存器 2
981
0x090
CANIF2ARB1
R/W
0x0000.0000
CAN IF2 仲裁寄存器 1
982
0x094
CANIF2ARB2
R/W
0x0000.0000
CAN IF2 仲裁寄存器 2
983
0x098
CANIF2MCTL
R/W
0x0000.0000
CAN IF2 报文控制寄存器
985
0x09C
CANIF2DA1
R/W
0x0000.0000
CAN IF2 数据寄存器 A1
988
0x0A0
CANIF2DA2
R/W
0x0000.0000
CAN IF2 数据寄存器 A2
988
0x0A4
CANIF2DB1
R/W
0x0000.0000
CAN IF2 数据寄存器 B1
988
0x0A8
CANIF2DB2
R/W
0x0000.0000
CAN IF2 数据寄存器 B2
988
0x100
CANTXRQ1
RO
0x0000.0000
CAN 传输请求寄存器 1
989
0x104
CANTXRQ2
RO
0x0000.0000
CAN 传输请求寄存器 2
989
0x120
CANNWDA1
RO
0x0000.0000
CAN 新数据寄存器 1
990
0x124
CANNWDA2
RO
0x0000.0000
CAN 新数据寄存器 2
990
0x140
CANMSG1INT
RO
0x0000.0000
CAN 报文 1 中断挂起寄存器
991
0x144
CANMSG2INT
RO
0x0000.0000
CAN 报文 2 中断挂起寄存器
991
2014 年 01 月 28 日
964
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 17-5. CAN 寄存器映射(续)
偏移量
名称
类型
复位
0x160
CANMSG1VAL
RO
0x0000.0000
CAN 报文 1 有效寄存器
992
0x164
CANMSG2VAL
RO
0x0000.0000
CAN 报文 2 有效寄存器
992
17.5
描述
见页面
寄存器描述
本章的剩余部分按照地址偏移量由小到大的顺序依次详细介绍各寄存器。CAN 模块提供两组接口寄
存器以用于访问报文 RAM 中的报文对象:CANIF1x 和 CANIF2x。这两组寄存器的功能完全相同,
可用于实现连续会话。
2014 年 01 月 28 日
965
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 1: CAN 控制寄存器(CANCTL),偏移量 0x000
此控制寄存器用于启动CAN模块、使能测试模式以及使能中断。
即使置位或清零 INIT 位,也无法缩短离线恢复序列(见 CAN 2.0 规范)。器件一旦进入离线状态
便会将 INIT 位置位,并终止所有总线活动。当 CPU 将 INIT 位清零后,器件需等待总线出现 129
个空闲态后(129 * 11 个连续隐形位)才能恢复正常的总线操作。离线恢复序列结束时,错误管理
计数器都会复位。
在 INIT 清零后的等待期间,每当监视到 11 个连续的高位后,都会向 CANSTS 寄存器写入一个
BITERROR0 错误码(LEC 位域 = 0x5),这样 CPU 随时可以检查 CAN 总线是否被拉低或受到持
续干扰,同时还能监视离线恢复序列的进度。
CAN 控制寄存器 (CANCTL)
CAN0 基址: 0x4004.0000
偏移量 0x000
类型 R/W, 复位 0x0000.0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
TEST
CCE
DAR
保留
EIE
SIE
IE
INIT
RO
0
RO
0
R/W
0
R/W
0
R/W
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
1
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
TEST
R/W
0
6
5
4
CCE
DAR
保留
R/W
R/W
RO
0
0
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
测试模式启用
值
描述
0
CAN控制器工作在正常模式
1
CAN控制器工作在测试模式
配置修改使能
值
描述
0
禁止对 CANBIT 寄存器写操作
1
若 INIT 位为 1,则允许对 CANBIT 寄存器进入写入操作。
禁用自动重发功能
值
描述
0
允许自动重发发送失败的报文
1
禁用自动重发,报文均只尝试发送一次
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
966
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
3
EIE
R/W
0
2
1
0
SIE
IE
INIT
R/W
R/W
R/W
0
0
1
描述
出错中断启用
值
描述
0
不产生错误中断
1
每当 CANSTS 寄存器的 BOFF 或 EWARN 标志位发生变
化时,将产生一个中断。
状态中断启用
值
描述
0
不产生状态中断
1
成功发送或接收报文或检测到 CAN 总线错误时,即产生一
个中断。当 CANSTS 寄存器的 TXOK、RXOK 或 LEC 位发
生变化时,将产生一个中断。
CAN 中断启用
值
描述
0
中断禁用。
1
中断启用。
初始化
值
描述
0
正常工作
1
初始化开始。
2014 年 01 月 28 日
967
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 2: CAN 状态寄存器(CANSTS),偏移量0x004
重要:
本寄存器为读敏感型寄存器。有关详细信息,请参阅寄存器描述部分。
状态寄存器中包含中断服务所需的信息,例如离线状况、错误计数门限以及错误类型等等。
LEC 位域保存的代码能够指示 CAN 总线上一次错误的类型。当成功完成一个报文的传输(接收或
发送)后,此位域将自动清除。CPU可以向此位域写入未用的错误码0x7,将来此位域发生变化时
可以很容易发现。
若 CAN 控制 (CANCTL) 寄存器中的 BOFF 或 EWARN 位置位,即可产生错误中断;若 RXOK、
TXOK 或 LEC 位置位,即可产生状态中断。EPASS 位发生变化或者对 RXOK、TXOK 或 LEC 位
的写操作都不会产生中断。
假如有中断挂起,读取 CAN 状态 (CANSTS) 寄存器还会清除 CAN 中断 (CANINT) 寄存器。
CAN 状态寄存器 (CANSTS)
CAN0 基址: 0x4004.0000
偏移量 0x004
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
2
1
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
15
14
13
12
RO
0
RO
0
RO
0
RO
0
11
10
9
8
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
BOFF
RO
0
6
5
EWARN
EPASS
RO
RO
0
0
RO
0
7
6
5
4
3
BOFF
EWARN
EPASS
RxOK
TxOK
RO
0
RO
0
RO
0
R/W
0
R/W
0
LEC
R/W
0
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
脱离总线状态
值
描述
0
CAN控制器未处于离线状态
1
CAN控制器处于离线状态
警告状态
值
描述
0
两组错误计数器都低于错误警告门限(96次)
1
至少有一组错误计数器已达到错误警告门限(96次)
错误认可
值
描述
0
CAN模块处于主动错误状态,也就是说,接收错误计数或发
送错误计数都小于等于127
1
CAN模块处于被动错误状态,也就是说,接收错误计数或发
送错误计数至少有一个大于127
2014 年 01 月 28 日
968
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
4
RxOK
R/W
0
描述
接收报文成功
值
描述
0
从本标志位上一次清零以来,并未成功接收到新的报文
1
自从该位上一次清零以来,至少成功接收到一条新的报文。
此位与验收滤波结果无关。
本标志位必须手动写0予以清除。
3
TxOK
R/W
0
发送报文成功
值
描述
0
自从该位上一次清零以来,没有报文发送成功。
1
从本标志位上一次清零以来,至少成功发送了一条新的报
文,没有错误并且至少有一个节点确认
本标志位必须手动写0予以清除。
2:0
LEC
R/W
0x0
上一次的错误代码
此位域包含CAN总线上次发生的错误代码
值
描述
0x0
无错误
0x1
填充错误
一个序列中有超过5个相同极性的位出现在接收报文中,这
是接收报文所不能允许的。
0x2
格式错误
接收帧的固定格式部分包含错误格式。
0x3
应答错误
另一节点没有应答发送的报文。
0x4
位 1 错误
在发送报文时,CAN 控制器对数据线进行监控以探测是否
存在冲突。在发送仲裁域时,数据冲突是仲裁协议的一部
分。在发送其它帧域时,数据冲突被视为错误。
位1错误表示器件想发送高电平(逻辑1),但是监控到的总
线值却是低电平(逻辑0)。
0x5
位 0 错误
第0位错误表示器件企图发送低电平(逻辑0),但是监视到
的总线电平为高电平(逻辑1)。
在脱离总线恢复期间,每次监控到含 11 个高电平位的序列
后,该状态就会置位。通过对该状态的检查,软件可以在干
扰总线的情况下对脱离总线恢复序列的进程进行监控。
0x6
CRC 错误
CRC 校验和在接收报文中是错误的,表示所计算得到的接
收值与数据计算得到的CRC值不相同。
0x7
无事件发生
当 LEC 位域是这个值时,表明自上一次对 LEC 位域写 0x7
以来,未产生任何 CAN 总线事件。
2014 年 01 月 28 日
969
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 3: CAN 错误计数寄存器(CANERR),偏移量 0x008
本寄存器包含错误计数值,可用于分析错误的成因。
CAN 错误计数寄存器 (CANERR)
CAN0 基址: 0x4004.0000
偏移量 0x008
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
RP
类型
复位
RO
0
REC
TEC
RO
0
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15
RP
RO
0
14:8
REC
RO
0x00
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
接收到的错误认可
值
描述
0
接收错误计数低于被动错误门限(127或更低)
1
接收错误计数已达到被动错误门限(128或更高)
接收错误计数器
此位域包含接收错误计数器的值(0~127)
7:0
TEC
RO
0x00
发送错误计数器
此位包含发送错误计数器的值(0 到 255)。
2014 年 01 月 28 日
970
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 4: CAN 位时序寄存器(CANBIT),偏移量 0x00C
本寄存器用于定义位时间以及时间份额。写入的数值应按照系统时钟频率进行计算。只有将 CANCTL
寄存器的 CCE 位和 INIT 位置位时,此寄存器才允许写入。更多信息参见 “位时间与位速率”(958页)。
CAN 位时序寄存器 (CANBIT)
CAN0 基址: 0x4004.0000
偏移量 0x00C
类型 R/W, 复位 0x0000.2301
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
保留
类型
复位
保留
类型
复位
RO
0
TSEG2
R/W
0
R/W
1
TSEG1
位/域
名称
类型
复位
31:15
保留
RO
0x0000
14:12
TSEG2
R/W
0x2
SJW
BRP
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
采样点后的时间段
0x00-0x07:硬件在实际应用中对该值的解释要比此处编程的值大 1。
因此,例如复位 0x2 表示 Phase2 包含 3(即 2 + 1)个位时间份额(请
参阅图17-4(959页))。位时间份额由 BRP 域定义。
11:8
TSEG1
R/W
0x3
采样点前的时间段
0x00-0x0F:硬件在实际应用中对该值的解释要比此处编程的值大 1。
因此,例如复位 0x3 表示 Phase1 包含 4(即 3 + 1)个位时间份额(请
参阅图17-4(959页))。位时间份额由 BRP 域定义。
7:6
SJW
R/W
0x0
(再)同步跳转宽度
0x00-0x03:硬件在实际应用中对该值的解释要比此处编程的值大 1。
在帧起始 (SOF) 过程中,如果 CAN 控制器检测到相位误差(偏差),
它可以通过改变 SJW 的值来调整 TSEG2 或 TSEG1 的长度因此复位 0
调节了 1 个位时间份额的长度。
5:0
BRP
R/W
0x1
波特率预分频系数
该值是通过对振荡器频率分频获得的,用于产生位时间份额。位时间由
多个这种份额组成。
0x00-0x3F:硬件在实际应用中对该值的解释要比此处编程的值大 1。
BRP 位域定义每个时间份额由多少个 CAN 时钟周期组成,因此复位值
是 2 个时间份额 (1+1)。
CANBRPE 寄存器可对位时间进行进一步细分。
2014 年 01 月 28 日
971
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 5: CAN 中断寄存器(CANINT),偏移量 0x010
本寄存器包含的内容是中断源。
假如多个中断同时挂起,则 CAN 中断 (CANINT) 寄存器始终指向挂起的最高优先级中断,而并非按
照中断产生的顺序。中断在被CPU清除之前将保持挂起。假如 INTID 位域的值不是 0x0000(默认
值),并且 CANCTL 寄存器的 IE 位置位,则该中断就是激活的。在 INTID 位域被清除(通过读取
CANSTS 寄存器)之前,或在 CANCTL 寄存器的 IE 位清零之前,中断线将始终保持激活。
注意:
假如有中断挂起,读取 CAN 状态 (CANSTS) 寄存器还会清除 CAN 中断 (CANINT) 寄存器。
CAN 中断寄存器 (CANINT)
CAN0 基址: 0x4004.0000
偏移量 0x010
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
INTID
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
INTID
RO
0x0000
中断标识符
此位域中的数值代表中断源。
值
描述
0x0000
无中断挂起
0x0001-0x0020
此编号对应的报文对象产生中断
0x0021-0x7FFF
保留
0x8000
状态中断
0x8001-0xFFFF
保留
2014 年 01 月 28 日
972
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 6: CAN 测试寄存器(CANTST),偏移量 0x014
本寄存器用于自检以及访问外部管脚。只有当 CANCTL 寄存器的 TEST 位置位后,才允许对本寄存
器进行写操作。用户可以按需组合不同的测试模式,不过应当注意:假如 TX 位域的值不是 0,将可
能影响 CAN 发送功能。
CAN 测试寄存器 (CANTST)
CAN0 基址: 0x4004.0000
偏移量 0x014
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
LBACK
SILENT
BASIC
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
RX
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
RX
RO
0
6:5
TX
R/W
0x0
TX
R/W
0
R/W
0
保留
RO
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
接收观测
值
描述
0
CANnRx 管脚为低电平。
1
CANnRx 管脚为高电平。
发送控制
取代 CANnTx 管脚的控制。
值
描述
0x0
CAN模块控制
CANnTx 由 CAN 模块控制。默认设置。
0x1
采样点
采样点在 CANnTx 信号驱动输出。该模式适用于监控位
时序。
0x2
拉低
CANnTx 驱动输出低电平。该模式适用于检查 CAN 总线
的线物理层。
0x3
拉高
CANnTx 驱动输出高电平。该模式适用于检查 CAN 总线
的线物理层。
4
LBACK
R/W
0
回环模式
值
描述
0
禁用环回模式
1
回送模式启用。在回送模式下,发送器所发出的数据将被
路由到接收器。而接收输入将被忽略。
2014 年 01 月 28 日
973
Texas Instruments-预告信息
控制器局域网(CAN)模块
位/域
名称
类型
复位
3
SILENT
R/W
0
2
1:0
BASIC
保留
R/W
RO
0
0x0
描述
安静模式
值
描述
0
安静模式禁用。
1
安静模式启用。在安静模式下,CAN 控制器不发送任何数
据,而只监控总线。此模式通常也称为总线监控模式。
基本模式
值
描述
0
禁用基本模式
1
基本模式启用。在基本模式下,软件应当采用 CANIF1 寄存
器作为发送缓冲区,并采用 CANIF2 寄存器作为接收缓冲
区。
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
974
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 7: CAN 波特率预分频器扩展寄存器(CANBRPE),偏移量 0x018
本寄存器用于对 CANBIT 寄存器中的 BRP 位划分的位时间进行进一步分频。当 CANCTL 寄存器的
CCE 位置位时,本寄存器即可写入。
CAN 波特率预分频器扩展寄存器 (CANBRPE)
CAN0 基址: 0x4004.0000
偏移量 0x018
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
BRPE
位/域
名称
类型
复位
31:4
保留
RO
0x0000.000
3:0
BRPE
R/W
0x0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
波特率预分频系数扩展
0x00-0x0F:最高可将 CANBIT 寄存器中的 BRP 位扩展到 1023。硬件
在实际应用中对该位的解释要比 BRPE (MSB) 和 BRP (LSB) 编程的值
大 1。
2014 年 01 月 28 日
975
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 8: CAN IF1 指令请求寄存器(CANIF1CRQ),偏移量 0x020
寄存器 9: CAN IF2 指令请求寄存器(CANIF2CRQ),偏移量 0x080
当 CANIF1MCTL 寄存器的 TXRQST 位置位时,如果对本寄存器的 MNUM 域写入某个报文对象的
编号,即会启动报文传输。写 MNUM 位域的同时,BUSY 位也会自动置位,表明在 CAN 接口寄存
器与内部报文 RAM 之间正在进行数据交换。等待 3 到 6 个 CAN_CLK 周期后,接口寄存器与报文
RAM 之间的传输结束,随后将 BUSY 位清零。
CAN IFn 指令请求寄存器(CANIFnCRQ)
CAN0 基址: 0x4004.0000
偏移量 0x020
类型 R/W, 复位 0x0000.0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
保留
类型
复位
BUSY
类型
复位
RO
0
保留
RO
0
MNUM
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15
BUSY
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
繁忙标志
值
描述
0
当读/写活动结束后,此标志位自动清零
1
当向本寄存器中写入报文对象序号时,此标志位即会自动
置位
14:6
保留
RO
0x00
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
5:0
MNUM
R/W
0x01
报文序号
在报文 RAM 中的 32 个报文对象中挑出一个进行数据传输。报文对象的
编号是 1 到 32。
值
描述
0x00
保留
0 不是有效的报文编号;它被解释为 0x20 或对象
32。
0x01-0x20
报文序号
代表1到32号报文对象
0x21-0x3F
保留
不是有效的报文编号;这些值被替换,并且被解释
为0x01-0x1F。
2014 年 01 月 28 日
976
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 10: CAN IF1 指令屏蔽寄存器(CANIF1CMSK),偏移量 0x024
寄存器 11: CAN IF2 指令屏蔽寄存器(CANIF2CMSK),偏移量 0x084
读取指令掩码寄存器,可获取各种功能的当前状态。写入指令掩码寄存器,可以选择传输方向、选
择缓冲寄存器组作为数据传输的源或目的。
请注意,若 WRNRD 位清零并且 CLRINTPND及/或 NEWDAT 位置 1,则在读取报文对象缓冲区
时,缓冲区中的中断挂起标志及/或新数据标志将被清除。
CAN IFn 指令屏蔽寄存器(CANIFnCMSK)
CAN0 基址: 0x4004.0000
偏移量 0x024
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
WRNRD
MASK
ARB
CONTROL
CLRINTPND
NEWDAT / TXRQST
保留
DATAA
DATAB
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
31:8
保留
RO
0x0000.00
7
WRNRD
R/W
0
6
MASK
R/W
0
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
写入,非读取
值
描述
0
将 CANIFnCRQ 寄存器 MNUM 位域所指定的 CAN 报文对象
中的数据移动到 CANIFn 寄存器组中。
1
将 CANIFn 寄存器组中的数据移动到 CAN 指令请求
(CANIFnCRQ) 寄存器 MNUM 位所指定的 CAN 报文对象中。
注意:
CLRINTPND 和/或 NEWDAT 位置位时,可通过读取报文缓
冲区 (WRNRD = 0) 来清除缓冲区中的中断挂起和新数据状
况。
访问掩码位
值
描述
0
掩码位无变化
1
将报文对象的 IDMASK + DIR + MXTD 传递给接口寄存
器。
2014 年 01 月 28 日
977
Texas Instruments-预告信息
控制器局域网(CAN)模块
位/域
名称
类型
复位
5
ARB
R/W
0
4
3
CONTROL
CLRINTPND
R/W
R/W
0
0
描述
访问仲裁位
值
描述
0
仲裁位无变化
1
将报文对象的 ID + DIR + XTD + MSGVAL 传递给接口寄
存器。
配置控制位
值
描述
0
控制位无变化
1
将 CANIFnMCTL 寄存器的控制位传递给接口寄存器。
清除中断挂起位
此标志位的功能取决于 WRNRD 位的设置。
值
描述
0
若 WRNRD 清零,则中断挂起状态从报文缓冲区传递给
CANIFnMCTL 寄存器。
若 WRNRD 置位,报文对象中的 INTPND 位保持不变。
1
若将 WRNRD 位清零,报文缓冲区中的中断挂起状态也会被清
除。请注意:传递给 CANIFnMCTL 寄存器的该位的值总是会
反映其被清除之前的真实状态。
若 WRNRD 置位,报文对象中的 INTPND 位将被清零。
2
NEWDAT / TXRQST
R/W
0
NEWDAT / TXRQST 位
此标志位的功能取决于 WRNRD 位的设置。
值
描述
0
若 WRNRD 清零,则新数据状态的值将从从报文缓冲区传递给
CANIFnMCTL 寄存器。
若 WRNRD 置位,将不会请求发送。
1
若将 WRNRD 位清零,报文缓冲区中的新数据状态将被清除。
请注意:传递给 CANIFnMCTL 寄存器的该位的值总是会反映其
被清除之前的真实状态。
若将 WRNRD 位置位,将会请求发送。请注意:当该位置位时,
CANIFnMCTL 寄存器中的 TXRQST 位将被忽略。
1
DATAA
R/W
0
访问数据字节 0 到 3
此标志位的功能取决于 WRNRD 位的设置。
值
描述
0
数据字节0~3不会改变
1
若 WRNRD 清零,则将 CANIFnDA1 寄存器以及 CANIFnDA2
寄存器的数据字节 0-3 传递给报文对象。
若 WRNRD 置位,则将报文对象中的数据字节 0-3 传递给
CANIFnDA1 和 CANIFnDA2 寄存器。
2014 年 01 月 28 日
978
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
0
DATAB
R/W
0
描述
访问数据字节 4 到 7
此位的功能取决于 WRNRD 位的配置。
值
描述
0
数据字节4~7不会改变
1
若 WRNRD 清零,则将 CANIFnDA1 寄存器以及 CANIFnDA2
寄存器的数据字节 4-7 传递给报文对象。
若 WRNRD 置位,则将报文对象中的数据字节 4-7 传递给
CANIFnDA1 和 CANIFnDA2 寄存器。
2014 年 01 月 28 日
979
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 12: CAN IF1 屏蔽寄存器 1(CANIF1MSK1),偏移量 0x028
寄存器 13: CAN IF2 屏蔽寄存器 1(CANIF2MSK1),偏移量 0x088
本寄存器中包含掩码信息,以及报文 RAM 中报文对象的数据信息 (CANIFnDAn)、仲裁信息
(CANIFnARBn) 和控制信息 (CANIFnMCTL)。本寄存器中的掩码可结合 CANIFnARBn 寄存器 ID 位
域实现验收滤波。其余掩码信息包含在 CANIFnMSK2 寄存器中。
CAN IFn 屏蔽寄存器 1(CANIFnMSK1)
CAN0 基址: 0x4004.0000
偏移量 0x028
类型 R/W, 复位 0x0000.FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
保留
类型
复位
MSK
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
MSK
R/W
0xFFFF
标识符掩码
在使用 29 位的标识符时,这些位用作 ID 的 [15:0] 位。CANIFnMSK2
寄存器中的 MSK 域用作 ID 的 [28:16] 位。对于 11 位的报文标识符,
本位无意义。
值
描述
0
报文对象中的对应标识符域 (ID) 不能抑制验收滤波中的匹
配。
1
报文对象中的对应标识符域 (ID) 用于验收滤波。
2014 年 01 月 28 日
980
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 14: CAN IF1 屏蔽寄存器 2(CANIF1MSK2),偏移量 0x02C
寄存器 15: CAN IF2 屏蔽寄存器 2(CANIF2MSK2),偏移量 0x08C
本寄存器中包含了 CANIFnMSK1 寄存器中随附的扩展掩码信息。
CAN IFn 屏蔽寄存器 2(CANIFnMSK2)
CAN0 基址: 0x4004.0000
偏移量 0x02C
类型 R/W, 复位 0x0000.FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
MXTD
MDIR
保留
R/W
1
R/W
1
RO
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
保留
类型
复位
类型
复位
MSK
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15
MXTD
R/W
1
14
MDIR
R/W
1
13
保留
RO
1
12:0
MSK
R/W
0xFF
R/W
1
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
掩码扩展标识符
值
描述
0
扩展标识符位(CANIFnARB2 寄存器的 XTD 位)不影响
验收滤波。
1
扩展标识符位 XTD 也用于验收滤波。
屏蔽报文方向
值
描述
0
报文方向位(CANIFnARB2 寄存器的 DIR 位)不影响验
收滤波
1
报文方向位 DIR 也用于验收滤波
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
标识符掩码
在使用 29 位的标识符时,这些位用作 ID 的 [28:16] 位。CANIFnMSK2
寄存器中的 MSK 域用作 ID 的 [15:0] 位。在使用 11 位的标识符时,
MSK[12:2] 用作 ID 的 [10:0] 位。
值
描述
0
报文对象中的对应标识符域 (ID) 不用于验收滤波。
1
报文对象中的对应标识符域 (ID) 用于验收滤波。
2014 年 01 月 28 日
981
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 16: CAN IF1 仲裁寄存器 1(CANIF1ARB1),偏移量 0x030
寄存器 17: CAN IF2 仲裁寄存器 1(CANIF2ARB1),偏移量 0x090
本寄存器包含用于验收过滤的报文标识符。
CAN IFn 仲裁寄存器 1(CANIFnARB1)
CAN0 基址: 0x4004.0000
偏移量 0x030
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
ID
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
ID
R/W
0x0000
报文标识符
此位域结合 CANIFnARB2 寄存器的 ID 位域,可用于创建报文标识符。
对于 29 位报文标识符,CANIFnARB1 寄存器的 [15:0] 位域用于 ID 的
[15:0],CANIFnARB2 寄存器的 [12:0] 位域用于 ID 的 [28:16]。
对于11位报文标识符,本位域无意义。
2014 年 01 月 28 日
982
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 18: CAN IF1 仲裁寄存器 2(CANIF1ARB2),偏移量 0x034
寄存器 19: CAN IF2 仲裁寄存器 2(CANIF2ARB2),偏移量 0x094
本寄存器包含用于验收过滤的相关信息。
CAN IFn 仲裁寄存器 2(CANIFnARB2)
CAN0 基址: 0x4004.0000
偏移量 0x034
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
MSGVAL
XTD
DIR
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
类型
复位
ID
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15
MSGVAL
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
报文有效
值
描述
0
该报文对象被报文处理器忽略
1
该报文对象已经配置完成,并准备由CAN控制器的报文处
理器处理管理。
在初始化过程中以及在 CANCTL 寄存器的 INIT 位清零之前,所有未用
的报文对象会将该位清零。在 CANIFnARBn 寄存器中的 ID 位、
CANIFnARB2 寄存器中的 XTD 和 DIR 位或者 CANIFnMCTL 寄存器中
的 DLC 位中的任一位被修改之前,或者不再需要报文对象时,也必须
将 MSGVAL 位清零。
14
13
XTD
DIR
R/W
R/W
0
0
扩展标识符
值
描述
0
该报文对象采用11位标准标识符
1
该报文对象采用29位扩展标识符
报文方向
值
描述
0
接收。当 CANIFnMCTL 寄存器中的 TXRQST 位置位时,即表
明接收到带有此报文对象标识符的远程帧。当接收到标识符匹
配的数据帧时,报文将存储与该报文对象中。
1
发送。当 CANIFnMCTL 寄存器中的 TXRQST 位置位时,相应
的报文对象将作为数据帧发送。当接收到标识符匹配的远程帧
时,该报文对象的 TXRQST 位将置位(如果 RMTEN = 1)。
2014 年 01 月 28 日
983
Texas Instruments-预告信息
控制器局域网(CAN)模块
位/域
名称
类型
复位
12:0
ID
R/W
0x000
描述
报文标识符
此位域结合 CANIFnARB2 寄存器的 ID 位域,可用于创建报文标识符。
对于 29 位报文标识符,CANIFnARB1 寄存器的 ID[15:0] 位域用于 ID
的 [15:0],ID[12:0] 位域用于 ID 的 [28:16]。
在使用 11 位的标识符时,ID[12:2] 将用作 ID 的 [10:0] 位。CANIFnARB1
寄存器的 ID 域会被忽略。
2014 年 01 月 28 日
984
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 20: CAN IF1 报文控制寄存器(CANIF1MCTL),偏移量 0x038
寄存器 21: CAN IF2 报文控制寄存器(CANIF2MCTL),偏移量 0x098
本寄存器包含将要发送给报文RAM的报文对象的控制信息。
CAN IFn 报文控制寄存器(CANIFnMCTL)
CAN0 基址: 0x4004.0000
偏移量 0x038
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
UMASK
TXIE
R/W
0
R/W
0
RXIE
RMTEN
TXRQST
EOB
R/W
0
R/W
0
R/W
0
R/W
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
NEWDAT MSGLST INTPND
类型
复位
R/W
0
R/W
0
R/W
0
位/域
名称
类型
复位
31:16
保留
RO
0x0000
15
NEWDAT
R/W
0
14
MSGLST
R/W
0
保留
RO
0
RO
0
DLC
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
新数据
值
描述
0
此标志位上一次由CPU清零之后,报文控制器并未向此报文
对象的数据部分写入新的数据。
1
报文处理器或CPU已经向此报文对象的数据部分写入了新的
数据。
报文丢失
值
描述
0
此标志位上一次由CPU清零之后,并未丢失新的报文。
1
NEWDAT 位置位时,报文处理器在此对象中又写入了新的
报文,导致 CPU 丢失报文。
仅当 CANIFnARB2 寄存器的 DIR 位清零(接收方向)时,此标志位才
对报文对象有效。
13
INTPND
R/W
0
中断挂起
值
描述
0
此报文对象不是中断源
1
此报文对象是中断源。如果此时不存在优先级更高的中断,
那么 CANINT 寄存器中的中断标识符将指向该报文对象。
2014 年 01 月 28 日
985
Texas Instruments-预告信息
控制器局域网(CAN)模块
位/域
名称
类型
复位
12
UMASK
R/W
0
11
10
9
8
TXIE
RXIE
RMTEN
TXRQST
R/W
R/W
R/W
R/W
0
0
0
0
描述
使用验收掩码
值
描述
0
掩码被忽略
1
使用掩码位(CANIFnMSKn 寄存器的 MSK、MXTD 和
MDIR 位)进行验收滤波。
传输中断启用
值
描述
0
成功发送一帧后,CANIFnMCTL 寄存器的 INTPND 位不会
变化
1
成功发送一帧后,CANIFnMCTL 寄存器的 INTPND 位将自
动置位。
接收中断启用
值
描述
0
成功接收一帧后,CANIFnMCTL 寄存器的 INTPND 位不会
变化。
1
成功接收一帧后,CANIFnMCTL 寄存器的 INTPND 位将自
动置位。
远程启用
值
描述
0
收到远程帧后,CANIFnMCTL 寄存器的 TXRQST 位不会
变化。
1
收到远程帧后,CANIFnMCTL 寄存器的 TXRQST 位将自
动置位。
发送请求
值
描述
0
此报文对象并未等待发送
1
已经请求发送此报文对象,并且尚未发送完成
注意:
7
EOB
R/W
0
若 CANIFnCMSK 寄存器的 WRNRD 和 TXRQST 位置位,则
此标志位将被忽略。
缓冲区末端
值
描述
0
此报文对象属于FIFO缓冲区,但不是FIFO的最后一条报文
对象
1
此报文对象是FIFO缓冲区的最后一个报文对象,或只是单
个缓冲。
该位用于串联两个或多个报文对象(多达 32 个)以创建 FIFO 缓冲区。
当为单个报文对象(因而不属于 FIFO 缓冲区)时,该位必须被置位。
2014 年 01 月 28 日
986
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
6:4
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
3:0
DLC
R/W
0x0
数据长度码
值
描述
0x0-0x8
指定数据帧中的字节数
0x9-0xF
默认数据帧长度为 8 字节
报文对象的 CANIFnMCTL 寄存器中的 DLC 域的定义必须和含相同标识
符的其它节点上的相应对象相同。在报文处理器存储数据帧时,它将
DLC 写入由接收报文给定的值中。
2014 年 01 月 28 日
987
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 22: CAN IF1 数据寄存器 A1(CANIF1DA1),偏移量 0x03C
寄存器 23: CAN IF1 数据寄存器 A2(CANIF1DA2),偏移量 0x040
寄存器 24: CAN IF1 数据寄存器 B1(CANIF1DB1),偏移量 0x044
寄存器 25: CAN IF1 数据寄存器 B2(CANIF1DB2),偏移量 0x048
寄存器 26: CAN IF2 数据寄存器 A1(CANIF2DA1),偏移量 0x09C
寄存器 27: CAN IF2 数据寄存器 A2(CANIF2DA2),偏移量 0x0A0
寄存器 28: CAN IF2 数据寄存器 B1(CANIF2DB1),偏移量 0x0A4
寄存器 29: CAN IF2 数据寄存器 B2(CANIF2DB2),偏移量 0x0A8
这些寄存器包含将要发送或刚刚收到的数据。在CAN数据帧中,数据字节0是发送或接收的第一个字
节,数据字节7是发送或接收的最后一个字节。在CAN的串行比特流中,每个数据字节都是高位在前
的。
CAN IFn 数据寄存器 nn(CANIFnDnn)
CAN0 基址: 0x4004.0000
偏移量 0x03C
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
DATA
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
DATA
R/W
0x0000
数据
CANIFnDA1 寄存器包含数据字节 1 和 0;CANIFnDA2 包含数据字节
3 和 2;CANIFnDB1 包含数据字节 5 和 4;以及 CANIFnDB2 包含数据
字节 7 和 6。
2014 年 01 月 28 日
988
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 30: CAN 传输请求寄存器 1(CANTXRQ1),偏移量 0x100
寄存器 31: CAN 传输请求寄存器 2(CANTXRQ2),偏移量 0x104
CANTXRQ1 和 CANTXRQ2 寄存器共同保存 32 个报文对象的 TXRQST 位状态。通过读取这些标
志位,CPU可以检查哪些报文对象有挂起的发送请求。某一特定报文对象的 TXRQST 位可以通过
以下三种源变更:(1) CPU(通过 CANIFnMCTL 寄存器修改);(2) 报文处理器状态机(收到远程
帧后);(3) 报文处理器状态机(在成功发送报文后)。
CANTXRQ1 寄存器包含报文 RAM 中前 16 个报文对象的 TXRQST 位;CANTXRQ2 寄存器包含报
文 RAM 中后 16 个报文对象的 TXRQST 位。
CAN 传输请求寄存器 n(CANTXRQn)
CAN0 基址: 0x4004.0000
偏移量 0x100
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
TXRQST
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
TXRQST
RO
0x0000
传输请求位
值
描述
0
相应的报文对象并未等待发送
1
相应的报文对象已请求发送,并且尚未发送完成
2014 年 01 月 28 日
989
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 32: CAN 新数据寄存器 1(CANNWDA1),偏移量 0x120
寄存器 33: CAN 新数据寄存器 2(CANNWDA2),偏移量 0x124
CANNWDA1 和 CANNWDA2 寄存器共同保存 32 个报文对象的 NEWDAT 位状态。通过读取这些
标志位,CPU可以检查哪些报文对象的数据部分有更新。某一特定报文对象的 NEWDAT 位可以通
过以下三种源变更:(1) CPU(通过 CANIFnMCTL 寄存器修改);(2) 报文处理器状态机(在收到
数据帧后);(3) 报文处理器状态机(在成功发送报文后)。
CANNWDA1 寄存器包含报文 RAM 中前 16 个报文对象的 NEWDAT 位;CANNWDA2 寄存器包含
报文 RAM 中后 16 个报文对象的 NEWDAT 位。
CAN 新数据寄存器 n(CANNWDAn)
CAN0 基址: 0x4004.0000
偏移量 0x120
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
NEWDAT
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
NEWDAT
RO
0x0000
新数据位
值
描述
0
自从此标志位上次被CPU清零以来,相应报文对象的数据部
分并未写入新的数据
1
报文处理器或CPU向相应报文对象的数据部分写入了新的数
据
2014 年 01 月 28 日
990
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 34: CAN 报文 1 中断挂起寄存器(CANMSG1INT),偏移量 0x140
寄存器 35: CAN 报文 2 中断挂起寄存器(CANMSG2INT),偏移量 0x144
CANMSG1INT 和 CANMSG2INT 寄存器共同保存 32 个报文对象的 INTPND 位状态。通过读取这
些标志位,CPU可以检查哪些报文对象有挂起的中断请求。某一特定报文对象的 INTPND 位可以通
过以下 2 种方式改变:(1) CPU(通过 CANIFnMCTL 寄存器修改);(2) 报文处理器状态机(在成
功接收或发送一帧后)。
该域也可以通过 CANINT 寄存器中编码。
CANMSG1INT 寄存器包含报文 RAM 中前 16 个报文对象的 INTPND 位;CANMSG2INT 寄存器包
含报文 RAM 中后 16 个报文对象的 INTPND 位。
CAN 报文 n 中断挂起寄存器(CANMSGnINT)
CAN0 基址: 0x4004.0000
偏移量 0x140
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
INTPND
类型
复位
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
INTPND
RO
0x0000
中断挂起位
值
描述
0
相应报文对象并非中断源
1
相应报文对象是当前挂起的中断源之一
2014 年 01 月 28 日
991
Texas Instruments-预告信息
控制器局域网(CAN)模块
寄存器 36: CAN 报文 1 有效寄存器(CANMSG1VAL),偏移量 0x160
寄存器 37: CAN 报文 2 有效寄存器(CANMSG2VAL),偏移量 0x164
CANMSG1VAL 和 CANMSG2VAL 寄存器共同保存 32 个报文对象的 MSGVAL 位状态。通过读取
这些标志位,CPU可以检查哪些报文对象有效。特定报文对象的报文有效位可通过 CANIFnARB2
寄存器修改。
CANMSG1VAL 寄存器包含报文 RAM 中前 16 个报文对象的 MSGVAL 位;CANMSG2VAL 寄存器
包含报文 RAM 中后 16 个报文对象的 MSGVAL 位。
CAN 报文 n 有效寄存器(CANMSGnVAL)
CAN0 基址: 0x4004.0000
偏移量 0x160
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
保留
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
MSGVAL
类型
复位
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
位/域
名称
类型
复位
描述
31:16
保留
RO
0x0000
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
15:0
MSGVAL
RO
0x0000
报文有效位
值
描述
0
相应报文对象并未配置,被报文处理器忽略
1
相应报文对象已完成配置,应当由报文处理器处理
2014 年 01 月 28 日
992
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
18
模拟比较器
模拟比较器是一个外设,它能比较两个模拟电压的大小,并通过自身提供的逻辑输出端将比较结果
以信号的形式输出。
注意:
不是所有比较器都可以选择驱动输出管脚。更多信息参见 “信号描述”(994页)。
比较器可以向器件管脚提供输出,以替换板上的模拟比较器。比较器也可以通过中断信号示意应用
程序在 ADC 中开始采样序列,或者直接触发采样。中断产生逻辑和ADC触发是各自独立的。这就
意味着,中断可以在上升沿产生,而ADC在下降沿触发。
TM4C1231D5PM 微控制器提供两个独立集成的模拟比较器,具有如下功能:
■ 可以比较外部输入管脚和外部输入管脚或内部可编程的参考电压
■ 比较器可将测试电压与下面的其中一种电压相比较
– 独立的外部参考电压
– 共用的外部参考电压
– 共用的内部参考电压
2014 年 01 月 28 日
993
Texas Instruments-预告信息
模拟比较器
18.1
结构框图
图 18-1. 模拟比较器模块的结构图
C2-
-ve 输入
C2+
+ve 输入
比较器 2
输出
C2o
+ve 输入(可选)
ACCTL2
触发
触发
ACSTAT2
中断
参考输入
C1-
-ve 输入
C1+
+ve 输入
比较器 1
输出
C1o
ACCTL1
触发
触发
ACSTAT1
参考输入
中断
+ve 输入(可选)
C0-
-ve 输入
C0+
+ve 输入
比较器 0
输出
C0o
触发
触发
+ve 输入(可选)
ACCTL0
ACSTAT0
中断
参考输入
中断控制
电压 参考
ACRIS
内部
总线
中断
ACREFCTL
ACMIS
ACINTEN
模块 状态
ACMPPP
注意:
18.2
此结构图描述了此微控制器产品系列的模拟比较器以及比较器输出的最大数量。本器件的数量可能
有所不同。有关本器件的配置,请参阅1006页。
信号描述
下表中列出了模拟比较器的外部信号及其功能描述。模拟比较器输出信号是某些 GPIO 管脚的复用
功能,复位时,它默认为 GPIO 信号。表中列标题名为‘管脚复用/分配’的列列出了可以被用作模拟
比较器的管脚。通过将 GPIO 备用功能选择 (GPIOAFSEL) 寄存器 (595页) 中的 AFSEL 位置位来选
择模拟比较器功能。括号中的数字是必须写入 GPIO 端口控制 (GPIOPCTL) 寄存器 (612页) 中的
PMCn 位的编码,以便将管脚配置为模拟比较器功能。通过将 GPIO 数字使能 (GPIODEN) 寄存器
中的 DEN 位清零即可配置正极和负极的输入信号。有关如何配置 GPIO 的更多信息,请参阅“通用
输入/输入端口(GPIOs)”(575页)。
表 18-1. 模拟比较器触发 信号 (64LQFP)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
C0+
14
PC6
I
模拟
模拟比较器0正极输入
C0-
13
PC7
I
模拟
模拟比较器0负极输入
C0o
28
PF0 (9)
O
TTL
模拟比较器0输出端。
C1+
15
PC5
I
模拟
模拟比较器1正极输入
2014 年 01 月 28 日
994
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 18-1. 模拟比较器触发 信号 (64LQFP)(续)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
C1-
16
PC4
I
模拟
模拟比较器1负极输入
C1o
29
PF1 (9)
O
TTL
模拟比较器1输出端。
a. TTL 表示管脚的电压水平与 TTL 一致。
18.3
功能说明
比较器通过比较VIN-和VIN+输入来产生输出VOUT。
VIN- < VIN+, VOUT = 1
VIN- > VIN+, VOUT = 0
如图18-2(995页) 所示,VIN- 的输入源是外部输入 Cn-,其中 n 指模拟比较器编号。除了外部输
入 Cn+ 之外,VIN+ 输入源还可以是 C0+ 或者是内部参考源 VIREF。
图 18-2. 比较单元的结构
-ve 输入
CINV
1
IntGen
2
TrigGen
ACCTL
ACSTAT
中断
参考输入
输出
触发
+ve 输入(可选)
0
内部
总线
+ve 输入
比较器通过模拟比较器控制 (ACCTL) 和模拟比较器状态 (ACSTAT) 这两个状态/控制寄存器来配置。
内部参考源通过模拟比较器参考电压控制 (ACREFCTL) 寄存器进行配置。中断状态和控制通过模拟
比较器屏蔽中断状态 (ACMIS)、模拟比较器原始中断状态 (ACRIS) 和模拟比较器中断启用 (ACINTEN)
这三个寄存器来控制。
通常情况下,比较器输出被内部用于产生中断,这点受 ACCTL 寄存器的 ISEN 位控制。该输出也
可以用来驱动外部管脚 (Cno),或产生模数转换器 (ADC) 触发信号。
重要:
18.3.1
在使用模拟比较器之前,ACCTL 寄存器的 ASRCP 位必须置位。
内部参考电压编程
内部的参考电压结构如 图18-3(996页) 所示。该内部参考电压由配置寄存器 ACREFCTL 控制。
2014 年 01 月 28 日
995
Texas Instruments-预告信息
模拟比较器
图 18-3. 比较器内部参考结构
N*R
N*R
0xF
0xE
0x1
0x0
解码器
注意:
内部
参考
VIREF
在上图中,N*R 代表 R 值的整数倍,它产生 表18-2(996页) 中指定的结果。
内部参考电压可设置为两种模式(低电平或高电平),具体取决于 ACREFCTL 寄存器的 RNG 位。
当 RNG 位被清零时,内部参考电压处于高电平模式,而当 RNG 被置位时,内部参考电压处于低电
平模式。
在每种模式下,内部参考电压 VIREF 具有 16 个预先设定的阈值或阶跃值。用于与外部输入电压进行
比较的阈值可通过 ACREFCTL 寄存器的 VREF 域选择。
在高电平模式下,VIREF 阈值电压始于理想高电平启动电压 VDDA/4.2,并以理想恒电压阶跃 VDDA/29.4
增加。
在低电平模式下,VIREF 阈值电压始于 0 V,并以理想恒电压阶跃 VDDA/22.12 增加。有关每种模式
的理想的 VIREF 阶跃电压以及 RNG 和 VREF 域对其有何作用,请参阅 表18-2。
表 18-2. 内部参考电压和 ACREFCTL 域值
ACREFCTL 寄存器
EN 位的值
EN=0
RNG 位的值
基于VREF位域的输出参考电压
RNG=X
任何 VREF 值均为 0 V (GND)。建议使用 RNG = 1 和 VREF = 0 来降低参考接地
的噪声。
RNG=0
VIREF 高电平:16 个电压阈值,索引为 VREF = 0x0 ..0xF
理想启动电压 (VREF=0):VDDA / 4.2
理想阶跃电压:VDDA/ 29.4
理想 VIREF 阈值:VIREF (VREF) = VDDA / 4.2 + VREF * (VDDA/ 29.4),其中 VREF
= 0x0 ..0xF
最小和最大 VIREF 阈值请参考 表18-3(997页)。
EN=1
RNG=1
VIREF 下限:16 个电压阈值,索引为 VREF = 0x0 ..0xF
理想启动电压 (VREF=0):0 V
理想阶跃电压:VDDA/ 22.12
理想 VIREF 阈值:VIREF (VREF) = VREF * (VDDA/ 22.12),其中 VREF = 0x0 ..0xF
最小和最大 VIREF 阈值请参考 表18-4(997页)。
请注意 表18-2 中的值是 VIREF 阈值的理想值。实际上,每个阈值阶跃的这些值都将在最小值和最大
值之间变动,具体取决于进程和温度。每个阶跃的最小值和最大值通过以下的公式计算:
■ VIREF(VREF) [最小值] = 理想 VIREF(VREF) – (理想阶跃电压 – 2 mV) / 2
■ VIREF(VREF) [最大值] = 理想 VIREF(VREF) + (理想阶跃电压 – 2 mV) / 2
2014 年 01 月 28 日
996
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
高电平和低电平模式下,VDDA = 3.3V 时的最小和最大 VIREF 值示例请见 表18-3 和 表18-4。请注意
这些示例只适用于 VDDA = 3.3V;VDDA 发生变化时,数值将按比例增加和减少。
表 18-3. 模拟比较器参考电压特性,VDDA = 3.3V,EN= 1 且 RNG = 0
VREF 值
VIREF 最小值
理想 VIREF
VIREF 最大值
单元
0x0
0,731
0,786
0,841
V
0x1
0,843
0,898
0,953
V
0x2
0,955
1,010
1,065
V
0x3
1,067
1,122
1,178
V
0x4
1,180
1,235
1,290
V
0x5
1,292
1,347
1,402
V
0x6
1,404
1,459
1,514
V
0x7
1,516
1,571
1,627
V
0x8
1,629
1,684
1,739
V
0x9
1,741
1,796
1,851
V
0xA
1,853
1,908
1,963
V
0xB
1,965
2,020
2,076
V
0xC
2,078
2,133
2,188
V
0xD
2,190
2,245
2,300
V
0xE
2,302
2,357
2,412
V
0xF
2,414
2,469
2,525
V
表 18-4. 模拟比较器参考电压特性,VDDA = 3.3V,EN= 1 且 RNG = 1
18.4
VREF 值
VIREF 最小值
理想 VIREF
VIREF 最大值
单元
0x0
0,000
0,000
0,074
V
0x1
0,076
0,149
0,223
V
0x2
0,225
0,298
0,372
V
0x3
0,374
0,448
0,521
V
0x4
0,523
0,597
0,670
V
0x5
0,672
0,746
0,820
V
0x6
0,822
0,895
0,969
V
0x7
0,971
1,044
1,118
V
0x8
1,120
1,193
1,267
V
0x9
1,269
1,343
1,416
V
0xA
1,418
1,492
1,565
V
0xB
1,567
1,641
1,715
V
0xC
1,717
1,790
1,864
V
0xD
1,866
1,939
2,013
V
0xE
2,015
2,089
2,162
V
0xF
2,164
2,238
2,311
V
初始化和配置
下面的例子展示了应如何配置模拟比较器才能从内部寄存器中读回其输出值。
2014 年 01 月 28 日
997
Texas Instruments-预告信息
模拟比较器
1. 向系统控制模块中的 RCGCACMP 寄存器写入 0x0000.0001 来启用模拟比较器时钟(参见 307
页)。
2. 通过 RCGCGPIO 寄存器(参见 295页)启用相应 GPIO 模块的时钟。欲了解需要启用哪些 GPIO
端口,请参阅表20-5(1024页)。
3. 在GPIO模块中使能GPIO端口,并配置相关的引脚为输入。欲了解需要配置哪些 GPIO,请参阅
表20-4(1019页)。
4. 配置寄存器 GPIOPCTL 中 PMCn 域,将模拟比较器输出信号分配给相应的管脚(参见 612页和
表20-5(1024页))。
5. 向 ACREFCTL 寄存器写入 0x0000.030C,从而将内部电压参考配置为 1.65 V。
6. 向 ACCTLn 寄存器写入 0x0000.040C,将参考选为比较器的内部电压参考源,并且不将输出翻
转。
7. 延迟10μs。
8. 通过读取 ACSTATn 寄存器的 OVAL 值,获得比较器的输出值。
改变比较器负输入信号 C- 的电平以观察 OVAL 值的变化。
18.5
寄存器映射
表 18-5(998页) 中列出了比较器寄存器。表中所列偏移量是寄存器地址相对于模拟比较器基址
0x4003.C000的 16 进制增量。注意,在对这些寄存器编程之前必须先启用模拟比较器的时钟(请参
阅307页)。模拟比较器模块时钟启用后,必须等待至少 3 个系统时钟才可访问模拟比较器寄存器。
表 18-5. 模拟比较器触发 寄存器映射
偏移量
名称
类型
复位
描述
见页面
R/W1C
0x0000.0000
模拟比较器屏蔽中断状态寄存器
999
0x00
ACMIS
0x010
ACREFCTL
R/W
0x0000.0000
模拟比较器参考电压控制寄存器
1002
0x020
ACSTAT0
RO
0x0000.0000
模拟比较器状态寄存器 0
1003
0x024
ACCTL0
R/W
0x0000.0000
模拟比较器控制寄存器 0
1004
0x04
ACRIS
RO
0x0000.0000
模拟比较器原始中断状态寄存器
1000
0x040
ACSTAT1
RO
0x0000.0000
模拟比较器状态寄存器 1
1003
0x044
ACCTL1
R/W
0x0000.0000
模拟比较器控制寄存器 1
1004
0x08
ACINTEN
R/W
0x0000.0000
模拟比较器中断启用寄存器
1001
0xFC0
ACMPPP
RO
0x0003.0003
模拟比较器外设属性寄存器
1006
18.6
寄存器描述
本节内容将按地址偏移量的数字顺序来列举并且描述模拟比较器寄存器。
2014 年 01 月 28 日
998
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 1: 模拟比较器屏蔽中断状态寄存器(ACMIS),偏移量 0x00
该寄存器汇总了比较器的中断状态(被屏蔽的)。
模拟比较器屏蔽中断状态寄存器 (ACMIS)
基址 0x4003.C000
偏移量 0x00
类型 R/W1C, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
IN1
IN0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W1C
0
R/W1C
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:2
保留
RO
0x0000.000
1
IN1
R/W1C
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
比较器1屏蔽后的中断状态
值 描述
0 未发生中断,或中断被屏蔽。
1 ACRIS 和 ACINTEN 寄存器的 IN1 位置位,向中断控制器发送中断
信号。
对此标志位写 1,即可将其清零。设置此位会清除寄存器 ACRIS 中的
IN1 位。
0
IN0
R/W1C
0
比较器0屏蔽后的中断状态
值 描述
0 未发生中断,或中断被屏蔽。
1 ACRIS 和 ACINTEN 的 IN0 位被置位,向中断控制器提交了中断。
对此标志位写 1,即可将其清零。设置此位会清除寄存器 ACRIS中的
IN0 位。
2014 年 01 月 28 日
999
Texas Instruments-预告信息
模拟比较器
寄存器 2: 模拟比较器原始中断状态寄存器(ACRIS),偏移量 0x04
该寄存器汇总了比较器的(原始)中断状态。必须启用该寄存器中的这些位,才可以使用 ACINTEN
寄存器来产生中断。
模拟比较器原始中断状态寄存器 (ACRIS)
基址 0x4003.C000
偏移量 0x04
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
IN1
IN0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:2
保留
RO
0x0000.000
1
IN1
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
比较器1中断状态
值 描述
0 未产生中断
1 模拟比较器 1 产生了一个通过 ACCTL1 的 ISEN 位来配置的中断。
向 ACMIS 寄存器中 IN1 位写入 1 可将此位清零。
0
IN0
RO
0
比较器0中断状态
值 描述
0 未产生中断
1 模拟比较器 0 产生了一个通过 ACCTL0 的 ISEN 位来配置的中断。
向 ACMIS 寄存器中 IN0 位写入 1 可将此位清零。
2014 年 01 月 28 日
1000
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 3: 模拟比较器中断启用寄存器(ACINTEN),偏移量 0x08
该寄存器为比较器启用中断。
模拟比较器中断启用寄存器 (ACINTEN)
基址 0x4003.C000
偏移量 0x08
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
IN1
IN0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
描述
31:2
保留
RO
0x00
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
1
IN1
R/W
0
比较器 1 中断使能
值 描述
0 比较器 1 中断不影响中断状态。
1 模拟比较器1原始中断信号被送到中断控制器。
0
IN0
R/W
0
比较器 0 中断使能
值 描述
0 比较器 0 中断不影响中断状态。
1 模拟比较器0原始中断信号被送到中断控制器。
2014 年 01 月 28 日
1001
Texas Instruments-预告信息
模拟比较器
寄存器 4: 模拟比较器参考电压控制寄存器(ACREFCTL),偏移量 0x010
该寄存器指示阶梯电阻 (resistor ladder)是否已上电,以及该电阻的范围和接头(tap)。
模拟比较器参考电压控制寄存器 (ACREFCTL)
基址 0x4003.C000
偏移量 0x010
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
EN
RNG
R/W
0
R/W
0
RO
0
RO
0
RO
0
RO
0
R/W
0
R/W
0
R/W
0
R/W
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:10
保留
RO
0x0000.0
9
EN
R/W
0
保留
VREF
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
阶梯电阻启用
值 描述
0 阶梯电阻未上电。
1 阶梯电阻上电。阶梯电阻被连接到 VDDA。
复位时,该位将清零,使得内部参考在未使用时仅消耗最小的功率。
8
RNG
R/W
0
阶梯电阻范围
值 描述
0 内部参考电阻的理想阶跃电压为 VDDA / 29.4。
1 内部参考电阻的理想阶跃电压为 VDDA / 22.12。
7:4
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
3:0
VREF
R/W
0x0
阶梯电阻参考电压
VREF 位域指定了通过模拟复用器的阶梯电阻接头。接头位置的电压是
可用于比较的内部参考电压。有关输出参考电压的一些例子请见 表
18-2(996页)。
2014 年 01 月 28 日
1002
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
寄存器 5: 模拟比较器状态寄存器 0(ACSTAT0),偏移量 0x020
寄存器 6: 模拟比较器状态寄存器 1(ACSTAT1),偏移量 0x040
这些寄存器指示比较器的当前输出值。
模拟比较器状态寄存器 n (ACSTATn)
基址 0x4003.C000
偏移量 0x020
类型 RO, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
OVAL
保留
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
位/域
名称
类型
复位
31:2
保留
RO
0x0000.000
1
OVAL
RO
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
比较器输出值
值 描述
0 VIN- > VIN+
1 VIN- < VIN+
VIN - 是 Cn- 管脚上的电压。VIN+ 是 Cn+ 管脚、C0+ 管脚上的电压,
或者由 ACCTL 寄存器的 ASRCP 位所定义的内部参考电压 (VIREF)。
0
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
1003
Texas Instruments-预告信息
模拟比较器
寄存器 7: 模拟比较器控制寄存器 0(ACCTL0),偏移量 0x024
寄存器 8: 模拟比较器控制寄存器 1(ACCTL1),偏移量 0x044
这些寄存器用来配置比较器的输入和输出。
模拟比较器控制寄存器 n (ACCTLn)
基址 0x4003.C000
偏移量 0x024
类型 R/W, 复位 0x0000.0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RO
0
RO
0
RO
0
RO
0
保留
TSLVAL
CINV
保留
RO
0
R/W
0
R/W
0
RO
0
保留
类型
复位
保留
类型
复位
TOEN
R/W
0
ASRCP
R/W
0
R/W
0
位/域
名称
类型
复位
31:12
保留
RO
0x0000.0
11
TOEN
R/W
0
TSEN
R/W
0
ISLVAL
R/W
0
R/W
0
ISEN
R/W
0
R/W
0
描述
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
触发输出启用
值 描述
0 ADC 事件被阻止,不发送到 ADC
1 ADC 事件被发送到 ADC
10:9
ASRCP
R/W
0x0
模拟正电压源
ASRCP 位域指定了到比较器 VIN+ 端口的输入电压源。该位域的编码
如下:
值
描述
0x0 以下引脚的值 Cn+
0x1 以下引脚的值 C0+
0x2 内部参考电压 (VIREF)
0x3 保留
8
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
7
TSLVAL
R/W
0
电平触发值
值 描述
0 比较器输出低电平触发ADC事件
1 比较器输出高电平触发 ADC 事件。
2014 年 01 月 28 日
1004
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
位/域
名称
类型
复位
描述
6:5
TSEN
R/W
0x0
触发方式
TSEN 域指定了产生 ADC 事件的比较器输出的检测方式。检测方式如
下所述:
值
描述
0x0 电平触发,见 TSLVAL
0x1 下降沿
0x2 上升沿
0x3 上升沿、下降沿均可
4
ISLVAL
R/W
0
电平触发中断值
值 描述
0 比较器输出低电平触发中断。
1 比较器输出高电平触发中断。
3:2
ISEN
R/W
0x0
中断触发方式
ISEN 位域指定了产生中断的比较器输出的检测方式。检测方式如下所
述:
值
描述
0x0 电平触发,见 ISLVAL
0x1 下降沿
0x2 上升沿
0x3 上升沿、下降沿均可
1
CINV
R/W
0
比较器输出翻转
值 描述
0 比较器输出不改变
1 比较器输出之前由硬件进行了翻转。
0
保留
RO
0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
2014 年 01 月 28 日
1005
Texas Instruments-预告信息
模拟比较器
寄存器 9: 模拟比较器外设属性寄存器(ACMPPP),偏移量 0xFC0
ACMPPP 寄存器提供关于模拟比较器模块属性的信息。
模拟比较器外设属性寄存器 (ACMPPP)
基址 0x4003.C000
偏移量 0xFC0
类型 RO, 复位 0x0003.0003
31
30
29
28
27
26
25
24
23
22
21
20
19
18
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
RO
0
保留
类型
复位
保留
类型
复位
17
16
C1O
C0O
RO
1
RO
1
1
0
CMP1
CMP0
RO
1
RO
1
位/域
名称
类型
复位
描述
31:18
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
17
C1O
RO
0x1
存在比较器输出 1
值 描述
0 不存在比较器输出 1。
1 存在比较器输出 1。
16
C0O
RO
0x1
存在比较器输出 0
值 描述
0 不存在比较器输出 0。
1 存在比较器输出 0。
15:2
保留
RO
0x0
软件不应该依赖保留位的值。为了兼容未来的器件,保留位的值在读-
修改-写操作过程中应当保持不变。
1
CMP1
RO
0x1
存在比较器 1
值 描述
0 不存在比较器 1。
1 存在比较器 1。
0
CMP0
RO
0x1
存在比较器 0
值 描述
0 不存在比较器 0。
1 存在比较器 0。
2014 年 01 月 28 日
1006
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
19
管脚图
TM4C1231D5PM 微控制器的管脚图如下所示。
所有 GPIO 信号均通过 GPIO 端口识别,复位时默认为复用功能的除外。在这种情况下,默认的复
用功能将标明在 GPIO 端口名称后面。有关每个管脚可能实现功能的完全列表请参考表20-5(1024页)。
图 19-1. 64 管脚 LQFP 封装管脚图
2014 年 01 月 28 日
1007
Texas Instruments-预告信息
信号表
20
信号表
本章通过表格列举出每个管脚可配置成的信号。除下表列出的管脚外,其余可配置管脚在复位时的
默认配置均为GPIO信号。通过 GPIOAMSEL 寄存器(见 611页)可选用管脚的模拟功能。当需要使
用某个 GPIO 管脚的复用数字功能时,应将 GPIOAFSEL 寄存器(见 595页)的相应位置位。更多
的管脚复用选项可通过 GPIOPCTL 寄存器(见 612页)的 PMCx 位域实现,通过该位域,可为 GPIO
选定某个可用的外设功能。
重要:
除下表列出的管脚外,其余可配置管脚在复位时的默认配置均为 GPIO 信号。上电复位
(POR) 时,或确认 RST 时,管脚都将恢复其默认设置。
表 20-1. 默认为复用功能的 GPIO 管脚
GPIO管脚
默认值
GPIOAFSEL位
GPIOPCTL的PMCx位域
PA[1:0]
UART0
0
0x1
PA[5:2]
SSI0
0
0x1
PB[3:2]
I2C0
0
0x1
PA[3:0]
JTAG/SWD
1
0x3
表20-2(1008页) 显示管脚到信号名称的映射,包括信号的功能特性。在每个管脚之后均完整列出其
所有可供备选的模拟/数字功能。
表20-3(1014页) 按信号名称的字母顺序列出信号。假如某个信号在多个管脚上均可配置,则列出该
信号可对应的所有管脚。“复用管脚/赋值”一列是信号所对应的 GPIO 管脚以及应写入 GPIOPCTL 寄
存器 PMCx 位域的编码。
表20-4(1019页) 按功能将信号分组,GPIO 管脚除外。假如某个信号在多个管脚上均可配置,则列
出该信号可对应的所有管脚。
表20-5(1024页) 列出了所有 GPIO 管脚及其模拟/数字复用功能。AINx模拟信号都无法耐受 5V 电
压,需经过隔离电路才能连接其内部电路。这些信号的配置方式为:将 GPIO 数字使能 (GPIODEN)
寄存器中相应的 DEN 位清零,并将 GPIO 模拟模式选择 (GPIOAMSEL) 寄存器中相应的 AMSEL
位置位。其他模拟信号都可耐受 5V,因此管脚可以直接连接内部电路(C0-、C0+、C1-、C1+)。
这些信号的配置方式为:清除寄存器 GPIO 数字使能 (GPIODEN) 寄存器中相应的 DEN 位。而在配
置数字信号时,应将 GPIO 备选功能选择寄存器 (GPIOAFSEL) 以及 GPIODEN 寄存器的相应位置
位,并按照下表中所列出的数字编码对 GPIO 端口控制寄存器 (GPIOPCTL) 的 PMCx 位域进行适当
配置。表中的灰色单元格代表相应GPIO管脚的默认值。
表20-6(1026页) 按可用于配置的管脚数量升序列出了所有信号。此表格宜用于根据特定功能来规划
管脚的配置。应用笔记《AN01274: Tiva™ C 系列 如何配置微控制器的管脚复用功能》提供了实
施管脚复用的概述,解释系统设计人员如何定义管脚配置,并举例说明管脚配置的步骤。
注意:
20.1
所有数字输入端均为施密特触发。
按管脚编号分类的信号
表 20-2. 按管脚编号分类的信号
管脚编号
1
a
管脚名称
管脚类型
缓冲区类型
描述
PB6
I/O
TTL
GPIO端口B第6位。
SSI2Rx
I
TTL
SSI 模块 2 接收信号。
T0CCP0
I/O
TTL
16/32 位 Timer 0 捕获/比较/PWM 0。
2014 年 01 月 28 日
1008
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-2. 按管脚编号分类的信号(续)
管脚编号
a
管脚名称
管脚类型
缓冲区类型
VDDA
-
电源
模拟电路(ADC、模拟比较器等)的电源正端。VDDA 应与 VDD
分开,尽量避免 VDD 中携带的噪声影响模拟功能。VDDA不论系
统配置如何,管脚的电压必须符合 表21-5(1031页)中的规格。
GNDA
-
电源
模拟电路(ADC、 模拟比较器等)的接地参考。这些与 GND 分
开,以期尽量避免 VDD 中携带的电噪声影响模拟功能。
PB7
I/O
TTL
GPIO端口B第7位。
SSI2Tx
O
TTL
SSI 模块 2 发送信号。
T0CCP1
I/O
TTL
16/32 位 Timer 0 捕获/比较/PWM 1。
PF4
I/O
TTL
GPIO端口F第4位。
2
3
4
5
6
7
8
9
10
描述
T2CCP0
I/O
TTL
16/32 位 Timer 2 捕获/比较/PWM 0。
PE3
I/O
TTL
GPIO端口E第3位。
AIN0
I
模拟
模数转换器输入0。
PE2
I/O
TTL
GPIO端口E第2位。
AIN1
I
模拟
模数转换器输入1。
PE1
I/O
TTL
GPIO端口E第1位。
AIN2
I
模拟
模数转换器输入2。
U7Tx
O
TTL
UART 7模块发送信号。
PE0
I/O
TTL
GPIO端口E第0位。
AIN3
I
模拟
模数转换器输入3。
U7Rx
I
TTL
UART 7模块接收信号。
PD7
I/O
TTL
GPIO端口D第7位。
NMI
I
TTL
不可屏蔽的中断
U2Tx
O
TTL
UART 2模块发送信号。
WT5CCP1
I/O
TTL
32/64 位宽 Timer 5 捕获/比较/PWM 1。
11
VDD
-
电源
I/O和某些逻辑的电源正极。
12
GND
-
电源
逻辑和I/O管脚的地参考。
PC7
I/O
TTL
GPIO端口C第7位。
13
14
C0-
I
模拟
模拟比较器0负极输入
U3Tx
O
TTL
UART 3模块发送信号。
WT1CCP1
I/O
TTL
32/64 位宽 Timer 1 捕获/比较/PWM 1。
PC6
I/O
TTL
GPIO端口C第6位。
C0+
I
模拟
模拟比较器0正极输入
U3Rx
I
TTL
UART 3模块接收信号。
WT1CCP0
I/O
TTL
32/64 位宽 Timer 1 捕获/比较/PWM 0。
PC5
I/O
TTL
GPIO端口C第5位。
C1+
I
模拟
模拟比较器1正极输入
U1CTS
I
TTL
UART 模块 1 CTS(Clear to Send,允许发送)调制解调器流控输
入信号。
U1Tx
O
TTL
UART 1模块发送信号。
U4Tx
O
TTL
UART 4模块发送信号。
WT0CCP1
I/O
TTL
32/64 位宽 Timer 0 捕获/比较/PWM 1。
15
2014 年 01 月 28 日
1009
Texas Instruments-预告信息
信号表
表 20-2. 按管脚编号分类的信号(续)
管脚编号
a
管脚名称
管脚类型
缓冲区类型
PC4
I/O
TTL
GPIO端口C第4位。
C1-
I
模拟
模拟比较器1负极输入
U1RTS
O
TTL
UART 模块 1 RTS(Request to Send,请求发送)调制解调器流
控输出线。
U1Rx
I
TTL
UART 1模块接收信号。
16
17
18
19
20
21
描述
U4Rx
I
TTL
UART 4模块接收信号。
WT0CCP0
I/O
TTL
32/64 位宽 Timer 0 捕获/比较/PWM 0。
PA0
I/O
TTL
GPIO端口A第0位。
U0Rx
I
TTL
UART 0模块接收信号。
PA1
I/O
TTL
GPIO端口A第1位。
U0Tx
O
TTL
UART 0模块发送信号。
PA2
I/O
TTL
GPIO端口A第2位。
SSI0Clk
I/O
TTL
SSI模块0时钟
PA3
I/O
TTL
GPIO端口A第3位。
SSI0Fss
I/O
TTL
SSI 模块 0 帧信号
PA4
I/O
TTL
GPIO端口A第4位。
SSI0Rx
I
TTL
SSI模块0接收
PA5
I/O
TTL
GPIO端口A第5位。
SSI0Tx
O
TTL
SSI模块0发送
PA6
I/O
TTL
GPIO端口A第6位。
I2C1SCL
I/O
OD
I2C 模块 1 时钟。请注意该信号具有有源上拉。不应将相应的端口
管脚配置为开漏。
PA7
I/O
TTL
GPIO端口A第7位。
I2C1SDA
I/O
OD
I2C 模块 1 数据。
VDDC
-
电源
为主要的逻辑部分(包括处理器内核以及大部分片上外设)供电的
电源正端。该管脚上的电压为 1.2 V,由片上 LDO 提供。按照 表
21-12(1043页) 中的规定,VDDC 管脚只应相互连接或连接外部电
容。
26
VDD
-
电源
I/O和某些逻辑的电源正极。
27
GND
-
电源
逻辑和I/O管脚的地参考。
22
23
24
25
28
PF0
I/O
TTL
GPIO端口F第0位。
C0o
O
TTL
模拟比较器0输出端。
CAN0Rx
I
TTL
CAN模块0接收信号。
NMI
I
TTL
不可屏蔽的中断
SSI1Rx
I
TTL
SSI 模块 1 接收信号。
T0CCP0
I/O
TTL
16/32 位 Timer 0 捕获/比较/PWM 0。
U1RTS
O
TTL
UART 模块 1 RTS(Request to Send,请求发送)调制解调器流
控输出线。
2014 年 01 月 28 日
1010
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-2. 按管脚编号分类的信号(续)
管脚编号
29
30
31
a
管脚名称
管脚类型
缓冲区类型
描述
PF1
I/O
TTL
GPIO端口F第1位。
C1o
O
TTL
模拟比较器1输出端。
SSI1Tx
O
TTL
SSI 模块 1 发送信号。
T0CCP1
I/O
TTL
16/32 位 Timer 0 捕获/比较/PWM 1。
TRD1
O
TTL
跟踪数据信号 1。
U1CTS
I
TTL
UART 模块 1 CTS(Clear to Send,允许发送)调制解调器流控输
入信号。
PF2
I/O
TTL
GPIO端口F第2位。
SSI1Clk
I/O
TTL
SSI 模块 1 时钟信号。
T1CCP0
I/O
TTL
16/32 位 Timer 1 捕获/比较/PWM 0。
TRD0
O
TTL
跟踪数据信号 0。
PF3
I/O
TTL
GPIO端口F第3位。
CAN0Tx
O
TTL
CAN模块0发送信号。
SSI1Fss
I/O
TTL
SSI 模块 1 帧信号。
T1CCP1
I/O
TTL
16/32 位 Timer 1 捕获/比较/PWM 1。
TRCLK
O
TTL
跟踪时钟信号。
32
WAKE
I
TTL
当有效时外部输入将处理器从休眠模式中唤醒。
33
HIB
O
TTL
该输出指示处理器是否处于休眠模式。
XOSC0
I
模拟
休眠模块晶体振荡器输入或外部时钟参考输入。请注意休眠模块
RTC 采用 32.768-kHz 晶体或 32.768-kHz 振荡器。
GNDX
-
电源
休眠震荡器的接地。当使用晶振时钟源时,该管脚应连接到数字接
地和晶振负载电容。使用外部震荡器时,该管脚应连接到数字接
地。
XOSC1
O
模拟
休眠模块晶体振荡器输出。当使用外部单端参考时钟源时,此管脚
应悬空。
VBAT
-
电源
休眠模块的电源供应源它通常连接到电池的正极端并用作备用电池/
休眠模块电源供应器的电源。
34
35
36
37
38
RST
I
TTL
系统复位输入
39
GND
-
电源
逻辑和I/O管脚的地参考。
40
41
42
43
44
45
OSC0
I
模拟
主振荡器晶体输入或外部时钟参考输入。
OSC1
O
模拟
主振荡器晶体输出。当使用外部单端参考时钟源时,此管脚应悬
空。
VDD
-
电源
I/O和某些逻辑的电源正极。
PD4
I/O
TTL
GPIO端口D第4位。该管脚不能承受 5V 最高电压。
U6Rx
I
TTL
UART 6模块接收信号。
WT4CCP0
I/O
TTL
32/64 位宽 Timer 4 捕获/比较/PWM 0。
PD5
I/O
TTL
GPIO端口D第5位。该管脚不能承受 5V 最高电压。
U6Tx
O
TTL
UART 6模块发送信号。
WT4CCP1
I/O
TTL
32/64 位宽 Timer 4 捕获/比较/PWM 1。
PB0
I/O
TTL
GPIO端口B第0位。该管脚不能承受 5V 最高电压。
T2CCP0
I/O
TTL
16/32 位 Timer 2 捕获/比较/PWM 0。
U1Rx
I
TTL
UART 1模块接收信号。
2014 年 01 月 28 日
1011
Texas Instruments-预告信息
信号表
表 20-2. 按管脚编号分类的信号(续)
a
管脚编号
管脚名称
管脚类型
缓冲区类型
PB1
I/O
TTL
GPIO端口B第1位。该管脚不能承受 5V 最高电压。
46
T2CCP1
I/O
TTL
16/32 位 Timer 2 捕获/比较/PWM 1。
47
48
49
50
51
52
53
描述
U1Tx
O
TTL
UART 1模块发送信号。
PB2
I/O
TTL
GPIO端口B第2位。
I2C0SCL
I/O
OD
I2C 模块 0 时钟。请注意该信号具有有源上拉。不应将相应的端口
管脚配置为开漏。
T3CCP0
I/O
TTL
16/32 位 Timer 3 捕获/比较/PWM 0。
PB3
I/O
TTL
GPIO端口B第3位。
I2C0SDA
I/O
OD
I2C 模块 0 数据。
T3CCP1
I/O
TTL
16/32 位 Timer 3 捕获/比较/PWM 1。
PC3
I/O
TTL
GPIO端口C第3位。
SWO
O
TTL
JTAG TDO及SWO信号。
T5CCP1
I/O
TTL
16/32 位 Timer 5 捕获/比较/PWM 1。
TDO
O
TTL
JTAG TDO及SWO信号。
PC2
I/O
TTL
GPIO端口C第2位。
T5CCP0
I/O
TTL
16/32 位 Timer 5 捕获/比较/PWM 0。
TDI
I
TTL
JTAG TDI信号。
PC1
I/O
TTL
GPIO端口C第1位。
SWDIO
I/O
TTL
JTAG TMS及SWDIO信号。
T4CCP1
I/O
TTL
16/32 位 Timer 4 捕获/比较/PWM 1。
TMS
I
TTL
JTAG TMS及SWDIO信号。
PC0
I/O
TTL
GPIO端口C第0位。
SWCLK
I
TTL
JTAG/SWD CLK信号。
T4CCP0
I/O
TTL
16/32 位 Timer 4 捕获/比较/PWM 0。
TCK
I
TTL
JTAG/SWD CLK信号。
PD6
I/O
TTL
GPIO端口D第6位。
U2Rx
I
TTL
UART 2模块接收信号。
WT5CCP0
I/O
TTL
32/64 位宽 Timer 5 捕获/比较/PWM 0。
54
VDD
-
电源
I/O和某些逻辑的电源正极。
55
GND
-
电源
逻辑和I/O管脚的地参考。
VDDC
-
电源
为主要的逻辑部分(包括处理器内核以及大部分片上外设)供电的
电源正端。该管脚上的电压为 1.2 V,由片上 LDO 提供。按照 表
21-12(1043页) 中的规定,VDDC 管脚只应相互连接或连接外部电
容。
56
57
PB5
I/O
TTL
GPIO端口B第5位。
AIN11
I
模拟
模数转换器输入11。
CAN0Tx
O
TTL
CAN模块0发送信号。
SSI2Fss
I/O
TTL
SSI 模块 2 帧信号。
T1CCP1
I/O
TTL
16/32 位 Timer 1 捕获/比较/PWM 1。
2014 年 01 月 28 日
1012
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-2. 按管脚编号分类的信号(续)
管脚编号
58
59
60
a
管脚名称
管脚类型
缓冲区类型
PB4
I/O
TTL
GPIO端口B第4位。
AIN10
I
模拟
模数转换器输入10。
CAN0Rx
I
TTL
CAN模块0接收信号。
SSI2Clk
I/O
TTL
SSI 模块 2 时钟信号。
T1CCP0
I/O
TTL
16/32 位 Timer 1 捕获/比较/PWM 0。
PE4
I/O
TTL
GPIO端口E第4位。
AIN9
I
模拟
模数转换器输入9。
CAN0Rx
I
TTL
CAN模块0接收信号。
I2C2SCL
I/O
OD
I2C 模块 2 时钟。请注意该信号具有有源上拉。不应将相应的端口
管脚配置为开漏。
U5Rx
I
TTL
UART 5模块接收信号。
PE5
I/O
TTL
GPIO端口E第5位。
AIN8
I
模拟
模数转换器输入8。
CAN0Tx
O
TTL
CAN模块0发送信号。
I2C2SDA
I/O
OD
I2C 模块 2 数据。
U5Tx
O
TTL
UART 5模块发送信号。
PD0
I/O
TTL
GPIO端口D第0位。
AIN7
I
模拟
模数转换器输入7。
I2C3SCL
I/O
OD
I2C 模块 3 时钟。请注意该信号具有有源上拉。不应将相应的端口
管脚配置为开漏。
SSI1Clk
I/O
TTL
SSI 模块 1 时钟信号。
61
62
63
64
描述
SSI3Clk
I/O
TTL
SSI 模块 3 时钟信号。
WT2CCP0
I/O
TTL
32/64 位宽 Timer 2 捕获/比较/PWM 0。
PD1
I/O
TTL
GPIO端口D第1位。
AIN6
I
模拟
模数转换器输入6。
I2C3SDA
I/O
OD
I2C 模块 3 数据。
SSI1Fss
I/O
TTL
SSI 模块 1 帧信号。
SSI3Fss
I/O
TTL
SSI 模块 3 帧信号。
WT2CCP1
I/O
TTL
32/64 位宽 Timer 2 捕获/比较/PWM 1。
PD2
I/O
TTL
GPIO端口D第2位。
AIN5
I
模拟
模数转换器输入5。
SSI1Rx
I
TTL
SSI 模块 1 接收信号。
SSI3Rx
I
TTL
SSI 模块 3 接收信号。
WT3CCP0
I/O
TTL
32/64 位宽 Timer 3 捕获/比较/PWM 0。
PD3
I/O
TTL
GPIO端口D第3位。
AIN4
I
模拟
模数转换器输入4。
SSI1Tx
O
TTL
SSI 模块 1 发送信号。
SSI3Tx
O
TTL
SSI 模块 3 发送信号。
WT3CCP1
I/O
TTL
32/64 位宽 Timer 3 捕获/比较/PWM 1。
a. TTL 表示管脚的电压水平与 TTL 一致。
2014 年 01 月 28 日
1013
Texas Instruments-预告信息
信号表
20.2
按信号名称分类的信号
表 20-3. 按信号名称分类的信号
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
AIN0
6
PE3
I
模拟
模数转换器输入0。
AIN1
7
PE2
I
模拟
模数转换器输入1。
AIN2
8
PE1
I
模拟
模数转换器输入2。
AIN3
9
PE0
I
模拟
模数转换器输入3。
AIN4
64
PD3
I
模拟
模数转换器输入4。
AIN5
63
PD2
I
模拟
模数转换器输入5。
AIN6
62
PD1
I
模拟
模数转换器输入6。
AIN7
61
PD0
I
模拟
模数转换器输入7。
AIN8
60
PE5
I
模拟
模数转换器输入8。
AIN9
59
PE4
I
模拟
模数转换器输入9。
AIN10
58
PB4
I
模拟
模数转换器输入10。
AIN11
57
PB5
I
模拟
模数转换器输入11。
C0+
14
PC6
I
模拟
模拟比较器0正极输入
C0-
13
PC7
I
模拟
模拟比较器0负极输入
C0o
28
PF0 (9)
O
TTL
模拟比较器0输出端。
C1+
15
PC5
I
模拟
模拟比较器1正极输入
C1-
16
PC4
I
模拟
模拟比较器1负极输入
C1o
29
PF1 (9)
O
TTL
模拟比较器1输出端。
CAN0Rx
28
58
59
PF0 (3)
PB4 (8)
PE4 (8)
I
TTL
CAN模块0接收信号。
CAN0Tx
31
57
60
PF3 (3)
PB5 (8)
PE5 (8)
O
TTL
CAN模块0发送信号。
GND
12
27
39
55
固定
-
电源
逻辑和I/O管脚的地参考。
GNDA
3
固定
-
电源
模拟电路(ADC、 模拟比较器等)的接地参考。这
些与 GND 分开,以期尽量避免 VDD 中携带的电噪
声影响模拟功能。
GNDX
35
固定
-
电源
休眠震荡器的接地。当使用晶振时钟源时,该管脚
应连接到数字接地和晶振负载电容。使用外部震荡
器时,该管脚应连接到数字接地。
HIB
33
固定
O
TTL
该输出指示处理器是否处于休眠模式。
I2C0SCL
47
PB2 (3)
I/O
OD
I2C 模块 0 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C0SDA
48
PB3 (3)
I/O
OD
I2C 模块 0 数据。
I2C1SCL
23
PA6 (3)
I/O
OD
I2C 模块 1 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C1SDA
24
PA7 (3)
I/O
OD
I2C 模块 1 数据。
I2C2SCL
59
PE4 (3)
I/O
OD
I2C 模块 2 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
2014 年 01 月 28 日
1014
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-3. 按信号名称分类的信号(续)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
I2C2SDA
60
PE5 (3)
I/O
OD
I2C 模块 2 数据。
I2C3SCL
61
PD0 (3)
I/O
OD
I2C 模块 3 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C3SDA
62
PD1 (3)
I/O
OD
I2C 模块 3 数据。
NMI
10
28
PD7 (8)
PF0 (8)
I
TTL
不可屏蔽的中断
OSC0
40
固定
I
模拟
主振荡器晶体输入或外部时钟参考输入。
OSC1
41
固定
O
模拟
主振荡器晶体输出。当使用外部单端参考时钟源
时,此管脚应悬空。
PA0
17
-
I/O
TTL
GPIO端口A第0位。
PA1
18
-
I/O
TTL
GPIO端口A第1位。
PA2
19
-
I/O
TTL
GPIO端口A第2位。
PA3
20
-
I/O
TTL
GPIO端口A第3位。
PA4
21
-
I/O
TTL
GPIO端口A第4位。
PA5
22
-
I/O
TTL
GPIO端口A第5位。
PA6
23
-
I/O
TTL
GPIO端口A第6位。
PA7
24
-
I/O
TTL
GPIO端口A第7位。
PB0
45
-
I/O
TTL
GPIO端口B第0位。该管脚不能承受 5V 最高电压。
PB1
46
-
I/O
TTL
GPIO端口B第1位。该管脚不能承受 5V 最高电压。
PB2
47
-
I/O
TTL
GPIO端口B第2位。
PB3
48
-
I/O
TTL
GPIO端口B第3位。
PB4
58
-
I/O
TTL
GPIO端口B第4位。
PB5
57
-
I/O
TTL
GPIO端口B第5位。
PB6
1
-
I/O
TTL
GPIO端口B第6位。
PB7
4
-
I/O
TTL
GPIO端口B第7位。
PC0
52
-
I/O
TTL
GPIO端口C第0位。
PC1
51
-
I/O
TTL
GPIO端口C第1位。
PC2
50
-
I/O
TTL
GPIO端口C第2位。
PC3
49
-
I/O
TTL
GPIO端口C第3位。
PC4
16
-
I/O
TTL
GPIO端口C第4位。
PC5
15
-
I/O
TTL
GPIO端口C第5位。
PC6
14
-
I/O
TTL
GPIO端口C第6位。
PC7
13
-
I/O
TTL
GPIO端口C第7位。
PD0
61
-
I/O
TTL
GPIO端口D第0位。
PD1
62
-
I/O
TTL
GPIO端口D第1位。
PD2
63
-
I/O
TTL
GPIO端口D第2位。
PD3
64
-
I/O
TTL
GPIO端口D第3位。
PD4
43
-
I/O
TTL
GPIO端口D第4位。该管脚不能承受 5V 最高电压。
PD5
44
-
I/O
TTL
GPIO端口D第5位。该管脚不能承受 5V 最高电压。
PD6
53
-
I/O
TTL
GPIO端口D第6位。
PD7
10
-
I/O
TTL
GPIO端口D第7位。
PE0
9
-
I/O
TTL
GPIO端口E第0位。
2014 年 01 月 28 日
1015
Texas Instruments-预告信息
信号表
表 20-3. 按信号名称分类的信号(续)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
PE1
8
-
I/O
TTL
描述
GPIO端口E第1位。
PE2
7
-
I/O
TTL
GPIO端口E第2位。
PE3
6
-
I/O
TTL
GPIO端口E第3位。
PE4
59
-
I/O
TTL
GPIO端口E第4位。
PE5
60
-
I/O
TTL
GPIO端口E第5位。
PF0
28
-
I/O
TTL
GPIO端口F第0位。
PF1
29
-
I/O
TTL
GPIO端口F第1位。
PF2
30
-
I/O
TTL
GPIO端口F第2位。
PF3
31
-
I/O
TTL
GPIO端口F第3位。
PF4
5
-
I/O
TTL
GPIO端口F第4位。
RST
38
固定
I
TTL
系统复位输入
SSI0Clk
19
PA2 (2)
I/O
TTL
SSI模块0时钟
SSI0Fss
20
PA3 (2)
I/O
TTL
SSI 模块 0 帧信号
SSI0Rx
21
PA4 (2)
I
TTL
SSI模块0接收
SSI0Tx
22
PA5 (2)
O
TTL
SSI模块0发送
SSI1Clk
30
61
PF2 (2)
PD0 (2)
I/O
TTL
SSI 模块 1 时钟信号。
SSI1Fss
31
62
PF3 (2)
PD1 (2)
I/O
TTL
SSI 模块 1 帧信号。
SSI1Rx
28
63
PF0 (2)
PD2 (2)
I
TTL
SSI 模块 1 接收信号。
SSI1Tx
29
64
PF1 (2)
PD3 (2)
O
TTL
SSI 模块 1 发送信号。
SSI2Clk
58
PB4 (2)
I/O
TTL
SSI 模块 2 时钟信号。
SSI2Fss
57
PB5 (2)
I/O
TTL
SSI 模块 2 帧信号。
SSI2Rx
1
PB6 (2)
I
TTL
SSI 模块 2 接收信号。
SSI2Tx
4
PB7 (2)
O
TTL
SSI 模块 2 发送信号。
SSI3Clk
61
PD0 (1)
I/O
TTL
SSI 模块 3 时钟信号。
SSI3Fss
62
PD1 (1)
I/O
TTL
SSI 模块 3 帧信号。
SSI3Rx
63
PD2 (1)
I
TTL
SSI 模块 3 接收信号。
SSI3Tx
64
PD3 (1)
O
TTL
SSI 模块 3 发送信号。
SWCLK
52
PC0 (1)
I
TTL
JTAG/SWD CLK信号。
SWDIO
51
PC1 (1)
I/O
TTL
JTAG TMS及SWDIO信号。
SWO
49
PC3 (1)
O
TTL
JTAG TDO及SWO信号。
T0CCP0
1
28
PB6 (7)
PF0 (7)
I/O
TTL
16/32 位 Timer 0 捕获/比较/PWM 0。
T0CCP1
4
29
PB7 (7)
PF1 (7)
I/O
TTL
16/32 位 Timer 0 捕获/比较/PWM 1。
T1CCP0
30
58
PF2 (7)
PB4 (7)
I/O
TTL
16/32 位 Timer 1 捕获/比较/PWM 0。
T1CCP1
31
57
PF3 (7)
PB5 (7)
I/O
TTL
16/32 位 Timer 1 捕获/比较/PWM 1。
T2CCP0
5
45
PF4 (7)
PB0 (7)
I/O
TTL
16/32 位 Timer 2 捕获/比较/PWM 0。
2014 年 01 月 28 日
1016
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-3. 按信号名称分类的信号(续)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
T2CCP1
46
PB1 (7)
I/O
TTL
16/32 位 Timer 2 捕获/比较/PWM 1。
T3CCP0
47
PB2 (7)
I/O
TTL
16/32 位 Timer 3 捕获/比较/PWM 0。
T3CCP1
48
PB3 (7)
I/O
TTL
16/32 位 Timer 3 捕获/比较/PWM 1。
T4CCP0
52
PC0 (7)
I/O
TTL
16/32 位 Timer 4 捕获/比较/PWM 0。
T4CCP1
51
PC1 (7)
I/O
TTL
16/32 位 Timer 4 捕获/比较/PWM 1。
T5CCP0
50
PC2 (7)
I/O
TTL
16/32 位 Timer 5 捕获/比较/PWM 0。
T5CCP1
49
PC3 (7)
I/O
TTL
16/32 位 Timer 5 捕获/比较/PWM 1。
TCK
52
PC0 (1)
I
TTL
JTAG/SWD CLK信号。
TDI
50
PC2 (1)
I
TTL
JTAG TDI信号。
TDO
49
PC3 (1)
O
TTL
JTAG TDO及SWO信号。
TMS
51
PC1 (1)
I
TTL
JTAG TMS及SWDIO信号。
TRCLK
31
PF3 (14)
O
TTL
跟踪时钟信号。
TRD0
30
PF2 (14)
O
TTL
跟踪数据信号 0。
TRD1
29
PF1 (14)
O
TTL
跟踪数据信号 1。
U0Rx
17
PA0 (1)
I
TTL
UART 0模块接收信号。
U0Tx
18
PA1 (1)
O
TTL
UART 0模块发送信号。
U1CTS
15
29
PC5 (8)
PF1 (1)
I
TTL
UART 模块 1 CTS(Clear to Send,允许发送)调
制解调器流控输入信号。
U1RTS
16
28
PC4 (8)
PF0 (1)
O
TTL
UART 模块 1 RTS(Request to Send,请求发送)
调制解调器流控输出线。
U1Rx
16
45
PC4 (2)
PB0 (1)
I
TTL
UART 1模块接收信号。
U1Tx
15
46
PC5 (2)
PB1 (1)
O
TTL
UART 1模块发送信号。
U2Rx
53
PD6 (1)
I
TTL
UART 2模块接收信号。
U2Tx
10
PD7 (1)
O
TTL
UART 2模块发送信号。
U3Rx
14
PC6 (1)
I
TTL
UART 3模块接收信号。
U3Tx
13
PC7 (1)
O
TTL
UART 3模块发送信号。
U4Rx
16
PC4 (1)
I
TTL
UART 4模块接收信号。
U4Tx
15
PC5 (1)
O
TTL
UART 4模块发送信号。
U5Rx
59
PE4 (1)
I
TTL
UART 5模块接收信号。
U5Tx
60
PE5 (1)
O
TTL
UART 5模块发送信号。
U6Rx
43
PD4 (1)
I
TTL
UART 6模块接收信号。
U6Tx
44
PD5 (1)
O
TTL
UART 6模块发送信号。
U7Rx
9
PE0 (1)
I
TTL
UART 7模块接收信号。
U7Tx
8
PE1 (1)
O
TTL
UART 7模块发送信号。
VBAT
37
固定
-
电源
休眠模块的电源供应源它通常连接到电池的正极端
并用作备用电池/休眠模块电源供应器的电源。
VDD
11
26
42
54
固定
-
电源
I/O和某些逻辑的电源正极。
2014 年 01 月 28 日
1017
Texas Instruments-预告信息
信号表
表 20-3. 按信号名称分类的信号(续)
a
管脚名称
管脚编号
管脚复用/管脚
赋值
管脚类型
缓冲区类型
描述
VDDA
2
固定
-
电源
模拟电路(ADC、模拟比较器等)的电源正端。
VDDA 应与 VDD 分开,尽量避免 VDD 中携带的噪
声影响模拟功能。VDDA不论系统配置如何,管脚
的电压必须符合 表21-5(1031页)中的规格。
VDDC
25
56
固定
-
电源
为主要的逻辑部分(包括处理器内核以及大部分片
上外设)供电的电源正端。该管脚上的电压为 1.2
V,由片上 LDO 提供。按照 表21-12(1043页) 中
的规定,VDDC 管脚只应相互连接或连接外部电
容。
WAKE
32
固定
I
TTL
当有效时外部输入将处理器从休眠模式中唤醒。
WT0CCP0
16
PC4 (7)
I/O
TTL
32/64 位宽 Timer 0 捕获/比较/PWM 0。
WT0CCP1
15
PC5 (7)
I/O
TTL
32/64 位宽 Timer 0 捕获/比较/PWM 1。
WT1CCP0
14
PC6 (7)
I/O
TTL
32/64 位宽 Timer 1 捕获/比较/PWM 0。
WT1CCP1
13
PC7 (7)
I/O
TTL
32/64 位宽 Timer 1 捕获/比较/PWM 1。
WT2CCP0
61
PD0 (7)
I/O
TTL
32/64 位宽 Timer 2 捕获/比较/PWM 0。
WT2CCP1
62
PD1 (7)
I/O
TTL
32/64 位宽 Timer 2 捕获/比较/PWM 1。
WT3CCP0
63
PD2 (7)
I/O
TTL
32/64 位宽 Timer 3 捕获/比较/PWM 0。
WT3CCP1
64
PD3 (7)
I/O
TTL
32/64 位宽 Timer 3 捕获/比较/PWM 1。
WT4CCP0
43
PD4 (7)
I/O
TTL
32/64 位宽 Timer 4 捕获/比较/PWM 0。
WT4CCP1
44
PD5 (7)
I/O
TTL
32/64 位宽 Timer 4 捕获/比较/PWM 1。
WT5CCP0
53
PD6 (7)
I/O
TTL
32/64 位宽 Timer 5 捕获/比较/PWM 0。
WT5CCP1
10
PD7 (7)
I/O
TTL
32/64 位宽 Timer 5 捕获/比较/PWM 1。
XOSC0
34
固定
I
模拟
休眠模块晶体振荡器输入或外部时钟参考输入。请
注意休眠模块 RTC 采用 32.768-kHz 晶体或
32.768-kHz 振荡器。
XOSC1
36
固定
O
模拟
休眠模块晶体振荡器输出。当使用外部单端参考时
钟源时,此管脚应悬空。
a. TTL 表示管脚的电压水平与 TTL 一致。
2014 年 01 月 28 日
1018
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
20.3
按功能分类的信号(GPIO 除外)
表 20-4. 按功能分类的信号(GPIO 除外)
功能
ADC
管脚名称
a
管脚编号
管脚类型
缓冲区类型
AIN0
6
I
模拟
模数转换器输入0。
AIN1
7
I
模拟
模数转换器输入1。
AIN2
8
I
模拟
模数转换器输入2。
AIN3
9
I
模拟
模数转换器输入3。
AIN4
64
I
模拟
模数转换器输入4。
AIN5
63
I
模拟
模数转换器输入5。
AIN6
62
I
模拟
模数转换器输入6。
AIN7
61
I
模拟
模数转换器输入7。
AIN8
60
I
模拟
模数转换器输入8。
AIN9
59
I
模拟
模数转换器输入9。
AIN10
58
I
模拟
模数转换器输入10。
AIN11
57
I
模拟
模数转换器输入11。
2014 年 01 月 28 日
描述
1019
Texas Instruments-预告信息
信号表
表 20-4. 按功能分类的信号(GPIO 除外)(续)
功能
GPIO 触发
管脚名称
a
管脚编号
管脚类型
缓冲区类型
描述
PA0
17
I/O
TTL
GPIO端口A第0位。
PA1
18
I/O
TTL
GPIO端口A第1位。
PA2
19
I/O
TTL
GPIO端口A第2位。
PA3
20
I/O
TTL
GPIO端口A第3位。
PA4
21
I/O
TTL
GPIO端口A第4位。
PA5
22
I/O
TTL
GPIO端口A第5位。
PA6
23
I/O
TTL
GPIO端口A第6位。
PA7
24
I/O
TTL
GPIO端口A第7位。
PB0
45
I/O
TTL
GPIO端口B第0位。该管脚不能承受 5V 最高电压。
PB1
46
I/O
TTL
GPIO端口B第1位。该管脚不能承受 5V 最高电压。
PB2
47
I/O
TTL
GPIO端口B第2位。
PB3
48
I/O
TTL
GPIO端口B第3位。
PB4
58
I/O
TTL
GPIO端口B第4位。
PB5
57
I/O
TTL
GPIO端口B第5位。
PB6
1
I/O
TTL
GPIO端口B第6位。
PB7
4
I/O
TTL
GPIO端口B第7位。
PC0
52
I/O
TTL
GPIO端口C第0位。
PC1
51
I/O
TTL
GPIO端口C第1位。
PC2
50
I/O
TTL
GPIO端口C第2位。
PC3
49
I/O
TTL
GPIO端口C第3位。
PC4
16
I/O
TTL
GPIO端口C第4位。
PC5
15
I/O
TTL
GPIO端口C第5位。
PC6
14
I/O
TTL
GPIO端口C第6位。
PC7
13
I/O
TTL
GPIO端口C第7位。
PD0
61
I/O
TTL
GPIO端口D第0位。
PD1
62
I/O
TTL
GPIO端口D第1位。
PD2
63
I/O
TTL
GPIO端口D第2位。
PD3
64
I/O
TTL
GPIO端口D第3位。
PD4
43
I/O
TTL
GPIO端口D第4位。该管脚不能承受 5V 最高电压。
PD5
44
I/O
TTL
GPIO端口D第5位。该管脚不能承受 5V 最高电压。
PD6
53
I/O
TTL
GPIO端口D第6位。
PD7
10
I/O
TTL
GPIO端口D第7位。
PE0
9
I/O
TTL
GPIO端口E第0位。
PE1
8
I/O
TTL
GPIO端口E第1位。
PE2
7
I/O
TTL
GPIO端口E第2位。
PE3
6
I/O
TTL
GPIO端口E第3位。
PE4
59
I/O
TTL
GPIO端口E第4位。
PE5
60
I/O
TTL
GPIO端口E第5位。
PF0
28
I/O
TTL
GPIO端口F第0位。
PF1
29
I/O
TTL
GPIO端口F第1位。
PF2
30
I/O
TTL
GPIO端口F第2位。
PF3
31
I/O
TTL
GPIO端口F第3位。
2014 年 01 月 28 日
1020
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-4. 按功能分类的信号(GPIO 除外)(续)
功能
I2C
JTAG/SWD/SWO
SSI
管脚名称
a
管脚编号
管脚类型
缓冲区类型
描述
PF4
5
I/O
TTL
GPIO端口F第4位。
I2C0SCL
47
I/O
OD
I2C 模块 0 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C0SDA
48
I/O
OD
I2C 模块 0 数据。
I2C1SCL
23
I/O
OD
I2C 模块 1 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C1SDA
24
I/O
OD
I2C 模块 1 数据。
I2C2SCL
59
I/O
OD
I2C 模块 2 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C2SDA
60
I/O
OD
I2C 模块 2 数据。
I2C3SCL
61
I/O
OD
I2C 模块 3 时钟。请注意该信号具有有源上拉。不
应将相应的端口管脚配置为开漏。
I2C3SDA
62
I/O
OD
I2C 模块 3 数据。
SWCLK
52
I
TTL
JTAG/SWD CLK信号。
SWDIO
51
I/O
TTL
JTAG TMS及SWDIO信号。
SWO
49
O
TTL
JTAG TDO及SWO信号。
TCK
52
I
TTL
JTAG/SWD CLK信号。
TDI
50
I
TTL
JTAG TDI信号。
TDO
49
O
TTL
JTAG TDO及SWO信号。
TMS
51
I
TTL
JTAG TMS及SWDIO信号。
SSI0Clk
19
I/O
TTL
SSI模块0时钟
SSI0Fss
20
I/O
TTL
SSI 模块 0 帧信号
SSI0Rx
21
I
TTL
SSI模块0接收
SSI0Tx
22
O
TTL
SSI模块0发送
SSI1Clk
30
61
I/O
TTL
SSI 模块 1 时钟信号。
SSI1Fss
31
62
I/O
TTL
SSI 模块 1 帧信号。
SSI1Rx
28
63
I
TTL
SSI 模块 1 接收信号。
SSI1Tx
29
64
O
TTL
SSI 模块 1 发送信号。
SSI2Clk
58
I/O
TTL
SSI 模块 2 时钟信号。
SSI2Fss
57
I/O
TTL
SSI 模块 2 帧信号。
SSI2Rx
1
I
TTL
SSI 模块 2 接收信号。
SSI2Tx
4
O
TTL
SSI 模块 2 发送信号。
SSI3Clk
61
I/O
TTL
SSI 模块 3 时钟信号。
SSI3Fss
62
I/O
TTL
SSI 模块 3 帧信号。
SSI3Rx
63
I
TTL
SSI 模块 3 接收信号。
SSI3Tx
64
O
TTL
SSI 模块 3 发送信号。
2014 年 01 月 28 日
1021
Texas Instruments-预告信息
信号表
表 20-4. 按功能分类的信号(GPIO 除外)(续)
功能
UART
管脚名称
a
管脚类型
缓冲区类型
描述
U0Rx
17
I
TTL
UART 0模块接收信号。
U0Tx
18
O
TTL
UART 0模块发送信号。
U1CTS
15
29
I
TTL
UART 模块 1 CTS(Clear to Send,允许发送)调
制解调器流控输入信号。
U1RTS
16
28
O
TTL
UART 模块 1 RTS(Request to Send,请求发送)
调制解调器流控输出线。
U1Rx
16
45
I
TTL
UART 1模块接收信号。
U1Tx
15
46
O
TTL
UART 1模块发送信号。
U2Rx
53
I
TTL
UART 2模块接收信号。
U2Tx
10
O
TTL
UART 2模块发送信号。
U3Rx
14
I
TTL
UART 3模块接收信号。
U3Tx
13
O
TTL
UART 3模块发送信号。
U4Rx
16
I
TTL
UART 4模块接收信号。
U4Tx
15
O
TTL
UART 4模块发送信号。
U5Rx
59
I
TTL
UART 5模块接收信号。
U5Tx
60
O
TTL
UART 5模块发送信号。
U6Rx
43
I
TTL
UART 6模块接收信号。
U6Tx
44
O
TTL
UART 6模块发送信号。
U7Rx
9
I
TTL
UART 7模块接收信号。
U7Tx
8
O
TTL
UART 7模块发送信号。
GNDX
35
-
电源
休眠震荡器的接地。当使用晶振时钟源时,该管脚
应连接到数字接地和晶振负载电容。使用外部震荡
器时,该管脚应连接到数字接地。
HIB
33
O
TTL
该输出指示处理器是否处于休眠模式。
VBAT
37
-
电源
休眠模块的电源供应源它通常连接到电池的正极端
并用作备用电池/休眠模块电源供应器的电源。
WAKE
32
I
TTL
当有效时外部输入将处理器从休眠模式中唤醒。
XOSC0
34
I
模拟
休眠模块晶体振荡器输入或外部时钟参考输入。请
注意休眠模块 RTC 采用 32.768-kHz 晶体或
32.768-kHz 振荡器。
XOSC1
36
O
模拟
休眠模块晶体振荡器输出。当使用外部单端参考时
钟源时,此管脚应悬空。
TRCLK
31
O
TTL
跟踪时钟信号。
TRD0
30
O
TTL
跟踪数据信号 0。
TRD1
29
O
TTL
跟踪数据信号 1。
休眠
内核
管脚编号
2014 年 01 月 28 日
1022
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-4. 按功能分类的信号(GPIO 除外)(续)
功能
管脚名称
管脚类型
缓冲区类型
GND
12
27
39
55
-
电源
逻辑和I/O管脚的地参考。
GNDA
3
-
电源
模拟电路(ADC、 模拟比较器等)的接地参考。这
些与 GND 分开,以期尽量避免 VDD 中携带的电噪
声影响模拟功能。
VDD
11
26
42
54
-
电源
I/O和某些逻辑的电源正极。
VDDA
2
-
电源
模拟电路(ADC、模拟比较器等)的电源正端。
VDDA 应与 VDD 分开,尽量避免 VDD 中携带的噪
声影响模拟功能。VDDA不论系统配置如何,管脚
的电压必须符合 表21-5(1031页)中的规格。
VDDC
25
56
-
电源
为主要的逻辑部分(包括处理器内核以及大部分片
上外设)供电的电源正端。该管脚上的电压为 1.2
V,由片上 LDO 提供。按照 表21-12(1043页) 中
的规定,VDDC 管脚只应相互连接或连接外部电
容。
CAN0Rx
28
58
59
I
TTL
CAN模块0接收信号。
CAN0Tx
31
57
60
O
TTL
CAN模块0发送信号。
C0+
14
I
模拟
模拟比较器0正极输入
C0-
13
I
模拟
模拟比较器0负极输入
C0o
28
O
TTL
模拟比较器0输出端。
C1+
15
I
模拟
模拟比较器1正极输入
C1-
16
I
模拟
模拟比较器1负极输入
C1o
29
O
TTL
模拟比较器1输出端。
NMI
10
28
I
TTL
不可屏蔽的中断
OSC0
40
I
模拟
主振荡器晶体输入或外部时钟参考输入。
OSC1
41
O
模拟
主振荡器晶体输出。当使用外部单端参考时钟源
时,此管脚应悬空。
RST
38
I
TTL
系统复位输入
功率
控制器局域网
模拟比较器触发
系统控制; 时钟
a
管脚编号
2014 年 01 月 28 日
描述
1023
Texas Instruments-预告信息
信号表
表 20-4. 按功能分类的信号(GPIO 除外)(续)
功能
管脚名称
通用定时器
a
管脚编号
管脚类型
缓冲区类型
描述
T0CCP0
1
28
I/O
TTL
16/32 位 Timer 0 捕获/比较/PWM 0。
T0CCP1
4
29
I/O
TTL
16/32 位 Timer 0 捕获/比较/PWM 1。
T1CCP0
30
58
I/O
TTL
16/32 位 Timer 1 捕获/比较/PWM 0。
T1CCP1
31
57
I/O
TTL
16/32 位 Timer 1 捕获/比较/PWM 1。
T2CCP0
5
45
I/O
TTL
16/32 位 Timer 2 捕获/比较/PWM 0。
T2CCP1
46
I/O
TTL
16/32 位 Timer 2 捕获/比较/PWM 1。
T3CCP0
47
I/O
TTL
16/32 位 Timer 3 捕获/比较/PWM 0。
T3CCP1
48
I/O
TTL
16/32 位 Timer 3 捕获/比较/PWM 1。
T4CCP0
52
I/O
TTL
16/32 位 Timer 4 捕获/比较/PWM 0。
T4CCP1
51
I/O
TTL
16/32 位 Timer 4 捕获/比较/PWM 1。
T5CCP0
50
I/O
TTL
16/32 位 Timer 5 捕获/比较/PWM 0。
T5CCP1
49
I/O
TTL
16/32 位 Timer 5 捕获/比较/PWM 1。
WT0CCP0
16
I/O
TTL
32/64 位宽 Timer 0 捕获/比较/PWM 0。
WT0CCP1
15
I/O
TTL
32/64 位宽 Timer 0 捕获/比较/PWM 1。
WT1CCP0
14
I/O
TTL
32/64 位宽 Timer 1 捕获/比较/PWM 0。
WT1CCP1
13
I/O
TTL
32/64 位宽 Timer 1 捕获/比较/PWM 1。
WT2CCP0
61
I/O
TTL
32/64 位宽 Timer 2 捕获/比较/PWM 0。
WT2CCP1
62
I/O
TTL
32/64 位宽 Timer 2 捕获/比较/PWM 1。
WT3CCP0
63
I/O
TTL
32/64 位宽 Timer 3 捕获/比较/PWM 0。
WT3CCP1
64
I/O
TTL
32/64 位宽 Timer 3 捕获/比较/PWM 1。
WT4CCP0
43
I/O
TTL
32/64 位宽 Timer 4 捕获/比较/PWM 0。
WT4CCP1
44
I/O
TTL
32/64 位宽 Timer 4 捕获/比较/PWM 1。
WT5CCP0
53
I/O
TTL
32/64 位宽 Timer 5 捕获/比较/PWM 0。
WT5CCP1
10
I/O
TTL
32/64 位宽 Timer 5 捕获/比较/PWM 1。
a. TTL 表示管脚的电压水平与 TTL 一致。
20.4
GPIO 管脚和复用功能
表 20-5. GPIO 管脚和复用功能
a
IO
管脚 模拟功能
数字功能(GPIOPCTL PMCx 位域编码)
1
2
3
4
5
6
7
8
9
14
15
PA0
17
-
U0Rx
-
-
-
-
-
-
-
-
-
-
PA1
18
-
U0Tx
-
-
-
-
-
-
-
-
-
-
PA2
19
-
-
SSI0Clk
-
-
-
-
-
-
-
-
-
PA3
20
-
-
SSI0Fss
-
-
-
-
-
-
-
-
-
PA4
21
-
-
SSI0Rx
-
-
-
-
-
-
-
-
-
PA5
22
-
-
SSI0Tx
-
-
-
-
-
-
-
-
-
PA6
23
-
-
-
I2C1SCL
-
-
-
-
-
-
-
-
2014 年 01 月 28 日
1024
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-5. GPIO 管脚和复用功能(续)
a
IO
PA7
管脚 模拟功能
24
数字功能(GPIOPCTL PMCx 位域编码)
1
2
3
4
5
6
7
8
9
14
15
-
-
-
I2C1SDA
-
-
-
-
-
-
-
-
PB0
45
-
U1Rx
-
-
-
-
-
T2CCP0
-
-
-
-
PB1
46
-
U1Tx
-
-
-
-
-
T2CCP1
-
-
-
-
PB2
47
-
-
-
I2C0SCL
-
-
-
T3CCP0
-
-
-
-
-
PB3
48
-
-
-
I2C0SDA
-
-
-
T3CCP1
-
-
-
PB4
58
AIN10
-
SSI2Clk
-
-
-
-
T1CCP0 CAN0Rx
-
-
-
PB5
57
AIN11
-
SSI2Fss
-
-
-
-
T1CCP1 CAN0Tx
-
-
-
PB6
1
-
-
SSI2Rx
-
-
-
-
T0CCP0
-
-
-
-
PB7
4
-
-
SSI2Tx
-
-
-
-
T0CCP1
-
-
-
-
PC0
52
-
TCK
SWCLK
-
-
-
-
-
T4CCP0
-
-
-
-
PC1
51
-
TMS
SWDIO
-
-
-
-
-
T4CCP1
-
-
-
-
PC2
50
-
TDI
-
-
-
-
-
T5CCP0
-
-
-
-
PC3
49
-
TDO
SWO
-
-
-
-
-
T5CCP1
-
-
-
-
PC4
16
C1-
U4Rx
U1Rx
-
-
-
-
WT0CCP0 U1RTS
-
-
-
PC5
15
C1+
U4Tx
U1Tx
-
-
-
-
WT0CCP1 U1CTS
-
-
-
PC6
14
C0+
U3Rx
-
-
-
-
-
WT1CCP0
-
-
-
-
PC7
13
C0-
U3Tx
-
-
-
-
-
WT1CCP1
-
-
-
-
PD0
61
AIN7
SSI3Clk SSI1Clk I2C3SCL
-
-
-
WT2CCP0
-
-
-
-
PD1
62
AIN6
SSI3Fss SSI1Fss I2C3SDA
-
-
-
WT2CCP1
-
-
-
-
PD2
63
AIN5
SSI3Rx
SSI1Rx
-
-
-
-
WT3CCP0
-
-
-
-
PD3
64
AIN4
SSI3Tx
SSI1Tx
-
-
-
-
WT3CCP1
-
-
-
-
PD4
43
-
U6Rx
-
-
-
-
-
WT4CCP0
-
-
-
-
PD5
44
-
U6Tx
-
-
-
-
-
WT4CCP1
-
-
-
-
PD6
53
-
U2Rx
-
-
-
-
-
WT5CCP0
-
-
-
-
PD7
10
-
U2Tx
-
-
-
-
-
WT5CCP1
NMI
-
-
-
PE0
9
AIN3
U7Rx
-
-
-
-
-
-
-
-
-
-
PE1
8
AIN2
U7Tx
-
-
-
-
-
-
-
-
-
-
PE2
7
AIN1
-
-
-
-
-
-
-
-
-
-
-
PE3
6
AIN0
-
-
-
-
-
-
-
-
-
-
-
PE4
59
AIN9
U5Rx
-
I2C2SCL
-
-
-
-
CAN0Rx
-
-
-
PE5
60
AIN8
U5Tx
-
PF0
28
-
U1RTS
PF1
29
-
PF2
30
-
PF3
31
PF4
5
I2C2SDA
-
-
-
-
CAN0Tx
-
-
-
SSI1Rx CAN0Rx
-
-
-
T0CCP0
NMI
C0o
-
-
U1CTS
SSI1Tx
-
-
-
-
T0CCP1
-
C1o
TRD1
-
-
SSI1Clk
-
-
-
-
T1CCP0
-
-
TRD0
-
-
-
SSI1Fss CAN0Tx
-
-
-
T1CCP1
-
-
TRCLK
-
-
-
-
-
-
T2CCP0
-
-
-
-
-
-
a. 带灰色阴影的数字信号是相应 GPIO 管脚的上电默认值。 本器件不使用编码 10-13。
2014 年 01 月 28 日
1025
Texas Instruments-预告信息
信号表
20.5
复用功能的可能的管脚赋值
表 20-6. 复用功能的可能的管脚赋值
# 种可能的赋值
1
复用功能
GPIO 功能
AIN0
PE3
AIN1
PE2
AIN10
PB4
AIN11
PB5
AIN2
PE1
AIN3
PE0
AIN4
PD3
AIN5
PD2
AIN6
PD1
AIN7
PD0
AIN8
PE5
AIN9
PE4
C0+
PC6
C0-
PC7
C0o
PF0
C1+
PC5
C1-
PC4
C1o
PF1
I2C0SCL
PB2
I2C0SDA
PB3
I2C1SCL
PA6
I2C1SDA
PA7
I2C2SCL
PE4
I2C2SDA
PE5
I2C3SCL
PD0
I2C3SDA
PD1
SSI0Clk
PA2
SSI0Fss
PA3
SSI0Rx
PA4
SSI0Tx
PA5
SSI2Clk
PB4
SSI2Fss
PB5
SSI2Rx
PB6
SSI2Tx
PB7
SSI3Clk
PD0
SSI3Fss
PD1
SSI3Rx
PD2
SSI3Tx
PD3
SWCLK
PC0
SWDIO
PC1
2014 年 01 月 28 日
1026
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 20-6. 复用功能的可能的管脚赋值(续)
# 种可能的赋值
复用功能
GPIO 功能
SWO
PC3
T2CCP1
PB1
T3CCP0
PB2
T3CCP1
PB3
T4CCP0
PC0
T4CCP1
PC1
T5CCP0
PC2
T5CCP1
PC3
TCK
PC0
TDI
PC2
TDO
PC3
TMS
PC1
TRCLK
PF3
TRD0
PF2
TRD1
PF1
U0Rx
PA0
U0Tx
PA1
U2Rx
PD6
U2Tx
PD7
U3Rx
PC6
U3Tx
PC7
U4Rx
PC4
U4Tx
PC5
U5Rx
PE4
U5Tx
PE5
U6Rx
PD4
U6Tx
PD5
U7Rx
PE0
U7Tx
PE1
WT0CCP0
PC4
WT0CCP1
PC5
WT1CCP0
PC6
WT1CCP1
PC7
WT2CCP0
PD0
WT2CCP1
PD1
WT3CCP0
PD2
WT3CCP1
PD3
WT4CCP0
PD4
WT4CCP1
PD5
WT5CCP0
PD6
WT5CCP1
PD7
2014 年 01 月 28 日
1027
Texas Instruments-预告信息
信号表
表 20-6. 复用功能的可能的管脚赋值(续)
# 种可能的赋值
复用功能
GPIO 功能
2
3
20.6
NMI
PD7 PF0
SSI1Clk
PD0 PF2
SSI1Fss
PD1 PF3
SSI1Rx
PD2 PF0
SSI1Tx
PD3 PF1
T0CCP0
PB6 PF0
T0CCP1
PB7 PF1
T1CCP0
PB4 PF2
T1CCP1
PB5 PF3
T2CCP0
PB0 PF4
U1CTS
PC5 PF1
U1RTS
PC4 PF0
U1Rx
PB0 PC4
U1Tx
PB1 PC5
CAN0Rx
PB4 PE4 PF0
CAN0Tx
PB5 PE5 PF3
未用管脚的处理
对于 64 管脚 LQFP 封装中的设备,如果在特定的系统中并未用到某些信号,可按照 表20-7(1028页)
对相应的功能信号进行处理。表中列出了两种选项:一般的处理方法以及推荐的处理方法,其中按
照推荐的方法处理有助于降低功耗并改善 EMC 性能。假如系统中并未使用某个功能模块,并且已
将其输入端接地,那么必须避免使能该模块的时钟(将 RCGCx 寄存器中对应的标志位置位)。
表 20-7. 未用信号的连接(64 管脚 LQFP)
功能
GPIO 触发
休眠
无连接
系统控制
信号名称
管脚编号
一般的处理方法
推荐的处理方法
所有未用的GPIO
-
悬空
GND
HIB
33
悬空
悬空
VBAT
37
悬空
VDD
WAKE
32
悬空
GND
XOSC0
34
悬空
GND
XOSC1
36
悬空
悬空
GNDX
35
GND
GND
悬空
参考表20-3(1014页) 中
的 NC 管脚号。
悬空
悬空
OSC0
40
悬空
GND
OSC1
41
悬空
悬空
RST
38
VDD
上拉,如图5-1(189页)所
示。
2014 年 01 月 28 日
1028
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21
Electrical Characteristics
21.1
Maximum Ratings
The maximum ratings are the limits to which the device can be subjected without permanently
damaging the device. Device reliability may be adversely affected by exposure to absolute-maximum
ratings for extended periods.
注意:
The device is not guaranteed to operate properly at the maximum ratings.
表 21-1. Maximum Ratings
Value
a
Parameter
Parameter Name
VDD
VDD supply voltage
b
Min
Max
0
4
Unit
V
VDDA
VDDA supply voltage
0
4
V
VBAT
VBAT battery supply voltage
0
4
V
VBAT battery supply voltage ramp time
0
0.7
V/µs
Input voltage on GPIOs, regardless of whether the
cde
microcontroller is powered
-0.3
5.5
V
Input voltage for PD4, PD5, PB0 and PB1 when
configured as GPIO
-0.3
VDD + 0.3
V
-
25
mA
-65
150
°C
-
150
°C
VBATRMP
VIN_GPIO
IGPIOMAX
TS
TJMAX
Maximum current per output pin
Unpowered storage temperature range
Maximum junction temperature
a. Voltages are measured with respect to GND.
b. To ensure proper operation, VDDA must be powered before VDD if sourced from different supplies, or connected to the
same supply as VDD. Note that the minimum operating voltage for VDD differs from the minimum operating voltage for
VDDA. This change should be accounted for in the system design if both are sourced from the same supply. There is
not a restriction on order for powering off.
c. Applies to static and dynamic signals including overshoot.
d. Refer to 图21-16(1055页) for a representation of the ESD protection on GPIOs.
e. For additional details, see the note on GPIO pad tolerance in “GPIO Module Characteristics”(1054页).
重要:
This device contains circuitry to protect the I/Os against damage due to high-static
voltages; however, it is advised that normal precautions be taken to avoid application
of any voltage higher than maximum-rated voltages to this high-impedance circuit.
Reliability of operation is enhanced if unused inputs are connected to an appropriate
logic voltage level (see “未用管脚的处理”(1028页)).
表 21-2. ESD Absolute Maximum Ratings
Parameter
Component-Level ESD
a
Stress Voltage
Min
Nom
VESDHBM
b
Max
Unit
-
VESDCDM
c
-
-
2.0
kV
-
500
V
a. Electrostatic discharge (ESD) to measure device sensitivity/immunity to damage caused by electrostatic discharges in
device.
b. Level listed is passing level per ANSI/ESDA/JEDEC JS-001. JEDEC document JEP155 states that 500V HBM allows
safe manufacturing with a standard ESD control process.
c. Level listed is the passing level per EIA-JEDEC JESD22-C101E. JEDEC document JEP157 states that 250V CDM allows
safe manufacturing with a standard ESD control process.
2014 年 01 月 28 日
1029
Texas Instruments-预告信息
Electrical Characteristics
21.2
Operating Characteristics
表 21-3. Temperature Characteristics
Characteristic
Symbol Value
Ambient operating temperature range
TA
Unit
-40 to +85
(industrial temp
part)
°C
-40 to +105
(extended temp
part)
Case operating temperature range
TC
-40 to +93
(industrial temp
part)
°C
-40 to +114
(extended temp
part)
Junction operating temperature range
TJ
-40 to +96
(TA=85C)
°C
-40 to +117
(TA=105C)
a
表 21-4. Thermal Characteristics
Characteristic
Symbol Value
b
Thermal resistance (junction to ambient) ΘJA
Unit
54.8
°C/W
Thermal resistance (junction to board)
ΘJB
27.5
°C/W
b
Thermal resistance (junction to case)
ΘJC
15.8
°C/W
Thermal metric (junction to top of
package)
ΨJT
0.7
°C/W
°C/W
b
Thermal metric (junction to board)
ΨJB
27.1
Junction temperature formula
TJ
TC + (P • ΨJT)
°C
c
TPCB + (P • ΨJB)
d
TA + (P • ΘJA)
ef
TB + (P • ΘJB)
a. For more details about thermal metrics and definitions, see the “Semiconductor and IC Package Thermal Metrics
Application Report” (literature number SPRA953).
b. Junction to ambient thermal resistance (ΘJA), junction to board thermal resistance (ΘJB), and junction to case thermal
resistance (ΘJC) numbers are determined by a package simulator.
c. TPCB is the temperature of the board acquired by following the steps listed in the EAI/JESD 51-8 standard summarized in
the “Semiconductor and IC Package Thermal Metrics Application Report” (literature number SPRA953).
d. Because ΘJA is highly variable and based on factors such as board design, chip/pad size, altitude, and external ambient
temperature, it is recommended that equations containing ΨJT and ΨJB be used for best results.
e. TB is temperature of the board.
f. ΘJB is not a pure reflection of the internal resistance of the package because it includes the resistance of the testing board
and environment. It is recommended that equations containing ΨJT and ΨJB be used for best results.
2014 年 01 月 28 日
1030
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21.3
Recommended Operating Conditions
For special high-current applications, the GPIO output buffers may be used with the following
restrictions. With the GPIO pins configured as 8-mA output drivers, a total of four GPIO outputs may
be used to sink current loads up to 18 mA each. At 18-mA sink current loading, the VOL value is
specified as 1.2 V. The high-current GPIO package pins must be selected such that there are only
a maximum of two per side of the physical package with the total number of high-current GPIO
outputs not exceeding four for the entire package.
表 21-5. Recommended DC Operating Conditions
Parameter
Parameter Name
Min
Nom
Max
Unit
VDD
VDD supply voltage
3.15
3.3
3.63
V
VDDA
VDDA supply voltage
2.97
3.3
3.63
V
VDDC
VDDC supply voltage
1.08
1.2
1.32
V
VDDC supply voltage, Deep-sleep mode
1.08
-
1.32
V
ab
VDDCDS
a. These values are valid when LDO is in operation.
b. There are peripheral timing restrictions for SSI and LPC in Deep-sleep mode. Please refer to those peripheral characteristic
sections for more information.
表 21-6. Recommended GPIO Pad Operating Conditions
Parameter
Parameter Name
Min
Nom
Max
Unit
VIH
GPIO high-level input voltage
0.65 * VDD
-
5.5
V
VIL
GPIO low-level input voltage
0
-
0.35 * VDD
V
-
V
VHYS
GPIO input hysteresis
0.2
-
VOH
GPIO high-level output voltage
2.4
-
-
V
VOL
GPIO low-level output voltage
-
-
0.4
V
2-mA Drive
2.0
-
-
mA
4-mA Drive
4.0
-
-
mA
8-mA Drive
8.0
-
-
mA
2-mA Drive
2.0
-
-
mA
4-mA Drive
4.0
-
-
mA
8-mA Drive
8.0
-
-
mA
8-mA Drive, VOL=1.2 V
18.0
-
-
mA
a
High-level source current, VOH=2.4 V
IOH
a
Low-level sink current, VOL=0.4 V
IOL
a. IO specifications reflect the maximum current where the corresponding output voltage meets the VOH/VOL thresholds. IO
current can exceed these limits (subject to absolute maximum ratings).
a
表 21-7. GPIO Current Restrictions
Parameter
IMAXL
Parameter Name
Min
Nom
Max
Unit
-
-
30
mA
b
Cumulative maximum GPIO current per side, left
b
IMAXB
Cumulative maximum GPIO current per side, bottom
-
-
35
mA
IMAXR
b
Cumulative maximum GPIO current per side, right
-
-
40
mA
IMAXT
Cumulative maximum GPIO current per side, top
b
-
-
40
mA
a. Based on design simulations, not tested in production.
b. Sum of sink and source current for GPIOs as shown in 表21-8(1032页).
2014 年 01 月 28 日
1031
Texas Instruments-预告信息
Electrical Characteristics
表 21-8. GPIO Package Side Assignments
Side
GPIOs
Left
PB[6-7], PC[4-7], PD7, PE[0-3], PF4
Bottom
PA[0-7], PF[0-3]
Right
PB[0-3], PD[4-5]
Top
PB[4-5], PC[0-3], PD[0-3,6], PE[4-5]
2014 年 01 月 28 日
1032
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21.4
Load Conditions
Unless otherwise specified, the following conditions are true for all timing measurements.
图 21-1. Load Conditions
CL = 50 pF
pin
GND
2014 年 01 月 28 日
1033
Texas Instruments-预告信息
Electrical Characteristics
21.5
JTAG and Boundary Scan
表 21-9. JTAG Characteristics
Parameter
No.
Parameter
Parameter Name
J1
FTCK
TCK operational clock frequency
J2
TTCK
TCK operational clock period
a
Min
Nom
Max
Unit
0
-
10
MHz
100
-
-
ns
J3
TTCK_LOW
TCK clock Low time
-
tTCK/2
-
ns
J4
TTCK_HIGH
TCK clock High time
-
tTCK/2
-
ns
J5
TTCK_R
TCK rise time
0
-
10
ns
J6
TTCK_F
TCK fall time
0
-
10
ns
J7
TTMS_SU
TMS setup time to TCK rise
8
-
-
ns
J8
TTMS_HLD
TMS hold time from TCK rise
4
-
-
ns
J9
TTDI_SU
TDI setup time to TCK rise
18
-
-
ns
J10
TTDI_HLD
TDI hold time from TCK rise
4
-
-
ns
13
35
ns
TCK fall to Data Valid from High-Z, 2-mA drive
TCK fall to Data Valid from High-Z, 4-mA drive
J11
TTDO_ZDV
9
26
ns
8
26
ns
TCK fall to Data Valid from High-Z, 8-mA drive with
slew rate control
10
29
ns
TCK fall to Data Valid from Data Valid, 2-mA drive
14
20
ns
TCK fall to Data Valid from High-Z, 8-mA drive
-
TCK fall to Data Valid from Data Valid, 4-mA drive
J12
J13
TTDO_DV
TTDO_DVZ
10
26
ns
8
21
ns
TCK fall to Data Valid from Data Valid, 8-mA drive
with slew rate control
10
26
ns
TCK fall to High-Z from Data Valid, 2-mA drive
7
16
ns
TCK fall to High-Z from Data Valid, 4-mA drive
7
16
ns
7
16
ns
8
19
ns
TCK fall to Data Valid from Data Valid, 8-mA drive
TCK fall to High-Z from Data Valid, 8-mA drive
-
-
TCK fall to High-Z from Data Valid, 8-mA drive with
slew rate control
a. A ratio of at least 8:1 must be kept between the system clock and TCK.
图 21-2. JTAG Test Clock Input Timing
J2
J3
J4
TCK
J6
J5
2014 年 01 月 28 日
1034
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 21-3. JTAG Test Access Port (TAP) Timing
TCK
J7
TMS
TDI
J8
J8
TMS Input Valid
TMS Input Valid
J9
J9
J10
TDI Input Valid
J11
TDO
J7
J10
TDI Input Valid
J12
TDO Output Valid
2014 年 01 月 28 日
J13
TDO Output Valid
1035
Texas Instruments-预告信息
Electrical Characteristics
21.6
Power and Brown-Out
表 21-10. Power-On and Brown-Out Levels
Parameter
No.
Parameter
Parameter Name
P1
TVDDA_RISE
P2
TVDD_RISE
P3
a
TVDDC_RISE
P4
VPOR
P5
VVDDA_POK
b
Min
Nom
Max
Unit
Analog Supply Voltage (VDDA) Rise Time
-
-
∞
µs
I/O Supply Voltage (VDD) Rise Time
-
-
∞
µs
Core Supply Voltage (VDDC) Rise Time
12.50
-
50.00
µs
Power-On Reset Threshold
2.00
2.30
2.60
V
VDDA Power-OK Threshold (Rising Edge)
2.70
2.85
3.00
V
VDDA Power-OK Threshold (Falling Edge)
2.71
2.80
2.89
V
VDD Power-OK Threshold (Rising Edge)
2.85
3.00
3.15
V
P6
VVDD_POK
VDD Power-OK Threshold (Falling Edge)
2.70
2.78
2.87
V
P7
VVDD_BOR0
Brown-Out 0 Reset Threshold
2.93
3.02
3.11
V
P8
VVDD_BOR1
Brown-Out 1 Reset Threshold
2.83
2.92
3.01
V
P9
VVDDC_POK
VDDC Power-OK Threshold (Rising Edge)
0.80
0.95
1.10
V
VDDC Power-OK Threshold (Falling Edge)
0.71
0.80
0.89
V
a. The MIN and MAX value is based on an external filter capacitor load within the range of CLDO. Please refer to “On-Chip
Low Drop-Out (LDO) Regulator”(1043页) for the CLDO value.
b. Digital logic, Flash memory, and SRAM are all designed to operate at VDD voltages below 2.70 V. The internal POK reset
protects the device from unpredictable operation on power down.
21.6.1
VDDA Levels
The VDDA supply has two monitors:
■ Power-On Reset (POR)
■ Power-OK (POK)
The POR monitor is used to keep the analog circuitry in reset until the VDDA supply has reached
the correct range for the analog circuitry to begin operating. The POK monitor is used to keep the
digital circuitry in reset until the VDDA power supply is at an acceptable operational level. The digital
Power-On Reset (Digital POR) is only released when the Power-On Reset has de-asserted and
all of the Power-OK monitors for each of the supplies indicate that power levels are in operational
ranges.
Once the VDDA POK monitor has released the digital Power-On Reset on the initial power-up, voltage
drops on the VDDA supply will only be reflected in the following bits. The digital Power-On Reset will
not be re-asserted.
■ VDDARIS bit in the Raw Interrupt Status (RIS) register (see 213页).
■ VDDAMIS bit in the Masked Interrupt Status and Clear (MISC) register (see 217页). This bit is
set only if the VDDAIM bit in the Interrupt Mask Control (IMC) register has been set.
图21-4(1037页) shows the relationship between VDDA, POR, POK, and an interrupt event.
2014 年 01 月 28 日
1036
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 21-4. Power Assertions versus VDDA Levels
P1
VDDAMIN
21.6.2
POR
1
POK
1
INT
VDDA
P5RISE
P4
1
P5FALL
P4
0
0
0
VDD Levels
The VDD supply has three monitors:
■ Power-OK (POK)
■ Brown-Out Reset0 (BOR0)
■ Brown-Out Reset1 (BOR1)
The POK monitor is used to keep the digital circuitry in reset until the VDD power supply is at an
acceptable operational level. The digital Power-On Reset (Digital POR) is only released when
the Power-On Reset has de-asserted and all of the Power-OK monitors for each of the supplies
indicate that power levels are in operational ranges. The BOR0 and the BOR1 monitors are used
to generate a reset to the device or assert an interrupt if the VDD supply drops below its operational
range. The BOR1 monitor's threshold is in between the BOR0 and POK thresholds.
If either a BOR0 event or a BOR1 event occurs, the following bits are affected:
■ BOR0RIS or BOR1RIS bits in the Raw Interrupt Status (RIS) register (see 213页).
■ BOR0MIS or BOR1MIS bits in the Masked Interrupt Status and Clear (MISC) register (see 217
页). These bits are set only if the respective BOR0IM or BOR1IM bits in the Interrupt Mask Control
(IMC) register have been set.
■ BOR bit in the Reset Cause (RESC) register (see 219页). This bit is set only if either of the BOR0
or BOR1 events have been configured to initiate a reset.
In addition, the following bits control both the BOR0 and BOR1 events:
■ BOR0IM or BOR1IM bits in the Interrupt Mask Control (IMC) register (see 215页).
2014 年 01 月 28 日
1037
Texas Instruments-预告信息
Electrical Characteristics
■ BOR0 or BOR1 bits in the Power-On and Brown-Out Reset Control (PBORCTL) register (see
212页).
图21-5(1038页) shows the relationship between:
■ VDD, POK, and a BOR0 event
■ VDD, POK, and a BOR1 event
图 21-5. Power and Brown-Out Assertions versus VDD Levels
P2
P6RISE
BOR1
BOR0
POK
VDD
VDDMIN
21.6.3
P7
P8
P6FALL
1
0
1
0
1
0
VDDC Levels
The VDDC supply has one monitor: the Power-OK (POK). The POK monitor is used to keep the
digital circuitry in reset until the VDDC power supply is at an acceptable operational level. The digital
Power-On Reset (Digital POR) is only released when the Power-On Reset has de-asserted and
all of the Power-OK monitors for each of the supplies indicate that power levels are in operational
ranges. 图21-6(1039页) shows the relationship between POK and VDDC.
2014 年 01 月 28 日
1038
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 21-6. POK assertion vs VDDC
POK
VDDC
P3
21.6.4
VDDCMIN
P9RISE
P9FALL
1
0
VDD Glitches
图21-7(1039页) shows the response of the BOR0, BOR1, and the POR circuit to glitches on the
VDD supply.
图 21-7. POR-BOR0-BOR1 VDD Glitch Response
21.6.5
VDD Droop Response
图21-8(1040页) shows the response of the BOR0, BOR1, and the POR monitors to a drop on the
VDD supply.
2014 年 01 月 28 日
1039
Texas Instruments-预告信息
Electrical Characteristics
图 21-8. POR-BOR0-BOR1 VDD Droop Response
2014 年 01 月 28 日
1040
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21.7
Reset
表 21-11. Reset Characteristics
Parameter
No.
R1
Parameter
TDPORDLY
R2
TIRTOUT
R3
TBOR0DLY
R3
Parameter Name
Min
Nom
Max
Unit
Digital POR to Internal Reset assertion
a
delay
0.80
-
5.35
µs
Internal Reset timeout
-
-
500
µs
a
0.25
-
1.95
µs
a
0.75
-
5.95
µs
BOR0 to Internal Reset assertion delay
TBOR1DLY
BOR1 to Internal Reset assertion delay
R4
TRSTMIN
Minimum RST pulse width
-
250
-
ns
R5
TIRHWDLY
RST to Internal Reset assertion delay
-
250
-
ns
R6
TIRSWR
Internal reset timeout after software-initiated
system reset
-
2.07
-
µs
R7
TIRWDR
Internal reset timeout after Watchdog reset
-
2.10
-
µs
R8
TIRMFR
Internal reset timeout after MOSC failure
reset
-
1.92
-
µs
a. Timing values are dependent on the VDD power-down ramp rate.
图 21-9. Digital Power-On Reset Timing
Digital POR
R1
R2
Reset
(Internal)
注意:
The digital Power-On Reset is only released when the analog Power-On Reset has de-asserted
and all of the Power-OK monitors for each of the supplies indicate that power levels are in operational
ranges.
图 21-10. Brown-Out Reset Timing
BOR
R3
R2
Reset
(Internal)
2014 年 01 月 28 日
1041
Texas Instruments-预告信息
Electrical Characteristics
图 21-11. External Reset Timing (RST)
R4
RST
(Package Pin)
R5
R2
Reset
(Internal)
图 21-12. Software Reset Timing
Software
Reset
R6
Reset
(Internal)
图 21-13. Watchdog Reset Timing
Watchdog
Reset
R7
Reset
(Internal)
图 21-14. MOSC Failure Reset Timing
MOSC Fail
Reset
R8
Reset
(Internal)
2014 年 01 月 28 日
1042
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21.8
On-Chip Low Drop-Out (LDO) Regulator
表 21-12. LDO Regulator Characteristics
Parameter
Parameter Name
Min
Nom
Max
Unit
CLDO
External filter capacitor size for internal power
a
supply
2.5
-
4.0
µF
ESR
Filter capacitor equivalent series resistance
10
-
100
mΩ
ESL
Filter capacitor equivalent series inductance
VLDO
LDO output voltage
IINRUSH
Inrush current
-
-
0.5
nH
1.08
1.2
1.32
V
50
-
250
mA
a. The capacitor should be connected as close as possible to pin 56.
2014 年 01 月 28 日
1043
Texas Instruments-预告信息
Electrical Characteristics
21.9
Clocks
The following sections provide specifications on the various clock sources and mode.
21.9.1
PLL Specifications
The following tables provide specifications for using the PLL.
表 21-13. Phase Locked Loop (PLL) Characteristics
Parameter
FREF_XTAL
Parameter Name
Min
Nom
Max
Unit
-
25
MHz
a
Crystal reference
5
a
referencea
FREF_EXT
External clock
5
-
25
MHz
FPLL
PLL frequency
-
400
-
MHz
PLL lock time, enabling the PLL
-
-
512 * (N+1)
PLL lock time, changing the XTAL field in the
RCC/RCC2 register or changing the OSCSRC
between MOSC and PIOSC
-
-
128 * (N+1)
TREADY
b
c
reference clocks
d
c
reference clocks
d
a. If the PLL is not used, the minimum input frequency can be 4 MHz.
b. PLL frequency is automatically calculated by the hardware based on the XTAL field of the RCC register. The PLL frequency
that is set by the hardware can be calculated using the values in the PLLFREQ0 and PLLFREQ1 registers.
c. N is the value in the N field in the PLLFREQ1 register.
d. A reference clock is the clock period of the crystal being used, which can be MOSC or PIOSC. For example, a 16-MHz
crystal connected to MOSC yields a reference clock of 62.5 ns.
表21-14(1044页) shows the actual frequency of the PLL based on the crystal frequency used
(defined by the XTAL field in the RCC register).
表 21-14. Actual PLL Frequency
XTAL
Crystal
Frequency
(MHz)
MINT
MFRAC
Q
N
PLL Multiplier
PLL
Frequency
(MHz)
Error
0x09
5.0
0x50
0x0
0x0
0x0
80
400
-
0x0A
5.12
0x9C
0x100
0x0
0x1
156.25
400
-
0x0B
6.0
0xC8
0x0
0x0
0x2
200
400
-
0x0C
6.144
0xC3
0x140
0x0
0x2
195.3125
400
-
0x0D
7.3728
0xA2
0x30A
0x0
0x2
162.7598
399.9984
0.0004%
0x0E
8.0
0x32
0x0
0x0
0x0
50
400
-
0x0F
8.192
0xC3
0x140
0x0
0x3
195.3125
400
-
0x10
10.0
0x50
0x0
0x0
0x1
80
400
-
0x11
12.0
0xC8
0x0
0x0
0x5
200
400
-
0x12
12.288
0xC3
0x140
0x0
0x5
195.3125
400
-
0x13
13.56
0xB0
0x3F6
0x0
0x5
176.9902
399.9979
0.0005%
0x14
14.318
0xC3
0x238
0x0
0x6
195.5547
399.9982
0.0005%
0x15
16.0
0x32
0x0
0x0
0x1
50
400
-
0x16
16.384
0xC3
0x140
0x0
0x7
195.3125
400
-
0x17
18
0xC8
0x0
0x0
0x8
200
400
-
0x18
20
0x50
0x0
0x0
0x3
80
400
-
0x19
24
0x32
0x0
0x0
0x2
50
400
-
2014 年 01 月 28 日
1044
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 21-14. Actual PLL Frequency(续)
21.9.2
XTAL
Crystal
Frequency
(MHz)
MINT
MFRAC
Q
N
PLL Multiplier
PLL
Frequency
(MHz)
Error
0x1A
25
0x50
0x0
0x0
0x4
80
400
-
PIOSC Specifications
表 21-15. PIOSC Clock Characteristics
Parameter
a
FPIOS
Parameter Name
Min
Nom
Max
Unit
-
-
±3%
-
Internal 16-MHz precision oscillator frequency variance
(factory calibrated at 25 °C C and 3.3 V) across the
specified voltage and temperature range
a. This parameter value remains valid if recalibration occurs.
21.9.3
Low-Frequency Internal Oscillator (LFIOSC) Specifications
表 21-16. Low-Frequency internal Oscillator Characteristics
Parameter
FLFIOSC
21.9.4
Parameter Name
Min
Nom
Max
Unit
10
33
90
KHz
Low-frequency internal oscillator (LFIOSC)
frequency
Hibernation Clock Source Specifications
表 21-17. Hibernation Oscillator Input Characteristics
Parameter
Parameter Name
FHIBLFIOSC
Hibernation low frequency internal oscillator (HIB
LFIOSC) frequency
a
C1, C2
External load capacitance on XOSC0, XOSC1 pins
CPKG
Device package stray shunt capacitance
CPCB
a
a
PCB stray shunt capacitance
a
C0
Crystal shunt capacitance
CSHUNT
a
Total shunt capacitance
b
Crystal effective series resistance, OSCDRV = 0
ESR
DL
TSTART
e
VIH
e
VIL
e
VHYS
b
Min
Nom
Max
Unit
10
33
90
KHz
12
-
24
pF
-
0.5
-
pF
-
0.5
-
pF
-
3
-
pF
-
-
4
pF
-
-
50
kΩ
Crystal effective series resistance, OSCDRV = 1
-
-
75
kΩ
Oscillator output drive level
-
-
0.25
µW
-
600
1500
ms
CMOS input high level, when using an external oscillator
with Supply > 3.3 V
2.64
-
-
V
CMOS input high level, when using an external oscillator
with 1.8 V ≤ Supply ≤ 3.3 V
0.8 *
Supply
-
-
V
CMOS input low level, when using an external oscillator
with 1.8 V ≤ Supply ≤ 3.63 V
-
-
0.2 * Supply
V
CMOS input buffer hysteresis, when using an external
oscillator with 1.8 V ≤ Supply ≤ 3.63 V
360
960
1390
mV
30
-
70
%
c
Oscillator startup time, when using a crystal
DCHIBOSC_EXT External clock reference duty cycle
d
a. See information below table.
b. Crystal ESR specified by crystal manufacturer.
2014 年 01 月 28 日
1045
Texas Instruments-预告信息
Electrical Characteristics
c. Oscillator startup time is specified from the time the oscillator is enabled to when it reaches a stable point of oscillation
such that the internal clock is valid.
d. Only valid for recommended supply conditions. Measured with OSCDRV bit set (high drive strength enabled, 24 pF).
e. Specification is relative to the larger of VDD or VBAT.
The load capacitors added on the board, C1 and C2, should be chosen such that the following
equation is satisfied (see 表21-17(1045页) for typical values).
■ CL = load capacitance specified by crystal manufacturer
■ CL = (C1*C2)/(C1+C2) + CPKG + CPCB
■ CSHUNT = CPKG + CPCB + C0 (total shunt capacitance seen across XOSC0, XOSC1)
■ CPKG, CPCB as measured across the XOSC0, XOSC1 pins excluding the crystal
■ Clear the OSCDRV bit in the Hibernation Control (HIBCTL) register for C1,2 ≤ 18 pF; set the
OSCDRV bit for C1,2 > 18 pF.
■ C0 = Shunt capacitance of crystal specified by the crystal manufacturer
21.9.5
Main Oscillator Specifications
表 21-18. Main Oscillator Input Characteristics
Parameter
Parameter Name
Min
FMOSC
Parallel resonance frequency
C1, C2
External load capacitance on OSC0, OSC1 pins
CPKG
CPCB
C0
CSHUNT
b
b
Device package stray shunt capacitance
b
PCB stray shunt capacitance
bc
Crystal shunt capacitance
b
Total shunt capacitance
MHz
pF
0.5
-
pF
-
0.5
-
pF
-
4
-
pF
-
4
pF
-
-
300
Ω
dc
-
-
200
Ω
dc
-
-
130
Ω
dc
-
-
120
Ω
dc
-
-
100
Ω
dc
-
-
50
Ω
-
OSCPWR
-
mW
Crystal effective series resistance, 12 MHz
Crystal effective series resistance, 16 MHz
Crystal effective series resistance, 25 MHz
e
Oscillator output drive level
f
Oscillator startup time, when using a crystal
-
-
18
ms
0.65 * VDD
-
VDD
V
CMOS input low level, when using an external oscillator
GND
-
0.35 * VDD
V
CMOS input buffer hysteresis, when using an external
oscillator
150
-
-
mV
External clock reference duty cycle
45
-
55
%
VIH
CMOS input high level, when using an external
oscillator
VIL
VHYS
DCOSC_EXT
25
24
-
Crystal effective series resistance, 8 MHz
TSTART
-
4
-
Crystal effective series resistance, 6 MHz
DL
Unit
12
Nom
dc
Crystal effective series resistance, 4 MHz
ESR
Max
a
a. 5 MHz is the minimum when using the PLL.
b. See information below table.
c. Crystal vendors can be contacted to confirm these specifications are met for a specific crystal part number if the vendors
generic crystal datasheet show limits outside of these specifications.
2014 年 01 月 28 日
1046
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
d. Crystal ESR specified by crystal manufacturer.
e. OSCPWR = (2 * pi * FP * CL * 2.5)2 * ESR / 2. An estimation of the typical power delivered to the crystal is based on the
CL, FP and ESR parameters of the crystal in the circuit as calculated by the OSCPWR equation. Ensure that the value
calculated for OSCPWR does not exceed the crystal's drive-level maximum.
f. Oscillator startup time is specified from the time the oscillator is enabled to when it reaches a stable point of oscillation
such that the internal clock is valid.
The load capacitors added on the board, C1 and C2, should be chosen such that the following
equation is satisfied (see 表21-18(1046页) for typical values and 表21-19(1047页) for detailed
crystal parameter information).
■ CL = load capacitance specified by crystal manufacturer
■ CL = (C1*C2)/(C1+C2) + CSHUNT
■ CSHUNT = C0 + CPKG + CPCB (total shunt capacitance seen across OSC0, OSC1 crystal inputs)
■ CPKG, CPCB = the mutual caps as measured across the OSC0,OSC1 pins excluding the crystal.
■ C0 = Shunt capacitance of crystal specified by the crystal manufacturer
表21-19(1047页) lists part numbers of crystals that have been simulated and confirmed to operate
within the specifications in 表21-18(1046页). Other crystals that have nearly identical crystal
parameters can be expected to work as well.
In the table below, the crystal parameters labeled C0, C1 and L1 are values that are obtained from
the crystal manufacturer. These numbers are usually a result of testing a relevant batch of crystals
on a network analyzer. The parameters labeled ESR, DL and CL are maximum numbers usually
available in the data sheet for a crystal.
The table also includes three columns of Recommended Component Values. These values apply
to system board components. C1 and C2 are the values in pico Farads of the load capacitors that
should be put on each leg of the crystal pins to ensure oscillation at the correct frequency. Rs is the
value in kΩ of a resistor that is placed in series with the crystal between the OSC1 pin and the crystal
pin. Rs dissipates some of the power so the Max Dl crystal parameter is not exceeded. Only use
the recommended C1, C2, and Rs values with the associated crystal part. The values in the table
were used in the simulation to ensure crystal startup and to determine the worst case drive level
(WC Dl). The value in the WC Dl column should not be greater than the Max Dl Crystal parameter.
The WC Dl value can be used to determine if a crystal with similar parameter values but a lower
Max Dl value is acceptable.
表 21-19. Crystal Parameters
Max Dl (µW)
CL (pf)
C1 (pF)
C2 (pF)
Rs (kΩ)
1.00 2.70 598.10
300
500
8
12
12
0
132
2-SMD
10 x 4.5
4
FQ1045A
1.18 4.05 396.00
150
500
10
14
14
0
103
WC Dl (μW)
ESR (Ω)
STD-CJL-5
L1 (mH)
4
C1 (fF)
8 x 4.5
C0 (pF)
NX8045GB
PKG Size
Crystal Spec
Max Values
Freq (MHz)
Typical Values
Recommended
Component
Values
(mm x mm)
NDK NX8045GB-
Holder
MFG
MFG Part#
Crystal Parameters
4.000M-STDCJL-5
FOX FQ1045A-4
2014 年 01 月 28 日
1047
Texas Instruments-预告信息
Electrical Characteristics
表 21-19. Crystal Parameters(续)
Crystal Parameters
Max Dl (µW)
CL (pf)
C1 (pF)
C2 (pF)
Rs (kΩ)
1.00 2.80 356.50
250
500
8
12
12
0
164
NX8045GB
8 x 4.5
6
STD-CJL-4
1.30 4.10 173.20
250
500
8
12
12
0
214
FOX FQ1045A-6
2-SMD
10 x 4.5
6
FQ1045A
1.37 6.26
112.30
150
500
10
14
14
0
209
NDK NX8045GB-
NX8045GB
8 x 4.5
8
STD-CSF-6
1.00 2.80 139.30
200
500
8
12
12
0
277
4-SMD
7x5
8
FQ7050
1.95 6.69
59.10
80
500
10
14
14
0
217
HC49/US
12.5 x
4.85
8
CSM-4A
1.82 4.90
85.70
80
500
16
24
24
0
298
NX3225GA
3.2 x 2.5
12 STD-CRG-2 0.70 2.20
81.00
100
200
8
12
12
2.5
147
NX5032GA
5 x 3.2
12 LN-CD-1
0.93 3.12
56.40
120
500
8
12
12
0
362
12 FQ5032
C1 (fF)
Holder
MFG
WC Dl (μW)
ESR (Ω)
STD-CJL-4
L1 (mH)
5
C0 (pF)
Crystal Spec
8 x 4.5
NDK NX8045GB-
PKG Size
NX8045GB
MFG Part#
Freq (MHz)
Max Values
(mm x mm)
Typical Values
Recommended
Component
Values
5.000M-STDCSF-4
NDK NX8045GB6.000M-STDCSF-4
8.000M-STDCSF-6
FOX FQ7050B-8
ECS ECS-80-16-28A-TR
NDK NX3225GA12.000MHZSTD-CRG-2
NDK NX5032GA12.000MHZLN-CD-1
FOX FQ5032B-12
4-SMD
5 x 3.2
NDK NX3225GA-
NX3225GA
3.2 x 2.5
1.16 4.16
42.30
80
500
10
14
14
0
370
16 STD-CRG-2 1.00 2.90
33.90
80
200
8
12
12
2
188
NX5032GA
5 x 3.2
16 LN-CD-1
1.02 3.82
25.90
120
500
8
10
10
0
437
ECX-42
4 x 2.5
16 ECX-42
1.47 3.90
25.84
60
300
9
12
12
0.5
289
NX3225GA
3.2 x 2.5
25 STD-CRG-2 1.10 4.70
8.70
50
200
8
12
12
2
181
HC3225/4
3.2 x 2.5
25 HC3225
1.58 5.01
8.34
50
500
12
16
16
1
331
4-SMD
5 x 3.2
25 FQ5032
1.69 7.92
5.13
50
500
10
14
14
0.5
433
16.000MHZSTD-CRG-2
NDK NX5032GA16.000MHZLN-CD-1
ECS ECS-160-9-42-CKM-TR
NDK NX3225GA25.000MHZSTD-CRG-2
AURIS Q-25.000MHC3225/4F-30-30-E-12-TR
FOX FQ5032B-25
表 21-20. Supported MOSC Crystal Frequencies
Value
0x00-0x5
Crystal Frequency (MHz) Not Using the PLL
Crystal Frequency (MHz) Using the PLL
reserved
2014 年 01 月 28 日
1048
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 21-20. Supported MOSC Crystal Frequencies(续)
Value
21.9.6
Crystal Frequency (MHz) Not Using the PLL
Crystal Frequency (MHz) Using the PLL
0x06
4 MHz
reserved
0x07
4.096 MHz
reserved
0x08
4.9152 MHz
reserved
0x09
5 MHz
0x0A
5.12 MHz
0x0B
6 MHz
0x0C
6.144 MHz
0x0D
7.3728 MHz
0x0E
8 MHz
0x0F
8.192 MHz
0x10
10.0 MHz
0x11
12.0 MHz
0x12
12.288 MHz
0x13
13.56 MHz
0x14
14.31818 MHz
0x15
16.0 MHz (reset value)
0x16
16.384 MHz
0x17
18.0 MHz
0x18
20.0 MHz
0x19
24.0 MHz
0x1A
25.0 MHz
System Clock Specification with ADC Operation
表 21-21. System Clock Characteristics with ADC Operation
Parameter
Fsysadc
Parameter Name
System clock frequency when the ADC
a
module is operating (when PLL is bypassed).
Min
Nom
Max
Unit
15.9952
16
16.0048
MHz
a. Clock frequency (plus jitter) must be stable inside specified range. ADC can be clocked from the PLL, directly from an
external clock source, or from the PIOSC, as long as frequency absolute precision is inside specified range.
2014 年 01 月 28 日
1049
Texas Instruments-预告信息
Electrical Characteristics
21.10
Sleep Modes
a
表 21-22. Sleep Modes AC Characteristics
Parameter
No
Parameter
Min
Nom
Max
Unit
Time to wake from interrupt in sleep mode
-
-
2
system
clocks
Time to wake from interrupt in deep-sleep mode,
using PIOSC for both Run mode and Deep-sleep
bc
mode
-
1.25
-
µs
Time to wake from interrupt in deep-sleep mode,
using PIOSC for Run mode and LFIOSC for
bc
Deep-sleep mode
-
350
-
µs
TWAKE_PLL_DS Time to wake from interrupt in deep-sleep mode
b
when using the PLL
-
-
TREADY
ms
TWAKE_S
D1
TWAKE_DS
D2
Parameter Name
b
a. Values in this table assume the LFIOSC is the clock source during sleep or deep-sleep mode.
b. Specified from registering the interrupt to first instruction.
c. If the main oscillator is used for run mode, add the main oscillator startup time, TSTART.
ab
表 21-23. Time to Wake with Respect to Low-Power Modes
Mode
Sleep/Deep-Sleep
Run Mode
Mode
FLASHPM SRAMPM
Clock/Frequency
Clock/Frequency
0x0
Sleep
MOSC, PLL on 80MHz
MOSC, PLL on 80MHz
0x2
Time to Wake
Unit
Min
Max
0x0
0.28
0.30
µs
0x1
33.57
35.00
µs
0x3
33.75
35.05
µs
0x0
105.02
109.23
µs
0x1
137.85
143.93
µs
0x3
138.06
143.86
µs
2014 年 01 月 28 日
1050
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 21-23. Time to Wake with Respect to Low-Power Modes(续)
Mode
Sleep/Deep-Sleep
Run Mode
Mode
FLASHPM SRAMPM
Clock/Frequency
Clock/Frequency
0x0
MOSC, PLL on 80MHz
PIOSC - 16MHz
0x2
0x0
PIOSC - 16MHz
PIOSC - 16MHz
0x2
Deep-Sleep
0x0
PIOSC - 16MHz
LFIOSC, PIOSC
c
off - 30kHz
0x2
0x0
MOSC, PLL on 80MHz
LFIOSC, PIOSC
c
off - 30kHz
0x2
Time to Wake
Unit
Min
Max
0x0
2.47
2.60
µs
0x1
35.31
36.35
µs
0x3
35.40
36.76
µs
0x0
107.05
111.54
µs
0x1
139.34
145.64
µs
0x3
140.41
145.53
µs
0x0
2.47
2.61
µs
0x1
35.25
36.65
µs
0x3
35.38
36.79
µs
0x0
107.43
111.52
µs
0x1
139.83
145.85
µs
0x3
139.35
145.54
µs
0x0
415.06
728.38
µs
0x1
436.60
740.88
µs
0x3
433.80
755.32
µs
0x0
503.73
812.82
µs
0x1
537.72
846.23
µs
0x3
536.10
839.25
µs
0x0
18.95
19.55
ms
0x1
18.94
19.54
ms
0x3
18.95
19.53
ms
0x0
18.95
19.54
ms
0x1
18.94
19.53
ms
0x3
18.95
19.54
ms
a. Time from wake event to first instruction of code execution.
b. If the LDO voltage is adjusted, it will take an extra 4 us to wake up from Sleep or Deep-sleep mode.
c. PIOSC is turned off by setting the PIOSCPD bit in the DSLPCLKCFG register.
2014 年 01 月 28 日
1051
Texas Instruments-预告信息
Electrical Characteristics
21.11
Hibernation Module
The Hibernation module requires special system implementation considerations because it is intended
to power down all other sections of its host device, refer to “休眠模块”(429页).
表 21-24. Hibernation Module Battery Characteristics
Parameter
VBAT
b
VBATRMP
VLOWBAT
Parameter Name
Min
Nominal
Max
Battery supply voltage
1.8
3.0
3.6
V
0
-
0.7
V/µs
Low battery detect voltage, VBATSEL=0x0
1.8
1.9
2.0
V
Low battery detect voltage, VBATSEL=0x1
2.0
2.1
2.2
V
Low battery detect voltage, VBATSEL=0x2
2.2
2.3
2.4
V
Low battery detect voltage, VBATSEL=0x3
2.4
2.5
2.6
V
VBAT battery supply voltage ramp time
Unit
a
a. To ensure proper functionality, any voltage input within the range of 3.6 V < VBAT ≤ 4 V must be connected through a
diode.
b. For recommended VBAT RC circuit values, refer to the diagrams located in“休眠时钟源”(431页).
表 21-25. Hibernation Module AC Characteristics
Parameter
No
Parameter
H1
TWAKE
H2
TWAKE_TO_HIB
H3
H4
Parameter Name
Min
Nom
Max
Unit
100
-
-
ns
WAKE assert to HIB desassert
(wake up time)
-
-
1
hibernation
clock period
TVDD_RAMP
VDD ramp to 3.0 V
-
Depends on
characteristics of
power supply
-
μs
TVDD_CODE
VDD at 3.0 V to internal POR
deassert; first instruction executes
-
-
500
μs
WAKE assertion time
图 21-15. Hibernation Module Timing
H1
WAKE
H2
HIB
H3
VDD
H4
POR
2014 年 01 月 28 日
1052
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21.12
Flash Memory and EEPROM
表 21-26. Flash Memory Characteristics
Parameter
PECYC
TRET
TPROG64
TERASE
TME
Parameter Name
a
Number of program/erase cycles before failure
Min
Nom
Max
Unit
100,000
-
-
cycles
Data retention, -40˚C to +85˚C
20
-
-
years
Program time for double-word-aligned 64 bits of
b
data
30
50
300
µs
Page erase time, 1.
b. If programming fewer than 64 bits of data, the programming time is the same. For example, if only 32 bits of data need
to be programmed, the other 32 bits are masked off.
a
表 21-27. EEPROM Characteristics
Parameter Parameter Name
b
EPECYC
ETRET
ETPROG
ETREAD
ETME
Min
Number of mass program/erase cycles of a single word before 500,000
c
failure
Data retention, -40˚C to +85˚C
Nom
Max
Unit
-
-
cycles
20
-
-
years
Program time for 32 bits of data - space available
-
110
600
μs
Program time for 32 bits of data - requires a copy to the copy
buffer, copy buffer has space and less than 10% of EEPROM
endurance used
-
30
-
ms
Program time for 32 bits of data - requires a copy to the copy
buffer, copy buffer has space and greater than 90% of
EEPROM endurance used
-
-
900
ms
Program time for 32 bits of data - requires a copy to the copy
buffer, copy buffer requires an erase and less than 10% of
EEPROM endurance used
-
60
-
ms
Program time for 32 bits of data - requires a copy to the copy
buffer, copy buffer requires an erase and greater than 90% of
EEPROM endurance used
-
-
1800
ms
Read access time
-
4
-
system clocks
Mass erase time, 0 -> 1.
2014 年 01 月 28 日
1053
Texas Instruments-预告信息
Electrical Characteristics
21.13
Input/Output Pin Characteristics
21.13.1
GPIO Module Characteristics
注意:
All GPIO signals are 5-V tolerant when configured as inputs except for PD4, PD5, PB0 and
PB1, which are limited to 3.6 V. See “信号描述”(575页) for more information on GPIO
configuration.
注意:
GPIO pads are tolerant to 5-V digital inputs without creating reliability issues, as long as
the supply voltage, VDD, is present. There are limitations to how long a 5-V input can be
present on any given I/O pad if VDD is not present. Not meeting these conditions will affect
reliability of the device and affect the GPIO characteristics specifications.
■ If the voltage applied to a GPIO pad is in the high voltage range (5V +/- 10%) while VDD
is not present, such condition should be allowed for a maximum of 10,000 hours at 27°C
or 5,000 hours at 85°C, over the lifetime of the device.
■ If the voltage applied to a GPIO pad is in the normal voltage range (3.3V +/- 10%) while
VDD is not present or if the voltage applied is in the high voltage range (5V +/- 10%)
while VDD is present, there are no constraints on the lifetime of the device.
a
表 21-28. GPIO Module Characteristics
Parameter Parameter Name
Min
Nom
Max
Unit
RGPIOPU
GPIO internal pull-up resistor
13
20
30
kΩ
RGPIOPD
GPIO internal pull-down resistor
13
20
35
kΩ
GPIO input leakage current, 0 V ≤ VIN ≤ VDD GPIO
b
pins
-
-
1.0
µA
GPIO input leakage current, 0 V < VIN ≤ VDD, GPIO
pins configured as ADC or analog comparator inputs
-
-
2.0
µA
14.2
16.1
ns
11.9
15.5
ns
8.1
11.2
ns
ILKG+
c
GPIO rise time, 2-mA drive
c
TGPIOR
GPIO rise time, 4-mA drive
-
c
GPIO rise time, 8-mA drive
c
GPIO rise time, 8-mA drive with slew rate control
d
GPIO fall time, 2-mA drive
d
TGPIOF
GPIO fall time, 4-mA drive
-
d
GPIO fall time, 8-mA drive
d
GPIO fall time, 8-mA drive with slew rate control
9.5
11.8
ns
25.2
29.4
ns
13.3
16.8
ns
8.6
11.2
ns
11.3
12.9
ns
a. VDD must be within the range specified in 表21-5(1031页).
b. The leakage current is measured with VIN applied to the corresponding pin(s). The leakage of digital port pins is measured
individually. The port pin is configured as an input and the pullup/pulldown resistor is disabled.
c. Time measured from 20% to 80% of VDD.
d. Time measured from 80% to 20% of VDD.
21.13.2
Types of I/O Pins and ESD Protection
With respect to ESD and leakage current, three types of I/O pins exist on the device: Power I/O
pins, I/O pins with fail-safe ESD protection (GPIOs other than PD4 and PD5 , and XOSCn pins) and
I/O pins with non-fail-safe ESD protection (any non-power, non-GPIO (other than PD4 and PD5)
and non-XOSCn pins). This section covers I/O pins with fail-safe ESD protection and I/O pins with
2014 年 01 月 28 日
1054
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
non-fail-safe ESD protection. Power I/O pin voltage and current limitations are specified in
“Recommended Operating Conditions”(1031页).
21.13.2.1 Fail-Safe Pins
GPIOs other than PD4 and PD5, inputs for the Hibernate 32-kHz oscillator (XOSCn), and Hibernate
inputs use ESD protection as shown in 图21-16(1055页).
An unpowered device cannot be parasitically powered through any of these pins. This ESD protection
prevents a direct path between these I/O pads and any power supply rails in the device. GPIO/XOSCn
pad input voltages should be kept inside the maximum ratings specified in 表21-1(1029页) to ensure
current leakage and current injections are within acceptable range. Current leakages and current
injection for these pins are specified in 表21-28(1054页).
图21-16(1055页) shows a diagram of the ESD protection on fail-safe pins.
Some GPIOs when configured as inputs require a strong pull-up resistor to maintain a threshold
above the minimum value of VIH during power-on. See 表21-30(1056页).
图 21-16. ESD Protection on Fail-Safe Pins
VDD
I/O Pad
ESD
Clamp
GND
a
表 21-29. Pad Voltage/Current Characteristics for Fail-Safe Pins
Parameter
Parameter Name
bb
ILKG+
GPIO input leakage current, VDD< VIN ≤ 4.5 V
bc
GPIO input leakage current, 4.5 V < VIN ≤ 5.5 V
bd
ILKGIINJ+
IINJ-
GPIO input leakage current, VIN < -0.3 V
b
GPIO input leakage current, -0.3 V ≤ VIN < 0 V
fg
DC injection current, VDD < VIN ≤ 5.5 V
g
DC injection current, VIN ≤ 0 V
Min
Nom
Max
Unit
-
-
700
µA
-
-
100
µA
-
-
e
-
µA
-
-
10
µA
-
-
ILKG+
µA
-
-
0.5
mA
a. VIN must be within the range specified in 表21-1(1029页).
b. To protect internal circuitry from over-voltage, the GPIOs have an internal voltage clamp that limits internal swings to VDD
without affecting swing at the I/O pad. This internal clamp starts turning on while VDD < VIN < 4.5 V and causes a somewhat
larger (but bounded) current draw. To save power, static input voltages between VDD and 4.5 V should be avoided.
c. Leakage current above maximum voltage (VIN = 5.5V) is not guaranteed, this condition is not allowed and can result in
permanent damage to the device.
d. Leakage outside the minimum range (-0.3V) is unbounded and must be limited to IINJ- using an external resistor.
e. In this case, ILKG- is unbounded and must be limited to IINJ- using an external resistor.
f. Current injection is internally bounded for GPIOs, and maximum current into the pin is given by ILKG+ for VDD < VIN < 5.5
V.
2014 年 01 月 28 日
1055
Texas Instruments-预告信息
Electrical Characteristics
g. If the I/O pad is not voltage limited, it should be current limited (to IINJ+ and IINJ-) if there is any possibility of the pad
voltage exceeding the VIO limits (including transient behavior during supply ramp up, or at any time when the part is
unpowered).
表 21-30. Fail-Safe GPIOs that Require an External Pull-up
GPIO
Pin
Pull-Up Resistor Value
Unit
PB0
45
1k ≤ R ≤ 10k
Ω
PB1
46
1k ≤ R ≤ 10k
Ω
PE3
6
1k ≤ R ≤ 10k
Ω
21.13.2.2 Non-Fail-Safe Pins
The Main Oscillator (MOSC) crystal connection pins and GPIO pins PD4 and PD5 have ESD
protection as shown in 图21-17(1056页). These pins have a potential path between the I/O pad
and an internal power rail if either one of the ESD diodes is accidentally forward biased. The voltage
and current of these pins should follow the specifications in 表21-31(1056页) to prevent potential
damage to the device. In addition to the specifications outlined in 表21-31(1056页), it is
recommended that the ADC external reference specifications in 表21-32(1058页) be adhered to in
order to prevent any gain error.
图21-17(1056页) shows a diagram of the ESD protection on non-fail-safe pins.
图 21-17. ESD Protection on Non-Fail-Safe Pins
VDD
I/O Pad
GND
abcd
表 21-31. Non-Fail-Safe I/O Pad Voltage/Current Characteristics
Parameter
VIO
Parameter Name
IO pad voltage limits
Min
Nom
Max
Unit
-0.3
VDD
VDD+0.3
V
ef
-
-
10
µA
ef
-
-
10
µA
-
-
2
mA
-
-
-0.5
mA
ILKG+
Positive IO leakage for VIO Max
ILKG-
Negative IO leakage for VIO Min
g
IINJ+
Max positive injection
IINJ-
Max negative injection if not voltage protected
g
a. VIN must be within the range specified in 表21-1(1029页). Leakage current outside of this maximum voltage is not
guaranteed and can result in permanent damage of the device.
b. VDD must be within the range specified in 表21-5(1031页).
c. To avoid potential damage to the part, either the voltage or current on the ESD-protected, non-Power, non-Hibernate/XOSC
input/outputs should be limited externally as shown in this table.
2014 年 01 月 28 日
1056
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
d. I/O pads should be protected if at any point the IO voltage has a possibility of going outside the limits shown in the table.
If the part is unpowered, the IO pad Voltage or Current must be limited (as shown in this table) to avoid powering the
part through the IO pad, causing potential irreversible damage.
e. This value applies to an I/O pin that is voltage-protected within the Min and Max VIO ratings. Leakage outside the specified
voltage range is unbounded and must be limited to IINJ- using an external resistor.
f. MIN and MAX leakage current for the case when the I/O is voltage-protected to VIO Min or VIO Max.
g. If an I/O pin is not voltage-limited, it should be current-limited (to IINJ+ and IINJ-) if there is any possibility of the pad voltage
exceeding the VIO limits (including transient behavior during supply ramp up, or at any time when the part is unpowered).
2014 年 01 月 28 日
1057
Texas Instruments-预告信息
Electrical Characteristics
21.14
Analog-to-Digital Converter (ADC)
ab
表 21-32. ADC Electrical Characteristics
Parameter
Parameter Name
Min
Nom
Max
Unit
POWER SUPPLY REQUIREMENTS
VDDA
ADC supply voltage
2.97
3.3
3.63
V
GNDA
ADC ground voltage
-
0
-
V
Voltage reference decoupling capacitance
-
1.0 // 0.01
-
μF
Single-ended, full- scale analog input voltage,
de
internal reference
0
-
VDDA
V
-VDDA
-
VDDA
V
-
-
(VREFP +
VREFN) / 2
mV
-
-
2.0
µA
-
-
2.5
kΩ
-
-
10
pF
-
-
500
Ω
-
16
VDDA / GNDA VOLTAGE REFERENCE
CREF
c
ANALOG INPUT
VADCIN
VINCM
Differential, full-scale analog input voltage,
df
internal reference
g
Input common mode voltage, differential mode
± 25
IL
RADC
CADC
RS
h
ADC input leakage current
h
ADC equivalent input resistance
h
ADC equivalent input capacitance
h
Analog source resistance
SAMPLING DYNAMICS
i
FADC
ADC conversion clock frequency
FCONV
ADC conversion rate
TS
-
MHz
1
ADC sample time
-
250
-
2
j
TC
ADC conversion time
TLT
Latency from trigger to start of conversion
MSPS
-
ns
-
ADC clocks
LSB
1
µs
SYSTEM PERFORMANCE when using internal reference
N
Resolution
12
bits
INL
Integral nonlinearity error, over full input range
-
±1.5
±3.0
DNL
Differential nonlinearity error, over full input
range
-
±0.8
+2.0/-1.0
LSB
Offset error
-
±5.0
±15.0
LSB
-
±10.0
±30.0
LSB
-
±10.0
±30.0
LSB
EO
l
EG
Gain error
ET
Total unadjusted error, over full input range
m
k
DYNAMIC CHARACTERISTICS
no
SNRD
Signal-to-noise-ratio, Differential input, VADCIN:
p
-20dB FS, 1KHz
70
72
-
dB
SDRD
Signal-to-distortion ratio, Differential input,
pqr
VADCIN: -3dB FS, 1KHz
72
75
-
dB
SNDRD
Signal-to-Noise+Distortion ratio, Differential
pst
input, VADCIN: -3dB FS, 1KHz
68
70
-
dB
Signal-to-noise-ratio, Single-ended input,
VADCIN: -20dB FS, 1KHz
60
65
-
dB
SNRS
u
2014 年 01 月 28 日
1058
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 21-32. ADC Electrical Characteristics(续)
Parameter
Parameter Name
Min
Nom
Max
Unit
SDRS
Signal-to-distortion ratio, Single-ended input,
qr
VADCIN: -3dB FS, 1KHz
70
72
-
dB
SNDRS
Signal-to-Noise+Distortion ratio, Single-ended
stu
input, VADCIN: -3dB FS, 1KHz
60
63
-
dB
TEMPERATURE SENSOR
VTSENS
Temperature sensor voltage, junction
temperature 25 °C
-
1.633
-
V
STSENS
Temperature sensor slope
-
-13.3
-
mV/°C
-
-
±5
°C
ETSENS
v
Temperature sensor accuracy
a. VREF+= 3.3V, FADC=16 MHz unless otherwise noted.
b. Best design practices suggest that static or quiet digital I/O signals be configured adjacent to sensitive analog inputs to
reduce capacitive coupling and cross talk. Analog signals configured adjacent to ADC input channels should meet the
same source resistance and bandwidth limitations that apply to the ADC input signals.
c. Two capacitors in parallel.
d. Internal reference is connected directly between VDDA and GNDA (VREFi = VDDA - GNDA). In this mode, EO, EG, ET, and
dynamic specifications are adversely affected due to internal voltage drop and noise on VDDA and GNDA.
e. VADCIN = VINP - VINN
f. With signal common mode as VDDA/2.
g. This parameter is defined as the average of the differential inputs.
h. As shown in 图21-18(1060页), RADC is the total equivalent resistance in the input line all the way up to the sampling node
at the input of the ADC.
i. See “System Clock Specification with ADC Operation”(1049页) for full ADC clock frequency specification.
j. ADC conversion time (Tc) includes the ADC sample time (Ts).
k. 12-bit DNL
l. Gain error is measured at max code after compensating for offset. Gain error is equivalent to "Full Scale Error." It can be
given in % of slope error, or in LSB, as done here.
m. Total Unadjusted Error is the maximum error at any one code versus the ideal ADC curve. It includes all other errors
(offset error, gain error and INL) at any given ADC code.
n. A low-noise environment is assumed in order to obtain values close to spec. The board must have good ground isolation
between analog and digital grounds and a clean reference voltage. The input signal must be band-limited to Nyquist
bandwidth. No anti-aliasing filter is provided internally.
o. ADC dynamic characteristics are measured using low-noise board design, with low-noise reference voltage ( < -74dB
noise level in signal BW) and low-noise analog supply voltage. Board noise and ground bouncing couple into the ADC
and affect dynamic characteristics. Clean external reference must be used to achieve shown specs.
p. Differential signal with correct common mode, applied between two ADC inputs.
q. SDR = -THD in dB.
r. For higher frequency inputs, degradation in SDR should be expected.
s. SNDR = S/(N+D) = SINAD (in dB)
t. Effective number of bits (ENOB) can be calculated from SNDR: ENOB = (SNDR - 1.76) / 6.02.
u. Single-ended inputs are more sensitive to board and trace noise than differential inputs; SNR and SNDR measurements
on single-ended inputs are highly dependent on how clean the test set-up is. If the input signal is not well-isolated on
the board, higher noise than specified could potentially be seen at the ADC output.
v. Note that this parameter does not include ADC error.
2014 年 01 月 28 日
1059
Texas Instruments-预告信息
Electrical Characteristics
图 21-18. ADC Input Equivalency Diagram
Tiva™ Microcontroller
Zs
Rs
VS
ESD clamps
to GND only
Input PAD
Equivalent
Circuit
ZADC
RADC
Pin
Cs
VADCIN
5V ESD
Clamp
12‐bit
SAR ADC
Converter
12‐bit
Word
IL
Pin
Input PAD
Equivalent
Circuit
Pin
Input PAD
Equivalent
Circuit
RADC
RADC
CADC
2014 年 01 月 28 日
1060
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21.15
Synchronous Serial Interface (SSI)
表 21-33. SSI Characteristics
Parameter
No.
Parameter
S1
TCLK_PER
S2
TCLK_HIGH
S3
TCLK_LOW
Parameter Name
Min
Nom
Max
Unit
40
-
-
ns
SSIClk cycle time, as slave
150
-
-
ns
SSIClk high time, as master
20
-
-
ns
SSIClk high time, as slave
75
-
-
ns
SSIClk low time, as master
20
-
-
ns
SSIClk low time, as slave
75
-
-
ns
-
ns
a
S4
SSIClk cycle time, as master
b
c
TCLKR
SSIClk rise time
1.25
-
S5
TCLKF
c
1.25
-
-
ns
S6
TTXDMOV
Master Mode: Master Tx Data Output (to slave)
Valid Time from edge of SSIClk
-
-
15.7
ns
S7
TTXDMOH
Master Mode: Master Tx Data Output (to slave)
Hold Time from next SSIClk
0.31
-
-
ns
S8
TRXDMS
Master Mode: Master Rx Data In (from slave)
setup time
17.15
-
-
ns
S9
TRXDMH
Master Mode: Master Rx Data In (from slave) hold
time
0
-
-
ns
S10
TTXDSOV
Slave Mode: Master Tx Data Output (to Master)
Valid Time from edge of SSIClk
-
-
77.74
ns
S11
TTXDSOH
Slave Mode: Slave Tx Data Output (to Master)
Hold Time from next SSIClk
55.5
-
-
ns
S12
TRXDSSU
Slave Mode: Rx Data In (from master) setup time
0
-
-
ns
S13
TRXDSH
Slave Mode: Rx Data In (from master) hold time
51.55
-
-
ns
SSIClk fall time
e
f
d
a. In master mode, the system clock must be at least twice as fast as the SSIClk.
b. In slave mode, the system clock must be at least 12 times faster than the SSIClk.
c. Note that the delays shown are using 8-mA drive strength.
d. This MAX value is for the minimum TSYSCLK (12.5 ns). To find the MAX TTXDSOV value for a larger TSYSCLK, use the
equation: 4*TSYSCLK+27.74.
e. This MIN value is for the minimum slave mode TSYSCLK (12.5 ns). To find the MIN TTXDSOH value for a larger TSYSCLK,
use the equation: 4*TSYSCLK+5.50.
f. This MIN value is for the minimum slave mode TSYSCLK (12.5 ns). To find the MIN TRXDSH value for a larger TSYSCLK, use
the equation: 4*TSYSCLK+1.55.
2014 年 01 月 28 日
1061
Texas Instruments-预告信息
Electrical Characteristics
图 21-19. SSI Timing for TI Frame Format (FRF=01), Single Transfer Timing Measurement
S1
S2
S4
S5
SSIClk
S3
SSIFss
SSITx
SSIRx
MSB
LSB
4 to 16 bits
图 21-20. SSI Timing for MICROWIRE Frame Format (FRF=10), Single Transfer
S2
S1
S5
S4
SSIClk
S3
SSIFss
SSITx
MSB
LSB
8-bit control
SSIRx
0
MSB
LSB
4 to 16 bits output data
2014 年 01 月 28 日
1062
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
图 21-21. Master Mode SSI Timing for SPI Frame Format (FRF=00), with SPH=1
S1
S5
S2
S4
SSIClk
(SPO=1)
S3
SSIClk
(SPO=0)
S7
S6
SSITx
MSB
(to slave)
S8
SSIRx
LSB
S9
MSB
( from slave)
LSB
SSIFss
图 21-22. Slave Mode SSI Timing for SPI Frame Format (FRF=00), with SPH=1
S1
S5
S4
S2
SSIClk
(SPO=1)
S3
S3
SSIClk
(SPO=0)
S10
SSITx
S11
MSB
(to master)
LSB
S12
S13
SSIRx
( from master)
MSB
LSB
SSIFss
2014 年 01 月 28 日
1063
Texas Instruments-预告信息
Electrical Characteristics
21.16
Inter-Integrated Circuit (I2C) Interface
表 21-34. I2C Characteristics
Parameter
No.
Parameter
Parameter Name
Min
Nom
Max
Unit
a
TSCH
Start condition hold time
36
-
-
system clocks
a
TLP
Clock Low period
36
-
-
system clocks
b
TSRT
I2CSCL/I2CSDA rise time (VIL =0.5 V
to V IH =2.4 V)
-
-
(see note
b)
ns
a
TDH
Data hold time
2
-
-
system clocks
c
TSFT
I2CSCL/I2CSDA fall time (VIH =2.4 V
to V IL =0.5 V)
-
9
10
ns
a
THT
Clock High time
24
-
-
system clocks
a
TDS
Data setup time
18
-
-
system clocks
a
TSCSR
Start condition setup time (for repeated
start condition only)
36
-
-
system clocks
a
TSCS
Stop condition setup time
24
-
-
system clocks
I1
I2
I3
I4
I5
I6
I7
I8
I9
I2C
a. Values depend on the value programmed into the TPR bit in the
Master Timer Period (I2CMTPR) register; a TPR
programmed for the maximum I2CSCL frequency (TPR=0x2) results in a minimum output timing as shown in the table
above. The I 2C interface is designed to scale the actual data transition time to move it to the middle of the I2CSCL Low
period. The actual position is affected by the value programmed into the TPR; however, the numbers given in the above
values are minimum values.
b. Because I2CSCL and I2CSDA operate as open-drain-type signals, which the controller can only actively drive Low, the
time I2CSCL or I2CSDA takes to reach a high level depends on external signal capacitance and pull-up resistor values.
c. Specified at a nominal 50 pF load.
图 21-23. I2C Timing
I2
I10
I6
I5
I2CSCL
I1
I4
I7
I8
I3
I9
I2CSDA
2014 年 01 月 28 日
1064
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21.17
Analog Comparator
ab
表 21-35. Analog Comparator Characteristics
Parameter
VINP,VINN
Parameter Name
Min
Nom
Max
Unit
Input voltage range
GNDA
-
VDDA
V
Input common mode voltage range
GNDA
-
VDDA
V
c
VCM
VOS
IINP,IINN
CMRR
Input offset voltage
-
Input leakage current over full voltage range
Common mode rejection ratio
d
±10
±50
mV
-
-
2.0
µA
-
50
-
dB
e
TRT
Response time
-
-
1.0
µs
TMC
Comparator mode change to Output Valid
-
-
10
µs
a. Best design practices suggest that static or quiet digital I/O signals be configured adjacent to sensitive analog inputs to
reduce capacitive coupling and cross talk.
b. To achieve best analog results, the source resistance driving the analog inputs, VINP and VINN, should be kept low.
c. The external voltage inputs to the Analog Comparator are designed to be highly sensitive and can be affected by external
noise on the board. For this reason, VINP and VINN must be set to different voltage levels during idle states to ensure the
analog comparator triggers are not enabled. If an internal voltage reference is used, it should be set to a mid-supply
level. When operating in Sleep/Deep-Sleep modes, the Analog Comparator module external voltage inputs set to different
levels (greater than the input offset voltage) to achieve minimum current draw.
d. Measured at VREF=100 mV.
e. Measured at external VREF=100 mV, input signal switching from 75 mV to 125 mV.
表 21-36. Analog Comparator Voltage Reference Characteristics
Parameter
Min
Nom
Max
Unit
RHR
Resolution in high range
Parameter Name
-
VDDA/29.4
-
V
RLR
Resolution in low range
-
VDDA/22.12
-
V
AHR
Absolute accuracy high range
-
-
±RHR/2
V
ALR
Absolute accuracy low range
-
-
±RLR/2
V
表 21-37. Analog Comparator Voltage Reference Characteristics, VDDA = 3.3V, EN= 1, and
RNG = 0
VREF Value
VIREF Min
Ideal VIREF
VIREF Max
Unit
0x0
0.731
0.786
0.841
V
0x1
0.843
0.898
0.953
V
0x2
0.955
1.010
1.065
V
0x3
1.067
1.122
1.178
V
0x4
1.180
1.235
1.290
V
0x5
1.292
1.347
1.402
V
0x6
1.404
1.459
1.514
V
0x7
1.516
1.571
1.627
V
0x8
1.629
1.684
1.739
V
0x9
1.741
1.796
1.851
V
0xA
1.853
1.908
1.963
V
0xB
1.965
2.020
2.076
V
0xC
2.078
2.133
2.188
V
2014 年 01 月 28 日
1065
Texas Instruments-预告信息
Electrical Characteristics
表 21-37. Analog Comparator Voltage Reference Characteristics, VDDA = 3.3V, EN= 1, and
RNG = 0(续)
VREF Value
VIREF Min
Ideal VIREF
VIREF Max
Unit
0xD
2.190
2.245
2.300
V
0xE
2.302
2.357
2.412
V
0xF
2.414
2.469
2.525
V
表 21-38. Analog Comparator Voltage Reference Characteristics, VDDA = 3.3V, EN= 1, and
RNG = 1
VREF Value
VIREF Min
Ideal VIREF
VIREF Max
Unit
0x0
0.000
0.000
0.074
V
0x1
0.076
0.149
0.223
V
0x2
0.225
0.298
0.372
V
0x3
0.374
0.448
0.521
V
0x4
0.523
0.597
0.670
V
0x5
0.672
0.746
0.820
V
0x6
0.822
0.895
0.969
V
0x7
0.971
1.044
1.118
V
0x8
1.120
1.193
1.267
V
0x9
1.269
1.343
1.416
V
0xA
1.418
1.492
1.565
V
0xB
1.567
1.641
1.715
V
0xC
1.717
1.790
1.864
V
0xD
1.866
1.939
2.013
V
0xE
2.015
2.089
2.162
V
0xF
2.164
2.238
2.311
V
2014 年 01 月 28 日
1066
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
21.18
Current Consumption
表 21-39. Current Consumption
System Clock
Parameter
Parameter Name
Conditions
VDD = 3.3 V
VDDA = 3.3 V
VDD = 3.3 V
VDDA = 3.3 V
VDD = 3.3 V
VDDA = 3.3 V
VDD = 3.3 V
VDDA = 3.3 V
b
IDDA
VDD = 3.3 V
Deep-Sleep mode
Peripherals = All ON
Run, Sleep and
Deep-sleep mode
VDD = 3.3 V
Peripherals = All OFF
58.7
mA
32.7
33.0
40.6
44.5
mA
19.7
20.3
20.5
27.6
31.5
mA
17.5
17.6
18.0
18.2
25.3
28.8
mA
80 MHz
MOSC
with PLL
45.0
45.1
45.7
40 MHz
MOSC
with PLL
31.9
32.0
16 MHz
MOSC
with PLL
19.6
16 MHz
PIOSC
-40°C 25°C
1 MHz
PIOSC
10.0
10.1
10.5
10.8
17.5
21.3
mA
80 MHz
MOSC
with PLL
24.5
24.7
25.2
25.5
31.3
35.0
mA
40 MHz
MOSC
with PLL
19.6
19.7
20.4
20.7
25.9
29.6
mA
16 MHz
MOSC
with PLL
12.1
12.2
12.7
12.9
18.7
22.3
mA
16 MHz
PIOSC
10.1
10.1
10.5
10.8
16.4
20.0
mA
1 MHz
PIOSC
5.45
5.50
5.98
6.18
11.6
15.2
mA
80 MHz
MOSC
with PLL
34.7
34.9
35.5
35.9
44.2
47.8
mA
40 MHz
MOSC
with PLL
22.2
22.4
22.9
23.3
30.2
33.8
mA
16 MHz
MOSC
with PLL
14.7
14.8
15.3
15.7
21.8
25.4
mA
16 MHz
PIOSC
12.8
12.9
13.4
13.7
19.7
23.3
mA
1 MHz
PIOSC
8.07
8.16
8.61
8.95
14.6
18.1
mA
80 MHz
MOSC
with PLL
15.2
15.3
15.8
16.2
21.7
25.2
mA
40 MHz
MOSC
with PLL
10.3
10.5
10.9
11.3
16.2
19.8
mA
16 MHz
MOSC
with PLL
7.32
7.45
7.92
8.28
13.0
16.5
mA
16 MHz
PIOSC
5.87
5.96
6.35
6.69
13.7
16.2
mA
1 MHz
PIOSC
3.54
3.63
4.07
4.41
8.84
12.3
mA
-
MOSC
with PLL,
PIOSC
2.71
2.71
2.71
2.71
3.97
3.98
mA
30 kHz
LFIOSC
2.54
2.54
2.54
2.54
3.68
3.69
mA
-
MOSC
with PLL,
PIOSC,
LFIOSC
0.28
0.28
0.29
0.29
0.56
0.57
mA
VDDA = 3.3 V
VDDA = 3.3 V
54.9
105°C
Peripherals = All OFF
Run, Sleep and
Deep-sleep mode
46.1
85°C
Peripherals = All ON
Run mode (SRAM
loop)
a
Unit
Clock
Source
Peripherals = All OFF
IDD_RUN
Max
a
85°C 105°C
Frequency
Peripherals = All ON
Run mode (Flash
loop)
Nom
2014 年 01 月 28 日
1067
Texas Instruments-预告信息
Electrical Characteristics
表 21-39. Current Consumption(续)
System Clock
Parameter
Parameter Name
Conditions
VDD = 3.3 V
VDD = 3.3 V
30.4
38.1
41.7
mA
20.2
20.5
27.1
30.7
mA
13.8
14.2
14.6
20.6
25.2
mA
11.7
11.8
12.2
12.5
18.5
22.0
mA
PIOSC
7.01
7.06
7.93
8.14
12.0
14.3
mA
MOSC
with PLL
9.60
9.73
10.2
10.5
15.4
18.9
mA
40 MHz
MOSC
with PLL
7.49
7.60
8.06
8.41
13.2
16.6
mA
16 MHz
MOSC
with PLL
6.22
6.33
6.78
7.12
11.7
15.1
mA
16 MHz
PIOSC
c
4.28
4.35
4.77
5.11
9.52
13.1
mA
1 MHz
c
PIOSC
3.52
3.59
4.01
4.34
8.70
12.1
mA
80 MHz
MOSC
with PLL
28.4
28.6
29.2
29.6
37.2
40.7
mA
40 MHz
MOSC
with PLL
18.6
18.8
19.3
19.7
26.2
29.7
mA
16 MHz
MOSC
with PLL
12.7
12.9
13.3
13.7
19.7
23.2
mA
16 MHz
PIOSC
c
10.8
10.9
11.3
11.7
17.5
21.0
mA
1 MHz
c
PIOSC
7.09
7.20
7.67
8.02
13.6
17.0
mA
80 MHz
MOSC
with PLL
8.66
8.82
9.31
9.68
14.5
17.9
mA
40 MHz
MOSC
with PLL
6.55
6.69
7.17
7.54
12.1
15.6
mA
16 MHz
MOSC
with PLL
5.27
5.41
5.89
6.26
10.7
14.2
mA
16 MHz
PIOSC
c
3.34
3.44
3.88
4.24
8.65
12.0
mA
1 MHz
PIOSC
c
2.58
2.67
3.13
3.48
7.85
11.2
mA
85°C
105°C
80 MHz
MOSC
with PLL
29.3
29.5
30.0
40 MHz
MOSC
with PLL
19.5
19.7
16 MHz
MOSC
with PLL
13.6
16 MHz
PIOSC
c
1 MHz
c
80 MHz
VDDA = 3.3 V
Peripherals = All OFF
LDO = 1.2 V
IDD_SLEEP
VDD = 3.3 V
VDDA = 3.3 V
Peripherals = All ON
LDO = 1.2 V
Sleep mode
(FLASHPM = 0x2)
VDD = 3.3 V
VDDA = 3.3 V
Peripherals = All OFF
a
Unit
Clock
Source
LDO = 1.2 V
Sleep mode
(FLASHPM = 0x0)
Max
a
85°C 105°C
Frequency
VDDA = 3.3 V
Peripherals = All ON
Nom
LDO = 1.2 V
-40°C 25°C
2014 年 01 月 28 日
1068
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
表 21-39. Current Consumption(续)
System Clock
Parameter
Parameter Name
Nom
Conditions
Frequency
VDD = 3.3 V
16 MHz
PIOSC
9.29
VDDA = 3.3 V
30 kHz
LFIOSC
5.10
VDD = 3.3 V
16 MHz
PIOSC
VDDA = 3.3 V
30 kHz
Clock
Source
Max
a
a
85°C 105°C
Unit
10.0
15.9
19.4
mA
5.82
11.2
14.7
mA
3.91
4.26
8.67
12.2
mA
2.00
2.39
2.73
7.24
10.6
mA
-40°C 25°C
85°C
105°C
9.29
9.66
5.10
5.48
3.51
3.51
LFIOSC
2.00
Peripherals = All ON
Deep-sleep mode
(FLASHPM = 0x0)
LDO = 1.2 V
Peripherals = All OFF
LDO = 1.2 V
IDD_DEEPSLEEP
VDD = 3.3 V
16 MHz
PIOSC
8.34
8.36
8.77
9.12
14.9
18.4
mA
VDDA = 3.3 V
30 kHz
LFIOSC
4.14
4.18
4.59
4.94
10.4
13.8
mA
VDD = 3.3 V
16 MHz
PIOSC
2.56
2.60
3.02
3.37
7.79
11.2
mA
VDDA = 3.3 V
30 kHz
LFIOSC
1.04
1.07
1.49
1.86
6.48
9.75
mA
-
-
1.23
1.38
1.54
1.93
5.20
6.32
µA
-
-
1.27
1.40
1.69
2.07
5.24
6.44
µA
-
-
3.17
4.49
10.6
21.3
28.1
74.2
µA
-
-
3.16
4.33
10.4
20.9
27.7
73.0
µA
Peripherals = All ON
Deep-sleep mode
(FLASHPM = 0x2)
LDO = 1.2 V
Peripherals = All OFF
LDO = 1.2 V
IHIB_NORTC
Hibernate mode
VBAT = 3.0 V
(external wake, RTC V = 0 V
DD
disabled)
VDDA = 0 V
System Clock = OFF
Hibernate Module =
32.768 kHz
IHIB_RTC
Hibernate mode (RTC VBAT = 3.0 V
enabled)
VDD = 0 V
VDDA = 0 V
System Clock = OFF
Hibernate Module =
32.768 kHz
Hibernate mode
(VDD3ON mode,
RTC on)
VBAT = 3.0 V
VDD = 3.3 V
VDDA = 3.3 V
System Clock = OFF
IHIB_VDD3ON
Hibernate Module =
32.768 kHz
Hibernate mode
(VDD3ON mode,
RTC off)
VBAT = 3.0 V
VDD = 3.3 V
VDDA = 3.3 V
System Clock = OFF
Hibernate Module =
32.768 kHz
a. Applicable for extended temperature devices only.
b. The value for IDDA is included in the above values for IDD_RUN, IDD_SLEEP, and IDD_DEEPSLEEP.
c. Note that if the MOSC is the source of the Run-mode system clock and is powered down in Sleep mode, wake time is increased by
TMOSC_SETTLE.
2014 年 01 月 28 日
1069
Texas Instruments-预告信息
封装信息
A
封装信息
A.1
可订购器件
注意:
关于可订购器件型号的更多细节,请参见封装选项附录。
图 A-1. 器件型号说明
T M4 C 1 SSS M Y PPP T XX Z R
运输手段
R = 卷带
省略 = 默认运输 (托盘或管)
前缀
T = 合格设备
X = 试验设备
内核
M4 = ARM® Cortex™-M4
版本号
仅适用于试验设备
Tiva 系列
C = 连接 MCU
特殊代码
可选
温度
I = –40°C 至 +85°C
T = –40°C 至 +105°C
封装
PM = 64 管脚 LQFP
PZ = 100 管脚 LQFP
PGE = 144 管脚 LQFP
ZRB = 157 焊珠 BGA
家族
器件型号
SSS = 序列器件号
程序存储器
C = 32 KB
D = 64 KB
E = 128 KB
H = 256 KB
数据存储器
3 = 12 KB
5 = 24 KB
6 = 32 KB
表 A-1. 可订购的器件型号
器件型号
描述
TM4C1231D5PMI
Tiva™ C 系列 TM4C1231D5PM 微控制器工业温度范围 64 管脚 LQFP
TM4C1231D5PMIR
Tiva™ C 系列 TM4C1231D5PM 微控制器工业温度范围 64 管脚 LQFP 卷带
TM4C1231D5PMT
Tiva™ C 系列 TM4C1231D5PM 微控制器扩展温度范围 64 管脚 LQFP
TM4C1231D5PMTR
Tiva™ C 系列 TM4C1231D5PM 微控制器扩展温度范围 64 管脚 LQFP 卷带
2014 年 01 月 28 日
1070
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
A.2
型号标识
Tiva™ C 系列 微控制器均带有标识号标记,如下图所示。
此标识号标记包含以下信息:
■ 第 1 行和第 5 行:内部跟踪编号
■ 第 2 行和第 3 行:器件型号
例如,第二行为 TM4C123G,第三行为 E6PZI,这表示订购器件型号为 TM4C123GE6PZI。器
件号中的第一个字母表示产品状态。T表示器件完全合格,已正式投入生产;X表示器件仍处于
试验阶段(预生产),需要提供责任豁免声明。预产器件的器件型号中还包含一个版本号。例
如,XM4C123G 后面注明 E6PZI5,这表示第 5 版。投产器件的器件型号中不包含版本号。一些
器件的温度字符后还会写上内部代码。DID0 寄存器负责标识微控制器的版本。MAJOR 和 MINOR
位域标识了模具版本号。MAJOR 和 MINOR 位域一起标识了 TM4C123x 微控制器器件的版本
号。
MAJOR 位域值
MINOR 位域值
模具版本
器件版本
0x0
0x0
A0
1
0x0
0x1
A1
2
0x0
0x2
A2
3
0x0
0x3
A3
4
0x1
0x0
B0
5
0x1
0x1
B1
6
0x1
0x2
B2
7
■ 第 4 行:日期代码
第四行的前两个字符为日期代码,紧随其后的是内部跟踪编号。日期代码 YM 包含两位数,分别
表示年份的最后一个数字和月份。例如,第四行的前两个数字为 34,这个日期代码表示 2013 年
4 月。
2014 年 01 月 28 日
1071
Texas Instruments-预告信息
封装信息
A.3
封装图
图 A-2. TM4C1231D5PM 64 管脚 LQFP 封装图
MECHANICAL DATA
MTQF008A – JANUARY 1995 – REVISED DECEMBER 1996
PM (S-PQFP-G64)
PLASTIC QUAD FLATPACK
0,27
0,17
0,50
0,08 M
33
48
49
32
64
17
0,13 NOM
1
16
7,50 TYP
10,20
SQ
9,80
12,20
SQ
11,80
Gage Plane
0,25
0,05 MIN
0°– 7°
0,75
0,45
1,45
1,35
Seating Plane
0,08
1,60 MAX
4040152 / C 11/96
NOTES: A.
B.
C.
D.
All linear dimensions are in millimeters.
This drawing is subject to change without notice.
Falls within JEDEC MS-026
May also be thermally enhanced plastic with leads connected to the die pads.
2014 年 01 月 28 日
1072
Texas Instruments-预告信息
Tiva™ TM4C1231D5PM 微控制器
A.4
封装材料
图 A-3. 64 管脚 LQFP PM 封装载带
2014 年 01 月 28 日
1073
Texas Instruments-预告信息
封装信息
图 A-4. 64 管脚 LQFP PM 封装塑料圆盘
图 A-5. 64 管脚 LQFP PM 封装用载带圆盘箱
2014 年 01 月 28 日
1074
Texas Instruments-预告信息
PACKAGE OPTION ADDENDUM
www.ti.com
2-Mar-2021
PACKAGING INFORMATION
Orderable Device
Status
(1)
Package Type Package Pins Package
Drawing
Qty
Eco Plan
(2)
Lead finish/
Ball material
MSL Peak Temp
Op Temp (°C)
Device Marking
(3)
(4/5)
(6)
TM4C1231D5PMI
ACTIVE
LQFP
PM
64
160
RoHS & Green
NIPDAU
Level-3-260C-168 HR
-40 to 85
TM4C1231
D5PMI
TM4C1231D5PMI7R
ACTIVE
LQFP
PM
64
1000
RoHS & Green
NIPDAU
Level-3-260C-168 HR
-40 to 85
TM4C1231
D5PMI7
TM4C1231D5PMIR
ACTIVE
LQFP
PM
64
1000
RoHS & Green
NIPDAU
Level-3-260C-168 HR
-40 to 85
TM4C1231
D5PMI
TM4C1231D5PMT
ACTIVE
LQFP
PM
64
160
RoHS & Green
NIPDAU
Level-3-260C-168 HR
-40 to 105
TM4C1231
D5PMT
TM4C1231D5PMT7
ACTIVE
LQFP
PM
64
160
RoHS & Green
NIPDAU
Level-3-260C-168 HR
-40 to 105
TM4C1231
D5PMT7
TM4C1231D5PMT7R
ACTIVE
LQFP
PM
64
1000
RoHS & Green
NIPDAU
Level-3-260C-168 HR
-40 to 105
TM4C1231
D5PMT7
TM4C1231D5PMTR
ACTIVE
LQFP
PM
64
1000
RoHS & Green
NIPDAU
Level-3-260C-168 HR
-40 to 105
TM4C1231
D5PMT
(1)
The marketing status values are defined as follows:
ACTIVE: Product device recommended for new designs.
LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect.
NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in a new design.
PREVIEW: Device has been announced but is not in production. Samples may or may not be available.
OBSOLETE: TI has discontinued the production of the device.
(2)
RoHS: TI defines "RoHS" to mean semiconductor products that are compliant with the current EU RoHS requirements for all 10 RoHS substances, including the requirement that RoHS substance
do not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, "RoHS" products are suitable for use in specified lead-free processes. TI may
reference these types of products as "Pb-Free".
RoHS Exempt: TI defines "RoHS Exempt" to mean products that contain lead but are compliant with EU RoHS pursuant to a specific EU RoHS exemption.
Green: TI defines "Green" to mean the content of Chlorine (Cl) and Bromine (Br) based flame retardants meet JS709B low halogen requirements of