打印
[其它产品/技术]

AutosarMCAL开发——基于TC367、EBTresos 开发之PWM

[复制链接]
21|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-11-6 16:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1.PWM基础知识



以上为使用计数器产生pwm输出的基本原理,只要能满足上述产生条件,软件也可以生成PWM波,只不过在周期上不如硬件上限高;
其中计数器根据设定的计数方式(向上、向下、中心)运行,在计数未到达占空比设定值时输出设定好的电平(高低极性、左右中心对齐)输出电平,到达占空比值后反转电平直至计数道道设定的计数溢出值再次反转开始下一个周期

2.TC3x中PWM架构
TC3x可以产生PWM的定时器有三种:GTM中的TOM/ATOM、GPT12、CCU6,其中CCU6为专为三相电机设计的输入输出比较器,可以提供6路PWM

3.EB配置以及接口应用
使用GTM中TOM或ATOM产生PWM
EB配置步骤:

1 确定通道
2 配置定时器
3 配置时钟
4 配置PWM模块
以P00.4 GTM_TOUT13配置为例
1 确定通道





在下列表中任意选择一个定时器资源用于产生PWM







2 配置定时器 TOM1_CH3:



3 配置时钟:

GTM时钟的配置顺序
1.配置GTM时钟源
2.配置Cluter0分频
3.配置CMU分频
1.配置GTM时钟源
在PWM通道高对应的时钟选择中可以看到只能选择FIXED_Clock,该时钟来源于CMU模块;首先输入GTM模块的时钟为200M,配置CMU模块分频得到FIXED_Clock;



2.配置Cluter0分频



其中
CLS_CLK_CFG_DISABLED_SEL0为关闭cluter0,CLS_CLK_CFG_DISABLED_SEL1为开启cluster且分频为1,CLS_CLK_CFG_DISABLED_SEL1为开启cluster且分频为2
CMU位于Cluster0中,其他cluster的时钟是通过CCM路由得到的所以都是基于CMU时钟,时钟源最高不得超过CLKgtm/2



3.配置CMU分频







至此,可以得到对应PWM通道的时基为:=(CLKgtm/Cluster0_Div)/CMU_DIVCMU_SEL=(200M/11/2)/2^0=100M=10ns/tick
如果需要周期为20k Hz的PWM波,则period计算值应设定为(1/20k)/(1/100M) = 5000

4 配置PWM模块:





TOMandATOM通道同步计数
这部分内容并不在在EB中进行配置,因此需要直接操作寄存器,配置以下寄存器即可,由于触发信号是连续的的,所以使用的通道尽可能连续;常见应用,使用TOM0_CH0-TOM0_CH5驱动无刷电机,TOM0_CH0配置为自动复位即Rst_ccu0选择0,其余通道皆配置为由上一个通道同步复位即可实现6个通道同步计数



————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_45583706/article/details/139139227

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1896

主题

15567

帖子

11

粉丝