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

          新聞中心

          ARM復(fù)位原理

          作者: 時間:2012-11-22 來源:網(wǎng)絡(luò) 收藏
            1. 類型

            處理器的類型如表所示,包括上電復(fù)位、外部硬件復(fù)位、內(nèi)部硬復(fù)位(包括鎖相環(huán)失鎖復(fù)位、軟件看門狗復(fù)位、檢錯停機復(fù)位和調(diào)試端口硬復(fù)位)、JTAG復(fù)位、外部軟件復(fù)位和內(nèi)部軟件復(fù)位(包括調(diào)試端口軟復(fù)位和JTAG軟復(fù)位)。

            表 類型

            所有的這些復(fù)位源都被引入到復(fù)位控制器,并且根據(jù)不同的復(fù)位源產(chǎn)生不同的復(fù)位動作。

            ARM處理器還內(nèi)置有復(fù)位控制器和硬件復(fù)位配置控制器,其中的復(fù)位控制器功能是確定復(fù)位原因、同步復(fù)位模塊(若有必要的話),并且復(fù)位相應(yīng)片內(nèi)的邏輯模塊(包括ARM嵌入式處理器模塊、系統(tǒng)接口單元模塊和通信處理器模塊等)。

            2. 復(fù)位工作原理

            為保證ARM芯片在電源未達到所要求的電平時,不會產(chǎn)生不受控制的狀態(tài),必須在系統(tǒng)中加入電源監(jiān)控和復(fù)位電路,由該電路確保在系統(tǒng)加電過程中,在內(nèi)核電壓和外圍端口電壓達到要求之前,ARM芯片始終處于復(fù)位狀態(tài),直到內(nèi)核電壓和外圍接口電壓達到所要求的電平。系統(tǒng)復(fù)位過程如圖所示。

            圖 系統(tǒng)復(fù)位過程

            同時,如果電源電壓一旦降到門限值以下,則強制芯片進入復(fù)位狀態(tài),以確保系統(tǒng)穩(wěn)定工作。對于復(fù)位電路的設(shè)計,一方面應(yīng)確保復(fù)位低電平時間足夠長(一般需要20ms以上),以保證ARM可靠復(fù)位;另一方面應(yīng)保證穩(wěn)定性良好,以防止ARM誤復(fù)位。

            此外,ARM系統(tǒng)中還可以用硬件監(jiān)控復(fù)位(看門狗電路,如硬件監(jiān)控芯片MAX706等)。這是由于ARM系統(tǒng)的時鐘頻率較高,在運行時難以避免發(fā)生干擾和被干擾的現(xiàn)象,嚴重時系統(tǒng)會出現(xiàn)死機或程序異?,F(xiàn)象,可以采用“看門狗”(Watch dog)電路來代替RC電路。這種電路除了具有上電復(fù)位功能外,還具有監(jiān)視系統(tǒng)運行并在系統(tǒng)發(fā)生故障或死機時再次進行復(fù)位的能力。

            該電路的功能為:當(dāng)看門狗使能時,系統(tǒng)如果沒有在規(guī)定時間間隔內(nèi)對看門狗電路進行刷新,則產(chǎn)生復(fù)位信號,使系統(tǒng)重新從初始狀態(tài)開始執(zhí)行,以提高系統(tǒng)抗干擾能力??撮T狗電路在上電復(fù)位后,應(yīng)處于禁止?fàn)顟B(tài),看門狗電路通過將系統(tǒng)控制寄存器0(Watchdog)中的控制位WDEN置1來使能??撮T狗電路使能后,通過對看門狗刷新口做寫操作,來刷新看門狗。



          關(guān)鍵詞: ARM 復(fù)位原理 復(fù)位源

          評論


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