MicroBlaze微處理器在實時汽車系統(tǒng)中的應(yīng)用
普遍認(rèn)為開發(fā)多處理器系統(tǒng)軟件的難度要大于單處理器系統(tǒng)。但實際情況并非總是如此。我們這個在 TRW 汽車公司下屬的咨詢部 TRW Conekt 工作的設(shè)計團(tuán)隊最近接管了一個項目,展示了如何根據(jù)手中的問題發(fā)揮硬件的功能,并通過使用許多個處理器開發(fā)出高效系統(tǒng)。
本文引用地址:http://m.butianyuan.cn/article/197602.htm我們小組接到了一項任務(wù),為一個名為“Foot-LITE”的項目開發(fā)車載嵌入式處理電子系統(tǒng)(該項目由MIRA 公司牽頭,英國政府支持的技術(shù)戰(zhàn)略委員會、交通部和工程物理科學(xué)研究所贊助)。該項目能夠為駕駛員提供反饋信息,從安全和燃油經(jīng)濟(jì)性的角度讓他們了解他們的駕駛習(xí)慣。
該系統(tǒng)通過兩種方式為駕駛?cè)藛T提供反饋。一是,由一個儀表盤式的智能電話顯示系統(tǒng)(由布魯塞爾大學(xué)設(shè)計,HW CommunicaTIons 公司開發(fā))向駕駛員提供與需要立即關(guān)注的事件有關(guān)的實時通信。二是,該系統(tǒng)還能夠連續(xù)采集行程數(shù)據(jù),包括特別“事件”的視頻流,然后將其上傳到互聯(lián)網(wǎng)服務(wù)器,供用戶在閑暇時查看。根據(jù)我們的合作伙伴汽車高級駕駛協(xié)會 (Institute of Advance Motorists) 提出的駕駛建議,另一個合作伙伴英國里卡多有限公司 (Ricardo UK) 開發(fā)出了一種算法,能夠決定哪些事件需要標(biāo)出來提醒用戶注意。
該項目將把這個系統(tǒng)安裝到由30輛車組成的車隊里。測試車手由項目合作方Hampshire縣議會 (Hampshire County Council) 公開招募。
該項目將逐步納入由12家行業(yè)、政府和學(xué)術(shù)合作伙伴協(xié)同研究的成果。這意味著我們需要非常靈活的解決方案來解決我們的處理問題。
起初,我們想提供單處理器系統(tǒng)。不過很快發(fā)現(xiàn),專用處理器可以簡化算法開發(fā)工作每次迭代所需的集成工作。
基本系統(tǒng)
我們已經(jīng)有一種處理器系統(tǒng),目前正在另一個項目中進(jìn)行開發(fā),主要用于圖像處理(圖2)。
該系統(tǒng)基于連接到 4 個獨立的DDR存儲塊的單個Xilinx? Spartan?-3A XC3SD3400A器件。該架構(gòu)可以讓用戶實現(xiàn)眾多不同的處理器/邏輯配置。舉例來說,可以把整個 FPGA 結(jié)構(gòu)用作完全采用HDL定義的純邏輯資源。另外,還可以使用更高級的工具,比如賽靈思EDK來實現(xiàn) 4 個(或者更多)的軟核微處理器。每個軟核微處理器都可以訪問自己專用的DDR存儲設(shè)備,保護(hù)數(shù)據(jù)免遭其它微處理器的干擾。對于其他的簡單工作,可以使用內(nèi)嵌的BRAM塊來實現(xiàn)更多的處理器。
圖 1 – Foot-LITE 系統(tǒng)
此外,可以采用小型子卡來配置對外的I/O,從而可以針對不同的項目迅速轉(zhuǎn)換定制的I/O設(shè)置。
項目合作伙伴很早就決定采用USB接口,因為這樣可以向系統(tǒng)添加各種外設(shè)。然而這需要一些形式的USB 協(xié)議棧——我們通過使用Petalinux版本的uclinux獲得,以及一個配有USB主機設(shè)備的子卡。
使用 Linux 還為我們提供了一種管理SPI閃存設(shè)備的簡單方法,該系統(tǒng)可提供 FPGA 比特流和應(yīng)用代碼存儲。我們安裝了一個簡單的 JFFS2 文件系統(tǒng),可以通過以太網(wǎng)(使用 FTP)或啟動USB 記憶棒(包含一個腳本,用以將新代碼上載到內(nèi)部閃存上)來實現(xiàn)現(xiàn)場應(yīng)用升級。在傳統(tǒng)的嵌入式系統(tǒng)中,所有這些要求都需要軟件小組編寫底層應(yīng)用代碼。不過,在有了 Linux 之后,我們可以輕松地編寫簡單的 Bash 腳本來控制這些流程。
Foot-LITE 算法
Ricardo開發(fā)出了用于評估駕駛員行為的核心算法,并將其應(yīng)用在自己的 rCube 快速原型設(shè)計系統(tǒng)上 (http://www.ricardo.com/en-gb/ Engineering-Consulting/AutomotiveExpertise/Controls--Electronics/ Embedded-Software/rCube/)。我們采用這種方法進(jìn)行了初步的仿真器測試,并在三輛測試車輛上進(jìn)行了試用。在測試車輛上,一個嵌入式視覺系統(tǒng)(基于現(xiàn)有的 TRW 產(chǎn)品——湊巧也有 FPGA)用于測量與前車之間的距離,并評估車輛在車道上的位置。測試車輛還可通過雷達(dá)系統(tǒng)提供距離信息。作為投產(chǎn)前的一個步驟,我們在更大規(guī)模的試驗中取消了雷達(dá)系統(tǒng),因為視覺系統(tǒng)已經(jīng)能夠為應(yīng)用提供足夠的信息。
我們在車輛上安裝了前視攝像頭和處理子系統(tǒng),兩者整合成一個小型設(shè)備,安裝在后視鏡的旁邊。子系統(tǒng)中的嵌入式算法可通過視頻圖像處理來測量車身和車道邊緣之間的距離。此外,并行算法還可檢測到 Foot-LITE 車輛前面的車輛,并測量車頭間距。該子系統(tǒng)使用汽車標(biāo)準(zhǔn)的控制器局域網(wǎng)(CAN) 總線將數(shù)據(jù)傳輸給Foot-LITE子系統(tǒng)單元。
我們在 Foot-LITE單元中集成了三軸加速計和橫擺角速度傳感系統(tǒng),這可以給Foot-LITE算法提供在需要時訪問高速率、低延時車輛動態(tài)信息的可能。
Foot-LITE 算法把所有的數(shù)據(jù)整合在一起,為駕駛員提供一系列與他的(或她的)駕駛風(fēng)格相關(guān)的簡潔信息。
評論