采用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℃的高溫。
當前,汽車廠商們面臨的挑戰(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ù)學運算的速度,可運行在105℃條件下的型號還可用于司機座位以外可能需要更高溫度級別的地方。
---在fpu的幫助下,mpc5200處理能力可為大多數(shù)視頻探測算法提供足夠的支持。集成的pci接口則為cmos圖像傳感器提供標準化的高速接口,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釋放目標頻率為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目標共存,這就要求有額外的電路。如果不需要與其他任何設(shè)備共享pci總線,接口邏輯就可以認為任何pci處理都是針對它的,這樣邏輯就變得非常簡單。
---圖2是mpc5200與接口芯片和cmos傳感器的連接圖,顯示了連接到必需的接口邏輯或直接連接到傳感器的mpc520 pci信號。圖2中的粗線表示三態(tài)的情形??偩€需要外部上拉電阻,這樣在其輸入值中,接口邏輯就會出現(xiàn)一個邏輯數(shù)字“1”。
傳感器在其幀有效時段中顯示:傳感器上有一幀正準備進行傳輸。該信號將通過irq線連接到mpc5200,幀傳輸需要由mpc5200
pci控制器驅(qū)動,信號時序如圖3所示,具體步驟如下。
mpc5200 pci使frame_b輸出低電平,以開始進行處理。ad線由mpc5200通過地址信息進行驅(qū)動。接口邏輯可以忽略這一階段。
mpc5200 pci 使irdy_b輸出低電平,以啟動數(shù)據(jù)階段。ad線仍然由mpc5200推動,直到目標(接口邏輯)判斷devsel_b“要求”該處理。
只要目標保持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ù)拍。
當目標傳輸完最后一個數(shù)據(jù)拍(以trdy_b變低為標志)后,mpc5200 pci使irdy_b輸出低電平,處理完畢。
還有其他一些信號與pci處理有關(guān),但它們用于pci傳輸錯誤的情況中,在本應(yīng)用中不作要求。
---如果hclk與pciclk的比率為2:1,則pciclk與接口邏輯的連接就沒有必要。如果pciclk與hclk的比率為4:1的話(人們更期望這樣),需要一個觸發(fā)器來延遲和縮短pci信號trdy_b的持續(xù)時間。
---當兼容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目標設(shè)備連接到pci接口上時,該示例接口才發(fā)揮作用。否則,某些支持的類型需要通知接口邏輯響應(yīng)即將到來的pci處理。
---33mhz的pciclk和8.25mhz(或相似頻率)的hclk的2:1邏輯關(guān)系如圖5所示。
---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)提前到達總線)。
當hclk下降時,trdy_b的判斷要延遲一個pciclk。
當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)系非常緊密。
評論