梁志勛,閉呂慶
(1.河池學(xué)院計算機與信息工程學(xué)院,廣西河池546300;2.玉林師范學(xué)院電子與通信工程學(xué)院,廣西玉林537000)
目前市場上銷售的中、高檔汽車均配有可視化倒車影像裝備,這種裝備具有直觀、方便的特點,但價格昂貴,因此一些低檔的橋車及大型卡車并未安裝倒車?yán)走_(dá)裝置[1],存在較大的安全隱患。
超聲波測距是利用超聲波測量距離的一種非接觸式距離測量方法[2]。文獻[2-5]中均采用了單片機作為測距信號的處理器件,其測量原理均采用了觸發(fā)定時器啟停計數(shù)的方法進行測量,并且由于受單片機本身時鐘頻率和無法精確估算執(zhí)行若干指令時間長短的限制,因此很難保證測距結(jié)果的準(zhǔn)確性。文獻[6-7]中利用FPGA作為測距信號處理器件,利用DS18B20作為溫度測量器件,并在測距過程中進行了溫度補償,其測距精度達(dá)到了要求,但FPGA的成本明顯較高,不利于應(yīng)用推廣。本系統(tǒng)采用價格較為低廉的CPLD為測距信號處理器件,對常用的周期法原理進行改進,利用STC12C5A60S2作為核心處理器完成顯示、聲光報警和語音播報等功能,使所設(shè)計的系統(tǒng)具有集成度高、可靠性高、精度高、響應(yīng)速度快和成本低廉等特點。
系統(tǒng)主要由STC12C5A60S2單片機作為主控制器組成的硬件平臺,其系統(tǒng)組成如圖1所示,主要有CPLD信號處理模塊、超聲波模塊、顯示模塊、語音播報模塊、聲光報警模塊和溫度傳感器模塊。CPLD信號處理模塊在接收到單片機發(fā)測距指令后進入測距狀態(tài),并將測得的數(shù)據(jù)報送給單片機處理。單片機收到CPLD發(fā)來的數(shù)據(jù)處理后,將數(shù)據(jù)發(fā)到語音播報模塊,由語音播報模塊實時播報汽車尾部和障礙物的距離,同時啟動聲光報警模塊,對設(shè)定的距離,利用聲光報警模塊產(chǎn)生聲光報警信號。超聲波傳輸介質(zhì)的密度、溫度及氣體分子成份等對超聲波的傳播速度影響很大[8-9],因此超聲波測距在精確度高要求的情況下,必須要將超聲波傳輸介質(zhì)的溫度因素考慮進系統(tǒng),作為超聲波測距的修正參數(shù)。溫度傳感器模塊采用LM35C作為溫度傳感器件,采集環(huán)境溫度。
圖1 倒車防撞系統(tǒng)組成框圖
40 kHz的超聲波經(jīng)過空氣介質(zhì)經(jīng)過T1時間的傳播后遇到障礙物后,又經(jīng)過T2時間回到接收器,已知超聲波的傳播速度為v,那么發(fā)射端和障礙物的距離:
考慮超聲波在空中介質(zhì)中傳播的溫度因素,傳播的速度為:
式中v0=334m/s為0℃時候的超聲波傳播速度,T為當(dāng)前環(huán)境溫度,由溫度傳感器測量獲得,因此v為加入環(huán)境溫度因素后的修正超聲波傳播速度。
圖2為測距時序圖,利用發(fā)射8個周期40 kHz的脈沖波,經(jīng)過一段時間間隔t后收到回波,該時間間隔可通過CPLD的計數(shù)功能獲得。波形的好壞將直接影響時間間隔t的準(zhǔn)確性,因此在軟硬件設(shè)計時務(wù)必能夠消除干擾,以準(zhǔn)確獲得時間間隔t。
圖2 測距時序圖
文獻[10-13]中使用專用芯片或者NE555等分立元件設(shè)計超聲波模塊電路,這些電路設(shè)計具有集成度高,設(shè)計簡單的優(yōu)點,皆采用外部LC/RC分立元件震蕩來獲得40 kHz脈沖,但其起振時間無法預(yù)測,時延部分無法估算,影響超聲波測距準(zhǔn)確度,因此本設(shè)計采用CPLD的時鐘分頻產(chǎn)生40 kHz脈沖,經(jīng)外部簡單的功率三極管驅(qū)動即可得到滿足要求的超聲發(fā)射波。如圖3所示為超聲波電路的具體設(shè)計,40 kHz脈沖波經(jīng)Q1幅度放大再經(jīng)Q2的功率放大,由變壓器T1升壓后推動超聲波發(fā)射模塊即可發(fā)射超聲波信號。
接收部分由具有增益功能的巴特沃斯濾波器和施密特觸發(fā)器構(gòu)成。兩級放大器將經(jīng)由超聲波接收頭收到并轉(zhuǎn)換的微弱電信號進行幅度放大,由負(fù)反饋放大電路原理可知,圖中每級放大倍數(shù)為20倍,兩級串聯(lián),放大倍數(shù)為400倍,滿足設(shè)計要求。為了濾除40 kHz以外的干擾信號,本設(shè)計的濾波器為帶通濾波器,其中心頻率為40 kHz,-3 dB帶寬為30 kHz。
語音播報芯片為ISD2560,該芯片具有錄音、播放和直接驅(qū)動喇叭的功能,其最長的語音播放時長為60秒,具有十位尋址能力,最多分段能力為600段。使用其進行電路設(shè)計時,無需外接AD、DA和存儲芯片,具有簡單可靠,放音清晰等優(yōu)點[14],具體設(shè)計如圖4所示,僅需簡單的電阻電容進行外圍電路設(shè)計。
圖3 超聲波發(fā)射接收電路
圖4 語音播報及其他模塊電路圖
使用該芯片播放語音,事先將要播放的語音錄入其中,單片機只要給出錄音地址,即可播放該段語音,如圖4所示,單片機的P0.0~P0.5控制ISD2560的錄、放音地址A0~A5,P1.0~P1.4控制著ISD2560的工作狀態(tài)。事先要將語音素材0~9、米、厘米等錄入分配的地址,具體地址和時間長度分配如表1所示,語音素材的分配地址由00 H至4 AH。
表1 語音地址分配表
溫度補償?shù)膫鞲衅骷捎肔M35C,其最大線性誤差為±0.5℃,輸出覆蓋-40℃~110℃,輸出為電壓范圍為6 V至-1.0 V,溫度和輸出電壓的關(guān)系為[15-16]:
由式(3)可知,傳感器的電壓輸出與被測溫度成線性關(guān)系,單片機通過AD轉(zhuǎn)換并換算后即可獲得被測溫度值,本系統(tǒng)采用STC12C5A60S2單片機內(nèi)部集成的10位AD作為模數(shù)轉(zhuǎn)換器件,簡潔設(shè)計,提高了系統(tǒng)的穩(wěn)定性,電路設(shè)計如圖4所示,分別為溫度傳感器電路、顯示電路和聲光報警電路的設(shè)計。
超聲波測距控制器是系統(tǒng)的核心模塊,直接影響著測距的精度,其設(shè)計如圖5所示,主要由外部SPI接口單元、狀態(tài)寄存器、啟停寄存器、計數(shù)器、計數(shù)寄存器和狀態(tài)機等部分組成。單片機通過SPI接口和CPLD外部接口進行通信,單片機通過該接口單元,完成對超聲波測距控制器的啟??刂坪蜏y距的數(shù)據(jù)信息的讀取任務(wù)。超聲波測距控制器的工作流程為:1)接到單片機發(fā)來測距指令,存儲在狀態(tài)寄存器里面,狀態(tài)機進入start模式,經(jīng)50 MHz分頻得到40 kHz方波驅(qū)動超聲波發(fā)射模塊;2)發(fā)射出40 kHz脈沖后,狀態(tài)機進入counter模式;3)直到回波觸發(fā)信號FTRIG后,進入save模式,將計數(shù)的最后數(shù)據(jù)存儲在計數(shù)寄存器里面;4)保存好數(shù)據(jù)后,進入clear狀態(tài),將計數(shù)器清理;5)將計數(shù)器清理后,進入Idle模式,等待下一次測量;在整個過程中,狀態(tài)寄存器都存放著狀態(tài)機的狀態(tài)標(biāo)志。
圖5 超聲波測距控制器與狀態(tài)轉(zhuǎn)移圖
系統(tǒng)程序采用C語言進行軟件設(shè)計,利用Keil c51作為開發(fā)環(huán)境。如圖6所示,系統(tǒng)完成初始化后,讀取是否有倒車信號送來,如果有,則進入測距模式,先讀取當(dāng)前環(huán)境溫度值,然后單片機通過SPI通信協(xié)議向發(fā)送啟動測距信號,由CPLD完成測距任務(wù),單片機則等待CPLD返回測距的計數(shù)值。單片機收到測距的計數(shù)值后,利用當(dāng)前溫度值和計數(shù)值,根據(jù)公式(2),可計算出修正后的測距值,將測距值進行顯示并通過語音模塊播報出來并根據(jù)設(shè)定的障礙物距離的閾值判斷是否需要進行聲光報警。
圖6 系統(tǒng)程序流程圖
如圖7所示,利用Multisim仿真軟件對接收電路進行仿真測試,所設(shè)計的帶通濾波器的中心頻率為40.491 kHz,±3 dB帶寬的截止頻率在25.6 kHz和55.8 kHz,對40 kHz以外的干擾信號具有較強的抑制能力。
利用altera的CPLD集成開發(fā)環(huán)境Quartus II,進行超聲波測距控制器的時序仿真分析,圖8位發(fā)射接收時序圖,其中圖(a)為超聲波發(fā)射時序圖,在start信號的觸發(fā)下,50 MHz經(jīng)分頻獲得40 kHz的8個脈沖。圖(b)為超聲波接收時序圖,TRIG信號觸發(fā)計數(shù)開始,并被FTRIG信號觸發(fā)停止計數(shù),讀取的計數(shù)值經(jīng)計算,數(shù)值完全正確。
圖7 接收信號處理濾波器特性
圖8 超聲波發(fā)射和接收時序仿真圖
為了進一步驗證所設(shè)計倒車防撞系統(tǒng)的測距精度,將設(shè)計好的樣機系統(tǒng)進行實測,數(shù)據(jù)如表2所示,經(jīng)計算,系統(tǒng)測距平均相對誤差僅為2.4%,完全滿足倒車防撞的精度要求。
表2 系統(tǒng)測距數(shù)據(jù)表
在綜合分析現(xiàn)存的超聲波測量系統(tǒng)的基礎(chǔ)上,提出了一種由單片機和CPLD結(jié)合為核心的超聲測距系統(tǒng),分別對超聲波發(fā)射和接收電路進行了詳細(xì)設(shè)計,利用Verilog HDL硬件描述語言進行測距超聲波測距控制器詳細(xì)設(shè)計,最后通過仿真測試得出結(jié)論,該系統(tǒng)完全滿足汽車防撞系統(tǒng)的設(shè)計要求,由于采用CPLD作為獨立的測距控制器,可以完成多路超聲波信號的發(fā)射和處理,避免倒車時,出現(xiàn)測量盲區(qū),所設(shè)計的硬件架構(gòu)具有很好的性價比,具有一定的實用推廣價值。