3.10 模数转换器(ADC)
12 位模拟数字转换器有多达 10 个外部和 3 个内部(温度传感器,参考电压,VBAT 电压测量)通道, 可执行单次或扫描模式的转换。 在扫描模式下,自动转换会按照选定的一组模拟输入来执行。
ADC 接口可接受 DMA 控制器的服务。
模拟看门狗功能允许非常精确的监测一个、几个或全部的选择通道的转换电压。转换结果超出设定的 阈值电压时,会产生一个中断。
3.10.1 温度传感器
温度传感器(TS)产生一个随温度线性变化的电压 VSENSE。
温度传感器内部连接到 ADC_IN16 的输入通道,用于将传感器的输出电压转换成数字值。
该传感器具有良好的线性度,但必须进行校准才能获得良好的温度测量精度。由于工艺过程中温度传感 器的偏移量因芯片而异,因此未校准的内部温度传感器适用于仅检测温度变化的应用。
表 2 温度传感器校准值
校准值名称
TS_CAL1 TS_CAL2
描述
C(±5°C)得 TS ADC 原始数据在温度 30°
到,VDDA=3.3V(±10mV) C(±5°C)得 TS ADC 原始数据在温 110°到,VDDA=3.3V(±10mV)
内存地址
0x1FFF F7B8 – 0x1FFF F7B9
0x1FFF F7C2 – 0x1FFF F7C3
3.10.2 内部参考电压(VREFINT)
内部参考电压(VREFINT)提供了一个稳定的(带隙)电压输出对于 ADC。VREFINT 是内部连接到 ADC_IN17 的输入通道。
表 3 内部参考电压校准值
校准值名称
VREFINT_CAL
描述
C (±5°C), 得到 原始数据在温度 30°
VDDA=3.3V(±10mV)
内存地址
0x1FFF F7BA – 0x1FFF F7BB
3.10.3 VBAT 电池电压监测
此嵌入式手持设备功能允许应用使用内部 ADC 通道 ADC_IN18 测量 VBAT 电池电压。由于 VBAT 电压可
13
能高于 VDDA, 因此超过 ADC 输入范围,因此 VBAT 引脚内部连接到分压器。结果,转换的数字值是 VBAT 电 压的一半。
3.11 定时器和看门狗
CKS32F031xx 系列器件包括多达 5 个通用定时器和一个高级控制定时器。 表 4 比较了高级控制定时器和通用定时器的特征。
表 4 定时器功能比较
定时
器类 定时器 型
高级控 TIM1
制
通用
TIM2 TIM3 下 TIM14
计数器的 分辨率 16 位 32 位 16 位
计数器类型
预分频因子 1 和 65536 之间的
任何整数 1 和 65536 之间的
任何整数
是 DMA 请求产 生 是 是
4 捕获/比
较通道 4 4
- 互补 输出 3 -
上,下,上/下 上,下,上/下
1 和 65536 之间的
上,下,上/
任何整数
1 和 65536 之间的
任何整数
16 位 上
否
TIM16 TIM17
16 位
上
1 和 65536 之间的
任何整数
是
1 1
- 1
3.11.1 高级控制定时器(TIM1)
高级控制定时器(TIM1)可以被看作是 6 通道三相 PWM 发生器。它具有互补的 PWM 输出,可编程 死区时间插入。它也可以被看作是一个完整的通用定时器。4 个独立的通道,可用于:
? ? ? ?
输入捕捉 输出比较
PWM 生成(边缘或中心对齐模式) 单脉冲模式输出
如果作为一个标准的 16 位定时器配置,和 TIMx 定时器具有相同的功能。如果配置为 16 位 PWM 发 生器,它具有全调制能力(0-100% )。
在调试模式下,计数器可以被冻结。
14
很多功能与那些有相同的架构的标准计时器相同。高级的控制定时器还可以通过定时器链接功能和其 他定时器协同工作。
3.11.2 通用定时器(TIM2,3,14,16,17)
在 CKS32F031xx 设备中有五个同步的通用定时器(差异见表 4)。每个通用定时器可以用来产生 PWM 输出,或作为简单的时基。
TIM2 和 TIM3
CKS32F031xx 器件具有俩个同步的 4 通道通用定时器。TIM2 是基于一个 32 位自动加载递加/减计数器 和一个 16 位预分频器。TIM3 基于一个 16 位的自动加载的递加/递减计数器和一个 16 位的预分频器。TIM2 和 TIM3 都设有 4 个独立的输入捕捉/输出比较,PWM 或单脉冲模式输出的通道。可提供最多 12 个输入捕 捉/输出比较/ PWM 通道上的最大化的组合。
TIM2 和 TIM3 通用定时器可以与 TIM1 的高级控制定时器通过定时器链接功能,同步或事件链接在一 起,协同工作。
TIM2,TIM3 都提供独立的 DMA 请求产生。
这些定时器能够处理正交(增量)的编码器信号和数字输出从 1 到 3 个霍尔效应传感器。 在调试模式下,计数器可以被冻结。
TIM14
基于一个 16 位的自动加载的递加计数器和一个 16 位的预分频器。 TIM14 设有一个单一通道输入捕/输出比较,PWM 或单脉冲模式输出。 在调试模式下,计数器可以被冻结。
TIM16 和 TIM17
这些定时器是基于一个 16 位的自动加载的递加计数器和一个 16 位的预分频器。
TIM16 和 TIM17 只有单通道输入捕捉/输出比较,PWM 和单脉冲模式输出。TIM16 和 TIM17 可以一 起工作。
TIM16,TIM17 有互补输出死区时间生成和独立的 DMA 请求产生。 在调试模式下,计数器可以被冻结。
15
3.11.3 独立窗口看门狗(IWDG)
独立的窗口看门狗基于一个 8 位预分频器和 12 位的递减计数器和用户定义的刷新窗口。 它由一个独 立的 40kHz 的内部 RC 时钟驱动,因为它独立于主时钟运作,所以它可以在停机和待机模式保持运行。 它 可以用来作为一个看门狗在出现问题时重置设备,或作为自由运行定时器为应用程序提供超时管理。它可 通过选项字节由硬件配置或软件配置。在调试模式下,计数器可以被冻结。
3.11.4 系统窗口看门狗(WWDG)
系统窗口看门狗基于一个 7 位的递减计数器,可以设置成自由运行。 它可以用来作为看门狗在出现问 题时重置设备。它的时钟取自 APB 时钟(PCLK)。 它有一个预警中断功能,计数器在调试模式下可以被 冻结。
3.11.5 SysTick 定时器
这个定时器是实时操作系统专用的,但也可以作为一个标准的递减计数器使用。它的特点: ? 24 位递减计数器。 ? 自装填能力。
? 计数器达到 0 时,有可屏蔽的系统中断的产生。 ? 可编程时钟源(HCLK 或 HCLK/8)。
3.12 实时时钟(RTC)和备份寄存器
RTC 和五个备份寄存器通过一个开关供电,该开关在存在 VDD 电源时或通过 VBAT 引脚供电。当 VDD 电源不存在时,备份寄存器是五个 32 位寄存器,用于储存 20 个字节的用户应用程序数据。它们不会被系 统或电源重置,或从待机模式唤醒。
RTC 是一个独立的 BCD 定时/计数器。其主要特点如下:
? 子秒,秒,分钟,小时(12 或 24 格式),星期,日,月,年,在 BCD(二进制编码的十进制)格
式的日历。 ?
每个月自动校正为 28,29(闰年),30 日和 31 日。
16
? ? ?
可编程闹钟可以从停机和待机模式唤醒。
从 1 到 32767 RTC 时钟脉冲的动态校正。这可以用来与主时钟同步。 分辨率为 1 ppm 的数字校准电路,来补偿石英晶体误差。
? 2 个防篡改检测引脚带可编程滤波器。MCU 可以被篡改事件检测从停机和待机模式唤醒。 ? 时间戳功能,可用于保存日历内容。此功能可以通过事件时间戳引脚,或通过篡改事件触发。MCU
可以被时间戳事件从停机和待机模式唤醒。
? 参考时钟检测:一个更精确的秒源时钟(50 或 60 赫兹)可以用来提高日历精度。 RTC 时钟源可以是: ? ? ? ?
一个 32.768 kHz 的外部晶振。 一个谐振器或振荡器。
内部低功耗 RC 振荡器(典型频率为 40 kHz)。 高速的外部时钟除以 32。
3.13 内部集成电路接口(I2C)
一个 I2C 接口(I2C1)可以在多主或从模式运作。既可以支持标准模式(高达 100 千比特/秒)也可以 支持快速模式(高达 400 千比特/秒),I2C1 更支持超快速模式 Plus(高达 1 兆位/秒),20 mA 输出驱动能 力。
支持 7 位和 10 位寻址模式,多个 7 位从地址(2 地址,其中一个功能可屏蔽)。它们还包括可编程的 模拟和数字噪声滤波器。
表 5 I2C 模拟和数字滤波器的比较 模拟滤波器
抑制尖峰脉冲宽度
好处 缺点
≥ 50 纳秒
可在停止模式使用
受温度,电压和工艺的变化影
响
数字滤波器
可编程长度从 1 到 15 个 I2C 外设时钟 1. 额外的过滤能力超过标准的要求。
2. 稳定长度
数字滤波器启用时,地址匹配时从停止唤
醒功能不可用
此外,I2C1 的提供 SMBus 2.0 及 1.1 的 PMBus 硬件支持:ARP 功能,主机通知协议,硬件 CRC(PEC) 的生成/校验,超时核查和警报协议管理。I2C1 接口可接受 DMA 控制器的服务。I2C1 还具有独立于 CPU
17