本发明涉及舞台灯数据处理技术,特别涉及一种舞台灯具双缓存校准dmx512数据的系统和方法。
背景技术:
dmx512协议是usitt(美国剧院技术协会)发展成为从控制台用标准数字接口控制调光器的方式。目前,各种舞台效果灯、调光控制器以及电脑灯在内的智能灯具都全面支持dmx512协议,调光灯具已全面实现数字化控制,并在此基础上,逐渐趋于电脑化、网络化。
在舞台灯光设备的控制技术中,普遍采用dmx512协议对灯具设备进行控制。但由于dmx512协议是一种单向传送数据流的协议,导致数据传输不可靠。
现有判断dmx512数据方法大多是通过判断多个数据包来减少其错误率,这种方法会影响到舞台灯具处理数据的效率。
技术实现要素:
本发明要解决的技术问题是提供一种舞台灯具双缓存校准dmx512数据的系统和方法,无需接收多个dmx512数据即可快速检测数据正确性,提高舞台灯数据处理的效率。
为了解决上述技术问题,本发明的技术方案为:
一种舞台灯具双缓存校准dmx512数据的系统,包括:
接收装置:用于接收dmx512接口的dmx512数据包;
内存:用于定义缓存区,缓存区储存dmx512数据包;
处理器:用于输出和处理dmx512数据;
判断器:用于对比和判断dmx512数据包和dmx512协议。
一种舞台灯具双缓存校准dmx512数据的方法,包括:
步骤s1,从dmx512接口接收dmx512数据包;
步骤s2,定义两个接收数据的缓存区,分别是buff1和buff2,将dmx512数据包中的通道数据储存至buff1,将整帧dmx512数据包储存至buff2;
步骤s3,将buff2的dmx512数据包和dmx512协议通过判断器对比,
若结果一致,则处理器将buff1的通道数据输出至舞台灯,反之,处理器将buff1的通道数据删除,并重新执行步骤s1。
优选的,所述buff1的内存大小为舞台灯所需要的通道个数的大小。
优选的,所述buff2的内存大小为513个字节。
优选的,所述dmx512接口接收的dmx512数据包为整帧的dmx512数据。
采用上述技术方案,通过定义两个接收数据的缓存区buff1和buff2,buff2用于检测数据的完整性,buff1用于输出,无需接收多个dmx512数据即可快速检测数据正确性,提高了舞台灯数据处理的效率。
附图说明
图1为一种双缓存校准dmx512数据的系统的结构框图;
图2为一种双缓存校准dmx512数据的方法的程序框图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
参见图1,本发明提供了一种舞台灯具双缓存校准dmx512数据的系统,包括:
接收装置:用于接收dmx512接口的dmx512数据包;
内存:用于定义缓存区,缓存区储存dmx512数据包;
处理器:用于输出和处理dmx512数据;
判断器:用于对比和判断dmx512数据包和dmx512协议。
接收装置和内存连接,接收装置将从dmx512接口接收到的dmx512数据包分配至内存,cpu与判断器和内存连接,cpu获取内存的dmx512数据包输出到判断器。
参见图2,本发明提供了一种舞台灯具双缓存校准dmx512数据的方法,包括:
步骤s1,从dmx512接口接收dmx512数据包,dmx512接口接收的dmx512数据包为整帧的dmx512数据;步骤s2,定义两个接收数据的缓存区,分别是buff1和buff2,buff1的内存大小为舞台灯所需要的通道个数的大小,buff2的内存大小为513个字节,将dmx512数据包中的通道数据储存至buff1,将整帧dmx512数据包储存至buff2;步骤s3,将buff2的dmx512数据包和dmx512协议通过判断器对比,若结果一致,则处理器将buff1的通道数据输出至舞台灯,反之,处理器将buff1的通道数据删除,并重新执行步骤s1。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。