本文主要是介绍【AUTOSAR】RH850(F1KM) MCU PWM配置(MCAL),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
前言
在嵌入式项目中,我们经常需要使用到PWM信号。本文将基于汽车电子AUTOSAR架构下的软件开发方式。以RH850为例进行说明,介绍如何查阅芯片参考文档,并结合项目原理图,使用Davinci工具配置MCAL PWM模块,输出PWM波形。仅供大家学习参考。其他MCU的配置方法类似,需要找到硬件原理图的端口号,MCU的PWM输出外设模块(不同的MCU的外设模块不一样),时钟树(时钟源),分频系数,中断等情况。
-
TAUB时钟
当前项目使用TAUB时钟搭建PWM波形。TAUB支持的通道数。
-
TAUB时钟源
TAUB属于C_ISO_PERI2(Clock Domain),Clock name为CKSCLK_IPERI2
-
PERI2(外设2)时钟源选择寄存器
-
TAUB中断号
-
TAUB时钟分频选择寄存器TPS
设置CK0-CK3各个时钟的分频系数。
-
硬件原理图(P10_15)
使用的端口号。
-
PWM输出功能
选择PWM输出功能: -
PWM时钟选择
1)以上讨论了多个时钟的概念,要区分一下。
首先由于PWM使用的是TAUB,属于CKSCLK_IPERI2,这是最初的外设时钟源。PCLK指向CKSCLK_IPERI2,这个时钟是40MHZ。
再者PWM选择CK0-CK3。
最后设定CK0的分频系数TPS。
2) Master选择时钟源
Master和Slaver必须选择相同的时钟。比如都是CK0.
3) Slaver选择时钟源
-
PWM参考时钟
-
选择CK0的分频系数
调试显示情况:
如何根据上面的配置进行计算:
PPLLCLK2 =40MHZ, CK0 =8;
TAUB Clock = 40MHZ/8=5MHZ;
PWM Frequency = 5MHZ/20000 = 250HZ; -
MCAL配置,Master设置周期频率,slaver设置占空比
-
Master 设置频率
-
Slaver 设置Duty
-
小结
Master 选择偶数时钟,Slaver可以选择奇数时钟。一个Master可以对应多个Slaver。
但是Master决定了频率周期,那么也就决定了使用该Master的slaver所配置的PWM,只能修改各自的Duty。一般建议一个Master对应一个Slaver,这样周期和占空比都可调节。并且Slaver的时钟Channel号比Master Channel号 多1。
如上配置,Master选择TAUB0O8, slaver选择TAUB0O9, 也即slaver对应PWM输出,如上端口P10_15.
这篇关于【AUTOSAR】RH850(F1KM) MCU PWM配置(MCAL)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!