摘 "要: 在工程應(yīng)用和科學(xué)研究中,經(jīng)常需要對脈沖寬度進(jìn)行精確測量。在此設(shè)計一種電路,采用51系列單片機(jī)作為核心控制部件,用液晶顯示模塊LCM1602作為顯示部件,可以對脈沖寬度進(jìn)行精確測量。結(jié)合EDA現(xiàn)代電子技術(shù),在Protues仿真軟件中進(jìn)行仿真測試,測試表明該電路具有性能穩(wěn)定、精度高、成本低的優(yōu)點。
關(guān)鍵詞: Protues; 脈沖寬度; 精確測量; 仿真測試
中圖分類號: TN919?34; TP391 " " " " " " 文獻(xiàn)標(biāo)識碼: A " " " " " " " " " " " " "文章編號: 1004?373X(2015)06?0156?03
Design and simulation of pulse width measuring circuit based on Protues
XU Chang?an
(Wanjiang College of Anhui Normal University, Wuhu 241008, China)
Abstract: It is necessary to measure pulse width accurately in engineering application and scientific research. In this paper, a circuit with 51 series microcontroller as its core control unit, and with the liquid crystal display module LCM1602 as its display part is designed. It can accurately measure the pulse width. Combined with EDA modern electronics technique, simulation testing was carried out on Protues simulation software. The testing result shows that the circuit has the advantages of stable performance, high precision and low cost
Keywords: Protues; pulse winth; accurate measurement; simulation testing
脈沖寬度的測量,實質(zhì)上是對時間的測量,在工程應(yīng)用和科學(xué)研究中,經(jīng)常需要對數(shù)字信號的脈寬進(jìn)行測量[1]。為了更好地滿足這一要求,在保證測量電路具有高精度的同時,還要有較高的穩(wěn)定性,單片機(jī)作為核心控制部件當(dāng)之無愧。本文利用現(xiàn)代電子技術(shù)的優(yōu)勢,采用EDA技術(shù),在Protues仿真軟件中實現(xiàn)了脈寬的精確測量[2]。
1 "脈沖寬度的測量方法
1.1 "連續(xù)脈沖寬度的測量[3]
對于連續(xù)方波脈寬的測量,為了提高測量的精度,可以對N個脈沖進(jìn)行測量,然后求平均數(shù)。如果不是方波,在誤差允許范圍內(nèi),也可采用此方法測量脈沖的平均寬度。如圖1所示,T為周期,脈寬分別為t1,t2,…,tn,脈沖平均脈寬的表達(dá)式為:[t=t1+t2+…+tnn]。
1.2 "單脈沖寬度的測量
對于單脈沖寬度的測量,一般按照圖2方法進(jìn)行測量[4],先由振蕩器(一般為高穩(wěn)定度的石英振蕩器)產(chǎn)生一定頻率的方波,通過一個門控電路送給計數(shù)器進(jìn)行計數(shù),計數(shù)器計數(shù)值的多少和振蕩器的周期的大小反應(yīng)了門控電路接通時間的長短,如用被測脈沖來控制門控電路,則可以測出該脈沖的寬度,測量精度主要取決于振蕩器振蕩頻率的穩(wěn)定度和計數(shù)器計數(shù)值的精確度。
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\09T1.tifgt;
圖1 連續(xù)脈沖波形
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\09T2.tifgt;
圖2 測量脈沖寬度方框圖
對于圖2的實現(xiàn),可以采用一般的數(shù)字電路芯片來完成,輔助以脈沖整形、通道觸發(fā)控制等電路,系統(tǒng)較為復(fù)雜,穩(wěn)定度和精度都難以保證。采用單片機(jī)作為該電路的控制核心,在電路得到簡化的同時,穩(wěn)定度和精度都會大大提高。
2 "單片機(jī)控制脈沖寬度的測量
2.1 "單片機(jī)控制脈寬測量電路的原理及硬件電路
單片機(jī)控制脈寬測量電路框圖如圖3所示,被測信號直接送單片機(jī)芯片,利用單片機(jī)內(nèi)部的時鐘信號和定時/計數(shù)部件完成測量任務(wù),同時還可通過編程應(yīng)用相應(yīng)的算法進(jìn)行測量數(shù)據(jù)的處理,結(jié)果直接送顯示電路顯示即可。
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\09T3.tifgt;
圖3 單片機(jī)控制脈寬測量方框圖
單片機(jī)控制脈寬測量電路的硬件電路如圖4所示,采用51系列單片機(jī)芯片AT89C51來控制,圖中單片機(jī)芯片的復(fù)位電路和晶振電路沒有給出。K1為復(fù)位命令鍵,按下準(zhǔn)備測試;K2為測試命令鍵,按下開始測試;用字符型液晶顯示模塊LCM1602(圖4中仿真時用LM032L)作為顯示器件,設(shè)置成兩行16字符顯示模式,74LS00為顯示接口芯片,RP1為P0口的上拉排阻;被測脈沖從P3.2送入。將AT89C51內(nèi)部的T0設(shè)置成方式1定時,設(shè)晶振頻率為12 MHz,即機(jī)器周期為1 μs,則計數(shù)器T0工作時將對機(jī)器周期進(jìn)行計數(shù)。將TMOD中T0的GATE位設(shè)置成“1”,即T0的啟動由TR0位(軟件設(shè)置)和硬件P3.2引腳電位(被測脈沖)共同控制。由于AT89S51輸入脈沖頻率不能超過晶振頻率的[124],則被測脈沖的頻率小于500 kHz或周期大于2 μs;如用AT89S51,晶振頻率用24 MHz,則理論上輸入脈寬下限為1 μs。脈寬的上限值由AT89C51內(nèi)部的計數(shù)器的最大值決定,將定時/計數(shù)器設(shè)置成方式1,可達(dá)到最大計數(shù)值為65 536,則理論上脈寬的上限值為65 536 μs。如果通過編程對T0的溢出次數(shù)進(jìn)行計數(shù),可以成倍增大測量脈寬的上限值[5]。
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\09T4.tifgt;
圖4 脈寬測量硬件電路圖
2.2 "單片機(jī)控制脈寬測量電路的軟件設(shè)計
圖5為測試主程序流程圖,先初始化相應(yīng)寄存器,然后等待測試請求按鍵K2按下,K2按下后,進(jìn)入測試子程序。測試子程序先等待被測脈沖電位變低,低電位時置TR0為“1”,在被測脈沖上升沿到來時啟動T0計數(shù),下降沿時停止計數(shù),最后讀出T0的計數(shù)值[6]。數(shù)據(jù)處理子程序首先完成數(shù)據(jù)十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換[7],然后將每一位要顯示的數(shù)字轉(zhuǎn)換成ASCII碼送相應(yīng)的顯示緩沖區(qū)單元。顯示子程序先在第一行顯示“Please press button:”字樣等待測試命令,測試完成后在第二行顯示測試的具體值。
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\09T5.tifgt;
圖5 主程序流程圖
2.3 "單片機(jī)控制脈寬測量電路的Protues仿真測試
在protues仿真軟件中建立圖4所示電路,編寫程序,調(diào)試好后生成.hex文件裝入AT89C51,仿真結(jié)果電路工作正常,等待測試(或復(fù)位后)和測試結(jié)束時的液晶顯示情況見圖6和圖7。
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\09T6.tifgt;
圖6 復(fù)位時的顯示圖
采用Protues自帶的Dclock作為輸入脈沖,通過Dclock的屬性對話框修改其脈寬,在輸入頻率為8 Hz~50 kHz范圍內(nèi)誤差很小,小于6 Hz或大于60 kHz時測試結(jié)果不正常,顯示為0。具體的參數(shù)測試結(jié)果見表1,從表中可以看出該脈寬測試電路在相應(yīng)頻段有較高的精度。
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\09T7.tifgt;
圖7 測試結(jié)果顯示圖
表1 測試結(jié)果表
3 "結(jié) "語
該脈寬測量電路由于采用單片機(jī)芯片控制,所以電路結(jié)構(gòu)簡單、成本低,同時可靠性和穩(wěn)定性大大提高;由于采用液晶顯示,所以控制簡單,顯示直觀明了且位數(shù)較長。實際電路使用時要注意幾點:第一,可通過提高單片機(jī)的性能和適當(dāng)增加單片機(jī)的晶振頻率來降低測量脈寬的下限值;通過編程增大單片機(jī)計數(shù)器的計數(shù)值來提高測量脈寬的上限值。第二,仿真時只簡單地采用protues內(nèi)部的DCLOCK作為輸入脈沖,實際電路可能需要對輸入脈沖進(jìn)行整形處理。第三,protues仿真測試數(shù)據(jù)和實際測試數(shù)據(jù)之間存在誤差(如實際測試時輸入脈沖頻率大于50 kHz不會顯示為0),具體參數(shù)以實際電路的測試結(jié)果為準(zhǔn)。
參考文獻(xiàn)
[1] 仵曉輝,師廷偉,金長江.一種基于FPGA的脈沖寬度精確測量方法[J].電光系統(tǒng),2011,9(3):45?47.
[2] 夏云生,張賀元.基于Protues的雙二次型低通濾波器設(shè)計與仿真 [J].現(xiàn)代電子技術(shù),2014,30(8):22?24.
[3] 朱玉紅.MCS?51單片機(jī)對連續(xù)脈沖寬度測量的實現(xiàn)[J].自動化與儀器儀表,2003(1):35?36.
[4] 謝行恕,康士秀,霍劍青.大學(xué)物理實驗[M].北京:高等教育出版社,2001.
[5] 范立南,謝子殿.單片機(jī)原理及應(yīng)用教程[M].北京:北京大學(xué)出版社,2006.
[6] 張毅剛,彭喜元,彭宇.單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社,2010.
[7] 姜志海,黃玉清,劉連鑫.單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2009.