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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 達(dá)芬奇數(shù)字媒體片上系統(tǒng)的架構(gòu)和Linux啟動(dòng)過程

          達(dá)芬奇數(shù)字媒體片上系統(tǒng)的架構(gòu)和Linux啟動(dòng)過程

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

          DMSoC交換中心資源

          以上大家看到DMSoC有非常豐富的外設(shè)和視頻處理硬件資源,而且ARM和 DSP又共享DDR2等存儲器資源,那么DMSoC又是如何確保ARM、DSP和VPSS同時(shí)訪問外設(shè)或存儲器資源時(shí)不會引起沖突呢?DMSoC中的交換中心資源(SCR:Switched Central Resource)會做出管理。如圖3所示,把任何一個(gè)發(fā)起數(shù)據(jù)傳輸?shù)脑捶Q為Master(每一個(gè)Master有一個(gè)專用的ID),這個(gè)Master要訪問的目的地稱為Slave,這樣在Master和Slave之間就構(gòu)成一條數(shù)據(jù)傳輸?shù)耐贰膱D3中可以看到,在SCR中可以有很多并行的Master到 Slave的數(shù)據(jù)通路。如果是不同的Master、相同的Slave,那么可以通過設(shè)置每一個(gè)Master的優(yōu)先級來得到特殊應(yīng)用的最佳性能。對于大多數(shù)的Master,可以通過寄存器MSTPRI0和MSTPRI1來設(shè)置它們的優(yōu)先級。如果Master是C64x+、VPSS和EDMA,可以通過它們自己的相關(guān)寄存器控制它們自己的優(yōu)先級,這樣可以更加靈活、快速的實(shí)現(xiàn)高的視頻數(shù)據(jù)吞吐帶寬。詳細(xì)信息可以參考DM6446的數(shù)據(jù)手冊。

          15.jpg
          圖3 DMSoC交換中心資源的結(jié)構(gòu)框圖。

          電源域及復(fù)位

          DMSoC有兩個(gè)電源域,分別是Always On域和DSP域。Always On域由CVDD ARM核電源供電,給ARM、總線、SCR和除VICP之外的所有外設(shè)提供電源;DSP電源域由CVDDDSP DSP核電源供電,給DSP和VICP提供電源。

          雙核DMSoC的功耗也非常有競爭力,這一方面取決于芯片本身的工藝,另一方面也取決于芯片內(nèi)部時(shí)鐘和電源的結(jié)構(gòu)。如圖4所示, DMSoC有電源休眠控制器(Power Sleep Controller)管理芯片電源的開關(guān)及復(fù)位。可以用軟件控制DSP電源域,控制DSP及其模塊時(shí)鐘的開關(guān)和復(fù)位。PSC不支持ARM及其模塊的斷電控制、ARM的本地復(fù)位和ARM的時(shí)鐘關(guān)斷控制。同時(shí)PSC可以中斷ARM和DSP,支持IcePick仿真(emulation)特性。

          16.jpg
          圖4 DM6446的電源休眠控制器。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關(guān)文章:linux教程




          評論


          相關(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); })();