国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于FPGA的微應變數據采集系統的設計

發布時間:2010-8-18 10:59    發布者:lavida
關鍵詞: FPGA , 數據采集 , 微應變
1 引言  

數據采集系統是計算機測控系統中不可或缺的組成部分,是影響測控系統的精度等性能 指標的關鍵因素之一。隨著新的器件不斷推出,新的技術不斷應用,數據采集技術及其相關 電路得到了迅速的發展。如何提供更高的采樣速率,更高的精確度和更大的靈活性是當前數 據采集系統需要解決的問題。FPGA 的迅猛發展,使FPGA 器件性能得到了不斷的提升,已 逐步取代單片機DSP,在數據采集系統中的得到了廣泛的應用。  

本系統采集的對象是微應變傳感器,由于微應變傳感器自身的制造誤差、貼片產生的初 始應力、結構安裝時產生的附加應力等,都會產生一個比較大的零點,可能超出A/D 芯片 的量程范圍。若這個零點過大,會使得信號放大器ADC 的輸出出現飽和現象,使數據采 集無法正常進行。通常對零點的修正有硬件與軟件兩種方法。如果只用軟件測量校正的辦法 無法解決ADC 芯片的飽和問題,只用硬件解決的話需要的硬件成本較高。因此如何準確的 測量微應變信號的零點,是本系統需要解決的關鍵問題。  

2 數據采集系統的設計方案  

本文設計的數據采集系統可以實現數據的采集、處理和存儲功能。整個系統主要由 Atmel 公司的AT91RM9200 微處理器芯片, Xilinx 公司的FPGA 芯片XC3S200AN, TI 公司的 ADC 芯片TLC2551、DAC 芯片TLV5* 及信號調理電路等外圍電路組成。系統硬件簡圖 如圖1 所示。ARM 輸出控制信號,控制FPGA。當ARM 啟動FPGA 開始數據采集后,FPGA 輸出通道地址,經過32 路模擬通道多路開關,選擇某一通道,FPGA 控制DAC 芯片輸出模 擬量對這一通道的輸入量進行粗調零。然后由FPGA 控制ADC 芯片進行模數轉換。將轉換 得到的12 位數字量串行輸送給FPGA。在FPGA 內部將12 位數據由串行改為并行,進行細 調零等相應的數據處理,然后加上4 位標明通道的數據送入FIFO 中。當FIFO 達到半滿時, ARM 將數據讀出進行相應的處理,整個數據采集的過程完成。  


  
3 FPGA 的功能模塊  

FPGA使用的是Xilinx 公司Spartan3AN 系列的XC3S200AN芯片,片內集成了4M Flash, 288K 的塊狀RAM,集成密度高,可以將程序直接下載在片內ROM 上,無需片外ROM, 節省電路板面積。FPGA 在整個系統中負責數字信號的采集控制、處理,控制信號和時序信 號的產生,數據的緩存和異步輸出,在整個數據采集系統中起到至關重要的作用。根據FPGA 的功能,將其模塊化為數據處理模塊、時序控制模塊,通道控制模塊、A/D 和D/A 芯片控 制模塊、異步FIFO 緩存模塊、接口和總線模塊,具體模塊結構如圖2 所示。  


  
(1)接口總線模塊  

此模塊負責 FPGA 和CPU 的通信以及內部各模塊之間的通信。CPU 和FPGA 之間通過 16 位雙向數據總線和地址線通信,CPU 向FPGA 輸入讀、寫、復位、開始等控制信號。FPGA 內部各模塊設計成可由CPU 讀寫的模塊,直接與內部數據總線連接。這樣ARM 可以通過 向各模塊寫入數值實時的改變采樣的各參數,并通過讀各模塊的參數實時監控系統的運行狀 態。由于內部各模塊眾多,CPU 與FPGA 之間信息交互頻繁,為了簡化時序控制,避免各 模塊之間的競爭、冒險,在FPGA 內部將16 位雙向數據總線獨立為16 位讀總線(Readbus) 和16 位寫總線(Writebus)。當CPU 輸入寫信號有效時,FPGA 內部寫總線從與ARM 通信 的雙向數據線讀數,將數據送給內部各模塊;當輸入讀信號有效時,雙向數據總線從內部讀 總線讀數,向外輸出給CPU,當讀信號無效時,內部讀總線為高阻狀態。內部各模塊都將 可讀的參數值輸出到多選一數據選擇器,讀總線根據地址譯碼讀出某個參數值送給雙向數據 總線輸出。  

(2) 時序控制模塊  

此模塊控制通道采樣頻率和內部的時序邏輯,有兩個主要信號,掃描時鐘(scan_clock) 和采樣時鐘(sample_clock),都是由FPGA 主時鐘分頻而得。scan_clock 為高電平時,對各 通道信號采樣保持,ADC 準備轉換。當sample_clock 上升沿到來時,ADC 開始轉換某一通 道的信號,sample_clock 的下一上升沿到來時,ADC 轉換下一個通道的信號。通過改寫 scan_clock 和sample_clock 可以改變采樣的頻率。由于通道數也是可以修改的,當掃描時鐘 和采樣時鐘未變,采樣通道數由25 變為12 個時,scan_clock 高電平有效時間被浪費。為了 解決這個問題,在設定的通道數轉換完成后,就將掃描時鐘置為零,節省了時間。如圖3 所示,當采樣通道數設置為12 時,采樣完第12 個通道后就將scan_clock 置為零。  


  
(3) 通道控制模塊  

此模塊控制通道間的轉換,輸出當前采樣通道號。內部有通道計數器,計算當前的通道 號。為了減少每一通道所用時間,當A/D 還未結束時,就提前給通道計數器信號EOC 進行 通道轉換,AD 轉換和通道轉換并行進行,當AD 轉換完成時,通道控制模塊也已準備好當 前通道號。通過寫數據總線向此模塊寫通道控制字可以改變需要采樣的通道個數,采樣的起 始通道。  

(4) 控制AD 和控制DA 模塊  

此模塊控制 AD 和DA 芯片,產生使AD 和DA 芯片工作的控制信號和時序邏輯。由于 需要采樣的通道數多,達25 個,為節省印制電路板面積和成本,采用單片AD 芯片加多路 模擬開關進行模擬數字量的轉換。AD 芯片TLC2551,是TI(Texas Instrument)公司生產的 精度為12 位的,單通道采樣、低功耗芯片。其工作時序如圖4 所示。時鐘信號SCLK、控 制信號CS 都由FPGA 產生,時鐘主頻為19.2M,采樣一次需要44 個時鐘周期。  


  
DA 芯片采用TI 公司生產的TLV5*,它是一個帶參考電壓源的8 位DAC,數字接口為SPI 接口。FPGA 控制DA 芯片,使DAC 的輸出與ADC 輸入模擬電壓相加,抵消輸入的 零點,產生0-4.096V 有效輸出送到ADC 輸入端進行轉換。TLV5* 的工作時序如圖5 所示。 時鐘信號SCLK 和控制信號CS,信號FS 由FPGA 產生,每次轉換需要16 個時鐘周期。  

(5) 數據處理模塊  

由ADC 芯片輸出的12 位串行數據,經過此模塊,轉化為12 位并行數據,然后完成數 據的細調零。細調零也由FPGA 完成,在數據處理模塊中有一片分布式可讀寫的RAM,里 面存儲了由ARM寫入的各通道的零點數據。在每個通道完成ADC 轉換時,自動由零點RAM 中讀出給定通道的零點數據,由FPGA 完成減法運算,完成細調零。  

(6) 雙端口異步FIFO 緩存模塊  

由于 ARM 和FIFO 的時鐘不同,ARM 讀速度遠遠大于FPGA 采集數據的速度,因此設 計用FIFO 在ARM 和FPGA 間的跨時鐘域數據傳輸中起緩存的作用。模塊由兩個深度為8K, 寬度為16 位的異步雙端口FIFO 組成,數據存儲總量為256K。若用FPGA 內部邏輯資源實 現FIFO,所有邏輯資源將全被耗盡,因此用芯片內部自帶的288K Block Ram 來實現。設計 中,采用19.2M 主時鐘做FIFO 的時鐘,且為上升沿有效。ARM 的讀信號有時無法被時鐘 上升沿捕捉到,就產生了數據傳輸不可靠的問題。為解決這個問題,采用握手協議將讀信號 延長。輸入到FIFO 端口的讀信號一直到時鐘上升沿有效,才置為低電平,具體如圖6 所示。  


  
需要采集的實際通道數為 25 個,需用5 位數據標明當前通道值,AD 轉換的有效數據 為12 位,而數據線為16 位,只有四位數據可供通道地址使用。為了完整標示當前的通道值, 根據通道值最低位的奇偶性把數據分別儲存在FIFO0 和FIFO1 中。這樣CPU 從FIFO0 讀出 的數據就是偶數通道的采樣值,從FIFO1 讀出的數據就是奇數通道的采樣值。  

4 ARM 程序的編寫  

編程軟件環境為 CodeWarrior for ARM Developer Suite,編程語言為C 語言。ARM 程序 主要通過和FPGA 的通信,控制FPGA 進行數據采集,適時改變FPGA 的各參數,向FPGA RAM 中寫入粗調零,細調零的數據,并從FPGA 讀取采樣完的數據進行相應的處理。  

5 零點的校準  

FPGA 有兩片專門可讀寫分布式RAM,一片用來儲存8 位粗調零的數據,一片儲存12 位細調零的數據,各通道的通道號就是調零數據存儲在RAM 中的地址。DAC 的數據在通 道轉換時,根據當前通道值,從粗調零分布式RAM 中讀出,寫到DAC 寄存器中,由FPGA 控制DAC 芯片轉化成模擬量輸出到ADC 芯片的輸入端,與輸入電壓相加實現粗調零。然 后在FPGA 內部把轉化得到的12 位數據減去存儲在RAM 中的細調零值,所得的數據才是 真正有效的數據。  

為了確定某一路微應變信號的零點,ARM 首先在通道地址寫入數值0x7F,使DAC 輸 出其可輸出電壓的中間值,然后啟動ADC 芯片開始轉換。此時的ADC 芯片工作在數據直 通模式,轉換得到的12 位數據不經過數據處理和FIFO,直接由數據總線傳送給ARM。ARM 根據讀得的轉換值,若發現依然是過飽和狀態,則加大寫入粗調零存儲器的數值,直到讀得 的ADC 數據為正常數值。DAC 模擬量輸出值加ADC 測得的模擬量輸入值既是此通道的零 點值。零點確定后,通過FPGA 輸出模擬量和FPGA 內部數字量調節的方式,實現了8 位 DAC 芯片對12 位ADC 芯片零點的校準。  

6 結論  

本文介紹了一種基于 FPGA 和ARM 的數據采集系統。FPGA 程序全部采用Verilog-HDL 語言自頂向下模塊化編寫,在Xilinx ISE 集成開發環境下進行編譯和仿真,整個系統和所有 功能模塊均可在符合條件的FPGA 產品中應用,具有良好的可移植性。已應用在某機載數 據采集儀中,獲得了很好的應用效果。  

本文的創新點在于用 FPGA 芯片通過模擬量調節和數字量調節的方法,用較低的成本 實現了對微應變數據的零點校準,提高了采集的精度。并且ARM 和FPGA 的交互,實現了 可由ARM 在線實時改寫和監控FPGA 中的各項采集參數,無需對FPGA 芯片重新下載編程, 大大提高了數據采集系統的靈活性。
本文地址:http://www.qingdxww.cn/thread-22111-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 我們是Microchip
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区精品系列在线观看 | 欧美日韩高清 | 97超视频在线观看 | 福利国模私拍视频在线观看 | 亚洲欧美在线免费 | 久草免费精品视频 | 亚洲国产日韩在线 | 日韩毛片基地 | 国产欧美综合精品一区二区 | 在线欧美成人 | 日韩精品一区二区三区高清 | 老司机久久精品视频 | 思思久久好好热精品国产 | 一级一片免费看 | 欧美一级淫片漂亮的老师 | 青青干视频 | 国产麻豆精品一区二区 | 四虎地址8848 | 欧美日韩欧美日韩 | 456亚洲人成影视在线观看 | 少妇美女极品美軳人人体 | 伊人香焦 | 91麻豆精品国产 | 神兵小将第一季免费观看 | 国产女人又爽又大 | 精品视频久久久 | 黄色网址视频在线播放 | 午夜香蕉 | 日本人成动漫网站在线观看 | 99午夜高清在线视频在观看 | 中文日产国产精品久久 | 在线天堂中文新版有限公司 | 热久久久久久 | 精品伊人久久久99热这里只 | 色婷婷精品视频 | 快色在线观看免费播放高清 | 亚洲一区免费 | 亚洲区一| 日本片在线 | 免费无限制观看黄的网址 | 青青草国拍2019 |