專利名稱:一種dmx512燈光控制器多路端口數(shù)據(jù)同步輸出的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及DMX512燈光控制器技術(shù)領(lǐng)域,本發(fā)明公開了一種DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法。
背景技術(shù):
DMX512協(xié)議是digital multiplex的縮寫,是燈光行業(yè)數(shù)字化設(shè)備的通用信號(hào)控制協(xié)議,同時(shí)也是是一種國(guó)際協(xié)議。DMX512協(xié)議以幀為單位,每幀數(shù)據(jù)由同步頭和512個(gè)字節(jié)組成,以符合EIA 485標(biāo)準(zhǔn)的串行方式進(jìn)行數(shù)據(jù)發(fā)送和接收,數(shù)據(jù)傳輸速率為250kbps。DMX512控制器能夠輸出標(biāo)準(zhǔn)的DMX512控制信號(hào),能夠級(jí)聯(lián)多DMX燈具,配合LEDDMX驅(qū)動(dòng)組成一個(gè)完整的DMX控制系統(tǒng)。在大型的LED戶外裝飾工程中DMX512控制器和 DMX驅(qū)動(dòng)組成的控制系統(tǒng)得到廣泛的應(yīng)用。正如EIA 485標(biāo)準(zhǔn)的串行方式一樣,現(xiàn)有技術(shù)中的DMX512控制器也一般采用串行方式進(jìn)行數(shù)據(jù)輸出,但由于DMX512協(xié)議采用250kbps的數(shù)據(jù)傳輸速率,當(dāng)輸出一個(gè)端口 512個(gè)字節(jié)的數(shù)據(jù),需要耗時(shí)大約23ms時(shí)間。當(dāng)DMX512燈光控制器有N路端口時(shí),那么顯示完一幀的數(shù)據(jù)需要N*23ms,這個(gè)時(shí)間隨N的增大而增大,也就是說DMX512燈光控制器不能按一個(gè)正常的播放幀率播放,從而影響燈光同步播放效果。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)中的DMX燈光控制器多路端口數(shù)據(jù)輸出的方法同步效果不好的技術(shù)問題,公開了一種DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法。本發(fā)明的目的通過下述技術(shù)方案來實(shí)現(xiàn)。一種DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法,其具體包含以下步驟。步驟I.將每一個(gè)DMX512燈光控制器的數(shù)據(jù)發(fā)送端口分別連接到微處理器的通用輸入/輸出端口的管腳上。步驟2.將微處理器的通用輸入/輸出端口進(jìn)行初始化。步驟3.取出每一個(gè)端口要發(fā)送的字節(jié)數(shù)據(jù)的第一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù),并將這個(gè)字節(jié)數(shù)據(jù)按DMX512端口連接的通用輸入/輸出端口管腳位,寫入到微處理器的通用輸入/輸出端口寄存器對(duì)應(yīng)bit位,然后將每個(gè)端口要發(fā)送的字節(jié)數(shù)據(jù)的第二個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù)并按DMX512端口連接的通用輸入/輸出端口管腳位,寫入到微處理器的通用輸入/輸出端口寄存器對(duì)應(yīng)bit位,依次類推,直到將一個(gè)字節(jié)數(shù)據(jù)的最后一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù)并通過通用輸入/輸出端口送入微處理器的寄存器,依次類推完成512個(gè)字節(jié)的數(shù)據(jù)傳輸。通過將每一路DMX512燈光控制器的數(shù)據(jù)發(fā)送端口發(fā)送的數(shù)據(jù)中的每一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù),實(shí)現(xiàn)并行輸出每一路DMX512數(shù)據(jù),使得當(dāng)多路端口同時(shí)輸出時(shí),播放一幀數(shù)據(jù)的時(shí)間為大約23ms,從而滿足最大30幀/秒播放速度要求。更進(jìn)一步地,上述步驟2中的通用輸入/輸出端口初始化為把輸入/輸出端口初始化成高電平輸出方式。更進(jìn)一步地,上述DMX512燈光控制器的數(shù)據(jù)發(fā)送端口為8個(gè),16個(gè)或者32個(gè)。更進(jìn)一步地,上述每一個(gè)DMX512燈光控制器的數(shù)據(jù)發(fā)送端口分別連接到微處理器的同一個(gè)通用輸入/輸出端口上,每一個(gè)DMX512燈光控制器的數(shù)據(jù)發(fā)送端口分別連接到微處理器的同一個(gè)通用輸入/輸出端口上,這樣就可在寫一個(gè)通用輸入/輸出端口寄存器時(shí),DMX512燈光控制器的數(shù)據(jù)發(fā)送端口出來的數(shù)據(jù)是同時(shí)輸出的,保證了數(shù)據(jù)輸出的同步。本發(fā)明的有益效果本發(fā)明通過將每一路DMX512燈光控制器的數(shù)據(jù)發(fā)送端口發(fā)送的數(shù)據(jù)中的每一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù),實(shí)現(xiàn)并行輸出每一路DMX512數(shù)據(jù),使得當(dāng)多路端口同時(shí)輸出時(shí),播放一幀數(shù)據(jù)的時(shí)間為大約23ms,從而滿足最大30幀/秒播放速度要求。
附圖I為本發(fā)明的DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法流程圖。附圖2為本發(fā)明的端口及字節(jié)數(shù)據(jù)示意圖。
具體實(shí)施例方式下面結(jié)合說明書附圖,詳細(xì)說明本發(fā)明的具體實(shí)施方式
。如圖I所示的本發(fā)明的DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法流程圖,其具體包含以下步驟。I.將每一個(gè)DMX512燈光控制器的數(shù)據(jù)發(fā)送端口分別連接到微處理器的通用輸入
/輸出端口的管腳上。2.將微處理器的通用輸入/輸出端口進(jìn)行初始化,例如把輸入/輸出端口初始化成高電平輸出方式。3.取出每一個(gè)端口要發(fā)送的字節(jié)數(shù)據(jù)的第一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù),并將這個(gè)字節(jié)數(shù)據(jù)按DMX512端口連接的通用輸入/輸出端口管腳位,寫入到微處理器的通用輸入/輸出端口寄存器對(duì)應(yīng)bit位,然后將每個(gè)端口要發(fā)送的字節(jié)數(shù)據(jù)的第二個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù)并按DMX512端口連接的通用輸入/輸出端口管腳位,寫入到微處理器的通用輸入/輸出端口寄存器對(duì)應(yīng)bit位,依次類推,直到將一個(gè)字節(jié)數(shù)據(jù)的最后一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù)并通過通用輸入/輸出端口送入微處理器的寄存器,依次類推完成512個(gè)字節(jié)的數(shù)據(jù)傳輸。本發(fā)明通過將每一路DMX512燈光控制器的數(shù)據(jù)發(fā)送端口發(fā)送的數(shù)據(jù)中的每一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù),實(shí)現(xiàn)并行輸出每一路DMX512數(shù)據(jù),使得當(dāng)多路端口同時(shí)輸出時(shí),播放一幀數(shù)據(jù)的時(shí)間為大約23ms,從而滿足最大30幀/秒播放速度要求。如圖2所示的本發(fā)明的端口及字節(jié)數(shù)據(jù)示意圖。如圖2所示,其包含η個(gè)燈光控制器的發(fā)送端口,每一個(gè)DMX512控制器發(fā)送端口的接口都連接GPI0A,以η個(gè)端口的每個(gè)端口都發(fā)送OXAA (二進(jìn)制位為10101010)為例,當(dāng)η=8時(shí),每個(gè)端口的bitO組成一個(gè)字節(jié)為OxFF(二進(jìn)制位為11111111),當(dāng)n=16時(shí),每個(gè)端口的bitO組成一個(gè)字節(jié)為OxFFFF (二進(jìn)制位為1111111111111111),當(dāng)n=32時(shí),每個(gè)端口的 bitO 組成一個(gè)字節(jié)為 OxFFFFFFFF (二進(jìn)制位為 11111111111111111111111111111111)。
依次將每個(gè)bit組合好的數(shù)據(jù)寫入GPIOA寄存器,以n=8為例,bitO組合好的數(shù)據(jù)為0xFF,bitl組合好的數(shù)據(jù)為0X00,……,依次類推,bit7組合好的數(shù)據(jù)為0x00。新的字節(jié)數(shù)據(jù)0XFF、0X00、……,按照與DMX512端口連接的通用輸入/輸出端口管腳位,寫入到微處理器的通用輸入/輸出端口寄存器對(duì)應(yīng)bit位,將寄存器中的數(shù)據(jù)解析后并行輸出每一路DMX512數(shù)據(jù),使得當(dāng)多路端口同時(shí)輸出時(shí),播放一幀數(shù)據(jù)的時(shí)間為大約23ms,從而滿足最大30幀/秒播放速度要求。更進(jìn)一步地,上述每一個(gè)DMX512燈光控制器的數(shù)據(jù)發(fā)送端口分別連接到微處理器的同一個(gè)通用輸入/輸出端口上,這樣就可在寫一個(gè)通用輸入/輸出端口寄存器時(shí),DMX512燈光控制器的數(shù)據(jù)發(fā)送端口出來的數(shù)據(jù)是同時(shí)輸出的,保證了數(shù)據(jù)輸出的同步。當(dāng)發(fā)送一幀數(shù)據(jù)時(shí),每個(gè)端口發(fā)送一個(gè)復(fù)位信號(hào)。前復(fù)位信號(hào)為O (低電平),后復(fù)位信號(hào)為I (高電平)。當(dāng)發(fā)送O (低電平)時(shí),同理輸出一個(gè)I (高電平)后復(fù)位信號(hào)。前后復(fù)位信號(hào)在dmx512協(xié)議里有詳細(xì)規(guī)定,本領(lǐng)域的技術(shù)人員都可以理解,在此不再贅述。
上述的實(shí)施例中所給出的系數(shù)和參數(shù),是提供給本領(lǐng)域的技術(shù)人員來實(shí)現(xiàn)或使用本發(fā)明的,本發(fā)明并不限定僅取前述公開的數(shù)值,在不脫離本發(fā)明的發(fā)明思想的情況下,本領(lǐng)域的技術(shù)人員可以對(duì)上述實(shí)施例作出種種修改或調(diào)整,因而本發(fā)明的保護(hù)范圍并不被上述實(shí)施例所限,而應(yīng)該是符合權(quán)利要求書提到的創(chuàng)新性特征的最大范圍。
權(quán)利要求
1.一種DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法,其具體包含以下步驟 步驟I.將每一個(gè)DMX512燈光控制器的數(shù)據(jù)發(fā)送端口分別連接到微處理器的通用輸入/輸出端口的管腳上; 步驟2.將微處理器的通用輸入/輸出端口進(jìn)行初始化; 步驟3.取出每一個(gè)端口要發(fā)送的字節(jié)數(shù)據(jù)的第一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù),并將這個(gè)字節(jié)數(shù)據(jù)按DMX512端口連接的通用輸入/輸出端口管腳位,寫入到微處理器的通用輸入/輸出端口寄存器對(duì)應(yīng)bit位,然后將每個(gè)端口要發(fā)送的字節(jié)數(shù)據(jù)的第二個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù)并按DMX512端口連接的通用輸入/輸出端口管腳位,寫入到微處理器的通用輸入/輸出端口寄存器對(duì)應(yīng)bit位,依次類推,直到將一個(gè)字節(jié)數(shù)據(jù)的最 后一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù)并通過通用輸入/輸出端口送入微處理器的寄存器,依次類推完成512個(gè)字節(jié)的數(shù)據(jù)傳輸。
2.如權(quán)利要求I所述的DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法,其特征在于所述步驟2中的通用輸入/輸出端口初始化為把輸入/輸出端口初始化成高電平輸出方式。
3.如權(quán)利要求I所述的DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法,其特征在于所述DMX512燈光控制器的數(shù)據(jù)發(fā)送端口為8個(gè),16個(gè)或者32個(gè)。
4.如權(quán)利要求I所述的DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法,其特征在于所述每一個(gè)DMX512燈光控制器的數(shù)據(jù)發(fā)送端口分別連接到微處理器的同一個(gè)通用輸入/輸出端口上。
全文摘要
本發(fā)明涉及DMX512燈光控制器技術(shù)領(lǐng)域,本發(fā)明公開了一種DMX512燈光控制器多路端口數(shù)據(jù)同步輸出的方法,其具體包含以下步驟1.將每一個(gè)DMX512燈光控制器的數(shù)據(jù)發(fā)送端口分別連接到微處理器的通用輸入/輸出端口的管腳上;2.將微處理器的通用輸入/輸出端口進(jìn)行初始化;3.取出每一個(gè)端口要發(fā)送的字節(jié)數(shù)據(jù)的第一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù),并將這個(gè)字節(jié)數(shù)據(jù)按DMX512端口連接的通用輸入/輸出端口管腳位,寫入到微處理器的通用輸入/輸出端口寄存器對(duì)應(yīng)bit位,依次類推完成512個(gè)字節(jié)的數(shù)據(jù)傳輸。通過將每一路DMX512燈光控制器的數(shù)據(jù)發(fā)送端口發(fā)送的數(shù)據(jù)中的每一個(gè)二進(jìn)制位組合成一個(gè)新的字節(jié)數(shù)據(jù),實(shí)現(xiàn)并行輸出每一路DMX512數(shù)據(jù)。
文檔編號(hào)H05B37/02GK102883502SQ20121033278
公開日2013年1月16日 申請(qǐng)日期2012年9月11日 優(yōu)先權(quán)日2012年9月11日
發(fā)明者曹孝坤, 王東越, 邢保振, 呂昱 申請(qǐng)人:四川九洲電器集團(tuán)有限責(zé)任公司