關(guān) 閉

        新聞中心

        EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于以太網(wǎng)和CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)

        基于以太網(wǎng)和CAN總線的樓宇自動(dòng)化系統(tǒng)設(shè)計(jì)

        作者: 時(shí)間:2012-11-21 來源:網(wǎng)絡(luò) 收藏

        3.3 嵌入式TCP/IP協(xié)議棧的實(shí)現(xiàn)方法
        嵌入式TCP/IP協(xié)議棧同樣由套接字來實(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)過套接字封裝,傳輸至數(shù)據(jù)鏈路層,交由發(fā)送模塊處理。同樣的,接收模塊收到的數(shù)據(jù),經(jīng)過解包,最終交由應(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://www.104case.com/article/159681.htm

        e.JPG


        數(shù)據(jù)報(bào)的接收是通過一個(gè)任務(wù)來進(jìn)行的。該任務(wù)優(yōu)先級(jí)較高,可以通過時(shí)問片來觸發(fā),也可以通過中斷來觸發(fā)。Rec_Packet()函數(shù)是底層的驅(qū)動(dòng)程序函數(shù),它在接收時(shí)調(diào)用了Rec_Ethemet_Packed()函數(shù)進(jìn)行層處理,而Rec_Ethemet_Packed()函數(shù)又調(diào)用了IP_PROCESS()函數(shù)。IP層的處理由IP_PROESS()函數(shù)執(zhí)行,它將UDP報(bào)通過消息隊(duì)列交給UDP處理任務(wù)去執(zhí)行。
        數(shù)據(jù)報(bào)的發(fā)送與數(shù)據(jù)報(bào)的接收是一個(gè)相反的過程,是由上層協(xié)議函數(shù)調(diào)用下層協(xié)議函數(shù)來進(jìn)行的。上層UDP處理函數(shù)或Socket接口函數(shù)都是通過調(diào)用Send_Ip_Frame()函數(shù)來發(fā)送IP報(bào)的,而Send_Ip_Frame()函數(shù)則調(diào)用Send_Ip_To_LLC()函數(shù)來處理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ù)通過CAN傳輸至上位機(jī),再通過局域網(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í)可行。

        b.JPG



        5 結(jié)束語(yǔ)
        提出了一種實(shí)時(shí)性較高、實(shí)用性較強(qiá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í)處理故障。


        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 辽宁省| 上杭县| 读书| 曲阜市| 常山县| 舟曲县| 厦门市| 陆河县| 五家渠市| 高平市| 霍州市| 双城市| 巢湖市| 通许县| 镇江市| 东山县| 兴化市| 赞皇县| 昭平县| 西平县| 永泰县| 历史| 合阳县| 黔江区| 莆田市| 新闻| 兰考县| 武功县| 安图县| 安龙县| 望都县| 夏邑县| 连南| 达拉特旗| 苍梧县| 罗江县| 昌宁县| 甘谷县| 柏乡县| 博客| 达日县|