首页> 中国专利> 一种单线共享总线协议的系统和工作方法

一种单线共享总线协议的系统和工作方法

摘要

本发明公开了一种单线共享总线协议的系统,包括控制终端、主控制器、物理链接、从控制器、执行组件。本发明在同一条共享通信线路上,可以实现多个设备的控制,尤其是在有新设备接入后,在不改变物理配置的前提下为新设备分配通讯地址以实现后续通信;本发明所提及的系统不需要事先知道从控制端的地址,网络拓朴较灵活,设备可以热插拔,另外,本发明采用常规通用器件即可实现整个协议,对设备性能要求低,成本低廉,便于在现有通讯网路基础上灵活扩展。

著录项

  • 公开/公告号CN109873741A

    专利类型发明专利

  • 公开/公告日2019-06-11

    原文格式PDF

  • 申请/专利权人 南京金信通信息服务有限公司;

    申请/专利号CN201910135848.8

  • 发明设计人 罗宁林;谈广林;杨晓岚;

    申请日2019-02-25

  • 分类号

  • 代理机构南京钟山专利代理有限公司;

  • 代理人戴朝荣

  • 地址 210029 江苏省南京市秦淮区汉中路89号6楼

  • 入库时间 2024-02-19 10:33:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-31

    授权

    授权

  • 2019-07-05

    实质审查的生效 IPC(主分类):H04L12/40 申请日:20190225

    实质审查的生效

  • 2019-06-11

    公开

    公开

说明书

技术领域

本发明涉及信号传输与控制技术领域,具体而言涉及一种单线共享总线协议的系统和工作方法。

背景技术

目前,在智能楼宇、智能家居等场合,通常一个控制终端需要对应若干个智能设备,为了实现前述控制,一般采用OneWire Bus协议和Rs485、Rs232等点对点协议。但这两种方式均存在不足之处:

第一,OneWire Bus为固定地址协议,主控端需事先知道从控制端的地址,不方便动态配置。

第二,Rs485,Rs232为点对点协议,布线成本较高,在大量设备接入时需要大量点对点连线。

发明内容

本发明目的在于提供一种单线共享总线协议的系统和工作方法,在同一条共享通信线路上,可以实现多个设备的控制,尤其是在有新设备接入后,在不改变物理配置的前提下为新设备分配通讯地址以实现后续通信;本发明所提及的系统不需要事先知道从控制端的地址,网络拓朴较灵活,设备可以热插拔,另外,本发明采用常规通用器件即可实现整个协议,对设备性能要求低,成本低廉,便于在现有通讯网路基础上灵活扩展。

为达成上述目的,结合图1,本发明提出一种单线共享总线协议的系统,所述系统包括控制终端、主控制器、物理链接、从控制器、执行组件。

所述物理链接包括信号线和地线组合而成的通讯线路、差分信号通讯线路、无线频段通讯线路(例如某一固定无线频道)中的一种或者几种。

所述控制终端包括PC机、嵌入式linux主机(如Raspberry pi)等,其用于管理新设备接入流程、提供用户终端以使用户能够向从控制端或者执行组件发送指令、或配置执行组件的触发关系。

所述主控制器和从控制器均采用具有时钟中断功能的单片机模块。

优选的,所述主控制器和从控制器采用PIC16F系列芯片。

主控制端为具有精确时钟中断、且具有串行接口或类似接口的单片机系统,如Pic16f877芯片等,其主要负责将控制终端的指令发送到物理链接,以及从物理链接收到的信号转发到控制终端。从控制端为具有精确时钟中断的单片机系统,如Pic16f系列芯片等等,其负责接收物理链接的指令,并将其发送到执行组件。

所述从控制器和执行组件一一对应连接,每个从控制器具有独立的通讯地址。

所述控制终端与主控制器连接,用于生成控制指令,并且将生成的控制指令发送至主控制器,所述控制指令包括对应的从控制器的通讯地址和执行指令。

所述从控制器、主控制器分别连接至物理链接,所述主控制器用以接收控制终端发送的控制指令,将接收到的控制指令发送至物理链接,以及从物理链接上接收从控制器发送的数据,将接收到的数据转发至控制终端。

所述从控制器用于接收主控制器发送至物理链接上的包含有自身通讯地址的控制指令,并根据接收到的控制指令中的执行指令以执行相应动作。

所述控制终端通过主控制器定时向物理链接中发送“是否有新设备”广播信号以查看是否有新的执行组件接入物理链接,如果没有新的执行组件接入物理链接,结束本次广播流程,否则,进入新设备接入流程,在不改变物理配置的前提下为接入的新设备分配通讯地址。

当没有新设备接入时,整个系统处于正常工作流程。在正常工作流程中,主控制端向物理链接上连接的所有分配过通讯地址的从控制端发送信号以实现对执行组件的控制,数据格式为对应从控制端的通讯地址+执行指令。

从控制端监听物理链接上的主控制端发送的控制信号,如发现某一控制信号中的通讯地址=自身的通讯地址,则根据对应的执行指令以执行相应动作,并根据需要向物理链接发送数据。优选的,所述从控制端传输至物理链接的数据格式为2byte数据,便于主控制端解析。

而当物理链接上有新设备接入时,整个系统进入新设备进入流程,,在不改变物理配置的前提下为接入的新设备分配通讯地址。

应当理解,由于主控制端、从控制端均采用具有时钟中断的单片机系统,因此主控制端和从控制端均根据时间周期执行对应操作,例如在一个时钟周期内从物理链路上采集信号,或者在另一个时钟周期内向物理链路上发送数据。因此,在新设备接入过程中,有可能会对正常工作流程造成影响,为了避免对正常工作流程造成影响,本发明提出,可以按一定的时钟周期分配比例来交替执行新设备接入流程和正常工作流程,或者主控制器为了保证不影响其他设备通信,在超过256次时钟周期的新设备接入流程后转为执行正常工作流程。

在一些例子中,所述每个从控制器均具有一个level计数器,level计数器的初始数值为1,level计数器具有最大设定阈值和最小设定阈值,最小设定阈值为1。

所述新设备接入流程包括以下步骤:

S1:采用所述主控制器发送“地址查询”信号,以通知连接至物理链接的所有level计数器数值为1的未分配通讯地址的从控制器将自身硬件地址发送至物理链接。

S2:采用所述主控制器从物理链接上接收从控制器发送的硬件地址数据,如果接收到硬件地址数据,将接收到的硬件地址数据和一匹配确认信号一起发送至物理链接,进入步骤S3,否则,则发送“计数器重置为1信号”至物理链接以使所有未分配通讯地址的从控制将自身的level计数器数值重置为1,进入步骤S1。

所述未分配通讯地址的从控制器响应于接收到匹配确认信号,将接收到的硬件地址数据与自身硬件地址做比对,比对成功,发送匹配成功信号至物理链接,否则,不发送信号。

S3:如果主控制器从物理链接上接收从控制器发送的匹配成功信号,调用控制终端生成一新的通讯地址,通过主控制器、物理链接分配至对应的从控制器,作为其通讯地址,进入步骤S4。

如果主控制器从物理链接上没有接收到任何从控制器发送的匹配成功信号,主控制器发送“计数器+1”信号至物理链接,进入步骤S1。

所述未分配通讯地址的从控制器响应于接收到“计数器+1”信号,按1/2的随机概率将level计数器的数值加1。

S4:结束本次新设备接入流程。

所述最大设定阈值根据物理链接上待分配通讯地址的从控制器数量设定,从控制器数量越大,最大设定阈值越大,优选的,所述最大设定阈值为3。

优选的,用于通信的通讯地址中有两个地址为保留地址:0xFF、0xFE。其中,0xFF为广播地址,用于主控制器向所有设备发送“是否有新设备”信号,0xFE为用于对地址赋值、确认的特殊地址。

本系统最终依赖于硬件地址来解决冲突,因此每个设备可以预先保存16byte的地址,如为了防止硬件地址冲突,可在具体实现时以前15byte+1byte随机数,来最大程度避免硬件地址冲突。

通过前述新设备接入流程,在有新设备接入时,不需要改变程序,总线会通过自动寻址,解析出新设备并分配对应的通讯地址。

在实现方式上,不需要专用硬件,例如采用MicroChip公司的pic16f630级别的单片机即可实现整个从控制器,而主控制器则可以使用pic16f877级别单片机,控制终端通过灵活使用各类嵌入式系统以实现,如Raspberry Pi,整个实施成本较低廉。

由于本发明所提及的单线共享总线协议的系统是在同一物理链接接入多个设备,因此可以在重新配置主控制端以更改触发关系,达到灵活配置的效果。例如在原系统系统中,通过a、b、c三个开关以分别控制d、e、f三只灯泡,当需要变更触发关系时,我们可以在不改变物理配置的情况下,通过重新配置主控制端来实现这一变更。例如原控制终端设定a1、b1、c1信号分别触发d、e、f灯泡的开启,在主控制端只要通过修改软件配置,使得主控制端在收到a1、b1、c1信号时,变为分别触发e、f、d的开启即可改变控制关系。

结合图3,基于前述系统结构,本发明还提及一种单线共享总线协议的系统的工作方法,所述工作方法包括:

采用主控制器定时向物理链接中发送“是否有新设备”广播信号以查看是否有新的执行组件接入物理链接,如果没有新的执行组件接入物理链接,结束本次广播流程,继续执行正常工作流程,否则,进入新设备接入流程,在不改变物理配置的前提下为接入的新设备分配通讯地址:

当系统处于正常工作流程时,采用控制终端生成控制指令,将生成的控制指令通过主控制器发送至物理链接,所述控制指令包括对应的从控制器的通讯地址和执行指令,从控制器从物理链接上接收主控制器发送的包含有自身通讯地址的控制指令,根据接收到的控制指令中的执行指令以执行相应动作。

在自动寻址过程中,当存在大量设备时,通过1/2随机Level计数器加减1动作,可以大致保证从控制器的level计数器的数值如图2所示分布,其中数值为1的level计数器约存在1个,数值为2的level计数器约存在2个,其余的从控制器的level计数器的数值为3,使得整个系统能够以较快的速度完成自动寻址。

以上本发明的技术方案,与现有相比,其显著的有益效果在于,

1)在同一条共享通信线路上,可以实现多个设备的控制。

2)尤其是在有新设备接入后,在不改变物理配置的前提下为新设备分配通讯地址以实现后续通信。

3)本发明所提及的系统不需要事先知道从控制端的地址,网络拓朴较灵活,设备可以热插拔。

4)本发明采用常规通用器件即可实现整个协议,对设备性能要求低,成本低廉,便于在现有通讯网路基础上灵活扩展。

5)可以在重新配置主控制端以更改触发关系,达到灵活配置的效果。

应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。

结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。

附图说明

附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:

图1是本发明的单线共享总线协议的系统的结构示意图。

图2是本发明的从控制器的level计数器的数值分布示意图。

图3是本发明的新设备接入的方法流程图。

具体实施方式

为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。

下面通过具体实施例对前述发明内容做进一步的阐述。

结合图1,本发明提出一种单线共享总线协议的系统,所述系统包括控制终端、主控制器、物理链接、从控制器、执行组件。

例如可以采用下述结构以构件整个系统:

1.物理链接

采用一条地线、一条数据线,数据线上拉5k电阻到5v电源。

2.控制终端

采用嵌入式Linux控制系统,采用Qt开发工具,既可以兼容PC平台,也可以兼容各类嵌入式Linux系统。

3.主控制器

采用pic16f877单片机,C语言实现,其中串行端口连接到控制终端,再通过一个数据I/O接口连接到数据线,正常时不做输出,输出低电平以传输信号。

4.从控制器

采用pic16f630单片机和一个数据I/O接口连接到数据线,正常时不做输出,输出低电平以传输信号,另外再采用一个数据I/O接口以连接执行组件

5.执行组件

例如烟雾传感器,继电器,开关等。执行组件的控制端连接到从控制器对应的数据I/O接口。

下面以物理链接上同时接入A、B、C、D、E五个从控制端及对应执行组件为例对新设备接入流程进行阐述,为了便于描述,level计数器的初始数值为1,最大设定阈值为3,当采用1/2的随机概率将level计数器的数值加1时,我们设定规则如下:将所有数值不为3的level计数器的数值按排列顺序间隔加1。

步骤1)、主控制器发送“地址查询”信号,A、B、C、D、E五个从控制端分别将其自身的硬件地址通过物理链接发送至主控制器,主控制器同时收到5个硬件地址数据,将接收到数据叠加后发送至物理链接上,从控制端接收叠加后的数据和自身硬件地址做比对,由于不相同因此不发送匹配成功信号,主控制器发送“计数器+1”信号至物理链接,所述未分配通讯地址的从控制器响应于接收到“计数器+1”信号,按1/2的随机概率将level计数器的数值加1,假设A、B、C、D、E五个从控制端的level计数器的数值分别变更为2,1,2,1,2。

步骤2)、同步骤1),由于主控制器在该步骤中收到了2个硬件地址数据,从控制器无法发送匹配成功信号,主控制器发送“计数器+1”信号至物理链接,假设A、B、C、D、E五个从控制端的level计数器的数值分别变更为3,1,3,1,3。

步骤3)、同步骤2),由于主控制器在该步骤中收到了2个硬件地址数据,从控制器无法发送匹配成功信号,主控制器发送“计数器+1”信号至物理链接,假设A、B、C、D、E五个从控制端的level计数器的数值分别变更为3,2,3,1,3。

步骤4)、由于主控制器在该步骤中只收到从控制器D发送的硬件地址,从控制器D在接收主控制器返回的硬件地址数据并做比对后将发送匹配成功信号至主控制器,主控制器请求控制终端分配地址,格式为0XFE+新地址,用作从控制器D的通讯地址。

步骤5)由于此时剩余的A、B、C、E四个从控制端的level计数器的数值分别3,2,3,3,主控制器无法接收到硬件地址,发送“计数器重置为1信号”至物理链接以使所有未分配通讯地址的从控制将自身的level计数器数值重置为1,即剩余的A、B、C、E四个从控制端的level计数器的数值均重置为1。

步骤6)重复前述步骤,直至为每个从控制端均分配一个独立的通讯地址为止。

在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定义在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号