KNXEIB通信协议的实时性分析与改进.docx
- 文档编号:22795603
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:10
- 大小:19.73KB
KNXEIB通信协议的实时性分析与改进.docx
《KNXEIB通信协议的实时性分析与改进.docx》由会员分享,可在线阅读,更多相关《KNXEIB通信协议的实时性分析与改进.docx(10页珍藏版)》请在冰豆网上搜索。
KNXEIB通信协议的实时性分析与改进
KNXEIB通信协议的实时性分析与改进
摘要:
KNX/EIB通信协议在其链路层使用CSMA/CA机制解决通信冲突问题,虽然提高了KNX/EIB网络防冲突能力,却造成同等级命令帧数据传输时延抖动非常大,传输实时性大打折扣。
提出对KNX/EIB实时性的改进方法KNX/EIBA,在不改变原有的通信协议栈的基础上,将一个调度程序应用于KNX/EIB通信协议的应用层与用户应用程序之间;将原有的分布式平等结构划分为分级主从结构,对数据命令帧的发送进行调度。
最后通过对KNX/EIBA进行分析及原型实现,证明了该方法通过有效地减轻传输时延的抖动从而改进了协议的实时性。
?
ス丶?
词:
KNX/EIB协议;实时通信;CSMA/CA机制;时延抖动
?
ブ型挤掷嗪?
:
TN915.04
文献标志码:
A
RealtimeanalysisandimprovementofKNX/EIBcommunicationprotocol
ZHANGGuodong?
┆?
*,ZHANGXihuang
KeyLaboratoryofAdvancedProcessControlforLightIndustry(MinistryofEducation)
SchoolofInternetofThingsEngineering,JiangnanUniversity,WuxiJiangsu214122,China
Abstract:
TheKNX/EIBcommunicationsprotocol,usingCSMA/CAmechanisminitslinklayertoresolvethecommunicationconflicts,hasimprovedtheKNX/EIBnetworkconflictpreventioncapacity.However,itresultsinthejitteroftransmissiondelaytoagreatextent,amongthesamelevelcommandframedata.Consequently,therealtimeoftransmissionhasbeenslashed.Inthispaper,theimprovedmethodnamedKNX/EIBAwasproposedfortherealtimeoftheKNX/EIBwithoutalteringtheoriginalKNX/EIBprotocol,whichappliedaschedulingprogrambetweentheapplicationlayeranduserapplicationprogramoftheKNX/EIBcommunicationprotocol,andchangedtheoriginaldistributedequalstructureintoamasterslavestructure,anddispatchedthesendingofthedataframes.Finally,theanalysisandrealizationoftheKNX/EIBAprototypeprovethatitimprovestherealtimeperformanceoftheprotocolbyreducingthetransmissiondelayjitter.
Keywords:
KNX/EIBprotocol;realtimecommunication;CSMA/CAmechanism;transmissiondelayjitter
0引言
随着楼宇智能化应用越来越普及,产生了许多楼宇智能化通信协议,其中KNX/EIB(Konnex/ElectricalInstallationBus)通信协议应用最为广泛。
KNX/EIB通信协议是唯一一个开放式并经过认证的标准,2006年成为国际标准ISO/IEC145433,并于2007年正式成为中国国家标准GB/Z20965―2007[1]。
在家庭或者楼宇智能环境中,对通信协议实时性传输的要求非常高。
每个数据命令的发送执行都有一个期限,如果超过这个期限,将会有新的随机数据命令产生,前一条命令可能就已经失效了。
换句话说,一条数据命令必须在要求的时间内得到执行,同时还要求每条数据命令的传输时延要稳定。
KNX/EIB通信协议采用了无线通信常采用的带冲突避免的载波侦听多路存取(CarrierSenseMultipleAccess/CollisionAvoidance,CSMA/CA)[2]防冲突机制来解决KNX/EIB网络的冲突问题,但CSMA/CA机制导致数据命令帧传输时延抖动非常大。
比如调光命令,调光命令由两条数据命令组成,两条数据命令的产生是随机的,采用CSMA/CS算法机制可能会使这两条数据命令发送的延迟时间不同,造成调光无法准确执行;再比如,在总线不繁忙时,一个开灯数据命令或许可以很快地得到发送执行,但是当总线繁忙时,数据命令可能为了避免冲突,回避高优先级或者同优先级优势数据命令的发送,造成很长的传输时延。
这种情况在楼宇智能环境下是不能容忍的,而且可能会因此造成严重的误操作。
这也使网络的实时性降低。
本文针对KNX/EIB通信协议在双绞线(TwistedPair,TP1)中传输的实时性问题,提出一个改进方法KNX/EIBA。
在不改变原有的通信协议栈的基础上,将一个调度程序应用于KNX/EIB通信协议的应用层与用户应用程序之间。
将原有的分布式平等结构划分为分级主从结构,对数据命令帧的发送进行调度。
最后通过对KNX/EIBA进行分析及原型实现证明了该方法通过有效地减轻传输时延的抖动从而改进了协议的实时性。
在不改变原有KNX/EIB协议的基础上,将KNX/EIB各模块分为主从结构来调度数据帧的发送,减少了传输时延抖动,从而在一定程度上解决了KNX/EIB通信协议实时性问题。
1KNX/EIB通信协议
1.1KNX/EIB通信协议概述
KNX/EIB通信网络是一种倾向于网络管理的应用型网络。
每个总线连接单元(BusCouplingUnit,BCU)在链路层之上具有相同的通信内核。
KNX/EIB通信协议包含7层OSI标准的通信模型。
图1为TP1下的网络拓扑结构。
逻辑拓扑结构允许256个BCU安装在一条支线(line)上,15条支线通过支线耦合器(linecoupler)连接到一条总线(mainline)上构成一个域(area),15个域又通过域耦合器(areacoupler)连接到骨干线(backboneline)上组成整个网络[3]。
从模块伪代码如下:
程序前
If有通信需求then
IfTranslation_Au参数有效then
向总线发送数据
Translation_Au参数设置为无效;
elseifTranslation_Au参数无效then
向主模块用A_ProPertyValue_Write服务发送通信请求;
启动定时器
endif
while定时器在运行do
IfTranslation_Au参数有效then
向总线发送数据
Translation_Au参数设置为无效;
终止定时器
break;
endif
endwhile
if如果数据还没有发出then
强制向总线发送数据
endif
elseif无通信请求then
IfTranslation_Au参数有效then
置Translation_Au参数无效;
调用A_ProPertyValue_Write对主模块Translation_Dt参数设置为有效;
endif
endif
程序后
3.4主模块调度程序
主模块调度程序的主要任务是通过KNX/EIB通信协议中的A_ProPertyValue_Write应用层服务来响应从模块的通信请求,管理Translation_Au参数,达到分配从模块通信信道的作用。
主模块的调度程序的伪代码如下所示:
程序前
While
(1)
发送作为网桥或者路由功能的数据命令帧;
ifPanding_Req_List列表中不为空then
IfTranslation_Dt有效then
终止定时器;
调用排序算法从Panding_Req_List选出第一个从模块;
调用A_ProPertyValue_Write对从模块Translation_Au参数设置为有效;
对Panding_Req_List其他从模块的非零Priority_TR值减1;
重新启动定时器;
开启总线监听程序
endif
endif
ifTranslation_Au无效then
If定时器运行终止then
设置Translation_Au有效
endif
endif
endwhile
程序后
总线监听程序伪代码;
程序前
while定时器在运行then
if选定从模块有数据命令帧发出do
设置Translation_Au有效
计时器终止;
endif
endwhile
程序后
主模块收到从模块发送的通信请求后,在接受数据命令帧的过程中,确认此数据命令帧为非过滤数据命令时,立刻向上一级主模块请求通信,尽量减少数据命令帧在主模块等待时间。
3.5网桥的设计
网桥借用原有的连接方式,将原有的支线分割成多个物理段,分割方式是可以多种多样的,如图3所示,其中的B模块就是网桥。
图片
图3网桥分割连接方式
网桥不具有自己的IADRS,而是映射其他BCU的IADRS。
作为从模块时,映射下一级请求通信的从模块的IADRS;作为主模块时,映射支线耦合器的IADRS。
网桥具有过滤功能,对于不需要传输给本级或者从级的数据命令帧予以过滤,使得通信信道利用率增加。
主模块接收到作为从模块的网桥的通信请求时,存储在Panding_Req_List中相应请求的Priority_TR初始值为255,使其有较高优先级发送数据命令帧,目的是减少跨越网桥的数据命令帧在网桥的等待时间。
4KNX/EIBA的分析与实现
4.1KNX/EIBA的理论分析
按照KNX/EIBA,一条低优先级的数据命令帧从一条支线上传送到骨干网上的最大延迟时间为
T?
┆?
max=T?
┆?
l+T?
┆?
a+T?
┆?
bb
(1)
其中T?
┆?
l为数据命令帧在支线上发送以及等待发送许可所需要的最大延迟时间,当支线上的所有模块同时多次发送数据,且该BCU的IADRS最大时,就产生了如下的最大延迟时间,其值为
T?
┆?
l=((T?
┆?
rq+T?
┆?
rp+T?
┆?
tr)×n+T?
┆?
rq×(n-1))×m
(2)
其中:
T?
┆?
rq为申请通信帧发送所需要的时间,T?
┆?
rp为主模块发送通信许可帧所需要的时间,T?
┆?
tr为数据命令帧发送所需的时间,n为网桥分割的物理段中的BCU的数量,m为网桥分割物理段的级数。
?
オ?
【不通顺】T?
┆?
a为在域结构上数据帧所要花费的最大延长时间,为域结构上所有的支线耦合器同时多次向总线发送数据产生的延迟时间,且该数据帧的优先级最低的情况下,所产生的最大延迟时间,
T?
┆?
a为数据帧在域结构上传输的最大延迟时间,即域结构上所有的支线耦合器同时向总线发送数据且该数据帧的优先级最低时产生的延迟时间,其值为
T?
┆?
a=(T?
┆?
rq+T?
┆?
rp+T?
┆?
tr)×Am+T?
┆?
rq×(Am-1)
(3)
其中Am?
У闹滴?
域结构上所连接支线的数量。
T?
┆?
bb为在骨干上数据命令帧发送所需要的时间,其值为
T?
┆?
bb=(T?
┆?
rq+T?
┆?
rp+T?
┆?
tr)×BBm+(BBm-1)×T?
┆?
rq
(4)
其中BBm为骨干结构上所连接域的数量。
则低优先级的数据命令帧从一条支线传送到骨干网上的最大延迟时间为
T?
┆?
max=(2BBm+2Am+2n×m-m-2)T?
┆?
rq+
(BBm+Am+n×m)T?
┆?
rp+(BBm+Am+n×m)T?
┆?
tr
(5)
则此情况下系统的最大延迟时间将与接入网络的BCU数量和分级的数量有关。
KNX/EIBS中所有的BCU同时多次发送数据的情况下,低优势数据帧需要对高优势数据帧退让,低优势数据帧会一直无法发送,只有当高优势数据帧停止发送,低优势数据帧才可以发送,则低优势数据帧的传输延迟时间将是最大传输延迟时间,而低优势数据帧的传输延迟时间将是无法确定的。
KNX/EIBA的最小延迟时间为线路上只有一个BCU发送数据,没有其他数据帧进行竞争,其值为
由上面的分析可知,KNX/EIBA虽然牺牲了最小延迟时间,但是在最大延迟时间上要少于KNX/EIBS;KNX/EIBA的最大延迟时间与分级的数量和模块的数量有关,其最大延迟时间是确定的,而KNX/EIBS的最大延迟时间是不确定的;KNX/EIBA使数据命令帧的传输延迟的抖动范围缩小,减小了系统的传输延迟抖动。
4.2KNX/EIBA的实测
通过构建KNX/EIB网络环境,实现KNX/EIBA的硬件及软件设备,分别测试了KNX/EIBA及KNX/EIBS下的数据命令帧的延迟时间。
硬件方面,主模块控制芯片选用基于ARMCORTEXM3内核的LM3S8962微控制器,从模块分别选用NEC公司的uPD78F0537D和TI公司的MSP430两种微控制器,控制器通过UART模块连接TP_UART芯片[9]与KNX/EIB总线进行通信。
软件方面,uPD78F0537D与LM3S8962微控制器使用BIM130型KNX/EIB通信协议内核,MSP430微控制器使用BIM113型KNX/EIB通信协议内核。
同时,在KNX/EIB网络上加装西门子公司的USB接口模块与WindowsXP环境下的ETS监控软件相连接。
ETS监控软件用于监控统计分别在KNX/EIBS和KNX/EIBA两种方法下255个模块的数据命令帧的传输延迟时间。
4.3对监控数据的分析
分别对采用KNX/EIBA与KNX/EIBS两种方法的系统进行监测。
分别测得的5?
B000个数据命令帧的延迟时间的分布情况如图4所示,纵轴为采集到的数据命令帧延迟时间,横轴为采集到的数据命令帧的序号。
图片
由图4(a)可知,KNX/EIBS采集到的传输延迟抖动非常大,虽然大部分的时间都在4?
@s以下,但是存在传输延迟非常长的情况,而且此种情况非常多,并且这些延迟都是不能容忍的。
由图4(b)可知,KNX/EIBA大部分的数据也分散在4?
@s以下,但是没有像图4(a)那样的长延迟时间,最长延迟时间不会超过6.2?
@s。
由表1可知,KNX/EIBA在最大延迟时间、平均延迟时间上明显优于KNX/EIBS。
通过均方差值的比较,KNX/EIBA的传输延迟的抖动要明显优于KNX/EIBS。
在最小延迟时间方面,KNX/EIBA比KNX/EIBS差,但是根据
KNX/EIB应用场合,百毫秒级的延迟是不会影响使用效果的。
平均延迟时间的降低证明系统的实时性得到了改善。
(下转第384页)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- KNXEIB 通信协议 实时 分析 改进