新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計

基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計

作者: 時間:2009-10-23 來源:網(wǎng)絡(luò) 收藏

  這一控制過程通過狀態(tài)機(jī)實現(xiàn)。圖4給出了該A/D轉(zhuǎn)換控制模塊的狀態(tài)轉(zhuǎn)換圖。當(dāng)啟動信號START為高電平時,狀態(tài)機(jī)啟動。

本文引用地址:http://www.butianyuan.cn/article/188551.htm

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


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


上一頁 1 2 3 下一頁

關(guān)鍵詞: FPGA 多通道 采集 數(shù)據(jù)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉