当前位置:问答库>论文摘要

题目:KNX协议栈的研究与实现

关键词:KNX协议栈,TP-UART,有限状态机,软件设计,一致性测试

  摘要



KNX是Konnex协会针对楼宇、家居现场控制应用领域制定的总线标准,是欧洲三大总线技术EIB、BatiBUS和EHS相融合的产物。KNX作为目前家居和楼宇控制领域中唯一的开放性国际标准,无论是在技术上还是在应用上,都代表了这个领域的发展方向。其中,KNX协议栈软件是总线设备节点必备的系统程序,是设备节点之间进行通信的基础软件。而该软件的开发技术一直被国外公司垄断,导致了国内KNX设备价格昂贵,制约了KNX技术在我国的推广,进而阻碍了我国智能建筑的发展。为了解决上述问题,推动KNX技术及产品的国产化进程,本文研究了一种KNX协议栈软件实现的基本方法和思路,开发了具有独立自主知识产权的协议栈软件。

首先,研究了KNX系统规范 (KNX System Specification)。在KNX系统规范中,通信协议作为实现协议栈软件的难点和关键点,本文对其进行了详细探讨和重点分析。

其次,在进行软件开发之前,针对软件功能进行了需求分析,明确了软件运行的硬件环境和软件需要实现的通信服务,为后续的工作打下了重要的基础;然后应用了有限状态机的软件设计方法构建了软件的总体框架,将软件分成了6个模块并分析了各个模块之间传递信息的方法。

然后,对各个模块进行了具体实现。在实现数据链路层模块的过程中,重点分析了TP_UART驱动程序的实现;在实现网络层和传输层模块的过程中,抽象出了该模块包含的状态和动作,采用一个发送子状态机和一个接收子状态机分别实现该模块的发送和接收功能;在实现应用层和应用接口层模块的过程中,就具体服务的函数实现问题进行了详细地分析;在实现接口对象模块的过程中,具体研究了用数据结构对接口对象进行实现的方法。

最后,对已经完成的协议栈软件进行一致性测试。将协议栈软件下载到开发板中,并搭建硬件测试环境,按照一致性测试规范进行测试。测试结果表明,本文设计的协议栈软件能够实现2种组对象服务和13种配置对象服务。