文档介绍:2
2 2
2
2
2
2
2
2
2
第 30 卷第 10 期电子工程师 Vol. 30 No. 10
2004 年 10 月 ELECTRONIC ENGINEER Oct. 2004
利用单片机实现载波侦听多址接入
杨君1 , 尚洁2
(1. 武汉科技大学信息科学与工程学院, 湖北省武汉市 430081 ;
2. 海军工程大学, 湖北省武汉市 430022)
2 2 2 2
【摘要】介绍了载波侦听多址接入(CSMA) 技术,比较了 3 种坚持算法2 ,采用 P 坚持算法,解决
了网络中分配给传输信息量少的节点的时段不能被充分应用、节点数据量大、时段不够用,以及多节
点同时通信时产生冲突等问题。利用 C51 语言实现了单片机 AT89C52 载波侦听控制功能。
关键词:CSMA , AT89C52 , 1 坚持 CSMA , P 坚持 CSMA
中图分类号:TN393. 03
c) 如果有冲突(在一段时间内未收到肯定的回
0 引言
复) ,则等待一随机量的时间,重复步骤 a 、b。
本文介绍一种利用 89C52 单片机实现载波侦听多这种算法的优点是:只要媒体空闲,站点就立即发
址接入(CSMA) 协议功能的设计方法。在嵌入式单片送,避免了媒体利用率的损失。其缺点是:假如 2 个或
机网络中,经常会遇到有多个网络用户需要共享一个 2 个以上的站点有数据发送,冲突就不可避免。为了
公共信道的情况,这就涉及到信道共享技术。每个计能像非坚持算法那样减少冲突,又能像 1 坚持算法那
算机用户都能独立地决定帧的发送,如 2 个或多个用样减少媒体空闲的时间,本设计采用了一种折中方案,
户同时发生,就会产生冲突,同时发送的所有帧都会出即 P 坚持 CSMA。
错。因此,一个用户发送信息成功与否,很大程度上取 3) P 坚持 CSMA
决于公共信道是否空闲的算法,以及当 2 个节点同时 a) 监听总线,如果媒体是空闲的,则以 P 的概率
发送的分组发生冲突时所使用和中断传输的方法。发送,而以(1 P) 的概率延迟一个时间单位。时间单
位通常等于最大传播延迟的 2 倍。
1 CSMA 简介
b) 延时了一个时间单位后,则重复步骤 a 。
CSMA 也称先听后说(listen before talk) 。要传输的 c) 如果媒体是忙的,继续侦听,直至媒体空闲并
数据站首先对媒体进行侦听,确定是否有其他数据站重复步骤 a 。
在传输。如果媒体空闲,该站可传输;否则,该站将退问题在于如何选择 P 的有效值,需要考虑的主要
避一段时间后再尝试。常用退避算法有以下 3 种: 因素是要避免重负载下系统所处的不稳定状态。
1) 非坚持 CSMA P 坚持 CSMA 随机接入过程如图 1 所示。
a) 如果媒体是空闲的,则发送。
b) 如果媒体忙的,则等待由概率分布决定的、一
定量的重发延迟时间,然后重复步骤 a 。
采用随机的重发延迟时间可以减少冲突的可能
性。其缺点是:即使几个站有数据要发送,媒体仍然可
能处于空闲状态,媒体的利用率较低。为了避免这种
媒体利用率的损失,可采用坚持 1 坚持 CSMA。
2) 1 坚持 CS