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