新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于VerilogHDL的背景噪聲扣除電路設(shè)計(jì)

基于VerilogHDL的背景噪聲扣除電路設(shè)計(jì)

作者: 時(shí)間:2008-04-18 來源:網(wǎng)絡(luò) 收藏
摘要本文介紹了一種基于硬件描述語言噪聲扣除,該設(shè)計(jì)與以往使用加減計(jì)數(shù)芯片組成的電路相比,具有與MCU接口簡(jiǎn)單,軟件操作方便等優(yōu)點(diǎn)。
關(guān)鍵詞噪聲扣除

Abstract: A design of circuit which can deduct background noise based on is introduced in this paper. Compared with the circuit used chips of the forward and backward counters , its interface with MCU is more simple and operation of software is more easy .

Key Word: VerilogHDL, background noise, deduction

1 引言

在微弱信號(hào)檢測(cè)方法中,常需要使直流量經(jīng)光電調(diào)制后轉(zhuǎn)變?yōu)榻涣餍盘?hào)進(jìn)行測(cè)量,以扣除噪聲來提高系統(tǒng)信噪比。星載紫外遙感儀器同樣采用了壓頻轉(zhuǎn)換和調(diào)制解調(diào)實(shí)時(shí)扣除背景噪聲、零點(diǎn)飄移的方案,但其原有實(shí)現(xiàn)背景噪聲扣除功能的單元在與MCU接口及軟件控制上稍顯繁瑣,而且布線面積較大。如能將背景噪聲扣除功能設(shè)計(jì)成為具有通用接口和易操作的專用集成電路,對(duì)該儀器的升級(jí)換代有積極的意義。

硬件描述語言VerilogHDL 提供了是一種在廣泛的抽象層次上描述數(shù)字系統(tǒng)的方式,以其C語言風(fēng)格,容易掌握等特點(diǎn)贏得了眾多硬件設(shè)計(jì)師的青睞。通過軟件編程來實(shí)現(xiàn)硬件功能后,下載到FPGA或CPLD大規(guī)模可編程邏輯器件,能將電路板級(jí)產(chǎn)品集成為芯片級(jí)產(chǎn)品。

為此,本文使用VerilogHDL進(jìn)行編程,采用自頂向下的設(shè)計(jì)方法,經(jīng)仿真驗(yàn)證和綜合后,得到了具有通用接口和軟件易于操作的背景噪聲電路,彌補(bǔ)了原有單元的不足,取得了較好結(jié)果。

2 背景噪聲扣除電路原理

紫外光譜遙感儀器電控部分由斬光器,精密高壓電源及光電倍增管,單片機(jī)控制單元,同步累加解調(diào)單元,前置低噪聲放大器,壓頻轉(zhuǎn)換組成。其中斬光器將空間輻射光斬切成為交替的“信號(hào)+背景”和“背景”的光信號(hào),使得光電倍增管輸出的信號(hào)如圖1所示。調(diào)制后的信號(hào)放大后,經(jīng)壓頻轉(zhuǎn)化后變?yōu)轭l率信號(hào),通過同步累加單元的處理。同步累加解調(diào)單元采用四片四位二進(jìn)制加減計(jì)數(shù)器SN54HC193進(jìn)位位相連組成16位加減計(jì)數(shù)器,并配以邏輯門電路組成實(shí)現(xiàn)的。背景噪聲的扣除功能是依靠16位加減計(jì)數(shù)器由時(shí)序控制,在通光狀態(tài)下加計(jì)數(shù),在遮光狀態(tài)下減計(jì)數(shù),經(jīng)多周期計(jì)數(shù)實(shí)現(xiàn)。

圖1經(jīng)斬光器調(diào)制后由光電倍增管輸出的信號(hào)

背景噪聲扣除原理簡(jiǎn)單,但時(shí)序控制較繁瑣。原有電路因布線面積和硬件芯片不易過多等諸多考慮,計(jì)數(shù)周期及啟??刂撇捎密浖纱沃袛嘣O(shè)置來實(shí)現(xiàn)。如圖2所示第一次為中斷

本文課題來源于國(guó)家自然科學(xué)基金資助項(xiàng)目

項(xiàng)目批準(zhǔn)號(hào):60538020

為啟動(dòng)計(jì)數(shù),查詢到斬光器信號(hào)第一個(gè)上升沿時(shí)進(jìn)入,設(shè)置好計(jì)數(shù)周期后再次啟動(dòng)MCU片內(nèi)計(jì)數(shù)器,以保證準(zhǔn)確的查詢到第一個(gè)上升沿時(shí)啟動(dòng)計(jì)數(shù)器。第二次為停止中斷,采集計(jì)數(shù)周期溢出后停止計(jì)數(shù)。


圖2 軟件控制采集計(jì)數(shù)啟停流程圖

易見原背景噪聲扣除功能單元需要與MCU接口的數(shù)據(jù)線較多,需16條,且因不同微處理器片內(nèi)資源不同,軟件操作可能會(huì)更繁瑣,可移植性不強(qiáng)。

綜上,如果將背景噪聲扣除功能單元設(shè)計(jì)成一個(gè)8位數(shù)據(jù)總線接口,高低字節(jié)分時(shí)復(fù)用,能對(duì)16位二進(jìn)制數(shù)預(yù)置數(shù)和計(jì)數(shù)周期進(jìn)行設(shè)置,操作上僅由MCU給出啟動(dòng)信號(hào)后,等查詢完成信號(hào)便可讀取計(jì)數(shù)結(jié)果的電路,則可大大減少線路板面積,使接口更簡(jiǎn)單,提高可操作性和移植性。

3 背景噪聲扣除電路的VerilgHDL設(shè)計(jì)

依據(jù)自頂向下設(shè)計(jì)思想和自底向上的實(shí)現(xiàn)方法,背景噪聲扣除電路的可劃分為主模塊(backnoise_deduct),16位二進(jìn)制加減計(jì)數(shù)模塊(bit16addsub),采集控制模塊(Ctrol),讀寫接口模塊(Addselec)四個(gè)模塊。

主模塊負(fù)責(zé)調(diào)用其它三個(gè)模塊,并將輸入輸出接口進(jìn)行連接。16位二進(jìn)制加減計(jì)數(shù)模塊負(fù)責(zé)在信號(hào)脈沖到來時(shí),對(duì)給定的預(yù)置數(shù)在調(diào)制周期的高電平時(shí)加計(jì)數(shù),在低電平時(shí)減計(jì)數(shù)。采集控制模塊負(fù)責(zé)當(dāng)MCU給出允許計(jì)數(shù)命令后,自動(dòng)查詢調(diào)制頻率的第一個(gè)上升沿啟動(dòng)計(jì)數(shù),在計(jì)數(shù)周期達(dá)到后停止計(jì)數(shù),完成計(jì)數(shù)后通知MCU。讀寫接口模塊負(fù)責(zé)與MCU接口,接收儲(chǔ)存計(jì)數(shù)周期(斬光器信號(hào)或調(diào)制信號(hào)的周期數(shù))和16位的預(yù)置數(shù),并將最后計(jì)數(shù)結(jié)果返回MCU。

主模塊的外部接口如圖3所示。FREQU1, FREQU2為采樣頻率輸入1和2;CHOP_IN斬光器或調(diào)制頻率輸入,CLR為清零信號(hào),高電平有效;cpu_alw為MCU發(fā)出的允許信號(hào),高電平有效;stopsign是采集完成信號(hào),高電平為完成;WD,RD,CS為是寫、讀、片選信號(hào);DB為8位雙向數(shù)據(jù)總線;a2_0為3線片內(nèi)寄存器地址譯碼選擇接口。


圖3 背景噪聲扣除主模塊綜合生成原理圖的外部接口

16位二進(jìn)制加減計(jì)數(shù)模塊(bit16addsub)是背景扣除電路的具體實(shí)現(xiàn)單元,代碼如下所示。

module bit16addsub(

input wire FREQU,//采樣頻率輸入

input wire CHOP_IN,//斬光器輸入

input EN,//啟??刂?/P>

input wire CLR,//請(qǐng)零

input wire [15:0] STA_NUM,//初始數(shù)值

output reg[15:0] result_num //計(jì)數(shù)結(jié)果輸出

);

always @(posedge FREQU or posedge CLR)//對(duì)采集信號(hào)和清零信號(hào)敏感

begin

if(CLR==1)//清零

result_num=STA_NUM;//重新讀入預(yù)置數(shù)

else if(EN==1CHOP_IN==1FREQU==1)

result_num=result_num+1;//在使能的狀態(tài)下調(diào)制的信號(hào)高電平時(shí)加計(jì)數(shù)

else if(CHOP_IN==0EN==1FREQU==1)

result_num=result_num-1;//在使能的狀態(tài)下調(diào)制信號(hào)的低電平時(shí)減計(jì)數(shù)

end

endmodule

采集控制模塊(Ctrol)是整個(gè)設(shè)計(jì)的時(shí)序控制核心,它輸出的ctrol與16位二進(jìn)制加減計(jì)數(shù)模塊(bit16addsub)的EN向連接便可實(shí)現(xiàn)自動(dòng)控制計(jì)數(shù)的啟動(dòng),待計(jì)數(shù)周期溢出時(shí)停止,計(jì)數(shù)完成后由stopsign后給出高電平信號(hào)通知MCU。其完整代碼如下:

module Ctrol(input wire reset, //復(fù)位信號(hào)

input wire cpu_alw, //MCU允許信號(hào)

input wire chop_in, //斬光器輸入計(jì)數(shù)

input wire [16:0] status_in, //計(jì)數(shù)周期數(shù)值

output reg ctrol, //加減計(jì)數(shù)器的啟停控制信號(hào)

output reg stopsign //計(jì)數(shù)完成信號(hào)

);

reg [16:0]num_count;//內(nèi)部計(jì)數(shù)周期寄存器

always @(posedge reset or posedge chop_in)

begin

if(reset)//復(fù)位

begin

num_count=status_in; //讀入計(jì)數(shù)周期

ctrol=0; //停止計(jì)數(shù)

stopsign=0; //沒有完成計(jì)數(shù)

end

else if(chop_in==1cpu_alw==1)//允許計(jì)數(shù)

begin

if(num_count>0) //采集未完成

begin

ctrol=1; //16加減計(jì)數(shù)器使能

num_count=num_count-1;//計(jì)數(shù)周期減一

end

else

begin

ctrol=0; //計(jì)數(shù)停止

stopsign=1; //通知MCU

end

end

end

endmodule

讀寫接口模塊(Addselec)在編程時(shí)采用通用的雙向數(shù)據(jù)總線輸入輸出方法,經(jīng)過a2_0的3線譯碼選擇寄存器地址,可對(duì)計(jì)數(shù)周期和預(yù)置數(shù)進(jìn)行賦值,并可讀出最后計(jì)數(shù)結(jié)果。表1給出了譯碼對(duì)應(yīng)的寄存器地址。

表1 a2_0譯碼選擇真值表

a2_0[2:0]

片內(nèi)寄存器

000

計(jì)數(shù)1結(jié)果低8位

001

計(jì)數(shù)1結(jié)果高8位

010

計(jì)數(shù)2結(jié)果低8位

011

計(jì)數(shù)2結(jié)果高8位

100

計(jì)數(shù)周期低8位

101

計(jì)數(shù)周期高8位

110

預(yù)置數(shù)低8位

111

預(yù)置數(shù)高8位

圖4給出了使用ModelSim 軟件對(duì)寫信號(hào)有效的仿真波形,顯示最后計(jì)數(shù)周期低、高8位寫入的數(shù)值為00000101、00000000,預(yù)置數(shù)低、高8位數(shù)值為00000011、00000000。


圖4 計(jì)數(shù)周期和預(yù)置數(shù)在總線寫入時(shí)的波形仿真結(jié)果

4背景噪聲扣除電路與MCU接口及軟件操作


圖5背景噪聲扣除電路的軟件操作流程

采用上述設(shè)計(jì)的集成背景噪聲扣除電路在與MCU接口時(shí)十分方便。以MCS51系列單片機(jī)8051為例,最簡(jiǎn)單的連接方式為采用P1口與CLR、cpu_alw、stop_sign相連接,址線與CS、a2_0連接(可據(jù)電路規(guī)模設(shè)置片選方式),數(shù)據(jù)線、讀寫正常連接即可。軟件操作不需要中斷,操作流程如圖5所示。更簡(jiǎn)單的做法是在系統(tǒng)初始化時(shí)將預(yù)置數(shù)和計(jì)數(shù)周期賦值為固定值即可。

5 結(jié)束語

本文介紹了采用計(jì)數(shù)器與門電路組成的背景噪聲扣除電路的實(shí)現(xiàn)原理和工作方式,并分析了其局限性,然后提出了一種基于VerilogHDL 語言的背景噪聲扣除電路的設(shè)計(jì),使電路接口更為簡(jiǎn)單,軟件更易操作,增強(qiáng)了移植性。該設(shè)計(jì)已經(jīng)應(yīng)用于在研的紫外遙感儀器中,為儀器的更新?lián)Q代提供了技術(shù)支持。本文以通用性和簡(jiǎn)便性出發(fā)設(shè)計(jì)的背景噪聲扣除電路的設(shè)計(jì),將適用于以光電調(diào)制微弱直流量轉(zhuǎn)換為交流信號(hào)測(cè)量的方案。

本文作者創(chuàng)新點(diǎn):針對(duì)原有背景噪聲扣除功能單元的局限性,用VerilogHDL語言設(shè)計(jì)出了接口方便、易操作的背景噪聲扣除電路,使其有具備了較強(qiáng)的通用性和適用性。

參考文獻(xiàn)

[1]汪龍祺等. 基于單片機(jī)控制的增益自動(dòng)轉(zhuǎn)換設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007.8

[2]李俊一等. 基于Verilog HDL設(shè)計(jì)的多功能數(shù)字鐘[J].微計(jì)算機(jī)信息,2006,04-2:79-81

[3]宋克非. 一種用于空間輻射測(cè)量的信號(hào)檢測(cè)方法[J].光學(xué)精密工程,1999.7-3

[4]曾慶勇. 微弱信號(hào)檢測(cè)[M] .浙江大學(xué)出版社1994.1

[5]王冠等. Verilog HDL與數(shù)字[M]. 機(jī)械工業(yè)出版社 2006.1



評(píng)論


相關(guān)推薦

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

關(guān)閉