dadongleilei 发表于 2012-4-28 10:27:13

ARM+LINUX 485通信的问题

请教各位坛友,arm加载linux系统以后,对串口的操作采用了文件的方式进行读写;如果232格式下没有任何问题,但是转成485信号后,就有一个延时的问题;
举例来说,arm有1个IO口来控制 485芯片收发的切换,每次发送之后都要人工做个延时,然后再切换到收的状态;而这个延时根据波特率的不同和数据长度的不同也不一样,各位坛友在处理类似的情况有更好的办法吗?

sszgwu 发表于 2012-4-28 15:16:49

顶一下,我也遇到这个问题,还没解决,

dadongleilei 发表于 2012-4-29 12:40:59

最终的方法看了得从驱动解决

本帖最后由 dadongleilei 于 2012-4-29 12:43 编辑

最终的方法看了得从驱动解决,驱动里直接控制收发切换

huayuliang 发表于 2012-4-29 13:10:51

延迟也可以写个式子算啊。

dadongleilei 发表于 2012-4-29 14:05:06

不同的波特率 和不同的长度 的延迟不是线性的关系,写个公式很难有通用性

PZLPDY 发表于 2012-4-29 19:19:22

哪有那么麻烦呀,从硬件上解决,万事OK.就跟使用普通串口一样的

ljt80158015 发表于 2012-4-29 19:46:00

用maxim的自动方向控制的485芯片,还可以省一个io。

dadongleilei 发表于 2012-4-29 20:55:16

现在综合我的硬件 还是要从驱动里解决

cqv 发表于 2012-4-29 21:36:53

我的做法是驱动中将串口流控的控制那部分程序改成控制485的接收发送转换。
具体路子,在公司电脑里。改了就不记忆的。。。

dadongleilei 发表于 2012-4-29 21:44:18

恩 是的,我目前也准备这样做,RTS引脚(对于我的arm)做485收发控制,在驱动中完成

ljt80158015 发表于 2012-4-30 09:48:20

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:22

现在有这样的芯片了?那确实是方便了,有没有资料看看,有没有批量用过的

ljt80158015 发表于 2012-4-30 10:50:23

dadongleilei 发表于 2012-4-30 10:44 static/image/common/back.gif
现在有这样的芯片了?那确实是方便了,有没有资料看看,有没有批量用过的 ...

我们用过,挺不错,价格也挺便宜的。

abnerle 发表于 2012-4-30 11:29:10

有参考意义,说不定哪天就用到了

elunlang2000 发表于 2017-5-17 11:06:50

收藏了   很有用

MikePandora 发表于 2017-5-19 08:10:43

硬件上解决485速度有限制,不能太快
页: [1]
查看完整版本: ARM+LINUX 485通信的问题