总线传输的访问方法
<p>总站传输分为主从访问,载波侦听多路访问,时分多址访问三种方法。</p><p>主从访问就是总线网络只存在一个主站,其他都是从站,主站不请求,从站不会主动响应,485就是这种访问方法。</p>
<p>时分多址访问就是分时间段访问不同的地址,这个也很容易理解。</p>
<p>就是这个载波侦听多路访问,是总线上的所有设备都在侦听吗,而且优先权是怎么分配的?</p>
<p>在一些实时性要求较高的网络中,关键数据或高优先级设备可能会被赋予更高的发送优先级,以减少延迟和确保数据的及时传输。</p>
<p>载波侦听多路访问可以理解为网络中的每个设备或称为站点,在发送数据前,都会先“听听看”通信线路比如以太网总线上是否已经有其他设备在发送数据。</p>
<p>这个“听”的过程就是载波侦听。</p>
qwqwqw2088 发表于 2024-9-9 09:10
载波侦听多路访问可以理解为网络中的每个设备或称为站点,在发送数据前,都会先“听听看”通信线 ...
<p>假设在某一时刻,总线上的设备都不发送数据,所有设备都在侦听,但是此刻有多个设备要发送数据,那岂不是要竞争,应该是有级别较低的停止发送,但是对于已经先发出的帧的一部分,是否会重新发送?</p>
<p>想象一下,你和其他人在一个房间里要通过同一个麦克风发言。避免大家同时说话造成混乱,</p>
<p>会遵守以下规则:</p>
<p>先听后说:在你发言之前,你会先听听看有没有人在用麦克风说话。如果有人在说话,你就得等着,直到他们说完。<br />
如果可以说话,就赶紧说:一旦你发现麦克风是空闲的,没有人在说话,那么你就可以开始发言。<br />
小心突然有人说话:在你说话的过程中,你也要继续留心听,以防突然有人开始说话导致两个人同时发言(这就像网络中的“碰撞”)。</p>
<p>如果发生了这种情况,你们可能需要停下来,互相道歉,然后决定谁先继续说话。<br />
</p>
<p>载波侦听多路访问类似是大家在同一个房间里分享一个麦克风,每个人都要先“侦听”,看看是否有人在用麦克风,然后才能“访问”,使用麦克风发言。</p>
<p>这种方法确保了大家都有机会说话,不会互相干扰。</p>
<p>在大家用的计算机网络中,这个“麦克风”就是传输数据的媒介,比如以太网电缆。</p>
<div class='shownolgin' data-isdigest='no'>乱世煮酒论天下 发表于 2024-9-9 09:22
假设在某一时刻,总线上的设备都不发送数据,所有设备都在侦听,但是此刻有多个设备要发送数据,那岂不是 ...
<p>在载波侦听多路访问协议中,会存在多个设备同时想要发送数据的情况,这会导致竞争。当多个设备同时发送数据时,可能会发生碰撞。<br />
碰撞发生后,设备会停止发送当前帧,并发送碰撞信号。<br />
设备会等待一段随机时间后重新发送整个数据帧,而不是只发送未完成的部分。</p>
</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <div class='shownolgin' data-isdigest='no'> 本帖最后由 dukedz 于 2024-9-9 13:52 编辑
<p>以太网很早之前多台电脑直接并在一起,和 485 一样,数据量大了就会有很多冲突,影响网速,所以后来加上交换机避免冲突</p>
<p> </p>
<p>侦听只是发送的时候,确保总线是空闲的,不能避免小概率同时发送的情况</p>
<p> </p>
<p>同时发送会导致多方数据包都被破坏,需要延时重新传输(退避算法)</p>
<p> </p>
<p>想不破坏数据包,需要用 can 和 rs485 (cdbus) 之类的非破坏性仲裁方式:<br />
https://bbs.eeworld.com.cn/thread-1267965-1-1.html</p>
<p> </p>
</div><script>showreplylogin();</script>
页:
[1]