• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2017-02-16 11:52:58楊秀增楊仁桓
      現(xiàn)代電子技術(shù) 2017年1期
      關(guān)鍵詞:超聲波

      楊秀增+楊仁桓

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

      關(guān)鍵詞: 超聲波; 非接觸式測(cè)距; 編程邏輯門列陣; Nios Ⅱ; DS18B20

      中圖分類號(hào): TN919?34; TH85 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)01?0137?03

      Abstract: In order to improve the measurement accuracy, a high?precision ultrasonic range finder was designed based on field programmable gate array (FPGA) technology. The hardware system platform based on SoPC was designed on a high?density FPGA by using Quartus Ⅱ software. The Nios Ⅱ EDS development software is used to develop the software system of the range finder. The hardware resource inside FPGA is adopted to design the high?speed ultrasonic controller. The temperature sensor DS18B20 is employed to measure the environment temperature. The temperature is used to correct the ultrasonic propagation velocity. The test results show that the ultrasonic range finder has high range measuring precision, and a certain practical promotion value.

      Keywords: ultrasonic; non?contact range finding; FPGA; Nios Ⅱ; DS18B20

      0 引 言

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

      針對(duì)以上情況,本文利用大規(guī)模的FPGA[6?8]采用軟硬件協(xié)同設(shè)計(jì)方法,自定義用戶IP核技術(shù)和溫度補(bǔ)償技術(shù),設(shè)計(jì)一套基于SoPC[9]的嵌入式高精度超聲波距離測(cè)量系統(tǒng)。本測(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 Ⅱ處理器、Avalon?MM總線、JTAG控制器、UART控制器、EPCS控制器、超聲波控制器、LCD控制器、EPCS4存儲(chǔ)器、SDRAM控制器、SDRAM存儲(chǔ)器、LCD顯示器、通用I/O口及HC?SR04超聲波收發(fā)模塊組成。為了實(shí)現(xiàn)復(fù)雜的控制,在可編程邏輯門列陣(FPGA)中內(nèi)嵌了一個(gè)32位的Nios Ⅱ處理器。Nios Ⅱ處理器是Altera公司提供的32位軟核處理器。在系統(tǒng)設(shè)計(jì)時(shí),設(shè)計(jì)者根據(jù)項(xiàng)目的要求,把Nios Ⅱ軟核CPU免費(fèi)地內(nèi)嵌在Altera公司生產(chǎn)的FPGA中。SDRAM控制器控制著外圍的SDRAM存儲(chǔ)器芯片,用于存放數(shù)據(jù)。JTAG UART控制器能實(shí)現(xiàn)程序的下載和在線調(diào)試功能;EPSC控制器控制著EPSC存儲(chǔ)芯片,用于存儲(chǔ)FPGA配制文件;LCD控制器控制著LCD顯示器用于顯示測(cè)得的數(shù)據(jù)。超聲波控制器是根據(jù)外部的超聲波收發(fā)模塊的電氣特性而設(shè)計(jì)的用戶自定義控制器,其輸出引腳TRIG和ECHO與外部的超聲波收發(fā)模塊相連,控制超聲波收發(fā)模塊進(jìn)行測(cè)距。溫度對(duì)超聲波的傳播速度影響較大,本系統(tǒng)設(shè)計(jì)溫度補(bǔ)償電路來(lái)提高測(cè)量精度。本系統(tǒng)通過(guò)PIO與DS18B20數(shù)字溫度傳感器相連。

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

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

      超聲波控制器是本系統(tǒng)的核心模塊,其設(shè)計(jì)框圖如圖2所示,主要由接口單元電路、寄存器組、倍頻器、計(jì)數(shù)器和狀態(tài)機(jī)組成。接口單元電路起著連接Avalon?MM總線和超聲波控制器的作用。因?yàn)樵诮涌趩卧娐穬?nèi)部有地址譯碼器,所以Nios Ⅱ可以通過(guò)地址譯碼器訪問(wèn)控制器中的所有寄存器。倍頻器的作用是把50 MHz的系統(tǒng)時(shí)鐘倍頻到100 MHz,從而提高系統(tǒng)的測(cè)量精度。狀態(tài)機(jī)控制中各個(gè)模塊的協(xié)調(diào)工作通過(guò)產(chǎn)生各種時(shí)序信號(hào)實(shí)現(xiàn)。TRIG是超聲波收發(fā)模塊的觸發(fā)信號(hào);ECHO是超聲波反射波接收判斷輸入信號(hào);ST是計(jì)數(shù)器啟動(dòng)信號(hào),高電平計(jì)數(shù)器開(kāi)始計(jì)數(shù);CLR是計(jì)數(shù)器清零信號(hào),CLR為高電平時(shí)對(duì)計(jì)數(shù)器的值清零;H是計(jì)數(shù)器值,保存控制信號(hào), H為高電平時(shí),計(jì)數(shù)器的當(dāng)前值被保存在計(jì)數(shù)器寄存器中。在超聲波控制器中,還定義了三個(gè)寄存器,這三個(gè)寄存器定義和地址分配情況如表1所示。

      2.2 狀態(tài)機(jī)模塊設(shè)計(jì)

      狀態(tài)機(jī)模塊是超聲波控制器的關(guān)鍵模塊,其作用是產(chǎn)生各種控制時(shí)序。圖3為狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖,設(shè)有空閑、啟動(dòng)、計(jì)數(shù)、數(shù)據(jù)保存和計(jì)數(shù)器清零五個(gè)狀態(tài)。在加電時(shí),狀態(tài)機(jī)處于空閑狀態(tài),一旦Nios Ⅱ軟核CPU向控制寄存器寫入啟動(dòng)指令時(shí),狀態(tài)機(jī)進(jìn)入啟動(dòng)狀態(tài)。在啟動(dòng)狀態(tài)中,狀態(tài)機(jī)一方面對(duì)啟動(dòng)寄存器進(jìn)行清零操作,另一方面,產(chǎn)生超聲波測(cè)距啟動(dòng)信號(hào)TRIG,啟動(dòng)超聲波測(cè)距模塊產(chǎn)生超聲波,這些任務(wù)完成之后,狀態(tài)機(jī)進(jìn)入計(jì)數(shù)狀態(tài)。在計(jì)數(shù)狀態(tài)中,計(jì)數(shù)器對(duì)100 MHz時(shí)鐘進(jìn)行計(jì)數(shù),當(dāng)超聲波收發(fā)模塊收到被障礙物反射回來(lái)的超聲波時(shí),ECHO變?yōu)榈碗娖?,?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ù)器中的值被清零,為下次計(jì)數(shù)做好準(zhǔn)備。

      2.3 硬件平臺(tái)的設(shè)計(jì)

      超聲波測(cè)距儀的SoPC硬件設(shè)計(jì)采用的是Altera公司的SoPC Builder開(kāi)發(fā)工具。SoPC Builder是一個(gè)功能強(qiáng)大的系統(tǒng)開(kāi)發(fā)工具,嵌入式系統(tǒng)設(shè)計(jì)師可以利用此工具非常輕松地設(shè)計(jì)一個(gè)基于Nios Ⅱ處理器的片上系統(tǒng)。在SoPC Builder的圖形用戶界面中,設(shè)計(jì)者可以把SoPC Builder庫(kù)中的功能模塊添加到系統(tǒng)中,除此之外,SoPC Builder還允許設(shè)計(jì)者把用戶自定義的邏輯單元添加到SoPC Builder庫(kù)中。利用SoPC Builder開(kāi)發(fā)工具定義的硬件系統(tǒng)見(jiàn)表2,其中,ultrasonc是超聲波控制器,是用戶自定義的邏輯控制單元。

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

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

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

      為了讓本測(cè)試儀正常工作,還需要設(shè)計(jì)本系統(tǒng)的控制程序。系統(tǒng)程序采用Altera公司的Nios Ⅱ EDS 8.0集成開(kāi)發(fā)環(huán)境對(duì)系統(tǒng)程序進(jìn)行開(kāi)發(fā)。圖4為本系統(tǒng)程序的算法流程圖。程序啟動(dòng)后,首先Nios Ⅱ主程序?qū)ο到y(tǒng)的有關(guān)設(shè)備進(jìn)行初始化操作,例如,LCD液晶屏初始化、溫度傳感器DS18B20初始化和串口初始化等。

      系統(tǒng)初始化完成之后,Nios Ⅱ軟核CPU讀取DS18B20溫度值,獲取當(dāng)前測(cè)試環(huán)境的溫度值。完成溫度讀取之后,Nios Ⅱ向超聲波控制中的啟動(dòng)寄存器發(fā)送啟動(dòng)指令,啟動(dòng)超聲波測(cè)距模塊進(jìn)行測(cè)距, Nios Ⅱ讀取狀態(tài)寄存器的值,了解控制器的工作狀態(tài)。如果控制器正處于忙工作狀態(tài)時(shí),控制器延時(shí)一段時(shí)間,再次讀取狀態(tài)信息,如果了解到控制器正處于“閑”工作狀態(tài)時(shí),讀取計(jì)數(shù)寄存器中的值,通過(guò)式(1)對(duì)超聲波的傳播速度進(jìn)行修正,再利用修正過(guò)的傳播速度計(jì)算測(cè)距并顯示距離。

      4 驗(yàn)測(cè)試結(jié)果

      為了進(jìn)一步評(píng)估本超聲波測(cè)距儀的精度,根據(jù)以上的設(shè)計(jì)方法,利用一塊高密度的FPGA和超聲波收發(fā)模塊設(shè)計(jì)了一臺(tái)試驗(yàn)樣機(jī),并對(duì)該試驗(yàn)樣機(jī)進(jìn)行性能測(cè)試。FPGA采用Altera公司生產(chǎn)的EP1C6Q240C8,超聲波收發(fā)模塊采用HC?SR04。表3為試驗(yàn)樣機(jī)的一組測(cè)試結(jié)果,從測(cè)試結(jié)果可以看出,利用本測(cè)試測(cè)量距離時(shí),除了測(cè)量近距離的相對(duì)誤差在2%之外,測(cè)量中長(zhǎng)距離的相對(duì)誤差保持在1%以內(nèi),因此,本測(cè)試儀具有較高的測(cè)量精度。

      5 結(jié) 語(yǔ)

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

      參考文獻(xiàn)

      [1] 汪才杰,張大名,張米露.基于FPGA的高精度超聲波測(cè)距系統(tǒng)的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2012,31(17):25?27.

      [2] 張攀峰,王玉萍,張健,等.帶有溫度補(bǔ)償?shù)某暡y(cè)距儀的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(6):1717?1720.

      [3] 張全禹,蘇寶林,李懷亮,等.基于FPGA的超聲波測(cè)距系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)試,2014(22):164?165.

      [4] 趙海鳴,卜英勇,王紀(jì)嬋.一種高精度超聲波測(cè)距系統(tǒng)的研制[J].礦業(yè)研究與開(kāi)發(fā),2006,26(3):62?65.

      [5] 張芬,董浩斌,焦彥斌.基于C8051F320單片機(jī)的超聲波測(cè)距儀[J].儀表技術(shù)與傳感器,2009(12):35?37.

      [6] 樊紅星,張小超,劉磊,等.基于FPGA的CMOS線陣圖像傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(14):129?132.

      [7] 賈穎燾,顧趙宇,傅其詳,等.基于FPGA和DSP的雷達(dá)信號(hào)脈沖壓縮[J].現(xiàn)代電子技術(shù),2015,38(17):13?16.

      [8] 陳鵬名,盧振洋,劉嘉,等.基于FPGA的圖像與模擬信號(hào)同步采集系統(tǒng)[J].現(xiàn)代電子技術(shù),2015,38(19):79?82.

      [9] 代俊鋒,穆欣.基于SoPC的伺服控制器的方案研究[J].現(xiàn)代電子技術(shù),2015,38(20):150?153.

      [10] 趙小強(qiáng),趙連玉.超聲波測(cè)距系統(tǒng)中的溫度補(bǔ)償[J].組合機(jī)床與自動(dòng)化加工技術(shù),2008(12):65?68.

      猜你喜歡
      超聲波
      超聲波振動(dòng)車削的設(shè)計(jì)
      蝙蝠的超聲波
      基于Niosll高精度超聲波流量計(jì)的研究
      電子制作(2018年17期)2018-09-28 01:56:38
      淺談超聲波測(cè)距
      電子制作(2017年7期)2017-06-05 09:36:13
      基于手機(jī)準(zhǔn)超聲波控制的智能燈
      電子制作(2016年1期)2016-11-07 08:42:40
      蝙蝠的超聲波
      超聲波流量計(jì)的研究
      電子制作(2016年21期)2016-05-17 03:52:47
      超聲波流量計(jì)在蘭干渠上的應(yīng)用
      超聲波促進(jìn)合成新型吡咯α,β-不飽和酮
      超聲波治療腦卒中后頑固性呃逆的臨床觀察
      东海县| 泰和县| 界首市| 屏南县| 阜平县| 曲麻莱县| 万山特区| 青海省| 家居| 房山区| 二连浩特市| 黑河市| 梁河县| 怀宁县| 沈丘县| 灵丘县| 迁安市| 巴里| 定安县| 万山特区| 长春市| 客服| 江陵县| 抚松县| 泸水县| 井陉县| 米脂县| 体育| 扎鲁特旗| 松滋市| 托克托县| 芦溪县| 汉川市| 黑龙江省| 保康县| 岫岩| 宾阳县| 凌海市| 枞阳县| 辉县市| 兴国县|