赞
踩
本文将详细介绍如何使用 EB 工具配置 Flagchip FC4150 MCAL PWM 驱动 RGB,并重点强调了配置 pwm 模块的过程以及对 pwm 模块的详细解释。关于 mcu、port 、dio、icu、adc 模块可参考之前发布的博文。本次示例演示将会使用 FTU0_CH3、FTU0_CH5、 FTU0_CH7 通道来驱动 RBG 灯点亮
硬件平台:旗芯微 FC4150 DEMO BOARD V2 开发板
软件平台:EB tresos 28.1.0 、Flagchip_FC_IDE 4.04
MCAL: V1.1.0 & V1.1.1
1.1 配置 MCU 模块
1.1.1 根据 demo board 电位器原理图所示,我们需要在MCU模块-> PCC下添加Port B 、E、FTU 0的外设并配置为时钟使能。
▲ 图 1.1.1
▲ 图 1.1.2
1.2 配置 PORT 模块
1.2.1进入Port B 的 PortPin 界面下,添加 PTB15引脚并命名为 RGB1_UL,配置 PTB15 为 FTU0_CH3 、输出模式,默认电平为低。
▲ 图 1.2.1
1.2.2进入Port B 的 PortPin 界面下,添加 PTB17引脚并命名为 RGB1_VL,配置 PTB17 为 FTU0_CH5 、输出模式,默认电平为低。
▲ 图 1.2.2
1.2.3 进入Port E 的 PortPin 界面下,添加 PTE7 引脚并命名为 RGB1_WL,配置 PTE7 为 FTU0_CH7 、输出模式,默认电平为低。
▲ 图 1.2.3
1.3配置 PWM 模块
1.3.1 在Module Configurations 中添加 PWM模块,在 PWM模块中的 PwmFtuModule 下添加 FTU 外设。
▲ 图 1.3.1
1.3.2 双击 Index 0 进入PwmFtuModule_0-> Ftu Modules 配置界面,选择 Ftu 外设为 FTU_0,时钟选择为 CORE,参考源为 McuClockReferencePoint_Sys,选择 PWM 计数方式为边沿对齐模式、设置 PWM 频率为 10 Khz。
▲ 图 1.3.2
1.3.3 进入 PwmFtuModule_0-> PwmFtuChannels 的配置界面,添加三个 PWM_FTU_Channal ,将 Name 分别修改为 RGB1_UL、RGB1_VL、RGB1_WL, Ftu Hardware Channel 更改为与原理图对应的 FTU_CH3、FTU_CH5、FTU_CH7 通道、将通道设置为相互之间独立。
▲ 图 1.3.3
1.3.4 进入 PWM->PwmChannelConfigSet的配置界面添加三个 PwmChannel、Name 分别修改为RGB1_RED、RGB1_BLUE、RGB1_GREEN
▲ 图 1.3.4
1.3.4.1 双击 Index 0 进入RGB1_RED配置界面,选择 PwmFtuChannel 为刚刚在 PwmFtuModule_0-> PwmFtuChannels 下配置的通道,选择 PWM 极性为高,选择 PWM 空闲时的电平为低。
▲ 图 1.3.4.1
1.3.4.2 RGB1_BLUE、RGB1_GREEN 重复 1.3.4.1 的操作即可。
2.1 将 EB 配置好的工程编译并更新代码至 FCIDE 中
2.2 Main 函数
将 Bsp_Pwm_Init 函数取消屏蔽,Bsp_Pwm_5ms_Task_Event 函数添加至任务时间片函数中
▲ 图 2.2.1
▲ 图 2.2.2
2.3 Pwm_PBcfg.c
我们可以看到 FTU0外设、FTU0_CHx 在EB 工具配置好的属性
▲ 图 2.3.1(FTU硬件模块配置属性)
▲ 图 2.3.2(FTU通道配置属性)
2.4 Bsp_Pwm.c
在demo示例中修改 Bsp_Pwm_5ms_Task_Event函数,如图3.4所示
▲ 图 2.4
3.1 将工程编译并烧录到开发板
观察 RGB 灯,可以看到 RBG 呈呼吸状态被点亮
▲ 图 3.1
FC4150 PWM 模块提供独立/互补/同步通道输出,边沿/中心对齐模式,产生可变占空比与周期脉冲等功能
4.1 General 配置
▲ 图 4.1
①PwmConfigurationOfOptApiServices
②PwmGeneral
4.2 PwmChannel配置
添加在 PwmFtuModule 配置好的通道
▲ 图 4.2
4.2.1 双击Index 进入PwmChannel-> General配置
▲ 图 4.2.1
4.3 PwmFtuModule配置
最多可添加 FTU 0-7 ,8个FTU硬件外设
▲ 图 4.3
4.3.1 双击 Index0 进入PwmFtuModule-> PwmFtuModule_0->Ftu Modules配置界面
▲ 图 4.3.1
Dead Time config note: 死区的值是以 Default Period Value 去进行设置的,例如图 4.3.1,这边是直接走的 Core CLK,150M,配置频率为 10k,那一个周期就是 100us,period value 就是 150M/10K=15000。如果这里要做一个 1us 的 deadtime,那么 counter 就填 150。counter 到 150 就是 1/10K/(15000/150)=1us。死区的分频是为了让 dead value 能够设大点。需要注意的是死区的 value 是不经过上面的 Ftu Module Prescaler 分频的。也就是说,如果 Module Prescaler 选择 2 分频,那下面 Period Value 就会变成 7500,但还得按照15000 去算 dead value,它只与 Core CLK 有关
4.3.2 PwmFtuModule-> PwmFtuModule_0->Ftu Fault 配置界面
▲ 图 4.3.2
4.3.2 PwmFtuModule-> PwmFtuModule_0->PwmFtuChannels配置界面,每个 FTU 外设最多可配置 8 个 PWM 通道
▲ 图 4.3.2
4.3.3 双击 Index0 ,进入 PwmFtuChannles-> General 配置界面
▲ 图 4.3.3
4.4 PwmPowerStateConfig配置
▲ 图 4.4
4.5 PublishedInformation PWM 模块版本信息
4.6 PWM 模块常用函数
本文以 PWM 驱动 RGB 为示例,详细介绍了如何配置和使用 PWM(脉宽调制)模块,通过本文的讲解,读者可以了解到如何正确配置 PWM 模块,以实现脉宽调制的功能。
(1) AUTOSAR_SWS_PWMDriver.pdf
(2) FC4150 Reference Manual V3.0.pdf
如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com 作者:Memory
更多资讯,请扫码关注我们!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。