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