基于ARM和Ethernet的現場實時信號采集分析系統
隨著計算機技術、網絡技術和大規模集成電路的高速發展,動態信號分析系統也出現向著網絡化的方向發展的趨勢。ETHERNET已經成為LAN中的主導協議,隨著ETHERNET技術日益成熟,在現場信號采集與分析系統、測試測量以及工業I/O設備中,ETHERNET技術已經或者將要發揮其巨大的作用。傳統的實時信號分析系統數據通訊接口一般采用串行口、并行口、PCI總線或USB的方式。與其相比,ETHERNET的優勢在于性能價格比高、遠距離數據傳輸和分布式運行等特點,而且可以將網絡技術應用到信號分析系統領域。在基于以太網的信號分析系統中,由于數據的傳送可以通過TCP/IP協議進行,其所具有的網絡功能并不要求作為上位機的PC機與下位機(數據采集分析儀)處在同一局域網內,只要能連上Internet而且帶寬滿足要求,便可以在任何地點、任何時間采集和分析數據,并進行遠程測試、診斷。基于以上分析,結合重點基金項目研發,本文給出了一種基于ETHERNET的實時動態信號采集分析系統的軟硬件實現。
1 信號分析系統硬件框架
圖1 數采分析儀系統結構圖
數據采集分析儀系統結構圖見圖1,從功能上看,它由信號采集與處理、以太網數據通訊兩大部分組成。
1.1 數據采集與信號處理
為了增強系統的數據采集與信號處理能力,采用了ARM+DSP主從結構。ARM采用三星公司的S3C4510B作為主處理器,完成系統管理及網絡通訊。DSP采用TI公司的TMS320VC5416作為協處理器,完成信號處理、分析包括FFT、互譜、平均等信號處理任務及特征抽取任務。這樣的任務劃分有利于讓主從處理器都能充分發揮處理能力,從而使系統的數據采集與信號處理能力達到最大。其增強的外部存儲器接口,使得對外部數據的預處理更加方便,存儲器接口電路的設計也更靈活,因此在實時數據采集和信號處理系統中得到了應用。
1.2 以太網數據通訊
系統控制器向外提供1個10M/100M以太網口,通過寬帶可以接入Internet或局域網;S3C4510B內嵌一個可以以10M/100M的速率工作在半雙工或全雙工模式下的以太網控制器,其MAC層支持媒體獨立接口(MII)和帶緩沖的DMA接口(BDI)。MAC層由發送模塊、接收模塊、流控模塊、用于存儲網絡地址的匹配地址存儲器(CAM)以及一些命令寄存器、狀態寄存器、錯誤計數器寄存器構成。MII支持在25MHZ時鐘下以100M速率的發送與接收操作,和在2.5MHz時鐘下以10M速率的發送與接收操作。特別適用于通訊和網絡產品。TCP/IP協議的使用將提高基于以太網的通訊軟件實現的可靠性來降低其復雜度。在主處理器內嵌的uClinux帶有一個完整的TCP/IP協議,同時它還支持許多其他網絡協議。uClinux對于嵌入式系統來說是一個網絡完備的操作系統。
1.3 主從模塊通訊接口設計
主從處理器之間應盡量加快通訊速度,并保持可靠性和實時性。uClinux需要讀取數據處理模塊中的RAM,所以最好是把數據處理模塊中的RAM作為uClinux的內存地址的一部分,采用HPI技術可以滿足此要求。用Altera公司的FPGA芯片EP1C6作為系統的邏輯控制單元及主從系統配置電路,完成TMS320C5416與ARM處理器相關控制連接。
從系統硬件采用TI公司的TMS320C5416作信號處理器,用Altera公司的FPGA芯片EP1C6作為系統的邏輯控制單元及主從系統配置電路,同時利用HPI技術,完成TMS320C5416與ARM處理器S3C4510B的數據交換。
C5416與S3C4510B接口簡單,DSP通過HPI8與主機設備相連時,除了8位HPI數據總線及控制信號線外,不需更多地附加其它邏輯電路,只需將C5416控制的引腳和S3C4510B的GPIO口引腳相連,這樣對C5416的控制就只需設置相應的GPIO口線即可。
在嵌入式系統設計中,用S3C4510B作為主控制器,用C5416進行數據采集運算處理,然后通過HPI8接口進行數據通信。試驗表明,用HPI接口技術在C5416和S3C4510B間實現通信滿足嵌入式系統的實時性要求。
2 系統軟件設計
2.1 嵌入式操作系統及其應用程序開發
實時信號分析系統中數據采集和信號處理的任務全部由DSP完成。S3C4510B與PC機之間的以太網通訊,其軟件實現所要求的實時性、可靠性和復雜性使得選擇一種帶有TCP/IP協議包的嵌入式實時操作系統成為必需。對系統實時性特別是硬實時有特殊的要求,uCLinux可加入實時RT-Linux模塊以滿足對嵌入式操作系統的實時性要求。
2.2 驅動和應用程序的開發
硬件驅動和應用程序的開發在交叉編譯環境中進行,先在PC機上開發,然后移植到目標機上進行調試并最終固化到目標機上。開發硬件驅動時要充分了解硬件特點[1],掌握嵌入式Linux 硬件驅動的開發技術。所開發的硬件驅動有:以太網卡控制器驅動,LCD驅動,A/D采集等驅動程序。然后在嵌入式操作系統的基礎上開發應用程序,通過開發微型GUI,編寫動態網頁和CGI程序,實現嵌入式Web技術,嵌入式通信協議等應用程序[2-5],系統軟件結構如圖2所示。
圖2 系統軟件結構
在uClinux上運行了三個任務:讀取采集數據、通過以太網發送數據、接收和執行來自遠端PC的命令。其中的讀取采集數據任務對實時性有要求,把它用中斷處理程序來實現,而其它的兩個任務則通過用戶進程來實現。以太網發送數據的任務和讀取采集數據的任務共享一個緩沖區,通過ioctl函數在其間傳遞緩沖區雙向鏈表的地址。所以還需要為數據處理模塊上的通訊接口,即HPI注冊一個驅動程序,注冊驅動程序的函數是:result= register_chrdev(HPI_MAJOR,"hpi",&hpi_fops);可見,這里把數據處理模塊上的通訊接口,即HPI,作為一個字符型的設備。
由上述設計方案,可使嵌入式系統實現產品化。該系統具有網關功能和嵌入式Web功能,能確保系統安全接入Internet,控制終端通過普通的瀏覽器可瀏覽網頁,查詢并控制信息運行狀態,當系統發生故障時提示報警,為智能檢測與診斷實現提供了可能。且該系統成本低,便于推廣應用。
3 結語
本系統采用了ARM+DSP主從結構。ARM作為主處理器,完成系統管理及網絡通訊;DSP作為協處理器,完成信號處理、分析。這種結構中DSP的快速數據處理能力和ARM卓越的以太網通訊能力保證了動態信號采集分析系統的實時性要求。由于其性價比高、體積小、且嵌入式操作系統支持的軟件豐富、裁剪靈活,它將形成數據采集與信號處理技術領域及制造領域新的應用趨勢。
文章版權歸西部工控xbgk所有,未經許可不得轉載。