打印

去年搞485通信,现在测试很稳定,谢谢21ic的...

[复制链接]
2792|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lixun00|  楼主 | 2007-3-16 16:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
chunyang| | 2007-3-16 17:39 | 只看该作者

不能用“竞争”法,但可以用“突发”法

    主机不查询,节点要上传数据时,先检测总线是否被占用,若总线空闲,用最短的帧结构向主机发出请求,然后释放总线,接到回应后再独占发送。若一次请求不成功,可延时再求,最好这个延时是个一定范围内的随机数。
    此法适于大规模主从网,485、422和无线网均可,我用此法给客户做过上百节点的无线网,运行良好,有线的485、422等总线网只会响应更快。

使用特权

评论回复
板凳
daguang72| | 2007-3-17 09:33 | 只看该作者

4线全双工就是422了

使用特权

评论回复
地板
lixun00|  楼主 | 2007-3-17 15:54 | 只看该作者

谢谢1表达错误,就是这个"突发"法,谢谢.

使用特权

评论回复
5
yixiupu0| | 2007-3-20 17:01 | 只看该作者

请问chunyang

   从机怎样 检测总线是否被占用

使用特权

评论回复
6
chunyang| | 2007-3-20 19:16 | 只看该作者

检测一个时间段内总线的状态是否恒为1

使用特权

评论回复
7
yixiupu0| | 2007-3-21 09:59 | 只看该作者

还是不是很明白

   请教chunyang 你所说的检测一个时间段内总线的状态是否恒为1 是不是用从机的一个I/O口用中断的方式去检测总线的状态(如总线上的B+),时间段以最长的一帧为一段,或者以1 BYTE为一段.

使用特权

评论回复
8
chunyang| | 2007-3-22 02:10 | 只看该作者

不是用IO

直接串口检测,恒为1就不会产生起始位,串行通讯自然无法发起,这可以认为“空闲”,当然,仅如此是不够的,冲突还有存在可能的,故软件、协议及硬件上的容错是必须考虑的。

使用特权

评论回复
9
zsmbj| | 2007-3-26 13:18 | 只看该作者

To:chunyang,485总线用“突发”是不行的。

突发 可以用在无线网上没有问题,不过用在485总线上就不行了。同一时刻发送会烧毁485芯片的。

只有CAN总线可以随时发送。

使用特权

评论回复
10
xwj| | 2007-3-26 13:48 | 只看该作者

都说了:先检测空闲再突发,本来冲突的概率就很小了

再说485就算同时存在2个发送也烧不了芯片的

使用特权

评论回复
11
chunyang| | 2007-3-26 13:55 | 只看该作者

所以采用突发模式的485接口要串入20欧的保护电阻

我这么用的多了,只要设计合理,原理正确,可靠性是可以做到很高的。
具体信息可以查阅以前我的老帖。

使用特权

评论回复
12
chunyang| | 2007-3-26 13:57 | 只看该作者

保护电阻的引入可不仅仅是防止冲突时对器件的冲击

更重要的是可以“隔离”故障点,原理其实很简单,不妨考虑一下。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

683

帖子

3

粉丝