首頁(yè) >> 新聞中心 >>行業(yè)科技 >> 基于FPGA的高精度超聲波測(cè)距儀設(shè)計(jì)
详细内容

基于FPGA的高精度超聲波測(cè)距儀設(shè)計(jì)

       為了提高超聲波的測(cè)量精度,利用FPGA技術(shù)設(shè)計(jì)了一種高精度超聲波測(cè)距儀。采用Quartus II軟件在高密度可編程邏輯門陣列(FPGA)上設(shè)計(jì)了基于SoP C的硬件系統(tǒng)平臺(tái),并采用nios II ED S開發(fā)軟件開發(fā)了測(cè)量?jī)x的軟件系統(tǒng)。利用FPGA內(nèi)部的硬件資源,設(shè)計(jì)了高速超聲波控制器。溫度傳感器ds18b20用于測(cè)量環(huán)境溫度,并利用溫度校正超聲波的傳播速度。試驗(yàn)表明,采用該方案設(shè)計(jì)的超聲波測(cè)距儀具有較高的測(cè)距精度,具有一定的實(shí)用推廣價(jià)值。

0引言

        超聲波測(cè)距儀是一種利用超聲波測(cè)量距離的非接觸式測(cè)距工具。由于超聲波具有定向性好、使用方便、成本低、抗干擾能力強(qiáng)等優(yōu)點(diǎn),所以超聲波測(cè)距儀在工業(yè)測(cè)量、車輛避障、安全警示、液位測(cè)量等方面都有應(yīng)用。機(jī)械內(nèi)部損傷檢測(cè)、車輛自動(dòng)導(dǎo)航III和機(jī)器人等領(lǐng)域得到了廣泛應(yīng)用。然而,目前大多數(shù)超聲波測(cè)距儀一般采用MCS51單片機(jī)作為控制器,其測(cè)量精度受定時(shí)器時(shí)鐘頻率的限制,不能令人滿意。

       針對(duì)上述情況,本文利用大規(guī)模FPGA設(shè)計(jì)了一套基于SoPCtgj的嵌入式高精度超聲測(cè)距系統(tǒng),采用軟硬件協(xié)同設(shè)計(jì)方法,采用自定義IP核技術(shù)和溫度補(bǔ)償技術(shù)。該測(cè)試系統(tǒng)具有高可靠性、高集成度、快速響應(yīng)、高精度、低成本等特點(diǎn)。

1硬件系統(tǒng)設(shè)計(jì)

       在硬件系統(tǒng)中,測(cè)距儀采用高密度可編程邏輯門陣列(FPGA)作為硬件設(shè)計(jì)平臺(tái),系統(tǒng)設(shè)計(jì)框圖如圖1所示。主要器件有Nios lI處理器、A Valon-m總線、JT AG控制器、U APPA控制器、EPCS控制器、超聲波控制器、LCD控制器、EPCS4存儲(chǔ)器、SD-R AM控制器、SRAM存儲(chǔ)器、LDAC顯示器、通用I/O口和H.C.SR04超聲波收發(fā)模塊。為了實(shí)現(xiàn)復(fù)雜的控制,在可編程邏輯門陣列(FPGA)中嵌入了32位Nios II處理器。N ios II處理器是era公司提供的32位軟核處理器。在系統(tǒng)設(shè)計(jì)中,設(shè)計(jì)者根據(jù)項(xiàng)目要求,將ios II軟核CPU免費(fèi)嵌入到A tera公司生產(chǎn)的FPG A中。SD RAM控制器控制外部SD RAM存儲(chǔ)核心芯片,用于存儲(chǔ)和存儲(chǔ)數(shù)據(jù)。JTA GUA RT控制器可以在線下載和調(diào)試程序。EPSC控制器控制EPSC存儲(chǔ)芯片,EPSC存儲(chǔ)芯片用于存儲(chǔ)FP A配置文件;液晶顯示控制器控制液晶顯示顯示測(cè)量數(shù)據(jù)。超聲波控制器是根據(jù)外接超聲波收發(fā)模塊的電氣特性設(shè)計(jì)的自定義控制器?刂破鞯妮敵鲆_與外部超聲波收發(fā)模塊連接,控制超聲波收發(fā)模塊進(jìn)行測(cè)距。溫度對(duì)超聲波的傳播速度有很大影響。該系統(tǒng)設(shè)計(jì)了溫度補(bǔ)償電路,提高了測(cè)量精度。系統(tǒng)通過PIO連接到DS18B20數(shù)字溫度傳感器。

2. 硬件系統(tǒng)設(shè)計(jì)

2.1超聲波控制器的設(shè)計(jì)

        超聲波控制器是本系統(tǒng)的核心模塊,其設(shè)計(jì)框圖如圖2所示。它主要由接口單元電路、寄存器組、倍頻器、計(jì)數(shù)器和狀態(tài)機(jī)組成。接口單元電路用于將Valon-M總線連接到超聲波控制器。因?yàn)榻涌趩卧獌?nèi)有一個(gè)地解碼器,所以控制器中的所有寄存器都可以被Nios II通過地解碼器訪問。倍頻器的作用是將50兆赫茲系統(tǒng)時(shí)鐘的頻率翻倍到100兆赫茲,從而提高系統(tǒng)的測(cè)量精度。狀態(tài)機(jī)控制中各模塊的協(xié)調(diào)是通過產(chǎn)生各種定時(shí)信號(hào)來實(shí)現(xiàn)的。TR IG為超聲波收發(fā)模塊的觸發(fā)信號(hào);EC H O為超聲反射接收和判斷的輸入信號(hào);s T為計(jì)數(shù)器啟動(dòng)信號(hào),高電平計(jì)數(shù)器開始計(jì)數(shù);CLR是計(jì)數(shù)器清零信號(hào)。當(dāng)CLR高時(shí),它將計(jì)數(shù)器值清除為零。H為計(jì)數(shù)器值,保存控制信號(hào),H為高功率電平,計(jì)數(shù)器的電流值保存在計(jì)數(shù)器寄存器中。在超聲波控制器中,還定義了三個(gè)寄存器,并對(duì)其進(jìn)行了定義.

2. 雙狀態(tài)機(jī)模塊化設(shè)計(jì)

        狀態(tài)機(jī)模塊是超聲波控制器的關(guān)鍵模塊,其功能是產(chǎn)生各種定時(shí)控制。圖3是狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖,有五種狀態(tài):空閑、啟動(dòng)、計(jì)數(shù)、數(shù)據(jù)保存和計(jì)數(shù)器清除。上電過程中,狀態(tài)機(jī)處于空閑狀態(tài)。一旦開始指令被寫入控制寄存器,狀態(tài)機(jī)就進(jìn)入啟動(dòng)狀態(tài)。在啟動(dòng)狀態(tài)下,狀態(tài)機(jī)一側(cè)對(duì)啟動(dòng)寄存器進(jìn)行清零操作,另一側(cè)產(chǎn)生超聲波測(cè)距啟動(dòng)信號(hào)TR IG,啟動(dòng)超聲波測(cè)距模塊產(chǎn)生超聲波。完成這些任務(wù)后,狀態(tài)機(jī)進(jìn)入計(jì)數(shù)狀態(tài)。計(jì)數(shù)狀態(tài)下,計(jì)數(shù)器對(duì)100m hz時(shí)鐘進(jìn)行計(jì)數(shù)。當(dāng)超聲波收發(fā)模塊接收到障礙物反射回來的超聲波時(shí),能能值降低,計(jì)數(shù)器停止計(jì)數(shù),狀態(tài)機(jī)進(jìn)入數(shù)據(jù)保存狀態(tài)。在數(shù)據(jù)保存狀態(tài)下,計(jì)數(shù)數(shù)據(jù)保存在計(jì)數(shù)寄存器中。保存數(shù)據(jù)后,狀態(tài)機(jī)進(jìn)入計(jì)數(shù)器數(shù)據(jù)零狀態(tài),此時(shí)將清除計(jì)數(shù)器中的值以準(zhǔn)備下一次計(jì)數(shù)。

2. 3硬件平臺(tái)設(shè)計(jì)

        超聲波測(cè)距儀的SoP C硬件設(shè)計(jì)采用Altera公司的SoP C B開發(fā)工具。SoP C B builder是一個(gè)功能強(qiáng)大的系統(tǒng)開發(fā)工具,它使嵌入式系統(tǒng)設(shè)計(jì)人員可以很容易地設(shè)計(jì)基于ios II處理器的片上系統(tǒng)。在SoP CBuilder的圖形用戶界面中,設(shè)計(jì)人員可以將SoP CBuilder庫(kù)中的功能模塊添加到系統(tǒng)中。SoPCBuilder還允許設(shè)計(jì)人員向SoPCBuilder庫(kù)添加用戶定義的邏輯單元。SoPC Builder開發(fā)工具定義的硬件系統(tǒng)如表2所示,其中uhrasonc為超聲波控制器和用戶定義的邏輯控制單元。

2.4溫度補(bǔ)償電路的設(shè)計(jì)

        超聲波的傳播速度極易受溫度的影響。超聲波在室溫下的傳播速度約為340 m/s,但當(dāng)溫度發(fā)生變化時(shí),超聲波的傳播速度會(huì)發(fā)生變化,例如當(dāng)溫度升高1℃時(shí),超聲波的傳播速度會(huì)增加0.6 m/s,因此在使用超聲波測(cè)量距離時(shí),必須考慮溫度對(duì)超聲波傳播速度的影響。

db14645e-5061-4b25-bd98-3a4e15543dd0.png

表 2 硬件系統(tǒng)模塊的定義

      為了提高測(cè)量精度,本系統(tǒng)設(shè)計(jì)溫度補(bǔ)償電路。 本系統(tǒng)的溫度補(bǔ)償電路主要采用了DS18B20全數(shù)字溫度傳感器來測(cè)量環(huán)境溫度 ,再利用下式對(duì)超聲波傳播速度進(jìn)行溫度補(bǔ)償 。

c5bbd880-bd0b-44a1-b42e-0783b3219732.png

式中:為超聲補(bǔ)償后的傳播速度;T是實(shí)際溫度。

3.系統(tǒng)程序設(shè)計(jì)

      為了使測(cè)試儀正常工作,還需要設(shè)計(jì)系統(tǒng)的控制程序。系統(tǒng)程序采用Ahera公司的Nios lI EDS 8.0集成開發(fā)環(huán)境進(jìn)行開發(fā)。圖4是系統(tǒng)程序的算法流程圖。程序啟動(dòng)后,ios II主程序?qū)ο到y(tǒng)的相關(guān)設(shè)備進(jìn)行初始化,如LCD屏幕初始化、溫度傳感器DS18B20初始化、串口初始化等。

系統(tǒng)初始化完成后,ios lI軟核CPU讀取DS18B20的溫度值,得到當(dāng)前測(cè)試環(huán)境的溫度值。讀取溫度后,向超聲波控制系統(tǒng)中的啟動(dòng)寄存器發(fā)送啟動(dòng)命令,啟動(dòng)超聲波測(cè)距模塊移動(dòng)距離,通過讀取狀態(tài)寄存器的值來了解控制器的工作狀態(tài)。如果控制器處于工作繁忙狀態(tài),控制器會(huì)延時(shí)一段時(shí)間,重新讀取狀態(tài)信息。如果已知控制器處于“空閑”工作狀態(tài),則讀取計(jì)數(shù)寄存器中的值,并根據(jù)公式(1)對(duì)超聲波的傳播速度進(jìn)行校正,然后用校正后的傳播速度計(jì)算距離并顯示距離。

4.檢查測(cè)試結(jié)果

       為了進(jìn)一步評(píng)估超聲波測(cè)距儀的精度,根據(jù)上述設(shè)計(jì)方法,利用高密度FPGA和超聲波收發(fā)模塊設(shè)計(jì)了測(cè)試樣機(jī),并對(duì)測(cè)試樣機(jī)的性能進(jìn)行了測(cè)試。FPG A采用Altera公司生產(chǎn)的EP 1C 6Q 240 C8,超聲波收發(fā)模塊采用HC。SR 04。表3給出了一組測(cè)試樣機(jī)的測(cè)試結(jié)果。從試驗(yàn)結(jié)果可以看出,使用本試驗(yàn)測(cè)量距離時(shí),除測(cè)量近距離距離的匹配誤差誤差為2%外,測(cè)量中長(zhǎng)距離距離的相對(duì)誤差均保持在1%以內(nèi)。該測(cè)試儀測(cè)量精度高。

ec9a6d8f-ae7b-40d3-8ebc-fcf09e407466.png

表3測(cè)試結(jié)果

5、總結(jié)

       超聲波測(cè)距儀是一種非接觸式距離測(cè)量工具,具有許多優(yōu)點(diǎn)。本文針對(duì)傳統(tǒng)單片機(jī)超聲測(cè)距儀測(cè)量誤差大的缺點(diǎn),采用軟硬件協(xié)同設(shè)計(jì)方法和用戶自定義IP核心技術(shù),設(shè)計(jì)了一套基于Nios II的高精度超聲測(cè)距系統(tǒng)。該系統(tǒng)具有可靠性高、集成度高、響應(yīng)速度快、精度高、成本低等優(yōu)點(diǎn)。

參 考 文 獻(xiàn)

[1] 汪才杰 ,張大名 ,張米露.基 于 FPG A 的高精度超聲波 測(cè)距 系統(tǒng)的設(shè)計(jì)『J].微型機(jī)與應(yīng)用 , 20 12 ,3 1(17 ) :25 —27 .
[2] 張攀 峰 ,王 玉萍 , 張健 ,等 .帶有溫度補(bǔ)償 的超聲波測(cè)距 儀的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量 與控制 ,20 12 ,2 0(6) : 17 17 —17 20.
[3]張全禹 ,蘇寶林 , 李懷亮 ,等 .基于 FP GA 的超聲 波測(cè)距 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].電子測(cè)試 ,20 14(2 2 ) : 164. 165 .
[4] 趙海 鳴 , 卜英勇 ,王 紀(jì)嬋.一種高精 度超聲 波測(cè)距 系統(tǒng) 的研制[JJ.礦業(yè)研究 與開發(fā) ,20 06 ,2 6 (3 ) :6 2 .6 5 .
[5] 張芬 , 董浩 斌 ,焦 彥斌 .基 于 C8 05 1F3 20 單 片機(jī) 的超 聲波測(cè) 距儀[J].儀表技術(shù)與傳感器 , 2009 (12 ) :3 5—3 7 .
[6] 樊紅 星 , 張小超 ,劉 磊 ,等.基于 FPGA 的 CM O S 線 陣圖像 傳感器 數(shù) 據(jù)采 集 系統(tǒng) 設(shè)計(jì) 【J】_現(xiàn) 代 電子 技術(shù) , 2015 , 38 (14) : 129—1 3 2 .
[7] 賈穎燾 ,顧 趙宇 ,傅其詳 , 等.基 于 FPG A 和 D SP 的雷達(dá)信 號(hào)脈沖壓縮[J]_現(xiàn)代 電子技 術(shù) ,20 15 , 38 (17 ) : 13—16.
[8] 陳鵬名 ,盧 振洋 , 劉嘉 ,等 .基于 FPG A 的圖像 與模擬信 號(hào) 同步采集系統(tǒng)[J].現(xiàn)代 電子技術(shù) ,20 15 , 38 (19 ) :7 9.8 2 .
[9] 代俊 鋒 , 穆欣.基于 SoPC 的伺 服控制器 的方 案研究 [J].現(xiàn)代 電子技術(shù) ,2 015 ,3 8(2 0) : 150. 15 3 .
[1O]趙 小強(qiáng) , 趙連 玉.超聲 波測(cè)距 系統(tǒng) 中的溫度 補(bǔ)償 [J】.組合機(jī) 床與 自動(dòng)化加工技術(shù) , 2008 (12 ) :65—68 .



班寧產(chǎn)品匯總   



seo seo