国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA超聲波測距設(shè)計(jì)

2017-12-15 04:00曹雪偉
無線互聯(lián)科技 2017年23期
關(guān)鍵詞:測距編程超聲波

馬 凱,曹雪偉

(1.南京科技職業(yè)學(xué)院,江蘇 南京 210048;2.高等教育出版社有限公司,北京 100039)

基于FPGA超聲波測距設(shè)計(jì)

馬 凱1,曹雪偉2

(1.南京科技職業(yè)學(xué)院,江蘇 南京 210048;2.高等教育出版社有限公司,北京 100039)

文章介紹了一種超聲波測距控制器設(shè)計(jì)方案,使用Microsemi公司的FPGA芯片搭建了測距系統(tǒng)硬件電路,然后利用Verilog HDL語言進(jìn)行編程、仿真和調(diào)試,實(shí)現(xiàn)了預(yù)期任務(wù)要求。

FPGA;超聲波;測距

利用超聲波技術(shù)可以直接測量近距離目標(biāo),縱向分辨率高,適用范圍廣,方向性強(qiáng),并具備不受光線、煙霧、電磁干擾等因素影響,且覆蓋面較大等優(yōu)點(diǎn)。目前,超聲波測距已普遍應(yīng)用在移動(dòng)機(jī)器人定位、汽車導(dǎo)航、無人機(jī)蔽障等領(lǐng)域[1]。

隨著IC設(shè)計(jì)技術(shù)的不斷發(fā)展和提高,現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)開始應(yīng)用到超聲波測距系統(tǒng)中,F(xiàn)PGA強(qiáng)大的在線可編程特性能夠?qū)崿F(xiàn)一個(gè)復(fù)雜測距系統(tǒng)的硬件設(shè)計(jì)、邏輯運(yùn)算、軟件編程、仿真和調(diào)試功能。

FPGA是一種可以現(xiàn)場編程的集成電路芯片,它的邏輯門電路數(shù)是萬量級(jí)別,常用的基本邏輯門電路或者更復(fù)雜的組合功能電路都可以用簡單地編程來實(shí)現(xiàn)。FPGA設(shè)計(jì)通常指定用硬件描述語言(Hardware Description Language,HDL),系統(tǒng)設(shè)計(jì)人員可以方便地連接、設(shè)置邏輯功能塊,可靠實(shí)現(xiàn)控制要求的邏輯函數(shù),而且很多的FPGA器件內(nèi)部配置基本存儲(chǔ)單元或者留存完整的數(shù)據(jù)存儲(chǔ)區(qū)域[2]。

本文介紹了超聲波測距系統(tǒng)中用FPGA來實(shí)現(xiàn)對超聲波傳感器的收發(fā)控制及數(shù)據(jù)處理。考慮系統(tǒng)中對輸入輸出接口的需求和FPGA產(chǎn)品的代表性,主控芯片選用了Microsemi公司PA系列的FPGA,型號(hào)為APA300PBGA456I。

1 PFGA芯片簡介

1.1 性能簡介

APA300是Microsemi公司PA系列芯片,擁有可再編程Flash技術(shù)、非易失性存儲(chǔ)器技術(shù)特性,允許開發(fā)人員移植現(xiàn)有的FPGA設(shè)計(jì)流程和開發(fā)工具,設(shè)計(jì)新系統(tǒng)。PA系列PFGA器件的特點(diǎn)包含:(1)多電壓(3.3 V,2.5 V)工作環(huán)境;(2)雙時(shí)鐘系統(tǒng),每個(gè)時(shí)鐘系統(tǒng)都有鎖相環(huán)、延遲線、乘法器/除法器;(3)兩個(gè)差分輸入對(LVPECL),用于接收時(shí)鐘或數(shù)據(jù);(4)支持高達(dá)72 k的兩端口嵌入SRAM和290個(gè)可用的I/O口;(5)上電即工作[3]。

1.2 結(jié)構(gòu)特點(diǎn)

PA系列的FPGA內(nèi)部結(jié)構(gòu)主要由基本邏輯單元(Logic Unit)、隨機(jī)寄存器(Random-Access Memory,RAM)、嵌入式FIFO塊、輸入輸出接口(I/O口)、可編程連線等幾部分構(gòu)成。器件內(nèi)部結(jié)構(gòu)如圖1所示。

圖1 FPGA器件內(nèi)部結(jié)構(gòu)

1.3 內(nèi)部資源及特點(diǎn)

芯片內(nèi)部包含8 kB邏輯單元,每個(gè)邏輯單元可以通過不同的Flash開關(guān)互連,配置為一個(gè)三輸入邏輯功能塊。而且Flash開關(guān)分布于整個(gè)設(shè)備,能夠提供非易失性,能夠重構(gòu)互連編程,可以實(shí)現(xiàn)更復(fù)雜的輸入輸出邏輯功能。

芯片內(nèi)部有嵌入式的兩端口SRAM塊,自建FIFO/RAM控制邏輯,配置內(nèi)容有同步或異步操作、雙口RAM的設(shè)定、定義的深度和寬度、奇偶校驗(yàn)等。

APA300 FPGA另外一個(gè)顯著特點(diǎn)是內(nèi)部SRAM編程元件采用上電即通ISP閃存開關(guān)技術(shù)。APA300提供大量的I/O接口,而且電源電壓是可配置,所有I/O接口內(nèi)部都設(shè)計(jì)了靜電保護(hù)電路,能夠充分滿足系統(tǒng)要求。I/O接口的輸入、輸出、雙向緩沖或三態(tài)驅(qū)動(dòng)等復(fù)用功能,可以通過編程設(shè)置實(shí)現(xiàn)[4]。

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

系統(tǒng)主要包括FPGA運(yùn)算控制器模塊和超聲波收發(fā)模塊及接口電路。FPGA通過定時(shí)運(yùn)算產(chǎn)生脈沖信號(hào),微弱的脈沖信號(hào)經(jīng)接口電路放大后,驅(qū)動(dòng)超聲波收發(fā)模塊的發(fā)射換能器發(fā)射出檢測聲波,經(jīng)被測物反射后的回波信號(hào),由超聲波接收模塊濾波放大后,再由FPGA檢測回波信號(hào),經(jīng)計(jì)算后得到距離[5],系統(tǒng)組成框如圖2所示。

圖2 系統(tǒng)組成框

2.1 超聲波測距原理

回波檢測法中超聲波傳感器的發(fā)射換能器向外發(fā)射超聲波,超聲波在介質(zhì)中傳播,遇到障礙物后則會(huì)反射產(chǎn)生回波,超聲波傳感器的接收換能器接收回波,因此由超聲波的傳播速率和往返時(shí)問可確定超聲波傳感器與物體的距離。

2.2 外圍芯片選用

Microsemi公司PA系列的FPGA芯片APA300PBGA456I,其原理圖使用EDA軟件設(shè)計(jì),設(shè)計(jì)時(shí)按信號(hào)特性分為5個(gè)Bank,原理圖信號(hào)清晰,可以提高設(shè)計(jì)的準(zhǔn)確度。原理圖塊特性如表1所示。表1中Bank1和Bank2為I/O輸入輸出接口;Bank3為JTAG口;Bank4電源,Bank5為GND。

表1 原理圖塊特性

為滿足FPGA的正常工作,需要提供不同等級(jí)的電壓,對I/O接口進(jìn)行信號(hào)隔離和驅(qū)動(dòng)放大。電源方面采用MSK的電壓轉(zhuǎn)換芯片MSK5230,它可提供2.5 V和3.3 V穩(wěn)定輸出電壓,滿足了FPGA 3.3 V和2.5 V的供電要求;I/O接口芯片為74LVC4245A,該芯片是3.3 V供電,能夠?qū)⑤斎胄盘?hào)轉(zhuǎn)換為3.3 V信號(hào),可實(shí)現(xiàn)I/O接口的信號(hào)隔離和驅(qū)動(dòng)放大。

3 系統(tǒng)軟件設(shè)計(jì)

軟件設(shè)計(jì)方面,軟件總體架構(gòu)是采用主流的從上到下(Top-Down)的模塊化設(shè)計(jì)方式,編程上利用廣泛通用的Verilog HDL語言進(jìn)行[6]。

3.1 模塊化設(shè)計(jì)

FPGA軟件功能模塊框如圖3所示。其中各個(gè)功能模塊在FPGA內(nèi)部并行運(yùn)行,模塊間的數(shù)據(jù)傳輸是通過寄存器完成。

FPGA主要軟件模塊的主要任務(wù)和具體功能如下。

(1)主模塊即主程序,主要任務(wù)是實(shí)現(xiàn)對整個(gè)系統(tǒng)I/O接口信號(hào)的定義,同時(shí)定義各個(gè)功能子程序模塊,明確主模塊和各子模塊之間關(guān)系。

(2)時(shí)序發(fā)生器模塊主用任務(wù)是為其他模塊提供時(shí)鐘信號(hào),它是整個(gè)FPGA工作的基礎(chǔ),能夠確保系統(tǒng)各模塊同步工作。

圖3 FPGA軟件功能模塊框

(3)高速計(jì)數(shù)器模塊主要任務(wù)是高速定時(shí)或計(jì)數(shù),其功能是采樣超聲波驅(qū)動(dòng)信號(hào)發(fā)出和回波信號(hào)返回時(shí)差間的脈沖數(shù)據(jù),是測距運(yùn)算的先決條件,F(xiàn)PGA的運(yùn)行速度越高,在回波信號(hào)到達(dá)時(shí)刻捕獲越準(zhǔn)確,則測距精度就越高。

(4)波形發(fā)生器模塊的任務(wù)是產(chǎn)生驅(qū)動(dòng)脈沖,它是在時(shí)序發(fā)生器的作用下,分頻處理得到符合超聲波換能器工作的驅(qū)動(dòng)脈沖信號(hào)。

(5)回波識(shí)別模塊的任務(wù)是實(shí)時(shí)準(zhǔn)確捕獲回波信號(hào)到達(dá)時(shí)刻,是系統(tǒng)穩(wěn)定可靠的關(guān)鍵,可以結(jié)合檢波電路通過極值算法實(shí)現(xiàn)。

3.2 算法流程

具體的算法流程如4所示,首先上電復(fù)位系統(tǒng)初始化,各相關(guān)寄存器初始狀態(tài)清零,F(xiàn)PGA各個(gè)子模塊并行運(yùn)行,然后時(shí)序發(fā)生器按照控制要求產(chǎn)生超聲波驅(qū)動(dòng)信號(hào),同時(shí)高速計(jì)數(shù)器開始工作,隨后等待回波信號(hào)中斷請求,“是”則停止高速計(jì)數(shù)器計(jì)時(shí),然后進(jìn)行距離計(jì)算,“否”則繼續(xù)等待回波信號(hào)到來。

圖4 控制器軟件程序算法流程

3.3 軟件編寫、仿真、實(shí)現(xiàn)

根據(jù)FPGA模塊化設(shè)計(jì)思想和算法,本系統(tǒng)采用Libero Soc集成開發(fā)環(huán)境(Integrated Development Environment,IDE)開發(fā),Libero Soc IDE軟件設(shè)計(jì)功能完備、強(qiáng)大,支持Verilog HDL和VHDL輸入,原理圖輸入,綜合工具生成網(wǎng)表,測試向量文件的生成,仿真工具布局布線和程序下載等。

本系統(tǒng)設(shè)計(jì)選用Verilog HDL硬件描述語言進(jìn)行編寫,軟件程序共分6個(gè)模塊,即主模塊、時(shí)序發(fā)生器模塊、高速計(jì)數(shù)器模塊、波形發(fā)生器模塊、回波識(shí)別模塊、距離計(jì)算模塊。

主要過程如下:首先在Libero Soc IDE開發(fā)軟件下選擇合適的FPGA器件類型和規(guī)模,然后進(jìn)行軟件程序代碼的編寫設(shè)計(jì),程序代碼編寫界面如圖5所示。

程序編寫完成后,進(jìn)行Synplify綜合生成網(wǎng)表,則程序會(huì)自動(dòng)檢查代碼格式編寫情況,會(huì)有出錯(cuò)或報(bào)警提示,如有Error進(jìn)行及時(shí)改正,直到軟件綜合完成,程序綜合界面如圖6所示。

完成網(wǎng)表生成后,就可以編寫testbench(測試代碼)進(jìn)行Modelsim前仿真,前仿真是復(fù)雜程序內(nèi)部邏輯實(shí)現(xiàn)的關(guān)鍵,能夠查看程序中各寄存器、狀態(tài)機(jī)的工作狀態(tài),也是程序功能正確實(shí)現(xiàn)前提,程序仿真界面如圖7所示。

測試仿真后,定義“PIN”管腳號(hào)(.gcf文件),然后布局布線及生成燒寫(.stp)文件,布局布線和生成燒寫文件如圖8所示。

最后通過Flash Pro軟件進(jìn)行燒寫文件下載,板上調(diào)試程序下載到FPGA內(nèi),再進(jìn)行板上調(diào)試以達(dá)到預(yù)設(shè)功能。

4 結(jié)語

本文用FPGA實(shí)現(xiàn)對超聲波傳感器的收發(fā)控制及數(shù)據(jù)處理功能,系統(tǒng)硬件電路設(shè)計(jì)可靠,軟件采用自下而上的模塊化設(shè)計(jì),通過Libero軟件開發(fā)實(shí)現(xiàn)功能,為超聲波ASIC芯片設(shè)計(jì)和開發(fā)提供了一定的參考價(jià)值。

圖5 程序代碼編寫界面

圖6 程序綜合界面

圖7 程序仿真界面

圖8 布局布線和生成燒寫文件

[1] 楊軍,張偉平,趙嘎.面向sopc的fpga設(shè)計(jì)與應(yīng)用[M].北京:北京科學(xué)出版社,2012.

[2] 楊恒、盧飛成.FPGA/VHDL快速工程實(shí)踐入門與提高[M].北京:北京航空航天大學(xué)出版社,2003.

[3] 王誠.FPGA/CPLD設(shè)計(jì)工具-XilinxISE5.x使用詳解[M].北京:人民郵電出版社,2003.

[4] 李戈,孟祥杰.國內(nèi)超聲波測距研究應(yīng)用現(xiàn)狀[J].測繪科學(xué),2011(10):60-62.

[5] 楊兆飛,司洋.基于FPGA超聲波測距系統(tǒng)的改進(jìn)[J].電子測試,2012(8):39-41.

[6] 王紅云,姚志敏,王竹林,等.超聲波測距系統(tǒng)設(shè)計(jì)[J].儀表技術(shù),2010(10):47-49.

Design of ultrasonic distance measuring based on FPGA

Ma Kai1, Cao Xuewei2

(1.Nanjing Polytechnic Institute, Nanjing 210048, China; 2.Higher Education Press Co., Ltd., Beijing 100039, China)

This paper introduces a kind of ultrasonic distance measuring controller design, using Microsemi’s FPGA chips build a distance measuring system hardware circuit, then utilizing Verilog HDL language to programme, simulation and debugging, which achieving the desired task requirements.

fi eld programmable gate array; ultrasonic; distance measuring

江蘇省“青藍(lán)工程”資助項(xiàng)目;項(xiàng)目編號(hào):2017。南京科技職業(yè)學(xué)院科研項(xiàng)目;項(xiàng)目編號(hào):NHKY-2017-11。

馬凱(1978— ),男,江蘇邳州人,講師,碩士;研究方向:機(jī)電一體化,檢測技術(shù)。

猜你喜歡
測距編程超聲波
編程,是一種態(tài)度
編程小能手
紡織機(jī)上誕生的編程
類星體的精準(zhǔn)測距
基于Niosll高精度超聲波流量計(jì)的研究
淺談超聲波測距
蝙蝠的超聲波
超聲波流量計(jì)的研究
超聲波流量計(jì)在蘭干渠上的應(yīng)用
基于PSOC超聲測距系統(tǒng)設(shè)計(jì)
平谷区| 沙洋县| 岑溪市| 神池县| 武定县| 莲花县| 延安市| 铜陵市| 满城县| 松溪县| 汉川市| 达州市| 阿合奇县| 太仆寺旗| 吴川市| 石柱| 河北区| 兴仁县| 甘孜县| 临桂县| 工布江达县| 桃园市| 灵山县| 民县| 遂昌县| 兴安盟| 沾益县| 东丰县| 乐昌市| 容城县| 合江县| 大庆市| 青龙| 阳曲县| 绥棱县| 上饶县| 渭南市| 罗城| 甘德县| 金昌市| 宾川县|