TM4C1231D5PMT7

TM4C1231D5PMT7

  • 厂商:

    BURR-BROWN(德州仪器)

  • 封装:

    LQFP-64

  • 描述:

    TM4C1231D5PMT7

  • 详情介绍
  • 数据手册
  • 价格&库存
TM4C1231D5PMT7 数据手册
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
TM4C1231D5PMT7
物料型号: - 型号:TM4C1231D5PM

器件简介: - Tiva™ TM4C1231D5PM是德州仪器(Texas Instruments)生产的32位ARM Cortex-M4F微控制器,具有高处理性能和丰富的外设。

引脚分配: - 该微控制器有100个引脚,包括电源引脚、地引脚、I/O引脚等,具体分配需查看引脚图。

参数特性: - 核心:ARM Cortex-M4F - 工作频率:50MHz - 内存:128KB闪存和32KB SRAM - 封装:100引脚LQFP

功能详解: - 包含多种通信接口,如UART、SPI、I2C等。 - 支持多种定时器和PWM通道。 - 集成模拟到数字转换器(ADC)和比较器。

应用信息: - 适用于工业控制、楼宇自动化、家电控制等多种应用场景。

封装信息: - 封装类型:100引脚LQFP - 封装尺寸:14mm x 14mm
TM4C1231D5PMT7 价格&库存

很抱歉,暂时无法提供与“TM4C1231D5PMT7”相匹配的价格&库存,您可以联系我们找货

免费人工找货