可见光通信的多路控制方法、装置和系统与流程

文档序号:11709926阅读:222来源:国知局
可见光通信的多路控制方法、装置和系统与流程

本发明涉及可见光通信技术领域,尤其涉及可见光通信的多路控制方法、装置和系统。



背景技术:

可见光通信技术是指利用可见光波段的光作为信息载体,无需光纤等有线信道的传输介质,在空气中直接传输光信号的通信方式。可见光通信相对于射频及红外等通信方式具有成本低、覆盖范围确定、不会受到电磁干扰等优点。随着led(lightemittingdiode,发光二极管)照明的大量推广以及可见光通信技术的发展,传统的工业通信领域在很多场合下已经开始使用可见光通信技术。

目前的可见光通信技术中,控制设备的同一发射信号只能实现对一路工业设备进行控制,可扩展性不强,由于工业控制结构的复杂性,实际生产中往往需要同时对多路不同的工业设备进行控制,若部署多个控制设备,无疑会增加通信系统的复杂度,增加成本,也无法满足日益复杂的工业控制需求。



技术实现要素:

本发明的主要目的在于提出一种可见光通信的多路控制方法、装置和系统,旨在降低可见光通信系统的复杂度,提升可见光通信系统的可扩展性。

为实现上述目的,本发明提供一种可见光通信的多路控制方法,应用于控制端,所述方法包括如下步骤:

对待发送的原始数据包进行循环冗余校验运算,将运算生成的校验码加入所述原始数据包尾部,得到第一数据包;

在所述第一数据包头部加入预设长度的控制字节,得到第二数据包,所述控制字节用于表示可见光控制信号的控制路数;

根据预设转码规则对所述第二数据包进行转码,将转码后的数据包作为第三数据包;

在所述第三数据包头部加入用于标识可见光光源的标识字节,得到最终数据包,将所述最终数据包加载至所述可见光光源的电流驱动上,以驱动所述可见光光源发出光信号。

可选地,所述根据预设转码规则对所述第二数据包进行转码,将转码后的数据包作为第三数据包的步骤包括:

根据串行线路网际协议slip,将所述第二数据包中的0xc0字节转换为0xdb和0xdc两个字节,同时将所述第二数据包中的0xdb字节转换为0xdb和0xdd两个字节,得到第三数据包;

所述在所述第三数据包头部加入用于标识可见光光源的标识字节,得到最终数据包的步骤包括:

在所述第三数据包头部加入0xc0字节,得到最终数据包。

此外,为实现上述目的,本发明还提供一种可见光通信的多路控制装置,应用于控制端,所述装置包括:

第一处理模块,用于对待发送的原始数据包进行循环冗余校验运算,将运算生成的校验码加入所述原始数据包尾部,得到第一数据包;

第二处理模块,用于在所述第一数据包头部加入预设长度的控制字节,得到第二数据包,所述控制字节用于表示可见光控制信号的控制路数;

转码模块,用于根据预设转码规则对所述第二数据包进行转码,将转码后的数据包作为第三数据包;

发送模块,用于在所述第三数据包头部加入用于标识可见光光源的标识字节,得到最终数据包,将所述最终数据包加载至所述可见光光源的电流驱动上,以驱动所述可见光光源发出光信号。

可选地,所述转码模块还用于根据串行线路网际协议slip,将所述第二数据包中的0xc0字节转换为0xdb和0xdc两个字节,同时将所述第二数据包中的0xdb字节转换为0xdb和0xdd两个字节,得到第三数据包;

所述发送模块还用于在所述第三数据包头部加入0xc0字节,得到最终数据包。

此外,为实现上述目的,本发明还提供一种可见光通信的多路控制系统,所述系统包括控制端和被控端,其中,

所述控制端包括如上所述的装置;

所述被控端包括:

接收模块,用于接收所述控制端发出的光信号并将所述光信号转换为电流信号,以所述标识字节为分割符,将所述电流信号中的数据流分割为若干数据包;

还原模块,用于对分割得到的数据包进行转码还原,得到第四数据包;

比较模块,用于比较所述第四数据包头部的控制字节是否与预设控制字节相同,若是,则去掉所述第四数据包头部的控制字节,得到第五数据包;

执行模块,用于将尾部不带校验码的第五数据包进行所述循环冗余校验运算,比较运算生成的校验码与所述第五数据包尾部的校验码是否相同,若是,则将所述第五数据包还原为所述原始数据包,根据所述原始数据包控制所述被控端执行对应功能。

可选地,所述还原模块还用于:

根据串行线路网际协议slip,检索分割得到的数据包中的0xdb字节和0xdb字节的后一字节;

当检索到0xdb字节的后一字节为0xdc时,将检索到的0xdb和0xdc两个字节还原为0xc0字节,当检索到0xdb字节的后一字节为0xdd时,将检索到的0xdb和0xdd两个字节还原为0xc0字节,得到第四数据包。

可选地,所述还原模块还用于当检索到0xdb字节的后一字节不为0xdc和0xdd中的任意一种时,丢弃分割得到的数据包。

可选地,所述比较模块还用于当所述第四数据包头部的控制字节与预设控制字节不同时,丢弃所述第四数据包。

可选地,所述执行模块还用于当运算生成的校验码与所述第五数据包尾部的校验码不同时,丢弃所述第五数据包。

本发明控制端对待发送的原始数据包进行循环冗余校验运算,将运算生成的校验码加入所述原始数据包尾部,得到第一数据包;在所述第一数据包头部加入预设长度的控制字节,得到第二数据包,所述控制字节用于表示可见光控制信号的控制路数;根据预设转码规则对所述第二数据包进行转码,将转码后的数据包作为第三数据包;在所述第三数据包头部加入用于标识可见光光源的标识字节,得到最终数据包,将所述最终数据包加载至所述可见光光源的电流驱动上,以驱动所述可见光光源发出光信号。本发明控制端对待发送的原始数据包依次进行循环冗余校验、转码和加入标识字节,能够保证被控端正确识别发射信号,同时加入控制字节对应可见光通信的控制路数,能够实现可见光的同一发射信号对多路不同设备进行控制,降低了可见光通信系统的复杂度,此外,通过改变控制字节的长度就能改变通信系统的最多可控制路数,提升了可见光通信系统的可扩展性。

附图说明

图1为本发明可见光通信的多路控制方法第一实施例的流程示意图;

图2为本发明可见光通信的多路控制方法第二实施例的流程示意图;

图3为本发明可见光通信的多路控制方法第二实施例中控制端的数据包处理流程示意图;

图4为本发明可见光通信的多路控制装置第一实施例的功能模块示意图;

图5为本发明可见光通信的多路控制系统第一实施例的功能模块示意图;

图6为本发明可见光通信的多路控制系统第二实施例中被控端的数据包处理流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种可见光通信的多路控制方法。

参照图1,图1为本发明可见光通信的多路控制方法第一实施例的流程示意图。所述方法包括如下步骤:

步骤s10,对待发送的原始数据包进行循环冗余校验运算,将运算生成的校验码加入所述原始数据包尾部,得到第一数据包;

本实施例可见光通信的多路控制方法应用于可见光通信系统中的控制端,该可见光通信系统包括控制端和被控端,控制端通过可见光发送数据包以使被控端执行相应指令,被控端可以包括若干不同的工业设备,如电机、温控设备等。

在本实施例中,控制端可以通过工业以太网和一控制中心的上位机保持通信,控制端接收上位机发送的网络数据包,然后去掉相应的网络协议包头,将其转换成纯数据流,进而得到包含控制指令的若干原始数据包。首先,控制端对待发送的原始数据包进行crc(cyclicredundancycheck,循环冗余校验)运算,具体可以为crc32运算(32位循环冗余校验运算)或crc16(16位循环冗余校验运算)等,如采用crc32运算,将生成四字节的校验码,此时将生成的校验码加入至原始数据包尾部作为第一数据包。

步骤s20,在所述第一数据包头部加入预设长度的控制字节,得到第二数据包,所述控制字节用于表示可见光控制信号的控制路数;

该步骤中,向上述第一数据包的头部加入预设长度的控制字节作为第二数据包,其中,控制字节的长度对应可见光控制信号的最大控制路数,可根据实际生产需要进行灵活设置,若为两个字节的控制字节,该两字节的取值范围为0-65536,以十六进制表示为0x0000-0xffff,则可见光控制信号的控制路数至多为65536路。控制字节用于表示控制信号的控制路数,比如,若控制字节为0x0001,则表示该可见光控制信号的控制路数为第一路。

步骤s30,根据预设转码规则对所述第二数据包进行转码,将转码后的数据包作为第三数据包;

该步骤中,根据预设转码规则对上述第二数据包进行转码,比如,可通过相关通信协议对第二数据包进行转码,以使数据包的数据传输符合相关通信协议。

步骤s40,在所述第三数据包头部加入用于标识可见光光源的标识字节,得到最终数据包,将所述最终数据包加载至所述可见光光源的电流驱动上,以驱动所述可见光光源发出光信号。

转码得到第三数据包之后,在第三数据包头部加入用于标识可见光光源的标识字节,从而得到最终数据包。标识字节一方面可用于被控端判断数据包的合法性,另一方面可用于被控端将某段时间接受到的数据流分割为若干数据包。之后,将得到的最终数据包加载至可见光光源的电流驱动上,从而驱动可见光光源发出光信号。被控端接收到光信号后,将光信号转换为电流信号,再对数据包进行校验和解码,从而得到原始数据包,通过原始数据包的控制指令即可执行对应功能。

在本实施例中,控制端对待发送的原始数据包依次进行循环冗余校验、转码和加入标识字节,能够保证被控端正确识别发射信号,同时加入控制字节对应可见光通信的控制路数,能够实现可见光的同一发射信号对多路不同设备进行控制,降低了可见光通信系统的复杂度,此外,通过改变控制字节的长度就能改变通信系统的最多可控制路数,提升了可见光通信系统的可扩展性。

进一步地,参照图2,图2为本发明可见光通信的多路控制方法第二实施例的流程示意图。基于上述图1所示的实施例,步骤s30可以包括:

步骤s31,根据串行线路网际协议slip,将所述第二数据包中的0xc0字节转换为0xdb和0xdc两个字节,同时将所述第二数据包中的0xdb字节转换为0xdb和0xdd两个字节,得到第三数据包;

此时步骤s40可以替换为:

步骤s41,在所述第三数据包头部加入0xc0字节,得到最终数据包,将所述最终数据包加载至所述可见光光源的电流驱动上,以驱动所述可见光光源发出光信号。

参照图3,图3为本发明可见光通信的多路控制方法第二实施例中控制端的数据包处理流程示意图。其处理步骤为:首先将原始数据包尾部加入crc校验码,然后在头部加入控制字节,再经过0xc0和0xdb变换形成新数据包,再在新数据包的头部加入标识字节0xc0得到最终发射数据包。

本实施例根据串行线路网际协议slip(seriallineinternetprotocol)对第二数据包进行转码,具体转码方式为:将第二数据包中的所有0xc0字节转换为0xdb和0xdc两个字节,同时将所有0xdb字节转换为0xdb和0xdd两个字节,将转码后的数据包作为第三数据包。然后,再在第三数据包头部增加0xc0字节以标识数据包的合法性,从而得到最终数据包并通过可见光进行发送。

在本实施例中,根据slip协议对数据包进行转码,能够保证转码的合法性;由于转码后的数据包中不再含有0xc0字节,因而此时在数据包头部增加0xc0字节,能够使该唯一的0xc0字节成为该数据包的标识字节,同时也可以作为控制端可见光光源的标识字节,和其他可见光光源区分开来。

本发明还提供一种可见光通信的多路控制装置。

参照图4,图4为本发明可见光通信的多路控制装置第一实施例的功能模块示意图。所述装置包括:

第一处理模块10,用于对待发送的原始数据包进行循环冗余校验运算,将运算生成的校验码加入所述原始数据包尾部,得到第一数据包;

本实施例可见光通信的多路控制装置应用于可见光通信系统中的控制端,该可见光通信系统包括控制端和被控端,控制端通过可见光发送数据包以使被控端执行相应指令,被控端可以包括若干不同的工业设备,如电机、温控设备等。

在本实施例中,控制端可以通过工业以太网和一控制中心的上位机保持通信,控制端接收上位机发送的网络数据包,然后去掉相应的网络协议包头,将其转换成纯数据流,进而得到包含控制指令的若干原始数据包。首先,第一处理模块10对待发送的原始数据包进行crc(cyclicredundancycheck,循环冗余校验)运算,具体可以为crc32运算(32位循环冗余校验运算)或crc16(16位循环冗余校验运算)等,如采用crc32运算,将生成四字节的校验码,此时将生成的校验码加入至原始数据包尾部作为第一数据包。

第二处理模块20,用于在所述第一数据包头部加入预设长度的控制字节,得到第二数据包,所述控制字节用于表示可见光控制信号的控制路数;

第二处理模块20向上述第一数据包的头部加入预设长度的控制字节作为第二数据包,其中,控制字节的长度对应可见光控制信号的最大控制路数,可根据实际生产需要进行灵活设置,若为两个字节的控制字节,该两字节的取值范围为0-65536,以十六进制表示为0x0000-0xffff,则可见光控制信号的控制路数至多为65536路。控制字节用于表示控制信号的控制路数,比如,若控制字节为0x0001,则表示该可见光控制信号的控制路数为第一路。

转码模块30,用于根据预设转码规则对所述第二数据包进行转码,将转码后的数据包作为第三数据包;

转码模块30根据预设转码规则对上述第二数据包进行转码,比如,可通过相关通信协议对第二数据包进行转码,以使数据包的数据传输符合相关通信协议。

发送模块40,用于在所述第三数据包头部加入用于标识可见光光源的标识字节,得到最终数据包,将所述最终数据包加载至所述可见光光源的电流驱动上,以驱动所述可见光光源发出光信号。

转码模块30转码得到第三数据包之后,发送模块40在第三数据包头部加入用于标识可见光光源的标识字节,从而得到最终数据包。标识字节一方面可用于被控端判断数据包的合法性,另一方面可用于被控端将某段时间接受到的数据流分割为若干数据包。之后,发送模块40将得到的最终数据包加载至可见光光源的电流驱动上,从而驱动可见光光源发出光信号。被控端接收到光信号后,将光信号转换为电流信号,再对数据包进行校验和解码,从而得到原始数据包,通过原始数据包的控制指令即可执行对应功能。

在本实施例中,控制端对待发送的原始数据包依次进行循环冗余校验、转码和加入标识字节,能够保证被控端正确识别发射信号,同时加入控制字节对应可见光通信的控制路数,能够实现可见光的同一发射信号对多路不同设备进行控制,降低了可见光通信系统的复杂度,此外,通过改变控制字节的长度就能改变通信系统的最多可控制路数,提升了可见光通信系统的可扩展性。

进一步地,继续参照图4,基于上述可见光通信的多路控制装置第一实施例,提出本发明可见光通信的多路控制装置第二实施例。

在本实施例中,转码模块30还用于根据串行线路网际协议slip,将所述第二数据包中的0xc0字节转换为0xdb和0xdc两个字节,同时将所述第二数据包中的0xdb字节转换为0xdb和0xdd两个字节,得到第三数据包;发送模块40还用于在所述第三数据包头部加入0xc0字节,得到最终数据包。

参照图3,控制端处理步骤为:首先第一处理模块10将原始数据包尾部加入crc校验码,然后第二处理模块20在头部加入控制字节,再经过转码模块30进行0xc0和0xdb变换形成新数据包,发送模块40再在新数据包的头部加入标识字节0xc0得到最终发射数据包。

本实施例根据串行线路网际协议slip(seriallineinternetprotocol)对第二数据包进行转码,转码模块30具体转码方式为:将第二数据包中的所有0xc0字节转换为0xdb和0xdc两个字节,同时将所有0xdb字节转换为0xdb和0xdd两个字节,将转码后的数据包作为第三数据包。然后,发送模块40再在第三数据包头部增加0xc0字节以标识数据包的合法性,从而得到最终数据包并通过可见光进行发送。

在本实施例中,根据slip协议对数据包进行转码,能够保证转码的合法性;由于转码后的数据包中不再含有0xc0字节,因而此时在数据包头部增加0xc0字节,能够使该唯一的0xc0字节成为该数据包的标识字节,同时也可以作为控制端可见光光源的标识字节,和其他可见光光源区分开来。

本发明还提供一种可见光通信的多路控制系统。

参照图5,图5为本发明可见光通信的多路控制系统第一实施例的功能模块示意图。所述系统包括控制端101和被控端102,其中,控制端101包括上述可见光通信的多路控制装置第一实施例和第二实施例所述的装置;

本实施例控制端101各功能模块可参照上述可见光通信的多路控制装置实施例,此处不再赘述。下面将结合图5说明本实施例被控端102所实现的功能。

被控端102包括:

接收模块50,用于接收所述控制端发出的光信号并将所述光信号转换为电流信号,以所述标识字节为分割符,将所述电流信号中的数据流分割为若干数据包;

在本实施例中,由于控制信号一般以数据流形式发送,因而被控端接收到的控制信号也为数据流,具体地,接收模块50首先接收控制端发出的光信号并通过转换电路将光信号转换为电流信号,然后以数据流中的标识字节为分割符,将数据流分割为若干数据包。

还原模块60,用于对分割得到的数据包进行转码还原,得到第四数据包;

对分割得到的每个数据包,还原模块60根据预设转码规则对其进行转码,以将数据包还原为原始数据包加校验码和控制字节的形式,并将转码后的数据包作为第四数据包。

比较模块70,用于比较所述第四数据包头部的控制字节是否与预设控制字节相同,若是,则去掉所述第四数据包头部的控制字节,得到第五数据包;

在本实施例中,可预先设置和控制系统的控制路数相对应的控制字节存储在被控端。在还原模块60转码得到第四数据包之后,比较模块70比较该第四数据包头部的控制字节是否与预先存储的控制字节相同,若相同,则说明该数据包与该被控端匹配,此时去掉第四数据包头部的控制字节,得到第五数据包。

进一步地,比较模块70还用于当所述第四数据包头部的控制字节与预设控制字节不同时,丢弃所述第四数据包。

若第四数据包头部的控制字节与预设控制字节不同,则说明该数据包无效,此时丢弃该数据包。

执行模块80,用于将尾部不带校验码的第五数据包进行所述循环冗余校验运算,比较运算生成的校验码与所述第五数据包尾部的校验码是否相同,若是,则将所述第五数据包还原为所述原始数据包,根据所述原始数据包控制所述被控端执行对应功能。

由于第五数据包为原始数据包加校验码的形式,此时执行模块80将尾部不带校验码的第五数据包进行循环冗余校验运算,该循环冗余校验运算应和控制端所采用的循环冗余校验运算算法一致,然后,比较运算生成的校验码与第五数据包尾部的校验码是否相同,若相同,则说明接收到的数据包为正确的数据包,此时执行模块80将第五数据包还原为所述原始数据包后,就能根据原始数据包控制所述被控端执行对应功能。

进一步地,执行模块80还用于当运算生成的校验码与所述第五数据包尾部的校验码不同时,丢弃所述第五数据包。

若运算生成的校验码与第五数据包尾部的校验码不同,则说明可能由于环境干扰造成接收数据包出错,此时丢弃该数据包。

在本实施例中,控制端101通过对待发送的原始数据包依次加入循环冗余校验码和控制字节,然后进行转码和加入标识字节,使得被控端102即各种不同的工业设备在接收到该控制端发送的数据流时,能够通过标识字节分割数据流从而得到数据包,然后通过相应解码规则还原数据包,并通过控制字节判断数据包是否为该被控端所属控制路数,通过循环冗余校验码判断数据包是否出错,最终执行原始数据包的对应功能,从而实现了可见光的同一发射信号对多路不同设备进行控制,降低了可见光通信系统的复杂度,此外,通过改变控制字节的长度就能改变通信系统的最多可控制路数,提升了可见光通信系统的可扩展性。

进一步地,继续参照图5,基于上述可见光通信的多路控制系统第一实施例,提出本发明可见光通信的多路控制系统第二实施例。

在本实施例中,还原模块60还用于:

根据串行线路网际协议slip,检索分割得到的数据包中的0xdb字节和0xdb字节的后一字节;

当检索到0xdb字节的后一字节为0xdc时,将检索到的0xdb和0xdc两个字节还原为0xc0字节,当检索到0xdb字节的后一字节为0xdd时,将检索到的0xdb和0xdd两个字节还原为0xc0字节,得到第四数据包。

参照图6,图6为本发明可见光通信的多路控制系统第二实施例中被控端的数据包处理流程示意图。被控端处理步骤为:首先接收模块50以0xc0为分割符,将接收到的数据流分割为单个数据包,再经过还原模块60将0xdb、0xdc和0xdd进行转码还原,比较模块70比较还原的数据包头部的控制字节与预设控制字节是否相同,若相同,则执行模块80将尾部不带校验码的数据包进行crc运算生成校验码,并与该数据包尾部的校验码进行比较,若相同,则将该数据包还原为原始数据包。

本实施例根据slip协议对分割得到的数据包进行转码还原,还原模块60具体转码方式为:检索分割得到的数据包中所有的0xdb字节,若0xdb字节的后一字节为0xdc,则将该0xdb和0xdc两个字节还原为0xc0字节,若0xdb字节的后一字节为0xdd,则将该0xdb和0xdd两个字节还原为0xc0字节,得到第四数据包。

进一步地,还原模块60还用于当检索到0xdb字节的后一字节不为0xdc和0xdd中的任意一种时,丢弃分割得到的数据包。

若还原模块60检索到0xdb字节的后一字节不为0xdc和0xdd中的任意一种,说明接收数据包出错,此时丢弃该数据包。

在本实施例中,根据slip协议对数据包进行转码还原,能够保证转码的合法性;只有当接收到的数据包含有特定字节,且数据包的控制字节和crc校验码均验证成功时,才判定该数据包为正确且有效的数据包,进而控制被控端执行对应功能,从而增强了可见光通信的可靠性。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1