新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA高速數(shù)據(jù)采集與傳輸?shù)穆暦鶞y井系統(tǒng)

基于FPGA高速數(shù)據(jù)采集與傳輸?shù)穆暦鶞y井系統(tǒng)

作者: 時間:2012-03-09 來源:網(wǎng)絡(luò) 收藏

3 系統(tǒng)軟件設(shè)計(jì)
設(shè)計(jì)的數(shù)據(jù)系統(tǒng)是基于高性能芯片實(shí)現(xiàn)的,承擔(dān)了絕大部分的控制和數(shù)據(jù)處理任務(wù),是設(shè)計(jì)的核心內(nèi)容,對進(jìn)行模塊化設(shè)計(jì),是大型系統(tǒng)設(shè)計(jì)的常用方法。本項(xiàng)目中將FPGA分成USB控制模塊、采樣控制模塊、觸發(fā)脈沖產(chǎn)生模塊和RAM等幾個主要功能模塊來設(shè)計(jì)。
FPGA模塊的原理如圖3所示。其工作原理為觸發(fā)脈沖產(chǎn)生模塊,根據(jù)設(shè)定的參數(shù)周期性輸出脈沖信號觸發(fā)采樣控制模塊對A/D進(jìn)行采樣。采樣控制模塊在接收到USB控制模塊的啟動信號后,只要接收到觸發(fā)信號就開始采樣數(shù)據(jù),并判斷采樣數(shù)據(jù)是否滿足要求,如果滿足要求則把數(shù)據(jù)存放于RAM中,且在采樣結(jié)束后觸發(fā)USB控制模塊上傳數(shù)據(jù)。

本文引用地址:http://2s4d.com/article/190675.htm

c.jpg


通電后,先對USB芯片初始化,然后如果接收到采樣結(jié)束信號或上傳結(jié)束信號并且RAM在還剩余有數(shù)據(jù)的條件下把RAM數(shù)據(jù)上傳,若接收到下傳信號,則把計(jì)算機(jī)下傳的數(shù)據(jù)按要求分配到各端口。
3.1 采樣控制模塊
采樣控制模塊根據(jù)外部觸發(fā)信號,利用狀態(tài)機(jī)對A/D的采樣行為進(jìn)行控制。共有5個狀態(tài),每個狀態(tài)的動作在代碼中進(jìn)行了詳細(xì)描述。
第1個狀態(tài):空閑狀態(tài)(IDLE),表示程序無任何操作,在等待外部觸發(fā)信號的到來。
第2個狀態(tài):延時1(第一個等待狀態(tài),WAIT1),表示收到觸發(fā)信號后需要禁閉A/D一段預(yù)先設(shè)定的時間,這段時間不進(jìn)行任何操作。
第3個狀態(tài):找門限(門限判決狀態(tài),THDET),在規(guī)定的時間段時間里判斷A/D采樣的信號中是否有連續(xù)6個采樣大于門限的值,如果有,等待一段時間后把采樣后的數(shù)據(jù)存入緩沖區(qū)以便上傳給上位機(jī)。否則繼續(xù)等待下一個觸發(fā)信號。
第4個狀態(tài):延時2(第二個等待狀態(tài),WAIT2),表示已經(jīng)滿足采樣要求后再禁閉A/D一段預(yù)先設(shè)定的時間,這段時間不進(jìn)行任何操作。然后啟動A/D進(jìn)行采樣。
第5個狀態(tài):采樣狀態(tài)(SAMPER),啟動A/D進(jìn)行采樣,并存儲數(shù)據(jù)。
此處為米莉(Mealy)型狀態(tài)機(jī),Mealy型狀態(tài)機(jī)的輸出不僅與現(xiàn)態(tài)有關(guān),而且和輸入也有關(guān)。
該狀態(tài)機(jī)采取3段式描述方式:即使用3個always塊,第1個always塊采用同步時序描述狀態(tài)轉(zhuǎn)移;第2個always塊采用組合邏輯判斷狀態(tài)轉(zhuǎn)移條件,描述狀態(tài)轉(zhuǎn)移規(guī)律;第3個always塊描述狀態(tài)輸出。

d.jpg


狀態(tài)機(jī)的編碼使用獨(dú)熱碼(One-hot)編碼,獨(dú)熱碼編碼的最大優(yōu)勢在于狀態(tài)比較時僅需要比較一個位,從而一定程度上簡化了比較邏輯,減少了毛刺產(chǎn)生的概率。



評論


相關(guān)推薦

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

關(guān)閉