新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 天然氣體積修正儀數據采集模塊設計

        天然氣體積修正儀數據采集模塊設計

        作者: 時間:2009-11-04 來源:網絡 收藏
        FSM結構體定義信號類型ST和count。ST為狀態,且初始狀態為零狀態;count用于讀數據的計數,用于濾波。
          為了實現快速狀態轉換同時增強穩定性,避免出現毛刺現象,A/D轉換器的時序控制采用多進程有限狀態機來實現。
          (1) 時序邏輯
          時序邏輯進程STATE_TRANS負責狀態轉換,當時鐘信號SYS_CLK上升沿到來時,判斷轉換條件使狀態機轉入相應狀態。
          (2) 組合邏輯
          組合邏輯進程STATE_BEHV負責狀態輸出,當狀態變量ST發生變化時,產生對應此狀態的CNV_ST,AD_RD AD_CS,CH(0為第一通道,1為第二通道)及STATUS相應輸出。
          (3) 計數邏輯
          定義P0進程,敏感參數為CNV_ST,當一組數據采樣結束(CNV_ST信號由0變為1),如果已經采集10組數據,則置位FULL信號,表示采樣過程已經結束。
        2.2.3 濾波器設計
          A/D轉換后的數據還不能立即送入處理器中處理,為了提高數據的準確性,設計濾波單元對數據進行處理。濾波濾波器設計實現經A/D轉換后的數據濾波處理及數據的輸出。
          數字濾波模塊的濾波算法采用中位值平均濾波法,相當于“中位值濾波法”+“算術平無度濾波法”,該方法計算簡單、速度快,還可消除由于脈沖干擾所引起的采樣值偏差,使得經濾波后的輸出信號為“干凈”信號,可直接用于工業控制。中位值平均濾波法的時域差分方程是:

        本文引用地址:http://www.104case.com/article/188538.htm

          
          本系統設計10組數據進行濾波處理,取N=8。為了節約FPGA內部資源,濾波器的設計中采用移位寄存器代替除法器來實現平均濾波部分的算法。濾波模塊的設計從采樣數據的輸入、數值累加、去極值、求平均值到數字量的輸出共5個處理步驟,并且整個數據處理是“單流向”的,前一步驟的輸出是下一步驟的輸入,符合流水線設計要求。采用流水線設計方法可以提高系統的工作頻率,從宏觀上看數字濾波模塊不占用額外的處理時間,對于超高速A/D轉換控制中顯得格外重要。從VHDL語言的角度看,流水線操作是用面積換速度思想的具體體現[3]
          定義濾波器端口類型見表2所示。

        從仿真圖中可以看出,當時鐘處于上升沿,AD_START變為高電平時,啟動A/D轉換,依次讀2個通道的數據。當讀滿10組時,進行濾波處理。當CPU發出讀信號時,數據讀出。可見,設計的A/D控制器和濾波器完全符合設計要求。
          對設計程序進行編譯,可以看出,EP1C12Q240C8總的邏輯元數目為12 060,本控制模塊只占用了227個,完全達到及濾波處理功能,極大地減輕了CPU的負擔,可以讓CPU專注于其他的任務。是一種可行且值得推廣的方法。

        3總體功能仿真及編譯結果
          設計完成,生成頂層模塊。該模塊可直接加入到體積修正儀的SOPC設計中。其總體功能仿真如圖5所示。

        從仿真圖中可以看出,當時鐘處于上升沿,AD_START變為高電平時,啟動A/D轉換,依次讀2個通道的數據。當讀滿10組時,進行濾波處理。當CPU發出讀信號時,數據讀出。可見,設計的A/D控制器和濾波器完全符合設計要求。
          對設計程序進行編譯,可以看出,EP1C12Q240C8總的邏輯元數目為12 060,本控制模塊只占用了227個,完全達到及濾波處理功能,極大地減輕了CPU的負擔,可以讓CPU專注于其他的任務。是一種可行且值得推廣的方法。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 怀来县| 台州市| 从江县| 民和| 云林县| 和平县| 扶风县| 绥德县| 惠安县| 当阳市| 大方县| 白玉县| 五指山市| 博客| 高雄县| 长寿区| 阳山县| 上虞市| 肇源县| 浮山县| 耿马| 墨玉县| 改则县| 云梦县| 银川市| 青州市| 锦屏县| 新营市| 常山县| 榕江县| 裕民县| 萍乡市| 驻马店市| 都安| 元江| 囊谦县| 河北省| 漠河县| 延寿县| 平乡县| 探索|