<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 學(xué)習方法與實(shí)踐 > 基于μC/OS-II嵌入式系統的低功耗開(kāi)發(fā)

基于μC/OS-II嵌入式系統的低功耗開(kāi)發(fā)

作者:孫蘇偉 時(shí)間:2008-01-28 來(lái)源:《中國集成電路》 收藏

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

本文引用地址:http://dyxdggzs.com/article/78115.htm

1、嵌入式系統概述

1.1 嵌入式系統的定義

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

1.2 嵌入式操作系統

  從20世紀80年代開(kāi)始,市場(chǎng)上出現各種各樣的商用嵌入式操作系統,主要有VxWorks、Psos、Neculeus、QNX、Linux、Windows CE等。

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

2、研究主題的平臺簡(jiǎn)介

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

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

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

2.2 研究目標

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

3、低功耗系統的設計

3.1 低功耗系統設計概述

  隨著(zhù)嵌入式系統的廣泛應用,功耗問(wèn)題是近幾年來(lái)人們在嵌入式系統的設計中普遍關(guān)注的難點(diǎn)與熱點(diǎn)。系統的低功耗設計,并非是某一個(gè)方面、某一個(gè)角度的解決方案,而應當從系統級的設計考慮功耗的節省,是一個(gè)硬件設計與軟件控制相互結合的協(xié)調過(guò)程。

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

3.2 硬件低功耗設計

3.2.1 低功耗設計的器件

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

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

3.2.2 低功耗電路

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

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

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

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

3.2.4 降低處理器的時(shí)鐘頻率

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

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

3.3 軟件部分的設計

  至今,還沒(méi)有一個(gè)嚴格的標準來(lái)判斷一個(gè)軟件的低功耗特性,但是,設計者仍需盡量將應用的低功耗特性反映在軟件中,以避免那些“看不見(jiàn)”的功耗損失。

3.3.1 中斷與查詢(xún)

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

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

3.3.2 宏的使用

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

3.3.3 減少微控制器的運算量

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

3.3.4 減少微處理器的工作時(shí)間

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

3.4 基于μC/OS-II內核擴展接口的低功耗模式

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

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

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

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

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

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

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

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

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

4.3 設置LH79520的低功耗工作模式

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

4.4 喚醒微控制器LH79520

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

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

4.5 喚醒系統后的設置

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

5、結束語(yǔ)

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



關(guān)鍵詞: 嵌入式系統 低功耗

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>