基于CPLD和嵌入式系統(tǒng)的高速數(shù)據(jù)采集系統(tǒng)的設計與實現(xiàn)
2.2.7FIFO數(shù)據(jù)緩存電路
從圖1可以看出,系統(tǒng)中包含兩級FIFO。第一級FIFO芯片采用1片CY7C4251,容量為8KB×9bit,工作頻率為100MHz。第二級FIFO采用2片CY7C4255并聯(lián),容量為8KB×36bit,但實際上只用了24bit數(shù)據(jù)寬度,因為8bit的A/D轉換數(shù)據(jù)累加10000次,24bit就能滿足系統(tǒng)的功能要求。
2.3軟件開發(fā)
該數(shù)據(jù)采集系統(tǒng)的軟件編程包括兩部分,一部分是MPC860嵌入式系統(tǒng)的編程;另一部分是CPLD的編程。關于CPLD的編程模式見2.2.6,這里只介紹嵌入式系統(tǒng)的軟件開發(fā)模式。
本系統(tǒng)采用交叉編譯的方式進行Linux應用程序的開發(fā)和調試,先將應用程序在宿主機上調試通過后,再移植到目標板。這種模式適合于大型復雜的應用,優(yōu)點是程序調試方便但移植需要做一些工作。其開發(fā)流程如圖3所示。
系統(tǒng)總的工作過程為:由MPC860發(fā)送一個START高電平給EPM3128,EPM3128接收到此信號后,產生2000個10ns的脈沖信號給ADC08200,采樣后的數(shù)據(jù)存放在CY7C4251中。EPM3128產生CY7C4251的讀脈沖依次讀取FIFO中的數(shù)據(jù)并將其與從CY7C4255中取來的24位數(shù)據(jù)相加后再送回到CY7C4255中,每次累加在40ns中完成。這樣循環(huán)10000次,就完成了數(shù)據(jù)的累加。累加完成后,EPM3128發(fā)送IRQ中斷請求信號至MPC860,MPC860響應中斷在IO口上產生READ低電平讀信號,CPLD產生CY7C4255的讀使能信號將數(shù)據(jù)讀出送至三態(tài)緩沖器74F245,MPC860讀取數(shù)據(jù)時發(fā)送OE信號選通數(shù)據(jù)三態(tài)緩沖器74F245將數(shù)據(jù)讀出至MPC860數(shù)據(jù)總線,接收完數(shù)據(jù)通過 網口將數(shù)據(jù)發(fā)送給上位機處理。累加結果的讀取過程如圖4所示。
本文介紹的高速數(shù)據(jù)采集系統(tǒng)實現(xiàn)了分布式光纖溫度傳感器測溫系統(tǒng)中噪聲的有效抑制,具 有速度快、可靠性高的特點。另外由于CPLD的可編程性,可以對該電路板加以改造用在其他 的高速數(shù)據(jù)采集場合。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論