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

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

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

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