基于ARM-Linux的數(shù)據(jù)采集和網(wǎng)絡(luò)傳輸系統(tǒng)設(shè)計
摘要:文中設(shè)計了一個基于ARM9處理器和嵌入式Linux OS的多路數(shù)據(jù)采集和網(wǎng)絡(luò)傳輸系統(tǒng)。該系統(tǒng)以三星公司的S3C2440處理器為核心,配以DM9000百兆自適應(yīng)網(wǎng)絡(luò)控制芯片,通過互聯(lián)網(wǎng)將由FPGA控制的多達64路AD采集通道采集的數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)終端上,實現(xiàn)了遠程數(shù)據(jù)采集的功能。軟件平臺移植了最新的Linux 2.6.30.4內(nèi)核,并基于Linux OS之上實現(xiàn)了Socket網(wǎng)絡(luò)應(yīng)用程序。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,本系統(tǒng)在網(wǎng)絡(luò)時代有著廣闊的應(yīng)用前景。
本文引用地址:http://butianyuan.cn/article/201609/304499.htm數(shù)據(jù)采集是實現(xiàn)工業(yè)現(xiàn)場控制的首要環(huán)節(jié),實現(xiàn)遠程數(shù)據(jù)傳輸是目前大多數(shù)工業(yè)控制系統(tǒng)的普遍要求。傳統(tǒng)的數(shù)據(jù)采集方式是把各類基于ISA總線、PCI總線或USB總線的數(shù)據(jù)采集卡與計算機相連接,將傳感器輸出的信號經(jīng)過信號調(diào)理電路的處理后,通過數(shù)據(jù)采集卡輸入到計算機中。這種采集方式在不能安放計算機的場所進行將會非常困難,因此開發(fā)一套便攜式的現(xiàn)場數(shù)據(jù)采集和網(wǎng)絡(luò)傳輸系統(tǒng)具有十分重要的現(xiàn)實意義。本文基于ARM9嵌入式硬件平臺和ARM—Linux OS,設(shè)計了這套數(shù)據(jù)采集和網(wǎng)絡(luò)傳輸系統(tǒng),可以對多達64路的模擬信號進行采集和處理,并將處理后的數(shù)據(jù)傳送到遠程網(wǎng)絡(luò)終端上,同時滿足多客戶端請求的需要。
1 系統(tǒng)總體設(shè)計
本系統(tǒng)從功能上可分為兩大子系統(tǒng):數(shù)據(jù)采集子系統(tǒng)和網(wǎng)絡(luò)傳輸子系統(tǒng)。其中數(shù)據(jù)采集系統(tǒng)有兩個完全相同的模塊,它們都連接在ARM處理器的系統(tǒng)總線上,如下圖1所示。
1.1 數(shù)據(jù)采集子系統(tǒng)
該系統(tǒng)包含兩個完全相同的采集板,板上的控制核心為Altera公司的cyclone II系列FPGA。每個采集板上有4片AD芯片MAX1308,由FPGA統(tǒng)一控制,而MAX1308是一款8通道AD芯片,所以該系統(tǒng)最多可同時實現(xiàn)64路獨立通道的數(shù)據(jù)采集功能。單通道的數(shù)據(jù)吞吐率最高可達1075ks ps/通道,八通道的數(shù)據(jù)吞吐率最高可達456ksps/通道。兩個采集板都掛在ARM的數(shù)據(jù)總線上,F(xiàn)PGA以異步FIFO存儲機制與ARM數(shù)據(jù)總線進行交互。
1.2 網(wǎng)絡(luò)傳輸子系統(tǒng)
該系統(tǒng)以ARM為控制核心,移植嵌入式Linux OS,網(wǎng)絡(luò)芯片選用百兆自適應(yīng)網(wǎng)卡DM9000EP,通過RJ-45接口接入互聯(lián)網(wǎng)實現(xiàn)了數(shù)據(jù)的遠程傳輸?;赥CP/IP協(xié)議實現(xiàn)了面向連接的數(shù)據(jù)流通信Socket網(wǎng)絡(luò)應(yīng)用程序,采用Linux服務(wù)器常用的C/S架構(gòu),完成了下位機的服務(wù)器程序和上位機的數(shù)據(jù)接收程序,并采用多進程編程思想解決了服務(wù)器多客戶端問題。遠程客戶端通過配置服務(wù)器的IP地址和端口號,建立與服務(wù)器的連接后,即可請求數(shù)據(jù),屆時服務(wù)器啟動數(shù)據(jù)采集系統(tǒng)并將采集的數(shù)據(jù)實時傳送給遠程客戶端。
2 硬件設(shè)計
系統(tǒng)的硬件結(jié)構(gòu)如下圖2所示。以S3C2440芯片為核心,64 MB的SDRAM為系統(tǒng)內(nèi)存,2 MB的NorFlash和512 MB的Nand Flash為系統(tǒng)存儲設(shè)備。兩片F(xiàn)PGA分別連接四片MAX1308芯片作為采集設(shè)備掛在S3C2440的系統(tǒng)總線上;DM9000網(wǎng)絡(luò)芯片也掛在S3C2440的系統(tǒng)總線上,另一端通過隔離變壓器H1102與RJ-45端口與互聯(lián)網(wǎng)相連。
此外,系統(tǒng)時鐘源直接采用外部晶振,內(nèi)部PLL電路可以調(diào)整系統(tǒng)時鐘,使系統(tǒng)運行速度更快。為了提供高效的電源監(jiān)控作用,選取了專門的系統(tǒng)監(jiān)視復位芯片MAX811S,實現(xiàn)對電源電壓的監(jiān)控和手動復位操作。該芯片優(yōu)良,一旦系統(tǒng)電源低于系統(tǒng)復位的閾值(2.93V),復位芯片MAX811S將會對系統(tǒng)進行復位。S3C2440芯片內(nèi)部有JTAG核,因此可以通過外部JTAG調(diào)試電纜與系統(tǒng)連接進行燒寫u—boot。
2.1 AD采集電路
MAX1308是美信公司的一款12位8通道模數(shù)轉(zhuǎn)換器,8個通道同時轉(zhuǎn)換時,每個通道數(shù)據(jù)吞吐率為456ksps。獨立的采樣保持(T/H)電路為每個通道提供同時采樣,提供輸入范圍,輸入故障容限為,其他特性包括20 MHz T/H輸入帶寬、內(nèi)部時鐘、內(nèi)部(+2.5 V)或外部(+2.0 V至+3.0 V)基準以及低功耗省電模式。20 MHz、12位雙向并行數(shù)據(jù)總線用來提供轉(zhuǎn)換結(jié)果,并可接受數(shù)字輸入分別激活每一路通道。該器件
工作在+4.75 V至+5.25 V模擬電源與+2.7 V至+5.25 V數(shù)字電源下,全速運行時,總電源電流為57 mA。
為時鐘模式選擇輸入,選擇內(nèi)部時鐘時,將該引腳連接到AVDD;選擇外部時鐘時,將外部時鐘連接到CLK,將該引腳連接到AGND。該系統(tǒng)選用內(nèi)部信號,所以該引腳連接AVDD,并將CLK引腳連接到DGND。數(shù)字信號輸出端D0~D11及啟動轉(zhuǎn)換輸入CONVST、片選輸入、寫輸入、讀輸入、轉(zhuǎn)化結(jié)束輸出、最后轉(zhuǎn)換結(jié)束輸出
等引腳都接FPGA。
AD芯片MAX1308的電路圖如圖3所示。
2.2 CPU及FPGA硬件電路
該系統(tǒng)CPU為三星公司的S3C2440芯片,基于ARM920T內(nèi)核,工作頻率可達400 MHz,采用新的AMBA總線架構(gòu),是一款低電壓、高性能的處理器芯片,片上集成眾多的功能模塊。S3C2440的存儲器控制器共8個存儲器banks,具有可編程的訪問位寬,bank0(16/32位),其他bank(8/16/32位),所有存儲器bank的訪問周期可編程。
評論