采用MPC5200實現(xiàn)高速視頻探測的車內(nèi)應(yīng)用
汽車廠商正越來越多地通過對車內(nèi)和車外捕捉到的高速視頻影像進行處理,來提高視頻探測汽車的安全性。
舉例來說,安裝在車內(nèi)的攝像機可用于確定乘客在車內(nèi)的位置,從而以最佳方式配置氣囊并避免乘客受到傷害。安裝在車內(nèi)不同位置的攝像機還可以用于車道偏離監(jiān)測、碰撞前警示、避免碰撞、后倒車燈警示和車距計算等。這些應(yīng)用中有很多需要以非常高的速率來捕捉視頻影像。相應(yīng)地,視頻影像必須通過實時的復(fù)雜算法進行處理,從而為車內(nèi)的安全控制系統(tǒng)提供反饋。這是一項非常重要的任務(wù),它可以避免發(fā)生碰撞,或在車輛發(fā)生碰撞的瞬間決定車內(nèi)乘客的位置。而且,該項技術(shù)要要求司機側(cè)的引擎絕熱板必須能承受最高85℃的高溫,而在車內(nèi)的其他部位則需要承受最高達105℃的高溫。
當(dāng)前,汽車廠商們面臨的挑戰(zhàn)是擁有一種經(jīng)濟高效的技術(shù):強大的處理能力、豐富的接口、良好的環(huán)境適應(yīng)性和低功率運行。來自于飛思卡爾半導(dǎo)體公司的MPC5200高性能嵌入式處理器能滿足所有這些設(shè)計要求,其結(jié)構(gòu)如圖1所示。
MPC5200集成了一個高性能的MPC603e核心,該核心在400MHz的工作頻率和-40~85℃的溫度范圍內(nèi),可達到760MIPS的處理能力。高性能、雙倍精度的浮點單元(FPU)可加快與其他關(guān)鍵任務(wù)平行的復(fù)雜數(shù)學(xué)運算的速度,可運行在105℃條件下的型號還可用于司機座位以外可能需要更高溫度級別的地方。
在FPU的幫助下,MPC5200處理能力可為大多數(shù)視頻探測算法提供足夠的支持。集成的PCI接口則為CMOS圖像傳感器提供標(biāo)準(zhǔn)化的高速接口,CMOS圖像傳感器能以每秒80至100幀的速率將圖像數(shù)據(jù)傳輸?shù)組PC5200中,具體視PCI時鐘和照片的分辨率而定。
BestComm智能DMA控制器能加快攝像機數(shù)據(jù)傳輸?shù)絻?nèi)存中進行處理的速度,從而最大程度地減輕MPC603e主處理器核心上的負荷,使其可以解放出來,處理視頻探測算法等任務(wù)。此外,BestComm控制器的使用還可以降低主核心上的總體中斷負荷,繼而加速總體吞吐量。集成的CAN和J1850控制器,再加上外置MOST(面向媒體的系統(tǒng)傳輸)的支持,為汽車安全系統(tǒng)的剩余部分提供了經(jīng)濟高效的集成,并降低了與這些網(wǎng)絡(luò)進行通信的延遲。
下面介紹如何通過PCI接口,為MPC5200設(shè)計一個基本的高速攝像機接口電路。在本例中,使用了飛思卡爾MCM20014 CMOS傳感器,但其他傳感器可以使用幾乎完全相同的接口機制。該接口非常明了,而且只需較少的接口邏輯就能完成連接。
使用MPC5200的時鐘假設(shè)
最可能的XLB釋放目標(biāo)頻率為132MHz;IPBus為66MHz;PCIclk(外部總線時鐘)為66MHz;XTAL的預(yù)期輸入頻率為33MHz。對于本應(yīng)用,最大的PCI頻率為33MHz。
XLB與IPBus、IPBus與PCIclk間的時鐘比可能為4:1、2:1或1:1。在XLB為132MHz時,IPBus必須設(shè)置為4:1或2:1(分別適用于33MHz或66MHz的IPBus)。根據(jù)IPBus 的情況(33MHz、16.5MHz與33MHz IPBus一起工作;或33MHz與66MHz IPBus一起工作),PCIclk可能支持1:1的比率,也可能支持2:1的比率。在處理器端,可能使用一個66MHz的PCIclk ,但市場上的圖像傳感器還未達到該速度。
如果要求50%的負載循環(huán),生成HCLK的PWM輸出值只能是IPBus時鐘的偶整數(shù)商。
下面介紹幾種可能的時鐘關(guān)系。
---XTAL:27MHz,XLB:108MHz,IPB:54MHz,PCI:27MHz,HCLK:13.5MHz(來自IPBus時鐘的4/1比率的PWM)
---XTAL:33 MHz,XLB:132MHz,IPB:66MHz,PCI:33MHz,HCLK:8.25MHz(來自IPBus時鐘的8/1比率的PWM)
---XTAL輸入可以變化,以產(chǎn)生不同的運行頻率,但是8.25 MHz的HCLK應(yīng)該適用于攝像機,而且它還在DMA時鐘和傳感器數(shù)據(jù)速率(PCIclk到HCLK)之間提供4:1的差異。這對可能發(fā)生的潛在帶寬問題有所幫助。
解決方法是在傳感器數(shù)據(jù)總線和PCI數(shù)據(jù)總線之間提供接口邏輯。MPC5200的接口邏輯非常簡單,但還是有一些必須認真考慮的系統(tǒng)應(yīng)用問題。其中一個值得注意的事項就是,是否將PCI總線用于攝像機數(shù)據(jù)傳輸以外的其他用途。如果需要與其他設(shè)備共享PCI總線,接口邏輯就必須與其他PCI目標(biāo)共存,這就要求有額外的電路。如果不需要與其他任何設(shè)備共享PCI總線,接口邏輯就可以認為任何PCI處理都是針對它的,這樣邏輯就變得非常簡單。
圖2是MPC5200與接口芯片和CMOS傳感器的連接圖,顯示了連接到必需的接口邏輯或直接連接到傳感器的MPC520 PCI信號。圖2中的粗線表示三態(tài)的情形??偩€需要外部上拉電阻,這樣在其輸入值中,接口邏輯就會出現(xiàn)一個邏輯數(shù)字“1”。
傳感器在其幀有效時段中顯示:傳感器上有一幀正準(zhǔn)備進行傳輸。該信號將通過IRQ線連接到MPC5200,幀傳輸需要由MPC5200 PCI控制器驅(qū)動,信號時序如圖3所示,具體步驟如下。
● MPC5200 PCI使Frame_b輸出低電平,以開始進行處理。AD線由MPC5200通過地址信息進行驅(qū)動。接口邏輯可以忽略這一階段。
● MPC5200 PCI 使Irdy_b輸出低電平,以啟動數(shù)據(jù)階段。AD線仍然由MPC5200推動,直到目標(biāo)(接口邏輯)判斷Devsel_b“要求”該處理。
● 只要目標(biāo)保持Trdy_b處于高狀態(tài),MPC5200 PCI就能使AD總線處于三態(tài)之一(tri-state),并保持在等待狀態(tài)。
● 在任何剛出現(xiàn)的PCIclk邊緣,其中Trdy_b被探測為低,PCI就會捕捉到數(shù)據(jù)并認為要傳輸一個數(shù)據(jù)拍。
● 在完成了下一個到最后一個數(shù)據(jù)拍后,MPC5200 PCI使Frame_b輸出低電平,這表示正在請求最后一個數(shù)據(jù)拍。
● 當(dāng)目標(biāo)傳輸完最后一個數(shù)據(jù)拍(以Trdy_b變低為標(biāo)志)后,MPC5200 PCI使Irdy_b輸出低電平,處理完畢。
● 還有其他一些信號與PCI處理有關(guān),但它們用于PCI傳輸錯誤的情況中,在本應(yīng)用中不作要求。
如果HCLK與PCIclk的比率為2:1,則PCIclk與接口邏輯的連接就沒有必要。如果PCIclk與HCLK的比率為4:1的話(人們更期望這樣),需要一個觸發(fā)器來延遲和縮短PCI信號Trdy_b的持續(xù)時間。
當(dāng)兼容3.3伏的CMOS攝像機傳感器三態(tài)其數(shù)據(jù)總線時,傳感器的數(shù)據(jù)線路就與PCI AD總線進行直接、有效的連接。否則,在這一設(shè)計中需要數(shù)據(jù)轉(zhuǎn)發(fā)器。在對傳感器的LineValid信號進行判斷時,該傳感器只應(yīng)該驅(qū)動數(shù)據(jù)線路。圖4是27MHz的PCIclk與13.5MHz(或相似頻率)HCLK的2:1邏輯關(guān)系圖。
只有在沒有其他真正的PCI目標(biāo)設(shè)備連接到PCI接口上時,該示例接口才發(fā)揮作用。否則,某些支持的類型需要通知接口邏輯響應(yīng)即將到來的PCI處理。
33MHz的PCIclk和8.25MHz(或相似頻率)的HCLK的2:1邏輯關(guān)系如圖5所示。
● 在2:1的情況中,當(dāng)HCLK低時,傳感器數(shù)據(jù)有效,并隨HCLK的再次出現(xiàn)而作為下一個數(shù)據(jù)拍,下一個出現(xiàn)的PCIclk邊緣就會捕捉數(shù)據(jù)。
---PCI處理必須在LineValid判斷之前進行。PCI處理在LineValid變高時,一直由Trdy_b保持等待狀態(tài)。由于5200的使能信號要求拒絕幾次循環(huán),在PCI處理結(jié)束時可能還需要額外的電路來關(guān)閉此電路。在這一過程中,人們可能會要求進行非攝像機的PCI處理(該接口邏輯絕不能響應(yīng))。
● 由于HCLK源自MPC5200 PWM,HCLK處理發(fā)生在PCIclk邊緣后(根據(jù)設(shè)計,PCIclk應(yīng)提前到達總線)。
● 當(dāng)HCLK下降時,Trdy_b的判斷要延遲一個PCIclk。
● 當(dāng)HCLK升高時,Trdy_b也立刻升高。
● 在PCIclk邊緣創(chuàng)建了PCI數(shù)據(jù)拍捕捉,然后,PCIclk邊緣再創(chuàng)建不斷上升的HCLK,因為像素在不斷增加。
控制傳感器數(shù)據(jù)讀取的BestComm任務(wù)非常靈活,能根據(jù)傳感器的大小進行調(diào)節(jié)。在基于飛思卡爾CMOS傳感器的本例中,傳感器的分辨率為640×480像素,每像素10bit。在每一行后面,脈沖停止,BestComm任務(wù)會自動開始下一行的讀取,直到完成整幅圖片。這種方法具有很高的幀速率,每行的開銷為15個時鐘。
傳輸640像素數(shù)據(jù)的開銷為640個時鐘,加上一行的開銷15個時鐘,則傳輸一行像素的總開銷為655個時鐘。每幀畫面有480行,則所需的時鐘為655×480=314400。如果采用33MHz的PCI時鐘,則傳輸每幀畫面需要9.52ms,即每秒可傳輸105幀。從這里可以看出,幀速率取決于時鐘和傳感器的分辨率。
為完成一幅完整的圖片而讀取的脈沖的長度和行數(shù),就是BestComm的參數(shù),這些參數(shù)可以根據(jù)每種傳感器的類型進行調(diào)整。采用接口實現(xiàn)的幀吞吐量比該應(yīng)用的幀速率要高得多。限制因素是用于算法所需的計算能力,該算法與應(yīng)用的關(guān)系非常緊密。