基于ARM-Linux的數據采集和網絡傳輸系統設計
摘要:文中設計了一個基于ARM9處理器和嵌入式Linux OS的多路數據采集和網絡傳輸系統。該系統以三星公司的S3C2440處理器為核心,配以DM9000百兆自適應網絡控制芯片,通過互聯網將由FPGA控制的多達64路AD采集通道采集的數據發送到網絡終端上,實現了遠程數據采集的功能。軟件平臺移植了最新的Linux 2.6.30.4內核,并基于Linux OS之上實現了Socket網絡應用程序。隨著互聯網技術的不斷發展,本系統在網絡時代有著廣闊的應用前景。
本文引用地址:http://www.j9360.com/article/201609/304499.htm數據采集是實現工業現場控制的首要環節,實現遠程數據傳輸是目前大多數工業控制系統的普遍要求。傳統的數據采集方式是把各類基于ISA總線、PCI總線或USB總線的數據采集卡與計算機相連接,將傳感器輸出的信號經過信號調理電路的處理后,通過數據采集卡輸入到計算機中。這種采集方式在不能安放計算機的場所進行將會非常困難,因此開發一套便攜式的現場數據采集和網絡傳輸系統具有十分重要的現實意義。本文基于ARM9嵌入式硬件平臺和ARM—Linux OS,設計了這套數據采集和網絡傳輸系統,可以對多達64路的模擬信號進行采集和處理,并將處理后的數據傳送到遠程網絡終端上,同時滿足多客戶端請求的需要。
1 系統總體設計
本系統從功能上可分為兩大子系統:數據采集子系統和網絡傳輸子系統。其中數據采集系統有兩個完全相同的模塊,它們都連接在ARM處理器的系統總線上,如下圖1所示。

1.1 數據采集子系統
該系統包含兩個完全相同的采集板,板上的控制核心為Altera公司的cyclone II系列FPGA。每個采集板上有4片AD芯片MAX1308,由FPGA統一控制,而MAX1308是一款8通道AD芯片,所以該系統最多可同時實現64路獨立通道的數據采集功能。單通道的數據吞吐率最高可達1075ks ps/通道,八通道的數據吞吐率最高可達456ksps/通道。兩個采集板都掛在ARM的數據總線上,FPGA以異步FIFO存儲機制與ARM數據總線進行交互。
1.2 網絡傳輸子系統
該系統以ARM為控制核心,移植嵌入式Linux OS,網絡芯片選用百兆自適應網卡DM9000EP,通過RJ-45接口接入互聯網實現了數據的遠程傳輸。基于TCP/IP協議實現了面向連接的數據流通信Socket網絡應用程序,采用Linux服務器常用的C/S架構,完成了下位機的服務器程序和上位機的數據接收程序,并采用多進程編程思想解決了服務器多客戶端問題。遠程客戶端通過配置服務器的IP地址和端口號,建立與服務器的連接后,即可請求數據,屆時服務器啟動數據采集系統并將采集的數據實時傳送給遠程客戶端。
2 硬件設計
系統的硬件結構如下圖2所示。以S3C2440芯片為核心,64 MB的SDRAM為系統內存,2 MB的NorFlash和512 MB的Nand Flash為系統存儲設備。兩片FPGA分別連接四片MAX1308芯片作為采集設備掛在S3C2440的系統總線上;DM9000網絡芯片也掛在S3C2440的系統總線上,另一端通過隔離變壓器H1102與RJ-45端口與互聯網相連。

此外,系統時鐘源直接采用外部晶振,內部PLL電路可以調整系統時鐘,使系統運行速度更快。為了提供高效的電源監控作用,選取了專門的系統監視復位芯片MAX811S,實現對電源電壓的監控和手動復位操作。該芯片優良,一旦系統電源低于系統復位的閾值(2.93V),復位芯片MAX811S將會對系統進行復位。S3C2440芯片內部有JTAG核,因此可以通過外部JTAG調試電纜與系統連接進行燒寫u—boot。
2.1 AD采集電路
MAX1308是美信公司的一款12位8通道模數轉換器,8個通道同時轉換時,每個通道數據吞吐率為456ksps。獨立的采樣保持(T/H)電路為每個通道提供同時采樣,提供輸入范圍,輸入故障容限為,其他特性包括20 MHz T/H輸入帶寬、內部時鐘、內部(+2.5 V)或外部(+2.0 V至+3.0 V)基準以及低功耗省電模式。20 MHz、12位雙向并行數據總線用來提供轉換結果,并可接受數字輸入分別激活每一路通道。該器件
工作在+4.75 V至+5.25 V模擬電源與+2.7 V至+5.25 V數字電源下,全速運行時,總電源電流為57 mA。
為時鐘模式選擇輸入,選擇內部時鐘時,將該引腳連接到AVDD;選擇外部時鐘時,將外部時鐘連接到CLK,將該引腳連接到AGND。該系統選用內部信號,所以該引腳連接AVDD,并將CLK引腳連接到DGND。數字信號輸出端D0~D11及啟動轉換輸入CONVST、片選輸入
、寫輸入
、讀輸入
、轉化結束輸出
、最后轉換結束輸出
等引腳都接FPGA。
AD芯片MAX1308的電路圖如圖3所示。

2.2 CPU及FPGA硬件電路
該系統CPU為三星公司的S3C2440芯片,基于ARM920T內核,工作頻率可達400 MHz,采用新的AMBA總線架構,是一款低電壓、高性能的處理器芯片,片上集成眾多的功能模塊。S3C2440的存儲器控制器共8個存儲器banks,具有可編程的訪問位寬,bank0(16/32位),其他bank(8/16/32位),所有存儲器bank的訪問周期可編程。
評論