完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-6-20 15:52 编辑
我们使用AM335x,运行ti SDK6.0的Linux系统,没有进行实时扩展。 项目中需要对端口输入信号进行实时接收处理,该信号是随机产生的控制信号,对实时性处理要求较高。 信号一般为高电平有效。如图所示,需要进行去抖滤波处理:1、高电平持续时间大于X后,才认为输入信号有效,否则认为输入信号无效;2、高电平持续时,低电平持续时间若小于Y,则认为输入信号仍然有效,低电平时间大于Y,才认为输入信号无效。 因为这个信号时随时都可能出现,并且要求能实时处理,我们以前用前后台系统时直接用1ms定时器轮询做的,这个轮询时间可以放大到5ms。 现在切换到Linux系统下了,不知道该如何处理,我们考虑了以下几种方案,不知有哪位大侠有过这方面经验,能够指点一下。 方案一:轮询的方案,用xenomai进行实时扩展,和前后台系统一样,轮询IO实现,使用2ms的轮询周期,用1ms担心影响Linux运行; 方案二:中断的方案,RT-Preempt补丁进行实时扩展,重新编写输入口驱动,检测到边沿后计时,根据计时时间是否超过X和Y,切换输入信号是否有效; 方案三:使用AM335x的eCAP模块或者PRU单元进行输入信号处理,处理完后直接中断通知MCU? 不清楚这个问题在Linux中是否普遍,对Linux的输入驱动不是很了解,是否在Linux中已经有了对该问题成熟的解决方案?或者AM335x有这方面的应用? |
|
相关推荐
7个回答
|
|
这个需求感觉直接用fpga就搞定了,延迟可以做到很小,用操作系统直接做有点不太合适。
|
|
|
|
我们做的是个便宜货,成本是不能增加了,而且我们还需要这个X、Y的去抖时间可以根据不同项目配置,所以用FPGA可能也不太方便。 |
|
|
|
经了解,Linux系统下的触摸屏驱动和通用GPIO按键输入驱动driversinputkeyboardgpio_keys.c、gpio_keys_polled.c,所面对处理的问题是和我们类似的。
计划参考这类驱动来写驱动,通用GPIO驱动gpio_keys.c看上去不太合适,不能处理高电平时小于Y的无效判断抖动,而且使用input机制也有点太复杂了。 如果哪位有更好的方法,还请劳驾一下,多多指教。 |
|
|
|
哈哈神神 发表于 2018-6-20 06:23 如果是要求对GPIO口的低延时访问,可以考虑用PRU控制GPIO来实现。 |
|
|
|
多谢回复,如果使用PRU单元,是否就是轮询IO的方式,但轮询周期如何控制、去抖时间是否可以配置、如何与MCU交互呢? 请问TI是否此类应用的参考代码,非常感谢。 |
|
|
|
哈哈神神 发表于 2018-6-20 06:54 请参考wiki上的PRU介绍: http://processors.wiki.ti.com/index.php/Category:PRU AM335x的Linux SDK里面有PRU的例程 |
|
|
|
344868615qq 发表于 2018-6-20 07:01 谢谢,use bbk pru as high speed data acquision这个工程很不错。 |
|
|
|
只有小组成员才能发言,加入小组>>
2922个成员聚集在这个小组
加入小组535 浏览 1 评论
390 浏览 1 评论
586 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
836 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
689 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
137浏览 29评论
744浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
294浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
251浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
101浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 21:16 , Processed in 0.900188 second(s), Total 89, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号