吳 瓊,孫巍巍,田明才
(1.沈陽(yáng)大學(xué) 信息學(xué)院,遼寧 沈陽(yáng) 110044;2.東軟集團(tuán)股份有限公司,遼寧 沈陽(yáng) 110179)
隨著電子產(chǎn)品的普及,電容在工業(yè)器件上隨處可見(jiàn),電容的測(cè)量得到了很好的發(fā)展,測(cè)量的理論和方法層出不窮.傳統(tǒng)的測(cè)量方法多采用模擬電路測(cè)量手段,主要有電橋電路、脈沖寬度調(diào)制電路、脈沖寬度調(diào)頻電路等.其中,電橋電路包括普通交流電橋、變壓電橋、二極管電橋等[1].這些測(cè)量方式環(huán)節(jié)多,容易受零漂、溫漂的影響,尤其對(duì)小電容的測(cè)量,難以保證其精度.
本設(shè)計(jì)采用軟硬件結(jié)合的方式進(jìn)行電容測(cè)量.該電容測(cè)量?jī)x的核心思想是用恒定電流給電容均勻充電,合理設(shè)定系統(tǒng)參數(shù),通過(guò)測(cè)量電容充電時(shí)間的長(zhǎng)短確定電容值的大小.硬件電路包括電容充電電路、充電控制電路、狀態(tài)顯示電路及計(jì)數(shù)顯示電路[2];軟件部分接口充電控制電路,通過(guò)分頻、選擇、計(jì)數(shù)、譯碼、顯示等軟件流程得到顯示信息、再接口狀態(tài)及計(jì)數(shù)顯示硬件電路,完成電容測(cè)量過(guò)程[3].
電容測(cè)量原理圖如圖1所示.
圖1 電容測(cè)量原理圖Fig.1 Capacitance measurement schematics
(1)復(fù)位電路.為了保證硬件電路中存在可控的放電電路部分,設(shè)計(jì)采用雙刀單擲開(kāi)關(guān),一方面,在電路初態(tài)實(shí)現(xiàn)對(duì)電容的完全放電,同時(shí)將軟件模塊清零,等待電容充電狀態(tài)的開(kāi)始.
(2)充電電路.本設(shè)計(jì)以運(yùn)算放大器LM 358為核心,使其工作于線性區(qū),應(yīng)用積分電路來(lái)實(shí)現(xiàn)對(duì)電容兩端的恒流充電過(guò)程[4-5].
在充電過(guò)程中,應(yīng)當(dāng)保證充電電流恒定.當(dāng)充電電流恒定不變時(shí),隨著充電時(shí)間的增加,電容一端的電壓持續(xù)均勻升高,合理設(shè)置閾值電壓,則電容兩端充到該閾值電壓所用的時(shí)間將與電容器電容成正比,因此,可以通過(guò)充電時(shí)間的長(zhǎng)短來(lái)測(cè)量電容值的大小.
需要注意的是,充電電壓范圍的選擇要滿足均勻充電過(guò)程,且低于電容的擊穿電壓值.
(3)比較電路.設(shè)置運(yùn)放工作于非線性區(qū),依據(jù)充電電壓與閾值電壓的相對(duì)大小關(guān)系,通過(guò)比較電路向外界輸出信號(hào),來(lái)判斷充電完成與否,接入計(jì)數(shù)處理模塊,完成狀態(tài)識(shí)別.同時(shí)輸出控制信號(hào),終止軟件計(jì)數(shù).
(4)計(jì)數(shù)處理模塊.接收復(fù)位信號(hào)信息,將系統(tǒng)復(fù)位清零,依據(jù)設(shè)定內(nèi)部時(shí)鐘頻率進(jìn)行計(jì)數(shù),直至接收到比較電路的終止信號(hào)時(shí)完成計(jì)數(shù)過(guò)程,計(jì)算電容值,并驅(qū)動(dòng)LED于狀態(tài)顯示電路顯示.
(5)顯示電路.接收計(jì)數(shù)處理模塊輸出信號(hào),完成LED與狀態(tài)直觀顯示功能.
電阻R2、R3阻值的確定:一是要當(dāng)S1斷開(kāi)時(shí),在運(yùn)放UIA的反相輸入端產(chǎn)生一個(gè)合適的電壓,而形成一個(gè)對(duì)被測(cè)電容器充電的恒定電流電路;二是要產(chǎn)生一個(gè)高電平信號(hào)控制后續(xù)電路,此處選擇R2=5.1kΩ,R3=4kΩ,滿足上述要求.電容充電電路圖如圖2所示.
圖2 電容充電電路圖Fig.2 Capacitor charging circuit diagram
在開(kāi)始測(cè)量前,將S1、S2閉合,S2閉合將被測(cè)電容的電荷全部放掉,使得電容器初始電壓為0;S1閉合是給后續(xù)的軟件模塊一個(gè)復(fù)位信號(hào),軟件模塊清零.t=0時(shí)刻,S1、S2同時(shí)斷開(kāi),開(kāi)始測(cè)量.
運(yùn)放LM 358配合R1、R2、R3與被測(cè)電容C組成積分電路,實(shí)現(xiàn)對(duì)電容器的恒定電流充電.其中
UIB構(gòu)成比較器,比較電壓為3.53V,比較電壓的大小是由電阻R5、R6決定的,也可以選用其他電阻而改變比較電壓.需要注意的是,比較電壓必須大于運(yùn)放UIA輸出端初始電壓,而且不能太接近.變化范圍就是UIA的輸出電壓(從2.20V逐漸增加)到比較電壓3.53V.初始狀態(tài),輸出端輸出的是高電平,但當(dāng)變化電壓增加到3.53V時(shí),輸出端輸出低電平.可見(jiàn),輸出高電平時(shí),表示電路處于測(cè)量過(guò)程中,電容正在充電;輸出低電平時(shí),表示電路處于飽和階段,測(cè)量結(jié)束.比較電路電路圖如圖3所示.
圖3 比較電路電路圖Fig.3 Comparator circuit
將U1=2.2+43×10-3t/C 代入終止條件(閾值電壓3.53V),得
其中,T為系統(tǒng)計(jì)數(shù)脈沖頻率.為使得LED數(shù)碼管能更直觀地顯示電容的容量值,保證脈沖計(jì)數(shù)個(gè)數(shù)和被測(cè)電容值相同,取計(jì)數(shù)脈沖周期0.03s,頻率32Hz.此時(shí)
數(shù)碼管顯示的計(jì)數(shù)個(gè)數(shù)就等于電容的容量值,實(shí)現(xiàn)了直觀顯示.
本電容測(cè)量?jī)x的軟件部分使用VHDL語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)[6-8].
各個(gè)模塊對(duì)于時(shí)鐘的要求各不相同,例如,計(jì)數(shù)電路所需要的脈沖信號(hào)就遠(yuǎn)遠(yuǎn)小于顯示電路的高頻掃描信號(hào);多位七段LED數(shù)碼顯示器為了得到較好的顯示質(zhì)量,需要保證掃描循環(huán)周期低于20ms(頻率大于50Hz).為了對(duì)各子模塊提供合適的時(shí)鐘信號(hào),設(shè)計(jì)中設(shè)置分頻模塊,對(duì)高頻信號(hào)進(jìn)行恰當(dāng)分頻,滿足各個(gè)模塊對(duì)clk時(shí)鐘信號(hào)的不同要求.分頻模塊VHDL程序仿真圖如圖4所示.
圖4 分頻模塊仿真圖Fig.4 Frequency module simulation Figure
電容處于充電狀態(tài)和飽和狀態(tài),軟件部分的工作方式是截然不同的.在設(shè)計(jì)中,依據(jù)輸入信號(hào)的不同狀態(tài),產(chǎn)生兩個(gè)輸出指示信號(hào),用來(lái)顯示硬件電路的工作狀態(tài).充電狀態(tài)的顯示電路通過(guò)本模塊的兩個(gè)輸出端口分別接兩個(gè)LED燈,輸入狀態(tài)的不同直接決定了輸出狀態(tài)的不同,同時(shí)存在一個(gè)穩(wěn)定的、與輸入信號(hào)相同的輸出信號(hào),作為后續(xù)電路的輸入信號(hào).指示模塊VHDL程序仿真圖如圖5所示.
圖5 充電狀態(tài)指示模塊仿真圖Fig.5 Charge status indicator module simulation
由圖5可見(jiàn),在時(shí)鐘clk的作用下,當(dāng)輸入a為高電平時(shí),輸出LED2為高電平,輸出LED1為低電平;輸入a為低電平時(shí),則正好相反.時(shí)鐘輸出信號(hào)b與a保持相同.與程序設(shè)計(jì)的初始目的相同.
計(jì)數(shù)模塊在時(shí)鐘信號(hào)的作用下工作,記下電容充電過(guò)程中所經(jīng)歷的時(shí)鐘信號(hào)周期數(shù),得到對(duì)應(yīng)的充電時(shí)間.通過(guò)電容均勻充電時(shí)間的長(zhǎng)短,通過(guò)相關(guān)計(jì)算和轉(zhuǎn)換而得到電容的容量值.
計(jì)數(shù)模塊是軟件設(shè)計(jì)模塊中的核心模塊,包括兩個(gè)輸入端:reset為復(fù)位信號(hào),由硬件輸入端提供,硬件閉合(低電平)對(duì)此模塊進(jìn)行清零操作,斷開(kāi)(高電平)開(kāi)始計(jì)數(shù);clk是指示模塊和分頻模塊通過(guò)與非門(mén)電路產(chǎn)生的時(shí)鐘信號(hào),通過(guò)對(duì)該時(shí)鐘信號(hào)計(jì)數(shù),得到充電時(shí)間.計(jì)數(shù)模塊VHDL程序仿真圖如圖6所示.
圖6 計(jì)數(shù)模塊VHDL程序仿真波形Fig.6 Counting module VHDL procedures simulation waveforms
選用七段數(shù)碼管對(duì)測(cè)量電容值進(jìn)行顯示,程序采用掃描顯示方式,分為譯碼和掃描兩部分.譯碼部分是對(duì)計(jì)數(shù)模塊輸出的數(shù)據(jù)譯碼成七段數(shù)碼管的顯示數(shù)據(jù),掃描部分通過(guò)高頻時(shí)鐘分時(shí)點(diǎn)亮各個(gè)數(shù)碼管,輪掃位選.
顯示模塊VHDL程序如圖7和圖8所示.
圖7 位選信號(hào)的仿真輸出Fig.7 Bit-select signal simulation output
圖8 段選譯碼的仿真波形Fig.8 The segment select decode simulation waveform
圖9為上文所述的所有軟件模塊的連接圖,總體模塊圖由4個(gè)模塊組成,即分頻模塊、指示模塊、計(jì)數(shù)模塊和顯示模塊.
圖9 軟件設(shè)計(jì)模塊連接圖Fig.9 Software design module connection diagram
如圖9所示的連接圖包括2個(gè)輸入接口和4組輸出接口.其中,輸入信號(hào)u0接硬件電路的比較電路輸出端,輸入信號(hào)u1接充電電路下面的輸出信號(hào),輸出信號(hào)LED1接硬件電路中的LED燈1,輸出信號(hào)LED2接硬件電路中的LED燈2,輸出信號(hào)temp[3..0]分別接八位七段數(shù)碼管的四位掃描接口,輸出信號(hào)seg7[6..0]分別接八位七段數(shù)碼管的顯示控制接口.
圖10為軟件設(shè)計(jì)部分總體仿真波形全圖.從圖10可以看出,在輸入信號(hào)u0,u1的作用下,軟件部分實(shí)現(xiàn)了完整的功能.
圖10 軟件設(shè)計(jì)部分總體仿真波形全圖Fig.10 Full map of the overall simulation waveforms of software design part
本文以電容測(cè)量?jī)x為研究?jī)?nèi)容,使用一種軟硬件結(jié)合的方式實(shí)現(xiàn)了對(duì)電容的測(cè)量.硬件部分通過(guò)運(yùn)放電路、比較電路的使用,完成了電容的恒定電流充電過(guò)程,為電容的測(cè)量提供了硬件基礎(chǔ);設(shè)定充電電壓閾值,由CPLD采集信息,通過(guò)VHDL軟編程完成充電時(shí)間的累加;應(yīng)用LED數(shù)碼管,接收CPLD輸出信號(hào),實(shí)現(xiàn)電容值的直觀顯示,完成電容測(cè)量過(guò)程,為電容測(cè)量提供了新的解決思路.
[1] 楊金峰,劉鳴.簡(jiǎn)易電容測(cè)量?jī)x的設(shè)計(jì)與調(diào)試[J].實(shí)驗(yàn)科學(xué)與技術(shù),2005(3):110-112.(Yang Jinfeng,Liu Ming.Designing and Debugging Simple Instrument for Capacitance Measuring[J].Experiment Science & Technology,2005(3):110-112.)
[2] 鄔春明,劉海維.隔離病房監(jiān)控系統(tǒng)設(shè)計(jì)[J].沈陽(yáng)大學(xué)學(xué)報(bào):自然科學(xué)版,2012(3):56-59.(Wu Chunming,Liu Haiwei.Design of Isolation Ward Monitoring System[J].Journal of Shenyang University:Natural Science,2012(3):56-59.)
[3] 吳瓊,張明,田明才.基于有限狀態(tài)機(jī)的Morse碼識(shí)別算法的 VHDL實(shí)現(xiàn)[J].沈陽(yáng)大學(xué)學(xué)報(bào),2011(3):1-4.(Wu Qiong,Zhang Ming, Tian Mingcai. Discerning Algorithm of Morse Code with VHDL Based on Finite State Machine[J].Journal of Shenyang University,2011(3):1-4.)
[4] 沈曉谷.采用脈沖計(jì)數(shù)法以單片機(jī)實(shí)現(xiàn)電容的測(cè)量[J].上海應(yīng)用技術(shù)學(xué)院學(xué)報(bào):自然科學(xué)版,2006(4):290-293.(Shen Xiaogu. Capacity Measure of Single-chip Microcomputer by Using Pulse Counting[J].Journal of Shanghai Institute of Technology:Natural Science,2006(4):290-293.)
[5] 邵學(xué)濤,李新娥.振蕩式微小電容測(cè)量電路[J].電子測(cè)試,2011(1):50-53.(Shao Xuetao, Li Xin’e. Measuring circuit with the oscillating micro-capacitance[J].Electronic Test,2011(1):50-53.)
[6] 侯伯亨.VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2004.(Hou Boheng.VHDL hardware description language and digital logic circuit design[M].Xi’an:Press of Xi’an University of Electronic Science and Technology,2004.)
[7] 李洋.EDA技術(shù)實(shí)用教程[M].北京:機(jī)械工業(yè)出版社,2009.(Li Yang.Technology of EDA[M].Beijing:Machinery Industry Press,2009.)
[8] 譚會(huì)生,張昌凡.EDA技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004.(Tan Huisheng,Zhang Changfan.EDA Technology and Application[M].Xi’an:Press of Xi’an University of Electronic Science and Technology,2004.)
沈陽(yáng)大學(xué)學(xué)報(bào)(自然科學(xué)版)2012年6期