基于A(yíng)RM的電子負載網(wǎng)絡(luò )監控系統
(1)測試工作在上位機集中進(jìn)行,通過(guò)自動(dòng)測試降低測試人員勞動(dòng)強度,減少冗余人員,提高測試效率;
(2)便于及時(shí)、準確、全面直觀(guān)、高效、連續地反映電源測試狀態(tài),利于科學(xué)管理;
(3)遠程監控可長(cháng)期保存大量工作數據,并以此為依據進(jìn)行科學(xué)的測試分析。
目前,傳統電子負載通常利用RS232,RS485或CAN等總線(xiàn)進(jìn)行網(wǎng)絡(luò )通訊。但這些網(wǎng)絡(luò )的有效半徑較短,并且孤立于Internet網(wǎng)絡(luò )以外,無(wú)法采用現代化網(wǎng)絡(luò )管理實(shí)現大范圍高效率的遠程監控。針對以上不足,文中采用三星公司高性能的ARM處理器S3C2440作為核心,開(kāi)發(fā)了基于以太網(wǎng)電子負載監控系統,對于實(shí)現電源設備遠程自動(dòng)化測試有著(zhù)重要意義。
1 監控系統的總體結構
電子負載監控系統是一個(gè)以ARM為核心的通訊網(wǎng)絡(luò )。系統結構,如圖1所示。
ARM在以太網(wǎng)通訊中作為服務(wù)器端構成網(wǎng)絡(luò )上的一個(gè)節點(diǎn),具有獨立的IP地址,上位機作為客戶(hù)端通過(guò)對不同IP地址的訪(fǎng)問(wèn)實(shí)現與網(wǎng)絡(luò )上不同節點(diǎn)的ARM服務(wù)器通訊,連接或監控某個(gè)節點(diǎn)上的電子負載。上位機通過(guò)以太網(wǎng)發(fā)送給負載的控制命令由ARM網(wǎng)絡(luò )控制器接收,再通過(guò)ARM網(wǎng)絡(luò )控制器由RS232總線(xiàn)發(fā)送給電子負載。電子負載根據接收到的控制命令將被測電源的各種數據和負載工作的各個(gè)參數通過(guò)RS232總線(xiàn)上傳給ARM。ARM將來(lái)自負載的數據采用TCP/IP協(xié)議通過(guò)以太網(wǎng)上傳給上位機,ARM可以通過(guò)擴張串口連接多個(gè)負載,同時(shí)通過(guò)路由器擴展網(wǎng)絡(luò ),實(shí)現多個(gè)ARM系統并行工作,提高整個(gè)監控系統的負載能力。
2 ARM網(wǎng)絡(luò )控制器硬件設計
ARM系統硬件部分采用三星公司的ARM芯片S3C2440,S3C2440基于32 bit ARM920T內核,標稱(chēng)工作頻率為400 MHz,配置一片64 MBytes Nand Flash和兩片32 MBtyes SDRAM,網(wǎng)絡(luò )芯片采用DM9000A,配置了MAX3232擴展串口與電子負載進(jìn)行連接。結構圖,如圖2所示。
3 ARM網(wǎng)絡(luò )控制器軟件設計
ARM嵌入式網(wǎng)絡(luò )控制器的操作系統采用WindowsCE 5.0,Windows CE 5.0是一個(gè)32位、多線(xiàn)程、多任務(wù)的操作系統,同時(shí)也是模塊型的操作系統,可選擇、組合和配置windows CE 5.0的模塊和組件來(lái)創(chuàng )建用戶(hù)版的操作系統。windows CE 5.0通過(guò)中斷嵌套與優(yōu)先級處理機制滿(mǎn)足了測控系統的實(shí)時(shí)性要求,同時(shí)具有類(lèi)似于桌面系統的人機界面和應用程序開(kāi)發(fā)工具。
在windows CE 5.0的開(kāi)發(fā)中。有兩個(gè)重要的方面,一是內核定制,二是應用程序的開(kāi)發(fā)。
3.1 Windows CE內核定制
由于應用環(huán)境的多樣性,需要對Windows CE系統做不同的內核定制。采用微軟公司的PlatformBuilder集成開(kāi)發(fā)環(huán)境,針對電子負載網(wǎng)絡(luò )監控的特點(diǎn),添加、刪除和修改某些系統模塊,包括添加串口通信支持,以太網(wǎng)通訊支持,ActiveSync支持(軟件調試時(shí)的通信支持)等。此外,注冊表模式修改為HIVE模式,使掉電后數據的存放到Flash中保存實(shí)現程序的自啟動(dòng),參數掉電保存等功能。
3.2 ARM端通訊軟件開(kāi)發(fā)
ARM網(wǎng)絡(luò )控制器作為負載和上位機連接的橋梁,實(shí)現RS232總線(xiàn)和以太網(wǎng)的互聯(lián)完成電子負載的遠程網(wǎng)絡(luò )監控功能。因此,ARM端通訊軟件功能包括:與多個(gè)電子負載的串行通信;與上位機基于TCP/IP協(xié)議的通信,提供可視化界面顯示當前網(wǎng)絡(luò )連接參數和狀態(tài),用戶(hù)可以通過(guò)觸摸屏設置網(wǎng)絡(luò )連接參數如波特率和IP地址等,系統提供連接日志供用戶(hù)查閱。其中的核心功能是實(shí)現RS232總線(xiàn)和以太網(wǎng)的通訊互聯(lián),互聯(lián)模塊采用多線(xiàn)程的調用方式,保證了系統通訊的實(shí)時(shí)性。
通訊幀格式定義為長(cháng)度26位,格式為:同步頭,負載地址,命令字,4~25 bit為相關(guān)信息內容,校驗碼。
(1)同步頭為AAH,占l bit;
(2)負載地址范圍為0~FE,占1 bit,確定該幀發(fā)送的目標負載或接收源負載;
(3)命令字占1 bit,標示了該幀的功能;
(4)4~25 bit為命令參數和反饋參數。
套接字即Socket是支持TCP/IP協(xié)議的網(wǎng)絡(luò )通信的基本操作單元。通過(guò)Socket編程,可以方便的訪(fǎng)問(wèn)TCP/IP開(kāi)發(fā)以太網(wǎng)通訊程序。Embedded VC++中基于TCP的Socket編程的服務(wù)器端程序工作流程如下:
(1)創(chuàng )建套接字Socket();
(2)將套接字綁定到一個(gè)本地地址和端口上bind();
(3)將套接字設置為監聽(tīng)模式,接收上位機的請求(listen);
(4)等待上位機請求,當請求到來(lái)后,接受連接請求,返回一個(gè)新的對應于此次連接的套接字accept();
(5)用返回的套接字于上位機進(jìn)行通信(send/reev);
(6)關(guān)閉套接字。
串口通訊在Windows CE環(huán)境下與桌面Windows環(huán)境下類(lèi)似,通過(guò)CreateFile函數打開(kāi)串口,ReadFile和WriteFile函數讀寫(xiě)串口數據。
修改注冊表使ARM系統上電后自動(dòng)運行通訊軟件:首先進(jìn)行串口和以太網(wǎng)的初始化,對每個(gè)串口創(chuàng )建單獨的接收線(xiàn)程和發(fā)送線(xiàn)程,Socket監聽(tīng)到上位機連接后,創(chuàng )建與上位機連接的數據收發(fā)線(xiàn)程。當串口的接收線(xiàn)程接收到數據時(shí),觸發(fā)相應的回調函數,調用Socket的發(fā)送線(xiàn)程把數據發(fā)送給上位機。當上位機發(fā)送數據給ARM服務(wù)器時(shí),Socket的接收線(xiàn)程觸發(fā)相應的回調函數,根據幀中負載地址,調用對應的串口發(fā)送線(xiàn)程向指定的目標負載轉發(fā)數據。工作流程,如圖3所示。
評論