0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于μCOS-Ⅱ在SPCE061A開發(fā)板上如何實現(xiàn)低功耗嵌入式系統(tǒng)的設計

牽手一起夢 ? 來源:現(xiàn)代電子技術 ? 作者:楊小明 , 金建輝 ? 2020-10-04 17:39 ? 次閱讀

1 引 言

在當今普遍使用的手持式移動設備中,如何降低嵌入式系統(tǒng)的功耗、延長電池使用的時間等問題一直是困擾開發(fā)人員的一個難題。大量的功耗不僅導致移動設備的待機時間縮短,還會導致芯片熱量增加,降低可靠性,而且也會增加散熱系統(tǒng)的成本。待機時間問題雖然可以通過提高電池容量解決,但實際情況是嵌入式系統(tǒng)的功耗增長超過電池技術的發(fā)展,因此單純依靠電池技術的發(fā)展是不可能在短期內(nèi)解決現(xiàn)在正遇到的功耗問題。

CMOS邏輯電路被認為是現(xiàn)今最通用的大規(guī)模集成電路技術,因為CMOS可以高度集成,并具有低功耗、輸入電流小等特性,而且從理論上,理想的CMOS電路的靜態(tài)功耗可以認為是零,是一種“理想”的邏輯器件。但實際的CMOS器件依然需要消耗功率,而且頻率越高,消耗的動態(tài)功耗越高。雖然芯片的封裝、使用散熱片和風扇能夠散掉芯片和系統(tǒng)所產(chǎn)生的熱量,然而隨著芯片和系統(tǒng)尺寸持續(xù)地增加,要提供充分的散熱就必須付出更多的代價,而且系統(tǒng)的尺寸也會增加,散熱系統(tǒng)的機械部分也會降低系統(tǒng)的可靠性。

嵌入式系統(tǒng)由硬件和軟件共同組成,因此降低嵌入式系統(tǒng)功耗的方法也有硬件方法和軟件方法。本文以移植到凌陽16位處理器μ′nSPTM上的嵌入式實時操作系統(tǒng)μCOS-Ⅱ為例,使用凌陽公司提供的SPCE061A開發(fā)板,討論如何利用μCOS-Ⅱ給出的內(nèi)核擴展接口,實現(xiàn)一個低功耗的嵌入式系統(tǒng)。

2 嵌入式系統(tǒng)的功耗

嵌入式系統(tǒng)的平均功耗和電池容量共同決定待機時間,平均功耗越小、電池容量越大則待機時間越長。而嵌入式系統(tǒng)的功耗可以分為靜態(tài)功耗和動態(tài)功耗,靜態(tài)功耗是由CMOS電路的漏電流形成,現(xiàn)在的技術已經(jīng)使漏電流減少到盡可能小,因此靜態(tài)功耗一般占總功耗的比例很??;動態(tài)功耗是由CMOS電路的分布電容充放電形成,該功耗占總功耗的比例很大,因此也是主要的研究對象。動態(tài)功耗的大小可由式PD=CL×VDD2×f表示,CL是CMOS電路的分布電容,與芯片尺寸和工藝有關;VDD是電源電壓;f是系統(tǒng)的工作頻率,降低工作頻率有助于降低系統(tǒng)功耗,但會使系統(tǒng)工作速度下降。

由上述分析可知,降低嵌入式系統(tǒng)的功耗主要有兩種途徑。第一種是動態(tài)頻率調(diào)節(jié)(DFS),它可以改變不同電壓域上的時鐘頻率。雖然這種方法可以消除空閑等待的時間,但是卻不能減少能量的消耗。比如將一個任務以通常情況的一半頻率來運行,意味著完成這個任務要通常的兩倍時間。DFS有用的地方在于,它可以降低峰值功耗。第二種方式是動態(tài)地電壓和頻率調(diào)節(jié)(DVFS)。DVFS是建立在DFS基礎之上的,它既要降低頻率,又要降低電壓。由于電壓對動態(tài)功耗二次方的關系,DVFS確實能將能量的消耗節(jié)省下來。為此ARM公司的Faisal M.Goriawalla先生提出IEM(智能能量管理)方案,該方案采用步進策略、前瞻策略或平均數(shù)策略等算法調(diào)節(jié)系統(tǒng)的頻率和電壓,對于最終產(chǎn)品來說,則可以節(jié)省15%~20%的能量消耗(來源于ARM公司OEM合作伙伴的數(shù)據(jù))。

3 實時操作系統(tǒng)μCOS-Ⅱ和凌陽處理器μ′nSPTM簡介

μCOS-Ⅱ是一個簡單、高效的嵌入式實時操作系統(tǒng)內(nèi)核,具有可搶占的實時多任務調(diào)度系統(tǒng)功能。μCOS-Ⅱ提供很多系統(tǒng)服務,例如郵箱、消息隊列、信號量、塊大小固定的內(nèi)存的申請與釋放、時間相關函數(shù)等。μCOS-Ⅱ2.5版本支持64個任務,每個任務一個特定的優(yōu)先級。優(yōu)先級越高,數(shù)字越小。系統(tǒng)占用了8個任務,保留優(yōu)先級為0,1,2,3,OS LOWEST_PRIO-3,OS_LOWEST_PRIO_2,OS_LOWEST_PRIO_1,OS_LOWEST_PRIO_0。

凌陽16位處理器μ′nSPTM被廣泛應用在家用電器控制器、儀器儀表工業(yè)控制、娛樂和語音控制等場合。在功耗控制方面,μ′nSPTM采用CMOS制造工藝,同時增加了軟件激發(fā)的弱振方式、空閑方式和掉電方式,極大地降低了其功耗??梢酝ㄟ^對P SystemClock的設置進行選擇CPU的時鐘可以在O.32~49.152 MHz范圍內(nèi)可編程調(diào)節(jié)。當系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),耗電僅為2μA@3.6 V。μ′nSPTM處理器滿足μCOS-Ⅱ?qū)崟r操作系統(tǒng)移植的條件。

凌陽16位處理器μ′nSPTM的時鐘有多種選擇。系統(tǒng)采用32 768 Hz的實時時鐘,實時時鐘經(jīng)過PLL倍頻電路以后,產(chǎn)生系統(tǒng)時鐘頻率FOSC,F(xiàn)OSC再經(jīng)過分頻得到CPU時鐘頻率。其工作原理如圖1所示。

由圖1可知:μ′nSPTM的時鐘有多種選擇,從O.32~49.152 MHz范圍內(nèi)可編程調(diào)節(jié),另外還可以關閉32 768 Hz實時時鐘進入睡眠狀態(tài)。在3.6 V電源電壓下,處理器的工作電流見表1。

4 μCOS-Ⅱ?qū)崿F(xiàn)低功耗的原理

μCOS-Ⅱ總是運行進入就緒狀態(tài)的優(yōu)先級最高的任務。一旦優(yōu)先級高的任務進入就緒態(tài),就可以將CPU從低優(yōu)先級任務中搶過來。在μCOS-Ⅱ初始化時,會建立一個優(yōu)先級最低的任務——空閑任務,在沒有任務進入就緒態(tài)的時候,空閑任務就會開始運行??臻e任務會調(diào)用一個函數(shù)——OSTaskIdleHook()。這是留給用戶使用的內(nèi)核擴展接口??臻e任務實際上并沒有什么事情可做,只是一個等待中斷的無限循環(huán)。因此用戶可以利用OSTaskIdleHook(),降低或者關閉系統(tǒng)時鐘,使CPU進入低功耗模式。在實際的測試中,可修改文件OS_CPU_A.ASM,添加控制實時時鐘的例程,然后在應用程序或函數(shù)OSTaskIdleHook()中調(diào)用,這樣更便于程序閱讀。

在本文中采用的具體方法有兩種:

方案一:系統(tǒng)在空閑狀態(tài)下關閉實時時鐘,進入低功耗狀態(tài)。但這種方法會使操作系統(tǒng)停止運行而無法進行任務調(diào)度,故需要定時器周期性地喚醒CPU。CPU被喚醒之后重新判斷是否有任務處于就緒態(tài),如果有就執(zhí)行該任務;如果沒有則再次進入空閑狀態(tài)并關閉實時時鐘進入低功耗狀態(tài)。其工作時序見圖2。其中用戶任務工作在高功耗狀態(tài),空閑任務則關閉實時時鐘,處于低功耗狀態(tài)。

方案二:系統(tǒng)在空閑狀態(tài)下不關閉實時時鐘,而是進入最低的工作頻率,此時處理器處于低功耗工作狀態(tài),操作系統(tǒng)仍然可以進行任務調(diào)度。當有用戶任務時,由用戶任務先把實時時鐘頻率升高,然后再運行用戶代碼。其工作時序見圖3。其中每次進入用戶任務之前,先將實時時鐘頻率升高,用戶任務運行結束進入空閑狀態(tài)時,再將實時時鐘頻率降低。

1)測試和方案對比:

首先在處理器μ′nSPTM處理器上移植μCOS-Ⅱ?qū)崟r操作系統(tǒng)。運行正常后測試用的用戶任務是以1 Hz的頻率點亮LED指示燈。表2是測試數(shù)據(jù)(外電源電壓4.82 V,穩(wěn)壓后處理器電壓3.3 V)。

2)測試結論:

雖然以整機電流進行測試不能完全反映處理器的工作情況,但從以上數(shù)據(jù)可以知道,采用兩種方案確實可以降低系統(tǒng)功耗,而且方案一的效果更好,但需要占用一個定時器,在測試中發(fā)現(xiàn)當任務增加后功耗很快達到方案二水平,且有時不能正常喚醒;方案二很穩(wěn)定,而且不需要定時器,用戶可以根據(jù)任務的運算量設定不同的時鐘頻率,如需要大的運算任務,可在進入用戶任務之前將時鐘頻率設置為較高值,反之設置為較低值。以上采用的方法只是動態(tài)地改變系統(tǒng)的頻率,沒有動態(tài)地改變電壓水平,因此在降低嵌入式系統(tǒng)功耗方面依然有進一步的潛力。但動態(tài)改變電壓水平需要更多硬件支持,在目前廣泛使用的中低端處理器中,通過擴展實時操作系統(tǒng)內(nèi)核動態(tài)地改變系統(tǒng)的頻率對降低嵌入式系統(tǒng)功耗是大有裨益的。

5 結 語

在嵌入式系統(tǒng)設計中,由于普遍存在CPU高速運行功能和有限任務處理要求的巨大差異,會形成系統(tǒng)在時間與空間上巨大的無效操作。如果能夠根據(jù)系統(tǒng)的工作狀態(tài)自動地進行功耗管理,使系統(tǒng)工作于系統(tǒng)狀態(tài)相適應的功耗模式,故能極大地降低系統(tǒng)功耗,延長電池待機時間。這些工作對嵌入式開發(fā)有重大的意義。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 集成電路
    +關注

    關注

    5377

    文章

    11311

    瀏覽量

    360404
  • 嵌入式
    +關注

    關注

    5059

    文章

    18973

    瀏覽量

    302062
  • 低功耗
    +關注

    關注

    10

    文章

    2352

    瀏覽量

    103541
收藏 人收藏

    評論

    相關推薦

    基于SPCE061A的智能防盜防火報警系統(tǒng)

    基于SPCE061A的智能防盜防火報警系統(tǒng)
    發(fā)表于 08-06 12:31

    SPCE061A的FAQ.pdf

    SPCE061A的FAQ.pdf?。。。。。。。。。。。。。。。。。。。?!
    發(fā)表于 08-29 18:22

    SPCE061A中文編程手冊

    SPCE061A中文編程手冊
    發(fā)表于 01-02 23:08

    如何使用凌陽SPCE061A設計嵌入式應用系統(tǒng)?

    SPCE061A是凌陽科技新推出的u課SP內(nèi)核的十六位單片機,內(nèi)嵌32K字 Flash的SPCE061A時是適用于數(shù)字語音識別應用領域的一種經(jīng)濟的選擇。它支持精簡指令系統(tǒng),片內(nèi)具有豐富的硬件資源
    發(fā)表于 08-08 06:41

    怎么實現(xiàn)基于SPCE061A的車載DVD播放器設計?

    本文設計并實現(xiàn)一套基于凌陽單片機SPCE061A的車載多碟DVD播放器。
    發(fā)表于 05-13 06:59

    如何使用SPCE061A的SIO實現(xiàn)數(shù)碼錄音及播放?

    本文就是介紹利用SPCE061A的這兩個資源和串行接口的FLASH(SPR1024)來開發(fā)數(shù)碼錄音及播放系統(tǒng)。
    發(fā)表于 06-07 06:33

    基于實時操作系統(tǒng)μCOS-Ⅱ的嵌入式GUI設計實現(xiàn)

    基于實時操作系統(tǒng)μCOS-Ⅱ的嵌入式GUI設計實現(xiàn)
    發(fā)表于 03-28 09:49 ?26次下載

    SPCE061A 設計的嵌入式語音通信平臺

    主要介紹基于SPCE061A嵌入式語音通信平臺的主要原理、框架結構以及其中主要問題的實現(xiàn)策略。對于語音通信的應用和研究具有很好的借鑒意義。
    發(fā)表于 05-18 14:34 ?10次下載

    SPCE061A智能家居系統(tǒng)中的應用

    SPCE061A為核心作為主控制器,以89C51及相關硬件電路為分控制器,利用電話接口和電力線載波通信,設計了一種智能家居系統(tǒng),文中介紹了SPCE061A的芯片特性及其主控制器模塊
    發(fā)表于 01-13 15:58 ?32次下載

    使用凌陽SPCE061A嵌入式應用系統(tǒng)設計

      SPCE061A是凌陽科技新推出的u課SP內(nèi)核的十六位單片機,內(nèi)嵌32K字 Flash的SPCE061A時是適用于數(shù)字語音識別應用領域的一種經(jīng)濟
    發(fā)表于 01-01 21:18 ?768次閱讀
    使用凌陽<b class='flag-5'>SPCE061A</b>的<b class='flag-5'>嵌入式</b>應用<b class='flag-5'>系統(tǒng)</b>設計

    基于μCOS-II嵌入式系統(tǒng)低功耗開發(fā)

    基于μCOS-II嵌入式系統(tǒng)低功耗開發(fā) 隨著嵌入式系統(tǒng)
    發(fā)表于 12-23 11:06 ?828次閱讀
    基于μ<b class='flag-5'>COS</b>-II<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>低功耗</b><b class='flag-5'>開發(fā)</b>

    采用SPCE061A設計的SIO實現(xiàn)數(shù)碼錄音及播放

    采用SPCE061A設計的SIO實現(xiàn)數(shù)碼錄音及播放 本文就是介紹利用SPCE061A的這兩個資源和串行接口的FLASH(SPR1024)來開發(fā)數(shù)碼錄音及播放
    發(fā)表于 04-20 11:45 ?1008次閱讀
    采用<b class='flag-5'>SPCE061A</b>設計的SIO<b class='flag-5'>實現(xiàn)</b>數(shù)碼錄音及播放

    基于μC/OS-II操作系統(tǒng)SPCE061A的移植優(yōu)化研研究

    /OS-II移植到SPCE061A,μC/OS-II的平臺上設計軟件對于提高相關嵌入式應用系統(tǒng)產(chǎn)品的質(zhì)量,減少
    發(fā)表于 03-07 09:57 ?816次閱讀
    基于μC/OS-II操作<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>在</b><b class='flag-5'>SPCE061A</b><b class='flag-5'>上</b>的移植優(yōu)化研研究

    SPCE061A開發(fā)板的電路原理圖免費下載

    本文檔的主要內(nèi)容詳細介紹的是SPCE061A開發(fā)板的電路原理圖免費下載。
    發(fā)表于 06-19 16:46 ?44次下載
    <b class='flag-5'>SPCE061A</b><b class='flag-5'>開發(fā)板</b>的電路原理圖免費下載

    基于SPCE061A和PDIUSBD12USB接口芯片實現(xiàn)設備系統(tǒng)的設計

    個基礎修改程序,輕松實現(xiàn)USB設備系統(tǒng)開發(fā)。本文所設計的系統(tǒng)具有三種簡單功能:1.檢測USB外設是否連接成功。 2.通過點擊PC端的應用軟件
    的頭像 發(fā)表于 06-23 14:18 ?1991次閱讀
    基于<b class='flag-5'>SPCE061A</b>和PDIUSBD12USB接口芯片<b class='flag-5'>實現(xiàn)</b>設備<b class='flag-5'>系統(tǒng)</b>的設計