基于DMX512協(xié)議的燈光控制信號無線傳輸設(shè)計
3.2 自定義通信數(shù)據(jù)格式
雖然CC1100的傳輸數(shù)率比DMX512的時序速率要高,但畢竟CC1100的FIFO有限,不可能把一個DMX512數(shù)據(jù)包一次性全部發(fā)送出去,因此在主從端之問必須協(xié)商一種合適的數(shù)據(jù)通信格式。CC1100支持4種格式的數(shù)據(jù)包,分別是:定長(小于255字節(jié))、變長(小于255字節(jié))、無限長和有限長。完整的數(shù)據(jù)包包括前導(dǎo)碼、同步字、數(shù)據(jù)長度、地址、有效數(shù)據(jù)和CRC校驗。本系統(tǒng)采用有效數(shù)據(jù)為32字節(jié)的有限長格式,具體的數(shù)據(jù)格式如下:
DMX512的數(shù)據(jù)包中包含有512路調(diào)光數(shù)據(jù),而CC1100發(fā)送一次數(shù)據(jù)包只包含32個有效數(shù)據(jù),因此在發(fā)送時要在CC11OO的地址碼段填入該次發(fā)送有效數(shù)據(jù)在總數(shù)據(jù)包中的序號,以保證接收端在接收的時候按順序重組成功。
3.3 拆解和重組DMX512總線數(shù)據(jù)
系統(tǒng)在對DMX512總線數(shù)據(jù)的拆解和重組過程中,都利用了單片機內(nèi)部的串口單元。但DMX512總線數(shù)據(jù)時序與單片機UART串口不完全相同,因此在使用的時候需要做如下修正。
主發(fā)射端對DMX512總線數(shù)據(jù)的拆解,需要先將串口端口(P3.1)配置為I/O口。當接收到DMX512的起始標志(即P3.1=0)時,開啟定時器 0開始計數(shù),88μs溢出中斷后準備接收數(shù)據(jù)。單片機確認M.a(chǎn).B(Mark afterBreak)信號出現(xiàn)后,配置串口端口為普通串口,開始緩存數(shù)據(jù)幀。
從接收端在無數(shù)據(jù)傳輸時,要把串口端口配置為I/O口,并置為高電平。在接收完畢無線數(shù)據(jù)后,先將串口端口拉低,利用定時器延時超過88 μs,完成起始標志(Break)信號的發(fā)送。然后配置串口端口為普通串口,按緩存的順序?qū)?shù)據(jù)發(fā)送到DMX512總線上。數(shù)據(jù)發(fā)送完成之后,還需要將串口端口還原為普通I/O,發(fā)送結(jié)束信號(小于1 s的高電平),完成DMX512時序要求。
4 總 結(jié)
基于CC1100設(shè)計的DMX512燈光控制信號無線傳輸系統(tǒng),具有成本低、外圍器件少、電路結(jié)構(gòu)簡潔的特點。雖然CC11OO標稱空曠地發(fā)射距離可以達到200 m,但在實際使用時,由于樓宇等建筑物的影響,有效的通信距離為30 m左右。因此利用該系統(tǒng)能實現(xiàn)小范圍(如室內(nèi)環(huán)境)將DMX512有線傳輸轉(zhuǎn)變?yōu)?a class="contentlabel" href="http://2s4d.com/news/listbylabel/label/無線">無線傳輸。為了延長系統(tǒng)傳輸距離,可以考慮在射頻收發(fā)單元增加功放模塊,在保證燈光數(shù)據(jù)實時傳輸?shù)臈l件下,降低通信速率,提高系統(tǒng)傳輸?shù)姆€(wěn)定性。
模擬信號相關(guān)文章:什么是模擬信號
評論