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