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