主题:EM9170如何使用GPIO14的脉冲计数输入功能?

  共有66218人关注过本帖    
帅哥哟,离线,有人找我吗?
chang
1楼 信息 | 搜索 | 邮箱


加好友 发短信
EM9170如何使用GPIO14的脉冲计数输入功能?  发帖心情 Post By:2013-4-17 2:34:00   [显示全部帖子]

请问如何进行脉冲计数,相关的API函数是什么?
脉冲达到预定数量后能否产生中断?

谢谢

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
chang
2楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-4-18 0:38:00   [显示全部帖子]

脉冲间隔最小5ms.

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
chang
3楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-4-18 0:41:00   [显示全部帖子]

以下是引用yy在2013-4-17 9:28:00的发言:
你一定要使用GPIO14来进行脉冲计数吗?9170的IRQ1为GPIO10即CN13的11号针脚,光盘里有提供IRQ的例程,可用于脉冲计数。

不是我一定要用, 你们的数据手册里写了GPIO14是脉冲输入啊,所以我硬件按照GPIO14来设计的。没有相关API支持吗? 
如果用IRQ,可以用IRQ2吗?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
chang
4楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-4-19 4:36:00   [显示全部帖子]

我的应用中需要对脉冲进行计数,脉冲的周期在5-10ms,占空比20%-80%。我不需要测量脉宽,只是要准确计数。

我在评估板上测试了一下,用PWM1输出占空比50%的方波,用IRQ1计数,程序使用光盘中的例程稍加修改。发现PWM频率在10Hz以上(100ms周期)IRQ计数就跟不上了,漏了很多。

IRQ1的驱动程序究竟能有多快的响应?

另外,函数WaitForIRQ( HANDLE hIrq, DWORD dwTimeout )中的dwTimeout,按字面理解,应该是超过此预设时间之后没有接受到中断就退出阻塞,对吧?单位是ms吗?我试着设了一下,没看出效果。

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
chang
5楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-4-20 6:07:00   [显示全部帖子]

程博士,曹工,yy各位,多谢支持!我把新内核刷到板子上试了一下,似乎没有明显改善。IRQ在5Hz以上的频率就不能很好的计数了。多次测试在100Hz时,500个脉冲只采集到112-120个。我的简易测试程序已发到曹工邮箱,使用PWM1输出100Hz,50%的信号,持续5秒,开单独的线程由IRQ1计脉冲数。我在底板上用10K电阻把PWM1和IRQ1短接。

请帮忙看看究竟是哪里有问题。再次感谢!

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
chang
6楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-4-21 19:33:00   [显示全部帖子]

情况更新:

我一直是用remote display显示屏幕数据,昨天尝试了不开remote display,直接将捕获的中断数量写入一个文件再事后检查,发现中断数量基本正常了。

在200Hz以上明显开始有偏差,但由于确切的脉冲数量我手头没有工具测量(完全依赖于板上PWM输出频率和时间计算),所以并不确定是中断响应不上还是脉冲数本来就是那么多。

无论如何,从目前单个线程的情况来看应该可以满足项目的要求了。接下来会继续测试,也请英创的各位帮忙准确测试脉冲的捕获响应实时性。

多谢各位!

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
chang
7楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-4-21 19:35:00   [显示全部帖子]

结果列表:

Freq (Hz)Time (s)IRQ Generated
(Assume PWM is accurate)
IRQ captured
500031500014653
500315001485
3003900895
2003600599
1503450451
1003300301
200601200011978

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
chang
8楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-4-23 0:50:00   [显示全部帖子]

我是收到所有中断后一次性打印结果,不是收一个打一个。现在发现只要不开remote display就可以。只是条件所限,我现在还不能精确测试。

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
chang
9楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-4-24 3:33:00   [显示全部帖子]

如果能有这样的函数就更好了,最好能提供两个方法:一个读取中断总数,一个将其清零以重新计数。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

EM9170如何使用GPIO14的脉冲计数输入功能?

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: