采用LPC2104的智能燈光控制器原理及設計
6 無線模塊軟件設計本文引用地址:http://www.104case.com/article/169337.htm
無線模塊通過UART串口與系統相連,所以必須對UART進行初始化,LPC2104的UART串口符合RS232標準,也支持550工業標準。
LPC2104有兩個通用的異步串行接口(UART),啟動時UART默認狀態是無法使用的,必須通過編程GPIO寄存器來使能它們。
本系統使用UART1與nRF401進行連接,UART1帶有調制解調器接口,16字節接收和發送FIFO。內置波特率發生器以及包含標準的調制解調器接口信號。
在使用UART1時,先要設置TXD1、RXD1引腳連接方式,然后設置串口的波特率及工作模式,即可進行數據的發送和接收,本系統使用11.0592MHz晶體振蕩器,不適用PLL,VPB為4分頻,設置UART1波特率為9600bit/s,則除數值N=18,即12H,UART1的初始化程序如下:
在操作系統環境下,系統啟動時會自動初始化串行口,所以應用程序調用串行口資源將變得更容易,值得注意的是,應用程序往往是多任意系統,為了實時監測串行口消息,在操作環境中一般單開一個串行口掃描任務,保證信息不丟失,在一個已有的工程文件的主函數中添加串行口的寄存器初始化代碼,并添加串口掃描任務,由于對無線模塊的控制還有系統的GPIO,所以掃描程序中還要包括對I/O的操作,當系統收到串口信息時,將會主動向主任務發送一個串行口信息,主任務接收到該信息將會調用響應函數,響應該消息。
7 結束語
無線通信模塊nRF401集發射、接收于一體,大大簡化了燈光控制器設計的復雜程度,智能燈光控制器通過RS485接口很容易組網,為實現智能家居網絡化提供了方便。
由圖2可見,嵌入式CPU對無線模塊的控制接口主要由5根信號線組成,分別是DIN、DOUT、TXEN、PWR_UP、CS。其中,TXEN是發送使能端,通過對TXEN置位和復位實現發送狀態和接收狀態的切換,并通過GPIO口進行控制,PWR_UP是節能控制端,利用LPC2104的一個GPIO口對其進行編程,實現無線模塊的工作模式和休眠狀態的切換;CS可進行頻道選擇,通過GPIO設置,可以利用LPC2104的UART1串口控制DIN、DOUT信號。
為了節能,nRF401大多數情況下應處于關閉狀態,無線部分硬件上是不具備自動喚醒功能的,必須通過軟件方式采用合理的通信協議以保證節能同時數據不丟失。
5 調光控制電路設計
采用單片機I/O口灌電流的方法控制晶閘管實現開關和調光控制。用內部帶有過零檢測電路的光電耦合器MOC3041作為晶閘管的驅動器,同時能實現強、弱電的隔離。
傳統的調光方法都采用移相觸發晶閘管,控制晶閘管的導通角來控制輸出功率,不
MOC3041內部含有過零檢測電路,當輸入引腳1輸入15mA的電流,輸出端6引腳、4引腳之間的電壓稍過零時,內部雙向晶閘管導通,觸發外部晶閘管導通,當MOC3041輸入引腳輸入電流為0時,內部雙向晶閘管關斷,從而外部晶閘管也關斷,其調光控制電路如圖3所示。
評論