<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 在NIOS-II系統中A/D數據采集接口的設計與實(shí)現

在NIOS-II系統中A/D數據采集接口的設計與實(shí)現

——
作者: 時(shí)間:2007-09-07 來(lái)源:電子產(chǎn)品世界 收藏

在FPGA系統中,實(shí)現對外部A/D電路的控制接口邏輯,由于其邏輯功能不是很復雜,因此可采用自定義的方式。采用這種方法進(jìn)行設計有兩種途徑。①從軟件上去實(shí)現。這種方案將NIOS處理器作為一個(gè)主控制器,通過(guò)編寫(xiě)程序來(lái)控制數據轉換電路。由于NIOS處理器的工作頻率相對于外部設備來(lái)說(shuō)要高出許多,故此種方法會(huì )造成CPU資源極大的浪費;②用FPGA 的邏輯資源來(lái)實(shí)現A/D采集電路的控制邏輯。FPGA有著(zhù)豐富的邏輯資源和接口資源,在其中實(shí)現并行的很少會(huì )受到硬件資源的限制,在功能上,設計的接口控制邏輯相當于一個(gè)主控制器,它是針對具體的外部電路而實(shí)現的,容易滿(mǎn)足要求、又能節約資源,提高系統性能。因此,采用硬件邏輯去實(shí)現控制將是一種較好的方式。

設計方案

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

圖1 模塊功能框圖

說(shuō)明:AVALON總線(xiàn)主要是用于連接片內處理器與外設,以構成可編程單芯片系統。 

功能描述

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

設計分析

數據采集控制邏輯

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

圖2 ADC0804控制信號時(shí)序圖

由ADC0804的時(shí)序可知,轉換過(guò)程由一個(gè)寫(xiě)信號啟動(dòng),轉換完成后,輸出INTR信號,此時(shí)可以讀取數據。之后即可進(jìn)入下一個(gè)轉換周期。由ADC0804的轉換時(shí)間可知,其最大采集頻率為10KHz,只要用戶(hù)設置的采樣頻率不超過(guò)這個(gè)數值,ADC0804就可以正常的工作。因此設計時(shí)要注意兩點(diǎn):①寫(xiě)信號的頻率要低于A(yíng)DC0804的最大轉換頻率;②在寫(xiě)信號之后至少要有100ms的時(shí)延,才能輸出讀信號。
在此,提出兩種方法來(lái)實(shí)現ADC0804的控制信號時(shí)序:①主動(dòng)模式—控制電路啟動(dòng)A/D轉換后,在INTR信號的作用下,輸出讀信號,同時(shí)從ADC0804的數據總線(xiàn)上讀入數據,之后輸出一個(gè)寫(xiě)信號,開(kāi)始下一次轉換。②被動(dòng)模式—ADC0804的讀寫(xiě)信號完全由控制電路按照固定的時(shí)序產(chǎn)生,與其自身輸出無(wú)關(guān)。

數據接口

相對于A(yíng)VALON總線(xiàn)信號來(lái)說(shuō),A/D采樣的速率非常低,而且,AVALON總線(xiàn)的接口信號和ADC0804數據輸出的接口信號時(shí)序不一致。因此,要實(shí)現滿(mǎn)足要求的數據通道,要做到兩點(diǎn):①數據緩沖,實(shí)現速率匹配;②信號隔離,實(shí)現接口時(shí)序的轉換。解決這兩點(diǎn),可以將兩端口通過(guò)一個(gè)異步的FIFO連接,該FIFO應該是可以在不同的時(shí)鐘信號下進(jìn)行異步的讀寫(xiě)。這樣的一個(gè)FIFO的實(shí)現可以在Quartus-II里面用ALTERA公司提供的FIFO Core進(jìn)行定制。在本設計中,定制的FIFO模塊如圖3。

圖3 FIFO模塊

設計實(shí)現

圖4為在Quartus-II中設計實(shí)現的ADC0804數據采集接口控制模塊的原理圖。

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

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

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

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

圖5  控制信號時(shí)序仿真

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

圖6  基本從端口讀傳輸

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

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

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

模擬信號相關(guān)文章:什么是模擬信號




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>