<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          XMD控制臺

          對我們來說,最重要的XMD控制臺命令是關(guān)于多處理器系統(tǒng)使用的命令。用幫助命令可以直接從XMD控制臺調(diào)出這些命令的詳細列表。為將XMD控制臺用于多處理器系統(tǒng)的下載和調(diào)試,可使用命令connect mb mdm –debugdevice cpunr ,將處理器經(jīng)由MicroBlaze調(diào)試模塊(MDM)連接到XMD控制臺。其中,參數(shù)用于定義每個處理器的標識符。在完成所有處理器的連接后,使用命令Target ,選擇一個Microblaze用于處理當(dāng)前的目標連接?!癟arget”命令可顯示已連接目標的列表。要將.elf文件下載到特定的目標處理器上,開發(fā)人員可使用“dow”命令輸入完整的路徑和文件名:dow 。用戶既可以運行“run”命令啟動被選中目標上的軟件,也可以使用“stp”命令單步調(diào)試運行代碼。如果MDM具有PLB連接XMD控制臺報告,可使用命令Read_uart start輸出JTAG UART。在定義端口后,JTAG UART服務(wù)器即可接收這些輸出,并使本地主機上的輸出可供終端程序使用(例如:HTerm或者Tera Term):Terminal jtag_uart_server 。

          流水線系統(tǒng)

          我們逐步設(shè)計實現(xiàn)的雙處理器平臺系統(tǒng),由兩個得到支持的MicroBlaze處理器構(gòu)成,它們通過FSL共享兩個通信接口,并訪問共享存儲器。每個處理器都配置了運行在外部DDR2 SDRAM模塊中獨立存儲區(qū)上的指令和數(shù)據(jù)高速緩存。而且,XPS Mutex模塊能夠?qū)蚕泶鎯ζ髟L問進行同步,以保證數(shù)據(jù)一致性。此外,我們還為兩個MicroBlaze調(diào)整了鏈接腳本,以便將專用存儲區(qū)分配給兩個處理器的指令段和存儲段,以及一個共享數(shù)據(jù)段。

          表1是在默認綜合約束條件下,Spartan-3A DSP 1800A和Virtex-6 XC6VLX240T FPGA的資源分配和使用情況。即便是中等大小的Spartan器件,也能夠為與系統(tǒng)PLB或FSL接口相連的額外加速器IP提供大量slice資源。


          表1: 系統(tǒng)的資源使用情況。


          這些尚未利用的FPGA資源,讓我們能夠為激光掃描儀的原始數(shù)據(jù)增加一個加速器處理單元。接下來我們的工作重點是,將基于QNX的防碰撞應(yīng)用和線程任務(wù)分配給兩個處理器。


          由于障礙物識別、環(huán)境建模和遠程控制構(gòu)成了一系列的條件和順序計算,所以我們選擇了流水線處理系統(tǒng)。在今后的工作中,我們準備后續(xù)集成攝像頭行車道檢測功能,自動停放功能,以及其它所推薦的組件,比如:車輛測距和巡航控制。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();