色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用雙MicroBlaze監(jiān)控汽車應(yīng)用

          用雙MicroBlaze監(jiān)控汽車應(yīng)用

          作者: 時(shí)間:2012-02-10 來源:網(wǎng)絡(luò) 收藏

          基于軟核處理器的多處理器片上系統(tǒng)(MPSoC)設(shè)計(jì)正日益風(fēng)靡于嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域。為了向多個(gè)處理器提供一致的數(shù)據(jù),存儲(chǔ)區(qū)架構(gòu)和管理已成為設(shè)計(jì)工作中非常重要的組成部分。在原型中,我們準(zhǔn)備構(gòu)建一個(gè)系統(tǒng),用于在兩個(gè)MicroBlaze上支持賽靈思(Xilinx)公司嵌入式處理器內(nèi)核。

          在開發(fā)自主汽車原型轉(zhuǎn)向平臺(tái)前,我們根據(jù)Xilinx技術(shù)規(guī)范、參考設(shè)計(jì)和雙處理器設(shè)計(jì)套件,研究出一套通用的設(shè)計(jì)工作流和工藝。該設(shè)計(jì)結(jié)合了多種功能,比如:防碰撞、行車道檢測和自動(dòng)停放。設(shè)計(jì)提供了諸如Posix線程這樣的庫函數(shù),可重復(fù)利用基于QNX的防碰撞應(yīng)用以及對(duì)其進(jìn)行分割。

          緊密連接

          我們構(gòu)建了一個(gè)緊密連接的處理器系統(tǒng),內(nèi)含兩個(gè)配置完全相同的MicroBlaze處理器,在Harvard架構(gòu)中,每個(gè)處理器都與一個(gè)16KB的局部塊RAM(BRAM)相連(圖1)。另外,這兩個(gè)處理器還與一個(gè)128MB的DDR存儲(chǔ)器模塊相連,用于存儲(chǔ)代碼和數(shù)據(jù)交換。Xilinx平臺(tái)工作室(XPS)Mutex內(nèi)核負(fù)責(zé)對(duì)兩個(gè)MicroBlaze共享的存儲(chǔ)器訪問進(jìn)行同步。兩個(gè)處理器還能通過一對(duì)快速單工鏈路(FSL)直接通信,F(xiàn)SL支持主/從和流水線處理器設(shè)計(jì)概念。采用FSL實(shí)現(xiàn)這兩個(gè)MicroBlaze的互聯(lián),而不采用XPS Mailbox實(shí)現(xiàn),可以提高性能,并降低資源耗用。


          圖1:面向XtremeDSP開發(fā)平臺(tái)的 配置。

          兩個(gè)定時(shí)器外設(shè)負(fù)責(zé)為Xilkernel的調(diào)度實(shí)現(xiàn)提供中斷源。開發(fā)階段的第一步,我們通過UART接口將激光掃描儀連接到系統(tǒng),為防碰撞系統(tǒng)提供目標(biāo)檢測。為以中斷控制器而非直接連接的時(shí)鐘中斷部署Xilkernel,我們?cè)诎逯С职?BSP)設(shè)置中調(diào)整了與Xilkernel相關(guān)的參數(shù)sysintc_spec。

          我們把兩個(gè)MicroBlaze連接到MicroBlaze調(diào)試模塊進(jìn)行調(diào)試,并通過microblaze_1的JTAG UART輸出ST.DIO。我們分析了系統(tǒng)的兩種實(shí)現(xiàn)方案,一種用XtremeDSP開發(fā)平臺(tái)搭配Spartan-3A DSP 1800A FPGA,另一種用ML605評(píng)估板搭配Virtex-6 XC6VLX240T FPGA。

          存儲(chǔ)器和高速緩存架構(gòu)

          多端口存儲(chǔ)器控制器(MPMC)通過Xilinx緩存鏈路(XCL)將Microblaze與外部DDR2存儲(chǔ)器相連,并分配直接存儲(chǔ)訪問。由于采用統(tǒng)一的存儲(chǔ)器架構(gòu),每個(gè)處理器具有相同的存儲(chǔ)延遲和訪問方式。我們?yōu)槊總€(gè)MicroBlaze配置了8KB指令和8KB數(shù)據(jù)緩存,均連接到單一MPMC PIM。這種布線方式可以讓我們將最多8個(gè)MicroBlaze關(guān)聯(lián)到一個(gè)MPMC。

          單一MPMC地址總線連接和數(shù)據(jù)總線連接,會(huì)導(dǎo)致MPMC與外部存儲(chǔ)器之間出現(xiàn)數(shù)據(jù)流和取指瓶頸。但內(nèi)部的時(shí)間片輪轉(zhuǎn)仲裁,能夠保證所有請(qǐng)求都能順序訪問存儲(chǔ)器。另外,MicroBlaze還能通過處理器局部總線(PLB)保持與MPMC的連接,以提供對(duì)無緩存共享存儲(chǔ)區(qū)的訪問。

          在多處理器環(huán)境中,確保數(shù)據(jù)高速緩存的一致性非常重要。因此,我們將外部存儲(chǔ)的地址范圍分為三段(圖2)。每個(gè)MicroBlaze占有自己的地址空間,而只有數(shù)據(jù)存儲(chǔ)在其特定的區(qū)域,XCL才會(huì)緩存數(shù)據(jù)。第三個(gè)地址空間提供一個(gè)獨(dú)立段,可通過PLB訪問,而用于交換未緩存的共享數(shù)據(jù)。通過在鏈接腳本中預(yù)定義變量,軟件工程師可以得到一個(gè)指向該段基址的指針。我們用寫通策略配置高速緩存,因?yàn)槿绻捎没貙懖呗裕幚矶鄠€(gè)寫訪問會(huì)導(dǎo)致更多延遲。


          圖2:DMX系統(tǒng)的內(nèi)存印象圖。

          連接器腳本的配置

          連接器腳本的作用是,根據(jù)硬件設(shè)計(jì)信息,正確的板支持包和軟件應(yīng)用本身,來定義處理器系統(tǒng)的存儲(chǔ)分段。XPS工具負(fù)責(zé)為每個(gè)MicroBlaze的復(fù)位、中斷和異常向量分配固定段,這些向量將存儲(chǔ)在處理器的BRAM中。常用的方法是把.heap和.stack段也存儲(chǔ)在局部BRAM中,以便在執(zhí)行線程的時(shí)候快速訪問局部變量。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉