html 串行通信接口,一种串行通信接口的级联方法与流程

d932afc9648192c3de8234b9c6114c6a.gif

本发明属于自动控制

技术领域:

,具体为一种基于RS232串行通信接口的级联方法。

背景技术:

:RS-232是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准,基于发送、接收、地端的3线制接口由于连接方式简单,广泛应用于自动控制领域中设备之间的连接。然而,RS-232在实际使用中一般用于点对点传输,在多个设备同时控制和响应的需求下,需要使用RS-485标准;根据RS-485标准,任意两个设备间的通信是由MASTER设备进行中转的,即任意两设备不能直接进行通信,且链路上只允许存在一个MASTER设备,其余均为SLAVE设备,因此,在多点都存在通信需求的情况下,RS-485链路通信流程显得繁琐;并且RS-485标准并未明确通信的具体传输协议。本发明所涉及的传输协议,不仅引入了设备地址的概念,而且设置了设备下不同可操作的子设备分类号,方便命令发起设备对其他设备的寻址和直接业务操作,提高了执行效率。技术实现要素:本发明的目的是提供一种串行通信接口的级联方法,该级联方法具有连接线路资源占用少、效率高、协议实现简单的特点,在当前串行协议普遍应用的背景下,具有广泛的应用前景。实现本发明目的的具体技术方案是:一种串行通信接口的级联方法,其特征在于,该方法包括:(a)、由携带RS232串口的设备组成的链式结构;(b)、基于该链式结构的设备,通信过程中所要遵循的传输协议;其中:所述链式结构:由数个设备通过RS-232接口,首尾相接构成;每个设备包含2个RS-232串口,靠近链首的定义为上级串口,靠近链尾的定义为下级串口;每个链式设备预先分配一个设备地址,且不能重复,链路上的所有设备依次连接成链,设备地址的分配需按照从链首到链尾地址依次增大的顺序,可不连续;该结构上的任意两设备之间能够进行通信;所述基于该链式结构的设备,通信过程中所要遵循的传输协议:设备在进行数据传输时,遵循统一的传输协议,协议帧结构包括传输帧头、目标设备地址、源设备地址、当前设备主分类号、当前设备从分类号、传输数据及传输尾部,具体为:A.传输帧头定义为Nbit二进制数,N至少32,任意链路设备发送或返回数据时需携带传输帧头;且每个设备根据指定帧头内容判断帧的起始位置,及是否为有效帧数据。B.目标设备地址为本次指令或数据传输中,目的设备的地址,由位宽至少8bit的二进制数表示,若设备1发送指令给设备3,则当前指令中的目标设备地址则为03。C.源设备地址为本次指令或数据传输中,发出指令的设备地址,由位宽至少8bit的二进制数表示,若设备1发送指令给设备3,则当前指令中的源设备地址则为01。D.设备主分类号为依据每个设备下挂接的具体操作实体类型不同,进行区分的类型号,由位宽至少8bit的二进制数表示;例如3号设备下可挂接数模转换器、模数转换器、显示设备和其他外设,则可按实体类型不同分别定义为00/01/02/03。E.设备从分类号为设备主分类号相同的情况下,具体操作实体的序号,由位宽至少8bit的二进制数表示;例如3号设备下的数模转换器共有8个,则可以定义主分类号为00的数模转换器的8个从分类序号分别为00-07。F.传输数据为指令的具体写入内容或数据的具体返回内容,具体长度不限制,一般不超过512bit,超过部分可按512bit为单位,按多次进行发送。例如当前可以写控制数据到某个链路设备的某个外设,具体控制数据的数值则在传输数据中体现。G.传输帧尾为传输帧结束的标志,由位宽不少于16bit的二进制数构成,用于标识当前传输帧的结束以及确定传输帧有效,每次传输都以传输帧尾结束,用于提示接收端有效数据边界。本发明在一次传输中源设备为指令的发起者,目的设备为指令的执行者;源设备发送指令至目的设备后,若当前为无返回结果的传输指令,则目的设备执行即可;若当前为有返回结果的传输指令,目的设备执行后按照链路传输格式返回执行后的数据到源设备。所述链式结构上的每个设备,既能充当源设备,也能充当目的设备,在一次传输中,只有一个源设备和一个目的设备。本发明的有益效果本发明适用于多个串口设备之间的连接,并能通过简单的协议传输方式,完成线路上任意两个设备之间的通信,协议中引入了设备地址的概念,从而使任意接收到传输指令的设备了解指令的来源和去向,实现了通过上级串口和下级串口进行自动寻址的操作;另外,协议中还引入了设备主、从分类号,方便指令发出端对目标设备进行具体的操作,根据主、从分类号的不同,可以实现设备下具体功能的精细区分;为在本发明的基础上,构建完善的指令体系提供了可能;本发明阐述的链式结构及其相关协议具有连接线路资源占用少、效率高、协议实现简单的特点,在当前串行协议普遍应用的背景下,具有广泛的应用前景。附图说明图1为本发明链式结构示意图;图2为本发明级联设备的传输帧格式示意图;图3为本发明级联设备发送指令示意图;图4为本发明级联设备返回数据示意图;图5为本发明任意结点设备发送指令示意图。具体实施方式下面结合附图及具体实施例对本发明做进一步描述。本发明针对主机对链式设备的控制或链式设备与主机之间的响应,或链式设备之间的控制与响应问题,物理连接上构建了一种级联的连接方式;并为其物理连接构建了上层的传输协议。物理连接依托RS232串行通信接口,传输协议中设计了传输帧头、目标设备地址、源设备地址、当前设备主分类号、当前设备从分类号、传输数据、传输尾部,共计7个部分。该级联方法适用于多个串口设备之间的连接,并能通过简单的协议传输方式,完成线路上任意两个设备之间的通信。本发明所涉及的链式结构,由多个设备通过RS-232接口,首尾相接构成,如图1所示。每个设备包含2个RS-232串口,靠近链首的定义为上级串口,靠近链尾的定义为下级串口;每个链式设备需预先分配一个设备地址,且不能重复,链路上的所有设备依次连接成链,设备地址的分配需按照从链首到链尾地址依次增大的顺序,可不连续。链路设备在进行数据传输时,需遵循统一的传输协议,协议帧结构如图2所示,包括传输帧头、目标设备地址、源设备地址、当前设备主分类号、当前设备从分类号、传输数据、传输尾部。实施例1设链路上有设备编号为1、2...8的8个设备,设备8下面下挂的执行设备类包括数模转换、模数转换、显示、其他外设,对应主分类号分别为00/01/02/03;设备主分类号为01的模数转换设备下包括设备从分类号为0-3的4个具体设备,如图3所示。当设备1发出指令,要求设备8的从分类号为01的模数转换设备执行某项操作时,链路上的各个设备传输数据及解析方式如下:ⅰ)设备1的发送帧结构为:帧头目的设备地址源设备地址主分类号从分类号数据帧尾A5A5757508010101XXXXAAFFⅱ)设备2的上级串口收到设备1发送的数据帧后,首先缓存该数据帧,并确定数据帧头是否正确,若由于线路噪声导致帧头传输不正确,则对该数据帧进行丢弃。在数据帧头正确的情况下,解析目的地址,并与当前设备地址进行比较,当前设备地址为02,不等于该数据帧目的地址08,则设备2将缓存的整帧数据向下级串口进行转发。ⅲ)设备3的上级串口接收到设备2发来的数据帧后,处理方式同设备2,解析数据帧的目的地址为08,和当前设备号03不相等,继续向下级串口转发。设备4-7的处理方式均同设备2。iv)当设备8接收到数据帧时,解析目的地址为当前设备地址,则调用当前主分类号为1、从分类号为1的数模转换设备,根据数据帧中的传输数据进行执行,若该指令无需数据返回,则传输结束。实施例2在实施例1中,若设备1发出的指令需要设备8执行后,进行相应的数据返回,则设备8需要将结果数据返回至设备1,并根据设备1发送的数据帧重新封装成帧进行传输,如图4所示:ⅰ)将设备1发送数据帧中的源地址,设定为新数据帧的目的地地址;ⅱ)将当前设备号8作为新数据帧的源地址;ⅲ)主分类号、从分类号分别设置为当前设备8执行指令的对应主、从分类号;iv)待返回的数据填入传输数据相应字段;ⅴ)加入统一的帧头、帧尾结构,则设备8发送的数据帧结构为:帧头目的设备地址源设备地址主分类号从分类号数据帧尾A5A5757501080101XXXXAAFFⅵ)设备7至设备2依次收到设备8发送的数据帧,比较当数据帧目的设备号01和当前设备号不相等,则依次通过上级串口进行转发,直至发送至设备1。ⅶ)设备1通过对比目的设备号01和当前设备号相符,获取当前数据帧的数据,不再进一步转发;并根据源设备地址,确定是由设备8返回的执行数据。至此,实施例1和实施例2一起构成了一次发送指令和返回数据的完整流程,即设备8发送指令给设备1执行,设备1执行后,返回数据给设备8,一个完整的设备1和设备8之间的指令数据传输并返还结果的流程完成。实施例3设链路上有设备编号为1、2...8的8个设备,设备1和设备8下面下挂的执行设备类包括数模转换、模数转换、显示、其他外设,对应主分类号分别为00/01/02/03;设备8的主分类号为01的模数转换设备下包括从分类号为0-3的4个具体设备,设备1的主分类号为02的显示设备下包括从分类号为0-3的4个具体设备,如图5所示。当设备4发出指令,要求设备8的主分类号为01、从分类号为01的数模转换设备执行某项操作,同时要求设备1的主分类号为02、从分类号为02的显示设备执行某项操作时,设备4需要分别发送至设备8和设备1两条指令,链路上的各个设备传输数据及解析方式如下:ⅰ)设备4发送至设备8的数据帧结构为:帧头目的设备地址源设备地址主分类号从分类号数据帧尾A5A5757508040101XXXXAAFFⅱ)设备4发送至设备1的数据帧结构为:帧头目的设备地址源设备地址主分类号从号数据帧尾A5A5757501040202XXXXAAFFⅲ)发送至设备8时,设备4检测数据帧目的地址为08,大于当前设备地址04,则数据帧由下级串口发出;设备5接收到当前数据帧后,检测目的地址为08,仍然大于当前设备地址05,继续由下级串口发出,直至传输至设备8,对该指令进行执行。ⅵ)发送至设备1时,设备4检测数据帧目的地址为01,小于当前设备地址04,则数据帧由上级串口发出;由于后级设备的设备号依次减小,后级设备收到当前数据帧后,若不等于当前设备号,则继续向上级传输,直至传输至设备1,对该指令进行执行。本实施例的特点体现为发送指令的设备可以在链式结构的任意位置,无需首链首或链尾的限制。当前第1页1&nbsp2&nbsp3&nbsp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值