徐旭,陳嘉鵬
(中科芯集成電路有限公司,江蘇無錫 214072)
隨著社會的發(fā)展,汽車走進(jìn)了千家萬戶,汽車產(chǎn)業(yè)的發(fā)展讓人們的生活變得更加便捷的同時,交通事故的發(fā)生也屢見不鮮。據(jù)統(tǒng)計(jì),我國每年交通事故造成的死亡人數(shù)高達(dá)10萬人以上,而在這些交通事故當(dāng)中,因倒車而引發(fā)的交通事故就占一半以上[1]。目前市面上的一些中高檔汽車基本都配備了倒車影像雷達(dá),可以在倒車時給駕駛員提供直觀、準(zhǔn)確的車輛后方障礙信息,但這種裝備成本較高,對于低端車輛,例如小型貨運(yùn)車輛并不適用。但近年來,小型貨車在倒車過程中發(fā)生意外,造成人員生命財(cái)產(chǎn)損失的事件時有發(fā)生,因此,有必要研發(fā)一種適合小型貨運(yùn)車輛的倒車預(yù)警系統(tǒng)。超聲波由于其能量集中、指向性強(qiáng)、較好的抗干擾能力等特點(diǎn),被廣泛應(yīng)用于測距領(lǐng)域[2-3]。文中基于CPLD 設(shè)計(jì)了一種超聲波倒車預(yù)警系統(tǒng),經(jīng)驗(yàn)證,該系統(tǒng)可以有效對倒車過程中的障礙物距離進(jìn)行測量,并進(jìn)行相應(yīng)報(bào)警提示,提高車輛安全系數(shù)。
超聲波測距的原理是利用超聲波發(fā)射探頭發(fā)出超聲波,在聲波發(fā)射的同時開始計(jì)時,超聲波傳播過程中如果遇到障礙物會發(fā)生反射,反射波一旦被接收探頭識別,就立即停止計(jì)時[4]。由于一定條件下聲速v是確定的,所以只要知道超聲波傳播的時間t,就可以得出超聲波發(fā)射點(diǎn)和障礙物之間的距離s為:
超聲波作為一種聲波,其傳播速度受溫度的影響,溫度每升高1 ℃,聲速將增大約0.6 m/s[5-6]。為了提高系統(tǒng)的測量精度,對溫度的影響進(jìn)行了補(bǔ)償,已知環(huán)境溫度為T,則超聲波的傳播速度為:
現(xiàn)有的超聲波測距系統(tǒng)一般都采用單片機(jī)作為主控芯片,受單片機(jī)工作頻率偏低以及執(zhí)行指令時長難以準(zhǔn)確估算的限制,系統(tǒng)測距結(jié)果的準(zhǔn)確性很難得到保證[7-9]。利用FPGA 作為主控芯片可以有效提高計(jì)時精度,但成本較高,不利于推廣[10-11]。鑒于以上考慮,該系統(tǒng)采用價格較為適中,但工作頻率較高,并且以能并行運(yùn)行的CPLD 作為主控制器,提高了性價比。超聲波倒車預(yù)警系統(tǒng)結(jié)構(gòu)框圖如圖1 所示,主要包括CPLD 控制芯片、超聲波傳感器、數(shù)碼管顯示模塊、聲光報(bào)警模塊、溫度檢測模塊。
圖1 系統(tǒng)結(jié)構(gòu)框圖
CPLD控制電路主要由六部分組成:EPM240T100C5主控芯片、電源電路、時鐘電路、JTAG 下載調(diào)試電路、USB 轉(zhuǎn)串口電路、按鍵電路,原理圖如圖2 所示。
圖2 CPLD控制電路
EPM240T100C5 是Altera 公司生產(chǎn)的一款低成本、低功耗的CPLD 芯片,工作電壓的范圍為2.5~3.3 V,擁有80 個IO 口,可以滿足系統(tǒng)設(shè)計(jì)需要。系統(tǒng)由USB 接口供電,使用方便并且支持熱插拔,USB接口輸入的電壓經(jīng)AMS1117-3.3 低壓差線性穩(wěn)壓器轉(zhuǎn)換成穩(wěn)定的3.3 V 電壓,為了方便后續(xù)系統(tǒng)功能擴(kuò)展,還通過USB 轉(zhuǎn)串口芯片CH340G 預(yù)留了串口通信功能。系統(tǒng)時鐘由50 MHz 有源晶振提供,計(jì)時精度可達(dá)20 ns。
為了簡化設(shè)計(jì),超聲波測距模塊采用的是HCSR04 超聲波傳感器,該傳感器的探測范圍為2~450 cm。該模塊使用方便,只有VCC、GND、TRIG、ECHO 四個引腳,其接線原理圖如圖3 所示,VCC 接5 V,GND 接地,TRIG 引腳內(nèi)部有10 kΩ上拉電阻,測量時通過CPLD 的IO 口先將TRIG 引腳拉低,再提供一個10 μs 以上的脈沖信號,傳感器將自動發(fā)送8 個頻率為40 kHz 的方波,激勵換能器發(fā)射超聲波,實(shí)際使用時高電平保持40~50 μs 效果最佳。接收到回波信號后,傳感器將通過ECHO 引腳輸出一個高電平給CPLD,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的間隔時間。HC-SR04 超聲波傳感器工作的時序圖如圖4 所示。
圖3 HC-SR04模塊接線原理圖
圖4 HC-SR04模塊工作時序圖
由式(2)可知,聲速受溫度的影響,為了提高超聲波倒車預(yù)警系統(tǒng)的測量精度,對聲速進(jìn)行了溫度補(bǔ)償。溫度檢測模塊采用的是美國Dallas 公司生產(chǎn)的DS18B20溫度傳感器,該傳感器的測溫范圍為-55~125 ℃,測量誤差不超過±0.5 ℃[12-13]。DS18B20 傳感器具有精度高、智能化、體積小、線路簡單等優(yōu)點(diǎn),采用單總線協(xié)議,即與CPLD 接口僅需占用一個I/O 端口,簡化了傳感器與CPLD 的接口設(shè)計(jì)的同時提高了抗干擾性。該傳感器能夠直接讀取溫度測量值,用戶可以根據(jù)實(shí)際需要,通過編程設(shè)置測量分辨率,其分辨率范圍為9~12 位。DS18B20 有寄生電源供電和外部電源供電兩種供電方式,為了保證轉(zhuǎn)換精度,系統(tǒng)通過外部電源給DS18B20 傳感器供電。溫度檢測模塊的接線原理圖如圖5 所示。
圖5 溫度檢測模塊接線原理圖
常用的顯示設(shè)備有LCD 液晶顯示器、數(shù)碼管等,其中LCD 液晶顯示器雖然功耗低,但在工作環(huán)境光線較強(qiáng)的情況下難以看清顯示內(nèi)容[14-15],如果應(yīng)用在倒車預(yù)警系統(tǒng)中會影響系統(tǒng)的安全性。因此超聲波倒車預(yù)警系統(tǒng)采用顯示更加清晰,并且價格相對便宜的數(shù)碼管來顯示測距結(jié)果。顯示模塊的原理圖如圖6 所示,4 位數(shù)碼管采用共陽極連接,用NPN 三極管作為開關(guān)控制位選信號,當(dāng)基極為高電平時,三極管導(dǎo)通,輸出高電平,如對Q1 而言,當(dāng)SEL0_T 為高電平時,選通數(shù)碼管D1。
聲光報(bào)警模塊由有源蜂鳴器和不同顏色的發(fā)光二極管組成,為了更好地提示駕駛員障礙物當(dāng)前的危險系數(shù),系統(tǒng)將測距范圍設(shè)定為四個安全等級(一級:大于3 m,二級:2~3 m,三級:1~2 m,四級:小于1 m),由CPLD 根據(jù)不同的安全級別輸出不同頻率的驅(qū)動信號,使蜂鳴器發(fā)出報(bào)警,同時驅(qū)動不同顏色的發(fā)光二極管發(fā)光(一級:指示燈均不亮,二級:綠燈亮,三級:黃燈亮:四級:紅燈亮),由于有源蜂鳴器的工作電流較大,通過三極管Q5 設(shè)計(jì)一個簡單的放大電路。聲光報(bào)警模塊原理圖如圖6 所示。
圖6 顯示和聲光報(bào)警模塊
系統(tǒng)軟件的總體架構(gòu)采用自頂向下的模塊化設(shè)計(jì)方法,開發(fā)環(huán)境為QuartusⅡ,采用Verilog HDL 硬件描述語言進(jìn)行設(shè)計(jì)[16]。CPLD 芯片內(nèi)部模塊主要包括:按鍵檢測模塊、超聲波觸發(fā)模塊、回波檢測模塊、計(jì)時模塊、聲速校正模塊、距離計(jì)算模塊、數(shù)碼管顯示模塊、聲光報(bào)警模塊。
為了降低代碼復(fù)雜程序,使用狀態(tài)機(jī)來進(jìn)行代碼編寫,根據(jù)輸出是否與輸入有關(guān),可以將狀態(tài)機(jī)分為摩爾型和米利型,其模型分別如圖7 和圖8 所示,系統(tǒng)采用摩爾型狀態(tài)機(jī),其輸出只取決于當(dāng)前狀態(tài),穩(wěn)定性更好。狀態(tài)機(jī)根據(jù)相應(yīng)的控制信號跳轉(zhuǎn)到不同的狀態(tài),由于CPLD 內(nèi)部提供較多的組合邏輯,代碼采用格雷碼對不同的狀態(tài)進(jìn)行編碼,格雷碼雖然使用較多的組合邏輯,但節(jié)省了寄存器。
圖7 摩爾型狀態(tài)機(jī)模型
圖8 米利型狀態(tài)機(jī)模型
系統(tǒng)啟動后,開始檢測按鍵是否被按下,如果按鍵按下,表示開始倒車,此時超聲波觸發(fā)模塊驅(qū)動超聲波傳感器發(fā)出超聲波,當(dāng)回波檢測模塊檢測到高電平時,計(jì)數(shù)模塊開始計(jì)數(shù),高電平結(jié)束立即停止計(jì)數(shù),超聲波傳播時間t=N/f,其中N為計(jì)數(shù)值,f為系統(tǒng)時鐘頻率。已知傳播時間t和校正后的聲速v,根據(jù)式(1)就可以計(jì)算出障礙物距離,再通過顯示模塊驅(qū)動數(shù)碼管顯示測量結(jié)果。報(bào)警模塊根據(jù)距離大小,控制蜂鳴器發(fā)出不同頻率的提示音,同時點(diǎn)亮相應(yīng)顏色發(fā)光二極管。系統(tǒng)流程圖如圖9 所示。
圖9 系統(tǒng)流程圖
為了驗(yàn)證超聲波倒車預(yù)警系統(tǒng)的測量精度,對其進(jìn)行了實(shí)測,實(shí)驗(yàn)記錄了12 次測量結(jié)果,如表1 所示,其中,實(shí)際值是用鋼制卷尺多次測量得到的平均值。由實(shí)驗(yàn)結(jié)果可知,該文所設(shè)計(jì)的超聲波倒車預(yù)警系統(tǒng)的測量范圍在2~450 cm,在10~450 cm 量程之間,測量結(jié)果的相對誤差在5%以內(nèi),能夠滿足實(shí)際需要。
表1 實(shí)驗(yàn)結(jié)果
該文在綜合分析了現(xiàn)有倒車預(yù)警系統(tǒng)的基礎(chǔ)上,將CPLD 和超聲波測距技術(shù)相結(jié)合,設(shè)計(jì)了一種適用于小型貨運(yùn)車輛的超聲波倒車預(yù)警系統(tǒng)。該系統(tǒng)采用CPLD 作為主控芯片,利用HC-SR04 傳感器發(fā)送接收超聲波信號,并具有溫度補(bǔ)償功能,簡化了系統(tǒng)復(fù)雜度的同時提高了測量精度。倒車過程中,當(dāng)檢測到車輛后方有障礙物時,系統(tǒng)會通過數(shù)碼管顯示障礙物當(dāng)前距離,并根據(jù)距離大小發(fā)出相應(yīng)的聲光報(bào)警。實(shí)驗(yàn)表明,該系統(tǒng)能滿足實(shí)際需要,性價比高,具有一定的推廣價值。