新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西和县| 郑州市| 九龙县| 富平县| 三明市| 淮南市| 龙口市| 霍林郭勒市| 沙雅县| 永清县| 呼伦贝尔市| 冷水江市| 万源市| 鄢陵县| 清涧县| 荆门市| 城步| 忻城县| 临海市| 沙坪坝区| 法库县| 德保县| 务川| 寻乌县| 合川市| 湾仔区| 青田县| 福清市| 扎囊县| 沙田区| 镇巴县| 山丹县| 阿拉尔市| 北川| 桃园市| 昭平县| 锦州市| 当雄县| 肥城市| 霍州市| 大方县|