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