<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 論NIOS-II系統(tǒng)中A/D數(shù)據(jù)采集接口的設(shè)計與實現(xiàn)

          論NIOS-II系統(tǒng)中A/D數(shù)據(jù)采集接口的設(shè)計與實現(xiàn)

          作者: 時間:2012-02-24 來源:網(wǎng)絡(luò) 收藏
            在FPGA系統(tǒng)中,實現(xiàn)對外部A/D數(shù)據(jù)采集電路的控制接口邏輯,由于其邏輯功能不是很復(fù)雜,因此可采用自定義的方式。采用這種方法進行設(shè)計有兩種途徑。①從軟件上去實現(xiàn)。這種方案將NIOS處理器作為一個主控制器,通過編寫程序來控制數(shù)據(jù)轉(zhuǎn)換電路。由于NIOS處理器的工作頻率相對于外部設(shè)備來說要高出許多,故此種方法會造成CPU資源極大的浪費;②用FPGA 的邏輯資源來實現(xiàn)A/D采集電路的控制邏輯。FPGA有著豐富的邏輯資源和接口資源,在其中實現(xiàn)并行的數(shù)據(jù)采集很少會受到硬件資源的限制,在功能上,設(shè)計的接口控制邏輯相當(dāng)于一個主控制器,它是針對具體的外部電路而實現(xiàn)的,容易滿足要求、又能節(jié)約資源,提高系統(tǒng)性能。因此,采用硬件邏輯去實現(xiàn)控制將是一種較好的方式。

            設(shè)計方案

            通過對系統(tǒng)需求進行仔細分析,此模塊的功能設(shè)計可分為數(shù)據(jù)采集控制邏輯、數(shù)據(jù)接口、數(shù)據(jù)處理邏輯三部分,其整體功能框架圖如圖1。

          模塊功能框圖

          圖1 模塊功能框圖

            說明:AVALON總線主要是用于連接片內(nèi)處理器與外設(shè),以構(gòu)成可編程單芯片系統(tǒng)。

            功能描述

          • 數(shù)據(jù)采集控制邏輯:產(chǎn)生A/D轉(zhuǎn)換需要的控制信號。
          • 數(shù)據(jù)接口:提供一個外部A/D采集的數(shù)據(jù)流向AVALON總線的數(shù)據(jù)通道,主要是完成速度匹配,接口時序轉(zhuǎn)換。
          • 數(shù)據(jù)處理單元:此部分主要是提供一些附加功能,如檢測外部信號或內(nèi)部其它單元的工作狀態(tài),進行簡單信息處理。

            設(shè)計分析

            數(shù)據(jù)采集控制邏輯

            在此以典型的模數(shù)轉(zhuǎn)換芯片C0804為例,進行電路設(shè)計,C0804的數(shù)據(jù)寬度為8位,數(shù)據(jù)轉(zhuǎn)換時間最快為100ms,轉(zhuǎn)換時鐘信號可以由內(nèi)部施密特電路和外接RC電路構(gòu)成的震蕩器產(chǎn)生,也可以直接由外部輸入,其頻率范圍:100KHz~1460KHz。在本設(shè)計中C0804的時鐘為最大輸入頻率,控制信號時序如圖2。

          ADC0804控制信號時序圖

          圖2 ADC0804控制信號時序圖


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();