www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于S3C2440和Windows CE5.0的嵌入式設備休眠喚醒技術研究

嵌入式系統(tǒng)應用中降低設備功耗以提高續(xù)航能力是其設計的熱點[1]。在休眠狀態(tài),系統(tǒng)處于最低電流消耗狀態(tài),同時仍維持存儲區(qū)中的內容,為了減少能量消耗和延長電池壽命,需要讓處理器定期進入或退出休眠模式[2]。Windows CE 作為一個廣泛應用于嵌入式設備上的操作系統(tǒng),提供了完善的電源管理功能。其中,休眠喚醒便是一個重要的功能。本文在結合S3C2440硬件基礎上分析休眠喚醒過程,分別采用外部中斷喚醒和RTC中斷喚醒兩種方法實現了休眠喚醒,并給出了具體實現代碼。根據相應喚醒需求,將這兩種方法應用于北京化工大學診斷與自愈工程研究中心的一款基于S3C2440和WindowsCE 5.0的嵌入式智能巡檢分析診斷儀,結果表明能準確達到實際的設置要求,效果良好。
1 休眠喚醒過程分析
    對于電源控制邏輯模塊,S3C2440 有多種電源管理方案以針對須執(zhí)行的任務保持最優(yōu)的電源消耗。S3C2440 中的電源管理模塊對應 4 種模式:NORMAL 模式、SLOW 模式、IDLE 模式和SLEEP模式。
  在SLEEP模式下,電源管理模塊關閉內部電源,因此,CPU 和內部邏輯模塊都沒有電源消耗,但除了此模式下的喚醒模塊。激活SLEEP模式需要2個獨立的電源,其中一個為喚醒模塊供電,另一個為包括CPU的其他邏輯模塊供電,并且可以由power on/off控制。在SLEEP模式下,給CUP和內部邏輯單元供電的第二個電源被關閉,只有喚醒模塊是工作的。這種狀態(tài)下,可以通過外部中斷EINT[15:0]或定時器的RTC(real time control)中斷將系統(tǒng)從睡眠狀態(tài)中喚醒[3],如圖1所示。

    在睡眠模式下,VDDi、VDDiam、VDDMPLL以及VDDUPLL會被關閉,其由PWREN引腳來控制,如PWREN信號被置位,VDDi和VDDiam則由一個外部變壓器供電。當PWREN=0時,VDDi和VDDiam被關閉。
 有多種方法可以使系統(tǒng)進入休眠,例如在Windows CE的桌面上,點左下角的開始圖標,然后選擇 “掛起”;或者,在應用程序或驅動中調用SetSystemPowerState()函數,都可以讓系統(tǒng)進入休眠狀態(tài)。實際上,這兩種方法殊途同歸,最終都需要通過OEM層OEMPowerOff()函數依次調用BSPPowerOff()函數,以關閉板級的相關電源,保存所有寄存器的值,關閉背光;調用 ConfigStopGPIO()函數,設置各IO休眠后的狀態(tài);如果支持KITL,調用OALKitlPowerOff()函數關閉KITL功能;調用OALCPUPoweroff()函數,使得CPU進入休眠模式。OALCPUPoweroff()函數保存當前系統(tǒng)的狀態(tài),把CPU上一些寄存器里的數據保存到RAM里去,然后禁止RAM自刷新的功能,加入喚醒中斷源,最后使CPU進入休眠模式。當CPU處于Sleep狀態(tài)時,RAM不會斷電,這樣RAM中的數據就不會丟失,當CPU被喚醒后使用RAM里的數據恢復系統(tǒng)。
 當相應的中斷源觸發(fā)時,CPU就會被喚醒,電流消耗變大了,需要說明的是,此處僅喚醒CPU,之后才喚醒WINCE系統(tǒng)。當系統(tǒng)由SLEEP到NORMAL切換期間需經過一個RESET過程,這個過程稱為 Power On Reset 。在S3C2440 CPU中,寄存器GSTATUS2專門用以判斷發(fā)生Reset原因。Power On Reset后,在之前SLEEP過程中保存下來的RAM中的系統(tǒng)數據是不會丟失的。本文需要設計的喚醒子系統(tǒng),就是把這些數值恢復到它們休眠前應處的地址。
 在Bootloader中實現數據恢復的具體步驟如下:
 (1)如果有喚醒源被觸發(fā),內部的復位信號就會動作。這和外部的 nReset引腳觸發(fā)非常相似。復位持續(xù)時間由內部的 16 bit計數器邏輯決定,通過reset 復位決斷時間可以計算tRST=(65535/XTAL_frequency);
 (2)通過檢測GSTATUS2[2],判斷是否是由SLEEP模式喚醒引起的電源開啟;
 (3)通過設置 MISCCR[19:17]=000b,釋放 SDRAM 的信號保護;
 (4)配置 SDRAM 內存控制器;
 (5)等待,直到 SDRAM 自刷新被釋放,結束等待。大部分SDRAM需要等待所有 SDRAM 行的自刷新周期;
 (6)GSTATUS[3:4]的信息可用于保存用戶自定義數據,因為在 GSTATUS[3:4]中的值在睡眠模式下被保留;
 (7)對 EINT[3:0],檢查 SRCPND 寄存器;對EINT[15:4],查看 EINTPEND 寄存器而不是SRCPND寄存器。(盡管EINTPEND寄存器的一些位被置位,SRCPND 寄存器不會被置位)。
 以上是一個通用的休眠喚醒過程,在實際應用中,可根據不同情況使用不同的喚醒方式。例如,以休眠模式待機,在需要使用儀器時才喚醒系統(tǒng)的情況下,就需要一個諸如按鍵的外部中斷來喚醒系統(tǒng);而對于僅做一個保存掛起動作的情況,即刻自動喚醒系統(tǒng)則更為便捷。S3C2440就提供了兩種喚醒實現方式:外部中斷實現方式和RTC中斷實現方式。[!--empirenews.page--]
2  基于外部中斷的休眠喚醒
 正如之前提到的,在OALCPUPoweroff里,系統(tǒng)進入休眠前,正確設置外部喚醒中斷,才能夠喚醒CPU。正確設置喚醒中斷源,有3個要點:
 (1)把對應的GPIO設置為中斷功能;
 (2)明確外部中斷觸發(fā)條件,如將某種喚醒使用的中斷源所對應的IO接到一個按鍵上,需要通過按下按鍵實現喚醒,需要明確當按下這個按鍵時,IO接口上的電平會如何變化;
  (3)根據按鍵按下時IO電平的變化條件設置EXTINTn寄存器。當按下按鍵時,IO口上的電平會發(fā)生從高到低的變化,那么就設置對應的EXTINTn,使得中斷觸發(fā)條件為Falling edge triggered即下降沿觸發(fā)。
  通過如下代碼實現了通過按鍵K1、K2的外部中斷喚醒方式:
  ;  6. Setting Wakeup External Interrupt(EINT0,1,2) Mode
      ldr     r0, =vGPIOBASE
      ldr     r1, =0x5566//按鍵K1,K2(EINT0,EINT2)
      str     r1, [r0, #oGPFCON]
      ldr     r1, =0x82
      str     r1, [r0, #oEXTINT0]
 此段代碼,首先設置了外部中斷0和外部中斷2的中斷功能,接著設置了中斷的觸發(fā)方式:下降沿觸發(fā)方式。
 當Windows CE操作系統(tǒng)在基于S3C2440的智能巡檢分析診斷儀完全啟動后,按下“掛起”鍵,待屏幕顯示消失后,開始實驗。
 實驗一:按下按鍵K1,使系統(tǒng)立即重新啟動,重新進入Windows CE操作系統(tǒng);
 實驗二:按下按鍵K2,使系統(tǒng)立即重新啟動,重新進入Windows CE操作系統(tǒng);
    實驗結果表明:即按即啟,沒有延遲,達到了外部中斷-按鍵喚醒系統(tǒng)的理想效果。
3 基于RTC中斷的休眠喚醒
 S3C2440內部RTC模塊結構框圖如圖2所示。RTC模塊的有3種功能:產生時鐘滴答、實時計時和作為系統(tǒng)的觸發(fā)喚醒器[4]。RTC模塊可以在處理器的掉電模式或普通模式在設定時間(由BCD數據給出)和當前時間相同時發(fā)生報警。在普通模式下,ALM INT(報警中斷)處于激活狀態(tài)。在掉電模式下, PMWKUP (電源管理喚醒信號)與ALM INT一起處于報警狀態(tài)[5]。

   相關的寄存器有RTCCON、RTCALM和ALMSEC等,設置代碼如下:
   ldr r0,=vRTCBASE ;;;RTC alarm
   ldr r1,=0x01
   str r1,[r0,#oRTCCON]
   ldr r1,=0x41
   str r1,[r0,#oRTCALM]
   ldr r1,=0x10 ;;10s喚醒
   str r1,[r0,#oALMSEC]
 此段代碼,首先設置RTC控制的可用,然后設置RTC報警中斷中,秒中斷可用,因為本文以喚醒時間10 s為例,所以僅用到了秒級中斷,最后設定喚醒時間10 s。
   當Windows CE操作系統(tǒng)在基于S3C2440的智能巡檢分析診斷儀完全啟動后,按下“掛起”鍵,在“掛起”動作的實現代碼中設置串口打印語句,顯示“Start”標志,在系統(tǒng)被喚醒時設置串口打印語句,顯示“End”標志,通過DNW軟件,觀察串口打印信息,記錄“Start”和“End”之間的用時,即為喚醒時間,10次實驗結果可知平均用時10.04 s,與預計用時10.0 s的相對誤差為0.4%,在工程應用上,基本達到操作要求。
    研究過程后期,在確認相應設置正確的前提下,系統(tǒng)仍無法正常喚醒,在重新分析整個流程設計和代碼實現后,發(fā)現在S3C2440的官方BSP(板級支持包)中存在一個BUG:系統(tǒng)休眠時保存數據的虛擬地址設置錯誤,SLEEPDATA_BASE_VIRTUAL設置為0xAC028000,而此處和Bootloader中的SLEEPDATA_BASE_PHYSICAL 都設定為0x30028000。根據地址映射表里面的設置是:DCD 0x80000000, 0x30000000, 64; 32 MB DRAM BANK 6,因此虛擬地址是0xA0028000。將虛擬地址修改后,即可正常喚醒。
    本文通過深入分析休眠喚醒過程,在基于S3C2440和WindowsCE5.0的平臺上分別通過外部中斷喚醒和RTC中斷喚醒兩種方法實現了休眠喚醒。文中所述的原理和方法不僅適用于上述指定的硬件平臺,還適用于其他使用Windows CE嵌入式操作系統(tǒng)的硬件平臺。應用表明,這兩種方法實現了不同情況下的喚醒,達到了理想的效果,該儀器工作穩(wěn)定,性能良好,已進入小規(guī)模量產階段。
參考文獻
[1]  張煒,韓進.低功耗嵌入式系統(tǒng)的分析與應用[J].計算機系統(tǒng)應用,2009(11):109:113.
[2]  KATZ D,GENTILE R. 低功耗嵌入式實現的方方面面[J]. 電子產品世界,2009(1):63-66.
[3]  Samsung Electronics,Samsung 2440A datasheet,2004.
[4]  田澤.嵌入式開發(fā)與應用[M]. 北京:北京航空航天大學出版社,2004:22-24.
[5]  田澤,曹慶年,劉天時,等. 嵌入式處理器S3C2440  Windows CE的RTC模塊驅動設計與實現[J]. 計算機應用與軟件,2007(3):31-33.

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

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

關鍵字: AWS AN BSP 數字化

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

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

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

關鍵字: 通信 BSP 電信運營商 數字經濟

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

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

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

關鍵字: BSP 信息技術
關閉
關閉