新聞中心

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ò) 收藏

  設(shè)計實現(xiàn)

  圖4為在Quartus-II中設(shè)計實現(xiàn)的C0804控制模塊的原理圖。

A/D數(shù)據(jù)采集控制模塊原理圖

圖4 A/D數(shù)據(jù)采集控制模塊原理圖

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

  當(dāng)系統(tǒng)加電后,wr_n輸出一個有效的寫信號啟動A/D轉(zhuǎn)換,經(jīng)過足夠的時間后(T=327μs~328μs),輸出讀信號,此時數(shù)據(jù)接口單元的寫允許信號wr_fifo變?yōu)橛行?,同時外部A/D轉(zhuǎn)換器的讀允許信號也變?yōu)橛行?,此后ADC0804的數(shù)據(jù)端口上輸出有效數(shù)據(jù),在wr_clk的上升沿將A/D轉(zhuǎn)換器的數(shù)據(jù)讀入FIFO??刂七壿媶卧臅r序仿真圖如圖5。

  由圖5可知,wr_fifo有效時,ADC0804必須在wr_clk的上升沿到來之前在其數(shù)據(jù)端口輸出有效的數(shù)據(jù)。由于wr_clk的周期為1ms,ADC0804的輸出鎖存由其讀引腳rd控制,rd變?yōu)橛行Ъ纯奢敵鲇行У臄?shù)據(jù),故只要ADC0804的讀信號rd在外部輸入的作用下變?yōu)橛行У臅r間不超過500ns,讀操作就不會出現(xiàn)問題。ADC0804的rd信號三態(tài)延時最大為200ns,典型值為125ns,因此控制信號產(chǎn)生邏輯單元滿足要求。

控制信號時序仿真

圖5 控制信號時序仿真

  當(dāng)NIOS系統(tǒng)需要讀取數(shù)據(jù)時,在read和readclk上出現(xiàn)的是系統(tǒng)AVALON總線上的讀時序。時序圖如圖6。

基本從端口讀傳輸

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

  當(dāng)系統(tǒng)不讀取A/D轉(zhuǎn)換的數(shù)據(jù)時,采集的數(shù)據(jù)由數(shù)據(jù)處理單元控制處理。數(shù)據(jù)處理單元實現(xiàn)了對外部信號量的異常檢測,即,當(dāng)外部信號的幅值超出設(shè)定范圍時,該單元產(chǎn)生一個中斷信號,通知CPU采取相關(guān)處理措施,否則,在FIFO滿的時候,將其內(nèi)容清空。

  結(jié)語

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


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

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

關(guān)閉