本文為計算機機房開發的智能配電系統iPDS (Intelligent Power Distribution System)具有智能化和人性化兩大特點,采用CAN總線進行數據的交互傳遞,很好地滿足了系統可靠性、實時性及成本方面的要求。
1、引言
目前,計算機機房的配電系統大都使用UPS,保證了機房的可靠供電。UPS系統的每一路電流都采用自動空氣斷路器進行過流保護,這種保護是有效的,但不是智能的,不能設置,不會報警,更沒有供電及故障報警信息的紀錄,與高可靠性的要求不相符,有進一步改造的必要和需求。本文為計算機機房開發的智能配電系統iPDS(Intelligent Power Distribution System)很好地滿足了以上要求,具有智能化和人性化兩大特點。本系統采用CAN總線進行數據的交互傳遞,很好地滿足了系統可靠性、實時性及成本方面的要求。
2、系統設計
2.1 系統結構設計
本智能系統對機房內各路電源的電流、漏電流、零地電壓、自動空氣斷路器的運行狀態等信息進行實時監測、顯示,具有實時報警、詳細記錄等功能,并可以根據用戶要求靈活地配置各路監測信息。可以在顯示屏上查詢機房各路電源的使用情況,盡早發現和消除隱患,實時處理故障,進一步提高了系統的可靠性。
本系統由數據處理單元、數據采集節點、LED顯示節點、觸摸屏等組成,具體系統結構如圖1所示。
2.2 系統功能設計
整個系統結構復雜,功能完善,觸摸屏通過RS-485與數據處理單元相連,數據處理單元、數據采集節點和LED顯示節點都掛接在CAN總線上,各組成部分提供不同的功能:
(1) 數據處理單元有兩個CPU,單片機AT89C58和P87C591,二者通過雙口RAM進行數據交換,其中AT89C58與觸摸屏通過RS-485通信,處理觸摸屏上的顯示和設置信息,P87C591處理CAN總線上的交互信息。
(2) 觸摸屏是系統的主界面,用于設置系統的配置信息,顯示當前各路的電流、漏電流、零地電壓和自動空氣斷路器的狀態等,并可以查看歷史報警記錄。
(3) 數據采集節點采集各路模擬量和開關量信息,通過CAN總線傳輸,以供數據處理單元處理。
(4) LED顯示節點主要顯示當前各路的模擬量和開關量的報警信息,便于用戶查看,使系統更加人性化。
3、CAN總線硬件設計
3.1 P87C591簡介及硬件設計
在系統中,采用Philips公司生產的P87C591單片機,該單片機是一個8位高性能微控制器,具有片內CAN控制器,大大簡化了硬件電路的設計,提高了CAN接口的穩定性。
P87C591采用了強大的80C51指令集,并集成了SJA1000 CAN控制器的PeliCAN功能。
P87C591連接的CAN節點電路設計比較簡單,所需的外部元件只是一個晶振加兩個電容驅動片內震蕩器、一個連接到復位腳的電阻、電容。使用片內上電復位電路以及一個收發器將P87C591連接到CAN總線上。
3.2 CAN總線通信過程及標識符的分配
本系統對實時性要求高,數據傳輸量大,數據采集節點采集的信息應快速上傳到數據處理單元,以便及時處理,數據處理單元將觸摸屏上的設置信息實時傳遞給數據采集單元;數據處理單元處理完采集的信息后,將當前的系統狀態及時地在LED顯示節點上顯示出來,并指揮繼電器動作。
整個CAN總線系統采用CAN2.0B通訊協議,采用標準幀格式、11位標識符來區分CAN總線上的節點。數據處理單元是CAN總線上最重要的節點,控制整個總線上數據的傳輸和處理,優先級最高,其次是數據采集節點,它是數據的來源,實時采集傳遞數據,再次是LED顯示節點。
考慮到系統的擴展問題,預留了一部分標識符,根據用戶要求可以增加、減少數據采集節點和LED顯示節點,而不影響系統的優先級設計。
4、CAN總線軟件設計
數據處理單元是CAN總線上優先級最高的節點,控制著整個總線上的數據傳輸流程,其軟件設計主要包括兩大部分,即通信網絡的應用層協議和功能實現的流程和編碼。
4.1 軟件功能分析及系統初始化設計
P87C591主要完成數據的處理與傳輸,通過CAN總線接收數據采集節點采集來的各路模擬量和開關量信息,整理后按協議存儲到雙口RAM中,并根據處理結果給LED顯示節點發送信息。主程序查詢雙口RAM中數據采集節點的設置信息,實時地傳送信息給數據采集節點,并向其發送遠程幀,請求模擬量和開關量信息的傳送,這樣避免了多個數據采集節點同時上傳采集的信息,有效地防止了接收溢出和數據丟失,接收到采集的各路信息后,處理并存儲到雙口RAM中、發送給LED節點。
在程序設計中,初始化程序是系統設計工作中極為重要的部分,它是系統能否正常工作的前提。因此,初始化設計是一個重點,在系統初始化過程中要進行雙口RAM的初始化,打開看門狗,設置中斷優先級,初始化CAN控制器和I/O口,打開總中斷等操作,以保證系統正常穩定地工作。
4.2 CAN通信程序設計
CAN通信軟件主要由以下幾部分組成:初始化、接收處理、發送處理、中斷處理及錯誤處理。本文重點介紹初始化、發送、接收處理子程序及錯誤處理。
(1) 初始化子程序
CAN控制器的初始化包括操作模式、驗收濾波器、總線定時及中斷的設置等。驗收濾波器的設置決定了本節點所接收的信息的格式。定時器用來設置CAN總線上數據傳輸的波特率,總線上各節點的波特率必須一致,否則就會導致數據傳輸錯誤。
(2) 發送程序
發送子程序負責節點報文的發送。發送時用戶只需將待發送的數據按特定格式組合成一幀報文,送入CAN控制器的發送緩存區中,然后啟動發送命令即可。信息從CAN控制器發送到CAN總線是由CAN控制器自動完成的。本系統采用查詢的方式發送。
(3) 接收程序
接收子程序負責節點報文的接收以及其它情況的處理,諸如對總線關閉、錯誤報警、接收溢出等情況進行處理。信息從CAN總線到CAN緩沖區是由CAN控制器自動完成的。接收程序只需從接收緩沖區讀取要接收的信息即可。考慮到實時性的要求,采用了如2所示的中斷方式。
(4) 錯誤處理
在CAN初始化中,打開了錯誤報警中斷使能和總線錯誤中斷使能,當錯誤計數器(發送錯誤計數器和接收錯誤計數器中的任何一個)計數值超過96時,說明總線被嚴重干擾,產生錯誤報警中斷;當發送錯誤計數器值超過255時,節點進入總線關閉狀態,CAN控制器將設置復位模式位為1(當前)并產生一個錯誤報警和總線錯誤中斷。錯誤報警中斷處理是清零所有錯誤計數器的值,維持CAN的運轉,但這樣做存在局限性:清零錯誤計數器只是將錯誤計數器簡單的清零,不能從根本上消除錯誤來源;由于錯誤報警中斷產生的條件為錯誤計數器的值超過96,而總線關閉中斷產生的條件為發送錯誤計數器的值超過255,因此,發送錯誤計數器引起的錯誤報警中斷可以屏蔽掉總線錯誤中斷。系統可能由于總響應錯誤報警中斷導致系統不能產生總線關閉,使CAN總線一直處于不穩定狀態。
為了避免這種情況,只打開總線錯誤中斷使能,這樣,在總線發生嚴重錯誤的情況下,可馬上產生總線錯誤中斷,使錯誤得到及時處理。總線錯誤中斷的處理是復位該節點,重新初始化CAN控制器,這樣可以消除錯誤,給節點一個很好的初態。由于CAN總線兩條傳輸線之間的誤接觸,也易造成CAN總線關閉,使節點無法工作,在主程序中查詢狀態寄存器中當前CAN總線狀態,及時復位該節點,使節點正常工作。
同時,為了更方便直觀地查看CAN總線的工作狀態,設計了一個指示燈,當總線正常地收發信息時,指示燈閃爍,一旦CAN總線關閉,節點不參與總線活動,指示燈不再閃爍(此時指示燈長亮或長滅),當總線錯誤不能通過復位該節點解決時,可以通過查看指示燈的狀態(長亮或長滅),及時地對不工作的節點進行修理維護。
5、結語
運用CAN總線技術構建智能配電系統,提高了系統的穩定性和實時性,系統價格低廉,安裝維護簡單,具有良好的升級、擴展能力。該系統已經成功地裝配到經貿、股票交易行業的機房中,運行可靠,實現了設計目標。
責任編輯:gt
-
CAN總線
+關注
關注
145文章
1949瀏覽量
130728 -
計算機
+關注
關注
19文章
7488瀏覽量
87854 -
智能化
+關注
關注
15文章
4869瀏覽量
55343
發布評論請先 登錄
相關推薦
評論