Usb總線狀態(tài)切換方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種USB總線狀態(tài)切換方法及裝置。
【背景技術(shù)】
[0002]隨著智能終端的普及,智能終端與人們生活的關(guān)系越來越緊密,現(xiàn)由有的智能終端,由于其功能的不斷增強(qiáng),功耗也不斷增加,因此,業(yè)界亟待解決的一個(gè)問題就是如何降低智能終端的功耗。
[0003]例如,對(duì)于安卓(Android)操作系統(tǒng)的智能終端,該終端中設(shè)置有應(yīng)用處理器(Applicat1n processor,簡稱:AP)和調(diào)制解調(diào)器(modem),其中,應(yīng)用處理器是在低功耗CPU的基礎(chǔ)上擴(kuò)展音視頻功能和專用接口的超大規(guī)模集成電路,其用于處理與各種應(yīng)用相關(guān)的進(jìn)程?,F(xiàn)有的AP和調(diào)制解調(diào)器之間的連接關(guān)系通常有兩種:片上系統(tǒng)(System onChip,簡稱:SoC)內(nèi)部總線連接和芯片外部總線連接。前者是將AP和調(diào)制解調(diào)器固化在同一芯片內(nèi);后者則是AP和調(diào)制解調(diào)器分別是不同的芯片,他們之間通過一些標(biāo)準(zhǔn)的高速外部總線進(jìn)行連接,如通用串行總線(Universal Serial Bus,簡稱:USB)、SD輸入輸出接口(Secure Digital Input Output,簡稱:SD10)、1394、mini 第三代 1/0總線技術(shù)(PeripheralComponent Interconnect1n Express,簡稱:PCIe)等,其中 USB 的應(yīng)用最為廣泛。目前Android下USB接口的功耗管理還主要是使用原有的系統(tǒng)整體總線掛起(system suspend)和運(yùn)行時(shí)總線掛起(run-time suspend)相結(jié)合的方式,這種方式是將USB總線的狀態(tài)在工作態(tài)(Active)和空閑態(tài)(Idle)之間進(jìn)行切換,減少不必要的總線上的數(shù)據(jù)傳輸,從而把USB物理層(PHY)的收發(fā)器(transceiver)的功耗降低。
[0004]但是,現(xiàn)有方案只是利用USB總線的暫停(suspend)、重啟(resume)和遠(yuǎn)程喚醒(remote wakeup)這些操作來控制總線上的行為,并沒有觸及USB PHY和控制器(Controller)的內(nèi)部邏輯,其中大部分邏輯可以在USB的空閑太時(shí)關(guān)斷,在USB恢復(fù)時(shí)恢復(fù)。
[0005]如果將USB PHY和控制器做關(guān)斷和恢復(fù)處理,由于此時(shí)PHY已經(jīng)關(guān)斷,那么就不能依靠USB總線本身,而且必然要經(jīng)過重新枚舉的過程,對(duì)調(diào)制解調(diào)器這種復(fù)合設(shè)備而言,這個(gè)過程是比較耗時(shí)的,經(jīng)測試大約500ms左右,這個(gè)大大延遲了系統(tǒng)從休眠到喚醒的時(shí)間,降低了系統(tǒng)的可靠性。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供一種USB總線狀態(tài)切換方法及裝置,用于降低從休眠到喚醒的時(shí)間,提聞了系統(tǒng)穩(wěn)定性。
[0007]本發(fā)明的第一個(gè)方面是提供一種USB總線狀態(tài)切換方法,包括:
[0008]當(dāng)處于系統(tǒng)整體總線掛起或空閑態(tài)超過第一時(shí)間閾值時(shí),則為USB的物理層PHY下電,將USB的控制器置為省電模式,并保留資源;
[0009]接收應(yīng)用處理器AP發(fā)送的第一喚醒指示,向調(diào)制解調(diào)器發(fā)送所述第一喚醒指示。
[0010]結(jié)合第一個(gè)方面,在第一種可能的實(shí)現(xiàn)方式中,還包括:
[0011]當(dāng)所述USB的PHY下電與所述USB的控制器置為省電模式的時(shí)長超過第二時(shí)間閾值時(shí),則釋放所述資源;
[0012]其中,所述第二時(shí)間閾值大于所述第一時(shí)間閾值。
[0013]結(jié)合第一個(gè)方面或第一個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述第一喚醒指示包含設(shè)置地址指示和設(shè)置配置指示。
[0014]本發(fā)明的第二個(gè)方面是提供一種USB總線狀態(tài)切換裝置,包括:
[0015]處理模塊,用于當(dāng)處于系統(tǒng)整體總線掛起或空閑態(tài)超過第一時(shí)間閾值時(shí),則為USB的物理層PHY下電,將USB的控制器置為省電模式,并保留資源;
[0016]接收模塊,用于接收應(yīng)用處理器AP發(fā)送的第一喚醒指示;
[0017]發(fā)送模塊,用于向所述調(diào)制解調(diào)器發(fā)送所述第一喚醒指示。
[0018]結(jié)合第二個(gè)方面,在第一種可能的實(shí)現(xiàn)方式中,所述處理模塊,還用于當(dāng)所述USB的PHY下電與所述USB的控制器置為省電模式的時(shí)長超過第二時(shí)間閾值時(shí),則釋放所述資源;
[0019]其中,所述第二時(shí)間閾值大于所述第一時(shí)間閾值。
[0020]結(jié)合第二個(gè)方面或第二個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述第一喚醒指示包含設(shè)置地址指示和設(shè)置配置指示。
[0021]本發(fā)明實(shí)施例提供的USB總線狀態(tài)切換方法及裝置,通過當(dāng)處于系統(tǒng)整體總線掛起或空閑態(tài)超過第一時(shí)間閾值時(shí),則為USB的物理層PHY下電,將USB的控制器Controller置為省電模式,并保留資源,再接收應(yīng)用處理器AP發(fā)送的第一喚醒指示,向調(diào)制解調(diào)器發(fā)送所述第一喚醒指示。實(shí)現(xiàn)了雖然對(duì)USB的物理層PHY下電,并且將USB的控制器置為省電模式,但當(dāng)AP通過USB總線喚醒調(diào)制解調(diào)器,或者,調(diào)制解調(diào)器通過USB總線喚醒AP時(shí),由于USB總線保留了用于喚醒的相關(guān)資源,從而避免了現(xiàn)有技術(shù)中重新枚舉的過程,從而大大提高了從休眠到喚醒的時(shí)間,提高了系統(tǒng)穩(wěn)定性。
【附圖說明】
[0022]圖1為本發(fā)明實(shí)施例提供的一種USB總線狀態(tài)切換方法的示意圖;
[0023]圖2為本發(fā)明實(shí)施例提供的另一種USB總線狀態(tài)切換方法的示意圖;
[0024]圖3為USB總線功耗對(duì)比示意圖;
[0025]圖4為USB喚醒時(shí)間對(duì)比示意圖;
[0026]圖5為本發(fā)明實(shí)施例提供的一種USB總線狀態(tài)切換裝置的結(jié)構(gòu)示意圖;
[0027]圖6為本發(fā)明實(shí)施例提供的USB總線狀態(tài)切換裝置內(nèi)部AP與調(diào)制解調(diào)器連接示意圖。
【具體實(shí)施方式】
[0028]本發(fā)明下述實(shí)施例將安卓(Android)系統(tǒng)下USB功耗狀態(tài)機(jī)定義為4個(gè):S0表示工作態(tài)(Busy) ;S1表示空閑態(tài)(Idle) ;S2表示運(yùn)行時(shí)間斷開態(tài)(run-time disconnect);S3表不斷開態(tài)(disconnect)。
[0029]現(xiàn)有技術(shù),當(dāng)USB在S1與SO之間進(jìn)行切換時(shí),只是利用USB總線的暫停(suspend)、重啟(resume)和遠(yuǎn)程喚醒(remote wakeup)這些行為來控制總線上的行為,并沒有觸及USB物理層(PHY)和控制器(Controller)的內(nèi)部邏輯,其中大部分邏輯可以在USB空閑時(shí)關(guān)斷,在USB恢復(fù)時(shí)恢復(fù)。如果將USB PHY和控制器(Controller)做關(guān)斷和恢復(fù)處理,那么就不能依靠USB總線本身,因?yàn)榇藭r(shí)PHY已經(jīng)關(guān)斷,而且必然要經(jīng)過重新枚舉的過程,對(duì)調(diào)制解調(diào)器(modem)這種復(fù)合設(shè)備而言,這個(gè)過程是比較耗時(shí)的,經(jīng)測試大約500ms左右,這個(gè)大大延遲了系統(tǒng)從休眠到喚醒的時(shí)間,降低了系統(tǒng)的可靠性。
[0030]因此,為了能夠降低USB總線更多功耗的同時(shí)保證最短的喚醒時(shí)間,本發(fā)明實(shí)施例增加了 S2狀態(tài),以通過S2與S0、S1、S3之間的轉(zhuǎn)換,來解決上述技術(shù)問題。具體的,參照下述實(shí)施例進(jìn)行說明。
[0031]圖1為本發(fā)明實(shí)施例提供的一種USB總線狀態(tài)切換方法的示意圖,該圖具體說明當(dāng)USB總線在何種情況下會(huì)切換至上文所述S2,并且在S2實(shí)現(xiàn)那些功能,參照?qǐng)D1,該方法包括如下步驟:
[0032]步驟100、當(dāng)處于系統(tǒng)整體總線掛起或空閑態(tài)超過第一時(shí)間閾值時(shí),則為USB的物理層PHY下電,將USB的控制器(Controller)置為省電模式,并保留資源;
[0033]具體的,保留的資源為與休眠到喚醒有關(guān)的資源。例如USB枚舉設(shè)備的信息、地址、配置信息等,這些資源都是USB枚舉過程中調(diào)制解調(diào)器上報(bào)給AP的,保留這些資源可以節(jié)省喚醒時(shí)間。
[0034]步驟101、接收應(yīng)用處理器AP發(fā)送的第一喚醒指示,向調(diào)制解調(diào)器(Modem)發(fā)送所述第一喚醒指示。
[0035]本發(fā)明實(shí)施例提供的USB總線狀態(tài)切換方法,通過當(dāng)處于系統(tǒng)整體總線掛起或空閑態(tài)超過第一時(shí)間閾值時(shí),則為USB的物理層P