新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 論NIOS-II系統中A/D數據采集接口的設計與實現

        論NIOS-II系統中A/D數據采集接口的設計與實現

        作者: 時間:2012-02-24 來源:網絡 收藏

          設計實現

          圖4為在Quartus-II中設計實現的C0804控制模塊的原理圖。

        A/D數據采集控制模塊原理圖

        圖4 A/D數據采集控制模塊原理圖

          其中read、readdata、reset、irq分別與AVALON總線相同命名的信號線相連,readclk與AVALON總線中clk相連, _50與FPGA的系統時鐘相連,wr_n、rd_n、writedata分別與C0804的寫信號線、讀信號線、數據線相連。ADC0804控制信號產生單元的實現,采用的是上文提到的被動模式,該單元以固定的時序產生讀寫信號,本設計使用的采樣頻率約為3200Hz,此頻率可以根據用戶的需要而設定( 不大于10KHz即可)。

          當系統加電后,wr_n輸出一個有效的寫信號啟動A/D轉換,經過足夠的時間后(T=327μs~328μs),輸出讀信號,此時數據接口單元的寫允許信號wr_fifo變為有效,同時外部A/D轉換器的讀允許信號也變為有效,此后ADC0804的數據端口上輸出有效數據,在wr_clk的上升沿將A/D轉換器的數據讀入FIFO。控制邏輯單元的時序仿真圖如圖5。

          由圖5可知,wr_fifo有效時,ADC0804必須在wr_clk的上升沿到來之前在其數據端口輸出有效的數據。由于wr_clk的周期為1ms,ADC0804的輸出鎖存由其讀引腳rd控制,rd變為有效即可輸出有效的數據,故只要ADC0804的讀信號rd在外部輸入的作用下變為有效的時間不超過500ns,讀操作就不會出現問題。ADC0804的rd信號三態延時最大為200ns,典型值為125ns,因此控制信號產生邏輯單元滿足要求。

        控制信號時序仿真

        圖5 控制信號時序仿真

          當NIOS系統需要讀取數據時,在read和readclk上出現的是系統AVALON總線上的讀時序。時序圖如圖6。

        基本從端口讀傳輸

          在AVALON總線中定義了兩種類型的信號,一種是高電平有效,另一種是低電平有效。在本設計中選用的是高電平有效的類型。圖6是低電平有效的總線信號,與之對應的高電平有效的總線信號時序圖中,read在有效時為高電平對應于圖6中的readn的低電平部分。而address,be-n和chipselect在此可以不與考慮,添加到AVALON總線時,系統會自動處理其連接問題。

          當系統不讀取A/D轉換的數據時,采集的數據由數據處理單元控制處理。數據處理單元實現了對外部信號量的異常檢測,即,當外部信號的幅值超出設定范圍時,該單元產生一個中斷信號,通知CPU采取相關處理措施,否則,在FIFO滿的時候,將其內容清空。

          結語

          經測試,本設計可以不間斷無數據丟失的進行數據采集,CPU可以主動的讀取數據,也可以在數據處理單元檢測到外部異常信號時被動的獲取數據,并且CPU讀取數據的操作極其簡單,運行時只占用很少的CPU資源,在此,謹希望本文能在如何設計NIOS系統外設方面給讀者以參考借鑒。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 晋中市| 海南省| 铜陵市| 民和| 岳普湖县| 吉安市| 清水河县| 同仁县| 定结县| 铅山县| 綦江县| 漠河县| 平顺县| 北碚区| 平南县| 侯马市| 江山市| 隆昌县| 揭阳市| 堆龙德庆县| 通化县| 泽普县| 昆明市| 梅州市| 松滋市| 中阳县| 沐川县| 高邮市| 基隆市| 公安县| 共和县| 嵊泗县| 大新县| 台南市| 依安县| 聊城市| 武宣县| 泸定县| 阜南县| 岐山县| 武威市|