基于以太網(wǎng)和CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)
3.3 嵌入式TCP/IP協(xié)議棧的實(shí)現(xiàn)方法
嵌入式TCP/IP協(xié)議棧同樣由套接字來(lái)實(shí)現(xiàn),主要包括IP、ARP、ICMP、TCP、UDP協(xié)議等等。TCP/IP模型結(jié)構(gòu)分為4層,由上到下分別是:應(yīng)用層、運(yùn)輸層、網(wǎng)絡(luò)層、物理和數(shù)據(jù)鏈路層。數(shù)據(jù)從應(yīng)用層發(fā)出,經(jīng)過(guò)套接字封裝,傳輸至數(shù)據(jù)鏈路層,交由以太網(wǎng)發(fā)送模塊處理。同樣的,以太網(wǎng)接收模塊收到的數(shù)據(jù),經(jīng)過(guò)解包,最終交由應(yīng)用層接收??紤]到系統(tǒng)實(shí)時(shí)性,我們采用UDP傳輸協(xié)議進(jìn)行數(shù)據(jù)和命令的傳送。編寫UDP通信的任務(wù)時(shí)分為服務(wù)器方式和客戶機(jī)方式兩種,服務(wù)器方式是先接收到數(shù)據(jù)再進(jìn)行處理,而客戶機(jī)則是先發(fā)生數(shù)據(jù),然后等待回應(yīng)處理。UDP進(jìn)程的流程如圖4所示。本文引用地址:http://2s4d.com/article/159681.htm
數(shù)據(jù)報(bào)的接收是通過(guò)一個(gè)任務(wù)來(lái)進(jìn)行的。該任務(wù)優(yōu)先級(jí)較高,可以通過(guò)時(shí)問(wèn)片來(lái)觸發(fā),也可以通過(guò)中斷來(lái)觸發(fā)。Rec_Packet()函數(shù)是底層的驅(qū)動(dòng)程序函數(shù),它在接收時(shí)調(diào)用了Rec_Ethemet_Packed()函數(shù)進(jìn)行以太網(wǎng)層處理,而Rec_Ethemet_Packed()函數(shù)又調(diào)用了IP_PROCESS()函數(shù)。IP層的處理由IP_PROESS()函數(shù)執(zhí)行,它將UDP報(bào)通過(guò)消息隊(duì)列交給UDP處理任務(wù)去執(zhí)行。
數(shù)據(jù)報(bào)的發(fā)送與數(shù)據(jù)報(bào)的接收是一個(gè)相反的過(guò)程,是由上層協(xié)議函數(shù)調(diào)用下層協(xié)議函數(shù)來(lái)進(jìn)行的。上層UDP處理函數(shù)或Socket接口函數(shù)都是通過(guò)調(diào)用Send_Ip_Frame()函數(shù)來(lái)發(fā)送IP報(bào)的,而Send_Ip_Frame()函數(shù)則調(diào)用Send_Ip_To_LLC()函數(shù)來(lái)處理IP地址對(duì)應(yīng)MAC地址的事情,然后Send_Ip_To_LLC()再調(diào)用Send_Ethemet_Frame()函數(shù),把對(duì)應(yīng)的MAC地址寫入發(fā)送區(qū),最后調(diào)用驅(qū)動(dòng)程序的發(fā)送函數(shù)Send_Packet()。
4 關(guān)鍵部位實(shí)驗(yàn)驗(yàn)證
設(shè)備節(jié)點(diǎn)樣機(jī)如圖5所示,它帶有一個(gè)DS18B20數(shù)字溫度傳感器,實(shí)時(shí)將溫度數(shù)據(jù)通過(guò)CAN傳輸至上位機(jī),再通過(guò)局域網(wǎng)傳至主控計(jì)算機(jī);具有多路I/O接口(可外接繼電器),能接收上位機(jī)命令改變I/O口的輸出。上位機(jī)使用ARM核心板外擴(kuò)通信接口作為實(shí)驗(yàn)板,主控機(jī)使用路由器接入,控制界面由VC++編寫。實(shí)驗(yàn)時(shí)將IP地址設(shè)為一固定的私有IP,網(wǎng)關(guān)IP設(shè)為內(nèi)置交換機(jī)的TP-LINK路由器IP,設(shè)置好路由器工作方式后即可運(yùn)行。以溫度采集與繼電器控制為例,驗(yàn)證了主控機(jī)對(duì)設(shè)備節(jié)點(diǎn)的監(jiān)控和管理功能,表明該方案技術(shù)切實(shí)可行。
5 結(jié)束語(yǔ)
提出了一種實(shí)時(shí)性較高、實(shí)用性較強(qiáng)的樓宇自動(dòng)化控制系統(tǒng)解決方案,并對(duì)關(guān)鍵技術(shù)進(jìn)行了驗(yàn)證。系統(tǒng)技術(shù)成熟,易于維護(hù)和擴(kuò)展,可以將建筑內(nèi)各種機(jī)電設(shè)備的信息進(jìn)行分析、歸類、處理、判斷,對(duì)各系統(tǒng)設(shè)備進(jìn)行集中監(jiān)控和管理,使各下屬設(shè)備協(xié)調(diào)有序的工作,并及時(shí)處理故障。
評(píng)論