<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è) > 模擬技術(shù) > 設計應用 > Verilog HDL設計自動(dòng)數據采集系統

Verilog HDL設計自動(dòng)數據采集系統

作者: 時(shí)間:2012-07-31 來(lái)源:網(wǎng)絡(luò ) 收藏

隨著(zhù)數字時(shí)代的到來(lái),數字技術(shù)的應用已經(jīng)滲透到了人類(lèi)生活的各個(gè)方面。

本文引用地址:http://dyxdggzs.com/article/186032.htm

數字系統發(fā)展在很大程度上得益于器件和集成技術(shù)的發(fā)展,著(zhù)名的摩爾定律(Moore's Law)的預言也在集成電路的發(fā)展過(guò)程中被印證了,數字系統的設計理念和設計方法在這過(guò)程中發(fā)生了深刻的變化。從電子CAD、電子CAE到電子設計化(EDA),隨著(zhù)設計復雜程度的不斷增加,設計的化程度越來(lái)越高。目前,EDA技術(shù)作為電子設計的通用平臺,逐漸向支持系統級的設計發(fā)展;數字系統的設計也從圖形設計方法向硬件描述語(yǔ)言設計方法發(fā)展??删幊唐骷跀底窒到y設計領(lǐng)域得到廣泛應用,不僅縮短了系統開(kāi)發(fā)周期,而且利用器件的現場(chǎng)可編程特性,可根據應用的要求對器件進(jìn)行動(dòng)態(tài)配置或編程,簡(jiǎn)單易行地完成功能的添加和修改。

在現代工業(yè)的發(fā)展中,實(shí)時(shí)測控系統得到廣泛應用,這就對高速數字信號處理系統提出了更高的要求。因為要涉及大量的計算,為了提高運算速度,應用了大量DSP器件。是整個(gè)系統的核心部分之一,傳統方法是應用MCU或DSP通過(guò)軟件控制數據采集的模/數轉換,這樣必將頻繁中斷系統的運行從而減弱系統的數據運算能力,數據采集的速度也將受到限制。因此,DSP+CPLD的方案被認為是數字信號處理系統的最優(yōu)方案之一,由硬件控制模/數轉換和數據存儲,從而最大限度地提高系統的信號采集和處理能力。

1 系統總體方案

是基于DSP的信號處理系統中的一部分,框圖如圖1所示。該數字信號處理系統用于隨機共振理論在弱信號檢測中的應用研究中。整個(gè)系統由信號放大、信號濾波、信號采樣、高速數字信號處理、與主計算機的高速數據傳輸接口等部分組成。其中,信號放大是對輸入信號進(jìn)行調理以滿(mǎn)足采樣的要求;信號濾波是防止信號產(chǎn)生混疊現象;信號采樣是完成模擬信號的數字化;高速數字信號處理是在建立隨機共振模型的基礎上完成各種算法;與主計算機的高速數據傳輸接口是滿(mǎn)足信號檢測的實(shí)時(shí)性,將DSP處理的數據傳給計算機以進(jìn)行進(jìn)一步的處理。 基于 設計的狀態(tài)機由硬件控制A/D轉換以及自動(dòng)向FIFO中存儲數據,采樣頻率由DSP系統的輸出時(shí)鐘確定,當采樣數據達到一幀時(shí),FIFO向DSP申請中斷,DSP系統啟動(dòng)DMA完成數據讀取。這期間數據采集不中斷,從而實(shí)現連續的實(shí)時(shí)數據采集和實(shí)時(shí)數據處理。由A/D芯片MAX196、邏輯控制芯片EPM7128、FIFO芯片CY7C425組成??刂七壿嬘?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/Verilog">Verilog 語(yǔ)言描述,并進(jìn)行了仿真和實(shí)際驗證。

2 硬件電路設計

2.1 A/D轉換芯片

系統A/D轉換由MAX196芯片實(shí)現。MAX196的特點(diǎn)為:

①12位A/D轉換精度,1/2 LSB線(xiàn)性度;

②單5V電源供電;

③軟件選擇模擬量輸入范圍,分別為:±10V、±5V、0~5V、0~10V;

④6模擬量輸入通道;

⑤6μs轉換時(shí)間,100ksps采樣速率;

⑥內部或外部采樣控制;

⑦內部或外部時(shí)鐘控制轉換。

在MAX196的控制字中:

①A2A1A0為通道選擇字:000~101分別代表通道0~5;

②BIP、RNG為輸入范圍和極性選擇;

③ACQMOD:采樣控制模式,0為內部控制采樣,1為外部控制采樣;

④PD1、PD0為時(shí)鐘與省電模式選擇。

內部轉換模式時(shí)序如圖2所示。當向MAX196寫(xiě)入包含通道選擇、量程選擇、極性選擇的控制字時(shí),完成A/D轉換的初始化??刂谱值腁CQMOD位用來(lái)選擇內部轉換模式和外部轉換模式,當寫(xiě)入ACQMOD位為0的控制字時(shí),將啟動(dòng)內部轉換模式,這里采用內部采樣模式,一次轉換需要12個(gè)時(shí)鐘周期,轉換周期由芯片內部時(shí)鐘確定。寫(xiě)入一個(gè)寫(xiě)脈沖(WR+CS)可以啟動(dòng)一次轉換。當在A(yíng)/D轉換期間寫(xiě)入新的控制字時(shí),將中止轉換并啟動(dòng)一次新的采樣周期。A/D轉換結束,輸出低電平信號INT有效,信號RD讀取A/D轉換結果并復位INT信號,完整的一個(gè)轉換周期結束。

2.2 數據緩存器

系統采集的數據常常放在數據緩存器中。數據緩存區要求既要有與A/D芯片的接口又要有與系統DSP的接口以提高數據吞吐率,因此常選用雙口RAM或FIFO。由于FIFO不需要地址尋址,為了簡(jiǎn)化控制信號,本模塊采用FIFO芯片CY7C425作為數據緩存區。FIFO存儲器允許數據寫(xiě)入和讀出不依賴(lài)于數據速率,并且總是以寫(xiě)入的順序讀出。根據Full和Empty標志來(lái)判斷存儲器全滿(mǎn)或空。FIFO芯片可以進(jìn)行數據寬度和存儲深度的擴展而不會(huì )增加額外的時(shí)間延遲。當寫(xiě)信號(W)為低電平時(shí)發(fā)生寫(xiě)操作,當讀信號(R)為低電平時(shí)發(fā)生讀操作。A/D轉換的結果通過(guò)寫(xiě)操作不斷存入FIFO中,當FIFO滿(mǎn)時(shí),Full標志有效,向系統申請中斷,DSP響應中斷,立即啟動(dòng)DMA讀FIFO中的數據,當讀到空時(shí),Empty標志有效,DSP停止讀入操作。采用兩片CY7C425擴展為18位1024字的高速異步FIFO存儲器,數據處理速度達到50MHz,可以實(shí)現數據的高速寫(xiě)入和高速讀出。FIFO異步讀寫(xiě)時(shí)序見(jiàn)圖3。

2.3 狀態(tài)機模塊

狀態(tài)機FSM完成自動(dòng)A/D轉換和數據存儲,控制芯片是EPM7128SQC100。該狀態(tài)機由系統時(shí)鐘驅動(dòng),產(chǎn)生RD、WR、INT信號,狀態(tài)機能連續運行,不斷地寫(xiě)命令字以啟動(dòng)A/D轉換,然后讀出A/D的轉換結果并同時(shí)寫(xiě)入FIFO。

復位時(shí),產(chǎn)生寫(xiě)脈沖WR,芯片MAX196在WR的上升沿鎖存外部輸入的命令控制字,開(kāi)始A/D轉換。當A/D轉換結束時(shí),芯片INT變?yōu)榈碗娖?,在下一個(gè)時(shí)鐘的上升沿,RD變?yōu)榈碗娖?,數據總線(xiàn)上輸出數據。當RD信號低電平有效時(shí),INT信號變?yōu)楦唠娖?,下一個(gè)時(shí)鐘的上升沿,RD信號變?yōu)楦唠娖?,在RD的上升沿數據被鎖存進(jìn)FIFO。RD信號回到高電平后,WR信號變?yōu)榈碗娖?,于是又開(kāi)始下一次轉換。

3 系統的 描述

電子系統設計中一般遵循自上而下的設計思路,對系統進(jìn)行設計、描述與仿真??紤]到模塊的通用性和可移植性,常常使用HDL語(yǔ)言來(lái)描述數字系統,如Verilog HDL、VHDL、AHDL語(yǔ)言等。其中Verilog HDL語(yǔ)言具有結構清晰、文法簡(jiǎn)明、功能強大、高速模擬和多庫支持等優(yōu)點(diǎn),被近90%的半導體公司使用,成為一種強大的設計工具。

3.1 用Verilog HDL語(yǔ)言描述MAX196

用Verilog HDL程序描述MAX196模塊,可以把模塊用于采集系統的仿真,以驗證狀態(tài)機設計的正確性。該模塊主要有三個(gè)輸入信號和一個(gè)輸出信號,與芯片的控制信號是一致的。程序說(shuō)明如下:

module adc(reset,rd_adc,wr_adc,int_adc);

input reset,rd_adc,wr_adc;

output int_adc;

reg int_adc;

always @(posedge wr_adc or negedge rd_adc or negedge reset)

begin

if(!reset)int_adc=1;

else if(rd_adc==0)begin int_adc=1;end

else begin #10 int_adc=0;end

end

endmodule

3.2 用Verilog HDL語(yǔ)言描述自動(dòng)狀態(tài)機

自動(dòng)狀態(tài)機有三個(gè)輸入信號和兩個(gè)輸出信號,輸入信號中clk由DSP系統輸出以控制采樣速度,reset信號復位自動(dòng)狀態(tài)機,int_adc是A/D芯片轉換結束的響應信號;輸出信號rd_adc、wr_adc控制A/D芯片的轉換開(kāi)始和數據的讀出,以及控制FIFO將數據寫(xiě)入FIFO。程序說(shuō)明如下:

module fsm(int_adc,clk,reset,rd_adc,wr_adc);

output rd_adc,wr_adc;

input int_adc,clk,reset;

reg rd_adc,wr_adc;

reg[1:0]present;

parameter reset_ad=2'h0,start_ad=2'h1,wait_ad=2'h2,read_ad=2'h3;

always @(posedge clk or negedge reset)

if(~reset) begin present=reset_ad;rd_adc=1;wr_adc=0;end

else

begin

case(present)

reset_ad:if(rd_adc)

begin present=start_ad;wr_adc=1;end

start_ad:if(~int_adc)

begin present=wait_ad;rd_adc=0;end

wait_ad:if(~rd_adc)

begin present=read_ad;wr_adc=0;end

read_ad:if(~int_adc)

begin present=reset_ad;rd_adc=1;end

endcase

end

endmodule

3.3 數據采集系統

MAX196模塊和狀態(tài)機模塊組成高層模塊--自動(dòng)采樣系統,通過(guò)模塊實(shí)例的調用和端口映射語(yǔ)句實(shí)現模塊的組合。特別設定輸出信號int_adc,可使仿真波形看得更加清楚。程序說(shuō)明如下:

module simuadc(clk,reset,rd_ad,wr_adc,int_adc);//系統模塊

output rd_adc,wr_adc,int_adc;

input clk,reset;

reg rd_adc,wr_adc,int_adc;

adc adcmax196(reset,rd_adc,wr_adc,int_adc);//A/D芯片模塊

fsm fsmdsp(int_adc,clk,reset,rd_adc,wr_adc);//狀態(tài)機模塊

endmodule

3.4 仿真圖形

圖5為采集系統的時(shí)序仿真圖。CLK是系統外部時(shí)鐘,用于控制采樣頻率;RESET接外部復位信號,可以控制采樣的起始時(shí)刻;MAX196的WR_ADC、RD_ADC、INT_ADC分別與邏輯芯片EPM7128的控制引腳相連接。仿真圖表明,復位后,只要有CLK時(shí)鐘輸出,A/D轉換將連續進(jìn)行,轉換數據依次存入FIFO,當FIFO滿(mǎn)時(shí),向DSP發(fā)出中斷請求,DSP及時(shí)響應并啟動(dòng)DMA高速讀入FIFO中的值,由于DSP讀入的速度足夠快,因此A/D轉換并不需要停頓,從而實(shí)現實(shí)時(shí)采樣和實(shí)時(shí)處理。 本文提出的自動(dòng)采集系統采用CPLD芯片,用硬件描述語(yǔ)言設計自動(dòng)狀態(tài)機,實(shí)現硬件控制數據采集和存儲。目前采集系統應用于DSP應用板卡上,免去了DSP監控A/D芯片的時(shí)間,使信號處理系統能高效地完成復雜的隨機共振系統的研究。

更多資訊請關(guān)注:21ic模擬頻道



評論


相關(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>