同步DMX512標(biāo)準(zhǔn)在LED控制系統(tǒng)設(shè)計中的應(yīng)用
燈光控制系統(tǒng)大量采用了由USIT T ( 美國劇場技術(shù)協(xié)會) 提出的DMX512 通信協(xié)議,該通信協(xié)議采用異步通信格式。燈具控制方案主要包括DMX512 協(xié)議、DAL I 總線方案、SPI 移位總線方案。DMX512 是現(xiàn)在最流行的控制方法,但是在實際應(yīng)用中多采用控制器互聯(lián)來進(jìn)行控制的照明方案,軟件比較復(fù)雜。
DALI 總線是歐洲提出的一種燈光控制總線方案,DALI 系統(tǒng)中每個燈具都有一個地址和一組控制命令,但其通信的速度不夠快。SPI 移位總線方案是采用級聯(lián)的方法,變化速率很高,但是此方法數(shù)據(jù)量比較大,燈之間的線較多,軟件難度大,產(chǎn)品可靠性差。
DMX512 標(biāo)準(zhǔn)要求每個燈具都要有一個控制器,而每個燈都要設(shè)置地址很麻煩,異步傳輸方式也很麻煩。針對此缺點,本文提出了基于SD5128 的同步DMX512 的LED控制系統(tǒng)設(shè)計。本文給出了同步DMX512 實現(xiàn)的軟硬件設(shè)計方法,在硬件上增加了存儲接口芯片以實現(xiàn)燈光控制數(shù)據(jù)的移動存儲,具有更好的拓展性。
同步DMX512 是采用同步DMX512 總線( 用一根線實現(xiàn)控制數(shù)據(jù)的移位和置入) 的同步串行傳輸?shù)姆绞?,吸取了DMX512 和SPI 移位總線兩者的優(yōu)點。同步DMX512 在電氣特性、數(shù)據(jù)結(jié)構(gòu)方面與DMX512 協(xié)議大致相同,采用同步傳輸?shù)姆椒▉磉M(jìn)行兩線移位傳輸,并且采取了SPI 一位傳輸?shù)姆椒▉肀苊釪MX512 協(xié)議的地址設(shè)置問題。同步DMX512 保留了DMX512 的電氣特性,故在燈與燈之間的距離不是很遠(yuǎn)的情況下,不使用RS485總線。
1 DMX512 燈光控制協(xié)議
DMX512 協(xié)議是一個數(shù)字調(diào)光協(xié)議,應(yīng)用它能夠?qū)ξ枧_、劇場、演播室等場所的調(diào)光器以及其他的控制設(shè)備進(jìn)行數(shù)字控制,適用于一點對多點的主從控制。其互聯(lián)形式采用了多點總線結(jié)構(gòu),不存在信息通路阻塞問題,可靠性較高。
協(xié)議規(guī)定控制信號數(shù)據(jù)包的傳輸通過異步通信的方式進(jìn)行。一個DMX512 數(shù)據(jù)包包含起始碼和512 個數(shù)據(jù)幀。每一幀數(shù)據(jù)包括1 位低電平起始位、8 位數(shù)據(jù)位、2 位高電平停止位。一個數(shù)據(jù)幀代表一個控制通道,因此該協(xié)議支持512 個控制通道。DMX512 協(xié)議的幀結(jié)構(gòu)與數(shù)據(jù)包結(jié)構(gòu)如圖1 所示。
2 SD5128 及其同步DMX512 協(xié)議
SD5128 是高集成度低功耗LED 控制芯片。它采用的單線傳輸模式,內(nèi)置采樣/ 時鐘再生電路、數(shù)字鎖相電路、移位寄存器、脈寬調(diào)制模塊,級聯(lián)能力超過1024 顆芯片;提供3 個I/ O 通道,每通道最大8 mA 輸出電流,采用外置驅(qū)動的工作模式,可驅(qū)動三極管和MOS 管。SD5128 采用24 位真彩色( 8R+ 8G+ 8B) ,結(jié)合DMX512協(xié)議數(shù)據(jù)格式,SD5128 的幀結(jié)構(gòu)與數(shù)據(jù)包結(jié)構(gòu)如圖2所示。
圖2 中,數(shù)據(jù)幀和結(jié)束符都是高位先移入,每個數(shù)據(jù)位在時鐘的上升沿被采樣,下降沿被打出;第一個數(shù)據(jù)幀對應(yīng)距移入端最近的LED 燈,N 表示芯片數(shù)量。結(jié)束符= 1 位“0”+ 24 位“1”,但在實際編程中,按字節(jié)發(fā)送1 位的“0”和31 位的“1”,所以結(jié)束符實際為“0x7FFFFFFF”。對比圖1 與圖2,可以發(fā)現(xiàn)SD5128 的幀結(jié)構(gòu)和數(shù)據(jù)包結(jié)構(gòu)比DMX512 更簡潔。SD5128 幀結(jié)構(gòu)沒有起始位和停止位,數(shù)據(jù)位從8 位增加到24 位( 8R+ 8G+ 8B);SD5128 的數(shù)據(jù)包包括24 N 位數(shù)據(jù)( 即N 幀數(shù)據(jù)) 和1個結(jié)束符,沒有DMX512 的MTBP 位、BREAK 位、MAB位、SC 位。更簡潔的數(shù)據(jù)結(jié)構(gòu)對實現(xiàn)快速的同步DMX512 協(xié)議有很大的作用,SD5128 的單線級聯(lián)移位串行控制使控制系統(tǒng)更加簡潔,接線更加簡單。
SD5128 的級聯(lián)方式能實現(xiàn)多像素點控制,每個SD5128 控制一個LED 像素點,級聯(lián)方式如圖3 所示。
3 LED 控制系統(tǒng)設(shè)計
3. 1 硬件設(shè)計
硬件結(jié)構(gòu)如圖4 所示。相比傳統(tǒng)的DMX512 主從控制模式要簡單很多,只有一個主控制器( MCU) 、級聯(lián)的SD5128 芯片和存儲DMX512 數(shù)據(jù)文件的USB 接口芯片。SD5128 與RGB LED 燈的連接方式如圖5 所示。可以實現(xiàn)單色256 個灰度變化以及2563 種混合顏色變化,達(dá)到更好的混色效果。
USB 接口選擇南京沁恒電子公司研發(fā)的USB 接口芯片CH 375,采用被動并行接口方式。CH375 工作在主機(jī)方式下,主要實現(xiàn)單片機(jī)讀U 盤功能以及對燈光數(shù)據(jù)的移動控制,增強(qiáng)了可拓展性和易用性。CH375 與MCU 的接口電路如圖6 所示,CH 375 的D0~ D7 與MCU 的P1總線相連。
3. 2 軟件設(shè)計
MCU 通過讀取U 盤中存儲的燈光控制文件來實現(xiàn)對LED 燈的控制。U 盤中可以存放多個文件,且每個文件都是一組數(shù)據(jù)的組合,并以文件名區(qū)分和識別。
CH 375提供了U 盤文件級子程序庫,MCU 可以直接調(diào)用子程序庫讀寫U 盤中的燈光控制數(shù)據(jù),無需考慮文件系統(tǒng),這不僅降低了研究難度,而且也降低了綜合開發(fā)成本。主程序流程如圖7 所示。
當(dāng)確定U 盤插入時,先搜索U 盤里指定文件的個數(shù),再讀取指定的文件,判斷該文件的大小,打開文件并發(fā)送一組控制數(shù)據(jù)。當(dāng)一組控制數(shù)據(jù)的末尾是0x7FFFFFFF時,說明是一組控制數(shù)據(jù)的結(jié)束符,再發(fā)送下一組控制數(shù)據(jù),直到文件中數(shù)據(jù)發(fā)送完為止,關(guān)閉文件并打開下一個文件。這樣,U 盤中多個文件可以組合成絢麗的控制效果。
結(jié) 語
傳統(tǒng)DMX512 協(xié)議采用多控制器互聯(lián)的控制方法,較為復(fù)雜。
本文采用基于SD5128 的同步DMX512 實現(xiàn)LED 系統(tǒng)的控制,用單個控制器來實現(xiàn)DMX512 協(xié)議,不僅讓控制系統(tǒng)更加簡單,而且使用U 盤存儲燈光控制數(shù)據(jù)能夠極大地方便用戶。[!--empirenews.page--]