一种实现单总线设备即插即用的方法_2

文档序号:9597801阅读:来源:国知局
具体判断如下:
后者则用于使能从器件,向总线上的从器件发回一个指定为,以确定搜索方向。如此重 复64次,直到完整搜索出一个器件的64位R0MID号。下位机"即插即用"技术可通过动态 ROM搜索算法来实现。
[0022] 如图5所示,通过设置两个数组D_P[64]和0_^[64]来标记节点所在层数和节点 搜索情况,当搜索到某节点位置时,可对当前节点所在层数进行标记,即对数组D_P [64]相 应元素标记为" 1",同时规定,当第一次搜索到该层位置或仅对该层第一个子节点搜索完毕 时,不对数组D_lr [64]相应元素标记为" 1",当该层所有子节点均搜索完毕后再将该层D_ lr [64]相应元素标记为"1",不断的反复执行这样的操作,直到本轮搜索的最后一个叶子 点搜索完毕即搜索到ROM序列号的第64位。当D_P[64]和0_^[64]均置"1"表明了该层 所有子节点搜索完毕,而后再向上回溯,继续寻找其他子节点,重复该过程直到所有R0MID 号都搜索完毕。
[0023] 利用单总线器件的EEPR0M,写入一个辅助编号,该编号与实际地理位置相对应,该 辅助编号可借助串口,通过上位机软件进行编码输入,通信格式可设定如表1所示。
[0024] 表1编码通信协议
编码软件采用.NET编写,通过串口对单总线器件编码,可采用C0M1 口,波特率选择 2400,输入想编的地址号,点"写读串口"按钮,如果编码成功,则输出地址格会显示刚才编 入的地址码。
[0025] 利用编码器软件为每一个单总线从器件写入编码后,改变将R0MID号上传的传统 做法,而是将编号上传至上位机数据库管理系统,将编号与实际测温地址进行对应,具有灵 活性强的特点,如图6所示将编号上传保存在数据库管理系统中,该编号与监测点(监测点 由楼层号、监测点号和监测点名称三元素构成)一一对应。
[0026] 最终保存在数据库中的编号以及对应的监测点信息可利用数据集和数据表格动 态加载,加载的关键代码如下所示: DataGridl. DataBindings. Clear 〇 // 清空 DataGrid 控件 DataGridl. Refresh () // 刷新 DataGrid 控件 // 通过 DataTable 生成一个 DataView dView = New DataView (objDataSet. Tables(0)) DataGridl. DataSource = dView //定义 DataGridTextBoxColumn Dim dl? d2? d3 As New DataGridTextBoxColumn //为 DataGridTextBoxColumn 属性赋值 dl. HeaderText = 〃 测温点号〃 dl. MappingName = 〃 测温点号" d2. HeaderText = 〃 测温点名称〃 d2. MappingName = 〃 测温点名称" d3. HeaderText = 〃 编号〃 d3. MappingName = 〃 编号" //定义DataGrid表样式 Dim DGrid As New System. Windows. Forms. DataGridTableStyle DGrid. GridColumnStyles. Clear () DGrid. GridColumnStyles. AddRange (New System. Windows. Forms. DataGridColumnStyle() {dl, d2, d3}) DGrid. MappingName = 〃SResult〃 DataGridl. TableStyles. Clear () DataGridl. TableStyles. Add (DGrid)〇
[0027] 本发明的方法克服传统单总线应用系统硬件开销大、即插即用性能差的问题,根 据二叉树遍历原理并通过优化找出一种通过对节点进行标记的方法来实现下位机控制系 统的即插即用。通过辅助编码的写入,改变将R0MID号上传的传统做法,使得上下位机开发 相对独立,通过将辅助编码与实际监测地理位置相对应,利用数据集和数据表格动态加载 编号和监测点信息,以实现真正意义的单总线应用系统"即插即用"技术。
[0028] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽 然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人 员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰 为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质 对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【主权项】
1. 一种实现单总线设备即插即用的方法,其特征在于:包括如下步骤: (1) 通过设置两个数组D_P[64]和0_^[64]分别来标记节点所在层数和节点搜索情 况; (2) 当搜索到某节点位置时,可对当前节点所在层数进行标记,即对数组D_P[64]相 应元素标记为" 1",同时规定,当第一次搜索到该层位置或仅对该层第一个子节点搜索完毕 时,不对数组D_lr [64]相应元素标记为" 1",当该层所有子节点均搜索完毕后再将该层D_ Ir [64]相应元素标记为"1"; (3) 不断的反复执行步骤(2)的操作,直到本轮搜索的最后一个叶子点搜索完毕即搜索 到单总线从器件ROM序列号的第64位; (4) 当数组D_P[64]和0_^[64]均置"1"表明了该层所有子节点搜索完毕,而后再向 上回溯,继续寻找其他子节点; (5) 重复步骤(4)直到所有ROMID号都搜索完毕; (6) 利用单总线器件的EEPR0M,采用编码软件写入一个辅助编号; (7) 利用编码器软件为每一个单总线从器件写入编码后,将编号上传至上位机数据库 管理系统,将编号与实际测温地址进行对应; (8) 保存在数据库中的辅助编号以及对应的监测点信息利用数据集和数据表格动态加 载。2. 根据权利要求1所述的一种实现单总线设备即插即用的方法,其特征在于:步骤(1) 与步骤(2)之间还包括: 单总线从器件通过以"线与"的方式挂载在总线上,单总线控制单元重复执行"读2位" 与"写1位"两项操作,从器件读取原码与反码,可得出对当前位的综合判断;单总线控制单 元则用于使能从器件,向总线上的从器件发回一个指定,以确定搜索方向。3. 根据权利要求2所述的一种实现单总线设备即插即用的方法,其特征在于:所述单 总线控制单元包括MCU处理器,所述MCU处理器的Xl脚与X2脚之间连接有晶振,所述晶振 还连接有两个电容CU C2,所述MCU处理器的1脚、2脚还分别连接有存储器的6脚、5脚, 所述存储器的6脚、5脚还分别通过上拉电阻R1、R2与VCC电源连接,所述存储器的1脚到 4脚接地,所述MCU处理器的8脚和9脚分别连接有复位芯片的6脚和7脚;所述MCU处理 器的P21 口作为单总线的信号口,所述单总线的信号口与各个单总线器件之间还设有总线 收发器芯片,所述总线收发器芯片的输入端与所述MCU处理器连接,所述总线收发器芯片 的输出端通过单总线与各单总线器件连接。4. 根据权利要求3所述的一种实现单总线设备即插即用的方法,其特征在于:所述MCU 处理器采用单片机AT89S52,所述存储器采用串行EEPROM存储器AT24C256芯片,所述复位 芯片采用MAX813芯片,所述总线收发器芯片采用74HC245芯片。5. 根据权利要求4所述的一种实现单总线设备即插即用的方法,其特征在于:所述 74HC245芯片的VCC端口通电阻R4与电源连接,所述74HC245芯片的GND端口一路通过电 容C3、电阻R3与电源VCC连接,另一路通过相互并联的电容C4以及电解电容C5与电源连 接。6. 根据权利要求2所述的一种实现单总线设备即插即用的方法,其特征在于:所述原 码与反码具体是指读取总线上的" 1 "和"〇"操作,具体对应关系如下:7. 根据权利要求1所述的一种实现单总线设备即插即用的方法,其特征在于:步骤(6) 所述辅助编号与实际地理位置相对应,该辅助编号可借助串口,通过编码软件进行编码输 入。8. 根据权利要求1或7所述的一种实现单总线设备即插即用的方法,其特征在于:所 述编码软件采用.NET编写,通过串口对单总线器件编码,且采用COMl 口,波特率选择2400。9. 根据权利要求1所述的一种实现单总线设备即插即用的方法,其特征在于:步骤(6) 所述数组D_P[64]和0_1;1"[64]具体是采用uchar D_P[64]和uchar D_lr[64]来标记节点 所在层数和节点搜索情况的字符型数据。
【专利摘要】本发明公开了一种实现单总线设备即插即用的方法,通过设置两个数组D_P[64]和D_lr[64]分别来标记节点所在层数和节点搜索情况,然后分别对各层数以及各节点进行标记,当数组D_P[64]和D_lr[64]均置“1”表明了该层所有子节点搜索完毕,而后再向上回溯,继续寻找其他子节点,直到所有ROMID号都搜索完毕,最后配合写入单总线器件的EEPROM中的辅助编号,最终实现动态加载。本发明通过写入辅助编码,改变将ROMID号上传的传统做法,使得上下位机开发相对独立;通过优化二叉树算法,节省了系统开销,满足特定系统高实时性要求。
【IPC分类】G06F13/40
【公开号】CN105354163
【申请号】CN201510787266
【发明人】蔡彬彬, 宋楚, 张云
【申请人】江苏工程职业技术学院
【公开日】2016年2月24日
【申请日】2015年11月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1