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