999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于以太網和CAN總線的樓宇自動化系統設計

2012-07-13 06:29:52顧俊卿張福斌
電子設計工程 2012年16期
關鍵詞:設備

顧俊卿,張福斌

(西北工業大學 航海學院,陜西 西安 710072)

隨著現代化城市建設的發展,出現了越來越多的高層建筑,如何統一管理和監控建筑內公用的機電設備,成為當今樓宇自動化研究的熱點方向之一 。以“分散控制,集中管理”為基本思想,設計了一種基于以太網和CAN總線的樓宇自動化控制系統。采用分層管理和控制,與傳統控制結構相比,每個現場設備節點都具有通信和控制能力,各自可以獨立控制而不依賴于主控計算機,同時也具有簡單的故障自動修復功能,因而只要控制規律確定以后,平時主控機只需要監視設備節點既可,這樣就提高了整個系統的自動化水平。所選的以太網和CAN總線的組合,相比其他總線,軟硬件技術成熟、安全可靠、傳輸速度快且成本低廉、易于擴展和維護。

1 網絡結構設計

系統結構如圖1所示。系統設計兩層網絡,第1層是以太網,由路由器和交換機組成,負責連接主控機和各個區域的上位機,各上位機內嵌簡單的TCP/IP協議棧,通過以太網將其下的設備節點的狀態實時的反饋到主控機中,也可以接受主控機發送出的控制指令。以太網提供了冗余網絡結構,主控機的位置可以隨時移動,通過新的路由器接入網絡即可。第2層是CAN網絡,由CAN控制器和收發器組成,負責連接設備節點,將采集到的數據傳送至上位機,并接收上位機的命令消息。由于上位機實際上起到了一個網關的作用,因此兩層網絡結構擴大了通信的帶寬,減輕了總線的負擔。再加上CAN特有的非破壞性總線仲裁技術,即使在網絡負重很大的情況下,也不會出現網絡癱瘓情況。

2 硬件方案

上位機以NXP LPC2478為主芯片,由電源穩壓模塊、以太網收發器,隔離變壓器、CAN收發器等組成。LPC2478以ARM7為內核,它包括1個10/100以太網媒體訪問控制器(MAC)、1個帶 4 kB終端 RAM的 USB全速設備/主機/OTG控制器、4個UART、兩路CAN通道、1個SPI接口、2個同步串行端口、3個I2C接口和1個I2S接口。同時還帶有1個4 MHz的片內振蕩器、98 kB RAM、以及一個外部存儲器控制器來支持上述的各種串行通信接口[1]。電源穩壓模塊將輸入電源電壓濾波并穩定在3.3 V左右,可以防止電壓瞬時的下降導致的程序跑飛。CAN收發器采用PCA82C250,以太網接口用常見的的RJ45型網線接口。

設備節點使用STC89C52單片機作為微控制器,外擴SJA1000為CAN控制器,為便于調試,擴展電平轉換芯片MAX232作為備用調試通道。根據不同需要,還要連接不同的傳感器和其他執行機構,比如中央空調系統,可連接DS18B20溫度傳感器將溫度采集并以數字量直接傳送給STC89C52[2],STC89C52則按預先設置好的方案,控制壓縮機工作。必要時可以由主控機發送控制命令,修改預先設置的方案參數。

圖1 BAS網絡結構Fig.1 BAS net layout

將上位機的網口連接至交換機網口,路由器的LAN口也和交換器連接,路由器的WAN口連接進入樓宇局域網。

3 軟件架構

軟件由主控機人機接口界面、上位機軟件、設備節點軟件組成。上位機軟件包括嵌入式TCP/IP協議簇、以太網收發軟件包、CAN收發軟件包等,設備節點軟件包括CAN模塊、數據采集分析模塊等組成。

3.1 移植μC/OS-Ⅱ實時操作系統的方法

上位機既要和主控機通信,又要負責管理下屬的設備節點,負載較大。移植μC/OS-Ⅱ操作系統可以使上位機具有多任務運行的功能。μC/OS-Ⅱ是一個完整的,可移植、固化、裁剪的占先式實時多任務內核。它包含了任務調度、任務管理、時間管理、內存管理和任務間的通信和同步等基本功能。μC/OS-Ⅱ采用的是可剝奪型實時多任務內核,可剝奪型的實時內核在任何時候都運行就緒了的最高優先級的任務。

在ARM下移植μC/OS-Ⅱ操作系統主要是修改μC/OS-Ⅱ中一部分與CPU相關的匯編代碼,這里主要是任務上下文的切換代碼。

任務切換發生在任務調度的時候,μC/OS-Ⅱ下任務調度的時機主要有以下幾種情況:1)高優先級的任務因為需要某種臨界資源,主動請求掛起,讓出處理器,此時將調度就緒狀態的最高優先級任務并執行。2)高優先級的任務因為時鐘節拍到來,在時鐘中斷的處理程序中,內核發現更高優先級的任務就緒,獲得了執行條件,則在中斷后直接切換到更高優先級任務執行[3-5]。

任務切換就是保存前一個任務的基本信息,同時讀取新任務在上一次被切換時保存的這些信息。調度器將前一任務的上述信息保存在該任務的棧空間中,其目的是為了下次運行時能夠恢復到被切換時的狀態,調度器將從該任務的棧空間中讀取上述信息,從而從該任務上次被中斷的位置繼續執行,其基本過程如下[3-5]:

1)將當前任務的PC位置、通用寄存器數據、CPU狀態入棧。

2)將全局變量OSPrioCur(當前任務優先級變量)的值修改為全局變量OSPrioHighRdy(最高優先級任務優先級)的值,即把最高就緒任務優先級設置為新的當前任務優先級。

3)將原任務TCB的第一個成員(指向棧頂的指針*OSTC B-StkPtr)的值修改為當前SP寄存器的值,以便再次返回。

4)獲取最高優先級的任務控制塊中第一個成員(指向堆棧棧頂指針*OSTCBStkPtr)的值并將其保存到SP寄存器中。

5)將OSTCBCur的值修改為新就緒最高優先級任務的任務控制塊地址。

6)將新任務的PC地址、通用寄存器數據、CPU狀態出棧,開始執行新的任務。

因為任務切換是將當前任務的基本信息保存起來(入任務棧),并加載新任務的基本信息(出棧),而這些信息很大一部分都被存儲在CPU的寄存器中,因此根據處理器的不同,此函數在實現上略有差異,一般都采用匯編語言實現。

3.2 編寫設備驅動程序

設備驅動程序主要包括以太網和CAN軟件包,以太網驅動主要是初始化LPC2478內部以太網模塊的一些重要的寄存器如MAC配置寄存器、MAC地址寄存器、命令寄存器、狀態寄存器、中斷狀態寄存器等等。以太網模塊內部采用DMA方式讀取數據,分別使用接收、發送描述符數組來表示接收和發送的數據塊[6]。以太網模塊發送和接受數據的流程如圖2所示。

圖2 以太網模塊發送和接收數據流程Fig.2 Sending and receiving process of Ethernet module

CAN的初始化包括初始化時鐘分頻寄存器,同時選擇能支持擴展幀的PeliCAN模式[7],設置接收中斷,采用中斷來接收數據,設置總線時序寄存器、輸出控制寄存器等。初始化CAN流程圖如圖3所示。

圖3 初始化CANFig.3 Initialization of CAN

3.3 嵌入式TCP/IP協議棧的實現方法

嵌入式TCP/IP協議棧同樣由套接字來實現,主要包括IP、ARP、ICMP、TCP、UDP 協議等等。 TCP/IP 模型結構分為 4層,由上到下分別是:應用層、運輸層、網絡層、物理和數據鏈路層[8-9]。數據從應用層發出,經過套接字封裝,傳輸至數據鏈路層,交由以太網發送模塊處理。同樣的,以太網接收模塊收到的數據,經過解包,最終交由應用層接收。考慮到系統實時性,我們采用UDP傳輸協議進行數據和命令的傳送。編寫UDP通信的任務時分為服務器方式和客戶機方式兩種,服務器方式是先接收到數據再進行處理,而客戶機則是先發生數據,然后等待回應處理[10]。UDP進程的流程如圖4所示。

圖4 UDP進程流程圖Fig.4 UDP process

數據報的接收是通過一個任務來進行的。該任務優先級較高,可以通過時間片來觸發,也可以通過中斷來觸發。Rec_Packet()函數是底層的驅動程序函數,它在接收時調用了Rec_Ethernet_Packed()函數進行以太網層處理,而Rec_Ethernet_Packed()函數又調用了 IP_PROCESS()函數。IP層的處理由IP_PROCESS()函數執行,它將UDP報通過消息隊列交給UDP處理任務去執行。

數據報的發送與數據報的接收是一個相反的過程,是由上層協議函數調用下層協議函數來進行的。上層UDP處理函數或Socket接口函數都是通過調用Send_Ip_Frame()函數來發送IP報的,而Send_Ip_Frame()函數則調用Send_Ip_To_LLC()函數來處理IP地址對應MAC地址的事情,然后 Send_Ip_To_LLC()再調用 Send_Ethernet_Frame()函數,把對應的MAC地址寫入發送區,最后調用驅動程序的發送函數 Send_Packet()。

4 關鍵部位實驗驗證

設備節點樣機如圖5所示,它帶有一個DS18B20數字溫度傳感器,實時將溫度數據通過CAN傳輸至上位機,再通過局域網傳至主控計算機;具有多路I/O接口(可外接繼電器),能接收上位機命令改變I/O口的輸出。上位機使用ARM核心板外擴通信接口作為實驗板,主控機使用路由器接入,控制界面由VC++編寫。實驗時將IP地址設為一固定的私有IP,網關IP設為內置交換機的TP-LINK路由器IP,設置好路由器工作方式后即可運行。以溫度采集與繼電器控制為例,驗證了主控機對設備節點的監控和管理功能,表明該方案技術切實可行。

圖5 設備節點樣機Fig.5 Control node for test

5 結束語

提出了一種實時性較高、實用性較強的樓宇自動化控制系統解決方案,并對關鍵技術進行了驗證。系統技術成熟,易于維護和擴展,可以將建筑內各種機電設備的信息進行分析、歸類、處理、判斷,對各系統設備進行集中監控和管理,使各下屬設備協調有序的工作,并及時處理故障。

[1]周立功.深入淺出ARM7—LPC2400[M].廣州:廣州致遠電子有限公司,2008.

[2]鄭鋒,王巧芝,王鼎媛,等.51單片機應用系統典型模塊開發大全[M].北京:中國鐵道出版社,2010.

[3]楊宗德,張兵.μC/OS-Ⅱ標準教程[M].北京:人民郵電出版社,2009.

[4]Labrosse J J.MicroC/OS-Ⅱ The Real-Time Kernel[M].邵貝貝,譯.2版.北京:北京航空航天大學出版社,2003.

[5]陳是知.μC/OS-Ⅱ內核分析、移植與驅動程序開發[M].北京:人民郵電出版社,2007.

[6]周立功.ARM嵌入式系統應用技術筆記—基于LPC2400[M].廣州:廣州致遠電子有限公司,2008.

[7]鐃運濤,鄒繼軍,王進宏,等.現場總線CAN原理與應用技術[M].2版.北京:北京航空航天大學出版社,2007.

[8]Forouzan B A,Fegan S C.TCP/IP協議族[M].3版.馬海軍,吳華等,譯.北京:清華大學出版社,2006.

[9]Chappell L A,Tittel E.TCP/IP協議原理與應用[M].馬海軍,吳華等,譯.北京:清華大學出版社,2005.

[10]周立功.ARM嵌入式系統軟件開發實例1[M].北京:北京航空航天大學出版社,2005.

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 精品视频一区二区三区在线播| 欧美国产成人在线| 在线精品亚洲国产| 日韩人妻少妇一区二区| 久久久久亚洲AV成人网站软件| 波多野结衣视频一区二区| 婷婷成人综合| 日韩在线1| 国产午夜看片| 日韩国产精品无码一区二区三区| 中文字幕有乳无码| 日韩在线视频网| 青草视频久久| 在线视频精品一区| 永久免费精品视频| 婷婷色丁香综合激情| 成人亚洲视频| 国产精品久久久久久影院| 小说 亚洲 无码 精品| 毛片大全免费观看| 日本一区二区不卡视频| 在线欧美日韩| 中文字幕佐山爱一区二区免费| 国产精品成人观看视频国产| 男女男免费视频网站国产| 丁香亚洲综合五月天婷婷| 热伊人99re久久精品最新地| 日韩免费视频播播| 日韩欧美91| 91福利国产成人精品导航| 亚洲乱伦视频| 久久免费视频播放| 欧美有码在线| 免费在线a视频| 日本精品αv中文字幕| 美女视频黄频a免费高清不卡| 日本不卡在线| av天堂最新版在线| 综合亚洲色图| 国产小视频a在线观看| 久久99蜜桃精品久久久久小说| 中国黄色一级视频| 久久情精品国产品免费| 日韩精品免费在线视频| 欧美一级大片在线观看| 国产无码精品在线| 国产欧美日韩精品第二区| 经典三级久久| 日本午夜影院| 欧美A级V片在线观看| 粗大猛烈进出高潮视频无码| 网久久综合| 在线观看网站国产| 国产亚洲现在一区二区中文| 白丝美女办公室高潮喷水视频| 国产手机在线小视频免费观看 | 中文字幕第4页| 亚洲国产中文综合专区在| 国产91色在线| 久久综合国产乱子免费| 黄色网站在线观看无码| 精品人妻一区二区三区蜜桃AⅤ| 制服丝袜无码每日更新| 国产成人喷潮在线观看| 精品撒尿视频一区二区三区| 国产成人1024精品下载| 亚洲黄色成人| 日本www色视频| 亚洲日韩久久综合中文字幕| 91精品国产福利| 欧美一级专区免费大片| 国产亚洲精品资源在线26u| 欧美日韩一区二区在线免费观看| 91美女在线| 国产99精品久久| 亚洲国模精品一区| 日本黄色a视频| 1024国产在线| 麻豆精品久久久久久久99蜜桃| 国产精品欧美日本韩免费一区二区三区不卡| 亚洲无码高清视频在线观看| 六月婷婷激情综合|