鞠劍平,吳思華,呂 毅,潘飛平
(1湖北工業(yè)大學(xué)商貿(mào)學(xué)院,湖北武漢430079;2武漢工程大學(xué)國(guó)際學(xué)院,湖北武漢430074)
可視倒車系統(tǒng)就是汽車輔助系統(tǒng)的一個(gè)重要組成部分,其主要功能是幫助司機(jī)克服行車盲區(qū)的困擾[1]。早期的汽車倒車?yán)走_(dá)系統(tǒng)雖然能夠偵測(cè)盲區(qū)范圍內(nèi)的障礙物,但是它只能夠識(shí)別與雷達(dá)在一個(gè)水平面的障礙物。其后出現(xiàn)的由一個(gè)車載后視攝像頭和車載顯示屏組成的影像倒車系統(tǒng),可以清晰看到車后的狀況,解決了車后方的視覺盲區(qū)問題,但對(duì)于轉(zhuǎn)彎過程中的車輛正前方及左右側(cè)仍然存在視覺盲區(qū)。因此,研究可以消除車輛四周視覺盲區(qū)的全景影像倒車系統(tǒng)具有一定的現(xiàn)實(shí)意義。
本文所設(shè)計(jì)的車載全景影像倒車系統(tǒng)由分別安裝在車輛前格柵或車標(biāo)、左右側(cè)門后視鏡及尾門的4個(gè)指向地面的高清攝像頭來收集車身四周的實(shí)時(shí)影像數(shù)據(jù),然后利用圖像處理技術(shù)實(shí)時(shí)在車載DVD的屏幕上顯示1個(gè)、2個(gè)、3個(gè)或4個(gè)攝像頭的車身四周全景影像信息。
本系統(tǒng)設(shè)計(jì)所涉及的主要元器件包括:核心控制芯片、圖形處理專用芯片以及與圖形處理芯片相配套的SDRAM芯片。
本系統(tǒng)核心控制CPU選擇的是STM32系列CPU,而沒有選擇一般常見的8位和16位單片機(jī),主要原因如下:1)本系統(tǒng)由于需要控制實(shí)時(shí)視頻圖像的輸出,需要CPU有較高主頻,而8位51兼容型單片機(jī)主頻一般為6~40 MHz,不能滿足要求;2)STM32系列微控制器I/O引腳較多,板載資源豐富,集成度高,便于系統(tǒng)將來外接SD卡,實(shí)現(xiàn)行車記錄儀等擴(kuò)展功能[2];3)STM32系列微控制器基于先進(jìn) Cortex-M3架構(gòu),同系列 CPU間引腳相互兼容,便于將來硬件升級(jí)時(shí)更換同系列主頻更高的CPU。
由于本系統(tǒng)需要對(duì)四路輸入視頻進(jìn)行處理,控制輸出一路視頻,故除有控制芯片外,還需要有專用于圖像處理的DSP芯片。對(duì)于進(jìn)行圖像處理的DSP芯片,沒有選擇常見的TI公司的C6000系列DSP,而是選用了TECHWELL公司推出的TW2824視頻處理芯片,原因如下:1)TI公司的C6000系列DSP,其功能強(qiáng)大,使用靈活,對(duì)開發(fā)人員有較高要求,需要開發(fā)人員有較強(qiáng)圖像處理算法方面的編程經(jīng)驗(yàn),而TECHWELL公司的TW2824視頻處理芯片屬于硬件固化型的DSP芯片,該芯片所用到的基本算法已固化到DSP芯片中,用戶主要通過設(shè)置相關(guān)寄存器的值來完成相關(guān)功能的實(shí)現(xiàn),大大降低了開發(fā)難度;2)TW2824具有視頻輸入、動(dòng)態(tài)檢測(cè)、視頻控制、OSD疊加、視頻輸出和多片級(jí)聯(lián)等功能,可應(yīng)用于模擬矩陣視頻切換系統(tǒng)、4/8/16路DVR、車載后視系統(tǒng)等眾多領(lǐng)域,在車載電子領(lǐng)域其可靠性得到了充分的保障[3],而 TI公司的 C6000系列 DSP屬于通用的圖形處理芯片,不是針對(duì)車載電子進(jìn)行專門設(shè)計(jì)的芯片;3)TW2824內(nèi)部集成有4路模擬復(fù)合視頻輸入接口,能夠直接將4路模擬輸入視頻信號(hào)進(jìn)行ADC轉(zhuǎn)換,產(chǎn)生相應(yīng)的數(shù)字視頻信號(hào),如采用TI公司的 C6000系列 DSP,則需要外接如TVP5158等型號(hào)的專用4路視頻解碼芯片,這樣不僅會(huì)增加硬件成本,而且會(huì)增大電路板面積;4)TW2824的價(jià)格遠(yuǎn)低于TI公司的C6000系列DSP,且采用TW2824制版工藝較為簡(jiǎn)單,只需制成雙面板,而如果采用C6000系列DSP,核心板通常需要制成6~8層多層板。
使用TW2824進(jìn)行圖像處理時(shí),需要配套連接兩片SDRAM。根據(jù)TW2824的用戶手冊(cè),其配套使用的是第一代SDR SDRAM。
車載全景影像倒車系統(tǒng)的控制電路板通過車載DC12V輸入電源信號(hào),4路攝像頭視頻輸入控制電路板,由控制電路板上的視頻處理芯片對(duì)視頻圖像進(jìn)行處理,處理以后的圖像通過控制電路板上唯一的輸出接口輸出到車載DVD的屏幕上(將輸出接口與原車顯示器或者后視鏡/儀表臺(tái)顯示器支持AV輸入對(duì)插即可)。
汽車啟動(dòng)時(shí),系統(tǒng)自動(dòng)進(jìn)入開機(jī)狀態(tài)。當(dāng)司機(jī)打左(右)轉(zhuǎn)向燈時(shí),左(右)轉(zhuǎn)向燈觸發(fā)信號(hào)觸發(fā)控制電路板相關(guān)引腳,從而控制視頻輸出接口的信號(hào),自動(dòng)顯示相應(yīng)左(右)攝像頭畫面。任何情況下,當(dāng)司機(jī)倒車時(shí),系統(tǒng)自動(dòng)顯示后視攝像頭畫面,倒車檔復(fù)位后,系統(tǒng)自動(dòng)切換前視攝像頭畫面,15 s后自動(dòng)關(guān)閉。在汽車正常行駛過程中,駕駛員可以通過按鍵控制,切換選擇所顯示的攝像頭。
本系統(tǒng)通過對(duì)外接的4個(gè)攝像頭的視頻信號(hào)進(jìn)行采集處理,并分割畫面顯示在車載DVD的顯示屏幕中。
圖1 系統(tǒng)結(jié)構(gòu)框圖
攝像頭視頻信號(hào)的動(dòng)態(tài)偵測(cè)、裁剪、縮放是由視頻控制芯片TW2824構(gòu)成的畫面分割電路完成。TW2824由 STM32控制,STM32采用并行方式與TW2824連接,相關(guān)控制信號(hào)連接到STM32上,通過軟件編程實(shí)現(xiàn)STM32控制TW2824選擇視頻信號(hào)進(jìn)行裁剪、縮放,實(shí)現(xiàn)三分屏顯示。同時(shí)使用TW2824提供的OSD技術(shù),疊加相應(yīng)中英文字符菜單。由于顯示的字符數(shù)目較多,TW2824的內(nèi)部存儲(chǔ)放不下所有待顯示字符,故需外接存儲(chǔ)芯片專用于存儲(chǔ)待顯示的字符點(diǎn)陣字庫(kù)。系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。
本系統(tǒng)只需要使用最基本的I/O引腳控制視頻輸入輸出電路,不需要其他的復(fù)雜功能。從成本上考慮,選擇增強(qiáng)型STM32F103xx系列的微控制器,具體型號(hào)為STM32F103C8T6,封裝為L(zhǎng)QFP-48?;赟TM32的系統(tǒng)控制電路包括STM32最小系統(tǒng)、JTAG仿真接口、控制視頻輸入電路。
本文所設(shè)計(jì)的車載360影像倒車系統(tǒng)通過專用的接口插座,從汽車上獲得系統(tǒng)工作電壓(+12V),并獲得汽車的左轉(zhuǎn)向、右轉(zhuǎn)向、倒車、車頂燈等信號(hào),根據(jù)這些信號(hào),由STM32控制相應(yīng)的左右和前后攝像頭的視頻輸入。
這里以倒車信號(hào)為例說明其工作過程。如圖2所示,當(dāng)汽車啟動(dòng)時(shí),J1中的 ACC輸出高電平,PB14為低電平。STM32檢測(cè)到PB14為低電平時(shí),在PA3上輸出高電平,Header4的1號(hào)引腳即為高電平,使倒車攝像頭獲得電源,向TW2824輸入視頻信號(hào),但此時(shí)倒車攝像頭信號(hào)并沒有顯示在車載DVD的屏幕上。當(dāng)?shù)管囕斎胄盘?hào)輸入高電平時(shí),PB15輸入為低電平;當(dāng)STM32檢測(cè)到PB15為低電平時(shí),在PA4上輸出高電平,使得Header4的2號(hào)引腳為高電平。只有當(dāng)PA3、PA4同時(shí)為高電平時(shí),TW2824才控制輸出端口,將倒車攝像頭信號(hào)顯示到車載DVD的屏幕上。與此同時(shí),STM32的PB13輸出高電平,使得J1_4輸出高電平,點(diǎn)亮倒車攝像頭上所附帶的補(bǔ)光燈[5]。
選用PQFP208封裝的TW2824M,其帶有多路復(fù)用(MUX)和雙通道輸出功能。
1)STM32與TW2824的接口電路
TW2824的HSPB引腳可以將HOST總線設(shè)置為串行或并行工作方式。這里將該引腳接地,設(shè)置為并行工作方式,對(duì)應(yīng)引腳 HDAT[0]-HDAT[7]與 STM32的 PA6-PA15相連接。TW2824并行HOST總線的數(shù)據(jù)線和地址線都是復(fù)用的,也就是說TW2824利用相同的引腳既傳送地址又傳送數(shù)值。
TW2824工作在并口方式時(shí),通過引腳HCSB0和HCSB1來選擇寄存器的頁(yè),寫使能信號(hào)線HWRB和讀使能信號(hào)線HRDB來完成讀寫控制,地址引腳HLAE在高電平時(shí)表示 HDAT[0]-HDAT[7]上傳輸?shù)臑榈刂沸盘?hào),當(dāng)它為低電平時(shí),表示HDAT[0]-HDAT[7]上傳輸?shù)臑閿?shù)據(jù)信號(hào)。
圖2 STM32控制倒車視頻信號(hào)輸入
2)TW2824與SDRAM的接口電路
為了能夠同時(shí)顯示捕獲視頻圖像,TW2824提供了2個(gè)獨(dú)立的視頻控制器,除了接擴(kuò)展 SDRAM存儲(chǔ)器能力不同外,這2個(gè)視頻控制器(2個(gè)視頻處理徑X PATH和Y PATH)是完全相同的。對(duì)于顯示路徑(X PATH),外接SDRAM的大小是16~512 Mbits。外接的擴(kuò)展存儲(chǔ)器大小只與視頻緩存和回放能力相關(guān)。
如圖3所示,選擇的SDRAM為容量為1M×16bits的 K4S161622。K4S161622內(nèi)部包括 2個(gè)bank,11根行地址線RA0-RA10和8根列地址線CA0-CA7復(fù)用在引腳 A0-A10上,A0-A10與TW2824 X通道地址線 ADDRX[0:10]相連。K4S161622的數(shù)據(jù)總線DATA_D[0:15]與TW2824 X通道的 DATAX[0:15]相連。K4S161622的 BA引腳、WE引腳、CAS引腳和 RAS引腳分別和TW2824的BA0X、WEBX、CASBX和RASBX引腳相連接[6]。
K4S161622的DQM0、DQM1引腳是數(shù)據(jù)輸入輸出屏蔽引腳。DQM1、DQM0分別代表16位數(shù)據(jù)的高、低字節(jié)讀取信號(hào)。當(dāng)讀取數(shù)據(jù)時(shí),DQM1、DQM0分別用來控制16位數(shù)據(jù)中高低字節(jié)能否被讀取;當(dāng)DQM1、DQM0為低電平時(shí),對(duì)應(yīng)的高(低)字節(jié)就可以被讀取,如果DQM1、DQM0為高電平時(shí),對(duì)應(yīng)的高(低)字節(jié)就不能被讀取。當(dāng)向內(nèi)存里寫入數(shù)據(jù)時(shí),DQM1、DQM0控制數(shù)據(jù)能否被寫入:當(dāng)DQM1、DQM0為低電平時(shí),對(duì)應(yīng)的高(低)字節(jié)就可以被寫入;如果DQM1、DQM0為高電平時(shí),對(duì)應(yīng)的高(低)字節(jié)就不能被寫入。
3)TW2824的視頻輸入輸出接口電路設(shè)計(jì)
TW2824具有5個(gè)輸入接口,包括1路數(shù)字視頻信號(hào)輸入和4路模擬視頻信號(hào)輸入。4個(gè)模擬視頻輸入信號(hào)由內(nèi)置的10位ADC和亮度/色度處理器轉(zhuǎn)化為數(shù)據(jù)流,每個(gè)通道內(nèi)置的編碼器都有動(dòng)態(tài)偵測(cè)和垂直水平縮放功能,經(jīng)過縮放后的數(shù)字視頻信號(hào)被傳送給后續(xù)的視頻控制部分。
使用TW2824的VIN0A-VIN3A來輸入視頻信號(hào),而根據(jù)用戶手冊(cè),不使用的VIN0B-VIN3B要串0.1 μF的電容接模擬地。視頻信號(hào)在送到VIN0A-VIN3A之前先經(jīng)過3階LC無(wú)源低通濾波器進(jìn)行濾波。
TW2824有兩組輸出通道、4個(gè)輸出引腳,分別是 VOUTYX、VOUTCX、VOUTYY、VOUTCY,這里只使用X通道,
將VOUTYX(復(fù)合/亮度信號(hào)輸出)、VOUTCX(復(fù)合/色度信號(hào)輸出)都引出,通過并聯(lián)LC濾波器濾波輸出到接口座,與車載DVD輸入端相連,以便于將輸出視頻顯示在車載DVD的屏幕上。
圖3 TW2824與SDRAM的連接
圖4 TW2824的視頻輸入輸出接口電路
本系統(tǒng)中STM32工作電壓為3.3 V,TW2824的數(shù)字電源的工作電壓也為3.3 V,但TW2824的內(nèi)部邏輯單元的工作電壓和ADC、DAC模擬電源的工作電壓為2.5 V,而汽車提供的標(biāo)準(zhǔn)電源電壓為12 V,所以設(shè)計(jì)了相應(yīng)的電壓轉(zhuǎn)換電路:首先用LM2576將12 V電壓轉(zhuǎn)換為5 V電壓,然后使用LM1117_3.3和LM1117_2.5轉(zhuǎn)化產(chǎn)生 3.3 V 和 2.5 V 電壓源[7]。
本系統(tǒng)軟件部分主要是對(duì)TW2824的控制器進(jìn)行相應(yīng)操作。TW2824的內(nèi)部寄存器分為3頁(yè),分別以前綴0x,1x,2x開頭,每頁(yè)寄存器頁(yè)內(nèi)地址為00~ff,256個(gè)字節(jié)。系統(tǒng)并未用到TW2824的所有功能,當(dāng)設(shè)計(jì)不同的系統(tǒng)時(shí),需要對(duì)寄存器值進(jìn)行不同的設(shè)定。對(duì)TW2824的片內(nèi)寄存器讀寫有串行與并行2種方式,串行方式使用I2C協(xié)議標(biāo)準(zhǔn)2線連接,傳輸速度可達(dá)到400 Kb/s,而并行方式可達(dá)到更快的傳輸速度[8]。本系統(tǒng)中采用的是并行方式,CSB0和CSB1兩根線用來選擇TW2824內(nèi)部寄存器頁(yè),在并行的接口方式下,TW2824也支持同寄存器頁(yè)內(nèi)寄存器地址自動(dòng)加1功能,可方便地執(zhí)行同頁(yè)內(nèi)寄存器的連續(xù)地址讀操作或?qū)懖僮?。軟件開發(fā)環(huán)境使用的是RealView MDK,相應(yīng)的軟件流程如圖5所示。
圖5 系統(tǒng)程序流程圖
在硬件和軟件都設(shè)計(jì)完成后,給電路板連接12 V電源,系統(tǒng)正常上電,檢查各部分模塊的電壓均為正常。將系統(tǒng)視頻輸出端連接到車載DVD的顯示屏上,系統(tǒng)能夠正常顯示圖像(圖6)。為方便硬件調(diào)試并根據(jù)司機(jī)實(shí)際使用的需求,在電路的電源上增加了一個(gè)按鍵開關(guān),系統(tǒng)實(shí)現(xiàn)了以下的功能:
圖6 電路板測(cè)試輸出視頻到車載DVD上
1)長(zhǎng)按5 s可開機(jī)或關(guān)機(jī);
2)短按即按以下順序切換攝像頭:前(前左右三畫面)→左(左全屏)→右(右全屏)→后(后左右三畫面);
3)如果倒車,自動(dòng)切換到倒車的三畫面(后、左、右三個(gè)畫面);
4)沒有倒車,車主可以按動(dòng)開關(guān)切換畫面,切換順序:前(前左右三畫面)→左(左全屏)→右(右全屏)→后(后左右三畫面)。
[1] 陳紅兵,劉怡俊,李 超.多視角智能可視倒車輔助系統(tǒng)的研究和設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2014(15):51-57.
[2] 何華芝.基于STM32的車載監(jiān)控設(shè)備的硬件設(shè)計(jì)[J].電子測(cè)量技術(shù),2008(12):139-146.
[3] Techwell Inc.TW2824 DATASHEET[EB/OL].[2013-10-04]http://www.alldatasheet.com/datasheet-pdf/pdf/131354/ETC1/TW2824.html.
[4] 盧有亮.基于STM32的嵌入式系統(tǒng)原理與設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2012:93-113.
[5] 意法半導(dǎo)體.STM32F10xxx參考手冊(cè)[EB/OL].(2009-12-01)[2013-11-07]http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743/LN1939/PF257859?s_searchtype=keyword.
[6] Samsung Electronics.K4S161622D DATASHEET[EB/OL].(2003-06-08) [2013-12-24]http://datasheet.eeworld.com.cn/pdf/SAMSUNG/138168_K4S161622D-TC_L80.pdf.
[7]王劍宇.高速電路設(shè)計(jì)[M].北京:電子工業(yè)出版社,2010:113-121.
[8]范慶輝,陽(yáng)富民.基于TW2824的OSD技術(shù)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(10):2 469-2 474.