?
圖7 接收控制系統(tǒng)軟件結(jié)構(gòu)
本方案軟件設(shè)計(jì)結(jié)構(gòu)如圖7所示,由于該流程比較復(fù)雜,受篇幅有限,本文只對其比較重要的部分作一個大概的介紹。
6.1 IA4421驅(qū)動流程
RF驅(qū)動主要是對IA4421寄存器進(jìn)行初始化設(shè)置,如通訊速率、通信頻率、電源管理、輸出功率等進(jìn)行設(shè)置。IA4421的初始化流程如圖8所示,流程簡單,方便用戶更加容易理解和使用。
?
圖8 IA4421驅(qū)動
6.2以太網(wǎng)驅(qū)動流程
以太網(wǎng)驅(qū)動有3種通訊模式,分別為TCP SERVER模式、TCP CLIENT模式、UDP模式 ,本文使用UDP模式,UDP模式比TCP模式具有更高的效率和更快的速度。在此模式下無需建立連接的請求和應(yīng)答,數(shù)據(jù)直接進(jìn)行雙向數(shù)據(jù)傳輸。具體流程簡圖如圖9所示。
?
圖9 以太網(wǎng)驅(qū)動流程
其中,各狀態(tài)說明如下:
①SM_APP_INIT: 起始狀態(tài),進(jìn)行初始化,并根據(jù)參數(shù)設(shè)置進(jìn)入相關(guān)狀態(tài)。
②SM_APP_ARP_ASK: 向遠(yuǎn)端主機(jī)發(fā)出地址解析包,根據(jù)IP 地址請求對應(yīng)的網(wǎng)絡(luò)地址。
③SM_APP_ARP_RESOLVE: 接受遠(yuǎn)端主機(jī)發(fā)出地址解析包,設(shè)置遠(yuǎn)端主機(jī)的網(wǎng)絡(luò)地址。
?、躍M_APP_UDP_SOCKET: 建立UPD 連接。
?、軸M_APP_UDP: 進(jìn)行UPD連接模式下的數(shù)據(jù)接收和發(fā)送。
?、轘M_APP_ERROR: 空狀態(tài),用于程序的調(diào)試。
7. RF遙控系統(tǒng)軟件框架
?
圖10 RF遙控軟件結(jié)構(gòu)
RF遙控軟件流程如圖10所示,包括MCU的初始化、變量初始化、IA4421初始化、LCD初始化、主程序的循環(huán)檢測。
主循環(huán)包括按鍵輸入檢測、無線數(shù)據(jù)發(fā)送、無線信號的接收和反饋數(shù)據(jù)的處理、LCD數(shù)據(jù)顯示,即能正確地發(fā)送用戶輸入的信息以及把熱水器的各個狀態(tài)及時反饋回手持設(shè)備的LCD上,讓用戶一目了然。
8. 小結(jié)
該方案主要是以IAI442X系列芯片和PIC系列微控制器研發(fā)的智能家居控制方案,可以方便地推廣應(yīng)用到各種智能家居系統(tǒng)中。
評論
查看更多