基于ADSP-BF561的車輛輔助駕駛系統(tǒng)硬件設(shè)計(jì)方案
引言
20世紀(jì)八十年代以來.電子技術(shù)和計(jì)算機(jī)技術(shù)快速發(fā)展,汽車行駛安全方面的研究也進(jìn)入了一個(gè)嶄新的領(lǐng)域。其發(fā)展方向主要體現(xiàn)在智能化的汽車主被動(dòng)安全研究,其中安全輔助駕駛是當(dāng)前國際智能交通系統(tǒng)研究的重要內(nèi)容之一。目前CCD或CMOS攝像機(jī)配合性能優(yōu)良和價(jià)格低廉的DSP處理器在車輛安全輔助駕駛領(lǐng)域中的應(yīng)用也不斷增加。其中ADI公司的Blackfin系列處理器基于ADI和Intel公司聯(lián)合開發(fā)的微信號(hào)架構(gòu)(Micro Signal Architecture.MSA).應(yīng)用于交通標(biāo)志識(shí)別、智能燈光控制、車道變換輔助、盲點(diǎn)識(shí)別、后視攝像機(jī)和停車輔助、自適應(yīng)巡航系統(tǒng)(Adaptive Cruise Control,ACCl、夜間輔助駕駛和智能安全氣囊等。因此對(duì)Black6n系列處理器的硬件開發(fā)為整個(gè)系統(tǒng)提供良好的研究平臺(tái)和開發(fā)環(huán)境。
1 車輛輔助駕駛系統(tǒng)框架設(shè)計(jì)
圖1系統(tǒng)總體框架
車輛輔助駕駛的主要目的是為了提高汽車行駛的安全性。通過安裝在車輛上的各種傳感器獲得車輛、道路狀況以及周圍車輛狀況等信息.為駕駛員提供有效的預(yù)警信號(hào).并在一定的條件下對(duì)車輛實(shí)施安全控制。系統(tǒng)主要由視覺系統(tǒng)、雷達(dá)系統(tǒng)、輔助駕駛控制系統(tǒng)、機(jī)械式自動(dòng)變速控制系統(tǒng)、發(fā)動(dòng)機(jī)控制系統(tǒng)、制動(dòng)控制系統(tǒng)組成,感知車輛狀態(tài)的傳感有制動(dòng)踏板位移傳感器、油門踏板位移傳感器、轉(zhuǎn)向角度傳感器、車輪轉(zhuǎn)速傳感器、加速度傳感器,其框架結(jié)構(gòu)如圖1所示。
1.1環(huán)境感知系統(tǒng)
視覺傳感器采用AIR-7010C CCD攝像機(jī).通過ADV7183接入ADSP-BF561并行輸入輸出外圍接口單元進(jìn)行視頻解碼,雷達(dá)系統(tǒng)采用IBEO公司的LD-ML多層激光雷達(dá)系統(tǒng).經(jīng)過視覺處理算法后的圖像數(shù)據(jù)與雷達(dá)數(shù)據(jù)進(jìn)行數(shù)據(jù)融合.最終得出障礙物的有效信息,并通過CAN總線發(fā)送至輔助駕駛控制單元進(jìn)行策略控制。
1.2底層控制系統(tǒng)
系統(tǒng)通過CAN總線獲取有效的車輛行駛狀態(tài)信息和車輛行駛環(huán)境信息,監(jiān)控車輛的縱向和橫向行駛安全,在一定的行駛條件下對(duì)車輛縱向行駛進(jìn)行干預(yù)控制。輔助駕駛控制策略單元通過獲取環(huán)境感知傳感器與車輛狀態(tài)傳感器而對(duì)發(fā)動(dòng)機(jī)轉(zhuǎn)速的控制、機(jī)械式自動(dòng)變速器fAM,I‘)檔位和離合器的控制、制動(dòng)系統(tǒng)的控制。
2 硬件系統(tǒng)的組成與設(shè)計(jì)
Blackfin處理器架構(gòu)基于一個(gè)10級(jí)RISC MCU/DSP流水線和一個(gè)專為實(shí)現(xiàn)最佳代碼密度而設(shè)計(jì)的混合16/32位指令集架構(gòu).除此之外還包含加速視頻和圖像處理的指令,因此Blackfin系列的處理器應(yīng)用于通信、圖像、語音等方面,ADSP-BF561是目前Blackfin家族中性能最高的一款處理器,其特點(diǎn)如下:
1)2個(gè)對(duì)稱最高頻率可達(dá)600MHz的高性能Blackfin內(nèi)核;
2)每個(gè)內(nèi)核包括2個(gè)16位MAC、2個(gè)40位ALU、4個(gè)8位視頻ALU以及1個(gè)40位移位器:
3)內(nèi)核電壓0.8V-1.2V,兼容3.3V及2.5V I/O;,
4)328K Bytes片內(nèi)存儲(chǔ)器.每個(gè)內(nèi)核32Kbytes的Ll指令SRAM/Cache、64Kbytes的L1數(shù)據(jù)SRAM/Cache、4KBytes的L1臨時(shí)數(shù)據(jù)SRAM,128Kbytes共享的L2 SRAM:
5)2個(gè)并行輸入/輸出外圍接口單元(PPI),支持ITU-R656視頻數(shù)據(jù)格式:2個(gè)雙通道全雙工同步串行接13,支持8個(gè)立體聲璐通道:2個(gè)16通道DMA控制器和1個(gè)內(nèi)部存儲(chǔ)器DMA控制器;12個(gè)通用32-bit定時(shí)肘數(shù)器;支持IrDA的UART;2個(gè)“看門狗”定時(shí)器;48個(gè)可編程標(biāo)志引腳;1x-63x倍頻的片內(nèi)PLL。
2.1電源及復(fù)位電路
在設(shè)計(jì)電源電路時(shí).需要考慮電源的負(fù)載能力、可靠性和穩(wěn)定性。同時(shí)需要考慮系統(tǒng)需要多少種電源.ADSP-BF56l外部I/O供電電壓為3.3V.內(nèi)核供電電壓為1.2V.因此系統(tǒng)需要+5V、+3.3V、+1.2V.首先通過DC-DC2405把車上的+24v轉(zhuǎn)換成+5V.然后通過LT1765把+5V轉(zhuǎn)換成+3.3V.ADP3336把+3.3v轉(zhuǎn)換成+1.2v。復(fù)位電路采用ADM708復(fù)位芯片.并在電路中加入手動(dòng)按鈕。實(shí)現(xiàn)手動(dòng)復(fù)位功能.方便程序的調(diào)試。
2.2時(shí)鐘電路
有源品振信號(hào)質(zhì)量好、比較穩(wěn)定、連接簡(jiǎn)單和不需要復(fù)雜的配置電路。因此ADSP-BF561系統(tǒng)輸入時(shí)鐘采用30MHz的外部有源品振然后通過其內(nèi)部鎖相環(huán)PLL把頻率進(jìn)行相應(yīng)的倍頻作為ADSP-BF561的總線頻率和SDRAM的時(shí)鐘頻率,同時(shí)由于并行輸入,輸出外圍接13和視頻編解碼芯片的時(shí)鐘需要,需要把27MHz有源晶振通過IDT2305分成4路輸出。
2.3存儲(chǔ)擴(kuò)展電路
SDRAM是同步尋址存儲(chǔ)器,由塊、行和列組成.全部讀店操作鎖定于一個(gè)處理器源時(shí)鐘,一旦處理器對(duì)SDRAM進(jìn)行初始化。該存儲(chǔ)器必須不斷更新,以確保能保持它的狀態(tài).SDRAM的時(shí)鐘速率可變,工業(yè)上最常用的是PCI00和PCI33,最高時(shí)鐘頻率分別為100MHz和133MHz。ADSP-BF561擁有SDRAM控制器(SDC)與SDRAM的無縫連接,其連接如圖2(a)所示,系統(tǒng)采用MT48LCl6M16A2,容量為32MHz,最高頻率為133MHz。
ADSP-BF561具有異步存儲(chǔ)器控制器(AMc),與SDRAM控制器共享數(shù)據(jù)和地址引腳。當(dāng)上電復(fù)位或者軟件初始化復(fù)位后.處理器采樣復(fù)位配置寄存器BMODE引腳,執(zhí)行引導(dǎo)功能。系統(tǒng)采用BMODEIO為由8116位Flash引導(dǎo)模式,并選用NORFLASH作為引導(dǎo)代碼存儲(chǔ)器,所選芯片為容量8MB的M29W640DT.其連接方式如圖2(b)所示。
a) SDRAM
b)Flash
圖2存儲(chǔ)器連接
2.4并行輸入/輸出外圍接口電路
ADSP-BF561提供兩個(gè)可直接與并行A/D和D/A轉(zhuǎn)換器、符合ITU-601/656標(biāo)準(zhǔn)的視頻編碼和解碼器以及與其他通用外設(shè)連接的并行接13(PPI),每個(gè)PPI包括一個(gè)專用時(shí)鐘引腳,由時(shí)鐘電路產(chǎn)生。3個(gè)幀同步引腳和16個(gè)數(shù)據(jù)引腳。通過視頻解碼器ADV7183與ADSP-BF561的PPl0連接.視頻編碼器ADV7179與ADSP-BF561的PPll連接.從而實(shí)現(xiàn)車輛輔助駕駛系統(tǒng)中的環(huán)境感知傳感和人機(jī)界面功能.其連接如圖3所示。
圖3并行輸入/輸出連接
2.5 CAN接口電路
CAN(Controller Area Network)總線,即控制器局域網(wǎng)總線.是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò).目前已廣泛用于汽車等控制領(lǐng)域。利用ADSP-BF561處理器串行SPI總線接口單元與CAN控制器MCP2515芯片的無縫連接.通過對(duì)轉(zhuǎn)換芯片內(nèi)部寄存器的操作.并通過CAN接收器SN65230芯片實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。
3 軟件及實(shí)驗(yàn)分析
系統(tǒng)的硬件設(shè)計(jì)是后續(xù)代碼編寫和算法實(shí)現(xiàn)的基礎(chǔ).因此完成上述系統(tǒng)的硬件開發(fā)后,編寫底層驅(qū)動(dòng)模塊和系統(tǒng)軟件框架,并把視覺處理算法進(jìn)行相關(guān)移植。ADI公司提供一套完整的軟件開發(fā)工具Visual DSP++,利用Visual DsP++項(xiàng)目管理環(huán)境,程序員可以方便的開發(fā)和調(diào)試應(yīng)用程序,同時(shí)開發(fā)軟件的編譯器能有效地將C,C十+代碼轉(zhuǎn)換為Blackfin DSP的匯編代碼.采集結(jié)果如圖4(a)所示。
ADSP-BF561為對(duì)稱雙核處理器,因此在程序編寫的時(shí)采用不同內(nèi)核處理不同工作,并根據(jù)硬件接口進(jìn)行調(diào)試軟件的編寫.CoreA工作主要包括設(shè)置時(shí)鐘頻率、初始化SDRAM控制器、初始化視頻編解碼器、初始化PPl0和中斷、使能PPIO.以ITU656模式進(jìn)行獲取,獲取到的幀存放在SDRAM中:CoreB工作主要包括設(shè)置時(shí)鐘頻率、初始化PPI1和中斷、使能PPI1,以通用輸出模式執(zhí)行視頻輸出,軟件流程如圖4(b)所示。
a) 采集界面
b)軟件流程
圖4采集界面及流程圖
4 結(jié)論
本系統(tǒng)采用了ADI公司功能強(qiáng)大的媒體處理器ADSP-BF561.在完成最小系統(tǒng)和擴(kuò)展功能硬件開發(fā)后.可以在該硬件平臺(tái)上方便地進(jìn)行代碼和算法開發(fā).視覺處理系統(tǒng)在整個(gè)系統(tǒng)設(shè)計(jì)中起著重要作用.其硬件設(shè)計(jì)的成功完成.能夠縮短開發(fā)周期.降低開發(fā)成本并且為車輛輔助駕駛系統(tǒng)的開發(fā)打下堅(jiān)實(shí)基礎(chǔ)。
本文作者創(chuàng)新點(diǎn):利用數(shù)字信號(hào)處理器ADSP-BF561進(jìn)行車輛輔助駕駛系統(tǒng)硬件設(shè)計(jì),實(shí)現(xiàn)視頻實(shí)時(shí)采集與顯示.為車輛輔助駕駛視覺處理算法開發(fā)提供實(shí)驗(yàn)平臺(tái)。