AUTOSAR中RH850(F1KM) MCU PWM配置详解(MCAL)

  1. 前言
    在嵌入式项目中,我们经常需要使用到PWM信号。本文将基于汽车电子AUTOSAR架构下的软件开发方式。以RH850为例进行说明,介绍如何查阅芯片参考文档,并结合项目原理图,使用Davinci工具配置MCAL PWM模块,输出PWM波形。仅供大家学习参考。

    其他MCU的配置方法类似,需要找到硬件原理图的端口号,MCU的PWM输出外设模块(不同的MCU的外设模块不一样),时钟树(时钟源),分频系数,中断等情况。

  2. TAUB时钟
    当前项目使用TAUB时钟搭建PWM波形。TAUB支持的通道数。

  3. TAUB时钟源
    TAUB属于C_ISO_PERI2(Clock Domain),Clock name为CKSCLK_IPERI2

  4. PERI2(外设2)时钟源选择寄存器

  5. TAUB中断号

  6. TAUB时钟分频选择寄存器TPS
    设置CK0-CK3各个时钟的分频系数。

  7. 硬件原理图(P10_15)
    使用的端口号。

  8. PWM输出功能
    选择PWM输出功能:

  9. PWM时钟选择
    1)以上讨论了多个时钟的概念,要区分一下。
    首先由于PWM使用的是TAUB,属于CKSCLK_IPERI2,这是最初的外设时钟源。PCLK指向CKSCLK_IPERI2,这个时钟是40MHZ。
    再者PWM选择CK0-CK3。
    最后设定CK0的分频系数TPS。
    2) Master选择时钟源
    Master和Slaver必须选择相同的时钟。比如都是CK0.

    3) Slaver选择时钟源

  10. PWM参考时钟

  11. 选择CK0的分频系数

    调试显示情况:

    如何根据上面的配置进行计算:
    PPLLCLK2 =40MHZ, CK0 =8;
    TAUB Clock = 40MHZ/8=5MHZ;
    PWM Frequency = 5MHZ/20000 = 250HZ;

  12. MCAL配置,Master设置周期频率,slaver设置占空比

  13. Master 设置频率

  14. Slaver 设置Duty

  15. 小结
    Master 选择偶数时钟,Slaver可以选择奇数时钟。一个Master可以对应多个Slaver。
    但是Master决定了频率周期,那么也就决定了使用该Master的slaver所配置的PWM,只能修改各自的Duty。一般建议一个Master对应一个Slaver,这样周期和占空比都可调节。并且Slaver的时钟Channel号比Master Channel号 多1。
    如上配置,Master选择TAUB0O8, slaver选择TAUB0O9, 也即slaver对应PWM输出,如上端口P10_15.

物联沃分享整理
物联沃-IOTWORD物联网 » AUTOSAR中RH850(F1KM) MCU PWM配置详解(MCAL)

发表评论