ARM+LINUX 485通信的问题
请教各位坛友,arm加载linux系统以后,对串口的操作采用了文件的方式进行读写;如果232格式下没有任何问题,但是转成485信号后,就有一个延时的问题;举例来说,arm有1个IO口来控制 485芯片收发的切换,每次发送之后都要人工做个延时,然后再切换到收的状态;而这个延时根据波特率的不同和数据长度的不同也不一样,各位坛友在处理类似的情况有更好的办法吗? 顶一下,我也遇到这个问题,还没解决,
最终的方法看了得从驱动解决
本帖最后由 dadongleilei 于 2012-4-29 12:43 编辑最终的方法看了得从驱动解决,驱动里直接控制收发切换 延迟也可以写个式子算啊。 不同的波特率 和不同的长度 的延迟不是线性的关系,写个公式很难有通用性 哪有那么麻烦呀,从硬件上解决,万事OK.就跟使用普通串口一样的 用maxim的自动方向控制的485芯片,还可以省一个io。 现在综合我的硬件 还是要从驱动里解决 我的做法是驱动中将串口流控的控制那部分程序改成控制485的接收发送转换。
具体路子,在公司电脑里。改了就不记忆的。。。
恩 是的,我目前也准备这样做,RTS引脚(对于我的arm)做485收发控制,在驱动中完成 Maxim日前推出MAX13487E/MAX13488E半双工RS-485收发器。该系列器件带有AutoDirection功能,发送数据时可自动使能驱动器。这一特性省去了驱动使能控制信号,适合隔离电表、汽车以及工业应用,可节省空间并减少所需的元件数。
MAX13487E在IEC 61000-4-2气隙放电模式下具有±15kV的ESD保护,而该系列所有收发器在人体模型下均具有±15kV的ESD保护。MAX13487E的摆率限制驱动器可降低EMI,可工作在具有较强辐射噪声的环境中,实现高达500kbps的零误码传输。MAX13488E具有高达16Mbps的数据速率。此外,该系列器件具有1/4单位负载的接收器输入阻抗,允许总线上最多挂接128个收发器。
现在有这样的芯片了?那确实是方便了,有没有资料看看,有没有批量用过的 dadongleilei 发表于 2012-4-30 10:44 static/image/common/back.gif
现在有这样的芯片了?那确实是方便了,有没有资料看看,有没有批量用过的 ...
我们用过,挺不错,价格也挺便宜的。 有参考意义,说不定哪天就用到了 收藏了 很有用 硬件上解决485速度有限制,不能太快
页:
[1]