当前位置:文档之家› 基于RS485主从通信协议的实现

基于RS485主从通信协议的实现

基于RS 485主从通信协议的实现王 苒,汤冬谊(大连电子学校教务中心 辽宁大连 116000)摘 要:介绍基于R S 485的主从总线进行通信的分层体系结构设计,及其在8051单片机上的具体实现,程序使用Keil C 51编写。

关键词:主从协议;C S 通信;帧;协议数据单元;封装中图分类号:T P 336 文献标识码:B 文章编号:1004373X (2003)2406702Ach ievem en t of M a ster slave Comm un ica tion Arch itecture Ba sed on RS 485W AN G R an ,TAN G Dongyi(Teach server Centre ,D alian E leetrical Schoo l ,D alian ,116000,Ch ina )Abstract :T h is article in troduceM aster slave comm un icati on arch itectu re design based on R S 485,and app licati on in the 8051Single ch i p system ,comp iled by the Keil C 511Keywords :m ater slave p ro toco l ;C S arch itectu re ;fram e ;p ro toco l data un it ;encap su lati on收稿日期:20030720 在工业控制领域,随着技术水平的不断提高,各种现场总线技术被开发出来,如PRO F I BU S ,CAN 等,但基于R S 485的主从总线因其简单成熟而仍然被广泛采用。

主从协议与ISO O S I 七层协议的对应关系如图1所示。

图1 主从协议与ISO O S I 七层协议的关系图在物理层,使用E I A T I A 485协议。

数据链路层由串行数据链路协议定义。

串行数据链路协议为主从协议。

自定义应用层协议位于ISO O S I 的第7层,提供连接在总线上的各个设备之间的C S 通信。

客户对应主节点,服务器对应从节点。

1 数据链路层111 主从协议串行数据链路协议为主从协议。

只有一个主节点与一个或多个从节点同时连接在一条总线上。

主节点负责命令的发起,从节点接收命令并响应。

从节点只有收到主节点命令时才会做出响应,从节点之间不能相互通信。

主节点向从节点发送2种类型的请求:单址模式 主节点寻址一个单独的从节点。

从节点收到并处理请求之后,向主节点返回一个消息(应答)。

在该模式中,一个会话包含2个消息:主节点的请求、从节点的应答。

每个从节点必须有一个独一无二的地址,从而可以被主节点寻址到。

广播模式 主节点向所有从节点发送请求。

主节点发送的广播请求无需从节点响应。

广播请求通常为写命令,所有从节点必须接受。

地址0为广播请求保留。

112 帧描述自定义应用层协议定义独立于底层的协议数据单元(PDU )。

该协议建立在串行数据链路协议之上,发送请求的客户端将该PDU 封装在串行数据链路协议的数据单元中进行发送。

如图2所示。

图2 自定义应用层的协议数据单元113 传输模式11311 R TU 传输模式采用R TU (远程终端单元)传输模式。

该模式同A SC II 码模式相比,优点是在相同的波特率下能够传76《现代电子技术》2003年第24期总第167期网络与通信送更高的字符密度,数据的传输率较高。

传送每个消息的字符流必须是连续的。

R TU模式下每个字节(11b)按以下顺序(自左向右)传输:起始位12345678校验位停止位11312 信息帧信息帧格式如下:从节点地址功能码数据CRC1B1B0~252B2B,低位在先一个完整的信息帧由连续的字节序列组成,必须有明确的开始和结束标志,以使接收方能够识别出完整一帧。

协议规定,在2个独立帧之间的空闲时间至少为315个字符发送时间。

如图3所示。

图3 帧间时间示意图对于38400b s以上的波特率,帧间时隙建议不小于1175m s。

11313 CRC校验循环冗余校验(CRC)字段包括2B,即16位二进制比特。

CRC由发送方生成,添加在帧尾,随信息帧一同发送,接收方按相同算法校验,如果不同,则视为出错。

11314 协议软件实现协议软件必须准确识别出一个完整帧并进行处理,如果有响应数据,则发送。

软件实现表示如图4所示(其中t315表示315个字符发送时间)。

图4 软件实现示意图软件实现时,可使用一个定时器监视t315的产生并在各个状态之间切换。

接收和发送在串行中断中实现。

本例采用8031系列Keil C51编写。

vo id T i m er1(vo id)in terrup t3{ s w itch(GetComm State()) { case COMM_S_I N IT:切换初始化状态至空闲状态 SetComm State(COMM_S_I DL E); b reak; case COMM_S_I DL E:空闲状态有数据发送则切换至发送状态,否则保持空闲状态 b reak; case COMM_S_R ECV:接收完毕,切换接收状态至处理状态 SetComm State(COMM_S_CTRL); b reak; case COMM_S_CTRL:等待处理 b reak; case COMM_S_E M IT:发送完毕,切换发送状态至空闲状态 SetComm State(COMM_S_I DL E); b reak; }重装该定时器}vo id Serial_In terrup t(vo id)in terrup t4{ TR1=0;禁止定时器 s w itch(GetComm State()) { case COMM_S_I DL E: SetComm State(COMM_S_R ECV);接收首位字符 b reak; case COMM_S_R ECV:接收其他字符 b reak; case COMM_S_E M IT:发送字符 b reak; defau lt: b reak; }重装该定时器并启动}2 应用层封装在串行数据链路协议中应用层协议如图5所示。

图5 自定义应用层的协议数据单元功能码为1B,范围是1~255,其中128~255为异常响应保留使用。

功能码的作用是标识客户向服务器发送的不同服务请求。

如果服务器返回客户发送的功能码,说明这是一个普通的响应;否则服务器向客户返回异常响应功能码。

如图6所示。

(下转第71页) 86王 苒等:基于R S485主从通信协议的实现尽量避开图像镜像干扰(n±9)频道。

(3)有收转关系的发射台,除同频、邻频不能使用外,还要避免本台发射频道对接收频道产生图像镜像干扰。

在同一发射台或同一服务区内应该避免同时存在的频道称为不相容频道。

凡频道间隔大约在表2所示范围内时,不可在同一发射台内使用。

表2 频道间的干扰频道频率间隔M H z干扰性质0同频干扰±1±8邻频干扰±4±32中频差拍、本振干扰±5±40中频差拍±8±64伴音镜像±9±72图像镜像这些干扰中以同频干扰最为严重,危害最大,所以在使用频率时首先要考虑避免同频干扰。

假设甲、乙2台的覆盖区分别如图1所示。

由于发射台的服务范围跟地形有关,计算服务半径或场强时取8个方向的地形数据进行计算,所以覆盖图为不规则的八边形,发射台的发射能力与其标称功率、天线增益、馈线损耗、天线有效高度、地形崎岖度等有关,具体计算方法不是本文论述的重点,这里不再赘述。

图1 甲、乙2台覆盖区若甲、乙2台是米波发射机,在甲、乙2台的连线上,B点是乙台的服务区边缘,A点是甲台的服务区的边缘,若经计算甲台在B点的干扰场强小于57dB -45dB=12dB,(V H F频锻电视标称可用场强为57dB,同频保护率为45dB)则甲台对乙台不产生同频干扰。

若乙台在A点的干扰场强也小于12dB(4m 接收天线)时,乙台对甲台也不产生同频干扰,符合同频保护率要求,则甲乙2台可用同频道,反之则会产生同频干扰,需改频道或采取技术措施加以消除。

2个同频台是相离的,而邻频道台则有时可以相交,因为邻频保护率为:下邻频道-6dB,上邻频道+4dB,所以2个邻频道台服务区相切或稍微相交不会产生干扰,但不能在同一覆盖区内。

同时看在同一服务区内是否有引起镜像及中频干扰的频道存在,也应尽量避免,但引起中频及像频干扰的频道与工作频道相距甚远,受输入电路衰减较大(彩色调谐器中频及像频干扰抑制比均为51dB)只要输入信号电平差不太大,则不会出现干扰。

要避开本振干扰。

即在米波段时D S6跟D S 10,D S7跟D S11,D S8跟D S12,尽量不要在同一服务区内同时使用。

否则,收看低频道的接收机本振信号会干扰临近的正在收看高频道的信号。

消除同频干扰的措施通常有如下几点:(1)减少发射机标称功率,减低天线高度。

(2)采取定向发射天线,调整覆盖区的方位和距离,达到避开干扰的目的。

(3)采取不同的极化方式。

(4)采取精密频率偏置技术。

5 结 语综上所述,频率是有限的自然资源,使用频率或频道时要遵循各种制约因素,考虑到上述种种干扰,在实际工作中尽量避免和消除各种干扰,避免造成频率资源的浪费。

要科学合理地使用频率或频道及技术参数,使广播电视的覆盖达到理想的效果,使受众收到高质量的广播电视节目。

参 考 文 献[1] 广播电视技术手册(第1分册)1系统和覆盖网[S]1(上接第68页)图6 一个普通的会话和异常响应的会话17《现代电子技术》2003年第24期总第167期网络与通信。

相关主题