當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]嵌入式系統(tǒng)的應用領(lǐng)域越來越廣泛,干擾或者惡劣環(huán)境常影響嵌入式系統(tǒng)運行的穩(wěn)定性和可靠性。Reset是維護系統(tǒng)穩(wěn)定的一個關(guān)鍵因素,正確地設計復位電路,巧妙地應用復位操作,能使整個系統(tǒng)更可靠、穩(wěn)定地運行。本文結(jié)合實際項目經(jīng)驗分析Reset的相關(guān)應用與設計,展示Reset對系統(tǒng)穩(wěn)定性的重要性。

嵌入式系統(tǒng)的應用領(lǐng)域越來越廣泛,干擾或者惡劣環(huán)境常影響嵌入式系統(tǒng)運行的穩(wěn)定性和可靠性。Reset是維護系統(tǒng)穩(wěn)定的一個關(guān)鍵因素,正確地設計復位電路,巧妙地應用復位操作,能使整個系統(tǒng)更可靠、穩(wěn)定地運行。本文結(jié)合實際項目經(jīng)驗分析Reset的相關(guān)應用與設計,展示Reset對系統(tǒng)穩(wěn)定性的重要性。


引言

在嵌入式系統(tǒng)電子設備的運行中,當出現(xiàn)程序跑飛的情況或程序跳轉(zhuǎn)時,可用手動或自動的方法發(fā)信號給硬件特定接口,使軟件的運行恢復到特定的程序段運行,這一操作就是復位(Reset);這一過程中,手動或自動發(fā)給硬件特定接口的信號,就是復位信號。為了克服系統(tǒng)由于內(nèi)因(時鐘振蕩源的穩(wěn)定性)和外因(射頻干擾)所引起的運行不穩(wěn)定的情況,在嵌入式系統(tǒng)軟件和硬件上,必須作相應的處理和保護。復位操作是一種行之有效的保護措施,同時復位系統(tǒng)本身也是引起嵌入式系統(tǒng)運行不穩(wěn)定的因素,在設計時需特別注意。

本文結(jié)合筆者親身經(jīng)歷的實例來說明Reset的重要性,巧妙地運用Reset使系統(tǒng)工作更穩(wěn)定可靠。

1 Reset方式及手段

在嵌入式應用系統(tǒng)中,復位操作包括兩個方面——處理器本身的復位和系統(tǒng)中外設(外接功能模塊)的復位,如圖1所示。



總的說來,嵌入式復位方式主要分硬件復位和軟件復位。硬件復位,即采用硬件的手段、通過硬件復位信號對系統(tǒng)處理器或者外設進行復位。只要在RST端出現(xiàn)一定時間(具體看系統(tǒng)和處理器的機器周期)的復位電平信號,由CPU采樣復位信號,啟動復位時序,即可完成復位操作。硬件復位一般包括上電復位、按鍵復位、電壓監(jiān)控復位和看門狗復位等,這些復位信號,在系統(tǒng)設計時可用邏輯電路組合起來加載到系統(tǒng)的RST端。軟件復位,即通過軟件手段,在軟件框架里對系統(tǒng)復位,重新初始化系統(tǒng)。

按處理器內(nèi)外來劃分,又分為芯片內(nèi)復位和芯片外復位。于是,硬件復位又分外部硬件復位和內(nèi)部硬件復位。

對于硬件復位,按復位信號電平高低又可分為高電平復位和低電平復位。高電平復位是高電平有效,并在復位脈沖的下降沿完成復位過程;低電平復位是低電平有效,并在復位脈沖的上升沿完成復位。具體用什么復位信號,視嵌入式系統(tǒng)本身而定,但大多采用低電平復位,這與TTL的功耗有關(guān),因為TTL電路中高電平的吸收電流要遠小于低電平的吸收電流。

2上電復位的實現(xiàn)及穩(wěn)定性設計

2.1上電復位

上電復位(Power On Reset,POR),即系統(tǒng)上電時通過復位電路,在RST引腳提供一個足夠長時間的復位電平信號,直至系統(tǒng)電源穩(wěn)定后,再撤銷復位電平。在嵌入式系統(tǒng)中,上電復位是系統(tǒng)啟動初始化復位,全面而系統(tǒng)地復位處理器內(nèi)的所有邏輯單元與模塊,將初始化內(nèi)部邏輯操作,如存儲器控制器、中斷控制器和I/O引腳等的配置。



上電復位是保證嵌入式系統(tǒng)正常運行的基本操作。通常處理器芯片內(nèi)部自帶上電復位電路,圖2(a)所示為某MCU(微控制器)Reset引腳示意圖,內(nèi)部自帶上電復位電路。MCU芯片上電時,片內(nèi)POR將產(chǎn)生內(nèi)部復位信號以初始化芯片內(nèi)的數(shù)字模塊,其時序如圖2(b)所示。

有的處理器芯片通過在片外添加RC延時電路來得到上電復位信號。RC復位電路的復位脈沖寬度由芯片要求的復位時間決定,持續(xù)時間取決于RC電路參數(shù),電容太大復位時間很長,電容太小復位時間不夠,不足以穩(wěn)定復位。

2.2上電復位失效及應對措施

實際工作時,由于各方面的原因,上電復位會失效。由于受到干擾、電源波動、誤操作等原因,短暫的電壓下降造成供電恢復時由于電壓沒有滿足POR的發(fā)生條件,復位端的低電平復位信號無法再次啟動系統(tǒng)重新復位工作,此時會出現(xiàn)系統(tǒng)死機;電源二次開關(guān)時間間隔太短時,復位不可靠;當電源電壓中有浪涌現(xiàn)象時,可能在浪涌消失后不能產(chǎn)生復位脈沖。這些現(xiàn)象盡管并不頻繁,但對于某些特殊應用場景,如不能隨時進行手動復位的遠程自動控制系統(tǒng),卻是致命的。

出現(xiàn)失效時,常采用提高復位門限來應對,使復位門限位于處理器正常工作電壓范圍內(nèi),且接近處理器正常工作時的最低門限。另一應對措施是延長復位信號時間,讓復位信號在電壓值恢復后維持足夠長的時間。電源穩(wěn)定后還要經(jīng)過一定的延時才撤銷復位信號,以防止電源開關(guān)或電源捕頭分一合過程中引起的抖動影響復位。另外,為了解決電源毛刺和電源緩慢下降(電池電壓不足)等問題引起的POR不可靠現(xiàn)象,有設計人員在RC電路中增加了二極管放電回路,在電源電壓瞬間下降時使電容迅速放電,這樣,一定寬度的電源毛刺也可令系統(tǒng)可靠復位。

2.3實例分析:快速開關(guān)機單片機啟動不穩(wěn)定

筆者曾經(jīng)做過一個ZigBee物聯(lián)網(wǎng)項目,采用ZigBeeSoC芯片,硬件結(jié)構(gòu)如圖3所示,主要包括一個8051的MCU核和ZigBee收發(fā)器。調(diào)試時,發(fā)現(xiàn)ZigBee模塊快速關(guān)機然后快速開機,即二次開機時不穩(wěn)定,有時啟動不正常,功能不能實現(xiàn)。在軟件里加Trace信息,發(fā)現(xiàn)當快速開關(guān)機時MCU并沒有正常啟動,沒有進入所需要的初始化和主循環(huán)。避免快速關(guān)機開機,則可以正常啟動。當嵌入式系統(tǒng)關(guān)機后立即再開機,有時不能正常工作,是因為復位不充分,這是嵌入式系統(tǒng)的共同點。



最后發(fā)現(xiàn),由于SoC芯片里有內(nèi)部POR,所以片外沒有加RC復位電路。而工作電源VDD_3V上有20μF電容,下電時不能快速放電。添加外部RC復位電路(100 kΩ電阻和1μF電容),延長復位時間,電源穩(wěn)定后再取消復位。Reset功能在芯片上下電時更穩(wěn)定,問題得以解決。有時候電阻電容這種“小器件”往往可以解決“大問題”。

3電壓檢測復位

為了防止系統(tǒng)在上電、突然掉電或者電網(wǎng)瞬間欠壓引起嵌入式系統(tǒng)操作失誤,更常用和有效的方法是采用具有復位信號輸出的電壓監(jiān)測電路。電壓監(jiān)測電路提供多種保護功能:在系統(tǒng)上電、瞬間欠壓時提供系統(tǒng)復位信號;系統(tǒng)突然斷電、瞬間欠壓時輸出監(jiān)測信號,以供系統(tǒng)實施保護措施,如數(shù)據(jù)保護、I/O安全設置;可連接備用電源,保證備用電源的投、切控制。

對于供電系統(tǒng)的容差范圍較大、壓值精度較低的情況,或者是遇到電網(wǎng)長期工作在欠壓狀態(tài)下時,可能會造成系統(tǒng)在正常工作條件下頻繁復位。這種情況更應該監(jiān)控電源電壓,當監(jiān)測到電壓波動時,監(jiān)控芯片向處理器發(fā)送電壓異常信號,處理器響應該信號并中斷正在運行的程序,進入掉電保護子程序,設置復位狀態(tài)寄存器,避免下次上電時由于寄存器狀態(tài)錯誤而無法啟動上電復位。



電壓監(jiān)測復位,可以解決電源毛刺等造成系統(tǒng)不穩(wěn)定。復位電路可以采用分立元件搭建,目前常用專用集成電路芯片,閾值電壓和復位信號有些可通過編程修改。圖4是一個典型的電壓監(jiān)控復位芯片與微處理器的連接圖。

4看門狗復位

看門狗復位(即程序運行監(jiān)視復位)可保證程序非正常運行時能及時進入復位狀態(tài)??撮T狗分硬件看門狗和軟件看門狗。



4.1硬件看門狗復位

硬件看門狗的基本原理是,為電路提供一個用于監(jiān)視系統(tǒng)運行的信號線,當系統(tǒng)正常運行時,應在規(guī)定的時間內(nèi)給信號線提供一個特定信號;如在規(guī)定的時間內(nèi)無這個信號,自動復位電路就認為系統(tǒng)運行不正常,并重新對系統(tǒng)進行復位。具體方式是通過處理器的定時復位計數(shù)器來實現(xiàn)。此復位電路的可靠性還與軟件有關(guān),即將向復位電路發(fā)出脈沖的程序放在何處,在哪里插入“喂狗”指令,需作優(yōu)化。

硬件看門狗復位主要有三種形式:使用內(nèi)部帶WDT功能單元的電路,外部增設WDT電路和專用集成WDT芯片。圖5是一個看門狗芯片的工作方式圖。

4.2軟件復位

軟件復位可以節(jié)約電路板的空間和成本;軟件復位方式更靈活,更便捷。尤其是對一些功能模塊或者外設的監(jiān)控,借鑒硬件看門狗思想,采用軟件看門狗更有優(yōu)越性。用軟件來監(jiān)測功能模塊或者外設的工作情況,一旦認為功能模塊或者外設工作異常,通過設定特殊的標記,達到Reset判據(jù)時,則通過處理器強行復位并重新初始化工作異常的功能模塊或者外設,而其他功能模塊或者外設照常工作。當然,有時也需要重新復位并初始化整個系統(tǒng),使系統(tǒng)更穩(wěn)定地運行。有些系統(tǒng)人為操作硬件復位(按鍵復位或者上下電)很不方便時,或者有些系統(tǒng)和產(chǎn)品不便于讓用戶知道其重啟時,就可采用軟件復位。

4.3實例分析:手機找網(wǎng)問題

筆者做過一個功能手機(feature phone)項目,由于手機平臺剛推出,平臺不太穩(wěn)定,軟件存在一些Bug,尤其是底層Layer1部分。手機找不到網(wǎng),或者手機有網(wǎng)但過一段時間又沒有網(wǎng)的現(xiàn)象,發(fā)生概率很小,很難Debug.當時軟件找了很長時間的Bug,并把問題反饋給平臺廠商,但沒能及時給出解決方法。情急之下,只好做了應急之便,采用軟件復位的方法來救急。


在RTOS實時多任務操作系統(tǒng)軟件中,添加一任務,設置網(wǎng)絡狀態(tài)標志位來監(jiān)視網(wǎng)絡狀態(tài),當手機沒有信號時設置某標志;通過適當?shù)呐袚?jù),確認是否Reset,如果達到Reset條件就迅速地軟件復位,軟件重新初始化,如圖6所示。復位過程只能是“偷偷地”快速進行,不能讓用戶察覺,否則用戶體驗極為不好;要保持用戶界面,底層快速重啟,不知不覺地完成重啟。重啟后,網(wǎng)絡正常,用戶使用正常,巧妙地緩解,當然最終還是從本質(zhì)上去解決問題。

5外設的復位及穩(wěn)定性設計

5.1外設復位的特殊性與可控性

嵌入式系統(tǒng)通常有LCD顯示、攝像頭和無線通信模塊等外設。外設正常工作也需要正確的復位。有些設計直接將外設的復位引腳與處理器的復位引腳連在一起,共用一個外部硬件復位源,如圖7(a)所示。這種連接方式存在一些問題。首先,這要求復位電路有足夠的復位時間,才能保證處理器和外設都正確復位;其次,一旦外設出問題,那么處理器也需要復位,整個系統(tǒng)都需重新初始化;最后,容易產(chǎn)生非同步復位,在處理器復位后,對外設寫入命令時,可能被外設所復位掉,導致初始化出錯。



這些問題可以從硬件和軟件兩個方面來處理。硬件方面,對處理器和外設的復位分別進行復位電路設計,適當展寬復位脈沖。軟件方面,采用延時法,CPU上電后延時一段時間,等待外設復位充分,再進行外設初始化。最可靠并最具操作性的是保證外設復位的可控性,使外設的復位信號與處理器復位信號分開,由處理器的某一GPIO來控制。當處理器穩(wěn)定上電完成自身的初始化后,由處理器軟件控制外設復位,適當延時后,再對外設進行初始化,如圖7(b)所示。



外設復位的可控性,對要求特殊復位時序的外設尤其有用。不同的外設,其復位時序要求不同,具有個性與特殊性,系統(tǒng)應根據(jù)具體的復位時序要求進行個性化復位,否則可能導致外設工作不正常。

對于應用系統(tǒng)中有多個外設時,不應該如圖8(a)那樣把多個外設的復位引腳連在一起,由處理器的一個GPIO控制,進行一次外部硬件復位。通常采用如圖8(b)的連接方式,處理器完成上電復位后,分別通過不同的GPIO控制、采用不同的延時對各外設分別進行上電及復位。系統(tǒng)運行過程中,某個外設因受干擾工作不正常時,可以單獨對該外設進行復位操作,而不影響其他外設;有利于提高系統(tǒng)設計的靈活性和可靠性,能保證多個外設的可靠運行。

5.2實例分析:WiFi模塊的特殊復位信號

筆者做過一個用WiFi進行數(shù)據(jù)傳輸?shù)捻椖?,整個系統(tǒng)如圖9所示,SoC處理器模塊采集到的數(shù)據(jù)通過UART傳送給WiFi模塊,WiFi模塊再通過2.4 GHz無線信號傳送給無線WiFi AP,最后經(jīng)以太網(wǎng)口傳送給PC,由PC把無線AP獲取的數(shù)據(jù)保存到硬盤。



調(diào)試時,發(fā)現(xiàn)前端部分工作不穩(wěn)定,WiFi模塊啟動不穩(wěn)定,各次啟動現(xiàn)象不一致,有時能正常啟動,有時不能正常啟動。最后,找到問題的所在點:WiFi模塊上電啟動時,沒有得到正確的復位。系統(tǒng)上電的RC復位電路產(chǎn)生的Reset信號并不能完全使系統(tǒng)穩(wěn)定,需要再加一個脈沖信號,如圖10(a)所示。WiFi模塊的Reset時序包括兩個階段:大于20 ms的上電Reset和大于1 ms的硬件脈沖信號。微處理器SoC上電復位并初始化后,由I/O控制WiFi模塊上電及復位,按需求進行了特殊復位處理,采用特殊的Reset信號和時序,如圖10(b)所示,模塊可以穩(wěn)定啟動,工作正常,問題解決。

結(jié)語

嵌入式系統(tǒng)的復位方式有上電復位、按鍵復位、電壓監(jiān)控復位和看門狗復位等很多種,正確地設計復位電路,合理并巧妙地應用各種類型的復位操作,能使整個嵌入式系統(tǒng)更可靠、更穩(wěn)定地工作。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉