《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的多通道數據采集系統(tǒng)設計1
基于FPGA的多通道數據采集系統(tǒng)設計1
劉小林,,范育兵,,羅春暉
摘要: 針對大地電磁探測系統(tǒng)的特點,設計了以FPGA為核心處理器的多通道高分辨率電磁數據采集系統(tǒng),,解決了五路24位ADC芯片ADS1255與ARM之間接口復雜,、難以實現的問題,。詳細介紹了FPGA邏輯設計的模塊劃分和具體實現,。本方案外圍電路結構簡單可靠,,易于擴展,,實現了采集系統(tǒng)的高性能和高可靠性,,特別適用于多通道高精度的數據采集系統(tǒng),。
Abstract:
Key words :

  摘 要: 針對大地電磁探測系統(tǒng)的特點,設計了以FPGA為核心處理器的多通道高分辨率電磁數據采集系統(tǒng),解決了五路24位ADC芯片ADS1255與ARM之間接口復雜,、難以實現的問題,。詳細介紹了FPGA邏輯設計的模塊劃分和具體實現。本方案外圍電路結構簡單可靠,,易于擴展,,實現了采集系統(tǒng)的高性能和高可靠性,特別適用于多通道高精度的數據采集系統(tǒng),。
關鍵詞: 模數轉換,;FPGA;數據采集

 

  大地電磁場攜帶著地球內部的結構,、構造,、溫度、壓力以及物質成分的物理狀態(tài)等信息,,為人們研究板塊運動的規(guī)律,、追溯地球的演化歷史提供了科學依據。大地電磁探測是研究大陸巖石圈導電性結構的有效方法之一,,使人們從電性角度認識地球內部的構造形態(tài),,達到了解地下不同深度地質情況的目的。該技術應用前景廣泛,,可用于地下更深層找礦,、找水,、找油、監(jiān)測海底潛艇等,,對國民經濟和國防的發(fā)展都有重要的推動作用,。
最常用的數據采集方案多以MCU為核心,控制多路信號的采集及處理,。但由于單片機本身的指令周期以及處理速度的影響,,對于多通道A/D進行控制及數據處理,普通的MCU往往不容易達到要求,??紤]到FPGA器件的高集成度、內部資源豐富,、特別適合處理多路并行數據等明顯優(yōu)于普通微處理器的特點,,并針對大地電磁數據采集系統(tǒng)對實時性和同步性的要求,本文提出了一種多通道數據采集方案,。采用FPGA與ARM相結合的設計,,采集主控制邏輯用FPGA實現,ARM用來實現采集數據的存儲和數據傳輸控制,。
1 系統(tǒng)總體結構
系統(tǒng)總體結構如圖1所示,。A/D轉換器采用TI公司的24位高精度模數轉換器ADS1255;FPGA采用Altera公司的EP2C35,;ARM為ARM9內核的處理器S3C2410,。雙口RAM由EP2C35內部存儲器塊配置而成,該雙口RAM與ARM的系統(tǒng)總線相連,,映射為ARM的一塊內存區(qū),。

 

 

  AD前端處理電路的作用是實現對信號的放大、衰減以及阻抗匹配,,從而滿足ADC對輸入信號的要求,。濾波網絡濾除高頻噪聲和工頻信號的干擾,增益放大通過ARM給出的控制信號實現對模擬信號的不同增益的放大處理,。ADS1255負責把模擬電信號轉換成數字信號,可以通過功能選擇設置ADS1255工作在不同的工作模式下,。ADS1255的工作時鐘由FPGA提供,,改變FPGA輸出時鐘的頻率就能實現AD采樣率的改變。FPGA并行控制5路AD的數據采集,,并把采集到的各路數據按順序以字節(jié)的形式寫入雙口RAM中緩存,。FPGA對雙口RAM的數據寫入和ARM對數據的讀取是通過乒乓傳輸結構實現的。當FPGA寫滿雙口RAM上半區(qū)后,,向ARM申請中斷,,ARM響應中斷后,,讀出上半區(qū)數據到內存中進行存儲;同時FPGA向RAM的下半區(qū)寫數據,,寫滿下半區(qū)后也向ARM發(fā)出中斷,,通知ARM讀出下半區(qū)數據。通過乒乓傳輸保證了系統(tǒng)數據采樣和數據傳輸可以連續(xù)進行,。
2 FPGA的邏輯設計
本方案中的數據采集流程如下:系統(tǒng)初始化后,,ARM通過控制信號把采樣頻率、通道選擇等參數通知給FPGA,,然后FPGA向需要同步采樣的通道對應的AD芯片提供統(tǒng)一時鐘,,使得AD同步地選擇相應的通道進行數據的同步采樣和轉換,其結果由FPGA接收并存儲在雙口RAM對應的存儲空間,,然后由ARM從相應的雙口RAM空間讀取數據進行本地存儲或經過網絡傳輸給上位機進行處理,。根據以上流程以及FPGA要實現的功能,整個FPGA邏輯設計劃分為通道和采樣率選擇模塊,、時鐘模塊,、雙口RAM模塊、AD采樣控制模塊,、串并轉換模塊,、數據存儲控制模塊、ARM接口控制模塊,。
各模塊連接關系如圖2所示,。

2.1 通道和采樣率選擇模塊
在實際應用中并不是每個通道都被使用,AD的采樣率也不只一種,,所以在通道的控制和采樣率設置上應該具有可選擇性,。
通道和采樣率選擇模塊提供2個8 bit的控制寄存器A和B。如圖3所示,,寄存器A的0~4 bit分別對應ADC通道CH0~CH4,,5~7 bit保留;寄存器B的8 bit分別對應采樣率FS0~FS7,。如果要選擇某幾個通道,,只需將寄存器A中相應的位置1,其他位置0,,AD采樣控制模塊就會根據該寄存器中的內容使能相應的通道,。如果要選擇某一個采樣頻率,只需把寄存器B中相應的位置1,,其他位置0,,時鐘模塊會產生相應的時鐘控制AD的采樣率。在開啟數據采集之前,,ARM應根據所要求的通道和采樣頻率向寄存器A和B寫入相應命令字,。


2.2 時鐘模塊
本設計中外部輸入時鐘為16.384 MHz,。由于設計中各個模塊工作時鐘的不同以及AD采樣率的變化,所以需要多種不同的時鐘信號,。時鐘模塊的功能就是根據不同采樣率為各個模塊提供所需的時鐘信號,。由于該設計采用同步時序電路,它是基于時鐘觸發(fā)沿設計,,對時鐘的周期,、占空比、延時,、抖動提出了較高的要求,,為此本設計中采用FPGA所帶的PLL時鐘資源驅動設計的主時鐘,使其達到最低的時鐘抖動和延遲,。
2.3 雙口RAM模塊
  本設計中雙口RAM用于數據緩存,,一方面存儲各個AD芯片轉換的數據,另一方面供ARM讀取數據做進一步的存儲與處理,。它具有真正的雙端口,,可以同時對其進行數據存取,兩個端口具有獨立的控制線,、地址線和數據線,。該雙口RAM模塊是通過調用Altera FPGA自帶的參數化模型庫(Mega-lpm)實現的。
2.4 A/D采樣控制模塊
A/D采樣控制模塊的主要任務就是根據ADS1255的轉換時序圖,,在其芯片的引腳發(fā)出相應的時序控制信號,,使ADS1255完成啟動、配置和數據讀取等操作,。ADS1255的控制操作如下:首先設置ADS1255的參數配置,,讀數據模,然后啟動轉換,,通過查詢ADS1255的DRDY信號判斷是否轉換完成,,轉換結束后將數據按bit順序讀出。同時將數據輸出給串并轉換模塊,,完成一次A/D轉換操作,。采樣控制模塊每完成一次采樣操作,則停止等待下一個觸發(fā)脈沖的到來,。
這一控制過程通過狀態(tài)機實現,。圖4給出了該A/D轉換控制模塊的狀態(tài)轉換圖。當數據采集啟動信號START為高電平時,,狀態(tài)機啟動。

  狀態(tài)機的各個狀態(tài)描述如下:
(1)conv_init:狀態(tài)機的初始狀態(tài),。
(2)mode_set:設置ADS1255內部的控制寄存器,。
(3)conv_start:啟動A/D轉換,。
(4)conv_wait:等待A/D轉換結束。如果轉換結束則進入下一狀態(tài),,否則將繼續(xù)保持在該狀態(tài),。
(5)conv_read:A/D轉換結束后讀出每個bit信息,同時使能移位寄存器進行串并轉換,。
(6)read_next:判斷數據是否讀完,。如果沒有返回conv_read狀態(tài),否則進入下一狀態(tài),。
(7)conv_next:判斷是否需要繼續(xù)轉換數據,。如果沒有就進入下一狀態(tài),否則返回conv_start狀態(tài),。
(8)cony_end:表示本次采樣任務結束,。狀態(tài)機保持在該狀態(tài),直到采樣啟動脈沖觸發(fā)重新開始新的一次采樣任務,,狀態(tài)機復位到conv_init狀態(tài),。
2.5 串并轉換模塊
由于ADS1255是以串行輸出轉換結果的,故需要該模塊將串行輸出的數據轉換為井行輸出,。該模塊主要采用移位寄存器來實現,,其移位控制信號由AD采樣控制模塊提供。
2.6 數據存儲控制模塊
  該模塊的作用是將5通道24 bit經過串并轉換的采樣數據按通道順序,,以從低字節(jié)到高字節(jié)的次序,,一個一個字節(jié)將其寫入雙口RAM中,實際上相當于一個字節(jié)意義上的并串轉換,。該模塊輸入為5路采樣數據reg24Data_0~4,,dataF為輸出的字節(jié)數據,wrenF為雙口RAM的寫控制信號,。圖5是一個五通道數據存儲的仿真示意圖,。輸入數據值分別為0x030201、0x060504,、0x090807,、0x121110、0x151413,,輸出字節(jié)數據為01~15,,同時使能寫RAM,滿足設計要求,。

 


2.7 ARM接口控制模塊
該模塊為ARM與FPGA及其雙口RAM交互提供橋梁,。當ARM向控制寄存器寫入采集參數信息時,接口模塊要將該信息通知通道和采樣率選擇模塊;當ARM讀取雙口RAM中的數據時,,接口模塊對ARM的訪問地址進行譯碼,,選中對應的存儲空間取出數據。
本文采用FPGA和ARM結合設計,,很好地完成了多通道高精度的數據采集與處理,,并且還詳細介紹了FPGA邏輯的設計方法。FPGA邏輯通過硬件描述語言Verilog實現,,已應用到磁數據采集系統(tǒng)中,。本方案設計靈活,能很容易地擴展為更多路的數據采集,,也能很容易地修改為與其他的A/D轉換芯片接口,。所以該方案可根據不同的應用進行擴展,進一步增強了系統(tǒng)應用的靈活性,。

 

 

參考文獻
[1] 孫航.Xilinx可編程邏輯器件的高級應用與設訓技巧[M].北京:電子工業(yè)出版社,,2004.
[2] 黃智偉,王彥編.FPGA系統(tǒng)設計與實踐[M].北京:電子工業(yè)出版,,2005.
[3] 屈栓柱.超長周期大地電磁數據采集系統(tǒng)的設計與實現[J].電測與儀表,,2007(5).

此內容為AET網站原創(chuàng),未經授權禁止轉載,。