智能建筑中BACnet MSTP控制模块研究与实现 - 图文(15)
哈尔滨工业大学工学硕士学位论文 4.1.6 负载电流检测电路
负载电流检测电路如图4-7所示,电流变比为10A-10mA的电流互感器从负载干线上采样电流信号,R29为电流采样电阻,用于把电流信号变为电压信号。OPA348是一种低电压低功耗轨至轨输入和输出运算放大器。
图4-7 负载电流检测电路
U5A电路和U5B电路分别为同相放大器和反相放大器,它们的放大倍数相同。由于OPA349单电源供电,两个放大器都相当于半波整流。再经后面的电阻电容滤波电路组合后,可以获得比较平稳的电压信号。
4.1.7 实物展示
根据MS/TP硬件框图和各模块的电路图,开发出硬件实物如图4-8所示。
图4-8 硬件实物图
- 39 -
哈尔滨工业大学工学硕士学位论文 该MS/TP控制模块采用双层PCB板以减少成本,元器件的摆放配合结构,以便于楼宇设备中标准的导轨式安装,其能够监控4路开关负载。
最右边的是采用拨码开关手动设置MAC地址的控制模块,左边的是采用上一章自动寻址算法动态MAC分配的控制模块,由图中可知,后者减少了拨码开关。
4.2软件设计
4.2.1 控制模块的BACnet协议栈
本文的BACnet MS/TP控制模块的BACnet协议栈和固件如图4-9所示。 协议栈的实现分为六个部分:物理层(UART)、数据链路层(DL)、网络层(NL)、应用层服务实体(ASE)、用户单元和应用程序。
物理层部分使用通用异步收发器,用于发送和接收MS/TP帧。当一个主节点持有令牌时,MS/TP主节点状态机发送传送器队列(TxQ)中的MS/TP帧,最多传送帧的个数有网络配置参数“Nmax_info_frames”决定。MS/TP接收状态机接收从UART中的字节流,并使用帧校验序列检验接收帧是否正确。当接收完一个完整的MS/TP帧,MS/TP主节点状态机就会把该接收帧存储到接收器队列(RxQ)中。
数据链路层维持MS/TP主节点状态机和BACnet MS/TP数据链路层功能。数据链路层使用DL_UNITDATA.request和DL_UNITDATA.indication原语,同网络层交换MPCI(MAC层协议控制信息)和NPDU(网络层协议数据单元)。“NL”使用NL_UNITDATA.request和NL_UNITDATA.indication原语,同应用层层交换NPCI(网络层协议控制信息)和APDU(应用层协议数据单元)。
BACnet应用层由两部分组成,分别是用户单元(User Element)和BACnet应用层服务元素ASE(Application Service Element)。
在用户单元中实现设备对象和应用对象。这些BACnet应用对象通过API和应用程序交换应用层相关信息。BACnet是基于客户/服务器通信模型的,在交互过程中,担当客户的BACnet用户称为请求方BACnet用户,担当服务器的BACnet用户称为响应方BACnet用户。MS/TP控制模块在它产生一个BACnet应用层服务请求时充当请求方BACnet用户(客户),在它接收BACnet应用层服务请求时充当响应方BACnet用户(服务器)。TSM(事务处理状态机)由应用层协议状态机中的请求方BACnet用户(客户)状态机和响应方BACnet用户(服务器)状态机来维持。
- 40 -
哈尔滨工业大学工学硕士学位论文 应用程序系统运行软/硬件输入API用户单元设备对象BO-01BO-04AI-01BACnet应用对象BO-02AI-02BO-03● ● ●软/硬件输出ASC应用ASEBACnet 应用服务APCI,服务相关参数BACnet解码器APCI,APDUAPCI,服务相关参数BACnet编码器APCI,APDU应用层协议状态机请求状态机响应状态机N_UNITDATA.reqN_UNITDATA.ind(NPCI,APDU)(NPCI,APDU)NL(网络层)DL_UNITDATA.reqDL_UNITDATA.ind(MPCI,NPDU)(MPCI,NPDU)DL(数据链路层)TxQMS/TP主节点状态机UART(物理层)RxQ发送帧MS/TP接收帧状态机PCI:协议控制信息PDU:协议数据单元
图4-9 控制模块的BACnet协议栈
在BACnet应用层服务元素ASE中执行“Who-Is”、“I-Am”、“ReadProperty”和“Write-Property”服务,以及BACnet APDU编码和解码。BACnet编码器使用本地BACnet用户产生的应用层服务原语中APCI和服务相关参数组成一个BACnet APDU。BACnet解码器在收到来自对等BACnet用户的应用层服务原语时,接收响应方状态机中的APCI和APDU。BACnet解码器从接收到的APDU中提取服务相关参数,给响应方应用层服务单元发送APCI和服务相关参数。
应用程序执行系统操作任务、硬件输入输出任务和ASC应用层任务。系
- 41 -
哈尔滨工业大学工学硕士学位论文 统操作任务维护内部应用层参数和本地操作(如按键、状态指示灯)控制。硬件输入输出任务采集6个模拟输入和驱动4路继电器输出。
4.2.2 MS/TP协议软件
MS/TP软件部分主要包括三个模块:接收帧状态机、发送帧过程和主节点状态机。程序流程图如图4-10所示。
开始系统初始化使能串口中断使能主节点状态机主节点空闲5ms计时器使能接收帧状态机否接收缓冲有数据是发送缓冲有数据接收数据并CRC校验接收前导字节正确错误持有令牌发送帧否接收完成是设置标志位否发送是否完成是设置两状态机为空闲主节点状态机
图4-10 MS/TP程序流程图
接收帧状态机接收物理层的完整数据帧,进行帧和数据CRC校验。发送帧过程根据MS/TP协议把数据帧发送给物理层。主节点状态机除了提供网络级连接外,主要负责令牌维护和管理。MS/TP协议要求很高的实时性,需要一个精确的时钟。时间精度太高可能加大系统负荷,太小又不能满足系统要求。该文选择5ms精度的计时器,协议中时间参数相应的为5ms的倍数。
接收帧状态机从物理层正确地接收帧,它的运作独立于主节点状态机。在接收过程中,通过标志位来进行通信。当串口有需要接收的数据,串口中断,然后使能接收帧状态机。在接收并CRC校验数据帧后,如果接收正确,则设置收到正确帧为TRUE。如果在接收的过程中发生错误,则设置收到正
- 42 -
哈尔滨工业大学工学硕士学位论文 确帧为FALSE,相应地根据MS/TP协议进行错误处理过程。
发送帧过程根据MS/TP协议把网络层传下来的消息变成帧,它以字节为单位填充串口传输寄存器,直至完成整个发送过程。
主节点状态机负责令牌维护和管理,其运作主要与令牌有关,数据信号帧发送只是其中一个或两个状态的行为或活动。根据MS/TP协议和接收帧状态机中的数据进行状态的转换。
4.3 本章小结
本章对智能建筑中用于控制开关设备的MS/TP控制模块,从双路电源、通信接口、继电器驱动和负载检测等电路进行了设计,给出了详细的原理图并制作出实物。由于采用上一章的自动寻址算法,硬件上减少了拨码开关。另外对本模块使用的BACnet协议栈和MS/TP协议软件实现流程进行了阐述。
- 43 -
…… 此处隐藏:1404字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




