喚醒主mcu微控制單元的電路、方法及裝置的制造方法
【技術領域】
[0001]本公開涉及設備領域,尤其涉及喚醒主MCU微控制單元的電路、方法及裝置。
【背景技術】
[0002]在嵌入式系統軟件開發的過程中,開發者為了盡可能的降低設備功耗、節約能源,會讓系統在空閑時進入低功耗模式,這時微控制單元(Microcontroller Unit,MCU)芯片將進入睡眠或者深度睡眠狀態。在深度睡眠狀態下,一般MCU的外設(如串行外設接口 SP1、通用異步收發傳輸UART、模/數AD轉換單元)將無法正常工作,只有外部中斷和定時器中斷可以喚醒MCU,此時其它芯片通過串口等方式無法和設備MCU進行正常通信。
[0003]在另一場景中,為了盡可能的降低智能設備的功耗,有效利用能源,智能設備系統在空閑時會進入低功耗模式。可以選擇讓MCU進入淺睡眠(sleep)或者深度睡眠(standby備用/hibrnate冬眠)。當MCU進入到深度睡眠模式時,主時鐘將停止工作,一些內部外設(例如包括UART單元、SPI單元、內部集成電路總線I2C單元、A/D單元、脈寬調制PWM單元等)如果依賴于主MCU時鐘的話,也將無法工作。這樣,主MCU將無法及時接收其它芯片通過UART單元、SPI單元、I2C單元等發送給它的數據。
【發明內容】
[0004]為克服相關技術中存在的問題,本公開實施例提供喚醒主MCU的電路、方法和裝置,使得設備的主MCU進入深度睡眠后能夠及時醒來收發數據。
[0005]根據本公開實施例的第一方面,提供一種喚醒主MCU的電路,所述電路包括:
[0006]主微控制單元MCU、外設接口芯片、以及外設處理芯片;
[0007]所述外設處理芯片通過所述外設接口芯片與所述主MCU連接;
[0008]所述主MCU的時鐘線接入主時鐘信號;所述外設處理芯片的時鐘線與所述外設接口芯片的時鐘線分別接入從時鐘信號,使得當所述主MCU進入深度睡眠狀態時,所述外設處理芯片與所述外設接口芯片保持正常工作狀態;
[0009]所述外設接口芯片,用于監測所述外設處理芯片給所述外設接口芯片發送的數據的數據量,當所述數據量超過閾值后,所述外設接口芯片給所述主MCU發送喚醒信號。
[0010]在一實施例中,所述外設接口芯片給所述主MCU發送喚醒信號,包括:
[0011 ] 所述外設接口芯片以給所述主MCU發送中斷信號的方式發送喚醒信號。
[0012]所述外設處理芯片與所述外設接口芯片保持正常工作狀態,包括:
[0013]所述外設處理芯片與所述外設接口芯片之間通過存儲器直接訪問DMA的方式進行數據傳輸。
[0014]所述外設接口芯片為通用異步收發傳輸UART單元、串行外設接口 SPI單元、內部集成電路總線I2C單元、或藍牙單元;
[0015]所述外設處理芯片為模/數A/D單元、脈寬調制PWM單元、視頻處理單元、或音頻處理單元。
[0016]本公開還提供一種喚醒主MCU的方法,應用于包括主MCU、外設接口芯片、以及外設處理芯片的設備,其特征在于,所述方法包括:
[0017]將主微控制單元MCU配置為深度睡眠狀態,將所述外設處理芯片與所述外設接口芯片配置為正常工作狀態;
[0018]監測所述外設處理芯片給所述外設接口芯片發送的數據的數據量;
[0019]當所述數據量超過閾值后,給所述主MCU發送喚醒信號。
[0020]在一實施例中,所述給所述主MCU發送喚醒信號,包括:
[0021]以給所述主MCU發送中斷信號的方式發送喚醒信號。
[0022]在一實施例中,所述將主MCU配置為深度睡眠狀態,將所述外設處理芯片與所述外設接口芯片配置為正常工作狀態,包括:
[0023]將所述主MCU的時鐘線接入主時鐘信號;
[0024]將所述外設處理芯片的時鐘線與所述外設接口芯片的時鐘線分別接入從時鐘信號;
[0025]通過控制所述主時鐘信號和所述從時鐘信號,將主MCU配置為深度睡眠狀態,將所述外設處理芯片與所述外設接口芯片配置為正常工作狀態。
[0026]在一實施例中,所述將所述外設處理芯片與所述外設接口芯片配置為正常工作狀態,包括:
[0027]將所述外設處理芯片與所述外設接口芯片之間配置為通過存儲器直接訪問DMA的方式進行數據傳輸。
[0028]在一實施例中,所述外設接口芯片為通用異步收發傳輸UART單元、串行外設接口SPI單元、內部集成電路總線I2C單元、或藍牙單元;
[0029]所述外設處理芯片為模/數A/D單元、PWM脈寬調制單元、視頻處理單元、或音頻處理單元。
[0030]本公開還提供一種喚醒主MCU的裝置,應用于包括主MCU、外設接口芯片、以及外設處理芯片的設備,所述裝置包括:
[0031]配置模塊,用于將主微控制單元MCU配置為深度睡眠狀態,將所述外設處理芯片與所述外設接口芯片配置為正常工作狀態;
[0032]監測模塊,用于監測所述外設處理芯片給所述外設接口芯片發送的數據的數據量;
[0033]發送模塊,用于當所述數據量超過閾值后,給所述主MCU發送喚醒信號。
[0034]在一實施例中,所述發送模塊用于:以給所述主MCU發送中斷信號的方式發送喚醒信號。
[0035]在一實施例中,所述配置模塊,包括:
[0036]第一連接子模塊,用于將所述主MCU的時鐘線接入主時鐘信號;
[0037]第二連接子模塊,用于將所述外設處理芯片的時鐘線與所述外設接口芯片的時鐘線分別接入從時鐘信號;
[0038]控制子模塊,用于通過控制所述主時鐘信號和所述從時鐘信號,將主MCU配置為深度睡眠狀態,將所述外設處理芯片與所述外設接口芯片配置為正常工作狀態。
[0039]在一實施例中,所述配置模塊用于,將所述外設處理芯片與所述外設接口芯片之間配置為通過存儲器直接訪問DMA的方式進行數據傳輸。
[0040]在一實施例中,所述外設接口芯片為通用異步收發傳輸UART單元、串行外設接口SPI單元、內部集成電路總線I2C單元、或藍牙單元;
[0041]所述外設處理芯片為模/數A/D單元、PWM脈寬調制單元、視頻處理單元、或音頻處理單元。
[0042]本公開還提供一種喚醒主MCU的裝置,包括:
[0043]處理器;
[0044]用于存儲處理器可執行指令的存儲器;
[0045]其中,所述處理器被配置為:
[0046]將主微控制單元MCU配置為深度睡眠狀態,將所述外設處理芯片與所述外設接口芯片配置為正常工作狀態;
[0047]監測所述外設處理芯片給所述外設接口芯片發送的數據的數據量;
[0048]當所述數據量超過閾值后,給所述主MCU發送喚醒信號。
[0049]本公開的實施例提供的技術方案可以包括以下有益效果:
[0050]上述實施例中,主MCU的時鐘線接入主時鐘信號;所述外設處理芯片的時鐘線與所述外設接口芯片的時鐘線分別接入從時鐘信號,主MCU、外設處理芯片和外設接口芯片的時鐘線接入不同時鐘信號,因此,當主MCU進入深度睡眠狀態時,外設處理芯片與外設接口芯片可以保持正常工作狀態;這樣,當外設處理芯片給外設接口芯片發送的數據的數據量超過閾值后,外設接口芯片給主MCU發送喚醒信號,使得主MCU被喚醒后,進行數據的收發和處理。采用這種方式,可以使得設備的主MCU進入深度睡眠后能夠及時醒來對數據進行收發和處理。
[0051]應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。
【附圖說明】
[0052]此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發明的實施例,并與說明書一起用于解釋本發明的原理。
[0053]圖1是根據一示例性實施例示出的喚醒主MCU的電路的示意圖。
[0054]圖2是根據一示例性實施例一示出的喚醒主MCU的方法的流程圖。
[0055]圖3是根據一示例性實施例一示出的喚醒主MCU的方法中步驟S201的流程圖