书籍:《英飞凌多核单片机应用技术:AURIXTM三天入门篇》
读书笔记概括:单片机的灵魂在于:IO,中断,定时器。IO是一个基础,中断和定时器是两个精髓。稳扎一个基础点,向两个精髓靠拢,建立良好的学习体系,深入学习,加强交流,才能实现最终的学以致用的目标。
定时器对单片机说,是十分重要的,一款强大的微控制器,必然少不了一系列性能强劲,功能灵活的定时器模块。
所以阅读这本书,怎么也不能少对AURIX TC275T定时器的研究学习。
书中列举了多个 TC275T定时器模块,分别列在不同的章节当中:
第五章:GTM通用定时器平台(TIM和TOM)
第七章:系统定时器模块STM
第八章:CCU6中的定时器T12和T13模块
/*****************************************************************/
CCU6是AURIXTM中一个具有特定应用模式的高精度16位捕获和比较单元,可用于使用霍尔传感器或反电动势的检测控制方案的无刷直流电机控制。它的组成模块里,包含了两个定时器:T12和T13。
T12带有三路比较捕获通道,既能独立使用产生PWM信号或接受捕获信号,也能联合使用产生驱动交流逆变器所需的控制信号;而T13只有一路比较通道,只能工作在比较模式。
端口输入选择寄存器PISEL0和PISEL2:它们的位域为模块输入选择实际的输入信号
通道状态寄存器CMPSTAT:其中的状态表征位表征当前CCU6当前的捕获或比较状态,控制为决定比较通道是主动还是被动。
选择模式寄存器T12MSEL:用于设定T12中单路捕获比较通道的功能。
调制控制寄存器MODCTR:控制由定时器T12和T13产生的PWM序列调制相应的输出信号。
在无刷电机的控制应用中,霍尔信号的采样率由CCU6的时钟决定,配置T12的模式选择寄存器T12MSEL,可使T12处于霍尔传感器模式;而在HALL模式下。通过T13可以产生PWM调节电压。从而对电机进行速度控制。
T12和T13定时器,主要功能为捕获和比较,主要应用为霍尔信号采集和PWM生成。
/*****************************************************************/
STM是系统级的全局定时器,可以为操作系统提供基础时钟(这让我想起的ARM CM核里面的systick定时器)。同时,STM模块具有两个比较寄存器,可以产生两个独立的中断以满足操作系统的需求。
TC275里面有三个STM模块,它们都是独立运行的64位的系统定时器,可以同步读取64位定时值,可以自动进行灵活的定时时间比较,相等时间产生中断请求,应用复位后定时器自动开始工作。
有一个问题,就是这个mcu是32位的。而STM定时器的宽度是64位的,因此不可能通过一条指令读取所有位的内容,需要两条指令才行。那么问题就来了,两次读取的操作之间,定时器仍在累加计数,因此两次读取的值可能会存在误差。而STM通过一个STM_CAP(捕获寄存器),很好的解决了这个问题,一定次读取64位中的其中32位值是,另外的32位数据会被STM_CAP锁存,等待下一次的读取。
STM定时器,主要用来进行常规的定时器中断任务。
/*****************************************************************/
GTM模块就比较复杂,老实说我看了好几遍了,依然对GTM有些模糊。不过,复杂难懂的同时,这个模块可以说是TC275的灵魂的精髓了。
GTM模块包含众多功能不同的子模块,这些子模块通过配置组合的方式,可以形成复杂的定时器模块,服务于不同的应用程序领域。
。。。。。
只有注册用户才能在此添加评论。 如果您已经注册,请登录。 如果您还没有注册,请注册并登录。