KNX是Konnex的缩写。1999年5月,欧洲三大总线协议EIB、BatiBus和EHSA合并成立了Konnex协会,提出了KNX协议。该协议以EIB为基础,兼顾了BatiBus和EHSA的物理层规范,并吸收了BatiBus和EHSA中配置模式等优点,提供了家庭、楼宇自动化的完整解决方案。
KNX总线是独立于制造商和应用领域的系统。通过所有的总线设备连接到KNX介质上(这些介质包括双绞线、射频、电力线或IP/Ethernet),它们可以进行信息交换。总线设备可以是传感器也可以是执行器,用于控制楼宇管理装置如:照明、遮光/百叶窗、保安系统、能源管理、供暖、通风、空调系统、信息和监控系统、服务界面及楼宇控制系统、远程控制、计量、视频/音频控制、大型家电控制等。所有这些功能通过一个统一的系统就可以进行控制、监视和发送信号,不需要额外的控制中心。
KNX通过一条总线将各个分散的设备连接并分组和赋予不同的功能。系统采用串行数据通信进行控制、监测和状态报告,KNX是基于事件控制的分布式总线系统,只有当总线上有事件发生时和需要传输信息时才将报文发送到总线上。
一、KNX简介
KNX技术的通信模型采用5层结构:物理层、数据链路层、网络层、传输层和应用层。KNX物理层支持TP1(双绞线)、PL110(电力线)、RF(射频)和Ethernet(以太网),其中TP1介质应用最多。数据链路层实现总线设备之间的数据传输,并解决网络中的通信冲突问题,对于小KNX系统中的总线设备,网络层的功能很小,只是完成了传输层和数据链路层的通信映射功能。大型KNX系统中有耦合器类产品,作用是在网络层完成路由功能和跳数(hop)控制功能。传输层完成设备之间的传输,有四种传输模式:点到点无连接、点到点有链接、广播和多播。
KNX传输介质主要是双绞线,比特率为9600bit/s。总线由KNX电源(DC24V)供电,数据传输和总线设备电源共用一条电缆,数据报文调制在直流电源上。
KNX系统有两种配置模型:S-Mode(系统模式)和E-Mode(简单模式)
S-Mode:该配置机制是为经过良好培训的KNX安装者实行复杂的楼宇控制功能。一个由"S-Mode"组件组成的装置可以由通常的软件工具(ETS3专业版)再由S-Mode产品制造商提供的产品数据库的基础上进行设计:ETS也可以用于连接和设置产品(即设置安装和下载要求的可用参数)。"S-Mode"提供给实现楼宇控制功能的最高级别的灵活性。
E-Mode:该配置机制是针对经过基本KNX培训的安装人员。和S-Mode相比,"E-Mode"兼容产品只提供有限的功能。E-Mode组件是已经预先编程好的并且已经载入默认参数。使用简单配置,可以部分的重新配置各个组件(主要是它的参数设置和通信连接)。
注:
ETS软件是系统设计、编程和调试的工具软件,可能需要购买。KNX系统构建和各种参数设置都需要ETS软件,ETS软件安装好后数据是空的,需要将各个制造商产品的参数导入数据库,KNX认证过的产品应当会有光盘之类的介质存储相关的产品信息。
二、KNX总线设备和网络拓扑
总线耦合器(BCU)
物理外部接口(PEI)
应用模块(AM)
由上图可知KNX总线设备主要由三部分组成。总线耦合单元主要由两部分组成:控制器和收发器,这也是硬件设计的地方。总线耦合单元由自己的MCU并集成了KNX协议栈;BCU会提供已定义的API(应用程序编程接口)函数,供AM通过PEI(一般是串口通讯)调用。KNX总线设备的BCU硬件都是相同的,一个总线设备的功能是有AM模块的应用程序决定。由BCU和AM可决定总线设备可以是一体或者分离结构。"一体结构"的通信部件和应用部件不可分离,不需要PEI(物理外部接口),"一体结构"产品的总线耦合功能和应用功能是由一个MCU实现;"分离结构"的产品其总线耦合功能和应用功能由不同的中央处理单元分别实现。
由上图可知KNX总线设备主要分为执行器(制动器)和传感器,如果KNX系统网络较大还需要耦合器/路由器
KNX系统拓扑的层次结构是线路、干线(域)、主干线。KNX采用分层结构,分为域和线路;一个系统有15个域,每个域有15条线路,每个线路有64个设备。大型KNX网络中支线/干线耦合器(路由器)和中断器和构建整个网络的关键设备。
1、线路
线路是KNX系统最小的单元,可接64个设备;实际可连接的设备数量应取决于总线电源和设备耗电。每条线路最长1000m。如下图所示:
2、干线(域)
KNX系统可以有15条线路通过线路耦合器(路由器)连接到主线路,如下图所示:
3、主干线(多个区域)
干线可通过干线耦合器(路由器)组成对个区域,一般情况下,一个KNX系统可接14400(15*15*64)个总线设备。一般KNX系统线路和干线都采用KNX通讯,如下图所示:
ABB大型KNX网络再主干线上采用的是以太网通讯,这样可以提高系统的通信速率,在干线上用以太网,干线和线路的耦合采用的是IP/KNX网关,线路用KNX通讯。这样的系统在干线网络中可有大量的状态信息。如下图所示:
由上图两个KNX系统可知耦合器(路由器)的作用,干线耦合器和线路耦合器作为网络的节点,作用是为数据传输找到合适的路径和切换链路,确保数据包到底目的地。另外对系统线路中的信号进行过滤后才能进入到干线中,这样可以增加干线的通讯速率。耦合器(路由器)使用两种不同的路由机制,对于组地址寻址,使用一种过滤算法;对于物理地址寻址,通过解释接收帧的物理地址进行路由。耦合器接收的组地址只要包含在该过滤表内,就可以被路由;这样可以保证各个线路独立工作。
有的大型设备在线路还会增加中继器,中继器没有物理地址,不具有过滤特性,只是确定接收到数据链路层上的帧,并在中继器的另一侧发送已接收的帧。这样可以增加线路的长度。
三、KNX系统通信
KNX总线设备是通过报文传输信息。设备发送报文后会收到应答,发送设备若收到NAK(接收错误)确认时,通常会重复发送报文三次;若收到BUSY(总线被占用)确认,发送总线设备将会等待一个短时隙,此后重新尝试发送报文;若发送总线设备未收到确认,则最多重复发送该报文三次,此后,终止发送请求。KNX技术应用CSMA/CA(载波侦听多路访问/冲突避免)和报文优先级来控制介质访问。KNX系统采用单元地址化结构设计,分为物理地址和组地址。
KNX系统通信基本解释
1、KNX地址类别:物理地址和组地址
KNX基本线路工作示意图:
上图中工作流程如下简述:当物理地址(PA)为1.1.1的开关按下后会发生包含组地址(GA)为5/2/66、操作值"1"的报文;在线路中的所有总线设备都会接受到这个报文,但只有相同组地址的总线设备才会执行。
在KNX网络中根据系统的等级结构和应用模块的功能赋予每个总线设备相应的物理地址(用于识别总线设备和反应在网络中的拓扑位置)和组地址(用于连接传感器和执行器的功能)。物理地址是KNX系统中总线设备的唯一编码,它有域地址、线路地址和设备地址组成;物理地址在系统中用于对设备进行管理和配置。组地址是功能相关的地址,在系统中并不唯一;因此总线设备根据功能分配一个或多个组地址,可进行"多控一"或者"一控多"操作。在KNX系统各种功能应该是靠组地址实现。物理地址在系统中主要用于程序下(通过ETS软件)、诊断、排错等。物理地址和组地址是通过工具软件设置的。
2、报文结构
当KNX系统有事件发生,总线设备就会向总线发送报文。经过长达不短于TI的总线空闲时间之后,开始进行传输。报文传输完毕之后,总线设备将使用T2检查报文是否已被成功接收。如果没有总线设备来应答,发送的报文会被重复。报文发送后会收到报文传输时间如下图所示:
标准报文结构图:
(1)、控制字段
上图中A表示报文是否重复,B表示报文的优先级
(2)、源地址、目标地址
报文中源地址只能是物理地址,表示报文发送设备自身所在的域和线路;目标滴孩子可以是物理地址或者组地址,它定义了通信的接收对象,可以是一台或者多台设备,也可以是在同一条线路或者不同的线路中。目标地址的第17位可由接收方可以判定目标地址为组地址还是物理地址。若为"0",则目标地址为物理地址仅对总线中一个设备进行寻址。若为"1",为组地址,对总线中所有相同组地址的设备寻址。
(3)、路由计数、长度
该字节除了包含LSDU(链层服务数据单元)数据的长度还包含一个bit的标志表明地址的属性,以及3个bit的路由计数信息。数据长度是指报文中实用数据字节的长度。同时在每一个数据报中包含一个3bits的路由计数器。一般总线设备计数器的初始值为6,每经过一个总线耦合器、线路耦合器和中继器等都减一,当这个计数值减为0时,这个报文就被丢弃,因而避免了死循环的问题。
(4)、实用数据
实用数据的长度根据应用的不同而改变,最少为2字节,最多为16字节。包括各种开关、调光、读写地址命令。报文中的每个字符均执行偶校验,报文中全部字符的每一个位位置均执行奇校验,字符校验和报文校验相结合。
(5)、编码方式
KNX以双绞线作为传输介质时,"0"和"1"两个逻辑状态采用一个bit位表示;逻辑"0"有调制信号到总线上(有6-9v的电压下降),"1"期间的发生器被禁用没有调制信号,总线上只有直流信号。因此逻辑"0"的优先级高于逻辑"1‘。
原文地址:http://blog.csdn.net/thanksgining/article/details/43527299