以往我國的中央空調控制系統主要采用以單片機為控制核心的單機組控制器,即一個控制器只能控制一臺中央空調機組,這種控制方法控制簡單,但是在多層或者較大型的建筑中控制能力就顯得力不從心了。近年來也出現了采用ARM7 處理器作為控制芯片的集中控制器,但是在此所采用的ARM9 處理器比ARM7 處理器又有了許多優點,如ARM9 處理器采用5 級流水線,在每一個時鐘周期內可以同時執行5 條指令,這樣就大大提高了處理性能,在同樣的加工工藝下,ARM9處理器的時鐘頻率是ARM7 的1. 8 ~ 2. 2 倍; 又如ARM9 采用哈佛結構,具有分離的數據和程序空間及分離的訪問總線,所以在指令執行時哈佛結構的取址和取數可以并行,因此具有更高的執行效率; 再如擁有內存管理單元( MMU ) ,只有擁有了MMU 才能真正實現內存保護,通過內存保護,一個進程的失敗并不會影響其他進程的運行,從而增強了系統的穩定性。另外,ARM9 可以內嵌Linux 操作系統,Linux 具有良好的網絡支持功能; Linux 是首先實現TCP/ IP 協議棧的操作系統,它的內核結構在網絡方面是非常完整的,并提供了對包括十兆位、百兆位及千兆位的以太網,還有無線網絡等的支持; 其次,Linux 源碼開放、可定制內核、性能優異等也是選擇它相對于其他嵌入式操作系統的優勢。
在此設計的網絡集中控制器可與監控軟件一起完成基于TCP/ IP 協議的網絡通信功能,并能通過RS 485總線與自行設計的現場控制器進行通信。
1 控制器設計方案
網絡管理器的主要功能一方面是通過以太網與監控軟件進行數據交換; 另一方面是通過RS 485 總線網絡與分布在大廈各處的現場控制器通信。網絡管理器對現場控制器進行控制和管理,在現場控制器與中央操作站之間起數據緩存作用。
1. 1 控制器硬件設計
處理器采用A TMEL 公司的AT91RM9200,該處理器是AT MEL 專門針對工業及以太網應用領域推出的基于ARM920T 內核的新型微處理器,如圖1 所示。
( 1) 電源電路。主要作用是為控制器提供3. 3 V和1. 8 V 的穩定電壓。設計時利用LM1117 低壓差線性調壓器來提供3. 3 V 和1. 8 V 的電壓。LM1117 能夠提供1. 8 V,2. 5 V,2. 85 V,3. 3 V,5 V 的固定電壓和可調電壓型號,并能提供電流限制和熱保護。
圖1 網絡集中控制器硬件模塊示意圖
( 2) 復位電路。主要完成系統的上電復位和系統在運行時用戶的按鍵復位功能,它由簡單的RC 電路構成,這種電路比較通用,其復位邏輯是可靠的。
( 3) 存儲器系統設計。包括Nor Flash 接口、NandFLASH 接口和SDRAM 接口電路的設計。
①Nor FLASH 存儲器內部存放系統啟動代碼、Linux 內核和用戶程序等,存儲器芯片采用AT49BV322A,單片存儲容量為32 Mb,工作電壓為2. 65~ 3. 6 V,數據寬度為16 b,并以16 b( 字模式) 數據寬度的方式工作。
②SDRAM 存儲器作為程序的運行空間,如前所述,SDRAM 的存儲單元可以理解為一個電容,總是傾向于放電,為避免數據丟失,必須定時刷新( 充電) 。由此可見,要在系統中使用SDRAM,就要求微處理器具有刷新控制邏輯,或在系統中另外加入刷新控制邏輯電路。本控制器采用的控制芯片具有用SDRAM 刷新控的制邏輯,可以直接與SDRAM 接口連接。SDRAM 存儲器芯片采用HY57V281620HG,單片存儲容量為4 組! 32 Mb,工作電壓為3. 3 V,數據寬度為16 b。本控制器采用2 片16 b 數據寬度的HY57V281620HG 并聯為32 b數據寬度的SDRAM 存儲系統。
③Nand FLASH 作為系統的數據存儲器,芯片采用K9F1208U OM YIB0,存儲容量為64 MB,數據總線寬度為8 位,工作電壓為2. 7~ 3. 6 V。為了提高控制芯片的驅動能力,在這部分設計中加入了74HC245 總線驅動器,74HC245 提供雙向總線驅動,主要使用在數據的雙向緩沖。
( 4) 串行接口電路。本控制器對控制芯片提供的4 個串口中3 個設計接口電路。一個串口用于軟件調試與系統開發,另一個作為預留串口,可以在需要時與PC 機進行通信。另外,還需要設計RS 485 串行通信接口電路,用于與現場控制器的通信。
電平轉換芯片采用常用的MAX 232; RS 485 電平轉換芯片采用MAX 485。
( 5) 網絡接口電路。AT91RM9200 內嵌入了10 Mb/ s/ 100 Mb/ s 自適應的以太網MAC 控制器,但是這還不能直接用來進行以太網通信,片外還需要擴展以太網的物理層接口( PHY) ,這樣才能夠實現高速的以太網通訊。物理層接口芯片選用DM9161。
另外,設計中還用到了網絡隔離變壓器,它的主要作用是傳輸數據,還有一個作用是隔離網線連接中不同網絡設備間的不同電平,以防止不同電壓通過網線傳輸損壞設備。
1. 2 控制器應用程序開發
控制器軟件部分的開發主要是在裁剪好的Linux內核和驅動程序的基礎上開發適應本系統的串口應用程序和服務器應用程序。
Linux 操作系統下串口應用程序的開發步驟為: 打開串口; 設置串口屬性; 讀寫串口; 關閉串口。要分別編寫發送程序和接收程序,以便于發送和接收數據時可以分別調用兩個函數。程序中需要注意接收和發送程序中的buf fer 一定不要小于要接收數據的長度,否則接收或者發送的數據就會出錯。
服務器應用程序是將網絡集中控制器作為服務器端來編寫程序,使其能與作為客戶端的監控軟件通過以太網通信。服務器程序的開發步驟為: 生成套接口; 綁定套接口地址; *連接請求; 接收連接請求; 與客戶程序進行通信; 關閉套接口。
由于網絡集中控制器在與監控軟件通信時是作為服務器來運行的,因此需要使網絡控制器開機自運行,并等待監控軟件( 即客戶端) 發送請求。那么設計時就需要讓該服務器程序一開機就自動運行,等待與客戶端的連接與通信。為此,設計中將服務器程序放在Linux的開機自啟動程序中,這樣就可以保證服務器程序的開機運行了。服務器程序和其中的通信過程流程圖分別如圖2、圖3 所示。
圖2 服務器程序流程圖
圖3 通信過程流程圖
1. 3 控制器LCD 開發
網絡集中控制器作為用戶操作的主要對象,人機界面需要有很好的友好性。當不使用監控軟件,或者無法使用監控軟件來觀察數據時,網絡控制器可以使用液晶屏作為數據顯示界面。
LCD 液晶顯示模塊的主要核心元件是LCD 控制器和LCD 顯示器。LCD 液晶顯示器選用了640× 480的液晶屏,在LCD 控制器方面選用了EPSON 公司的S1D13506。
開發內容包括LCD 的接口設計、LCD 的驅動設計、MiniGU I 的移植、實時數據顯示開發。
最終的顯示界面如圖4 所示。
圖4 實時數據顯示界面
2 實驗結果
本網絡集中控制器配以自行開發的監控軟件和現場控制器,進行了網絡通信實驗和RS 485 通信實驗來測試系統的功能。網絡通信實驗是使網絡集中控制器和PC 機都在同一局域網內,分別為其設置合法的IP地址后,將監控軟件發送給網絡集中控制器的指令在secureCRT 上打印出來。RS 485 通信實驗是將網絡集中控制器和現場控制器通過RS 485 網絡相連,將現場控制器收到指令后發送給網絡集中控制器的信息在secur eCRT 上打印出來。圖5 和圖6 為打印出來的測試結果。通過實驗證明,本控制器的軟硬件設計是合理的。
圖5 網絡通信實驗截圖
圖6 RS485 通信實驗截圖
3 結 語
在此提出了基于ARM9 處理器和Linux 操作系統的中央空調網絡集中控制器設計方案。給出了控制器的硬件設計和控制器應用程序開發和LCD 開發,系統硬件結構的設計采用了模塊化設計方式,在硬件的選型和結構設計的穩定性、可靠性方面做了一定深入的研究。通過實驗證明,該控制器處理能力強,便于外擴存儲器,由于內嵌了Linux 操作系統,使網絡功能強大。
基于ARM7 的中央空調網絡集中控制器能夠大大提高中央空調的使用效率,節約了能源,并且能夠顯著提高中央空調控制人員的工作效率。