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 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 午夜精品区| 国产永久在线视频| 日韩免费毛片| 大陆国产精品视频| 欧美日韩国产精品综合| 国产在线视频欧美亚综合| 亚洲人成色77777在线观看| 日韩免费成人| 国产电话自拍伊人| 国产日韩精品欧美一区灰| 国产在线自乱拍播放| 2022精品国偷自产免费观看| 视频二区国产精品职场同事| 波多野吉衣一区二区三区av| 少妇人妻无码首页| 人妻丰满熟妇av五码区| 国产手机在线ΑⅤ片无码观看| 国产丝袜一区二区三区视频免下载 | 九九热视频在线免费观看| 日韩第一页在线| 亚洲国产第一区二区香蕉| 久久亚洲国产最新网站| 午夜a级毛片| 国产精品永久免费嫩草研究院| 69综合网| 久久a级片| 亚洲成a人片7777| 美女裸体18禁网站| 99久久精品国产综合婷婷| 久久精品丝袜| 久久久黄色片| 亚洲一区国色天香| 国产欧美日韩另类精彩视频| 伊人激情综合网| 午夜毛片免费观看视频 | 日本www在线视频| 国产91丝袜在线播放动漫| 中文字幕永久在线看| 国产白浆视频| 999精品视频在线| 日韩欧美视频第一区在线观看| 免费看的一级毛片| 亚洲天堂视频在线观看免费| 欧美一级视频免费| 国产精品综合久久久| 亚洲资源站av无码网址| 男女性午夜福利网站| 日韩第九页| 看国产毛片| 在线视频一区二区三区不卡| 亚洲一区二区无码视频| 福利视频一区| 国产免费a级片| 无码精品国产dvd在线观看9久| 亚洲无码精品在线播放| 欧美在线综合视频| 国产高潮视频在线观看| 日本高清视频在线www色| 第一区免费在线观看| 成人久久18免费网站| 久无码久无码av无码| 午夜视频日本| 污网站免费在线观看| 久久久受www免费人成| 综合色区亚洲熟妇在线| 一级全黄毛片| 亚洲精品视频网| 青青热久免费精品视频6| 亚洲国产高清精品线久久| 爽爽影院十八禁在线观看| 亚洲成人一区二区三区| 亚洲中文在线看视频一区| 欧美a在线视频| 中文天堂在线视频| 国内嫩模私拍精品视频| 久久这里只有精品23| 黄色国产在线| 久久semm亚洲国产| 成人无码一区二区三区视频在线观看| 国产精品一区二区久久精品无码| 欧美久久网| 一级做a爰片久久毛片毛片|