打印

最近遇到一个问题,大家讨论一下,关于485总线的协议

[复制链接]
2151|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
woshidasha|  楼主 | 2007-9-25 08:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在正在做一个温度采集的项目,需要一台主机和n个从机,主机和从机之间用485连接但是,现在要增加一个功能就是在主机上设定一个报警值,当从机采集到的信号达到报警值时,主机报警,但现在问题就来了。

485总线为了保证传输稳定波特率我设定为1200,那么通讯一次要几十个毫秒,如果接200个从机那么假如我正在和1号机通讯,但是100号机已经达到报警值,那主机还要等大概好机秒才能报警,而要求是在探测器达到报警值后1秒之内主机就要报警,这个应该怎么解决,有谁能给个好办法??

相关帖子

沙发
dld2| | 2007-9-25 08:25 | 只看该作者

为什么波特率要1200

太慢了吧

使用特权

评论回复
板凳
woshidasha|  楼主 | 2007-9-25 11:39 | 只看该作者

要保证通讯稳定

因为这个系统有可能无人职守

要保证系统和通讯全部稳定,因此采用比较保守的设计,还有就是机器安装的地方有可能不好调试,因此通讯一定要好

大家帮忙呀!!!!

我不是专业搞通讯的,所以这方面做起来比较吃力

使用特权

评论回复
地板
zhang123| | 2007-9-25 12:29 | 只看该作者

我也外行。

9600也是低速率了,你可以更高点。
再就是你可不可以查询和中断或者(叫主动送数)复合使用?一个点过后,空闲时间,报警点主动送数 占据总线,主机收数呗

使用特权

评论回复
5
chunyang| | 2007-9-25 12:42 | 只看该作者

提高通讯速率的效果最明显

    高可靠设计要采取多重措施而非简单的降速,一个设计良好的485系统,在1200或9600、19200的波特率下可行性是没有明显差别的,最高速度主要受限于总线线材的质量、距离和节点接插件的插入损耗,其实质是成本决定的。
    如果对提高速率没有恰当手段保障的话,要实现报警的高响应速度只有牺牲平时的数据传输率,方法是采用短帧,短帧间预留突发事件的插入时间,帧越短,响应时间就相应越短,但对平时的通讯效率影响就越大。

使用特权

评论回复
6
woshidasha|  楼主 | 2007-9-26 08:03 | 只看该作者

谢谢大家

我觉得qinxg的方法是比较好的,zhang123得办法我自己想到了,但是没考虑完善,chunyang斑竹的办法,呵呵,对我来说可能有些难度。

但是我不明白qinxg后面说的从机架随机延时,是怎么处理的,我也想到了如果两台从机同时报警该怎么办。
但是没想到好的办法。

使用特权

评论回复
7
zsmbj| | 2007-9-27 11:40 | 只看该作者

这个问题用485就是麻烦些,用can才能彻底解决。

chunyang不是有一个485采用突发发送的方法吗。搜搜帖子。

使用特权

评论回复
8
woshidasha|  楼主 | 2007-9-28 07:46 | 只看该作者

不好办呀

但是,can的研发成本和元件成本要比485高很多,现在已经定下来用485了,没办法改了

使用特权

评论回复
9
lhzw2001| | 2007-11-20 09:13 | 只看该作者

赞成5楼的做法,同时要采用短帧

使用特权

评论回复
10
xwj| | 2007-11-20 09:50 | 只看该作者

1、1200bps的波特率太低;2、建议采用突发模式传送

使用特权

评论回复
11
ra_rabbit| | 2007-11-21 16:30 | 只看该作者

在坛子里找了半天没看到关于突发模式的具体叙述

使用特权

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

本版积分规则

55

主题

244

帖子

3

粉丝