摘 要: 設(shè)計(jì)了一種基于FPGA的超聲波測(cè)距模塊。在時(shí)序和信號(hào)處理方面,,采用Cyclone II系列EP2C5T144C8芯片,,通過設(shè)計(jì)時(shí)序發(fā)生器、高速計(jì)數(shù),、回波識(shí)別和可變門檻控制等邏輯電路模塊可快速有序地對(duì)信號(hào)進(jìn)行處理,。在聲速方面,加入了溫度補(bǔ)償模塊,,避免使用固定的聲速值所引入的偏差,,從而提高系統(tǒng)精度。該系統(tǒng)具有可靠性高,、集成度高和響應(yīng)速度快等特點(diǎn),,實(shí)驗(yàn)表明,在距障礙物600 mm~3 600 mm時(shí),,相對(duì)誤差在0.3%以內(nèi),,測(cè)量精度得到很大提高。
關(guān)鍵詞: 超聲波測(cè)距,;FPGA,;溫度補(bǔ)償;DS18B20,;回波識(shí)別
超聲波測(cè)距是一種非接觸式測(cè)量技術(shù),,具有定向性好以及對(duì)色彩、光照度,、外界光線和電磁場(chǎng)不敏感的優(yōu)點(diǎn),,當(dāng)被測(cè)物處于黑暗、有灰塵或煙霧,、強(qiáng)電磁干擾及有毒等惡劣的環(huán)境時(shí),超聲波有很強(qiáng)的適應(yīng)性,。因此超聲波傳感器廣泛用于工業(yè)測(cè)量,、安全預(yù)警、車輛避障,、自動(dòng)導(dǎo)航以及現(xiàn)場(chǎng)機(jī)器人等相關(guān)領(lǐng)域,。
目前絕大多數(shù)超聲波測(cè)距系統(tǒng)都是以單片機(jī)作為信號(hào)發(fā)生和控制器,其測(cè)量精度嚴(yán)重受限于單片機(jī)的晶振頻率(1.2 MHz~24 MHz),,往往難以令人滿意,。而且用單片機(jī)控制的測(cè)距系統(tǒng)需要輔助設(shè)計(jì)較多的由分立元件組成的外部模擬電路,,故其抗干擾性能也相對(duì)較差。FPGA作為一種高密度可編程器件,,其內(nèi)部可以集成較大規(guī)模的邏輯單元,,適用于時(shí)序、組合等各種邏輯電路應(yīng)用場(chǎng)合,,具有運(yùn)行速度快(100 MHz以上),、內(nèi)部資源豐富等特點(diǎn)[2],為開發(fā)高精確度的超聲測(cè)距系統(tǒng)提供了新的設(shè)計(jì)方案,。
為此,,本文設(shè)計(jì)了一種基于FPGA的超聲波測(cè)距系統(tǒng),有效提升了系統(tǒng)整體性能,。
1 超聲波測(cè)距原理
目前,,超聲波傳感器的種類有很多,一般采用壓電式超聲波傳感器,。超聲波測(cè)距原理如圖1所示,。超聲波信號(hào)由超聲波發(fā)射探頭發(fā)出的同時(shí),計(jì)數(shù)器開始計(jì)數(shù),,超聲波在傳輸過程中遇到障礙物會(huì)反射回來(稱為回波),,在超聲波接收探頭收到回波的同時(shí),計(jì)數(shù)器停止計(jì)數(shù),。由速度和時(shí)間即可得到障礙物與測(cè)距裝置之間的距離:
S≈L=V×t/2(1)
其中,,S為障礙物與測(cè)距裝置之間的距離,V為超聲波的傳播速度,,t為計(jì)數(shù)器測(cè)得時(shí)間,。
2 測(cè)距系統(tǒng)與硬件電路
本超聲波測(cè)距系統(tǒng)整體結(jié)構(gòu)如圖2所示,包括發(fā)射模塊,、接收模塊,、顯示模塊、溫度補(bǔ)償模塊和FPGA設(shè)計(jì)模塊等,。
CX20106A的2引腳與GND之間連接RC串聯(lián)網(wǎng)絡(luò),,改變它們的數(shù)值便能改變芯片內(nèi)部前置放大器的增益和頻率特性。增大電阻R或是減小電容C,,都將使負(fù)反饋量增大,,放大倍數(shù)下降;反之則放大倍數(shù)增大,。這樣便可以調(diào)節(jié)超聲波接收探頭R的接收靈敏度,。但電容的改變會(huì)影響頻率特性。
CX20106A的5引腳與電源端VCC接入一個(gè)電阻,,用來設(shè)置其內(nèi)部帶通濾波器的中心頻率f0,。當(dāng)R6阻值越大時(shí),,濾波器的中心頻率越低。
CX20106A的7引腳的輸出方式為集電極開路,,因此該引腳必須接上一個(gè)上拉電阻到電源端,,沒有接收到超聲波回波信號(hào)時(shí),該端輸出為高電平,,當(dāng)有回波信號(hào)進(jìn)入時(shí),,該引腳則會(huì)跳變?yōu)榈碗娖健?br />
3 FPGA邏輯電路設(shè)計(jì)
在測(cè)距系統(tǒng)中,F(xiàn)PGA設(shè)計(jì)主要的功能模塊有:時(shí)序發(fā)生電路模塊,、回波識(shí)別模塊,、檢波模塊、可變門檻控制模塊,、高速計(jì)數(shù)器模塊,、溫度補(bǔ)償計(jì)算模塊、距離計(jì)算模塊,、顯示控制模塊和一些輔助模塊,。在此,F(xiàn)PGA主要完成了產(chǎn)生超聲波驅(qū)動(dòng)信號(hào),、檢波,、計(jì)時(shí)、溫度補(bǔ)償計(jì)算,、距離計(jì)算和抗干擾等任務(wù),。
時(shí)序發(fā)生器是FPGA和整個(gè)系統(tǒng)按照設(shè)定的時(shí)序正常工作的基礎(chǔ)。主要為FPGA,、超聲波驅(qū)動(dòng)控制信號(hào),、接收使能信號(hào)和高速計(jì)數(shù)器等提供精確的時(shí)序與控制。在時(shí)序發(fā)生器的基礎(chǔ)上,,通過將全局時(shí)鐘信號(hào)進(jìn)行分頻處理,,得到符合驅(qū)動(dòng)信號(hào)頻率的方波脈沖。
檢波器接收電壓比較器的輸出信號(hào)進(jìn)行高速處理,,并對(duì)回波到達(dá)時(shí)間精確鎖定,,同時(shí)高速計(jì)數(shù)器會(huì)停止計(jì)數(shù)。
高速計(jì)數(shù)器主要通過記錄計(jì)數(shù)脈沖的個(gè)數(shù)來計(jì)算渡越時(shí)間,。在驅(qū)動(dòng)超聲波信號(hào)發(fā)出時(shí),,高速計(jì)數(shù)器開始計(jì)數(shù),信號(hào)經(jīng)功率放大再由發(fā)射探頭發(fā)出超聲波,,遇到障礙物后返回,回波經(jīng)電壓比較器和檢波器后,,由檢波器向高速計(jì)數(shù)器發(fā)出信號(hào),,高速計(jì)數(shù)器停止計(jì)數(shù),。由于高速計(jì)數(shù)器的計(jì)數(shù)頻率即為驅(qū)動(dòng)超聲波信號(hào)的頻率,因此可以計(jì)算出渡越時(shí)間t=n/f,,其中n為計(jì)數(shù)脈沖的個(gè)數(shù),,f為驅(qū)動(dòng)超聲波信號(hào)的頻率。
門檻控制是指設(shè)定一個(gè)電壓門檻,,在回波幅值高于此門檻的時(shí)候才有效,。可變門檻控制模塊主要是為了接收回波并降低干擾,。障礙物的遠(yuǎn)近不同,,回波的強(qiáng)度亦有所不同,所以應(yīng)當(dāng)設(shè)置可變的門檻值,。當(dāng)障礙物較遠(yuǎn)時(shí),,采用低的門檻值;反之,,采用較高的門檻值,。絕大多數(shù)干擾信號(hào)的幅值較低,采用較高門檻就有較好的魯棒性,,能有效降低外界的干擾,。由于被測(cè)距離多分布于中等范圍,因此,,在大部分時(shí)間內(nèi)可以采用較高門檻值,,有效避開干擾信號(hào)。
依據(jù)信號(hào)的強(qiáng)度來區(qū)分回波和干擾,,而回波識(shí)別模塊是依據(jù)信號(hào)的持續(xù)時(shí)間和周期個(gè)數(shù)區(qū)分回波和干擾,。由于超聲波發(fā)生器振子存在余振,余振波也會(huì)成為一種干擾,,但余振和一般的干擾信號(hào)至多只有1~2個(gè)周期,,而真實(shí)回波持續(xù)時(shí)間長一般會(huì)超過10個(gè)周期。所以設(shè)計(jì)回波模塊時(shí),,如果周期超過一定數(shù)目,,則認(rèn)為是真實(shí)回波,否則忽略對(duì)該信號(hào)的接收,。這樣能進(jìn)一步減小干擾,。
4 實(shí)驗(yàn)結(jié)果分析及總結(jié)
為驗(yàn)證超聲波測(cè)距模塊的測(cè)量精度,在室內(nèi)(溫度為18.6℃)進(jìn)行了實(shí)際測(cè)量實(shí)驗(yàn),,其中測(cè)量距離由鋼質(zhì)卷尺多次測(cè)量求平均值所得,。數(shù)據(jù)如表1所示。
從表1可以看出,距障礙物過近或較遠(yuǎn)時(shí),,測(cè)量精度下降,。因?yàn)樘鼤r(shí)接收和發(fā)射等電路的時(shí)延影響相對(duì)變大,而且發(fā)射信號(hào)必須有一個(gè)上升時(shí)間,,當(dāng)障礙物距離太近時(shí)系統(tǒng)不能及時(shí)處理回波信號(hào)[6],,所以測(cè)量誤差明顯增加。障礙物距離太遠(yuǎn)時(shí),,回波信號(hào)微弱,,混有大量的噪聲,對(duì)門檻判定造成很大的挑戰(zhàn),。分析表1中數(shù)據(jù)可知,,在障礙物距離測(cè)距裝置600 mm~3 600 mm時(shí),可以達(dá)到較高精度,,相對(duì)誤差范圍保持在0.3%以內(nèi),,穩(wěn)定性也較高,可以滿足絕大多數(shù)實(shí)驗(yàn)的需求,。
表1中超聲波所測(cè)數(shù)據(jù)均大于尺測(cè)距離,,而不是在尺測(cè)距離上下波動(dòng),原因可能是某部分電路存在極小的延時(shí),,導(dǎo)致高速計(jì)數(shù)器計(jì)時(shí)時(shí)間比實(shí)際時(shí)間長,。下一步可以考慮在分析大量測(cè)試數(shù)據(jù)后,在測(cè)試結(jié)果上再在加上一定的修正量,,減小電路延時(shí)引入的偏差,,進(jìn)一步提高系統(tǒng)精度。
如需獲得更高的精度,,可以提高超聲波頻率,,但這是以犧牲測(cè)量范圍為代價(jià)的;同理,,使用更低的超聲波頻率可使測(cè)距范圍增大,,但測(cè)量精度會(huì)下降??梢罁?jù)實(shí)際情況來選擇超聲波頻率,。
總體來看,本文提出的基于FPGA的超聲波測(cè)距系統(tǒng)很好地利用了超聲波檢測(cè)技術(shù)優(yōu)點(diǎn),,充分發(fā)揮了FPGA的優(yōu)勢(shì),,采用多種措施來提高超聲波測(cè)距精度,具有良好的抗干擾性和穩(wěn)定性,,且測(cè)量盲區(qū)小,、精度高,,滿足了大多數(shù)實(shí)驗(yàn)對(duì)障礙物測(cè)量的需要。若要求測(cè)量不同方向的障礙物,,只需設(shè)計(jì)為多傳感系統(tǒng)即可,,具有實(shí)際應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 吳超.基于FPGA的超聲波測(cè)距系統(tǒng)[D].武漢:武漢理工大學(xué),,2009.
[2] 潘松,黃繼業(yè),,陳龍.EDA技術(shù)與Verilog HDL[M].北京:清華大學(xué)出版社,,2010.
[3] 英勇,王紀(jì)嬋,,趙海鳴,,等.基于單片機(jī)的高精度超聲波測(cè)距系統(tǒng)[J].儀表技術(shù)與傳感器,2007(3):66-68.
[4] 王紅云,,姚志敏,,王竹林,等.超聲波測(cè)距系統(tǒng)設(shè)計(jì)[J].儀表技術(shù),,2010(11):47-49.
[5] 童亮.基于CAN總線的智能超聲波測(cè)距系統(tǒng)[J].儀表技術(shù)與傳感器,,2007(12):34-36.
[6] 唐穎,張凡,,郭勇.移動(dòng)機(jī)器人的超聲波測(cè)距傳感器設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),,2010(11):1646-1649.
[7] KOVACHEV D M, GEORGIEVA N E. A mathematical modeling and FPGA-based digital receiver in a continuous wave Doppler radar[C]. 27th International Spring Seminar on Electronics Technology: Meeting of Challenges of Electronics Technology Progress,, 2004(2):221-225.