技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > CPLD在超聲波測(cè)距系統(tǒng)中的設(shè)計(jì)與應(yīng)用

CPLD在超聲波測(cè)距系統(tǒng)中的設(shè)計(jì)與應(yīng)用

時(shí)間:2009-01-13 10:41:44來源:ronggang

導(dǎo)語:?本文通過分析單片機(jī)系統(tǒng)在超聲波測(cè)距過程中所出現(xiàn)的問題和原因,提出采用CPLD可編程邏輯器件專門用來測(cè)距,測(cè)距中的時(shí)間是通過高精度的晶體振蕩器作為時(shí)鐘信號(hào)源來進(jìn)行計(jì)數(shù)的,可實(shí)現(xiàn)高精度和同步測(cè)量
摘 要:本文通過分析單片機(jī)系統(tǒng)在超聲波測(cè)距過程中所出現(xiàn)的問題和原因,提出采用CPLD可編程邏輯器件專門用來測(cè)距,測(cè)距中的時(shí)間是通過高精度的晶體振蕩器作為時(shí)鐘信號(hào)源來進(jìn)行計(jì)數(shù)的,可實(shí)現(xiàn)高精度和同步測(cè)量。 關(guān)鍵詞:CPLD 超聲波測(cè)距 高精度 同步
Design and Application of CPLD in the ultrasonic ranging system
Abstact:In this paper,by analyzing the problems and causes of the single-chip system in the ultrasonic ranging process,using specially the programmable logic device CPLD to rang is put forward.Time in ranging is through high-precision crystal oscillator as a clock signal Sources to count, carrying out high-precision and synchronous measurement. Keywords:CPLD, the ultrasonic ranging, high-precision,synchronize 引言   超聲波測(cè)距是一種非接觸測(cè)量方法,超聲波具有頻率高、波長短、指向性強(qiáng)、能量消耗緩慢、傳播距離較遠(yuǎn)、不受電磁干擾、回波表現(xiàn)穩(wěn)定,測(cè)量精度高等優(yōu)點(diǎn),利用超聲波檢測(cè)往往比較迅速、方便、計(jì)算簡單、易于實(shí)時(shí)控制, 所以通常采用超聲波測(cè)距裝置進(jìn)行距離檢測(cè)。   以往采用單片機(jī)系統(tǒng)進(jìn)行超聲波測(cè)距,由軟件控制實(shí)現(xiàn)超聲波信號(hào)的發(fā)射、接收及計(jì)數(shù)器的啟動(dòng)與停止。這就導(dǎo)致超聲波信號(hào)的發(fā)射與計(jì)數(shù)器的啟動(dòng)不同步,超聲波傳感器接收到信號(hào)與單片機(jī)檢測(cè)到信號(hào)之間不同步,又因?yàn)閱纹瑱C(jī)的計(jì)數(shù)頻率較低,所以單片機(jī)系統(tǒng)的測(cè)距誤差一般為厘米級(jí)。這樣就不能滿足精確測(cè)量的要求了。   本文采用CPLD完成超聲波的發(fā)射和接收,并精確記錄回波時(shí)間,克服了單片機(jī)的速度限制,不但可以使記錄回波的時(shí)間精確到nS級(jí)而且可以實(shí)現(xiàn)同步測(cè)量,這樣就可以滿足高精度工程測(cè)量的要求。 1 CPLD模塊的原理框圖及功能   CPLD模塊主要由發(fā)射模塊,16位計(jì)時(shí)計(jì)數(shù)器模塊,接收模塊,順序執(zhí)行計(jì)數(shù)器模塊和六選一數(shù)據(jù)選擇器模塊五部分組成。其總體框圖如圖1所示。   CPLD模塊主要完成超聲波的發(fā)射、接收和時(shí)間的測(cè)量。超聲波發(fā)射模塊啟動(dòng)125KHz的超聲波發(fā)射,當(dāng)發(fā)射脈沖串達(dá)到設(shè)定值后,關(guān)閉超聲波的發(fā)射,同時(shí)啟動(dòng)六路計(jì)時(shí)計(jì)數(shù)器模塊開始計(jì)時(shí);信號(hào)經(jīng)過障礙物反射回來,接收電路接收到回波后,將其進(jìn)行整形,作為接收模塊的信號(hào),當(dāng)接收完回波脈沖信號(hào)后,接收模塊輸出端發(fā)出信號(hào),關(guān)閉計(jì)時(shí)計(jì)數(shù)器停止工作;當(dāng)所有的回波接收完畢后,順序執(zhí)行計(jì)數(shù)器輸出端發(fā)出信號(hào)啟動(dòng)單片機(jī)開始接收數(shù)據(jù),通過順序執(zhí)行計(jì)數(shù)器的計(jì)數(shù)值、數(shù)據(jù)選擇器的選擇端與計(jì)時(shí)計(jì)數(shù)器的控制端分別讀取六路不同的計(jì)數(shù)值。所有的數(shù)據(jù)讀取完后,清除計(jì)時(shí)計(jì)數(shù)器的計(jì)數(shù)值,準(zhǔn)備下一次的循環(huán)計(jì)數(shù)。 [align=center] 圖1 CPLD系統(tǒng)原理框圖[/align] 2 CPLD系統(tǒng)各功能模塊設(shè)計(jì)   2.1 發(fā)射模塊設(shè)計(jì)   2.1.1端口說明:   CLK: 輸入口,接晶振時(shí)鐘。   CLR: 輸入口,單片機(jī)讀取所有的計(jì)時(shí)計(jì)數(shù)器計(jì)數(shù)值后清除CPLD內(nèi)部所有計(jì)數(shù)器,使其恢復(fù)初態(tài)。   START:輸入口,使模塊開始輸出125KHz的方波。   SEND:輸出口,輸出125KHz的方波。   SENDFINIS:輸出口,輸出一定數(shù)量的脈沖串之后,輸出一高電平,用來啟動(dòng)計(jì)時(shí)計(jì)數(shù)器開始計(jì)數(shù)。 [align=center] 圖2 超聲波發(fā)射模塊[/align]   2.1.2功能:   晶振經(jīng)過分頻器分頻得到發(fā)射頻率為125KHz的方波,當(dāng)單片機(jī)發(fā)出控制信號(hào)START=1時(shí),開啟125KHz的方波開始發(fā)射。當(dāng)發(fā)完脈沖串之后,SENDFINISH由低變?yōu)楦唠娖?,作為?jì)時(shí)計(jì)數(shù)器的觸發(fā)脈沖,用來啟動(dòng)計(jì)時(shí)計(jì)數(shù)器開始計(jì)數(shù)。   2.2 接收模塊設(shè)計(jì)   2.2.1端口說明   REVCLK:輸入口,接收回波信號(hào)輸入端。   CLR:輸入口,所有計(jì)時(shí)計(jì)數(shù)器數(shù)據(jù)送入單片機(jī)后,使CPU內(nèi)部的所有計(jì)數(shù)器計(jì)數(shù)值清零。   REVCOUNT:輸出口,接收完回波信號(hào)后,輸出高電平,關(guān)閉計(jì)時(shí)計(jì)數(shù)器計(jì)時(shí)。 [align=center] 圖3 超聲波接收模塊[/align]   2.2.2功能:   接收模塊接收完回波信號(hào)后,判斷其計(jì)數(shù)值與發(fā)射的脈沖串?dāng)?shù)值是否相同,若相同,RECOUNT關(guān)閉計(jì)時(shí)計(jì)數(shù)器,反之,則輸出狀態(tài)不變。   2.3 計(jì)時(shí)計(jì)數(shù)器模塊設(shè)計(jì)   2.3.1端口說明:   A:輸入口,數(shù)據(jù)選擇端,A=0/1時(shí),分別讀計(jì)時(shí)計(jì)數(shù)器的高/低8位。   CONCLK:輸入口,讀取計(jì)時(shí)計(jì)數(shù)器值的控制端口;   CLK:輸入口,接晶振時(shí)鐘。   CLR:輸入口,所有計(jì)時(shí)計(jì)數(shù)器數(shù)據(jù)送入單片機(jī)后,使CPU 內(nèi)部的所有計(jì)數(shù)器計(jì)數(shù)值清零。   SEND:輸入口,輸入高電平,用來啟動(dòng)計(jì)時(shí)計(jì)數(shù)器開始計(jì)時(shí)。   REV:輸入口,接收模塊接收完回波信號(hào)后,輸入高電平,關(guān)閉計(jì)時(shí)計(jì)數(shù)器。   CE:輸入口,使能將六路計(jì)數(shù)值分別送到數(shù)據(jù)總線。   DB[0…7]:輸出口,將計(jì)時(shí)計(jì)數(shù)器值送入單片機(jī)。 [align=center] 圖4計(jì)時(shí)計(jì)數(shù)器模塊[/align]   2.3.2功能:   晶振時(shí)鐘通過分頻得到計(jì)數(shù)頻率,作為16位計(jì)時(shí)計(jì)數(shù)器的時(shí)鐘脈沖。當(dāng)SEND為高電平時(shí),啟動(dòng)計(jì)時(shí)計(jì)數(shù)器開始計(jì)數(shù),REV為高電平時(shí),關(guān)閉計(jì)時(shí)計(jì)數(shù)器停止計(jì)數(shù)。由于其計(jì)數(shù)值為16位二進(jìn)制數(shù),將其送入8位單片機(jī)處理,通過控制端口A的高低電平,將16位計(jì)數(shù)值分為高、低8位,結(jié)合CE與CONCLK兩個(gè)端口來依次將其16位計(jì)數(shù)值通過數(shù)據(jù)總線送入單片機(jī)。   2.4 順序執(zhí)行計(jì)數(shù)器模塊設(shè)計(jì)   2.4.1端口說明   REVCOUNT A…F: 輸入口,接收模塊接收完信號(hào)后,輸出高電平,使送數(shù)模塊FINISH端口通知單片機(jī)開始接收數(shù)據(jù)。   RDCLK:輸入口,單片機(jī)依次讀取計(jì)時(shí)計(jì)數(shù)器的計(jì)數(shù)值的脈沖信號(hào)。   CE1-CE6:輸出口,給相應(yīng)的計(jì)時(shí)計(jì)數(shù)器模塊使能。   FINISH :輸出口,啟動(dòng)單片機(jī)準(zhǔn)備接收數(shù)據(jù)。 [align=center] 圖5 順序執(zhí)行計(jì)數(shù)器模塊[/align]   2.4.2功能:   所有的接收模塊接收完數(shù)據(jù)后,F(xiàn)INISH端口輸出高電平,以觸發(fā)單片機(jī)使單片機(jī)處于接收數(shù)據(jù)狀態(tài),單片機(jī)發(fā)出信號(hào)給送數(shù)模塊RDCLK端口,使順序執(zhí)行計(jì)數(shù)器開始計(jì)數(shù),計(jì)數(shù)值每次加1,輸出端口便使能相應(yīng)的計(jì)時(shí)計(jì)數(shù)器,單片機(jī)便從相應(yīng)的計(jì)時(shí)計(jì)數(shù)器中讀取計(jì)數(shù)值。選取計(jì)時(shí)計(jì)數(shù)器的順序如表1所列。   表1 選取計(jì)時(shí)計(jì)數(shù)器的順序
  2.5 順序執(zhí)行計(jì)數(shù)器模塊設(shè)計(jì)   2.5.1端口說明:   A2、A1、A0:輸入口,各路計(jì)時(shí)計(jì)數(shù)器的選擇端。   DB[7…0]:輸出口,將計(jì)時(shí)計(jì)數(shù)器值送入單片機(jī)。   X0[7…0]-X5[7…0]:各路計(jì)時(shí)計(jì)數(shù)器的計(jì)數(shù)值。 [align=center] 圖6 數(shù)據(jù)選擇器模塊[/align]   2.5.2功能:   通過數(shù)據(jù)選擇器的選擇端A2、A1、A0分別選擇六路計(jì)時(shí)計(jì)數(shù)器,然后通過DB[7…0]將計(jì)數(shù)值送給單片機(jī)。選取計(jì)數(shù)值的順序如表2所列。   表2 選取計(jì)數(shù)值的順序
3.單片機(jī)讀取數(shù)據(jù)   本系統(tǒng)模塊主要是為了實(shí)現(xiàn)125KHz的超聲波的發(fā)射與接收,以及六路超聲波從發(fā)射到接收之間時(shí)間的測(cè)量,最后通過單片機(jī)控制信號(hào)將其計(jì)數(shù)值通過數(shù)據(jù)總線讀出,送到單片機(jī)中。但是為了能準(zhǔn)確的讀取數(shù)據(jù),其讀取計(jì)數(shù)值的執(zhí)行過程如下:   (1) 當(dāng)順序執(zhí)行計(jì)數(shù)器模塊的端口FINISH=1 時(shí),通知單片機(jī)準(zhǔn)備接受數(shù)據(jù)。  ?。?) 通過A2、A1、A0選擇數(shù)據(jù)選擇器要讀取的計(jì)時(shí)計(jì)數(shù)器的計(jì)數(shù)值。  ?。?) 由RDCLK的脈沖輸入來選通計(jì)時(shí)計(jì)數(shù)器。  ?。?) 通過A來選通所要輸出計(jì)時(shí)計(jì)數(shù)器計(jì)數(shù)值的高低8位。  ?。?) 通過控制信號(hào)CONCLK來讀取高低8位數(shù)值。 結(jié) 語   采用CPLD可編程邏輯器件來測(cè)距,系統(tǒng)反應(yīng)時(shí)間在nS級(jí),有效地提高了系統(tǒng)精度,滿足了精確測(cè)距要求,另外6路超聲波傳感器同時(shí)工作,實(shí)現(xiàn)了數(shù)據(jù)的同步采集。為超聲波在精密測(cè)量領(lǐng)域的應(yīng)用和推廣提供了一種可能。 參考文獻(xiàn):   [1]程鐵棟 楊麗榮. CPLD和單片機(jī)的高精度超聲測(cè)距系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005:17-19.   [2]葛健強(qiáng). 基于CPLD的超聲波測(cè)距儀研制[J].無錫商業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2004,4(3):8-10.   [3]邊計(jì)年. 數(shù)字邏輯與VHDL設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于FIX的焦化廠生產(chǎn)調(diào)度系統(tǒng)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)