采用MPC5200實(shí)現(xiàn)高速視頻探測(cè)的車(chē)內(nèi)應(yīng)用
采用MPC5200實(shí)現(xiàn)高速視頻探測(cè)的車(chē)內(nèi)應(yīng)用
本文引用地址:http://m.butianyuan.cn/article/7555.htm汽車(chē)廠商正越來(lái)越多地通過(guò)對(duì)車(chē)內(nèi)和車(chē)外捕捉到的高速視頻影像進(jìn)行處理來(lái)提高汽車(chē)的安全性。當(dāng)前,汽車(chē)廠商們面臨的挑戰(zhàn)是擁有一種具備如下特征的經(jīng)濟(jì)高效的技術(shù):支持連接CMOS視頻傳感器的標(biāo)準(zhǔn)化高速接口;強(qiáng)大的處理能力,包括充足的MIPS(在需要時(shí)可執(zhí)行視頻探測(cè)算法)和雙倍精度的浮點(diǎn)單元(FPU,可提高執(zhí)行算法的速度);讀取全部圖像的DMA能力,能夠減少中斷的次數(shù)、提高整體數(shù)據(jù)吞吐量、加快高速存儲(chǔ)系統(tǒng)的訪問(wèn)速度、將處理器核心從處理日常數(shù)據(jù)移動(dòng)功能中解放出來(lái);支持下一代雙數(shù)據(jù)速率(DDR)內(nèi)存,實(shí)現(xiàn)快速數(shù)據(jù)存儲(chǔ)和檢索;與安全設(shè)備(如氣囊等)實(shí)現(xiàn)經(jīng)濟(jì)高效的快速連接(集成的CAN和J1850 BDLC可以降低數(shù)據(jù)傳輸?shù)难舆t和總體系統(tǒng)成本,可擴(kuò)展到下一代汽車(chē)網(wǎng)絡(luò),如面向媒體的系統(tǒng)傳輸MOST);能在85℃和105℃環(huán)境中運(yùn)行,具體視成像傳感器所處的位置而定;只需較低功率即可運(yùn)行。
圖1 MPC5200結(jié)構(gòu)圖
來(lái)自于飛思卡爾半導(dǎo)體公司的MPC5200高性能嵌入式處理器以一個(gè)緊湊型的低功率設(shè)備就能滿(mǎn)足所有這些設(shè)計(jì)要求。尤其值得一提的是,MPC5200集成了一個(gè)高性能的MPC603e核心,該核心能在400 MHz 的頻率和-40至85℃的溫度范圍內(nèi)處理760 Dhrystone 2.1 MIPS。PowerPC(r) 核心也利用了一個(gè)高性能、雙倍精度的浮點(diǎn)單元(FPU),可加快與其它關(guān)鍵任務(wù)平行的復(fù)雜數(shù)學(xué)運(yùn)算的速度。以264 MHz (500 MIPS)運(yùn)行的105 ℃版本還可以用于司機(jī)座位以外可能需要更高溫度級(jí)別的地方。在FPU的幫助下,MPC5200處理能力可為大多數(shù)視頻探測(cè)算法提供足夠的支持。集成的PCI接口則為CMOS圖像傳感器提供標(biāo)準(zhǔn)化的高速接口。CMOS圖像傳感器能以每秒80至100幀的速率將圖像數(shù)據(jù)傳輸?shù)組PC5200中,具體視PCI時(shí)鐘和照片的分辨率而定。
BestComm智能DMA控制器能加快攝像機(jī)數(shù)據(jù)傳輸?shù)絻?nèi)存中進(jìn)行處理的速度,從而最大程度地減輕MPC603e主處理器核心上的負(fù)荷,使其可以解放出來(lái),處理視頻探測(cè)算法等任務(wù)。此外,BestComm控制器的使用還可以最大程度地降低主核心上的總體中斷負(fù)荷,繼而加速總體吞吐量。集成的CAN和J1850控制器,再加上外置MOST(r) 的支持,為汽車(chē)安全系統(tǒng)的剩余部分提供了經(jīng)濟(jì)高效的集成,并降低了與這些網(wǎng)絡(luò)進(jìn)行通信的延遲。
下文描述了如何通過(guò)PCI接口,為MPC5200設(shè)計(jì)一個(gè)基本的高速攝像機(jī)接口電路。在本例中,我們使用了飛思卡爾(前身為摩托羅拉)MCM20014 CMOS傳感器,但其它傳感器可以使用幾乎完全相同的接口機(jī)制。該接口非常明了,而且只需較少的接口邏輯就能完成連接。
使用MPC5200的時(shí)鐘假設(shè)
最可能的XLB釋放目標(biāo)頻率為132 MHz;IPBus為66 MHz;PCIclk(外部總線時(shí)鐘)為66 MHz;XTAL的預(yù)期輸入頻率為33 MHz。對(duì)于本應(yīng)用,最大的PCI頻率為33 MHz。
時(shí)鐘選擇代表如下可能的4-1、2-1或1-1比率結(jié)構(gòu):XLB->IPBus、IPBus->PCIclk。在132 MHz XLB時(shí),IPBus必須設(shè)置為4:1或2:1(分別適用于33 MHz 或66 MHz IPBus)。根據(jù)IPBus 的情況(33 MHz、16.5 MHz與 33 MHz IPBus一起工作;或33 MHz 與a 66 MHz IPBus一起工作),PCIclk可能支持1:1的比率,也可能支持2:1的比率。在處理器端,可能使用一個(gè)66 MHz的PCIclk ,但在撰寫(xiě)本文時(shí),市場(chǎng)上的圖像傳感器還未達(dá)到該速度。
* 如果要求50%的負(fù)載循環(huán),生成HCLK的PWM輸出值只能是IPBus時(shí)鐘的偶整數(shù)商。
注釋?zhuān)簭腂estComm 到XLB的突發(fā)處理在XBL頻率上進(jìn)行處理,但來(lái)自外圍設(shè)備的數(shù)據(jù)由BestComm在IPBus頻率上捕捉。
* 可能的時(shí)鐘關(guān)系示例:
XTAL:27 MHz,XLB:108 MHz,IPB:54 MHz, PCI:27 MHz,HCLK:13.5 MHz (來(lái)自 IPBus時(shí)鐘的4/1比率的PWM)
XTAL:33 MHz, XLB:132 MHz, IPB: 66 MHz, PCI:33 MHz, HCLK:8.25 MHz (來(lái)自 IPBus時(shí)鐘的8/1比率的PWM)
XTAL輸入可以變化,以產(chǎn)生不同的運(yùn)行頻率,但是8.25 MHz 的HCLK應(yīng)該適用于攝像機(jī),而且它還在DMA時(shí)鐘和傳感器數(shù)據(jù)速率(PCIclk 到HCLK)之間提供4:1的差異。這對(duì)可能發(fā)生的潛在帶寬問(wèn)題有所幫助。方法是在傳感器數(shù)據(jù)總線和PCI數(shù)據(jù)總線之間提供接口邏輯。我們?yōu)?:1和4:1兩種情況提供了示例電路。MPC5200的接口邏輯非常簡(jiǎn)單,然而,這里有一些必須認(rèn)真考慮的系統(tǒng)應(yīng)用問(wèn)題。
其中一個(gè)值得注意的事項(xiàng)就是,是否將PCI總線用于攝像機(jī)數(shù)據(jù)傳輸以外的其它用途。如果需要與其它設(shè)備共享PCI總線,接口邏輯就必須與其它PCI目標(biāo)共存,這就要求有額外的電路。如果不需要與其它任何設(shè)備共享PCI總線,接口邏輯就可以認(rèn)為任何PCI處理都是針對(duì)它的,這樣邏輯就變得非常簡(jiǎn)單。
圖2展示了連接到必需的接口邏輯或直接連接到傳感器的MPC520 PCI信號(hào)。圖中的粗線表示三態(tài)的情形。總線需要外部上拉電阻,這樣在其輸入值中,接口邏輯就會(huì)出現(xiàn)一個(gè)邏輯數(shù)字“1”。傳感器在其幀有效時(shí)段中顯示:傳感器上有一幀正準(zhǔn)備進(jìn)行傳輸。該信號(hào)將通過(guò)IRQ線連接到MPC5200。幀傳輸需要由MPC5200 PCI控制器驅(qū)動(dòng)。
* MPC5200 PCI使Frame_b輸出低電平,以開(kāi)始進(jìn)行處理。AD線由MPC5200通過(guò)地址信息進(jìn)行驅(qū)動(dòng)。接口邏輯可以忽略這一階段。
* MPC5200 PCI 使Irdy_b輸出低電平,以啟動(dòng)數(shù)據(jù)階段。AD線仍然由MPC5200推動(dòng),直到目標(biāo)(接口邏輯)判斷Devsel_b “要求”該處理。
圖2 MPC5200-接口-CMOS傳感器連接圖
注釋?zhuān)喝绻鸋CLK與PCIclk 的比率為2:1,則PCIclk與接口邏輯的連接就沒(méi)有必要(邏輯將完全變成聯(lián)合體)。對(duì)一個(gè)4:1 PCIclk-HCLK的比率來(lái)說(shuō)(人們更期望這樣),需要一個(gè)觸發(fā)器來(lái)延遲和縮短PCI信號(hào)Trdy_b的持續(xù)。
圖3 PCI標(biāo)準(zhǔn)接口
* 只要目標(biāo)保持Trdy_b處于高狀態(tài),MPC5200 PCI就能使AD總線處于三態(tài)之一(tri-state),并保持在等待狀態(tài)。
* 在任何剛出現(xiàn)的PCIclk邊緣,其中Trdy_b被探測(cè)為低,PCI就會(huì)捕捉到數(shù)據(jù)并認(rèn)為要傳輸一個(gè)數(shù)據(jù)拍。
* 在完成了下一個(gè)到最后一個(gè)數(shù)據(jù)拍后,MPC5200 PCI使Frame_b輸出低電平,這表示正在請(qǐng)求最后一個(gè)數(shù)據(jù)拍。
* 當(dāng)目標(biāo)傳輸完最后一個(gè)數(shù)據(jù)拍(以Trdy_b變低為標(biāo)志)后,MPC5200 PCI使Irdy_b輸出低電平,處理完畢。
* 還有其它一些信號(hào)與PCI處理有關(guān),但它們用于PCI傳輸?shù)腻e(cuò)誤情況中,在本應(yīng)用中不作要求。
當(dāng)兼容3.3伏的CMOS攝像機(jī)傳感器三態(tài)其數(shù)據(jù)總線時(shí),傳感器的數(shù)據(jù)線路就與PCI AD總線進(jìn)行直接、有效的連接。否則,在這一設(shè)計(jì)中需要數(shù)據(jù)轉(zhuǎn)發(fā)器。在對(duì)傳感器的LineValid信號(hào)進(jìn)行判斷時(shí),該傳感器只應(yīng)該驅(qū)動(dòng)數(shù)據(jù)線路。
圖4 27MHz的PCIclk、13.5MHz(或相似頻率)的HCLK 的2-1 邏輯
只有在沒(méi)有其它真正的PCI目標(biāo)設(shè)備連接到PCI接口上時(shí),該示例接口才發(fā)揮作用。否則,某些支持的類(lèi)型需要通知接口邏輯響應(yīng)即將到來(lái)的PCI處理。
* 在2:1的情況中,當(dāng)HCLK低時(shí),傳感器數(shù)據(jù)有效,并隨HCLK的再次出現(xiàn)而作為下一個(gè)數(shù)據(jù)拍,下一個(gè)出現(xiàn)的PCIclk 邊緣就會(huì)捕捉數(shù)據(jù)。
注釋?zhuān)篜CI處理必須在LineValid判斷之前進(jìn)行。PCI處理在LineValid 變高時(shí),一直由Trdy_b 保持等待狀態(tài)。由于5200Enable 要求拒絕幾次循環(huán),在PCI處理結(jié)束時(shí)可能還需要額外的電路來(lái)關(guān)閉此電路。在這一過(guò)程中,人們可能會(huì)要求進(jìn)行非攝像機(jī)的PCI處理(該接口邏輯絕不能響應(yīng))。
圖5 33MHz的PCIclk和8.25MHz(或相似頻率)的HCLK的2-1邏輯
* 由于HCLK源自MPC5200 PWM,HCLK處理發(fā)生在PCIclk邊緣后(根據(jù)設(shè)計(jì),PCIclk應(yīng)提前到達(dá)總線)
* 當(dāng)HCLK下降時(shí),Trdy_b的判斷要延遲一個(gè)PCIclk
* 當(dāng)HCLK升高時(shí),Trdy_b也立刻升高。
* 這在PCIclk 邊緣創(chuàng)建了PCI數(shù)據(jù)拍捕捉,然后,PCIclk邊緣再創(chuàng)建不斷上升的HCLK(其中像素在增加)
控制傳感器數(shù)據(jù)讀取的BestComm任務(wù)非常靈活,能根據(jù)傳感器的大小進(jìn)行調(diào)節(jié)。在基于飛思卡爾CMOS傳感器的本例中,我們使用640 * 480像素,每像素10比特。在每一行后面,脈沖停止,BestComm任務(wù)會(huì)自動(dòng)開(kāi)始下一行的讀取,直到完成整幅圖片。這種方法具有很高的幀速率,每行的開(kāi)銷(xiāo)為15 clks。
640像素?cái)?shù)據(jù)時(shí)鐘 + 15時(shí)鐘= 655時(shí)鐘
655 時(shí)鐘 * 480 線路 = 每幀314.4k時(shí)鐘
33 MHz PCI 時(shí)鐘 -> 每幀9,52 ms ,每秒105幀
幀速率取決于時(shí)鐘和傳感器的分辨率。
為完成一幅完整的圖片而讀取的脈沖的長(zhǎng)度和行數(shù)就是BestComm的參數(shù),這些參數(shù)可以根據(jù)每種傳感器的類(lèi)型進(jìn)行調(diào)整。
采用接口實(shí)現(xiàn)的幀吞吐量比該應(yīng)用的幀速率要高得多。限制因素是用于算法所需的計(jì)算能力,該算法與應(yīng)用的關(guān)系非常緊密。飛思卡爾能以一個(gè)集成的FPU提供400 MHz和760 MIPS的MPC603e核心。
評(píng)論