您好:
AUTOSAR 4.4 V2.0.1 版本,S32K344 。
在用icu采集PWM信号时,IcuSignalMeasureWithoutInterrupt 不勾选,采用中断方式已实现功能 。
在尝试IcuSignalMeasureWithoutInterrupt 勾选,即,使用轮询时,发现 采集数据跳变 。
在网页上看到信息“对于signalMeasure这个模式,目前要么使用中断的方式,即不勾选这个选框,要么使用DMA的模式,在逻辑通道中使能DMA,并在MCL模块中配置DMA的相关设置” 。链接:https://blog.csdn.net/HeFlyYoung/article/details/124478323 。不知道是否如此?
尝试DMA+ICU未成功,初始化MCL出错。
是否可以提供 轮询的实现方式 (不使用DMA)示例? 使用DMA示例?
感谢~
Solved! Go to Solution.
Hi
“icu采集PWM信号”指的是测量占空比和周期?
IcuSignalMeasureWithoutInterrupt勾选后,需要在通过轮询调用Icu_GetInputState(),当返回结果为ICU_ACTIVE时,再调用Icu_GetPulseWidth()。
轮询方法极容易受到其他任务的干扰,对于高频PWM不建议使用。
“尝试DMA+ICU未成功,初始化MCL出错”是具体什么错?
示例工程请联系代理商或者销售代表。这里无法直接上传工程。
BR, Joaquin
Hi,
ICU的使用要求如下:
所以Polling和DMA不能一起使用,Polling也不能和中断一起使用。
BR, Joaquin
您好:
拿到demo,按照其中的“IcuChannel_2”,采用DMA配置接收PWM信号 。能够采集到数据,但是和硬件实测的不匹配,硬件PWM信号是正确的,已验证过。
1、尝试改动PWM占空比,测试到的PWM占空比不变化。
2、尝试其他不同频率、占空比的PWM信号,测试到的PWM信号不变化
实际的硬件PWM数据:
测试的PWM数据:
其他频率的PWM信号:
不知道是否遇到过该问题?