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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 淺談嵌入式MCU硬件設(shè)計(jì)

          淺談嵌入式MCU硬件設(shè)計(jì)

          作者: 時(shí)間:2014-07-04 來(lái)源:電子產(chǎn)品世界 收藏

            (5)中斷處理方案設(shè)計(jì)

          本文引用地址:http://www.ex-cimer.com/article/249223.htm

            中斷是一項(xiàng)很重要的功能。通過(guò)中斷控制,可以快速響應(yīng)外設(shè)的請(qǐng)求。中斷處理一般包括中斷源的數(shù)量、優(yōu)先級(jí)、是否可屏蔽、是一般中斷還是快速中斷等,通常需要設(shè)計(jì)一個(gè)專用模塊來(lái)進(jìn)行中斷處理。有時(shí)為了提高設(shè)計(jì)效率,IP銷(xiāo)售商也提供標(biāo)準(zhǔn)的基于AHB或APB等總線接口協(xié)議的IP核。如果此類(lèi)IP核能夠滿足系統(tǒng)對(duì)于中斷處理情況的要求,也可以選用。

            (6)存儲(chǔ)器管理方案設(shè)計(jì)

            存儲(chǔ)器是中占面積較大的模塊。一個(gè)中可能同時(shí)含有ROM、SRAM和FLASH三種存儲(chǔ)器:ROM用于放置Boot Loader、IP Drivers等,SRAM用于提高軟件運(yùn)行速度、存放臨時(shí)數(shù)據(jù),F(xiàn)LASH用于存放應(yīng)用程序和數(shù)據(jù)。由于FLASH的讀寫(xiě)速度比較慢,為了提高FLASH的讀寫(xiě)速度,可以采用預(yù)取緩沖器和寫(xiě)緩沖器來(lái)加速指令和數(shù)據(jù)的緩沖。由于各個(gè)存儲(chǔ)器都有自己的地址空間,因此很方便用戶訪問(wèn)。為了便于系統(tǒng)管理,通常設(shè)計(jì)一個(gè)存儲(chǔ)器管理模塊,并在系統(tǒng)控制模塊中設(shè)計(jì)對(duì)應(yīng)的控制寄存器。

            (7)在線調(diào)試方案設(shè)計(jì)

            目前,比較常用的在線調(diào)試方式為串行調(diào)試,如JTAG、EJTAG、UART等,使用PC機(jī)的并口、串口、網(wǎng)口或是USB接口,使得在線調(diào)試簡(jiǎn)單方便,成本低廉,如圖2所示。由于被調(diào)試的程序要在目標(biāo)板上運(yùn)行,而且MCU必須正常工作,因此需要設(shè)計(jì)一個(gè)專用的調(diào)試模塊以保證上位機(jī)軟件可以調(diào)用來(lái)進(jìn)行軟硬件的在線調(diào)試,并且符合IEEE1149.1的協(xié)議標(biāo)準(zhǔn),此模塊的基本結(jié)構(gòu)如圖3所示。

            

           

            圖2典型在線調(diào)試系統(tǒng)示意圖

            

           

            圖3調(diào)試結(jié)構(gòu)示意圖

            (8)測(cè)試方案設(shè)計(jì)

            MCU的測(cè)試方案主要包括物理測(cè)試、功能測(cè)試和性能測(cè)試幾部分內(nèi)容。先要根據(jù)時(shí)鐘方案和復(fù)位方案對(duì)MCU進(jìn)行時(shí)鐘測(cè)試,確保時(shí)鐘電路工作正常;再對(duì)進(jìn)行功能測(cè)試,因?yàn)镃PU是MCU的控制核心,只有CPU正確運(yùn)行才能對(duì)其他IP核進(jìn)行測(cè)試;然后再依據(jù)設(shè)計(jì)規(guī)格書(shū)對(duì)MCU外圍的數(shù)字IP核和模擬IP核進(jìn)行功能測(cè)試和性能測(cè)試。

            5.2系統(tǒng)級(jí)驗(yàn)證

            為了確保設(shè)計(jì)的正確性,流片之前必須對(duì)MCU進(jìn)行全功能驗(yàn)證。因此需要使用多種IIP和VIP來(lái)搭建一個(gè)系統(tǒng)級(jí)驗(yàn)證平臺(tái),依據(jù)設(shè)計(jì)規(guī)格書(shū)制定詳細(xì)的驗(yàn)證方案,通過(guò)仿真工具,采用定向和隨機(jī)的方式或采用比較流行的OVM、VMM和UVM等驗(yàn)證方法學(xué)、逐個(gè)IP核來(lái)驗(yàn)證MCU的全部功能是正確的,重點(diǎn)是系統(tǒng)控制單元、總線仲裁器、功耗管理等為系統(tǒng)功能定制設(shè)計(jì)的非標(biāo)準(zhǔn)模塊。

            5.3 FPGA原型驗(yàn)證

            由于系統(tǒng)級(jí)驗(yàn)證使用的是EDA工具進(jìn)行軟件仿真,仿真的速度比較慢,因此可以通過(guò)FPGA原型驗(yàn)證的方式來(lái)加速系統(tǒng)級(jí)驗(yàn)證的速度,尤其是需要將那些功能比較復(fù)雜、規(guī)模比較大的模塊下載到FPGA中,而且應(yīng)盡可能使用規(guī)模比較大的FPGA,如Virtex-7系列、ArriaV系列等。搭建FPGA驗(yàn)證平臺(tái)時(shí),不僅可以使用一塊FPGA,也可以使用多塊FPGA,最好能夠?qū)⒃O(shè)計(jì)的所有模塊全部下載到FPGA中。FPGA原型驗(yàn)證不僅要驗(yàn)證硬件的正確性,還要驗(yàn)證IP核驅(qū)動(dòng)程序的正確性,同時(shí)也可以驗(yàn)證目標(biāo)應(yīng)用程序的正確性。

            5.4物理設(shè)計(jì)

            在對(duì)MCU系統(tǒng)級(jí)驗(yàn)證和FPGA原型驗(yàn)證后,需要進(jìn)行物理設(shè)計(jì):依據(jù)設(shè)計(jì)規(guī)格書(shū)制定合理設(shè)計(jì)約束,從邏輯綜合到自動(dòng)布局布線,再到物理驗(yàn)證、形式驗(yàn)證、靜態(tài)時(shí)序分析和功能驗(yàn)證,完成從RTL到GDSII的轉(zhuǎn)換過(guò)程,最后將數(shù)據(jù)發(fā)送至代工廠進(jìn)行加工制造。

            5.5文檔設(shè)計(jì)

            文檔是MCU設(shè)計(jì)過(guò)程中很重要而且很必要的環(huán)節(jié),且應(yīng)該在設(shè)計(jì)的不同階段,以模板的形式規(guī)定在此階段所要完成的文檔設(shè)計(jì),并由項(xiàng)目負(fù)責(zé)人進(jìn)行詳細(xì)審查,從而確保一旦設(shè)計(jì)中出現(xiàn)了任何問(wèn)題,都可以查找相關(guān)的設(shè)計(jì)文件以及對(duì)應(yīng)的設(shè)計(jì)文檔,尤其是設(shè)計(jì)的細(xì)節(jié)需要體現(xiàn)的很完整。

            6結(jié)束語(yǔ)

            以上只是簡(jiǎn)要概述了MCU硬件設(shè)計(jì)的主要方面。若要設(shè)計(jì)一個(gè)性價(jià)比高、競(jìng)爭(zhēng)力強(qiáng)的MCU,還需要進(jìn)行大量的、詳細(xì)的工作,尤其是電路的全功能驗(yàn)證和詳盡測(cè)試,并搭建一個(gè)MCU平臺(tái)來(lái)進(jìn)行系列產(chǎn)品的開(kāi)發(fā),以保證產(chǎn)品可以源源不斷地進(jìn)入市場(chǎng)。

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

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: MCU 嵌入式 CPU

          評(píng)論


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