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