喚醒mcu的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)涉及智能設(shè)備技術(shù)領(lǐng)域,特別涉及一種喚醒MCU的方法及裝置。
【背景技術(shù)】
[0002]隨著智能設(shè)備的發(fā)展,對(duì)智能設(shè)備的功耗控制越來(lái)越嚴(yán)格。因此,為了降低智能設(shè)備的功耗,需要在空閑時(shí)控制MCU (Microcontroller Unit,微控制單元)進(jìn)入深度睡眠狀
??τ O
[0003]當(dāng)有業(yè)務(wù)邏輯需要執(zhí)行時(shí),系統(tǒng)會(huì)通過(guò)MCU中的指定引腳向MCU發(fā)出中斷喚醒信號(hào)來(lái)喚醒MCU。當(dāng)智能設(shè)備當(dāng)中存在有多個(gè)MCU協(xié)同工作時(shí),一旦某一個(gè)MCU進(jìn)入了深度睡眠狀態(tài),其他MCU則無(wú)法與其進(jìn)行通信,只能等待該MCU被喚醒后才能進(jìn)行通信操作。
【發(fā)明內(nèi)容】
[0004]為了解決相關(guān)技術(shù)的問(wèn)題,本公開(kāi)實(shí)施例提供了一種喚醒MCU的方法及裝置。所述技術(shù)方案如下:
[0005]根據(jù)本公開(kāi)實(shí)施例的第一方面,提供一種喚醒MCU的方法,包括:
[0006]當(dāng)?shù)谝晃⒖刂茊卧狹CU觸發(fā)了向第二MCU傳輸數(shù)據(jù)的通信事件時(shí),確定所述第二MCU是否處于深度睡眠狀態(tài);
[0007]如果所述第二 MCU處于深度睡眠狀態(tài),則通過(guò)所述第一 MCU與所述第二 MCU之間連接的喚醒引腳,向所述第二 MCU發(fā)送中斷喚醒信號(hào)喚醒所述第二 MCU。
[0008]可選的,所述確定所述第二 MCU是否處于深度睡眠狀態(tài),包括:
[0009]檢測(cè)預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù),所述預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù)為根據(jù)所述第二 MCU發(fā)送的狀態(tài)更新消息確定;
[0010]如果預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù)為深度睡眠狀態(tài),則確定所述第二 MCU處于深度睡眠狀態(tài)。
[0011]可選的,所述確定所述第二 MCU是否處于深度睡眠狀態(tài),包括:
[0012]通過(guò)所述第一 MCU與所述第二 MCU之間的通信接口,向所述第二 MCU發(fā)送探測(cè)消息;
[0013]如果在預(yù)設(shè)時(shí)間內(nèi)未接收到所述第二 MCU返回的響應(yīng)消息,則確定所述第二 MCU處于深度睡眠狀態(tài)。
[0014]可選的,所述向所述第二 MCU發(fā)送中斷喚醒信號(hào)喚醒所述第二 MCU之后,所述方法還包括:
[0015]接收所述第二 MCU發(fā)送的狀態(tài)更新消息,所述狀態(tài)更新消息中攜帶的狀態(tài)參數(shù)為工作狀態(tài);
[0016]根據(jù)所述狀態(tài)更新消息確定所述第二 MCU被喚醒,并通過(guò)所述第一 MCU與所述第二 MCU之間的通信接口向所述第二 MCU傳輸數(shù)據(jù)。
[0017]可選的,所述接收所述第二 MCU發(fā)送的狀態(tài)更新消息之后,所述方法還包括:
[0018]根據(jù)所述狀態(tài)更新消息中攜帶的狀態(tài)參數(shù),更新預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù)。
[0019]根據(jù)本公開(kāi)實(shí)施例的第二方面,提供一種喚醒MCU的裝置,包括:
[0020]確定模塊,用于當(dāng)?shù)谝?MCU觸發(fā)了向第二 MCU傳輸數(shù)據(jù)的通信事件時(shí),確定所述第二 MCU是否處于深度睡眠狀態(tài);
[0021]喚醒模塊,用于在所述第二 MCU處于深度睡眠狀態(tài)時(shí),通過(guò)所述第一 MCU與所述第二 MCU之間連接的喚醒引腳,向所述第二 MCU發(fā)送中斷喚醒信號(hào)喚醒所述第二 MCU。
[0022]可選的,所述確定模塊,包括:
[0023]檢測(cè)單元,用于檢測(cè)預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù),所述預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù)為根據(jù)所述第二 MCU發(fā)送的狀態(tài)更新消息確定;
[0024]第一確定單元,用于在預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù)為深度睡眠狀態(tài)時(shí),確定所述第二 MCU處于深度睡眠狀態(tài)。
[0025]可選的,所述確定模塊,包括:
[0026]發(fā)送單元,用于通過(guò)所述第一 MCU與所述第二 MCU之間的通信接口,向所述第二MCU發(fā)送探測(cè)消息;
[0027]第二確定單元,用于在預(yù)設(shè)時(shí)間內(nèi)未接收到所述第二 MCU返回的響應(yīng)消息時(shí),確定所述第二 MCU處于深度睡眠狀態(tài)。
[0028]可選的,所述裝置還包括:
[0029]接收模塊,用于接收所述第二 MCU發(fā)送的狀態(tài)更新消息,所述狀態(tài)更新消息中攜帶的狀態(tài)參數(shù)為工作狀態(tài);
[0030]傳輸模塊,用于根據(jù)所述狀態(tài)更新消息確定所述第二 MCU被喚醒,并通過(guò)所述第一MCU與所述第二 MCU之間的通信接口向所述第二 MCU傳輸數(shù)據(jù)。
[0031]可選的,所述裝置還包括:
[0032]更新模塊,用于根據(jù)所述狀態(tài)更新消息中攜帶的狀態(tài)參數(shù),更新預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù)。
[0033]根據(jù)本公開(kāi)實(shí)施例的第三方面,提供一種喚醒MCU的裝置,包括:
[0034]處理器;
[0035]用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
[0036]其中,所述處理器被配置為:
[0037]當(dāng)?shù)谝晃⒖刂茊卧狹CU觸發(fā)了向第二MCU傳輸數(shù)據(jù)的通信事件時(shí),確定所述第二MCU是否處于深度睡眠狀態(tài);
[0038]如果所述第二 MCU處于深度睡眠狀態(tài),則通過(guò)所述第一 MCU與所述第二 MCU之間連接的喚醒引腳,向所述第二 MCU發(fā)送中斷喚醒信號(hào)喚醒所述第二 MCU。
[0039]本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0040]通過(guò)第一 MCU與第二 MCU之間連接的喚醒引腳,向第二 MCU發(fā)送中斷喚醒信號(hào)。實(shí)現(xiàn)了通過(guò)深度睡眠狀態(tài)的MCU以外的MCU觸發(fā)的外部中斷事件來(lái)喚醒處于深度睡眠狀態(tài)MCU,無(wú)需等待MCU被內(nèi)部中斷事件喚醒就可以進(jìn)行通信,提高了 MCU之間通信的效率。
【附圖說(shuō)明】
[0041]此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本公開(kāi)的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本公開(kāi)的原理。
[0042]圖1是根據(jù)一示例性實(shí)施例示出的一種喚醒MCU的方法的流程圖;
[0043]圖2是根據(jù)一示例性實(shí)施例示出的一種喚醒MCU的方法的流程圖;
[0044]圖3是根據(jù)一示例性實(shí)施例示出的一種喚醒MCU的方法的流程圖;
[0045]圖4是根據(jù)一示例性實(shí)施例示出的一種喚醒MCU的方法的流程圖;
[0046]圖5是根據(jù)一示例性實(shí)施例示出的一種喚醒MCU的裝置的框圖;
[0047]圖6是根據(jù)一示例性實(shí)施例示出的一種喚醒MCU的裝置中確定模塊的框圖;
[0048]圖7是根據(jù)一示例性實(shí)施例示出的一種喚醒MCU的裝置的框圖(智能設(shè)備的一般結(jié)構(gòu))。
【具體實(shí)施方式】
[0049]為使本公開(kāi)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本公開(kāi)實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0050]本公開(kāi)一示例性實(shí)施例提供了一種喚醒MCU的方法,本方法實(shí)施例應(yīng)用于智能設(shè)備中,參見(jiàn)圖1,方法流程包括:
[0051]在步驟101中,當(dāng)?shù)谝?MCU觸發(fā)了向第二 MCU傳輸數(shù)據(jù)的通信事件時(shí),確定所述第二 MCU是否處于深度睡眠狀態(tài);
[0052]在步驟102中,如果所述第二 MCU處于深度睡眠狀態(tài),則通過(guò)所述第一 MCU與所述第二 MCU之間連接的喚醒引腳,向所述第二 MCU發(fā)送中斷喚醒信號(hào)喚醒所述第二 MCU。
[0053]可選的,確定所述第二 MCU是否處于深度睡眠狀態(tài),包括:
[0054]檢測(cè)預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù),所述預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù)為根據(jù)所述第二 MCU發(fā)送的狀態(tài)更新消息確定;
[0055]如果預(yù)先存儲(chǔ)的所述第二 MCU的狀態(tài)參數(shù)為深度睡眠狀態(tài),則確定所述第二 MCU處于深度睡眠狀態(tài)。
[0056]可選的,確定所述第二 MCU是否處于深度睡眠狀態(tài),包括:
[0057]通過(guò)所述第一 MCU與所述第二 MCU之間的通信接口,向所述第二 MCU發(fā)送探測(cè)消息;