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