張文俊,汪相坤,成印沙,王洪亮,李緒勇(河南許繼智能科技股份有限公司,河南 許昌 461000)
一種基于FPGA+ADS130E08多路同步數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
張文俊,汪相坤,成印沙,王洪亮,李緒勇
(河南許繼智能科技股份有限公司,河南許昌461000)
摘要:隨著電網(wǎng)系統(tǒng)的持續(xù)發(fā)展,電力自動化系統(tǒng)逐漸的對配電側(cè)電壓等級的綜保測控裝置提出了AD數(shù)據(jù)的高精度、動作可靠要求。本設(shè)計(jì)方案在CPU(8313)和ADS130E08之間設(shè)計(jì)了一個利用可編程邏輯器件FPGA自帶的核心模塊實(shí)現(xiàn)的一個模塊和FIFO緩沖區(qū),接收后的數(shù)據(jù)存入FIFO緩沖區(qū),這樣的目的是解決主頻300MHz以上高速CPU與低速外設(shè)的矛盾。
關(guān)鍵詞:FPGA;ADS130E08;模數(shù)轉(zhuǎn)換器模塊;FIFO
綜保裝置通過銅芯電纜采集多路模擬量信號,或多或少的存在各種干擾信號.配電側(cè)電壓等級的裝置采用逐次逼近型ADC來實(shí)現(xiàn)數(shù)據(jù)的采集,采樣的數(shù)據(jù)進(jìn)行實(shí)時補(bǔ)償后近似的等同于同步數(shù)據(jù)采樣數(shù)據(jù)。這些方案采樣速度一般、控制要求低,所以一通道都需要基于負(fù)反饋運(yùn)放的抗混疊濾波器.所以,實(shí)現(xiàn)起來元器件多,外設(shè)多,分立的元器件會引入干擾,而去除干擾需在軟件上占用CPU的資源。本文提一種使ADS130E08的AD芯片實(shí)現(xiàn)多路同步數(shù)據(jù)采集的實(shí)現(xiàn)方案。
ADS130E08是一款8通道、同步采樣、16位、三角積分(ΔΣ)模數(shù)轉(zhuǎn)換器(ADC),此轉(zhuǎn)換器帶有內(nèi)置可編程增益放大器(PGA),內(nèi)部基準(zhǔn),和一個外部振蕩器接口。ADS130E08每通道上提供一個靈活的輸入多路復(fù)用器,此多路復(fù)用器可獨(dú)立連接至內(nèi)部生成的信號來實(shí)現(xiàn)測試、溫度、和故障檢測。
本設(shè)計(jì)中ADS130E08的設(shè)計(jì)如圖1:
圖1中全部8路的采樣通道配置的一樣,做成了通用型設(shè)計(jì),從其中一路采樣通道可以計(jì)算出采樣的電壓范圍為壓差0.8伏,每個通道增益設(shè)置為2,參考電壓為2.5伏,為了提高采樣精度,使用了一個低噪聲高精度運(yùn)放OPA211;
ADS130E08通過一個串行接口輸出采樣數(shù)據(jù),DIN為輸入數(shù)據(jù)端口,DOUT為輸出數(shù)據(jù)端口,DRDY為有效數(shù)據(jù)準(zhǔn)備就緒端口為,SCLK為輸出串行時鐘.ADS130E08串行輸出時序圖如圖2所示,DRDY是有效數(shù)據(jù)就緒信號.它在第一個SCLK下降沿返回高電平,低電平表示一幀數(shù)據(jù)的開始,如果CS信號為低電平,這3個信號就有效,變換為高電平,4個信號均為初始的高阻狀態(tài).在本設(shè)計(jì)中。CPU初始化后把CS置位成高電平。無采樣有效數(shù)據(jù)傳輸情況,DRDY信號輸出高電平.當(dāng)有采樣數(shù)據(jù)要輸出的時候,DRDY信號置位為低電平.低電平寬度近似等于1個SCLK周期。當(dāng)沒有輸出時.SCLK置位低電平,DRDY從低電平變置位高電平后.SCLK時鐘信號上升沿后數(shù)據(jù)輸出,SCLK占用16x6+24個周期.由于SCLK頻率不高,在用CPU的串行接口接收數(shù)據(jù)時.CPU接收120位得有效數(shù)據(jù),接收這樣一幀數(shù)據(jù)大約需要96us的時間,而CPU通過異步FlFO得到數(shù)據(jù).8313控制器CPU總線速度很快.例如讀取一個字節(jié)數(shù)據(jù)約100 ns.讀走一幀數(shù)據(jù)約為100nsxl5=1.5us(cpu總線寬度設(shè)計(jì)為16位,小于19位數(shù)據(jù),所以在讀取FIFO巾數(shù)據(jù)時.把采樣標(biāo)號鎖存到一個暫存寄存器中,讀取采樣數(shù)據(jù)后再讀取通道號,所以讀取全部數(shù)據(jù)需要12次)。這樣做提高了CPU的利用效率。
FPGA中使用的FIFO和串并轉(zhuǎn)換模塊作為高速CPU和ADS130E08之間的外置軟模塊.FPGA中串并轉(zhuǎn)換模塊輸出的串行采樣數(shù)據(jù)轉(zhuǎn)換成19位的并行數(shù)據(jù)(采樣數(shù)據(jù)占16位,采樣標(biāo)占3位)寫入FlFO.如此,可編程邏輯器件FPGA自帶的核心模塊實(shí)現(xiàn)的一個模塊和FIFO緩沖區(qū)一旦接收完成采樣的有效的數(shù)據(jù)便向通過一個常用端口輸出中斷信號于CPU,CPU內(nèi)部中斷程序中讀出采樣有效數(shù)據(jù)(附加采樣的標(biāo)號)。通知CPU讀取FIF0中的數(shù)據(jù)。這樣CPU可以和外部低速的FIFO的在速度上配合完整.有利于高速CPU有更大的效率去處理其他的實(shí)時任務(wù)。本設(shè)計(jì)中的FIFO是利用ISE10.1中的參數(shù)化的IP核在FPGA芯片的實(shí)現(xiàn)。以上數(shù)據(jù)均做成模塊化,以方便適時調(diào)整;
本文利用ADS130E08設(shè)計(jì)一個通用的多路數(shù)據(jù)采集系統(tǒng),通過利用可編程邏輯器件FPGA自帶的核心模塊實(shí)現(xiàn)的一個模塊和FIFO緩沖區(qū),系統(tǒng)采樣硬件電路的設(shè)計(jì)大大簡化,同時方便并且減輕了高速CPU多任務(wù)處理采樣數(shù)據(jù)的負(fù)擔(dān),CPU不在直接用串行接口接收ADS130E08芯片輸出的數(shù)據(jù),只需把ADC輸出的每幀數(shù)據(jù)存入可編程邏輯器件FPGA自帶的核心模塊實(shí)現(xiàn)的一個模塊和FIFO緩沖區(qū),并上送一個中斷信號,在主CPU的中斷子程序中快速讀出采樣數(shù)據(jù)。提高了采樣精度,同時提高了整個系統(tǒng)的實(shí)時性和準(zhǔn)確性。
參考文獻(xiàn):
[1]Freescale semiconductor.MPC8313 DataSheet[EB/OL].(2007) [2010-07].
[2]Texas Instruments Inc 16bit 8KSPS Sampling ANALOG TO DIAITALCONVERTER ADS130E08 2001.
[3]褚振勇,翁木云.FPGA設(shè)計(jì)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2002.