基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法和裝置,關(guān)機(jī)過程包括以下步驟:MC13892電源管理芯片探測開關(guān)機(jī)鍵的按鍵事件并上報給主控制器;主控制器處理關(guān)機(jī)事件,并完成向Android系統(tǒng)層的上報工作;Android系統(tǒng)層進(jìn)行系統(tǒng)關(guān)機(jī)操作。所述裝置包括連接于Android系統(tǒng)設(shè)備主控制器的電源管理芯片MC13892、以及與該電源管理芯片MC13892的PWRON1管腳連接的開關(guān)機(jī)鍵。本發(fā)明不僅增加了系統(tǒng)可靠性和穩(wěn)定性,還節(jié)省了單獨為系統(tǒng)添加開關(guān)機(jī)鍵的硬軟件開支。
【專利說明】基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種開關(guān)機(jī)實現(xiàn)方法及裝置,尤其涉及一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法和裝置。
【背景技術(shù)】
[0002]Android系統(tǒng)作為一款功能強(qiáng)大的便攜式設(shè)備操作系統(tǒng)得到了國內(nèi)外廣大廠商和用戶的青睞,其功能在不斷的完善以滿足多領(lǐng)域多業(yè)務(wù)的需求,其中開關(guān)機(jī)鍵是一個Android系統(tǒng)設(shè)備必不可少的功能按鍵,即使在觸摸屏風(fēng)靡市場的今天,開關(guān)機(jī)鍵仍然是中流砥柱,地位絲毫不可動搖。目前多數(shù)Android系統(tǒng)設(shè)備的開關(guān)機(jī)鍵是通過外部擴(kuò)展硬件電路結(jié)合主控制器端的GPIO管腳來捕獲按鍵事件,這樣不僅浪費了硬件資源還占用了主控制器端寶貴的GPIO ()資源,其穩(wěn)定性和可靠性也要嚴(yán)格依賴外部集成度低的擴(kuò)展電路。
[0003]鑒于這種情況,本發(fā)明充分挖掘電源管理芯片的潛能,利用電源管理芯片能夠響應(yīng)開關(guān)機(jī)事件的能力,結(jié)合其驅(qū)動程序來實現(xiàn)整個Android系統(tǒng)的開關(guān)機(jī)功能,這樣既節(jié)省了硬件開支有增強(qiáng)了可靠性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是克服上述已有技術(shù)的不足,提供一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法和裝置。
[0005]一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法,關(guān)機(jī)過程包括以下步驟:
[0006]MC13892電源管理芯片探測開關(guān)機(jī)鍵的按鍵事件并上報給主控制器;
[0007]主控制器處理關(guān)機(jī)事件,并完成向Android系統(tǒng)層的上報工作;
[0008]Android系統(tǒng)層進(jìn)行系統(tǒng)關(guān)機(jī)操作。
[0009]一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)裝置,所述裝置包括:互相連接的主控制器和MC13892電源管理芯片、以及與該MC13892電源管理芯片的PWR0N1管腳連接的開關(guān)機(jī)鍵;
[0010]所述的MC13892電源管理芯片,用于探測開關(guān)機(jī)鍵的按鍵事件并上報給主控制器;
[0011]主控制器,用于處理關(guān)機(jī)事件,并完成向Android系統(tǒng)層的上報工作,以使得所述Android系統(tǒng)層控制進(jìn)行系統(tǒng)關(guān)機(jī)操作。
[0012]本發(fā)明充分利用MC13892電源管理芯片的潛能和Android系統(tǒng)框架層成熟的機(jī)制,在MC13892電源管理芯片驅(qū)動程序基礎(chǔ)上實現(xiàn)Android系統(tǒng)的開關(guān)機(jī)操作,不僅增加了系統(tǒng)可靠性和穩(wěn)定性,還節(jié)省了單獨為系統(tǒng)添加開關(guān)機(jī)鍵的硬軟件開支。
【專利附圖】
【附圖說明】
[0013]圖1是本發(fā)明實施例的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法的實現(xiàn)原理示意圖;
[0014]圖2是本發(fā)明實施例的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法中的按鍵關(guān)機(jī)的工作流程示意圖;
[0015]圖3是本發(fā)明實施例的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法中的按鍵開機(jī)流程示意圖;
[0016]圖4為本發(fā)明實施例提供的一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)裝置的具體結(jié)構(gòu)示意圖。
【具體實施方式】
[0017]本發(fā)明實施例的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法的實現(xiàn)原理示意圖如圖1所示,該方法利用MC13892電源管理芯片提供的中斷機(jī)制探測按鍵事件,然后驅(qū)動主控制器端的PIN為高電平來上報給主控制器,主控制器端驅(qū)動程序通過判斷事件類型回調(diào)關(guān)機(jī)事件處理函數(shù)完成關(guān)機(jī)事件向Android系統(tǒng)層的匯報工作,從而實現(xiàn)了 Android系統(tǒng)下的關(guān)機(jī)操作;當(dāng)Android系統(tǒng)處于關(guān)機(jī)狀態(tài)時,利用MC13892電源管理芯片提供的開機(jī)功能,通過驅(qū)動程序設(shè)置開機(jī)時間,完成Android系統(tǒng)下同一個按鍵實現(xiàn)開關(guān)機(jī)功能的目的。
[0018]Android的系統(tǒng)架構(gòu)采用了分層架構(gòu)的思想,從上層到底層共包括四層,分別是應(yīng)用程序程序?qū)?、?yīng)用框架層、系統(tǒng)庫和Android運(yùn)行時和Linux內(nèi)核。
[0019]每層功能簡要介紹如下:
[0020]應(yīng)用程序?qū)?該層提供一些核心應(yīng)用程序包,例如電子郵件、短信、日歷、地圖、瀏覽器和聯(lián)系人管理等。同時,開發(fā)者可以利用Java語言設(shè)計和編寫屬于自己的應(yīng)用程序,而這些程序與那些核心應(yīng)用程序彼此平等、友好共處。 [0021]應(yīng)用程序框架層:該層是Android應(yīng)用開發(fā)的基礎(chǔ),開發(fā)人員大部分情況是在和她打交道。應(yīng)用程序框架層包括活動管理器、窗口管理器、內(nèi)容提供者、視圖系統(tǒng)、包管理器、電話管理器、資源管理器、位置管理器、通知管理器和XMPP服務(wù)十個部分。在Android平臺上,開發(fā)人員可以完全訪問核心應(yīng)用程序所使用的API框架。并且,任何一個應(yīng)用程序都可以發(fā)布自身的功能模塊,而其他應(yīng)用程序則可以使用這些已發(fā)布的功能模塊?;谶@樣的重用機(jī)制,用戶就可以方便地替換平臺本身的各種應(yīng)用程序組件。
[0022]系統(tǒng)庫和Android運(yùn)行時:系統(tǒng)庫包括九個子系統(tǒng),分別是圖層管理、媒體庫、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL 和 libc。Android 運(yùn)行時包括核心庫和Dalvik虛擬機(jī),前者既兼容了大多數(shù)Java語言所需要調(diào)用的功能函數(shù),又包括了 Android的核心庫,比如Android, os > An droid.net、Android.media等等。后者是一種基于寄存器的Java虛擬機(jī),Dalvik虛擬機(jī)主要是完成對生命周期的管理、堆棧的管理、線程的管理、安全和異常的管理以及垃圾回收等重要功能。
[0023]Linux內(nèi)核:Android核心系統(tǒng)服務(wù)依賴于Linux2.6內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。Linux內(nèi)核也是作為硬件與軟件棧的抽象層。驅(qū)動:顯示驅(qū)動、攝像頭驅(qū)動、鍵盤驅(qū)動、WiFi驅(qū)動、Audio驅(qū)動、flash內(nèi)存驅(qū)動、Binder (IPC)驅(qū)動、
電源管理等。
[0024]在Android系統(tǒng)中,電源占有比較關(guān)鍵的地位。MC13892是可以供給1.MX51,?.ΜΧ37, 1.MX35和1.MX27內(nèi)核電壓的一款電源管理芯片,主要可以應(yīng)用于手持設(shè)備。
[0025]MC13892的主要特點包括:座充和USB充電的電池管理系統(tǒng);10位的ADC ;直接給內(nèi)核和Memory供電的轉(zhuǎn)換器(Buck Switcher) ;12路低壓穩(wěn)壓器;與1.Mx51內(nèi)核的接口 ;實時時鐘和晶振源;SPI/I2C接口 ;背光控制和三色的LED ;觸摸屏接口。
[0026]MC13892的系統(tǒng)各模塊包括:電池管理,ADC和觸摸屏接口、降壓轉(zhuǎn)換器(BuckSwitcher)、低壓穩(wěn)壓器(LD0 Regulator)、背光和三色LED、SPI和I2C接口、邏輯接口和時
鐘接口。
[0027]MC13892的系統(tǒng)包括以下的狀態(tài):0FF狀態(tài)、Cold Start狀態(tài)、WatchDog狀態(tài)、On狀態(tài)、User Off Wait 狀態(tài)、Memory Hold 狀態(tài)、User Off 狀態(tài)、Warm Start 狀態(tài)。
[0028]本發(fā)明實施例的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法中的按鍵開機(jī)的工作流程示意圖如圖3所示,包括如下的處理過程:當(dāng)開始的時候,MC13892處于供電的狀態(tài),且MC13892對CPU處于斷電狀態(tài),此時只是MC13892的核心電壓和時鐘模塊處于正常的工作狀態(tài),此時檢測電路會監(jiān)測Power 0N/0FF管教電壓變化狀況,當(dāng)電壓出現(xiàn)一個上升沿,上升沿會自動進(jìn)行30ms的消抖,此時會把他識別為一個開機(jī)事件,從而載入各個Regulator的默認(rèn)參數(shù),并按照默認(rèn)的順序依次啟動,間隔為2ms,避免大的涌入電流。
[0029]本發(fā)明實施例的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法中的按鍵關(guān)機(jī)的工作流程示意圖如圖2所示,包括如下的處理過程:
[0030]MC13892的系統(tǒng)關(guān)機(jī)過程是:Power 0N/0FF鍵也可以作為關(guān)機(jī)鍵,當(dāng)相應(yīng)的寄存器位為相關(guān)值時,4s鐘的按鍵可以使MC13892給CPU斷電,這里要注意在復(fù)位寄存器鐘相應(yīng)的值也要修改,防止在關(guān)機(jī)之后進(jìn)入重啟模式會導(dǎo)致系統(tǒng)在Is之后重新啟動。
[0031]本發(fā)明實施例提供的一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)裝置,的具體結(jié)構(gòu)示意圖如圖4所示,包括:互相連接的主控制器和MC13892電源管理芯片、以及與該MC13892電源管理芯片的PWR0N1管腳連接的開關(guān)機(jī)鍵;
[0032]所述的MC13892電源管理芯片,用于探測開關(guān)機(jī)鍵的按鍵事件并上報給主控制器;
[0033]主控制器,用于處理關(guān)機(jī)事件,并完成向Android系統(tǒng)層的上報工作,以使得所述Android系統(tǒng)層控制進(jìn)行系統(tǒng)關(guān)機(jī)操作。
[0034]所述的MC13892電源管理芯片,具體用于利用自身提供的中斷機(jī)制探測按鍵事件,并通過驅(qū)動主控制器端的PIN為高電平來將所述按鍵事件上報給主控制器。
[0035]所述的主控制器,具體用于利用驅(qū)動程序通過判斷事件類型回調(diào)關(guān)機(jī)事件處理函數(shù),并完成開關(guān)事件向Android系統(tǒng)層的上報工作。
[0036]所述的開關(guān)機(jī)鍵為一個標(biāo)準(zhǔn)按鍵輸入設(shè)備。利用驅(qū)動平臺的API接口注冊一個按鍵設(shè)備,然后按照標(biāo)準(zhǔn)輸入設(shè)備的驅(qū)動框架編寫開關(guān)機(jī)鍵驅(qū)動程序,將開關(guān)機(jī)鍵塑造成一個標(biāo)準(zhǔn)按鍵輸入設(shè)備。
[0037]所述的開關(guān)機(jī)鍵,具體用于當(dāng)Android系統(tǒng)處于關(guān)機(jī)狀態(tài)時,利用MC13892電源管理芯片提供的開機(jī)功能,通過驅(qū)動程序設(shè)置開機(jī)鍵響應(yīng)時間,完成開機(jī)功能。
[0038]本發(fā)明從硬件和軟件兩個方面來實現(xiàn),硬件上以freescale公司的MC13892電源管理芯片為核心,在MC13892的PWR0N1管腳處連接開關(guān)機(jī)鍵按鈕。
[0039]開關(guān)機(jī)鍵的軟件方面是由驅(qū)動程序和Android框架層兩部分組成的,其驅(qū)動程序嚴(yán)格依賴于MC13892電源管理芯片的驅(qū)動程序,首先利用驅(qū)動平臺的API接口注冊一個按鍵設(shè)備,然后按照標(biāo)準(zhǔn)輸入設(shè)備的驅(qū)動框架編寫開關(guān)機(jī)鍵驅(qū)動程序,將開關(guān)機(jī)鍵塑造成一個標(biāo)準(zhǔn)按鍵輸入設(shè)備,其鍵值設(shè)置為KEY_P0WER,調(diào)用MC13892電源管理芯片的驅(qū)動API注冊該按鍵事件及其中斷處理函數(shù),在中斷處理函數(shù)中完成開關(guān)機(jī)鍵鍵值向Android系統(tǒng)層的上報工作,Android系統(tǒng)層接收到關(guān)機(jī)標(biāo)準(zhǔn)輸入事件后進(jìn)行系統(tǒng)關(guān)機(jī)操作。Android系統(tǒng)關(guān)機(jī)操作底層驅(qū)動調(diào)用的是MC13892的關(guān)機(jī)驅(qū)動程序,MC13892完成關(guān)機(jī)后,如果接收到PWRONl產(chǎn)生的按鍵事件后可自動實現(xiàn)開機(jī)操作,這里的開機(jī)鍵響應(yīng)時間可以在MC13892驅(qū)動程序中進(jìn)行設(shè)置。這樣借助MC13892的驅(qū)動程序,就巧妙實現(xiàn)了 Android系統(tǒng)的開關(guān)機(jī)操作。
[0040]以上所述,僅為本發(fā)明較佳的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法,其特征在于,關(guān)機(jī)過程包括以下步驟: MC13892電源管理芯片探測開關(guān)機(jī)鍵的按鍵事件并上報給主控制器; 主控制器處理關(guān)機(jī)事件,并完成向Android系統(tǒng)層的上報工作; Android系統(tǒng)層進(jìn)行系統(tǒng)關(guān)機(jī)操作。
2.根據(jù)權(quán)利要求1所述的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法,其特征在于,所述的MC13892電源管理芯片探測開關(guān)機(jī)鍵的按鍵事件并上報給主控制器,包括: 利用MC13892電源管理芯片提供的中斷機(jī)制探測按鍵事件; 通過驅(qū)動主控制器端的PIN為高電平來上報給主控制器。
3.根據(jù)權(quán)利要求1所述的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法,其特征在于,所述的主控制器處理關(guān)機(jī)事件,并完成向Android系統(tǒng)層的上報工作,包括: 主控制器端驅(qū)動程序通過判斷事件類型回調(diào)關(guān)機(jī)事件處理函數(shù); 完成開關(guān)事件向Android系統(tǒng)層的上報工作。
4.根據(jù)權(quán)利要求1所述的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法,其特征在于,所述的MC13892電源管理芯片探測開關(guān)機(jī)鍵的按鍵事件并上報給主控制器之前,還包括:利用驅(qū)動平臺的API接口注冊一個按鍵設(shè)備,然后按照標(biāo)準(zhǔn)輸入設(shè)備的驅(qū)動框架編寫開關(guān)機(jī)鍵驅(qū)動程序,將開關(guān)機(jī)鍵塑造成一個標(biāo)準(zhǔn)按鍵輸入設(shè)備。
5.根據(jù)權(quán)利要求1所述的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)方法,其特征在于,所述的方法還包括開機(jī)過程,該開機(jī)過程包括:當(dāng)Android系統(tǒng)處于關(guān)機(jī)狀態(tài)時,利用MC13892電源管理芯片提供的開機(jī)功能,通過驅(qū)動程序設(shè)置開機(jī)鍵響應(yīng)時間,完成開機(jī)功能。
6.一種基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)裝置,其特征在于,所述裝置包括:互相連接的主控制器和MC13892電源管理芯片、以及與該MC13892電源管理芯片的PWRONl管腳連接的開關(guān)機(jī)鍵; 所述的MC13892電源管理芯片,用于探測開關(guān)機(jī)鍵的按鍵事件并上報給主控制器; 主控制器,用于處理關(guān)機(jī)事件,并完成向Android系統(tǒng)層的上報工作,以使得所述Android系統(tǒng)層控制進(jìn)行系統(tǒng)關(guān)機(jī)操作。
7.根據(jù)權(quán)利要求6所述的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)裝置,其特征在于: 所述的MC13892電源管理芯片,具體用于利用自身提供的中斷機(jī)制探測按鍵事件,并通過驅(qū)動主控制器端的PIN為高電平來將所述按鍵事件上報給主控制器。
8.根據(jù)權(quán)利要求6所述的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)裝置,其特征在于: 所述的主控制器,具體用于利用驅(qū)動程序通過判斷事件類型回調(diào)關(guān)機(jī)事件處理函數(shù),并完成開關(guān)事件向Android系統(tǒng)層的上報工作。
9.根據(jù)權(quán)利要求6所述的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)裝置,其特征在于,所述的開關(guān)機(jī)鍵為一個標(biāo)準(zhǔn)按鍵輸入設(shè)備。
10.根據(jù)權(quán)利要求6所述的基于Android系統(tǒng)的開關(guān)機(jī)實現(xiàn)裝置,其特征在于: 所述的開關(guān)機(jī)鍵,具體用于當(dāng)Android系統(tǒng)處于關(guān)機(jī)狀態(tài)時,利用MC13892電源管理芯片提供的開機(jī)功能,通過驅(qū)動程序設(shè)置開機(jī)鍵響應(yīng)時間,完成開機(jī)功能。
【文檔編號】G06F1/26GK103901989SQ201210568794
【公開日】2014年7月2日 申請日期:2012年12月24日 優(yōu)先權(quán)日:2012年12月24日
【發(fā)明者】展中華, 高碩 , 王德滿, 郭世奎, 楊彥青, 陳皓, 陳懿 申請人:航天信息股份有限公司