基于CAN网采用滑动窗口技术传输故障录波的方案实现(修订稿2)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-基于CAN网采用滑动窗口技术传输电网故障信息的方案实现唐喜1孟岩1(北京四方继保护自动化股份有限公司研发中心北京100085)摘要:针对CAN(ControllerAreaNetwork)网传输智能电子设备IED(IntelligentElectronicDevice,以下简称IED)信息速度慢的现状,提出基于CAN网结构采用滑动窗口技术实现IED内部各通信插件之间信息交换的方法,将以太网TCP/IP协议中的“一问多答”、“断点续传”等先进技术应用到CAN网,可使IED大量的描述信息准确、快速交换,尤其是IED长时间故障录波后,可快速上传到分析终端进行故障诊断,缓解IED嵌入式系统的缓冲压力,提高IED长时间故障录波次数,满足国内外市场对IED连续故障录波能力的高要求。对比试验发现,与传统的“停止-等待协议”相比,“滑动窗口协议”传输电网故障信息更加高效,同时“滑动窗口协议”配置灵活,通过设变窗口尺寸,即可兼容“停止-等待协议”。此技术也可用于IED其它信息要求快速交换的场合。关键词:IED;滑动窗口;停止-等待协议;嵌入式系统0引言电力行业正在飞速发展,电力系统不断壮大,快速、准确定位电网故障显得尤为重要,从而用户对IED故障录波[1]能力要求也不断提高,迫使各大IED生产厂家不断推出新的硬件、软件平台,随着近几年电子工业的发展,硬件不断网络化,软件网络化也有了新的进展,但出于对IED实时性的特殊要求,保护软件直接借用TCP/IP协议[2]显然不能满足快速性要求,为此需要采用简单、可靠协议,通常各IED生产厂家对IED内部各插件之间的通信协议均是自己制订,没有统一的标准,在对故障录波能力要求不高的情况下,都可以满足要求。但随着国内外市场对IED故障录波能力要求的不断提高,传统的软件协议已不能满足要求。故障录波存储容量、传输速度、打印速度等已成为衡量IED能力的一个重要指标。以往电网出现大扰动时,故障复杂,再加上连续故障,大多数IED的故障录波并不理想,有的因为故障录波超过存储容量,更多的还是因为IED嵌入式系统[3]缓冲受限,故障录波后不能及时存储、上传至远方,造成录波数据丢失,即使不丢失,想及时查看故障波形也需要等待好长时间,原因就在于大多数IED对于录波处理采用传统的“停止-等待协议”[4],不能满足录波容量大、快速传输的要求,成为IED录波处理能力的瓶颈。本文提出的滑动窗口技术可以打破此瓶颈,提高IED录波处理能力的性能指标,并给出基于CAN网的实现方案及对比试验。1原理CAN[5]属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。CAN具有十分优越的特点,使人们乐于选择。这些特性包括:低成本极高的总线利用率很远的数据传输距离(长达10Km)高速的数据传输速率(高达1Mbit/s)可根据报文的ID决定接收或屏蔽该报文可靠的错误处理和检错机制[6]发送的信息遭到破坏后,可自动重发节点在错误严重的情况下具有自动退出总线的功能报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息CAN网上对于一些简单应用,可以采用“停止-等待协议”,即传统意义上的“一问一答式协议”,(主要流程如图1所示)。但-2-对于数据量大、实时性要求高的场合,“停止-等待协议”不能满足要求,本文提出“滑动窗口协议”,对比二者原理上的优缺点后,即可以发现“滑动窗口协议”的优势。1.1停止-等待协议停止-等待(stop-and-wait)的思想:发送方传输一帧之后,在传输下一帧之前等待一个确认。如果在某段时间之后确认没有到达,则发送方超时,重发原始帧。介绍两个专有名词:确认(acknowledgement)和超时(timeout)确认[4](简称ACK):协议发给它的对等实体的一个小的控制帧,告知它已收到刚才的帧。控制帧是一个无任何数据的头部,但是一个协议也可以将一个ACK捎带在一个恰好要发向对方的数据帧上。发送方收到一个确认,表明帧发送成功。如果发送方在合理的一段时间后未收到确认,那么它重发(retransmit)原始帧。等待一段合理的时间的这个动作称为超时[4](timeout)使用确认和超时实现可靠传输的策略有时称为自动请求重发(AutomaticRepeatRequest,ARQ)。发送端接收端帧0ACK0帧1ACK1帧NACKN……时间线图1停止-等待协议正常情况下的流程图Fig.1Stop-waitprotocolflowchartundernormalconditions上述可以发现停止-等待算法的主要缺点:允许发送方每次在链路上只有一个未确认的帧,这可能远远低于链路的容量。1.2滑动窗口协议滑动窗口[2](slidewindow)技术主要用于信息流量控制,协调改善发送端和接收端的工作速度,广泛使用于Internet和其它网络之间的通信,一个好的实现既可以提高网络通信的数据流量,同时又能提高通信质量和解决拥塞控制问题。简要描述一下该算法:1、将需要传递的信息编码为一个有序的帧序列;2、发送方设置一个滑动窗口(缓冲区),该窗口大小为最大发送帧数(N)。该缓冲区采用先进先出队列机制,首先发送N帧信息,每帧都有一个定时器,当超时还没有收到接收方的应答帧时,则重发该帧;3、接收方设置一接收队列,对接收到的每帧入队列。如果该帧是编号最小的帧,则发送该帧收到的应答帧给发送方;4、发送方如果收到接收方的某帧的应答消息,则判断,如果是队列的第一个帧,则该帧出列。队列空出一位,再发送一帧,否则记录其为可出列标记。利用滑动窗口算法原理,可以保证数据在有序发送的情况下,顺利达到接收方。(1)窗口机制滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。下面举一个例子(假设发送窗口尺寸为2帧,接收窗口尺寸为1帧)。①初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,等待接收0号帧。②发送方打开0号窗口,表示已发出0帧但尚确认返回信息。此时接收窗口状态不变。-3-③发送方打开0、1号窗口,表示0、1号帧均在等待确认之列。至此,发送方打开的窗口数已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧。接收窗口此时状态仍未变。④接收方已收到0号帧,0号窗口关闭,1号窗口打开,表示准备接收1号帧。此时发送窗口状态不变。⑤发送方收到接收方发来的0号帧确认返回信息,关闭0号窗口,表示从重发表中删除0号帧。此时接收窗口状态仍不变。⑥发送方继续发送2号帧,2号窗口打开,表示2号帧也纳入待确认之列。至此,发送方打开的窗口又已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧,此时接收窗口状态仍不变。⑦接收方已收到1号帧,1号窗口关闭,2号窗口打开,表示准备接收2号帧。此时发送窗口状态不变。⑧发送方收到接收方发来的1号帧收毕的确认信息,关闭1号窗口,表示从重发表中删除1号帧。此时接收窗口状态仍不变。若从滑动窗口的观点来统一看待1比特滑动窗口、后退n及选择重传三种协议,它们的差别仅在于各自窗口尺寸的大小不同而已。1比特滑动窗口协议:发送窗口=1帧,接收窗口=1帧;后退n协议:发窗口1帧,接收窗口1帧;选择重传协议:发送窗口1帧,接收窗口1帧。(2)1比特滑动窗口协议[13]当发送窗口和接收窗口的大小固定为1时,滑动窗口协议退化为停等协议(stop-and-wait)。该协议规定发送方每发送一帧后就要停下来,等待接收方已正确接收的确认(acknowledgement)返回后才能继续发送下一帧。由于接收方需要判断接收到的帧是新发的帧还是重新发送的帧,因此发送方要为每一个帧加一个序号。由于停等协议规定只有一帧完全发送成功后才能发送新的帧,因而只用一比特来编号就够了。(3)后退n协议由于停等协议要为每一个帧进行确认后才继续发送下一帧,大大降低了信道利用率,因此又提出了后退n协议。后退n协议中,发送方在发完一个数据帧后,不停下来等待应答帧,而是连续发送若干个数据帧,即使在连续发送过程中收到了接收方发来的应答帧,也可以继续发送。且发送方在每发送完一个数据帧时都要设置超时定时器。只要在所设置的超时时间内未收到确认帧,就要重发相应的数据帧。如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。从这里不难看出,后退n协议一方面因连续发送数据帧而提高了效率,但另一方面,在重传时又必须把原来已正确传送过的数据帧进行重传(仅因这些数据帧之前有一个数据帧出了错),这种做法又使传送效率降低。由此可见,若传输信道的传输质量很差因而误码率较大时,连续测协议不一定优于停止-等待协议。此协议中的发送窗口的大小为k帧,接收窗口仍是1帧。(4)选择重传协议[14]在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发(SELECTICEREPEAT)。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。利用滑动窗口算法原理,可以保证一堆数据在有序发送的情况下,顺利的达到接收方。滑动窗口技术具备以下优缺点:优点:a)滑动窗口有利于提高带宽利用率,传输效率高b)滑动窗口使主机在等待确认消息的同时,可以发送多个字节或数据包c)滑动窗口的大小以字节数表示-4-d)滑动窗口的大小在连接建立阶段指定e)滑动窗口的大小随数据的发送而变化f)滑动窗口可以提供流量控制缺点:控制复杂。2应用实现系统平台架构如图2所示,系统主要由两大部分组成,一部分是电网故障信息采集及处理单元,由保护插件负责;另一个部分为电网故障信息管理单元,由信息管理插件负责。系统采用双CAN网[7]结构,一个CAN网用于与信息管理插件实时通信[8],另一个CAN网用于与开入、开出插件实时通信,总线不出芯片[2],有利于保护装置的高可靠性。大容量的故障录波,可以保存不少于24次事故录波。完整的事件记录和动作报告,可保存不少于2000条动作报告和2000次操作记录,停电不丢失。后台终端信息管理插件人机对话MMI显示打印机CT/PT交流插件nCPU保护插件nDIn开入插件DOn开出插件POWER电源插件CT/PT交流插件1CPU保护插件1DI1开入插件DO1开出插件IED设备内部通信架构光/电以太网CAN总线数据网控制网485网CAN总线PC终端CAN总线图2系统通信平台[9]架构Fig.2Structureofsystemcommunication软件主要结构体实现:滑动窗口数据传输结构体:typedefstruct_SLIDEWIN_TRANSMIT{//以下为主控方信息boolbIsUsedFlag;//是否使用滑动窗口技术传输WORDwStBarNo;//起始条序号BYTEBStSubBarNo;//起始子条序号WORDwWinSize;//窗口尺寸WORDwMaxFrmLen;//最大帧长度//以下是被控方信息WORDwRealWinSize;//由被控方实际上送的窗口尺寸intnRealBarNum;//由被控方实际上送的实际报文数boolbIsStartTimeOut;//是否启动超时定时器的处理}StruSlideWinTransmit;IED通信平台[15]:所有CA

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功