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