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