2024年6月1日发(作者:)

以太网是这样通信的,每台电脑位于同一个主干中都可以向主干线路中发信息串。假

如a吧,它先监听主干线路上有没有人在发信息,如果有它就等一会儿,在它发现没有人

发言后它将发言,但这时有可能另一台电脑也和它同时发言(想象一下在课堂上两个学生

向老师同时提问),这样它们会同时停止发言,并在等待了一个随机时间后继续发言,当然

它们的随机时间是不同的,并且在再次发言前仍需监听主干上是否有其它主机在发言。其

它的电脑读取数据包,检查mac地址和ip地址乃至端口号看是不是发给自已的,如果不

是便丢弃。它的mac 算法是csma/cd算法

令牌环网的结构是组成一个环形,环形的一圈是主机,主机中存在一个令牌,由一号

机向下传,每个主机只有在自已有令牌时才能向主线路中发数据。

以太网的核心技术是随即争用介质访问控制方法,即带有冲突检测的载波侦听多路访

问方法(CSMA/CD)源于无线分组交换网。使用的是IEEE802.3标准令牌环网使用的是

IEEE802.5标准

工程例子(转贴)

一般人认为,总线上的传输速率总是越快越好。这是问题的一个方面。另一个方面:

两个站点交换数据,更讲究它的有效性。举个例子,CSMA/CD协议可以看作一个没有红

绿灯的十字路口的车辆,谁都抢着过,结果乱作一堆,谁都过不去。这时通信速率再高,

也是无效的。所以,在化工厂、核电站这种实时性要求很高的场合,就不适合于用用CAN

总线。主/从访问是有序访问,不会发生碰撞。但是主从访问进程中,大约有一半的通信

是无效的或低效的。就好像主站总在问从站“嗨!轮到你了,你有数据要发吗,没有我就

叫别人了。”如果从站本来就知道该他发送了,他就很窝火“废话,我自己知道,用着你

告诉我么。”这就是令牌环技术,前面一个从站发送完了,下一个有数据要发送的站,紧

接着就发送。显然,令牌环访问方式是效率最高的。

这里有一个实际项目,北京市的。一条长800米的总线上挂接了60个点(从站),要

求主控站在10ms内对所有从站轮询一周。这种主控网结构用在很多场合,火灾报警系统,

小区安防,智能大厦,学校等。也适合选用很多种已有的现场总线。关键是这个项目的系

统实时性响应要求。

10ms!什么概念,一个继电器吸合的时间。WorldFIP协议20ms查询一个站点,60

个站需要1秒钟以上;profibus逻辑环? CAN? LonWorks好像能实现令牌环,可是谁会

用?光一套开发设备就100多万,这个项目总共也没有50万。标书写错了吧,世界级水

平?不过只要想做,就没什么质疑的余地,要么别做,客户就是上帝。

请人吧,请工控网上的专家帮我们出出主意,找那月薪8万的高级工控人士来指导我

们。不是没想过。

我们公司很小,与参加投标的所有公司在一起,怎么看都像是给人倒茶水的。但是最

后,我们中标。没人能干,我们捡剩下的。

没什么可讨论的,要快,只有令牌环。如果令牌环都达不到的轮询响应速度,那技术

问题根本不要讨论,放弃,回家。

令牌环什么概念?如果一个从站的响应帧占据总线的时间为300us(375K bps时),

那么60个从站论询一周需要300 x 60 =18ms。用户说可以了,不需要再提高波特律了。

375K令牌环和10M profibus逻辑环,谁快?我说“我比 profibus 高效多了?”那

是实验出来的。计算机专业的学生可能都知道,不用我在这卖关子。

逻辑令牌环是存储转发的,时间都花在CPU的参与(软件运行)上。其响应时间介于

令牌环与主从访问之间。特别是当60个站中只有30个(假设)站有数据要发送时,协议

轮询时间恒定不变。而相对于令牌环,轮询一周时间则响应减少,只需9ms。原因很简单,

令牌环运行在介质访问层,是硬件在循环。而profibus 是逻辑环,运行在用户层,是靠

软件(64K协议软件干什么的我也不知道)循环。

要实现令牌环,关键在于采用什么样的芯片。什么芯片在介质访问层上实现令牌环协

议?谁说中国没有自己的现场总线,我就强这一点点就够了!别什么事还没做,先把自己

打倒。至于逻辑环实验,我早做过了,没什么意思,用8051就能实现,如果再扩展一片

16C50,就可以成帧循环。那自己制定什么协议都行。你的系统里又不打算采用国外设备(开

放?第几个30年计划?)。

.环长的比特度量

环的长度往往折算成比特数来度量,以比特度量的环长反映了环上能容纳的比特数。假

如某站点从开始发送数据帧到该帧发送完毕所经历的时间,等于该帧从开始发送经循环返

回到发送站点所经历的时间,则数据帧的所有比特正好布满整个环路。换言之,当数据帧的传

输时延等于信号在环路上的传播时延时,该数据帧的比特数就是以比特度量的环路长度。

实际操作过程中,环路上的每个接口都会引人延迟。接口延迟时间的存在,相当于增加了

环路上的信号传播时延,也即等效于增加了环路的比特长度。所以,接口引人的延迟同样也可

以用比特来度量。一般,环路上每个接口相当于增加1位延迟。由此,可给出以比特度量的环

长计算式:

环的比特长度=信号传播时延×数据传输速率+接口延迟位数

=环路媒体长度×5(us/Km)×数据传输速率+接口延迟位数

式中5us/km即信号传播速度200m/us的倒数。

例如,某令牌环媒体长度为1OKm,数据传输速率为4Mbps,环路上共有50个站点,每个

站点的接口引人1位延迟,则可计算得:

环的比特长度=10(Km)×5(μs/km)×4(Mbps)+1(bit)×50

=10×5×10-6×4×106+1×50

=200+50=250(bit)

如果由于环路媒体长度太短或站点数太少,以至于环路的比特长度不能满足数据帧长

度的要求,则可以在每个环接口引人额外的延迟,如使用移位寄存器等。