陳勁松,李學軍
(湖北汽車工業學院 電子信息科學系,湖北 十堰 442002)
隨著電子技術的飛速發展,汽車倒車輔助系統也發生了巨大的變化。目前中高檔轎車已普遍安裝了超聲波倒車雷達,幫助司機監控倒車時車尾與車后障礙物的距離,但受限于超聲波的傳播特性,倒車雷達對車后的細桿狀障礙物有漏報現象。有生產廠家曾嘗試將車載視頻后視鏡與倒車雷達整合,用于觀察車后情況和顯示倒車雷達測得的數據,以彌補傳統倒車雷達性能的不足。將視頻后視鏡與倒車雷達整合的核心是視頻字符疊加器的設計,由于傳統視頻字符疊加器結構復雜,在車載環境下可靠性差,造成整合后的可視倒車雷達故障率高,成本高昂,未能在市場上推廣。因此,這里提出一種采用新型視頻字符顯示芯片MAX7456設計的倒車雷達系統,該系統極大地簡化了視頻字符疊加器的設計,有效地克服了傳統視頻字符疊加器的缺點,提高了系統的可靠性,降低了系統成本。若對該倒車雷達的攝像系統稍加改進,還可擴展出視頻變焦、夜視等功能,具有很好的市場前景。
MAX7456是MAXIM公司推出的專用視頻字符疊加芯片。該器件集成了所有用于產生用戶定義OSD,并將其插入視頻信號中所需的全部功能,即將輸入箝位電路、同步分離器、視頻時序發生器、OSD插入復用器、EEPROM、顯示存儲器、OSD發生器、時鐘晶體振蕩器及SPI通信接口等都集成到了芯片中,用戶只需外接一只27 MHz晶振和少量阻容元件,就可構成一個完整的視頻字符疊加器。為方便用戶使用,MAX7456內部字符存儲器預先裝入了256個字符和圖形供用戶調用。MAX7456顯示字符大小為18×12像素,在屏幕上最多可顯示16行×30列=480個字符。在無視頻信號輸入時,MAX7456可產生內部視頻信號,保證正常的字幕顯示。字符存儲器的內容可通過SPI接口進行修改,以滿足用戶需求。
MAX7456為28引腳封裝,其端口功能可劃分為視頻信號端口、控制信號端口和輔助端口,下面對各端口功能分別加以說明:
1)MAX7456的視頻信號輸入、輸出端口為 VIN和VOUT。VIN端口可接收標準的NTSC或PAL制視頻信號,輸入的視頻信號在MAX7456內部完成顯示字符信號插入后由VOUT端子輸出。
1.2.1 字符控制原理
MAX7456使用字符存儲器(NVM)存儲顯示字符的點陣信息,每一字符為18行×12列點陣,點陣編址順序為從左到右,從上到下,共216個像素。每像素用2個bit描述該點特征:00代表黑色,10代表白色,X1代表透明(外同步模式)或灰色(內同步模式)(X代表任意值),因此每字節可存儲4個像素的信息,每字符共需54字節存儲空間。為方便尋址,字符存儲器中每64字節存儲空間設為1個字符存儲單元,其中前54字節存儲1個字符的點陣信息,剩余10個字節未使用。MAX7456共提供256個字符存儲單元,這些存儲單元在出廠時已寫入了常用的數字、英文大小寫字母、部分日文、中文字符和少量圖形等供用戶使用。用戶若需顯示自定義的字符或圖形,只需要通過SPI串行接口將自定義字符或圖形的點陣輸入到相應地址的字符存儲單元中對原有字符點陣進行替換即可。
MAX7456使用顯示存儲器(SRAM)存儲字符在屏幕上的顯示特征。MAX7456將屏幕顯示劃分成16行×30列(PAL制,NTSC制為13行×30列),共480個顯示位置。顯示位置編址順序為從左到右,從上到下。顯示存儲器的地址編址與屏幕顯示位置一一對應,因此顯示存儲器共有480個存儲單元,每存儲單元有2個字節,高位字節存儲被顯示字符在字符存儲器(NVM)中的存儲單元地址,低位字節存儲被顯示字符的屬性狀態位。用戶若需在屏幕某個位置顯示某特定的字符,只需將該相應位置所對應的顯示存儲器單元中的特定字符在字符存儲器(NVM)中的存儲單元地址存入顯示存儲單元的高位字節,將顯示字符的狀態屬性存入低位字節,然后開啟OSD顯示即可。
1.2.2 顯示存儲器配置
要在屏幕上正確顯示所需的內容,必需正確配置顯示存儲器。該存儲器由模式寄存器 (DMM)、地址高位寄存器(DMAH)、地址低位寄存器 (DMAL)和數據輸入寄存器(DMDI)共同控制。配置過程包括:通過模式寄存器設置通信工作模式;通過地址寄存器(DMAH、DMAL)選擇顯示單元;通過地址寄存器的DMAH[1]位(注:數據格式為“寄存器名[比特位]”)及數據輸入寄存器DMDI對選中的顯示存儲單元進行配置。下面以8位工作模式,在屏幕第2行第2列(顯示地址為1Fh)顯示字符“C”(NVM存儲單元地址為0Dh)為例,說明通過SPI對顯示存儲器的配置過程[1]:
1)寫模式寄存器DMM[6]=1,選擇8位工作模式;
2)寫地址寄存器DMAH[1]=0,設定寫入到數據輸入寄存器(DMDI)的數據是被顯示字符在顯示存儲器(NVM)中的存儲單元地址;
3)寫字符屏顯位置的最高位地址“0b”到地址寄存器DMAH[0];
4)寫字符屏顯位置的低8位地址“00011111b”到地址寄存器 DMAL[7:0];由 DMAH[0]+DMAL[7:0]共同尋址顯示存儲器存儲單元地址,共有512個地址,因此需要9 bit地址位,MAX7456使用了前480個地址;
5)寫被顯示字符“C”的存儲單元(NVM)地址“00001101b”到DMDI[7:0],該數據將被存儲到 DMAH[0]+DMAL[7:0]地址單元的顯示存儲器高位字節中;
6)寫地址寄存器DMAH[1]=1,設定寫入到數據輸入寄存器(DMDI)的數據是被顯示字符的字符屬性字節;
7)寫字符屏顯位置的最高位地址“0b”到地址寄存器DMAH[0];
8)寫字符屏顯位置的低8位地址“00011111b”到地址寄存器DMAL[7:0];
9)寫被顯示字符的字符屬性字節“LBIXXXXXb”到DMDI[7:0],該數據將被存儲到MAH[0]+DMAL[7:0]地址單元的顯示存儲器低位字節中。其中:L為本地背景顏色控制位,L=0為透明,L=1為灰色;B為閃爍控制位;I為反色控制位,I=0為正常顯示,I=1為反色顯示;X為未使用位;
10)寫視頻模式寄存器VM0[3]=1,使能OSD圖像顯示。
1.2.3 存儲器讀寫時序
對MAX7456顯示存儲器(SRAM)及字符存儲器(NVM)的配置是通過SPI接口在線編程實現的。通過SPI接口SDIN及SCLK等3個信號的相互配合,可實現對MAX7456內部寄存器的讀寫操作及設置,進而通過寄存器完成對顯示存儲器 (SRAM)及字符存儲器 (NVM)的配置。圖1為MAX7456數據讀寫時序[1]。在一個操作周期中,片選信號變低之后,通過SDIN輸入的第1個字節為寄存器地址,其最高位為0時為寫操作,最高位為1時為讀操作;第2個字節為數據。這種格式有2個例外:
1)自動遞增寫模式,該模式用于訪問顯示存儲器,是一個8位操作。在寫數據前必須將顯示起始地址寫入顯示地址寄存器DMAH和DMAL中。然后對顯示存儲器執行自動遞增寫命令(DMM[6]=1,DMM[0]=1),此時8位遞增地址由內部產生,SDIN每個操作周期只需傳送8位數據,直到傳送的值為0xff時MXA7456接收終止。
2)從顯示存儲器讀字符數據時,若處于16位工作模式,在第1個操作周期中,控制器只能從SDOUT讀到高8位數據(如圖1(b)所示);第2個操作周期不再需要向 MAX7456發地址,可直接從SDOUT讀出低8位數據,因此第2個操作周期是8位。2個操作周期共24位(8位地址+16位數據)。

圖1 MAX7456數據讀寫時序Fig.1 MAX7456 read-write timing
可視倒車雷達由視頻后視系統和超聲測距系統2大部分構成。視頻后視系統負責對車后視頻圖像進行采集及顯示,主要用于取代傳統的汽車后視鏡的功能,同時在本系統中還用來顯示超聲測距系統測得的車尾到障礙物的距離值。由單片機控制超聲波測距系統完成對車后障礙物的測距,并完成將測距值在監視器上的顯示操作。圖2所示為可視倒車雷達系統框圖,其中的字符疊加電路即為MAX7456。

圖2 系統框圖Fig.2 System block diagram
考慮到汽車周圍環境復雜、輔助倒車系統所需測量距離短及成本限制等原因,目前倒車雷達大都采用超聲波進行測距。其基本原理是利用單片機控制超聲波探頭向車后發射一串超聲波脈沖,然后測量該脈沖遇到障礙物后返回的時間t,在已知聲波在空氣中傳播速度v時,根據公式:

即可計算出車尾到障礙物之間的距離。通常聲波在空氣中的傳播速度受氣溫的影響較大,因此必需對氣溫進行測量,然后根據聲波在空氣中的傳播速度公式[2]:

進行修正,這樣才能得到較準確的距離值。在單片機控制系統中,因為要兼顧運算速度和測量精度的關系,常使用式(2)的近似表達式

進行運算,這樣就得到超聲波倒車雷達的距離測量公式:

由該公式可計算出車尾到障礙物之間的距離。
根據車載超聲波雷達的工作特點及工作環境的要求,超聲波測距電路在設計時必需遵循以下原則:1)考慮到車載環境惡劣及布線方便,超聲波探頭必需選用全密封防水、防振型收發兩用專用探頭;2)超聲波探頭通常使用壓電陶瓷材料,其諧振頻率為40 kHz,且起動時有一定的惰性,因此不能采用單脈沖驅動,必須采用10~20個群脈沖驅動才能取得較好效果;3)由于超聲波基本沿直線傳播,單個探頭探測范圍有限,通常需要3~4個探頭才能完全覆蓋車尾。根據以上原則所設計的超聲波測距電路如圖3所示。

圖3 測距電路Fig.3 Distance measurement circuit
測距電路分發射和接收2部分,發射部分由SN7414、模擬電子開關HC4052的Y通道驅動4路超聲波探頭 (圖3中僅畫出了其中一路)。超聲波探頭U3采用車用全密封防水、防振型收發兩用探頭,該探頭的工作電壓為120 V左右。為使其能夠正常工作,設計了由VQ1、T1、C2和VD3組成的驅動器。VQ1工作在開關狀態,T1為變比1∶10的升壓變壓器,用于將12 V的驅動電壓升壓到120 V,VD3為C2提供放電通路。為防止在發射超聲波時的高電壓通過接收回路C1回串,燒毀HC4052模擬電子開關,在接收回路的輸入端接入由R2、VD1和VD2組成的保護電路,將輸入HC4052的信號箝位在0.7 V。由于超聲波探頭接收到的正常回波信號通常只有幾十毫伏,因此保護電路對回波信號無影響。
超聲波測量采用循環工作方式,四路探頭的選擇由單片機通過P1.5、P1.6引腳控制HC4052來完成;測距時由單片機內部計數器控制,產生12個頻率為40 kHz,占空比為50%的脈沖信號,由P1.7引腳發出,通過發射電路送到選定的超聲波探頭中。
接收回路由超聲波探頭U3、HC4052的X通道和UPC2800構成。UPC2800為紅外接收器專用IC,內部集成有前置放大器、ABLC控制器、限幅放大器、帶通濾波器、檢波器和輸出整形電路。其帶通濾波器的中心頻率可在30~80 kHz之間調整,正好覆蓋40 kHz的超聲波應用頻率,因此本電路中用它完成對回波信號的放大、整形及檢波。UPC2800的8引腳為信號輸入腳,7引腳為前置放大器增益調整腳,其外接電阻可根據增益要求在0~1 kΩ之間調整,串接的0.1 μF電容用于隔直;3引腳為內部電源濾波電容接入腳,典型值為47 μF;4引腳為內部帶通濾波器中心頻率調整腳,當外接電阻值為123 kΩ時,濾波器的中心頻率為40 kHz;6引腳為檢波器濾波電容連接端子,其外接濾波電容典型值為0.1 μF。檢波完成后的脈沖信號由2引腳輸出,送單片機的P3.2用作中斷控制信號。
視頻疊加及控制電路如圖4所示,車尾攝像頭拍攝的視頻信號經視頻輸入端子P1、MAX7456的VIN端子輸入,為防止輸入信號對MAX7456內部電路的影響,必須在P1與VIN端口之間接0.1 μF的輸入耦合電容對輸入信號進行直流隔離。輸入的視頻信號在MAX7456內部進行鉗位,消噪聲,字符點陣信號插入,電壓衰減修正后由VOUT端子經P2輸出,完成字符疊加工作。輸出電路同樣需要接輸出耦合電容進行隔直,為不影響場同步信號通過,該電容通常應取330 μF以上,為降低耦合電容的成本和體積,MAX7456通過SAG端口連接電壓衰減修正電容到VOUT輸出端,用以在可接受的失真范圍內盡量減小輸出電容的容量,圖4所示為其典型取值。

圖4 視頻疊加及控制電路Fig.4 Video overlay and control circuit
本設計中采用AT89C52對MAX7456進行控制,由于AT89C52沒有SPI串行口,因此采用P1.2、P1.3、P1.4端口模擬SPI的時序對MAX7456進行控制。為防止在操作期間顯示字符不穩定影響顯示效果,此處采用MAX7456輸出的場同步信號作為中斷信號,控制AT89C52在視頻信號的場消隱期間進行數據更新,以獲得良好的顯示效果。
AT89C52的另一個任務就是控制測距電路進行超聲波測距。由于測距電路共有4個探頭,因此采用循環測距的方法進行工作,本測距雷達設計測量距離最大為5 m,根據超聲波在空氣中的傳播速度式(3)可計算出倒車雷達在25℃時的聲速為346.45 m,以此為基準進行計算,一次測距所需時間為28.8 ms,考慮到數據處理及顯示控制時間,選擇循環測距的切換時間為40 ms。測距時由AT89C52內部定時器進行控制,每隔40 ms由AT89C52的P1.5、P1.6控制HC4052切換一次探頭,然后由P1.7發出12個頻率為40 kHz、占空比為50%的脈沖信號通過發射電路到超聲波探頭,同時開啟內部計時器進行時間測量。由于超聲波探頭在發射完探測信號后,還會有余振存在,在此期間檢測不出有用信號。為防止此時的超聲波余振信號通過接收電路回串引起AT89C52誤中斷,在該期間需關閉接收中斷INT0。經實際測量,所使用的超聲波探頭在25℃時有1.7 ms的余振,因此關閉中斷時間設置為2 ms,則由此產生的測量盲區在25℃時為0.35 m。由以上分析可得,在25℃時該超聲雷達的測量范圍在0.35~5 m之間。
系統程序采用模塊化設計,由主程序、后視系統控制、溫度測量、距離測量、報警、溫度及距離顯示等模塊組成,圖5是主程序流程圖。
系統在接通電源后,首先對MAX7456及DS18B20初始化,然后開攝像頭及監視器,作為行車過程中的視頻后視鏡。在此期間MCU控制DS18B20對車外溫度進行測量,并將測量值送MAX7456與攝像頭采集的車后視頻圖像進行疊加后送監視器。當MCU檢測到倒車檔時,輪流打開4個超聲波探頭對車后障礙物進行測量,并通過檢測到的回波時間和車外溫度,通過式(4)計算車尾到障礙物的距離,然后判斷該值時否小于安全距離,若是,則打開報警器報警,同時將該距離值送MAX7456與視頻疊加后送監視器顯示。若檢測到汽車檔位不在倒車檔位,則自動退出測距程序,恢復到后視鏡狀態。

圖5 主程序流程圖Fig.5 Flow chart of main program
經實際裝車測試,在25℃的環境中,對車后面積為1 m2的粗糙平面障礙物,其測量范圍為0.36~5.12 m。在3 m內,其測量誤差在1.5%~3%,大于3 m時,隨測量距離的增加,誤差逐漸增大;在5 m時誤差為4.6%。測量距離值在監視器上的顯示效果如圖6所示,其視場清晰、提示字符醒目。

圖6 監視器顯示效果Fig.6 Monitor display
通過合理的硬件及軟件設計,該裝置實現了倒車雷達與視頻后視鏡的復合功能。與傳統的倒車雷達相比,該系統將雷達測距信息疊加在視頻后視鏡的圖像上,符合駕駛員的視覺習慣,減輕了駕駛員的工作強度,對防止傳統倒車雷達對障礙物的漏報起到了良好的防范作用。該裝置電路簡單,功能豐富,價格低廉,具有很高的推廣價值。
[1] Maxim Integrated Products.MAX7456 datasheet[EB/OL].(2007-08)[2010-04-03].http://datasheets.maxim-ic.com/cn/ds/MAX7456_cn.pdf.
[2] 朱偉杰,于湘珍.基于超聲波測距的自適應倒車雷達設計[J].汽車電器,2009(4):15-17.ZHU Wei-jie,YU Xiang-zhen.Design of self-adaptive reverse radar based on ultrasonic ranging[J].Auto Electric Parts,2009(4):15-17.
[3] 肖炎根.基于超聲波的倒車雷達系統設計[J].電子元器件應用,2008,10(7):59-62.XIAO Yan-gen.Design of parking radar system based on ultrasonic ranging [J].Electronic Component& Device Applications,2008,10(7):59-62.
[4] 董志偉.一種減小超聲波測距裝置盲區的方法:中國,CN 98114159.5[P].2000-01-19.
[5] 呂科,羅永革,石振東,等.基于總線的超聲波倒車雷達設計[J].湖北汽車工業學院學報,2006,20(2):4-6.LV Ke,LUO Yong-ge,SHI Zhen-dong,et al.Design of ultrasonic range finder for parking based on bus[J].Journal of Hubei Atuomotive Industries Institute,2006,20(2):4-6.
[6] 吳勉.超聲波駐車暨倒車雷達系統研制[J].現代電子技術,2007,30(17):182-183,189.WU Mian.Study of ultrasonic parking and reversing aid system [J].Modern Electronics Technique,2007,30 (17):182-183,189.
[7] 黃斌,賀繼林,何清華,等.基于CAN總線的高性能倒車雷達設計[J].工業控制計算機,2007,20(5):74-75.HUANG Bin,HE Ji-lin,HE Qing-hua,et al.Design of high performance ultrasonic range finder for parking based on CAN bus[J].Industrial Control Computer,2007,20(5):74-75.