MCAL-ICU-PWM 轮询 IcuSignalMeasureWithoutInterrupt

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MCAL-ICU-PWM 轮询 IcuSignalMeasureWithoutInterrupt

ソリューションへジャンプ
5,537件の閲覧回数
YanyiQiu
Contributor III

您好:

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示例?

 

感谢~

0 件の賞賛
返信
1 解決策
5,466件の閲覧回数
YanyiQiu
Contributor III
The question are:

1. when using polling in ICU , it must use/configure DMA meanwhile?

2. for capturing the pwm correctly, the following usage is all right ?

a, interrupt ( "IcuSignalMeasureWithoutInterrupt" is disabled)

b, polling only ("IcuSignalMeasureWithoutInterrupt" is enabled), It isn't necessary to configure DMA

c, polling ( "IcuSignalMeasureWithoutInterrupt" is enabled ) and DMA

元の投稿で解決策を見る

0 件の賞賛
返信
8 返答(返信)
5,475件の閲覧回数
JoaquinL
NXP Employee
NXP Employee

Hi 

“icu采集PWM信号”指的是测量占空比和周期?

IcuSignalMeasureWithoutInterrupt勾选后,需要在通过轮询调用Icu_GetInputState(),当返回结果为ICU_ACTIVE时,再调用Icu_GetPulseWidth()。

JoaquinL_1-1692322418045.png

JoaquinL_0-1692322385249.png

轮询方法极容易受到其他任务的干扰,对于高频PWM不建议使用。

“尝试DMA+ICU未成功,初始化MCL出错”是具体什么错?

示例工程请联系代理商或者销售代表。这里无法直接上传工程。

BR, Joaquin

0 件の賞賛
返信
1,437件の閲覧回数
NXP开发者
Contributor II

您好,按照你说的方法尝试了,先获取ICU通道的状态,返回active后调用Emios_Icu_Ip_GetDutyCycleValues函数,但是获取到的值都是0,可以帮忙解答一下吗?或者您目前有这方面的例程吗?是否可以发一份

タグ(2)
0 件の賞賛
返信
5,467件の閲覧回数
YanyiQiu
Contributor III
The question are:

1. when using polling in ICU , it must use/configure DMA meanwhile?

2. for capturing the pwm correctly, the following usage is all right ?

a, interrupt ( "IcuSignalMeasureWithoutInterrupt" is disabled)

b, polling only ("IcuSignalMeasureWithoutInterrupt" is enabled), It isn't necessary to configure DMA

c, polling ( "IcuSignalMeasureWithoutInterrupt" is enabled ) and DMA

0 件の賞賛
返信
5,444件の閲覧回数
JoaquinL
NXP Employee
NXP Employee

Hi,

ICU的使用要求如下:

  • DMA模式不能勾选IcuSignalMeasureWithoutInterrupt,并使能相应DMA通道中断请求
  • Interrupt模式不能勾选IcuSignalMeasureWithoutInterrupt,并使能相应eMIOS通道中断请求
  • Polling模式需要勾选IcuSignalMeasureWithoutInterrupt,Polling模式的正确使用,请参照上文回复。

所以Polling和DMA不能一起使用,Polling也不能和中断一起使用。

BR, Joaquin

0 件の賞賛
返信
5,428件の閲覧回数
YanyiQiu
Contributor III

您好:

拿到demo,按照其中的“IcuChannel_2”,采用DMA配置接收PWM信号 。能够采集到数据,但是和硬件实测的不匹配,硬件PWM信号是正确的,已验证过。

1、尝试改动PWM占空比,测试到的PWM占空比不变化。

2、尝试其他不同频率、占空比的PWM信号,测试到的PWM信号不变化

 

实际的硬件PWM数据:

YanyiQiu_0-1692587715885.png

 

测试的PWM数据:

 

YanyiQiu_1-1692587752382.png

 

其他频率的PWM信号:

YanyiQiu_2-1692587932440.png

 

不知道是否遇到过该问题?

 

 

0 件の賞賛
返信
1,436件の閲覧回数
NXP开发者
Contributor II

您好,您这个是ICU轮询采集信号吗?我尝试了好多次轮询,无法采集到信号,是否可以分享一下您的demo,或者告知一下需要注意的点,谢谢

タグ(2)
0 件の賞賛
返信
5,468件の閲覧回数
YanyiQiu
Contributor III
是PWM 的占空比 和周期
0 件の賞賛
返信
5,469件の閲覧回数
YanyiQiu
Contributor III
感谢回复。
初始化出错是因为配置异常了,已经排查。但是 采样数据异常。
https://community.nxp.com/t5/S32K/MCAL-ICU-PWM-TAS-using-polling-dma-checked/m-p/1704317#M26042
请查看这个问题中的异常描述。
0 件の賞賛
返信