HK32MCU应用笔记(十四)| HK32F103x/C/D/E-TIM1的应用及注意事项

电子说

1.3w人已加入

描述

HK32F103x/C/D/E是深圳市航顺芯片技术研发有限公司推出的中大容量的103系列芯片。作为32位MCU常用的外设TIM1是高级控制定时器(TIM1 和TIM8)由一个16 位的自动装载计数器组成,它由一个可编程的预分频器驱动。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较、PWM、嵌入死区时间的互补PWM 等)。使用定时器预分频器和RCC 时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。高级控制定时器(TIM1 和TIM8)和通用定时器(TIMx)是完全独立的,它们不共享任何资源。它们可以同步操作每个定时器都是完全独立的,没有互相共享任何资源。

01、TIM1主要功能

TIM1 和TIM8 定时器的功能包括:

1)、DAC 触发功能

2)、四路输入通道都新增下降沿触发,和双沿触发功能

3)、16 位向上、向下、向上/下自动装载计数器

4)、16 位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535 之间的任意数值

5)、多达4 个独立通道:

─ 输入捕获

─ 输出比较

─ PWM 生成(边缘或中间对齐模式)

─ 单脉冲模式输出

6)、死区时间可编程的互补输出

7)、使用外部信号控制定时器和定时器互联的同步电路

8)、允许在指定数目的计数器周期之后更新定时器寄存器的重复计数器

9)、刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态

10)、如下事件发生时产生中断/DMA:

─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)

─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)

─ 输入捕获

─ 输出比较

─ 刹车信号输入

11)、支持针对定位的增量(正交)编码器和霍尔传感器电路

12)、触发输入作为外部时钟或者按周期的电流管理

02、TIM1 trigger 触发ADC转换

转换可以由外部事件触发(例如定时器捕获,EXTI 线)。如果设置了EXTTRIG 控制位,则外部事件就能够触发转换。EXTSEL[2:0]和JEXTSEL2:0]控制位允许应用程序选择8 个可能的事件中的某一个,可以触发规则和注入组的采样。

注意:当外部触发信号被选为ADC 规则或注入转换时,只有它的上升沿可以启动转换。

寄存器
寄存器
寄存器

软件触发事件可以通过对寄存器ADC_CR2 的SWSTART 或JSWSTART 位置’1’产生。规则组的转换可以被注入触发打断。

03、操作TIM1 trigger触发ADC转换需要注意

用户在使用HK32F103xC/D/E的ADC注入通道配置为外部事件触发转换方式,当选择定时器触发时(比如TIM1的CC4事件触发),只要TIM1的Counter Enable,CC4E不置1,MOE也不置1,我们的芯片就能触发ADC转换了,而S**T芯片必须是CC4E置1,MOE也置1才能触发ADC转换,这说明我们芯片TIMER的trigger信号只要TIM1的Counter enable就输出了,而S**T芯片要CC4E置1,MOE也置1才输出trigger信号。

如果ADC的转换数据一直在有效使用的情况下,(比如说一直用 DMA把数据搬运到有效参与系统运行的场合)如果这样配置我们芯片会在被认为是TIMER不触发转换的时候(CC4E置0,MOE也置0)产生很多无效的数据 影响系统正常运行。

如果遇到上面的问题时,在不使用ADC转换数据时要将TIMER的 Counter Disable。要正常使用时再Enable TIMER Counter。

以上有关寄存器的介绍可以参考我们HK的HK32F103xC/D/E的应用手册。

来源: 航顺芯片(作者:yongfeng)

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分