當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于嵌基于μC/OS-II嵌入式實時操作系統(tǒng)的低功耗開發(fā)

 隨著嵌入式系統(tǒng)應(yīng)用的日益廣泛,如何實現(xiàn)嵌入式系統(tǒng)的低功耗開發(fā)已經(jīng)成為嵌入式應(yīng)用發(fā)展的關(guān)鍵技術(shù)之一,是近幾年來人們在嵌入式系統(tǒng)的設(shè)計中普遍關(guān)注的難點與熱點。嵌入式系統(tǒng)正被廣泛應(yīng)用于移動性較強的產(chǎn)品中去,而這些產(chǎn)品不是一直有充足的電源供應(yīng),往往需要電池來供電,因此,設(shè)計人員需要從每一個細(xì)節(jié)來考慮降低系統(tǒng)的功率消耗,從各個方面去實現(xiàn)降低系統(tǒng)的功耗。同時功耗對終端設(shè)備的成本及體積大小有顯著影響。
本文結(jié)合FM電臺手持式測試儀這一實例,從系統(tǒng)硬件設(shè)計、系統(tǒng)軟件設(shè)計、利用內(nèi)核擴(kuò)展接口和產(chǎn)品應(yīng)用特點這四個方面深入地討論了基于μC/OS-II嵌入式系統(tǒng)丌發(fā)中低功耗系統(tǒng)的設(shè)計。

  1、嵌入式系統(tǒng)概述

  1.1 嵌入式系統(tǒng)的定義

  根據(jù)IEEE(國際電氣和電子工程師協(xié)會)的定義:嵌入式系統(tǒng)是用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置。

  1.2 嵌入式操作系統(tǒng)

  從20世紀(jì)80年代開始,市場上出現(xiàn)各種各樣的商用嵌入式操作系統(tǒng),主要有VxWorks、Psos、Neculeus、QNX、Linux、Windows CE等。

  本文使用的μC/OS-II是一個典型的實時操作系統(tǒng)。它的特點可以以概括為以下幾個方面:公開源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳細(xì),組織有條理,可移植性好,可裁剪,可固化。內(nèi)核屬于搶占式。

  2、研究主題的平臺簡介

  2.1 本文硬件平臺是基于FM電臺手持式測試儀的一套開發(fā)平臺。

  FM電臺手持式測試儀由主控板、信號源板、測量板組成,其結(jié)構(gòu)框圖見圖1。

  主控板包括嵌入式微控制器(SHARPLH79520)、存儲芯片(NAND FLASH)、CPLD(用于總線擴(kuò)展)、并口轉(zhuǎn)串口芯片(ST16C16554)、直流電源轉(zhuǎn)換芯片(TI公司TPS5430)、實時時鐘芯片等。主控板主要用于控制信號源板的操作和測量板的操作。信號源板主要用于調(diào)制射頻信號、發(fā)送調(diào)制信號和音頻信號,以及接收電臺發(fā)出的信號、解調(diào)射頻信號等。測量板主要用于測量射頻頻率、射頻功率、射頻電平、音頻頻率、音頻電平、失真等電臺參數(shù)。

  2.2 研究目標(biāo)

  本文主要研究嵌入式操作系統(tǒng)μC/OS-II在FM電臺手持式測試儀中的應(yīng)用,從硬件、軟件、操作系統(tǒng)和產(chǎn)品應(yīng)用特點這四個層面上,討論如何降低系統(tǒng)的功耗。FM電臺手持式測試儀的體系結(jié)構(gòu)如圖2。

  3、低功耗系統(tǒng)的設(shè)計

  3.1 低功耗系統(tǒng)設(shè)計概述

  隨著嵌入式系統(tǒng)的廣泛應(yīng)用,功耗問題是近幾年來人們在嵌入式系統(tǒng)的設(shè)計中普遍關(guān)注的難點與熱點。系統(tǒng)的低功耗設(shè)計,并非是某一個方面、某一個角度的解決方案,而應(yīng)當(dāng)從系統(tǒng)級的設(shè)計考慮功耗的節(jié)省,是一個硬件設(shè)計與軟件控制相互結(jié)合的協(xié)調(diào)過程。[!--empirenews.page--]

  本文將依次從系統(tǒng)硬件設(shè)計、系統(tǒng)軟件設(shè)計、利用μC/OS-II給出的內(nèi)核擴(kuò)展接口和產(chǎn)品應(yīng)用特點這四個方面系統(tǒng)地討論低功耗系統(tǒng)設(shè)計。

  3.2 硬件低功耗設(shè)計

  3.2.1 低功耗設(shè)計的器件

  選擇低功耗的電子器件可以從根本上降低整個硬件系統(tǒng)的功耗。嵌入式處理器是嵌入式系統(tǒng)的硬件核心,消耗大量的功率,因此設(shè)計時應(yīng)選用低功耗的處理器;另外,選擇低功耗的通信收發(fā)器(對于通信應(yīng)用系統(tǒng))、低功耗的外圍電路。

  本文中使用的微控制器是夏普公司的LH79520。LH79520有五種工作模式,分別是:運行模式、休眠模式、睡眠模式、停止模式1、停止模式2。處于不同的工作模式下,微控制器消耗的功率不同,處于運行模式的微控制器消耗的功率最多,處于停止模式2的微控制器消耗的功率最少。

  3.2.2 低功耗電路

  目前的半導(dǎo)體工藝主要有TTL工藝和CMOS工藝,CMOS工藝具有很低的功耗,在電路設(shè)計上盡量選用,使用CMLS系列電路時,其不用的輸入端不要懸空,因為懸空的輸入端可能存在的感應(yīng)信號造成高低電平的轉(zhuǎn)換,轉(zhuǎn)換器件的功耗很大,盡量采用輸出為高的原則。同時盡量使用集成度高的器件,減少電路中使用的元件的個數(shù),從而減少整機的功耗。

  3.2.3 分區(qū)/分時供電技術(shù)

  一個嵌入式系統(tǒng)的所有組成部分并非時刻在工作,基于此,可采用分時/分區(qū)供電技術(shù)。原理是利用“開關(guān)”控制電源供電單元,在某一部分電路處于休眠狀態(tài)時,關(guān)閉其供電電源,僅保留工作部分的電源。

  本文使用的硬件平臺,使用了TI公司的直流電源轉(zhuǎn)換芯片TPS5430,給其他輔助板和主控板上的外設(shè)提供電源。

  3.2.4 降低處理器的時鐘頻率

  處理器的工作頻率和功耗的關(guān)系很大,頻率越高,功耗越大??梢詣討B(tài)改變處理器的時鐘以降低系統(tǒng)的總功耗。微控制器空閑時降低時鐘頻率;處于工作狀態(tài)時,提高時鐘頻率,全速運行處理事務(wù)。

  本文使用的硬件平臺的控制板所使用的時鐘,使用了外部晶振和鎖相環(huán)技術(shù),可以在很寬的范圍內(nèi)調(diào)整系統(tǒng)時鐘。

  3.3 軟件部分的設(shè)計

  至今,還沒有一個嚴(yán)格的標(biāo)準(zhǔn)來判斷一個軟件的低功耗特性,但是,設(shè)計者仍需盡量將應(yīng)用的低功耗特性反映在軟件中,以避免那些“看不見”的功耗損失。

  3.3.1 中斷與查詢

  一個程序使用中斷方式還是查詢方式對于一些簡單的應(yīng)用并不那么重要,但在其低功耗特性上卻相去甚遠(yuǎn)。使用中斷方式,微控制器可以什么都不做,甚至可以進(jìn)入等待模式或停止模式;而查詢方式下,微控制器必須不停地訪問I/O寄存器,這會帶來很多額外的功耗。

  本文是通過中斷通信方式與片上的兩個串口資源進(jìn)行通信,而非采用查詢的方式,減少了串口占用處理器的工作時間,有效地降低了系統(tǒng)的功耗。

  3.3.2 宏的使用

  讀RAM會比讀Flash帶來更大的功耗,正是因為如此,低功耗性能突出的ARM微控制器在設(shè)計上僅允許一次子程序調(diào)用。因為微控制器進(jìn)入子程序時,會首先將當(dāng)前微控制器寄存器推入堆棧(RAM),在離開時又將微控制器寄存器彈出堆棧,這樣至少帶來兩次對RAM的操作。因此,考慮用宏定義來代替子程序調(diào)用。調(diào)用一個子程序還是一個宏在程序?qū)懛ㄉ喜]有什么不同,但宏會在編譯時展開,微控制器只是順序執(zhí)行指令,避免了調(diào)用子程序。這實際上是一種以空間換時間的思想。這樣做,不儀提高了程序的執(zhí)行效率,同時可以減少系統(tǒng)的功耗。

  3.3.3 減少微控制器的運算量

  將一些運算的結(jié)果預(yù)先算好,放在Flash中,用查表的方法替代實時的計算,減少微控制器的運算工作量,可以有效地降低微控制器的功耗;不可避免的實時計算,算到精度夠了就結(jié)束,避免“過度”的計算;盡量使用短的數(shù)據(jù)類型,在精度允許的情況下,使用簡單函數(shù)代替復(fù)雜函數(shù)作近似,也可以減少功耗。

  3.3.4 減少微處理器的工作時間

  盡量減少CPU的全速運行時間以降低系統(tǒng)的功耗,使微控制器較長地處于空閑方式或掉電方式是用軟件設(shè)計降低系統(tǒng)功耗的關(guān)鍵。讓它盡量在短時間內(nèi)完成對信息或數(shù)據(jù)的處理,然后就進(jìn)入空閑或掉電方式,在關(guān)機狀態(tài)下讓它完全進(jìn)入掉電方式,用定時中斷、外部中斷或系統(tǒng)復(fù)位將它喚醒。

  3.4 基于μC/OS-II內(nèi)核擴(kuò)展接口的低功耗模式

  利用任務(wù)調(diào)度的空閑時間使微控制器進(jìn)入低功耗模式,以降低系統(tǒng)功耗這一思想在μC/OS-II內(nèi)核設(shè)計之初就被注意到了。為此設(shè)計者特意留出了相應(yīng)的內(nèi)核擴(kuò)展接口。用戶可以利用此接口,實現(xiàn)一個實時的低功耗系統(tǒng)。

  3.4.1、μC/OS-II的空閑任務(wù)擴(kuò)展接口

  實現(xiàn)μC/OS-II低功耗特性的方法:利用μC/OS-II中空閑任務(wù)的擴(kuò)展接口,使系統(tǒng)在空閑狀態(tài)下進(jìn)入某種低功耗模式,降低系統(tǒng)功耗;利用時鐘節(jié)拍(本文使用LH79520內(nèi)部定時器0作為時鐘節(jié)拍),周期性地喚醒CPU。CPU被喚醒之后,將執(zhí)行節(jié)拍中斷服務(wù)程序,重新判斷是否有任務(wù)處于就緒態(tài),如果有,就執(zhí)行該任務(wù);如果沒有,則重復(fù)上面的過程。

  μC/OS-II最多可以管理64個任務(wù),并為每一個任務(wù)分配一個不同的優(yōu)先級。每一個任務(wù)有五種可能的狀態(tài)——睡眠態(tài)、就緒態(tài)、運行態(tài)、等待態(tài)和中斷服務(wù)態(tài)。μC/OS-II屬于可剝奪型內(nèi)核,也就是說,μC/OS-II總是運行進(jìn)入就緒狀態(tài)的優(yōu)先級最高的任務(wù)。一旦優(yōu)先級高的任務(wù)進(jìn)入就緒態(tài),就可以將CPU從低優(yōu)先級任務(wù)中搶過來。在μC/OS-II初始化時,會建立一個優(yōu)先級最低的任務(wù)——空閑任務(wù),在沒有任務(wù)進(jìn)人就緒態(tài)的時候,空閑任務(wù)就會開始運行??臻e任務(wù)會調(diào)用一個函數(shù)——OSTaskI-dleHook()。這是留給用戶使用的內(nèi)核擴(kuò)展接口??臻e任務(wù)實際上并沒有什么事情可做,只是一個等待中斷的無限循環(huán)。因此用戶可以利用OSTaskIdleHook(),使CPU進(jìn)入低功耗模式。[!--empirenews.page--]

  4、FM電臺手持式測試儀的低功耗設(shè)計

  4.1 FM電臺手持式測試儀低功耗設(shè)計的思想

  當(dāng)目標(biāo)板上的按鍵在一定時間內(nèi)沒有被按下時,F(xiàn)M電臺手持式測試儀進(jìn)入低功耗工作模式。在FM電臺手持式測試儀進(jìn)入到低功耗工作模式后,按下FM電臺手持式測試儀上任何一個按鍵(通過按鍵產(chǎn)生中斷喚醒微控制器),讓FM電臺手持式測試儀返回到正常的工作模式。其工作流程如圖3。

  4.2 進(jìn)入低功耗模式前的設(shè)置

  在進(jìn)入低功耗工作模式前,需要完成以下幾個操作。首先,要使能并初始化外部中斷(INT5);其次,關(guān)閉測量板、信號源板的工作電源;最后,執(zhí)行關(guān)閉目標(biāo)板上液晶顯示屏電源、隔離總線等操作。

  4.3 設(shè)置LH79520的低功耗工作模式

  在完成進(jìn)入低功耗模式前的設(shè)置后,需要讓微控制器LH79520進(jìn)入低功耗工作模式,從而讓測試儀進(jìn)入到低功耗工作模式。微控制器LH79520的不同功耗工作模式的選擇是通過設(shè)置RCPC寄存器來實現(xiàn)的。

  4.4 喚醒微控制器LH79520

  當(dāng)微控制器LH79520處于低功耗工作模式時,給微控制器LH79520能夠識別的中斷信號,即可讓微控制器LH79520從低功耗工作模式返回到正常的工作模式。

  本文使用的目標(biāo)板是通過外部中斷5來喚醒微控制器LH79520。外部中斷5引腳與目標(biāo)板的鍵盤相連。在使能外部中斷5之后,同時設(shè)計外部中斷5為低電平觸發(fā)中斷。這樣,一旦按下鍵盤,就會產(chǎn)生一個低電平信號,從而觸發(fā)外部中斷5,以此來喚醒微控制器LH79520。

  4.5 喚醒系統(tǒng)后的設(shè)置

  當(dāng)從低功耗工作模式喚醒后,進(jìn)入到正常的工作模式時,需要完成以下幾個操作。首先,關(guān)閉外部中斷5;其次,給液晶屏供電,點亮液晶屏,同時,使能外部總線,使其可以與其他外設(shè)進(jìn)行通信;然后,給信號源板和測量板供電。

  5、結(jié)束語

  本文首先從硬件和操作系統(tǒng)的層面上,討論如何降低系統(tǒng)的功耗;然后,從軟件代碼的設(shè)計和產(chǎn)品應(yīng)用的特點研究如何減少系統(tǒng)的功率消耗。通過FM電臺手持式測試儀驗證,當(dāng)測試儀處于正常工作模式時,電流是300多毫安;處于節(jié)電模式時,消耗的電流僅為幾個微安。實踐表明,本文提出的低功耗設(shè)計方案對降低系統(tǒng)功耗的作用是顯而易見的。

本站聲明: 本文章由作者或相關(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)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(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 半導(dǎo)體

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(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ù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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