一种基于BPLC的DMX512数据传输方法与流程

文档序号:17069556发布日期:2019-03-08 23:12阅读:1206来源:国知局
一种基于BPLC的DMX512数据传输方法与流程

本发明涉及数据传输技术领域,特别涉及一种基于bplc(宽带电力线通信(broadbandpowerlinecommunication,英文简称bplc))的dmx512数据传输方法。



背景技术:

室外基于dmx512协议景观灯采用rs485总线方式,面对rs485总线存在的节点数量受限,阻抗不匹配等问题,给现场安装调试带了非常大的困难,特别是当总线某一个节点出现故障,就会导致整个总线出现不平衡或瘫痪等问题,给后期维护带来非常巨大工作量。现有的dmx512总线传输,采用完全透明的传输方法,即dmx512主机传输数据完全透明地通过rs485总线传输到每个终端设备,由于dmx512传输的数据之中有一部数据是完全重复的,造成总线冗余的传输负载,使得半双工总线90%带宽使用在下行通信,上行带宽严重不足,很难适应更高速要求的dmx512应用场景。



技术实现要素:

本发明的目的是为了解决现有技术中基于rs485总线进行dmx512数据传输,当总线中某一个节点出现故障时会造成整个系统瘫痪,以及由于dmx512下行传输数据量大,总线下行数据传输非常繁忙,上行带宽严重不足,很难适应更高速要求的dmx512应用场景的问题,提出一种基于bplc的dmx512数据传输方法。

为解决上述技术问题,本发明提出一种基于bplc的dmx512数据传输方法,包括如下步骤:s1、双缓存buffer,发送端bplc调制解调器采用双缓存buffer机制,缓存接收来自dmx512主控台的dmx512数据;s2、重复数据包检测,发送端bplc调制解调器接收每包dmx512数据时,基于硬件crc机制进行同步校验和接收,以进行数据重复检测,对于重复的数据包不进行传输;s3、数据压缩与解压,发送端bplc调制解调器对于需要进行传输的dmx512数据,进行数据压缩与解压。

在一些实施例中,还包括:

s4、bplc数据编码,发送端bplc调制解调器采用基于ofdm的调制技术,对数据进行编码并通过电力线进行数据传输。

s5、数据还原,接收端bplc调制解调器接收通过电力线传输的bplc载波信号,对plc数据解调和plc协议数据进行解析,将数据还原成标准的dmx512数据包;

s6、数据缓冲队列,将还原的dmx512数据包依次放入发送队列,按照dmx512格式要求进行数据发送到dmx512终端;对于重复的数据包,通过传输锁相的机制,在接收端bplc调制解调器进行dmx512自动预判需要重复发送的数据包。

与现有技术相比,本发明的有益效果有:采用基于bplc的dmx512传输方法,可以完全解决现在因一个节点故障导致整个总线系统崩溃的情况和阻抗不匹配的问题。同时bplc是基于电源线进行信号传输,进一步地减少信号线的布线和维护工作量,也实现节点数量不受限;基于dmx512数据传输,对重复刷新数据包进行检测,对于重复的数据部进行传输,通过传输锁相,锁相自动重复刷新,避免总线重复传输冗余负载,有效减轻总线负载,非常明显的平衡半双工带宽利用率,提高上行通信带宽,最大限度利用有效带宽,使得传输更高效、更多信息量。采用基于bplc的dmx512传输方法,由于采用了数据压缩和重复包不传输机制,使得传输数据信息有效减少,提升了dmx512数据呑吐率。如此,本发明可以适用更高速实时的dmx512应用场景。

附图说明

图1为本发明实施例dmx512传输结构图。

图2为本发明实施例的传输流程图。

具体实施方式

具体实施方式1

基于bplc的dmx512数据传输采用dmx512数据压缩、双数据缓冲器(buffer)缓存和重复包检测技术,最大限度利用有效带宽,使得传输更高效、更多信息量,同时平衡上下行的传输带宽。

具体见图1,为本实施例dmx512传输结构图。

dmx512数据传输通过对dmx512数据格式特点,同时结合bplc传输特点和传输结构,设计如图2的传输流程,主要包括双缓存buffer、重复包检测、数据压缩、plc数据编码、plc数据解码、数据包解压、dmx512数据还原和缓存队列等流程。

双缓存buffer,发送端bplc调制解调器采用双缓存buffer机制,高速缓存接收来自dmx512主控台的dmx512数据,以解决bplc调制与处理额外开销的时间,确保数据不会丢失。定义两个缓存buffer,一个作为主buffer,一个作为从buffer;交替使用主从buffer接收来自dmx512的数据,进行高速缓存接收来自dmx512主控台的dmx512的数据。dmx512控台的dmx512数据包,第一包放在主缓存buffer,第二包放在从缓冲buffer,当接收到第三包的数据时则放到主缓存buffer,第四包数据则放在从buffer,依次交替将接收到的数据放到主从buffer.

重复包检测,通过分析dmx512数据的特点,其中部分数据包存在重复的现象,发送端bplc调制解调器接收每包数据时,基于硬件crc机制进行同步校验和接收,由于硬件的crc校,cpu占用时间可以忽略,进行高效的数据重复检测。对于重复包不进行传输,通过传输锁相的机制,在终端部分进行dmx512自动预判需要重复发送的数据。传输锁相的机制,对于被检测的重复包或者有重复传输规律的数据传输,可以进行识别规律,并将按照识别的规律进行数据发送。进一步的,对于dmx512实时刷新的数据存在重复性,对于接收到的每包数据采用硬件32位crc机制进行校验,获得本包数据32位crc校验码并存储,通过crc校验进行识别dmx512数据的重复性,对于相同校验码的数据进行丢弃,重复的数据不进行传输,对于不同校验码的数据进行缓存。而是通过传输锁相的机制,在终端部分dmx512数据进行锁相,自动发送重复的数据,刷新dmx512设备的显示。

数据压缩,发送端bplc调制解调器对于需要进行传输的数据,通过对dmx512传输数据的特点,数据包内面存在大量的重复数据,采用轻量级快速、压速率较好的minilzo压缩算法进行数据压缩与解压,再将压缩的数据封装到bplc通信协议的帧载荷里,通过bplc的ofdm进行调制并传输。

bplc数据编码、解码,发送端bplc调制解调器采用基于ofdm的调制技术,对数据进行编码和解码。

数据还原,接收端bplc调制解调器接收到bplc载波信号,通过对plc数据解调和plc协议数据进行解析,将数据还原成标准的dmx512数据包。

数据缓冲队列,将还原的数据包依次放入发送队列,按照dmx512格式要求进行数据发送。具体的,定义一个16个成员的缓冲队列,接收端bplc调制解调器将通过数据还原后得到的dmx512数据包依照接收到的顺序放入缓冲队列里,同时还会按照传输锁相机制,接收端对来自bplc的数据包进行锁相识别,如果识别到锁相的dmx512数据刷新的重复包,会把前一包数据再次放入到缓冲队列一次,保证dmx512正常的刷新频率。接收端bplc调制解调器按照刷新频率把数据从队列取出来,按照dmx512格式要求依次发送。

1)基于bplc技术的dmx512数据传输,减少布线,减少维护工作量,即便出现

后期某个节点故障,也不会造成系统瘫痪。

2)采用本传输方法,有效减轻总线负载,非常明显的平衡半双工带宽利用率,提高上行通信带宽。

3)采用本传输方法,传输数据信息有效减少,提升了dmx512数据呑吐率。可以适用更高速实时的dmx512应用场景。

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