新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式的高速數(shù)據(jù)采集系統(tǒng)

基于嵌入式的高速數(shù)據(jù)采集系統(tǒng)

作者: 時(shí)間:2012-04-05 來(lái)源:網(wǎng)絡(luò) 收藏

1 結(jié)構(gòu)

本文引用地址:http://m.butianyuan.cn/article/149285.htm

ADC、CPLD、FIFO和組成,系統(tǒng)結(jié)構(gòu)如圖1所示。

點(diǎn)擊放大圖片

圖1 系統(tǒng)結(jié)構(gòu)

2 操作系統(tǒng)—Linux

Linux作為操作系統(tǒng)有以下幾大優(yōu)點(diǎn):

(1)可應(yīng)用于多種硬件平臺(tái);(2)源代碼公開(kāi);(3)微內(nèi)核直接提供網(wǎng)絡(luò)支持;(4)高度模塊化使添加部件非常簡(jiǎn)單。

硬件設(shè)計(jì)

整個(gè)板采用雙層設(shè)計(jì),上層是嵌入式系統(tǒng)的核心板,包括嵌入式系統(tǒng)CPU、FLASH和SDRAM等系統(tǒng)基本配置。MPC860的控制總線與數(shù)據(jù)總線通過(guò)核心板100線×3的接口插座與下面的擴(kuò)展板各芯片通訊。硬件的結(jié)構(gòu)框圖見(jiàn)圖2。

點(diǎn)擊放大圖片

圖2 硬件框圖

嵌入式系統(tǒng)的CPU選用Motorola的MPC860芯片。它內(nèi)部集成了微處理器和一些控制領(lǐng)域的常用外圍組件,特別適用于互聯(lián)網(wǎng)絡(luò)和數(shù)據(jù)通信。MPC860 PowerQUICC通信處理器可以根據(jù)用戶的不同要求提供2~4個(gè)串行通信控制器、數(shù)據(jù)緩存,各種級(jí)別的網(wǎng)絡(luò)協(xié)議支持。該處理器專為寬帶接入設(shè)備如路由器、集線器、交換機(jī)和網(wǎng)關(guān)等設(shè)計(jì)。

系統(tǒng)內(nèi)存

系統(tǒng)內(nèi)存由3部分組成,MPC860內(nèi)部集成了4KB數(shù)據(jù)Cache,以及片外擴(kuò)展的Flash和SDRAM。Flash為2片Am29LV160D,總?cè)萘繛?MB×8bit,用來(lái)存放ppcboot.bin和linux.bin文件。SDRAM采用2片K4S641632F,總?cè)萘繛?6MB×8bit。

通用外設(shè)

MPC860的4個(gè)串行通信控制器(SCC)支持以太網(wǎng)、HDLC/SDLC、HDLC總線(用以實(shí)現(xiàn)HDLC的局域網(wǎng))、AppleTalk、UART、比特流透明傳輸、幀的透明傳輸(CRC可選)、支持PPP(Point to Point Protocol)的異步HDLC等標(biāo)準(zhǔn)協(xié)議,只需很少的外圍芯片就可以實(shí)現(xiàn)串行口和USB Slave接口。MPC860外擴(kuò)一片LXT905PC就方便地實(shí)現(xiàn)了一個(gè)10BASET的以太網(wǎng)接口。

嵌入式系統(tǒng)調(diào)試

MPC860處理器支持BDM(背景調(diào)試模式),完成板卡硬件檢測(cè)、下載、運(yùn)行、燒寫(xiě)FLASH、內(nèi)核調(diào)試、單步調(diào)試等最底層的調(diào)測(cè)功能。在背景調(diào)試模式下,通過(guò)向CPU發(fā)送命令,可以實(shí)現(xiàn)對(duì)寄存器、系統(tǒng)存儲(chǔ)器的訪問(wèn)。

另外,在調(diào)試時(shí)還可以使用Motorola公司的Power TAP Pro仿真器和Code Warrior IDE for PowerPC編譯環(huán)境在windows下進(jìn)行應(yīng)用程序的開(kāi)發(fā)和調(diào)試。

A/D轉(zhuǎn)換和CPLD電路

A/D采樣采用的器件為ADC08200,精度為8位,采樣頻率由20MSps至200MSps,本電路中的A/D采樣頻率為100MSps。CPLD芯片采用EPM3128ATC144-5,具有128個(gè)宏單元,可以提供2500個(gè)邏輯門(mén),計(jì)數(shù)頻率上限為192.3MHz。A/D采樣時(shí)鐘由CPLD提供。晶振頻率為100MHz,直接接入到CPLD中,由CPLD產(chǎn)生累加電路的其他信號(hào)。

CPLD器件的編程與調(diào)試

CPLD器件的編程采用VHDL語(yǔ)言。程序經(jīng)過(guò)邏輯綜合(邏輯綜合的軟件為Altera公司的QuartusⅡ 4.0)后即可利用下載線通過(guò)JTAG(聯(lián)合測(cè)試行動(dòng)組)接口將邏輯綜合生成的*.pof文件燒寫(xiě)到CPLD器件中,然后即可測(cè)試芯片的功能。

FIFO數(shù)據(jù)緩存電路

從圖1可以看出,系統(tǒng)中包含兩級(jí)FIFO。第一級(jí)FIFO芯片采用1片CY7C4251,容量為8KB×9bit,工作頻率為100MHz。第二級(jí)FIFO采用2片CY7C4255并聯(lián),容量為8KB×36bit,但實(shí)際上只用了24bit數(shù)據(jù)寬度,因?yàn)?bit的A/D轉(zhuǎn)換數(shù)據(jù)累加10000次,24bit就能滿足系統(tǒng)的功能要求。

軟件開(kāi)發(fā)

系統(tǒng)的軟件編程包括兩部分,一部分是MPC860嵌入式系統(tǒng)的編程;另一部分是CPLD的編程。關(guān)于CPLD的編程模式見(jiàn)2.2.6,這里只介紹嵌入式系統(tǒng)的軟件開(kāi)發(fā)模式。

本系統(tǒng)采用交叉編譯的方式進(jìn)行Linux應(yīng)用程序的開(kāi)發(fā)和調(diào)試,先將應(yīng)用程序在宿主機(jī)上調(diào)試通過(guò)后,再移植到目標(biāo)板。這種模式適合于大型復(fù)雜的應(yīng)用,優(yōu)點(diǎn)是程序調(diào)試方便但移植需要做一些工作。其開(kāi)發(fā)流程如圖3所示。

點(diǎn)擊放大圖片

圖3 嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程

系統(tǒng)總的工作過(guò)程為:由MPC860發(fā)送一個(gè)START高電平給EPM3128,EPM3128接收到此信號(hào)后,產(chǎn)生2000個(gè)10ns的脈沖信號(hào)給ADC08200,采樣后的數(shù)據(jù)存放在CY7C4251中。EPM3128產(chǎn)生CY7C4251的讀脈沖依次讀取FIFO中的數(shù)據(jù)并將其與從CY7C4255中取來(lái)的24位數(shù)據(jù)相加后再送回到CY7C4255中,每次累加在40ns中完成。這樣循環(huán)10000次,就完成了數(shù)據(jù)的累加。累加完成后,EPM3128發(fā)送IRQ中斷請(qǐng)求信號(hào)至MPC860,MPC860響應(yīng)中斷在IO口上產(chǎn)生READ低電平讀信號(hào),CPLD產(chǎn)生CY7C4255的讀使能信號(hào)將數(shù)據(jù)讀出送至三態(tài)緩沖器74F245,MPC860讀取數(shù)據(jù)時(shí)發(fā)送OE信號(hào)選通數(shù)據(jù)三態(tài)緩沖器74F245將數(shù)據(jù)讀出至MPC860數(shù)據(jù)總線,接收完數(shù)據(jù)通過(guò) 網(wǎng)口將數(shù)據(jù)發(fā)送給上位機(jī)處理。累加結(jié)果的讀取過(guò)程如圖4所示。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉