发新帖我要提问
12
返回列表
打印

RS485:鱼和熊掌不可得兼

[复制链接]
楼主: myfaith
手机看帖
扫描二维码
随时随地手机跟帖
21
冷漠| | 2009-9-18 11:51 | 只看该作者 回帖奖励 |倒序浏览
本帖最后由 冷漠 于 2009-9-18 16:42 编辑

呵呵,楼上,难道现在的通信技术这么落后?一个主站轮询一个从站,将引起网络上所有从站都中断?你说的是这个意思吗?什么叫其他的下位机都是白响应的?如果主站的发送帧是寻址发给A节点的,你以为B、C、D从站节点会响应?世界上这些设计芯片的人才也没那么笨呀。

所有网络技术协议通信前端处理器都是只对自己的站地址帧单独响应的!一个帧包括:地址域—控制域—数据域——校验域,其中地址域即是使独立节点识别自己的,它是由硬件电路精确比较而实现的。帧中数据域内容 属于该地址节点的隐私,其他节点根本不会发生接收响应。除非某个节点把自己的接收地址设为全局地址FFFF,它就能接受网络上所有节点的数据,这类节点要么是监控节点,要么是黑客!

即使是51单片机多机通信,当所有从节点设置SM2=1的时候也不会对所有非本节点总线数据都产生响应。Intel没那么笨吧。

使用特权

评论回复
22
arm_fan168| | 2009-9-18 14:46 | 只看该作者
PC机串口设置中的“标志校验”和“空格校验”应该是和51MCU的串口方式3兼容的,选“标志校验”校验位为1,选“空格校验”校验位为0。这个我没有经过试验证明,只是看过相关资料。
  把485芯片换成CAN驱动器是个不错的办法,其实把485芯片的收发同时使能(RE接低电平,TE接高电平),然后用软件的办法同样可以实现CSMA/CD(带冲突检测的载波监听多重访问),这样就可以省去轮询的工作了。

使用特权

评论回复
23
冷漠| | 2009-9-18 17:23 | 只看该作者
18楼可是太贬低IBM和德国人啦:
“而你说的令牌环也好,can也好,都避免不了响应的问题;8位9位11位是通讯协议问题,更无关。”

IBM的令牌环技术是1976年荷兰工程师的发明专利,IBM 当时化500万$(现在的一个亿?)买断了这项专利。结果当时,世界上由令牌环网和以太网谁优谁劣的争论就开始了,从没有过结论,都好,都有缺点,互相弥补。正好CAN 基本上是以太网访问协议。

这么2个全世界网络MAC上采用的通信技术,让18楼一说,成了“都避免不了响应的问题。”
这么大的访问效率问题,怎么全世界都一直在沿用?而且发明人Olof Soderblom ,Robert Metcalfe 和 David Boggs 都被载入史册。——全世界人都无奈,解决不了的相应问题,不得不用?

还是18楼厉害,30年后,一下就发现了这些专利技术的“不可避免的问题”。还是咱们中国人厉害。

使用特权

评论回复
24
冷漠| | 2009-9-18 17:26 | 只看该作者

这段话不好找。

本帖最后由 冷漠 于 2009-9-18 18:01 编辑

在局域网中所采用的传输方式都是面向位流的同步传输方式,由它们各自的介质访问控制协议来定义具体的数据格式(即帧格式)以及相应的介质访问控制方法。

请教:什么叫同步传输式,曼彻斯特码,NRZI码,数字锁相环DPLL,CRC校验?

异步传输方式最快能超过115Kbps /10米?效率<70%。

为何同步传输方式能轻易达到 375Kbps / 100米,效率 >95%。

使用特权

评论回复
25
neaphy| | 2009-9-18 19:23 | 只看该作者
PC机串口设置中的“标志校验”和“空格校验”应该是和51MCU的串口方式3兼容的,选“标志校验”校验位为1,选“空格校验”校验位为0。这个我没有经过试验证明,只是看过相关资料。
  把485芯片换成CAN驱动器是个不错 ...
arm_fan168 发表于 2009-9-18 14:46


PC端用parity位作第9位是没问题的, 我前两天刚用过。
还是用CAN吧,不会比485贵很多吧

使用特权

评论回复
26
arm_fan168| | 2009-9-18 19:52 | 只看该作者
回楼上,使用CAN驱动器还不能叫CAN总线,只是能在RX端监听总线上的数据了,要想防冲突还得靠软件来实现。要实现CAN总线(使用CAN控制器芯片或者带CAN控制器的MCU),而且几百个节点,还是要花不少money的。

使用特权

评论回复
27
84335262| | 2009-9-19 14:47 | 只看该作者
23# 冷漠
令牌环:“令牌环网的缺点是需要维护令牌,一旦失去令牌就无法工作,需要选择专门的节点监视和管理令牌。 由于目前以太网技术发展迅速,令牌网存在固有缺点,令牌在整个计算机局域网已不多见,原来提供令牌网设备的厂商多数也退出了市场,所以在目前局域网市场中令牌网可以说是“明日黄花”了。”——以上来自网络。请问令牌环能解决响应问题吗?别人的响应原来是呼叫哪个下位机就有哪个回应的,你现在是几百个下位机转一圈才能叫的到,是解决了问题吗?按你这样倒不如直接485串一大条实在;
CAN:还算靠点谱。但是没有所谓的地址域,只有对象。在CAN里所有的接入的器件都叫节点。节点不使用任何关于系统配置的报文(包括站地址)。因此想靠CAN来个地址应答响应是痴人说梦。靠点谱是因为CAN的识别码长(11位),可以把对象当成地址使用。

使用特权

评论回复
28
icmap| | 2009-9-19 15:04 | 只看该作者
不论是 UART 还是 CAN,只要单片机有硬件地址判断功能,都可以解决此问题。关键是找到一种有硬件地址判断的单片机,只有地址匹配后才响应中断。
另外一个方法就是用时间片,把时间分成几百个时间片,每个单片机对应一个时间片,单片机只在自己的时间片内发送数据,这样就不要轮询了。主机也只在自己的时间片发送数据,且数据中带附带单片机地址信息。这个方法需要一定的时间同步,还要为每个时间片之间预留一定的误差时间,这些都不难解决。

使用特权

评论回复
29
myfaith|  楼主 | 2009-9-19 16:36 | 只看该作者
如何保证准确可靠的同步?一个节点失步的话都后果严重

使用特权

评论回复
30
donkey89| | 2009-9-23 09:32 | 只看该作者
二线制的通信都这样吧?参考以太网?

使用特权

评论回复
31
linzhiqi1| | 2009-12-6 19:02 | 只看该作者
真是的,没那么复杂,多用几个串口,每个带的节点数少于256个就完了白,USB转232很简单,(以前用摩挲多卡贵)

使用特权

评论回复
32
冷漠| | 2010-6-11 10:54 | 只看该作者
本帖最后由 冷漠 于 2010-6-11 11:18 编辑
请问令牌环能解决响应问题吗?别人的响应原来是呼叫哪个下位机就有哪个回应的,你现在是几百个下位机转一圈才能叫的到,是解决了问题吗?按你这样倒不如直接485串一大条实在;


27楼能在网络上查到Olof Soderblom 发明的令牌环形网的工作原理吗?“几百个下位机转一圈才能叫的到,...”中国人是不是总喜欢低估被人的发明?——27楼大概以为荷兰人Olof Soderblom 几十年前500万$的发明专利这么差劲?你以为IBM纯粹是烧钱,眼光还不如咱中国人?
    令牌环形网的MAC机制是:当令牌经过时有数据的节点发送数据,没有数据的节点传递令牌。也就是说没有数据的节点产生一块新的令牌!引领后面有数据的节点继续接力发送。那么主站一次查询令牌的结果很简单,就是连续收到了位于环形总线上几百个节点在此一时隙内所有带有新的数据的节点所发送的内容,——它“以电子速度”转了一圈,就把所有等待发送数据的从站都访问到了。最后到达主站的队列,可能只有一个从站的数据,也可能有100个从站的数据。(没有数据要发送的从站,根本不会排在这个队列里。)而27楼还在以程序速度在RS485上一个一个从站地挨个叫号呢吧;——那应该叫做令牌总线网,和令牌环形网是两回事;技术实现上相差甚远。——而以太网则可能还在那里碰撞退让仲裁?


“几百个下位机能够在相对瞬间时间内同时产生数据要求上传的情况概率是多少?假设情况存在,以太网是在媒体访问层上竞争访问的,像CAN多主仲裁。如果发生碰撞,后退重来,这一时间就算白干了,如果不断碰撞,那情景就像众多年轻人挤公共汽车,最后谁也上不去。所以CAN或者以太网的工作前提条件就是等公共汽车的人不能太多,3、2个人即使互相挤也能上得去。几十个人一起挤,你试试谁能上的去?现在以太网能够比令牌环形网更普及,一是以太网速度和技术的发展相当于使公共汽车的数量多了,等车的人就相对少而不拥挤啦。二是令牌环技术相对复杂,不是连27楼这么高水平的人也还没理解 Olof Soderblom 发明的令牌环形网工作原理到底是怎么回事么。这就好像是说:51的普及率高,而相对ARM....

    哈哈,Olof Soderblom 的令牌总线媒体访问控制,就是让几十、几百个同时有数据要发送(等待上公共汽车)节点,按照其所在的物理位置顺序排队,按秩序上车;——不想上车的人自动出列。谁不知道排队上公共汽车的效率最高?可靠性、确定性好。谁敢在航天器上玩多主竞争仲裁?环形网的缺点确实存在:硬件上大家必须排队,如果中间有一个节点出了故障,这个环形链就会断序,——自动容错技术、备用接起来很容易啦。这就好像是说:排队等待上车的人中有突然一个人突发脑溢血,个人异常会影响后面的人,(以太网——谁突发疾病不能参加竞争更好啊)队列马上就无序乱了一样。哈,这种突发事件的概率是多少?有没有预防机制?令牌环形网使用的人不多,是因为会用的人和公司不多。看国际上几大现场总线标准,越是大的公司标准里,就越有令牌环形网技术标准。——阳春白雪的标志,欺负别人、小公司不会用呢。
    中国的核电站,水电站,哪个装的不是外国的现场总线?谁肯定局域里没用到令牌环形网?而且常年需要烧钱留外国专家维护。买来了,还不会用。到上海看看,令牌环形网买得到买不到。买来会用么。所以难普及。再查查IBM公司现在在什么地方用它过去500万$买断的专利技术。——看看到底是谁无知?

   
“请问令牌环能解决响应问题吗?别人的响应原来是呼叫哪个下位机就有哪个回应的,你现在是几百个下位机转一圈才能叫的到,是解决了问题吗?按你这样倒不如直接485串一大条实在;”

荷兰人想到的是:我如何才能呼叫一次,就把所有应该响应的下位机都叫的到,并同时收到它们自动排队发来的响应帧。(火车自动挂车厢。车头即查询令牌。)
    于是,有人载入史册了。
    计算机操作系统的发明,也是荷兰什么大学第一作出的。美国人是老二。还有银行......
    我们能想到什么?钱庄?

使用特权

评论回复
33
冷漠| | 2010-6-11 11:43 | 只看该作者
再举个例子说明为什么令牌环形网在控制器局域网中用的少:
假定用51系列多机访问,UART一个节点软硬件成本一起大概撑死不足100 RMB;换成CAN节点,一个节点成本不会到200 RMB,换成51MCU令牌环形网,一个节点?我们公司报价不低于3,000 RMB;“物以稀为贵”,其实硬件成本不过300 ,欺负别人没有呀。如若哪一天,环形网技术普及大众化了,我们公司就该倒了。

使用特权

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

本版积分规则