大地電磁場攜帶著地球內部的結構,、構造、溫度,、壓力以及物質成分的物理狀態(tài)等信息,,為人們研究板塊運動的規(guī)律、追溯地球的演化歷史提供了科學依據(jù),。大地電磁探測是研究大陸巖石圈導電性結構的有效方法之一,,使人們從電性角度認識地球內部的構造形態(tài),達到了解地下不同深度地質情況的目的,。該技術應用前景廣泛,,可用于地下更深層找礦,、找水、找油,、監(jiān)測海底潛艇等,,對國民經(jīng)濟和國防的發(fā)展都有重要的推動作用。
最常用的數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集方案多以MCU" title="MCU">MCU為核心,,控制多路信號的采集及處理,。但由于單片機本身的指令周期以及處理速度的影響,對于多通道A/D" title="A/D">A/D進行控制及數(shù)據(jù)處理,,普通的MCU往往不容易達到要求,。考慮到FPGA" title="FPGA">FPGA器件的高集成度,、內部資源豐富,、特別適合處理多路并行數(shù)據(jù)等明顯優(yōu)于普通微處理器的特點,并針對大地電磁數(shù)據(jù)采集系統(tǒng)對實時性和同步性的要求,,本文提出了一種多通道數(shù)據(jù)采集方案,。采用FPGA與ARM" title="ARM">ARM相結合的設計,采集主控制邏輯用FPGA實現(xiàn),,ARM用來實現(xiàn)采集數(shù)據(jù)的存儲和數(shù)據(jù)傳輸控制,。
1 系統(tǒng)總體結構
系統(tǒng)總體結構如圖1所示。A/D轉換器采用TI公司的24位高精度模數(shù)轉換器ADS1255,;FPGA采用Altera公司的EP2C35,;ARM為ARM9內核的處理器S3C2410。雙口RAM由EP2C35內部存儲器塊配置而成,,該雙口RAM與ARM的系統(tǒng)總線相連,,映射為ARM的一塊內存區(qū)。
AD前端處理電路的作用是實現(xiàn)對信號的放大,、衰減以及阻抗匹配,,從而滿足ADC對輸入信號的要求。濾波網(wǎng)絡濾除高頻噪聲和工頻信號的干擾,,增益放大通過ARM給出的控制信號實現(xiàn)對模擬信號的不同增益的放大處理,。ADS1255負責把模擬電信號轉換成數(shù)字信號,可以通過功能選擇設置ADS1255工作在不同的工作模式下,。ADS1255的工作時鐘由FPGA提供,,改變FPGA輸出時鐘的頻率就能實現(xiàn)AD采樣率的改變。FPGA并行控制5路AD的數(shù)據(jù)采集,,并把采集到的各路數(shù)據(jù)按順序以字節(jié)的形式寫入雙口RAM中緩存,。FPGA對雙口RAM的數(shù)據(jù)寫入和ARM對數(shù)據(jù)的讀取是通過乒乓傳輸結構實現(xiàn)的。當FPGA寫滿雙口RAM上半?yún)^(qū)后,向ARM申請中斷,,ARM響應中斷后,,讀出上半?yún)^(qū)數(shù)據(jù)到內存中進行存儲;同時FPGA向RAM的下半?yún)^(qū)寫數(shù)據(jù),,寫滿下半?yún)^(qū)后也向ARM發(fā)出中斷,通知ARM讀出下半?yún)^(qū)數(shù)據(jù),。通過乒乓傳輸保證了系統(tǒng)數(shù)據(jù)采樣和數(shù)據(jù)傳輸可以連續(xù)進行,。
2 FPGA的邏輯設計
本方案中的數(shù)據(jù)采集流程如下:系統(tǒng)初始化后,ARM通過控制信號把采樣頻率,、通道選擇等參數(shù)通知給FPGA,,然后FPGA向需要同步采樣的通道對應的AD芯片提供統(tǒng)一時鐘,使得AD同步地選擇相應的通道進行數(shù)據(jù)的同步采樣和轉換,,其結果由FPGA接收并存儲在雙口RAM對應的存儲空間,,然后由ARM從相應的雙口RAM空間讀取數(shù)據(jù)進行本地存儲或經(jīng)過網(wǎng)絡傳輸給上位機進行處理。根據(jù)以上流程以及FPGA要實現(xiàn)的功能,,整個FPGA邏輯設計劃分為通道和采樣率選擇模塊,、時鐘模塊、雙口RAM模塊,、AD采樣控制模塊,、串并轉換模塊、數(shù)據(jù)存儲控制模塊,、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采樣控制模塊就會根據(jù)該寄存器中的內容使能相應的通道。如果要選擇某一個采樣頻率,,只需把寄存器B中相應的位置1,,其他位置0,時鐘模塊會產(chǎn)生相應的時鐘控制AD的采樣率,。在開啟數(shù)據(jù)采集之前,,ARM應根據(jù)所要求的通道和采樣頻率向寄存器A和B寫入相應命令字,。
2.2 時鐘模塊
本設計中外部輸入時鐘為16.384 MHz。由于設計中各個模塊工作時鐘的不同以及AD采樣率的變化,,所以需要多種不同的時鐘信號,。時鐘模塊的功能就是根據(jù)不同采樣率為各個模塊提供所需的時鐘信號。由于該設計采用同步時序電路,,它是基于時鐘觸發(fā)沿設計,,對時鐘的周期、占空比,、延時,、抖動提出了較高的要求,為此本設計中采用FPGA所帶的PLL時鐘資源驅動設計的主時鐘,,使其達到最低的時鐘抖動和延遲,。
2.3 雙口RAM模塊
本設計中雙口RAM用于數(shù)據(jù)緩存,一方面存儲各個AD芯片轉換的數(shù)據(jù),,另一方面供ARM讀取數(shù)據(jù)做進一步的存儲與處理,。它具有真正的雙端口,可以同時對其進行數(shù)據(jù)存取,,兩個端口具有獨立的控制線,、地址線和數(shù)據(jù)線。該雙口RAM模塊是通過調用Altera FPGA自帶的參數(shù)化模型庫(Mega-lpm)實現(xiàn)的,。