CN103858522B - 改善dmx512通信的方法 - Google Patents

改善dmx512通信的方法 Download PDF

Info

Publication number
CN103858522B
CN103858522B CN201280050076.4A CN201280050076A CN103858522B CN 103858522 B CN103858522 B CN 103858522B CN 201280050076 A CN201280050076 A CN 201280050076A CN 103858522 B CN103858522 B CN 103858522B
Authority
CN
China
Prior art keywords
dmx
byte
machine
error correction
enhancing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201280050076.4A
Other languages
English (en)
Other versions
CN103858522A (zh
Inventor
J.B.米尔斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Priority claimed from PCT/IB2012/055423 external-priority patent/WO2013054247A1/en
Publication of CN103858522A publication Critical patent/CN103858522A/zh
Application granted granted Critical
Publication of CN103858522B publication Critical patent/CN103858522B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

公开了用于改善的DMX通信的方法和设备。在一些实施例中,与DMX协议扩展有关的方法和设备允许经由增强的DMX从属装置的误差检测和校正。所述方法和设备可以利用并入DMX包内且可以用于校正DMX包中的指令字节的至少一个前向纠错字节。在一些变体中,可选地,可以根据交织方案交织该DMX包内的多个字节。

Description

改善DMX512通信的方法
技术领域
本发明总体上涉及与通信协议的扩展相关的方法和设备。更特别地,本文公开的各种发明的方法和设备涉及与DMX通信协议的扩展相关的方法和设备。
背景技术
DMX通信协议是为一些可编程的照明应用而在照明工业中常规使用的照明命令协议,并且当前包括DMX512和DMX512-A协议。在DMX协议中,照明相关的指令可以作为控制数据传输到照明单元,该控制数据被格式化为包括高达512字节数据的包,其中,每个数据字节由表示0-255之间的数值的8比特组成。每个8比特数据之前是单个起始比特(Start Bit),并且之后是两个停止比特(Stop Bit),以构成所谓的数据槽(大小为11比特)。在这512个数据槽之前有“起始码”字节(典型地,0x00),也被称为槽0,该槽0具有自己的起始比特,该起始比特之后是8比特数据(典型地,0x00),然后是两个停止比特。该“起始码”在中断(“Break”)和中断后标记(“Mark-After-Break”)之后。
在DMX协议中,在给定DMX包中的多达512个数据槽中的单独的数据槽旨在作为用于特定照明单元的与照明有关的命令。例如,单独的数据槽内的8比特数据可以旨在作为用于多通道照明单元中的特定“通道”的命令,其中,数值零指示没有发光输出功率用于照明单元的给定通道(即,通道关闭),而数值255指示全部发光输出功率(100%可用功率)用于照明单元的给定通道(即,通道完全打开)。例如,考虑基于红色、绿色和蓝色LED的三通道照明单元(即,“R-G-B”照明单元)的情形,DMX协议中的照明命令可将红色通道命令、绿色通道命令和蓝色通道命令中的每一个规定为表示从0至255的值的8比特数据(即,一个数据字节)。任何一个颜色通道的最大值255指示照明单元的处理器控制相应的(多个)光源,按通道的最大可用功率(即,100%)进行操作,从而为该颜色产生最大的可用发光功率(R-G-B照明单元的这种命令结构通常被称为24比特颜色控制)。因此,格式为[R,G,B]=[255,255,255]的命令会使得照明单元为红色、绿色和蓝色光中的每一个都产生最大发光功率(从而生成白光)。为了更优良的分辨率颜色控制,不只是单个数据槽中的8比特数据可以被使用,例如,16比特彩色光源使用两个数据槽以便表示从0至65535的值。不仅考虑R-G-B照明,还考虑更大量的颜色,诸如,但并非排他地限于,红色-绿色-蓝色-黄色-白色。
此外,例如,单独的数据字节的所有或多个方面可以位于数据槽内,也可以旨在作为用于控制照明单元和/或其他DMX从属装置的一个或多个附加方面的命令。例如,一个或多个数据字节可以控制照明单元的模式、焦点、棱镜、平移、倾斜、旋转速度和/或活动性。此外,例如,一个或多个数据字节可以控制照明单元的调光快门、颜色轮盘和/或分辐透镜。如本领域普通技术人员所理解的,可以附加地或可替换地使用DMX协议,来控制一个或多个照明单元和/或其他DMX从属装置的其他方面。
因此,采用DMX协议的给定通信链路通常可以支持多达512个不同的照明单元通道。被设计成接收以DMX协议格式化的通信的给定照明单元一般被配置为仅仅对与照明单元的通道数量相对应的包中的512个数据字节中的一个或多个特定的数据字节作出响应(例如,在三通道照明单元的示例中,该照明单元使用三个字节),并且忽略其他的字节,这基于所期望的(多个)数据字节在该包中的所述多达512个字节的整个序列中的特定位置。为此,基于DMX的照明单元可以装备地址选择机制,该机制可以由用户/安装者手动地设置,以确定该照明设备对其作出响应的(多个)数据字节在给定的DMX包中的所述特定位置。其他系统可以利用为在ANSI E1.20-2006中的DMX512网络上的娱乐技术-RDM-远程设备管理标准提供以便远程地配置DMX地址的双向通信能力。
DMX协议的某些实现方式包括该协议在其原始范围之外的使用和/或该协议能力的延伸。例如,在一些实现方式中,经由无线网络使用DMX协议。此外,例如,在一些实现方式中,使用DMX协议控制可以将人和/或财产置于危险之中的照明单元(例如,在人周围使用的损害眼睛的激光发射照明单元)。在这样的实现方式中以及在该DMX协议的其他实现方式中,可能期望的是,实现误差检测和/或校正,以改善照明单元的可靠性、功能和/或安全。
DMX512协议没有规定误差检测。DMX512-A协议提到了通过使用系统信息包(SIP)的误差检测。该SIP具有间隔的起始码(例如,0xCF即207),并且包括与数据链路上的先前的DMX包有关的校验和数据以及其他控制信息。尽管SIP实现了一定程度的误差检测,但是它的使用需要所有的DMX从属装置符合DMX512-A协议。此外,必须在单独的包中发送在SIP中包括的校验和。此外,该SIP没有实现任何纠错。
因此,在本领域中,需要提供与DMX协议扩展有关的方法和设备,它们使得能够通过增强的DMX从属装置进行误差检测和校正,并且可选地克服SIP的一个或多个附加的缺点。
发明内容
本公开涉及用于改善的DMX通信的发明方法和设备。例如,在一些实施例中,与DMX协议的扩展有关的方法和设备允许经由增强的DMX从属装置的误差检测和校正,同时可选地保持与非增强的DMX从属装置的兼容性。所述方法和设备可以利用并入到DMX包中且包括与DMX包中的多个指令字节有关的前向纠错数据的多个前向纠错字节。在一些变体中,可选地,可以根据交织方案交织该DMX包内的多个字节。
一般而言,在一个方面中,提供了一种用于提供改善的DMX通信的方法,并且该方法包括将多个增强的DMX从机连接到DMX网络的步骤。增强的DMX从机具有与之相对应的多个DMX从机控制地址。该方法还包括编译具有多个字节的DMX包的步骤。所述字节包括与增强的DMX从机控制地址相对应的多个增强的DMX从机指令字节,并且包括至少一个前向纠错字节。该前向纠错字节并入到DMX包内,并且是DMX包的多个字节的前向纠错代码块。该方法还包括步骤:在DMX网络上传送DMX包;在增强的DMX从机中的每一个处,接收DMX包;在增强的DMX从机中的每一个处缓存包括前向纠错字节的多个字节;以及在增强的DMX从机中的每一个处,鉴于前向纠错字节解析增强的DMX从机指令字节中的至少一个。增强的DMX从机中的每一个在前向纠错字节指示伴随其的误差时利用前向纠错字节至少选择性地校正增强的DMX从机指令字节中的相应的至少一个,并且遵照校正的增强的DMX从机指令字节行事。
在一些实施例中,增强的DMX从机指令字节包括交织的DMX从机指令字节,交织的DMX从机指令字节中的每一个都具有与多个增强的DMX从机的操作指令相对应的比特。在那些实施例的一些版本中,DMX起始码的字节进一步包括与非增强的DMX从机控制地址相对应的至少一个非交织、非增强的DMX从机指令字节。
在一些实施例中,该方法进一步包括步骤:在DMX网络上传送DMX包之前,根据交织方案在DMX从机指令字节之间交织多个单独的比特。在那些实施例的一些版本中,增强的DMX从机指令字节包括第一、第二、和第三增强的DMX从机指令字节。第一、第二和第三增强的DMX从机指令字节中的每一个都包括与增强的DMX从机中的第一个相对应的第一增强的DMX从机指令比特以及与增强的DMX从机中的第二个相对应的第二增强的DMX从机指令比特。该方法可以进一步包括步骤:将单独的信息包传送到DMX从机。该单独的信息包包括与处理前向纠错字节相关的数据。
在一些实施例中,将与处理前向纠错字节相关的数据预加载到增强的DMX从机上。此外,在一些实施例中,贯穿DMX包,交织前向纠错字节。在那些实施例的一些版本中,所述至少一个前向纠错字节包含用于该DMX包的所有控制指令的前向纠错块数据。该方法可以进一步包括步骤:在DMX网络上传送DMX包之后,传送go命令,其中,增强的DMX从机中的每一个都不按照DMX包的增强的DMX从机指令字节行动,直到传送了go命令为止。
一般而言,在另一方面中,一种用于提供改善的DMX通信的方法包括将至少一个增强的DMX从机连接到DMX网络。所述增强的DMX从机具有至少一个增强的DMX从机控制地址。该方法还包括将至少一个非增强的DMX从机连接到DMX网络。该非增强的DMX从机具有至少一个非增强的DMX从机控制地址。该方法还包括编译具有多个字节的DMX包。所述字节包括与增强的DMX从机控制地址相对应的至少一个增强的DMX从机指令字节、与非增强的DMX从机控制地址相对应的至少一个非增强的DMX从机指令字节、以及至少一个前向纠错字节。该前向纠错字节并入到DMX包内,并且是DMX包的多个字节的前向纠错代码块。该方法进一步包括步骤:在DMX网络上传送DMX包;在增强的DMX从机处接收DMX包;在增强的DMX从机处缓存包括前向纠错字节的多个字节;以及在增强的DMX从机中的每一个处,鉴于前向纠错字节解析增强的DMX从机指令字节中的至少一个。增强的DMX从机中的每一个在该前向纠错字节指示伴随其的误差时利用前向纠错字节至少选择性地校正增强的DMX从机指令字节中的相应的至少一个,并且遵照校正的数据行事。非增强的DMX从机按照任何接收的非增强的DMX从机指令字节行动,而不管前向纠错字节。
在一些实施例中,所述至少一个增强的DMX从机指令字节包括第一增强的DMX从机指令字节和第二增强的DMX从机指令字节。在那些实施例的一些版本中,在前向纠错字节验证或者校正了第一增强的DMX从机指令字节时,该增强的DMX从机才按照第一增强的DMX从机指令字节行动,但是即使当前向纠错字节没有验证或者校正第二增强的DMX从机指令字节时,该增强的DMX从机也按照第二增强的DMX从机指令字节行动。
该方法可以进一步包括:在DMX网络上传送DMX包之前,根据交织方案交织第一增强的DMX从机指令字节和第二增强的DMX从机指令字节中的多个单独的比特。在那些实施例的一些版本中,该方法包括将制造商专用包传送到DMX从机,该制造商专用包包括与交织方案相关的数据。
在一些实施例中,所述至少一个增强的DMX从机包括第一增强的DMX从机和第二增强的DMX从机。在那些实施例的一些版本中,所述至少一个增强的DMX从机指令字节包括第一、第二和第三增强的DMX从机指令字节,并且第一、第二和第三增强的DMX从机指令字节中的每一个包括与第一增强的DMX从机相对应的第一增强的DMX从机指令比特以及与第二增强的DMX从机相对应的第二增强的DMX从机指令比特。
一般而言,在另一方面中,一种接收且解析改善的DMX通信的方法包括接收具有多个字节的DMX包。所述字节包括与增强的DMX从机相对应的至少一个增强的DMX从机指令字节以及至少一个前向纠错字节。该前向纠错字节并入到DMX包内,并且是DMX包的多个字节的前向纠错代码块。该方法进一步包括步骤:缓存包括前向纠错字节的多个字节;在增强的DMX从机中的每一个处,鉴于前向纠错字节解析增强的DMX从机指令字节中的至少一个;当前向纠错字节指示伴随其的误差时,利用前向纠错字节选择性地校正增强的DMX从机指令字节中的至少一个;以及至少选择性地遵照校正的增强的DMX从机指令字节行事。
在一些实施例中,至少一个增强的DMX从机指令字节包括交织的第一增强的DMX从机指令字节和交织的第二增强的DMX从机指令字节,并且该方法进一步包括:去交织第一增强的DMX从机指令字节和第二增强的DMX从机指令字节。
一般而言,在另一方面中,一种提供改善的DMX通信的方法包括编译具有多个字节的DMX包。所述字节包括与增强的DMX从机控制地址相对应的至少一个增强的DMX从机指令字节、与非增强的DMX从机控制地址相对应的至少一个非增强的DMX从机指令字节、以及至少一个前向纠错字节。该前向纠错字节并入到DMX包内,并且是DMX包的多个字节的前向纠错代码块。该方法进一步包括在DMX网络上传送DMX包。
一般而言,在另一方面中,一种提供改善的DMX通信的方法包括编译具有多个字节的DMX包。所述字节包括多个DMX从机指令字节和至少一个前向纠错字节。该前向纠错字节并入到所述DMX包内,并且是所述DMX包的多个所述字节的前向纠错代码块。该方法进一步包括步骤:在DMX网络上传送该DMX包。
在一些实施例中,DMX从机指令字节包括增强的从机指令字节。在那些实施例的一些版本中,DMX从机指令字节还包括非增强的从机指令字节。
本文一般使用术语“控制器”来描述与一个或多个光源的操作相关的各种设备。可以按照多种方式实现控制器(例如,诸如用专用硬件),以执行本文讨论的各种功能。“处理器”是采用一个或多个微处理器的控制器的一个示例,所述一个或多个微处理器可以使用软件(例如,微代码)来进行编程以执行本文讨论的各种功能。可以采用或者不采用处理器来实现控制器,并且控制器也可以被实现为用于执行一些功能的专用硬件与用于执行其他功能的处理器(例如,一个或多个编程的微处理器和关联电路)的组合。可以在本公开的各种实施例中采用的控制器部件的示例包括,但不限于:常规的微处理器、专用集成电路(ASIC)和现场可编程门阵列(FPGA)。
在各种实现方式中,处理器或控制器可以关联于一个或多个存储介质(本文一般称为“存储器”,例如,易失性和非易失性计算机存储器,比如RAM、PROM、EPROM和EEPROM,软盘,紧致盘、光盘、磁带等)。在一些实现方式中,可以用一个或多个程序编码存储介质,当在一个或多个处理器和/或控制器上执行所述一个或多个程序时,所述一个或多个程序执行本文讨论的功能中的至少一些。各种存储介质可以安装在处理器或者控制器内,或者可以是可移动的,使得在其上存储的所述一个或多个程序可以载入处理器或者控制器,从而实现本文讨论的本发明的各种不同方面。本文在一般意义上使用术语“程序”或者“计算机程序”,以涉及可以用于编程一个或多个处理器或控制器的任何类型的计算机代码(例如,软件或微代码)。
本文使用的术语“可寻址的”涉及这样的装置(例如,普通的光源,照明单元或者装置,与一个或多个光源或照明单元相关联的控制器或者处理器,其他非照明相关的装置等等),其被配置为接收预期用于多个装置(包括其本身)的信息(例如,数据),并且被配置为对预期用于它的特定信息选择性地作出响应。通常结合联网环境(或者,下文进一步讨论的“网络”)使用术语“可寻址的”,在所述联网环境中,多个装置经由一些通信媒介或介质耦接在一起。
在一种网络实现方式中,耦接到网络的一个或多个装置可以充当用于(例如,按照主/从关系)耦接到该网络的一个或多个其他装置的控制器。在另一实现方式中,联网环境可以包括被配置为控制耦接到网络的装置中的一个或多个的一个或多个专用控制器。一般而言,耦接到网络的多个装置中的每一个可以访问存在于通信媒介或介质上的数据;然而,给定装置可以是“可寻址的”,因为它被配置为例如基于分配给它的一个或多个特定标识符(例如,“地址”),来选择性地与网络交换数据(即,从网络接收数据和/或向网络发送数据)。
本文使用的术语“网络”涉及两个或更多个装置(包括控制器或者处理器)的任何互连,该互连促进了信息在任何两个或更多个装置之间和/或耦接到网络的多个装置之间的传输(例如,为了装置控制、数据存储、数据交换等)。如应该容易意识到的,适于互连多个装置的网络的各种实现方式可以包括多种网络拓扑中的任何一个,并且可以采用多种通信协议中的任何一个。另外,在根据本公开的各种网络中,两个装置之间的任何一个连接可以表示这两个系统之间的专用连接,或者可替换地,表示非专用连接。除了携带预期用于这两个装置的信息之外,这样的非专用连接还可以携带未必预期用于这两个装置中的任何一个的信息(例如,开放网络连接)。
应该意识到,以下更详细讨论的上述概念及附加概念的所有组合(所提供的这样的概念不是相互矛盾的)被认为是本文公开的发明主题的一部分。特别地,出现在本公开结尾的所要求保护的主题的所有组合被认为是本文公开的发明主题的一部分。还应该意识到,还可以出现在通过引用的方式并入的任何公开中的本文明确采用的术语应该依照与本文公开的特定概念最相符的含义。
附图说明
在附图中,贯穿不同视图,相同的参考符号通常涉及相同的部件。此外,附图并非一定按规定比例,相反,重点通常是图示出本发明的原理。
图1图示了DMX包的实施例的开始部分。
图2图示了DMX网络的实施例。
图3图示了具有增强的DMX从机并且还具有非增强的DMX从机的DMX网络的实施例。
图4图示了编译和传送改善的DMX通信的实施例。
图5图示了接收和解析改善的DMX通信的实施例。
图6图示了一种编译和传送交织的DMX包的方法的实施例。
图7图示了一种从交织的DMX包接收和解析交织数据的方法的实施例。
图8图示了DMX照明网络的另一个实施例。
具体实施方式
DMX512协议没有规定误差检测。DMX512-A协议提及了通过使用SIP的误差检测,这实现了一定程度的误差保护,但要求所有的DMX从属装置符合DMX512-A协议,并且要求发送单独的包。此外,DMX512和DMX512-A没有规定纠错。
因此,在本领域中,需要提供与DMX协议扩展有关的方法和设备,其使得能够通过增强的DMX从属装置进行错误检测和纠错。可选地,对DMX协议的扩展可以保持与非增强的DMX从属装置完全兼容,并且可选地,克服SIP的一个或多个附加的缺点。所述方法和设备可以利用被并入DMX包中并且包括与DMX包中的多个字节有关的前向纠错数据的多个前向纠错字节。
更一般地,申请人已经认识到且意识到,可能有益的是,提供DMX通信协议的扩展。考虑到上文,本发明的各种实施例和实现方式涉及通信协议的扩展。
在以下详细说明中,为了解说且非限制的目的,阐述了公开具体细节的代表性实施例,以便提供对所要求保护的发明的彻底理解。然而,对于已经得益于本公开的本领域普通技术人员而言,应该显而易见的是,根据本教导的不脱离本文公开的具体细节的其他实施例仍然在所附权利要求的范围内。例如,贯穿说明书,结合可以针对某些应用进行配置的某些DMX受控照明装置讨论各种实施例。然而,已经得益于本公开的本领域技术人员应当认识到和意识到,可以在可以被配置用于其他应用的其他照明装置中和/或在其他非照明DMX装置中实现与之相关的原理。此外,可以省略公知的设备和方法的描述,以便不混淆代表性实施例的描述。这样的方法和设备清楚地处于所要求保护的发明的范围内。
本文公开的各种发明方法和设备涉及ANSI E1.11-2008的用于控制照明设备和附件的娱乐技术-USITT DMX 512 -1-异步串行数字数据传输标准(DMX通信协议)的扩展。这包括DMX通信协议的所有先前版本,例如,诸如,原始的1986的针对电影院技术标准的美国协会版本,以及1990和2004年所做的修订版。这还包括DMX通信协议的后续版本,包括重申。
参考图1,图示了DMX包110的实施例的起始部分。DMX包110包括具有空值(0x00)的起始码112。起始码112接着由“中断”(“BREAK”)和“中断后标记”(“Mark-After-Break”)形成的序列。DMX包110还包括多个数据槽,包括第一数据槽1140、第二数据槽1141以及其他数据槽114X。被配置为地址“0”的DMX从属装置将利用在第一指令数据槽1140中传送的数据,以及被配置为地址“1”的DMX从属装置将利用在第二指令数据槽1141中传送的数据。可选地,单个DMX从属装置可以利用来自槽1140和1141的指令数据字节。包含字节114X的其他指令槽可以包括多达509个的附加数据字节,这些数据字节被配置用于将指令提供给一个或多个附加DMX从属装置和/或被配置用于如本文所述的实现一个或多个前向纠错字节。
参考图2,图示了DMX网络200的实施例。DMX网络200包括将DMX包210传送到多个DMX从机221-224的DMX控制器250。DMX包210包括起始码212和起始码212之后的包含槽2140-2146的多个数据字节。DMX从机221被配置为利用槽2140的指令数据字节内的数据。DMX从机222被配置为利用槽2141和2142的指令数据字节内的数据。DMX从机223被配置为利用槽2143的指令数据字节内的数据。DMX从机224被配置为利用槽2144、2145和2146的指令数据字节内的数据。可选地,DMX控制器250可以实现例如本文所描述的一个或多个前向纠错字节之类的一个或多个附加的数据槽。当如本文所述的一个或多个前向纠错字节被实现在DMX包210中时,被增强以解析这样的前向纠错字节的任何DMX从机221-224可以这样做。即使DMX从机221-224中的一个或多个未被增强,在一些实施例中,即使在读取了来自并入了本文所述的一个或多个前向纠错字节的DMX包的指令字节时,它仍然可以正常运行。
参考图3,图示了具有增强的DMX从机322、323并且还具有非增强的DMX从机321、324的DMX网络300的实施例。DMX网络300包括将DMX包310传送到DMX从机321-324的DMX控制器350。在一些实现方式中,DMX控制器350可以经由诸如电源线网络和/或无线网络之类的遭受噪声和干扰的通信介质传送DMX包。DMX包310包括起始码312和在起始码312之后的包含槽3140-3148的多个数据字节。非增强的DMX从机321被配置为遵照槽3140的数据字节内的数据行事。非增强的DMX从机324被配置为遵照槽3144-3146的数据字节内的数据行事。
增强的DMX从机322被配置为遵照槽3141和3142的指令数据字节内的数据行事。增强的DMX从机322还被配置为至少缓存和解析槽3141、3142的指令数据字节,并且缓存和解析槽3147和3148中的前向纠错字节。在一个实现方式中,增强的DMX从机322可以缓存槽3141、3142中的指令数据字节,并且将它们与槽3147和3148中的前向纠错数据字节的一个或多个比特进行比较。如果接收的槽3141、3142的指令数据字节对应于槽3147、3148的前向纠错数据字节的所述一个或多个比特,则DMX从机322可以按照槽3141和3142的指令数据字节行动。如果接收的槽3141、3142的指令数据字节没有对应于接收的槽3147、3148的前向纠错数据字节,则DMX从机322可以不按照槽3141和3142的指令数据字节的一个或者两个行动。替代地,可选地,DMX从机322可以利用槽3147、3148中的前向纠错数据字节(可选地,在验证它们未被破坏之后),以校正槽3141、3142中的指令数据字节。例如,在一些实施例中,DMX从机322可以按照槽3141中的指令数据字节行动而不管槽3141中的指令数据字节与槽3147、3148中的前向纠错数据字节之间的对应(例如,在槽3147、3148中的前向纠错数据字节指示指令数据字节不正确的情况下和/或在槽3147、3148中的前向纠错数据字节被破坏的情况下),但是如果槽3142中的指令数据字被验证是正确的或者可以经由对槽3147、3148中的前向纠错数据字节的一个或多个比特的解析而被校正,则DMX从机322可以仅仅按照槽3142中的指令数据字节行动。例如,可以利用Reed Solomon(里德所罗门)编码来编码槽3147、3148中的前向纠错数据字节,增强的DMX从机322可以验证并且解码槽3147、3148中的前向纠错数据字节,并且利用槽3147和3148中的已验证的前向纠错字节的一个或多个比特验证和可选地校正槽3147、3148中的指令数据字节。
增强的DMX从机323被配置为遵照槽3143中的指令数据字节内的数据行事。增强的DMX从机323还被配置为至少缓存和解析槽3143中的指令数据字节,并且缓存和解析槽3147和3148中的前向纠错字节。在一些实现方式中,增强的DMX从机323可以缓存槽3143中的指令数据字节,验证槽3147、3148中的前向纠错数据字节的完整性,并且将槽3143中的指令数据字节与槽3147和3148中的前向纠错字节进行比较。可选地,当槽3147和3148中的前向纠错字节指示槽3143中的指令数据字节是正确的时,或者当槽3147和3148中的前向纠错字节使增强的DMX从机323能够校正槽3143中的指令数据字节时,增强的DMX从机323可以仅按照槽3143中的指令数据字节行动。
在第一DMX包310之后,图3还图示了第二DMX包3101。第二DMX包3101可以具有与第一DMX包310相同的格式。此外,增强的DMX从机322和323可以同样缓存第二DMX包3101的数据字节,将缓存的指令数据字节与其前向纠错数据字节进行比较,并且利用前向纠错数据字节验证和/或校正一个或多个指令数据字节。
参考图4,图示了编译和传送改善的DMX通信的实施例。在DMX网络200/300的一些实现方式中,图4的步骤可以例如在控制器250/350中实现。
在步骤401处,增强的DMX从属装置在DMX包的一个或多个通道中被通知前向纠错数据的位置。例如,增强的DMX从属装置可以被通知前向纠错数据的位置将在DMX包的最后两个数据槽中。同样,例如,增强的DMX从属装置可被通知前向纠错数据的位置将在一个或多个特定前向纠错数据字节中,这些特定前向纠错数据字节可以位于DMX包的起点、末端或者中间。可选地,增强的DMX从属装置还可以被通知前向纠错将采取何种格式(例如,将利用何种前向纠错算法)。在一些实现方式中,DMX从属装置可以包括标识前向纠错数据字节在DMX包内的固定位置和/或标识前向纠错格式的预加载数据。在一些实现方式中,DMX从属装置可以包括使用户能标识前向纠错数据字节在DMX包内的一个或多个位置中的特定位置和/或前向纠错格式的跳线或者其他用户接口。在一些实现方式中,控制器可以发送这样的SIP,其包括指示前向纠错将驻留在DMX包内的何处以及可选地指示前向纠错将采用何种格式的数据。
在步骤402处,针对DMX包计算前向纠错代码块。在一些实施例中,针对DMX包的所有指令数据字节计算前向纠错代码块。在其他实施例中,可以针对少于DMX包的所有指令数据字节的指令数据字节计算前向纠错代码块。在一些实施例中,前向纠错算法可以是本领域技术人员应知晓的块代码,例如,诸如Reed Solomon、Goley、BCH、多维奇偶,或者其他适当的前向纠错方法。
在步骤403处,前向纠错代码块被实现在DMX包的一个或多个开放数据槽中。开放数据槽是DMX从属装置被通知携带了前向纠错代码块的那些数据槽。在一些实施例中,这些数据槽可以是位于DMX起始码包的末端的那些数据槽。
在步骤404处,将DMX起始码包传送到多个DMX从属装置。至少一些DMX从属装置是增强的DMX从属装置,并且将用前向纠错数据字节验证传送的DMX包的指令数据字节,并且可选地,基于前向纠错数据字节校正被破坏的指令数据字节。其他的DMX从属装置可以是非增强的DMX从属装置,并且将完全忽略传送的前向纠错数据字节,因为它们可能在非增强的DMX从属装置不使用的开放数据槽中传送。
参考图5,图示了接收和解析改善的DMX通信数据的实施例。例如,在一些实施例中,图5的步骤可被实现在图3的增强的DMX从机322、323中。
在步骤501处,接收并缓存来自DMX包的一个或多个指令数据字节的数据。例如,在一些实施例中,接收并且缓存特定于单个增强的DMX从机的DMX包的指令数据字节。
在步骤502处,接收来自DMX包的一个或多个数据槽中的前向纠错数据位置的前向纠错代码块。存储前向纠错代码块的特定数据槽可以例如由DMX从机上的预加载数据,来自DMX控制器的传送的数据,和/或根据经由用户接口的来自用户的输入,来指定。
在步骤503处,根据前向纠错算法解码前向纠错代码块。在一些实施例中,所使用的算法可以例如由DMX从机上的预加载数据,来自DMX控制器的传送的数据,和/或经由用户接口的来自用户的输入,来指定。可选地,还可以验证前向纠错代码块的全部或部分,以确保它在其传送期间未被破坏。
在步骤504处,将接收的指令数据字节与解码且经可选地验证的前向纠错数据进行比较。如果接收的指令数据字节与解码的前向纠错数据不对应,则可选地可以基于前向纠错数据,校正接收的指令数据。
在步骤505处,基于装置特定指令字节与前向纠错数据的比较,确定是否按照这些装置特定指令字节行动。例如,在一些实施例中,除非前向纠错数据指示这些装置特定指令字节是正确的或者已经使用前向纠错数据校正了指令字节,否则,不会遵照这些装置特定指令字节行事。此外,例如,在一些实施例中,不论将如何遵照其他数据字节(或者其方面)行事,不会遵照一些数据字节(或者其方面)行事,除非前向纠错数据指示这些装置特定指令字节是正确的或者可以利用前向纠错数据被校正。例如,无论可以如何遵照非关键的数据字节行事,但是可以不遵照关键和/或可能危险的数据字节行事,除非前向纠错数据指示这些装置特定指令字节是正确的或者可以利用前向纠错数据被校正。此外,例如,在一些实施例中,将遵照这些装置特定指令行事,除非在预定时间段内出现了两个或更多个连续的错误的DMX包。
在一些实施例中,增强的DMX从机可以不按照装置特定指令字节行动,直到经由DMX网络接收到特定的go命令为止。例如,在传送DMX包以向多个增强的DMX从机提供足够的时间来处理DMX包中的数据的不久之后,可以由控制器经由DMX网络传送go命令。这种go命令的传送可以提供通过所述多个增强的DMX从机的在指令字节上的基本同时的动作。在一些实施例中,附加地或者可替换地,增强的DMX从机可以不按照装置特定指令字节行动,直到被实时时钟和go命令触发为止。在另外的实施例中,一旦装置特定指令字节被验证和/或校正,增强的DMX从机就可以按照它们行动。
参考图6,图示了一种编译和传送交织的DMX包的方法的实施例。可选地,图6的方法可以被实现在例如在DMX网络200/300的一些实现方式中的控制器250/350中。图6的方法可以被单独地实现或者可选地结合编译和传送在其中具有前向纠错数据的起始码DMX包来实现。
在步骤601处,增强的DMX从属装置被通知交织方案。在一些实现方式中,增强的DMX从属装置可以包括标识交织方案的预加载数据。在一些实现方式中,增强的DMX从属装置可以包括使用户能标识特定交织方案的跳线或者其他用户接口。在一些实现方式中,控制器可以发送这样的SIP,其包括指示交织方案的数据。
在步骤602处,创建具有多个数据槽的DMX包,所述多个数据槽具有根据交织方案在其间交织的数据。例如,简单参照图3,在一个实施例中,时间槽3144、3145和3146的数据可以彼此交织。例如,时间槽3144、3145和3146的每一个可以包括预期用于DMX从机324的不同通道的单独的数据比特(替代地,包含槽3144、3145和3146中的字节的数据中的每一个包括预期仅仅用于DMX从机324的单个通道的比特)。在一些实施例中,交织可以在与多个不同的DMX从属装置相对应的数据字节上发生。换句话说,单个数据槽可以包括与多个DMX从属装置相对应的数据。此外,可选地,在该交织与前向纠错字节相结合的实施例中,该交织可以包括前向纠错数据字节。该交织应该不出现在与任何非增强的DMX从机相对应的数据槽之间,以确保它们按照预期接收指令数据字节。
在步骤603处,将交织的DMX包传送到多个DMX从属装置。至少一些DMX从属装置是增强的DMX从属装置,并且一旦DMX起始码包被接收,所述至少一些DMX从属装置将去交织该DMX起始码包。其他的DMX从属装置可以是非增强的DMX从属装置,并且将完全忽略该交织的数据,因为它仅在与非增强的DMX从属装置不对应的数据字节中传送。
参照图7,图示了一种接收和解析来自交织的DMX包的交织数据的方法的实施例。在一些实施例中,图7的方法可以被实现在例如图3的增强的DMX从机322、323中。
在步骤701处,接收并且缓存来自DMX包的多个数据字节的交织数据。例如,同样可以缓存为了解析前向纠错数据而缓存的数据字节。在步骤702处,根据交织方案将交织数据重构为去交织数据。例如,可以将来自与DMX从机相对应的多个数据字节的单独的数据比特重构为与交织方案相对应的顺序,从而获得用于DMX从机的去交织指令。可选地,如果DMX起始码包包括前向纠错数据并且该前向纠错数据已经被交织,则也可以去交织所述单独的数据比特,以获得前向纠错数据字节。在步骤703处,基于去交织数据,指导与DMX从机相对应的DMX受控设备的至少一个方面。
在交织与DMX包中并入的前向纠错字节结合的实施例中,当DMX从属装置确定出适于利用一个或多个指令数据字节而不管前向纠错数据被破坏和/或不能校正指令数据字节误差时(例如,在所述一个或多个指令数据字节不是关键的情况下,在接收的指令数据字节与前向纠错数据字节之间的差异指示最小破坏的情况下,在错误的DMX包在设定的时间段内没有先于附加的错误包的情况下),这可能有助于最小化传送的DMX包中的误差的影响。此外,交织前向纠错数据块可以有助于最小化传送的前向纠错数据中的任何传送误差的影响。例如,交织前向纠错数据块可以实现基于未被破坏的前向纠错数据字节的纠错,即使其他的前向纠错数据字节可能被破坏。
图8图示了DMX照明网络800的另一实施例。DMX照明网络800包括控制三个分离的DMX从属照明装置组821、822和823的DMX控制器850。DMX控制器850可以发送相同的DMX包到全部的三个组821、822和823,或者可以传送单独的DMX包到组821-823中的一个或多个。例如,DMX控制器可以传送标准DMX512包到组821,传送在DMX包中实现前向纠错字节的DMX通信到组822,以及传送在DMX包中实现交织的DMX通信(可选地,结合了前向纠错字节)到组823。
虽然本文已经描述和图示了若干发明实施例,但是本领域普通技术人员应当容易地想到用于执行功能和/或获得本文描述的优点中的一个或多个和/或结果的多种其他手段和/或结构,并且这样的变更和/或修改中的每一个被认为在本文描述的发明实施例的范围内。更一般而言,本领域技术人员应当容易意识到,本文所描述的所有的参数、尺寸、材料和配置意味着是示范性的,并且实际参数、尺寸、材料和/或配置将取决于本发明教导被使用的特定应用或多个特定应用。通过仅仅使用常规实验,本领域技术人员应当意识到,或者能够确定,本文所描述的特定发明实施例的众多等价物。因此,应理解的是,仅通过示例的方式呈现前述实施例,并且在所附权利要求及其等价物的范围内,可以按与明确描述和要求保护的方式不同的其他方式实践发明实施例。本公开的发明实施例涉及本文所描述的各个单独特征,系统,物品,材料,成套工具和/或方法。另外,如果这样的特征,系统,物品,材料,成套工具和/或方法并非相互不一致,则两个或更多个这样的特征,系统,物品,材料,成套工具和/或方法的任何组合包括在本公开的发明范围内。
如本文所定义且使用的,所有定义应当理解为支配词典定义、以引用的方式并入的文件中的定义、和/或所定义的术语的普通含义。
还应该理解的是,除非相反地清楚指示,否则在包括超过一个步骤或动作的本文要求保护的任何方法中,该方法的步骤或动作的次序没有必要限于所陈述的方法的步骤或动作的次序。此外,在权利要求中出现的括号中的附图标记仅为了方便起见而提供,并且不应该将其看作以任何方式限制权利要求。
在权利要求书以及上述说明书中,诸如“包含”、“包括”、“具有”、“含有”、“包括有”、“拥有”等之类的所有过渡性短语应理解为开放性的,即,意指包括但不限于,如美国专利局的专利审查程序手册,第2111.03节所阐述的。

Claims (21)

1.一种提供改善的DMX通信的方法,包括:
将多个增强的DMX从机连接到DMX网络,所述增强的DMX从机具有与其对应的多个DMX从机控制地址并且相对于非增强的DMX从机允许误差检测和校正;
编译具有多个字节的DMX包(403),所述字节包括与所述增强的DMX从机控制地址相对应的多个增强的DMX从机指令字节,并且包括至少一个前向纠错字节;
其中,所述前向纠错字节并入所述DMX包内,并且是所述DMX包的多个所述字节的前向纠错代码块;
在所述DMX网络上传送所述DMX包(404);
在所述增强的DMX从机的每一个处接收所述DMX包(501,502);
在所述增强的DMX从机的每一个处缓存包括所述前向纠错字节的多个所述字节(501,502);
在所述增强的DMX从机的每一个处,鉴于所述前向纠错字节,解析所述增强的DMX从机指令字节中的至少一个(504);
其中,所述增强的DMX从机中的每一个在所述前向纠错字节指示伴随其的误差时利用所述前向纠错字节至少选择性地校正所述增强的DMX从机指令字节中的相应的至少一个,并且遵照所述校正的增强的DMX从机指令字节行事。
2.如权利要求1的方法,其中,所述增强的DMX从机指令字节包括交织的DMX从机指令字节,所述交织的DMX从机指令字节中的每一个具有与多个所述增强的DMX从机的操作指令相对应的比特。
3.如权利要求2的方法,其中,所述DMX包的所述字节还包括与非增强的DMX从机控制地址相对应的至少一个非交织的、非增强的DMX从机指令字节。
4.如权利要求1的方法,还包括:在所述DMX网络上传送所述DMX包之前,根据交织方案在所述DMX从机指令字节之间交织多个单独的比特(602)。
5.如权利要求4的方法,其中,所述增强的DMX从机指令字节包括第一、第二和第三增强的DMX从机指令字节,其中,所述第一、第二和第三增强的DMX从机指令字节中的每一个包括与所述增强的DMX从机中的第一个相对应的第一增强的DMX从机指令比特以及与所述增强的DMX从机中的第二个相对应的第二增强的DMX从机指令比特。
6.如权利要求1的方法,还包括:将单独的信息包传送到所述DMX从机,所述单独的信息包包括与处理所述前向纠错字节相关的数据。
7.如权利要求4的方法,其中,将与处理所述前向纠错字节相关的数据预加载到所述增强的DMX从机上。
8.如权利要求1的方法,其中,在所述DMX包内,交织所述前向纠错字节。
9.如权利要求8的方法,其中,所述至少一个前向纠错字节包含用于所述DMX包的所有控制指令的前向纠错块数据。
10.如权利要求9的方法,还包括:在所述DMX网络上传送所述DMX包之后,传送go命令,其中,所述增强的DMX从机中的每一个都不按照所述DMX包的所述增强的DMX从机指令字节行动,直到传送了所述go命令为止。
11.一种提供改善的DMX通信的方法,包括:
将至少一个增强的DMX从机连接到DMX网络,所述增强的DMX从机具有至少一个增强的DMX从机控制地址并且相对于非增强的DMX从机允许误差检测和校正;
将至少一个非增强的DMX从机连接到所述DMX网络,所述非增强的DMX从机具有至少一个非增强的DMX从机控制地址;
编译具有多个字节的DMX包(403),所述字节包括与所述增强的DMX从机控制地址相对应的至少一个增强的DMX从机指令字节,与所述非增强的DMX从机控制地址相对应的至少一个非增强的DMX从机指令字节,以及至少一个前向纠错字节;
其中,所述前向纠错字节并入所述DMX包内,并且是所述DMX包的多个所述字节的前向纠错代码块;
在所述DMX网络上传送所述DMX包(404);
在所述增强的DMX从机处接收所述DMX包(501,502);
在所述增强的DMX从机处缓存包括所述前向纠错字节的多个所述字节(501,502);
在所述增强的DMX从机中的每一个处,鉴于所述前向纠错字节解析所述增强的DMX从机指令字节中的至少一个(504);
其中,所述增强的DMX从机中的每一个在所述前向纠错字节指示伴随其的误差时利用所述前向纠错字节至少选择性地校正所述增强的DMX从机指令字节中的相应的至少一个,并且遵照所述校正的数据行事;以及
其中,所述非增强的DMX从机按照任何接收的所述非增强的DMX从机指令字节行动,而不管所述前向纠错字节。
12.如权利要求11的方法,其中,所述至少一个增强的DMX从机指令字节包括第一增强的DMX从机指令字节和第二增强的DMX从机指令字节。
13.如权利要求12的方法,其中,当所述前向纠错字节验证或者校正了所述第一增强的DMX从机指令字节时,所述增强的DMX从机才按照所述第一增强的DMX从机指令字节行动,但是即使当所述前向纠错字节没有验证或者校正所述第二增强的DMX从机指令字节时,所述增强的DMX从机也按照所述第二增强的DMX从机指令字节行动。
14.如权利要求13的方法,还包括:在所述DMX网络上传送所述DMX包之前,根据交织方案交织所述第一增强的DMX从机指令字节和所述第二增强的DMX从机指令字节中的多个单独的比特(602)。
15.如权利要求14的方法,还包括:将制造商专用包传送到所述DMX从机,该制造商专用包包括与所述交织方案相关的数据。
16.如权利要求11的方法,其中,所述至少一个增强的DMX从机包括第一增强的DMX从机和第二增强的DMX从机。
17.如权利要求16的方法,其中,所述至少一个增强的DMX从机指令字节包括第一、第二和第三增强的DMX从机指令字节,其中,所述第一、第二和第三增强的DMX从机指令字节中的每一个包括与所述第一增强的DMX从机相对应的第一增强的DMX从机指令比特以及与所述第二增强的DMX从机相对应的第二增强的DMX从机指令比特。
18.一种接收和解析改善的DMX通信的方法,包括:
接收具有多个字节的DMX包(501,502),所述字节包括与增强的DMX从机相对应的至少一个增强的DMX从机指令字节以及至少一个前向纠错字节,所述增强的DMX从机相对于非增强的DMX从机允许误差检测和校正;
其中,所述前向纠错字节并入所述DMX包内,并且是所述DMX包的多个所述字节的前向纠错代码块;
缓存包括所述前向纠错字节的多个所述字节(501,502);
在所述增强的DMX从机中的每一个处,鉴于所述前向纠错字节解析所述增强的DMX从机指令字节中的至少一个(504);
在所述前向纠错字节指示伴随其的误差时,利用所述前向纠错字节至少选择性地校正所述增强的DMX从机指令字节中的至少一个(504);以及至少选择性地遵照所述校正的增强的DMX从机指令字节行事(505)。
19.如权利要求18的方法,其中,所述至少一个增强的DMX从机指令字节包括交织的第一增强的DMX从机指令字节和交织的第二增强的DMX从机指令字节,并且其中,该方法还包括去交织所述第一增强的DMX从机指令字节和所述第二增强的DMX从机指令字节。
20.一种提供改善的DMX通信的方法,包括:
编译具有多个字节的DMX包(403),所述字节包括与增强的DMX从机控制地址相对应的至少一个增强的DMX从机指令字节,与非增强的DMX从机控制地址相对应的至少一个非增强的DMX从机指令字节,以及至少一个前向纠错字节,增强的DMX从机相对于非增强的DMX从机允许误差检测和校正;
其中,所述前向纠错字节并入所述DMX包内,并且是所述DMX包的多个所述字节的前向纠错代码块;以及
在DMX网络上传送所述DMX包(404),
其中,所述至少一个增强的DMX从机指令字节将由增强的DMX从机使用,并且所述至少一个非增强的DMX从机指令字节将由非增强的DMX从机使用。
21.一种提供改善的DMX通信的方法,包括:
编译具有多个字节的DMX包(403),所述字节包括多个增强的DMX从机指令字节和至少一个前向纠错字节,增强的DMX从机相对于非增强的DMX从机允许误差检测和校正;
其中,所述前向纠错字节并入所述DMX包内,并且是所述DMX包的多个所述字节的前向纠错代码块;以及
在DMX网络上传送所述DMX包(404),
其中,所述多个增强的DMX从机指令字节将由多个增强的DMX从机使用。
CN201280050076.4A 2011-10-11 2012-10-08 改善dmx512通信的方法 Expired - Fee Related CN103858522B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161545810P 2011-10-11 2011-10-11
US61/545810 2011-10-11
PCT/IB2012/055423 WO2013054247A1 (en) 2011-10-11 2012-10-08 Methods and apparatus for improved dmx512 communication

Publications (2)

Publication Number Publication Date
CN103858522A CN103858522A (zh) 2014-06-11
CN103858522B true CN103858522B (zh) 2016-11-30

Family

ID=

Similar Documents

Publication Publication Date Title
ES2651194T3 (es) Método y aparato para la detección de errores en un bloque de datos
RU2608542C2 (ru) Способы и устройство для улучшенной передачи данных dmx512, которая имеет контрольную сумму
RU2258314C2 (ru) Устройство и способ для передачи и приема информации для обнаружения ошибки в системе связи
JP2004349256A (ja) ランプ用の電子安定器、電子安定器の制御装置、ライティング装置、およびプログラミング方法
JP4212402B2 (ja) 発光ユニット
JP2006074819A (ja) メッセージ通信システム
JP2004349257A (ja) ライティング装置の製造方法、ライティング装置、およびランプ用の安定器の製造方法
US6697985B1 (en) Predictive forward error correction redundancy
US6911922B2 (en) Method to overlay a secondary communication channel onto an encoded primary communication channel
CN104255083A (zh) 用于利用通信协议来控制照明器材的方法和设备
CN103858522B (zh) 改善dmx512通信的方法
EP2745638B1 (en) Methods and apparatus for improved dmx512 communication
CN103051417B (zh) 一种用于红外遥控器的固定码长互补型编码方法及其解码方法
CN110868784B (zh) 舞台灯光数据双向同步通信方法及系统、存储介质及装置
CA2467609A1 (en) Method for operation of a lighting system
CN109495173A (zh) 一种空间激光通信传输装置及方法
WO2005074226A1 (en) Method and system for communicating information witnin a physical link layer
KR101459573B1 (ko) 데이터 전송 패킷에 의해 제어되는 등기구
US9125252B1 (en) Power line communication system and method for control of lamp dimming
JP6771791B2 (ja) エネルギー効率の高いデータフレーム交換
CN111901952A (zh) 一种基于dmx协议的组合灯具
WO2010035316A1 (ja) メモリ制御装置およびメモリ制御方法
KR20010023317A (ko) 예정된 데이터 전송 과정에서 두 개의 장치를 동기화하기위한 방법 및 통신 장치
CN110944024A (zh) 一种开源式led控制系统数据包发送协议
US20090085499A1 (en) Subarea control system of electrical lighting separated by a demarcation repeater

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170322

Address after: Eindhoven

Patentee after: KONINKL PHILIPS N.V.

Address before: Holland Ian Deho Finn

Patentee before: Koninkl Philips Electronics NV

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161130

Termination date: 20201008