主题:EM9280的IRQ2 接编码器,出现多触发现象 共有112988人关注过本帖 |
---|
![]() qzl |
1楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
EM9280的IRQ2 接编码器,出现多触发现象 ![]()
有人遇到过吗?
|
单帖管理 | 引用 | 回复 ![]() |
x10 |
2楼 |
![]() |
![]()
所说的编码器是指什么,光电编码器的A/B两项脉冲输出,还是指单路脉冲?脉冲频率是多少?
|
单帖管理 | 引用 | 回复 ![]() |
x10 |
3楼 |
![]() |
![]()
若光电编码,请参考http://www.emtronix.com/article/article2013575.html
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
4楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
单脉冲,我想用脉冲计数!
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
5楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
我发现,IRQ管脚上拉3.3V后,跳线直接接管脚,然后用跳线接地会出现2次中断信号,再断开跳线出现1次中断信号。
如果直接用手摸跳线会出现连续的中断信号。这是为什么呢? 是不是中断上升沿,的幅值很低,就是有轻微的上升沿信号,都能产生中断啊。感觉必须IRQ管脚不能有毛刺信号,如果有,毛刺信号都会触发中断。
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
6楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
有人用IRQ管脚数脉冲数吗?
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
7楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
能不能把IRQ,做成自己计数,API直接读取计数值的方式,这样计数就会准确点。计数频率也会提高很多。
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
8楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
感觉IRQ,都没单片机的好用
|
单帖管理 | 引用 | 回复 ![]() |
x10 |
9楼 |
![]() |
![]()
IRQ作为脉冲是可以计数的,但像Linux或CE这样的多任务OS,对硬件中断响应有延时,一般在50us - 100us,从这方面看真不如单片机。为此,我们设计了一款iMX28(ARM9)+SAM3S(Cortex-M3)的主板,型号为EM9380,管脚与EM9280完全一致。对实时性要求高的操作,可以放到M3上做。双CPU通过内部的USB连接。一般说来要发挥EM9380的特色,要求客户要同时开发CE应用程序和单片机上的程序。有兴趣的客户可以看看http://www.emtronix.com/product/arm9.html
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
10楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
IRQ 计数不正确啊,喜欢多触发啊
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
11楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
都没自己写的线程,读取电平翻转,判断信号准确
|
单帖管理 | 引用 | 回复 ![]() |
zxw |
12楼 |
![]() |
![]()
你实验时,可以使用一个GPIO引脚输出脉冲,再接到IRQ引脚上去测试计数功能。如果你手去短接,会有抖动,使计数不准,这是必然现象(按钮也不行)。
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
13楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
这个抖动不能去掉吗?
|
单帖管理 | 引用 | 回复 ![]() |
zxw |
14楼 |
![]() |
![]()
这个抖动是物理产生的,对于中断接口来说,没法实现处理,如果用IO写程序来读,肯定是可以用软件来查询实现去抖动。
对于这种应用,你首先需要保证中断信号源的可靠!!!
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
15楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
太灵敏了,连抖动都算上了啊
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
16楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
手摸管脚,出现的纹波,电压幅值都低的很,都不超过1V 不应该算脉冲的,为什么都能触发中断
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
17楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
是不是驱动写的上升沿门限太低??
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
18楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
自己手动判断翻转都是好的,0——1v为低电平 ,2.3——3.3V为高电平,读取电平翻转信号,来计数都是好的。抖动都能自己消除的。
估计驱动中断信号的低电平和高电平,幅值变化没处理好。
|
单帖管理 | 引用 | 回复 ![]() |
zxw |
19楼 |
![]() |
![]()
并不是什么电平幅值没处理好,而是中断处理速度很快,有抖动,就会有多个边沿,就会识别到多次中断触发
而用IO去查询读取电平状态的速度很慢,自然而然就读不到抖动的小信号!!!
|
单帖管理 | 引用 | 回复 ![]() |
![]() qzl |
20楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
有没有什么好的解决办法啊,我只需要读小于2KHZ的脉冲
|
单帖管理 | 引用 | 回复 ![]() |