已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于I7188的EIB网关的设计与实现 1.引言 eib是欧洲安装总线的简称这是一个1990年诞生于欧洲的专用于建筑设备自动化控制的现场总线技术标准诞生时eib技术仅获得7家厂商的支持到1999年时会员单位已超过200家在欧洲同类产品市场上占据了绝对的优势地位1然而随着智能家居在人们的生活中扮演着越来越重要的角色可是在实际应用中因为缺乏规范、统一的行业标准导致每个厂家的系统只能适应自己的标准对于外来的产品兼容性差使得智能家居系统的集成性能差本文就是为了解决eib系统与智能家居系统设备之间应用集成问题从而提出了eib网关的设计实现复杂的eib协议与简单的自定义协议atbus的相互转换 2.eib协议报文结构 进行eib网关的设计了解eib协议报文结构是非常重要的eib协议报文结构如下图21所示通过此图可以清晰看见eib的报文结构包括:控制域源地址目的地址长度数据和校验共六个部分组成控制域:主要用来控制是否是重复报文报文的优先级等;源地址:指发送报文的总线设备的物理地址在通常操作中没有特殊意义;目的地址:总线设备的物理地址或者对象的组地址;长度:此字节最高位为目的地址类型选择标志其后3bits为路由计数器每经过一个耦合器这个数就会减1当减为0时报文丢弃最后的4bits表示数据单元的字节长度;数据:包含传送到总线上的数据单元具体说明;校验字节:整个报文数据逐位的奇校验 下面通过一个具体例子来分析eib协议报文例如十六进制格式的eib协议报文:bc14250400e1008116通过分析可以知道:控制区域为bc表示非重复报文优先级4;源地址为1425;目标地址为0400;长度字节为e1则说明目的地址为组地址路由计数值为6数据长度为1;数据为0081报文为无标号类报文服务类型为写入对象值写入的值为1校验位为16因此本报文的意义是源地址为1425的总线设备对组地址为0400的对象发送开命令 上面的例子是eib的标准数据类型中的开关类型接下来介绍两个常用标准数据类型开关类型和调光类型 开关类型:开关类型数据只占1bit用来控制执行器的负载的开关当值为“1”时执行开的命令当值为“0”时执行关的命令3.eib协议外部通信机制上面介绍了eib协议报文结构下面介绍eib协议外部通信机制这对eib网关的设计也是至关重要的由于总线访问单元bau(busaccessunit)的系统程序已经为外部应用定义了外部消息接口emi(externalmessageinterface)使用户可以通过配置服务原语实现eib网关对eib各层的访问bau通过外部接口pei(physicalexternalinterface)与eib网关进行连接通信pei的类型有很多种为了方便此次设计中采用pei16类型 3.1pei16协议格式 pei16通讯是串行异步的通信方式采用的是带有硬件握手的全双工传输一共需要接收数据rxd发送数据txd请求发送rts清空发送cts和地共五根线pei16通信参数为:波特率96008为数据位1位停止位4无校验位pei16消息格式的报文含一个长度字节一个消息代码字节和用户数据三个部分其中长度字节包含数据字节长度信息5bit和长度字节的偶校验位1bit消息代码即为服务代码常用服务代码见 3.2pei16协议描述 pei16协议的数据交换包含如下四个阶段: 1)通信请求(硬件握手)2)传输长度字节(软件握手)3)数据交换4)暂停(2条消息最小时间间隔3ms)下面给出pei16通信时序图:其中为bcu网关接收数据时序图为eib网关发送数据时序图 4.eib网关总体设计 通过对eib系统的报文格式以及eib的pei16消息格式通信时序进行了详细的介绍接着可以进行eib网关的设计了由于各个eib厂家都提供一个rs232通讯模块此模块对外部的接口协议为pei16网关就利用此模块与eib总线通信eib网关的应用拓扑图如图41所示其中pc可用来监视eib总线数据 4.1硬件设计 eib网关的硬件直接采用鸿格公司生产的i7188控制器模块内部硬件结构如上图42所示 i7188模块采用美国amd公司的80188芯片主频为40mhz内部有256k的sram512k的flashrom2k的eeprom和rtc功能等同时本模块还具有强大的通信功能具有四个串口其中1为9线串口非常适合用来连接eib的rs232通讯模块2连接atbus总线3连接pc4为程序下载口i7188配有minios7嵌入式操作系统极大提高系统的可靠性和运行的稳定性同时给开发者提供了极为便利的开发环境和丰富的库函数给编程带来极大方便6因此采用此模块来构建eib网关不仅可缩短设计时间和减少开发费用而且可以降低技术风险便于提供更可靠的产品 4.2软件设计 eib网关主要进行atbus协议eib协议相互转换及总线监视功能在程序开始之前首先初始化串口然后对eib系统的rs232模块进行配置使其工作在数据链路层因为工作在链路层消息简单和功能灵活性较大接下来就可以进行协议之间的相互转换了其软件总体设计框图如下图43所示 4.2.1pei16协议驱动设计 pei16协议驱动主要是完成eib网关与eib的rs232通信模块的通信一共包含两个模块:发送数据模块接收数据模块这两个模块的数据处理流程分别 4.2.2eib系统rs232通信模块配置设计为了将rs232通信模块配置在数据链路层必须使用pcsetvalue.request原语它能直接访问bau的内存进行工作层的设置其pei16格式的链路层配置消息如图46所示 4.2.3eib数据解析与封装模块 当使eib的rs232通信模块工作在数据链路层上后eib网关就需要解析和封装链路层数据首先介绍如何解析eib链路层数据这里将用到ldata.indication服务原语即能监测到eib总线上的数据假设某个开关按下对应的灯被打开监测到所示数据: 通过分析可以发现长度字节为pei16协议的头字节因为后面共有9个字节数据故为0xa9;消息代码0x49为ldata.indication原语服务代码;而用户数据为标准eib协议报文可以对照前面分析进行参考注意因为工作在链路层故此报文不含校验位 下面介绍如何封装eib链路层数据这里将用到ldata.request和ldata.confirm两个服务原语分别表示数据链路层发送数据请求和链路层发送数据反馈两者对应的消息代码分别为0x110x4e下面举例分析如控制组地址为0x0100的灯关闭只需发送如图48所示的格式的报文: 编程时先将eibatbus数据转换关系表存于eib网关中当收到eib总线数据后首先根据消息代码字节判断是总线监测还是报文反馈如果是总线监测报文根据用户数据中的组地址查询转换关系表查看是否能找到对应的atbus数据能则将atbus数据送到atbus的串口中进行发送不能则只将监测到的数据送到连接pc的串口中如果是报文反馈则通过pc串口打印输出不做其他处理 4.2.4atbus数据解析与封装 这两个模块的设计比较简单当收到atbus的数据后送到atbus解析模块解析模块通过查寻转换关系表分析进行何种类型转换如开关灯或者调光增减等然后调用eib封装函数进行封装然后送到eib发送缓冲即可当收到eib的数据时eib解析模块通过查询转换关系表分析进行何种转换然后调用atbus封装模块进行数据封装接着送到atbus串口发送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉安市中医院科室科研管理考核
- 扬州市中医院儿童氧疗技术规范考核
- 池州市中医院新生儿静脉营养配置考核
- 泉州市中医院嗓音功能评估考核
- 嘉兴市人民医院CT血管成像诊断考核
- 2025-2030智慧能源管理系统创新技术与投资机会
- 2025-2030智慧篮筐制造业当下供给动态需求运动量市场测定投资评估规划标本研究资料
- 2025-2030智慧社区行业市场分析竞争格局发展策略投资规划报告
- 金华市人民医院肱骨干骨折髓内钉固定术考核
- 2025-2030智慧社区建设与运营管理分析研究报告
- 设备和设施安全管理制度
- 国家标准版药学专业知识(一)药理
- JJF 2024-2023能量色散X射线荧光光谱仪校准规范
- 卡拉瓦乔课件
- YC/T 507-2014烟草测土配方施肥工作规程
- GB/T 38959-2020高强度钢强力旋压工艺规范
- GB/T 28382-2012纯电动乘用车技术条件
- GB/T 14619-2013厚膜集成电路用氧化铝陶瓷基片
- GB/T 13331-2014土方机械液压挖掘机起重量
- 《园艺植物生物技术》期末考试复习题及参考答案
- 计算机考试网页制作真题及答案
评论
0/150
提交评论