基于DMX512協(xié)議的燈光控制信號無線傳輸設計
2.2 微控制器單元
本系統(tǒng)的微控制器采用了STC系列單片機STC12C5410。該單片機含有12 KB的Flash存儲器、512字節(jié)RAM、異步串口(UART)和內(nèi)部PLL單元等。內(nèi)置的SPI總線控制器可以方便地與射頻芯片CC1100通信,而內(nèi)部的ISP(在線可編程)模塊允許用戶直接通過串口下載程序,給系統(tǒng)軟件升級帶來便捷條件。由于DMX512的數(shù)據(jù)波特率為250 kbps,所以選取16 MHz晶振作為時鐘源,以便產(chǎn)生同頻波特率。
2.3 射頻收發(fā)單元
CC1100是一款低功耗單片射頻收發(fā)芯片,具有通信距離遠、功耗低、接口靈活等優(yōu)點。該芯片主要設定工作在315 MHz、433 MHz、868 MHz和915 MHz的工業(yè)、科學和醫(yī)學波段;數(shù)據(jù)速率支持1.2~500 kbps的可編程控制;提供-30~10 dBm的輸出功率;最大空地發(fā)射距離大于200 m,工作電壓為1.8~3.6 V;最大支持64字節(jié)的接收和發(fā)送FIFO。設計人員可以通過SPI接口完成內(nèi)部寄存器配置,讀寫接收/發(fā)送FIFO等內(nèi)部控制。
2.4 接口電路設計
接口電路的設計主要包括2部分:DMX512總線與單片機之間的通信,以及單片機控制 CC1100射頻模塊收發(fā)數(shù)據(jù)。由于DMX512總線數(shù)據(jù)幀格式與通用異步串口(UART)格式基本兼容,因此系統(tǒng)與DMX512總線的通信利用串口通信接口。但DMX512信號的電氣接口標準是EIA-485,與單片機的TTL電平接口不兼容,要實現(xiàn)相互通信,需要采用電平轉(zhuǎn)換芯片作為橋接電路。在分解和還原DMX512總線數(shù)據(jù)上,分別采用MC3486和MC3487。在系統(tǒng)發(fā)送端,通過MC3486將DMX512總線的差分數(shù)據(jù)轉(zhuǎn)換為TTL電平數(shù)據(jù),由單片機的串口接收數(shù)據(jù);另外,串口的該引腳還同時連接到單片機的P3.2/INTO口,用于識別DMX512總線的起始標志(Break),提前通知單片機準備接收總線數(shù)據(jù)。在系統(tǒng)接收端,通過MC3487將單片機串口TTL電平數(shù)據(jù)轉(zhuǎn)換為DMX512差分數(shù)據(jù)。
對CC1100的內(nèi)部寄存器配置和FIFO單元讀寫都通過單片機4線SPI總線接口來完成。MISO和MOSI分別是數(shù)據(jù)發(fā)送、接收端口,SCLK是同步時鐘,SS用作器件的片選信號。CC1100的GD02信號用作內(nèi)部FIFO的狀態(tài)信號,用于提示單片機FIFO空間已滿。發(fā)射和接收模塊接口示意圖如圖 3所示,發(fā)射模塊與接收模塊的結(jié)構基本一致,只是通信數(shù)據(jù)流方向相反。本文引用地址:http://cafeforensic.com/article/169482.htm
3 系統(tǒng)軟件實現(xiàn)
3.1 主要程序流程
系統(tǒng)上電后首先進行初始化配置,包括I/O端口輸入/輸出狀態(tài)配置、串口配置、SPI接口設置、CC1100寄存器配置,以及無線傳輸數(shù)據(jù)格式的配置,使系統(tǒng)處于正常工作狀態(tài)。此時主發(fā)射模塊等待DMX512總線數(shù)據(jù)的到來。一旦DMX512數(shù)據(jù)包起始標志出現(xiàn),即打開單片機串口,等待串口接收中斷產(chǎn)生。中斷產(chǎn)生之后單片機緩存總線數(shù)據(jù),激活CC1100,并向其發(fā)送FIFO中寫入發(fā)送數(shù)據(jù),然后無線發(fā)送出去。
接收模塊的工作流程和發(fā)送模塊相反。在初始化完成之后,單片機設置好CC1100的FIFO寄存器,等待FIFO產(chǎn)生外部中斷。這里外部中斷被用作無線數(shù)據(jù)接收成功的標志。FIFO中斷產(chǎn)生后,單片機通過SPI總線緩存FIFO中的數(shù)據(jù),并立刻通過串口模擬DMX512時序,恢復總線信號,完成信號的無線傳輸。發(fā)送和接收數(shù)據(jù)流程如圖4所示。
模擬信號相關文章:什么是模擬信號
評論