專注條碼技術19年
條碼系統應用集成服務提供商
CPLD和嵌入式系統怎樣設計與實現高速數據采集系統?下面東莞立象就為大家分析下其中原理。
1系統結構
高速數據采集系統由高速ADC、CPLD、FIFO和嵌入式系統組成,系統結構如圖1所示。
圖系統結構
2嵌入式操作系統—Linux
Linux作為嵌入式操作系統有以下幾大優點:
(1)可應用于多種硬件平臺;(2)源代碼公開;(3)微內核直接提供網絡支持;(4)高度模塊化使添加部件非常簡單。
硬件設計
整個數據采集板采用雙層設計,上層是嵌入式系統的核心板,包括嵌入式系統CPU、FLASH和SDRAM等系統基本配置。MPC860的控制總線與數據總線通過核心板100線×3的接口插座與下面的擴展板各芯片通訊。硬件的結構框圖見圖2。
圖2硬件框圖
嵌入式系統的CPU選用Motorola的MPC860芯片。它內部集成了微處理器和一些控制領域的常用外圍組件,特別適用于互聯網絡和數據通信。MPC860PowerQUICC通信處理器可以根據用戶的不同要求提供2~4個串行通信控制器、數據緩存,各種級別的網絡協議支持。該處理器專為寬帶接入設備如路由器、集線器、交換機和網關等設計。
系統內存
系統內存由3部分組成,MPC860內部集成了4KB數據Cache,以及片外擴展的Flash和SDRAM。Flash為2片Am29LV160D,總容量為4MB×8bit,用來存放ppcboot.bin和linux.bin文件。SDRAM采用2片K4S641632F,總容量為16MB×8bit。
通用外設
MPC860的4個串行通信控制器(SCC)支持以太網、HDLC/SDLC、HDLC總線(用以實現基于HDLC的局域網)、AppleTalk、UART、比特流透明傳輸、基于幀的透明傳輸(CRC可選)、支持PPP(PointtoPointProtocol)的異步HDLC等標準協議,只需很少的外圍芯片就可以實現串行口和USBSlave接口。MPC860外擴一片LXT905PC就方便地實現了一個10BASET的以太網接口。
嵌入式系統調試
MPC860處理器支持BDM(背景調試模式),完成板卡硬件檢測、下載、運行、燒寫FLASH、內核調試、單步調試等最底層的調測功能。在背景調試模式下,通過向CPU發送命令,可以實現對寄存器、系統存儲器的訪問。
另外,在調試時還可以使用Motorola公司的PowerTAPPro仿真器和CodeWarriorIDEforPowerPC編譯環境在windows下進行應用程序的開發和調試。
A/D轉換和CPLD電路
A/D采樣采用的器件為ADC08200,精度為8位,采樣頻率由20MSps至200MSps,本電路中的A/D采樣頻率為100MSps。CPLD芯片采用EPM3128ATC144-5,具有128個宏單元,可以提供2500個邏輯門,計數頻率上限為192.3MHz。A/D采樣時鐘由CPLD提供。晶振頻率為100MHz,直接接入到CPLD中,由CPLD產生累加電路的其他信號。
CPLD器件的編程與調試
CPLD器件的編程采用VHDL語言。程序經過邏輯綜合(邏輯綜合的軟件為Altera公司的QuartusⅡ4.0)后即可利用下載線通過JTAG(聯合測試行動組)接口將邏輯綜合生成的*.pof文件燒寫到CPLD器件中,然后即可測試芯片的功能。
FIFO數據緩存電路
從圖1可以看出,系統中包含兩級FIFO。第一級FIFO芯片采用1片CY7C4251,容量為8KB×9bit,工作頻率為100MHz。第二級FIFO采用2片CY7C4255并聯,容量為8KB×36bit,但實際上只用了24bit數據寬度,因為8bit的A/D轉換數據累加10000次,24bit就能滿足系統的功能要求。
軟件開發
該數據采集系統的軟件編程包括兩部分,一部分是MPC860嵌入式系統的編程;另一部分是CPLD的編程。關于CPLD的編程模式見2.2.6,這里只介紹嵌入式系統的軟件開發模式。
本系統采用交叉編譯的方式進行Linux應用程序的開發和調試,先將應用程序在宿主機上調試通過后,再移植到目標板。這種模式適合于大型復雜的應用,優點是程序調試方便但移植需要做一些工作。其開發流程如圖3所示。
圖3嵌入式系統的開發過程
系統總的工作過程為:由MPC860發送一個START高電平給EPM3128,EPM3128接收到此信號后,產生2000個10ns的脈沖信號給ADC08200,采樣后的數據存放在CY7C4251中。EPM3128產生CY7C4251的讀脈沖依次讀取FIFO中的數據并將其與從CY7C4255中取來的24位數據相加后再送回到CY7C4255中,每次累加在40ns中完成。這樣循環10000次,就完成了數據的累加。累加完成后,EPM3128發送IRQ中斷請求信號至MPC860,MPC860響應中斷在IO口上產生READ低電平讀信號,CPLD產生CY7C4255的讀使能信號將數據讀出送至三態緩沖器74F245,MPC860讀取數據時發送OE信號選通數據三態緩沖器74F245將數據讀出至MPC860數據總線,接收完數據通過網口將數據發送給上位機處理。累加結果的讀取過程如圖4所示。
圖4累加結果的讀取過程
本文介紹的高速數據采集系統實現了分布式光纖溫度傳感器測溫系統中噪聲的有效抑制,具有速度快、可靠性高的特點。另外由于CPLD的可編程性,可以對該電路板加以改造用在其他的高速數據采集場合。