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