一種i2c喚醒mcu電路及喚醒方法
【技術領域】
[0001]本發(fā)明屬于電能計量的技術領域,特別涉及一種電能潛動的計算方法及控制裝置。
【背景技術】
[0002]隨著電子技術的發(fā)展,電子產品的性能越來越強,耗電也隨之增加,而電池容量并沒有大幅提升,因此對電子產品的功耗控制能力要求也越來越高,深度睡眠模式的應用越來越多,如何有效的將設備喚醒成為一個問題。
[0003]對于存在一個主設備通過I2C通信口控制多個從設備的應用中,如圖1所示,當主設備發(fā)起通信時,所有從設備都可以接收,如果從設備采用邊沿喚醒或電平變化喚醒,則所有的從設備都會被喚醒,這時系統(tǒng)功耗大大增加。
[0004]例如,專利申請201410634643.1公開了一種終端設備的喚醒方法和裝置,其提供了一種終端設備的喚醒方法和裝置,所述終端設備包括第一地址信息,其中,所述方法包括:當所述終端設備處于待機模式時,接收數據包;判斷所述數據包是否為喚醒數據包;若所述數據包為喚醒數據包,則判斷所述第一地址信息與第二地址信息是否一致;所述喚醒數據包中包括第二地址信息;若所述第一地址信息與所述第二地址信息一致,則控制所述終端設備進入開機模式。本發(fā)明實施例用以在將終端設備從待機模式喚醒時,擺脫對遙控器的依賴。
[0005]所以,目前的喚醒模式亟需得到改進,以降低功耗。
【發(fā)明內容】
[0006]為解決上述問題,本發(fā)明的目的在于提供一種I2C喚醒MCU電路及喚醒方法,該電路通過I2C喚醒特定的從機的方式,可以有效避免一次通信中所有從機都被喚醒,從而降低系統(tǒng)功耗。
[0007]為實現上述目的,本發(fā)明的技術方案如下。
[0008]—種I2C喚醒MCU電路,其包括有I2C通信模塊,其特征在于該電路包括有I2C地址接收模塊、地址匹配電路、中斷控制模塊、時鐘門控模塊及MCU控制器,所述I2C通信模塊和I2C地址接收模塊通過I2C總線與主機保持通信,I2C地址接收模塊又連接于I2C通信模塊和地址匹配電路;當I2C地址接收模塊收到主機的地址后,將地址傳輸給地址匹配電路,將I2C接收的地址與MCU的I2C地址,地址匹配電路與MCU控制器之間還設置有中斷控制模塊,上述的地址匹配則產生中斷;中斷送到中斷控制模塊,然后喚醒MCU控制器,MCU控制器連接有時鐘門控模塊,時鐘門控模塊又接于I2C通信模塊;MCU被喚醒后,通過時鐘門控模塊打開時鐘,系統(tǒng)恢復正常工作,并清除地址匹配中斷,啟動I2C通信模塊開始進行I2C通信。
[0009]主機處于正常工作模式,從機MCU處于深度睡眠模式時,從機MCU控制器通過時鐘門控模塊將所有時鐘關閉,由于沒有時鐘I2C通信模塊不工作。
[0010]但是,此時I2C地址接收模塊不需要時鐘仍可以接收地址,通過對SCL(時鐘信號)、SDA (數據信號)信號判斷START條件,當SDA下降沿時,SCL為高電平,為起始條件,則表示通信開始,而當SDA上升沿時,SCL為高,為停止條件,則表示通信結束。
[0011]當接收到起始條件后,接下來開始接收地址,當接收地址完成后,I2C地址接收模塊將接收到的地址送到地址匹配電路。地址匹配電路將I2C接收的地址與MCU的I2C地址進行比較,地址匹配則產生中斷,否則不產生中斷。
[0012]地址匹配電路產生的中斷送到中斷控制模塊,然后喚醒MCU控制器。MCU控制器被喚醒后,通過時鐘門控模塊打開時鐘,系統(tǒng)恢復正常工作,并清除地址匹配中斷,開始進行I2C通信。
[0013]在正常工作模式下,可以將從機的I2C地址接收模塊關閉,在進入深度睡眠模式前,將從機的I2C地址接收模塊打開。
[0014]因此,對于該12C喚醒MCU電路,其實現的喚醒方法包括下述步驟:
[0015]101、接收地址,I2C地址接收模塊接收主機發(fā)來的地址;
[0016]102、地址匹配,I2C地址接收模塊將接收到的地址送到地址匹配電路,地址匹配電路將I2C接收的地址與MCU控制器的I2C地址進行比較;
[0017]103、產生中斷,所述I2C地址接收模塊將接收到的地址與MCU控制器的I2C地址匹配則產生中斷,否則不產生中斷;
[0018]104、喚醒MUC,中斷送到中斷控制模塊,然后喚醒MCU控制器;
[0019]105、恢復工作,MCU控制器過時鐘門控模塊打開時鐘,系統(tǒng)恢復正常工作,并清除地址匹配中斷,啟動I2C通信模塊開始進行I2C通信。
[0020]所述101步驟中,I2C地址接收模塊對SCL(時鐘信號)信號、SDA(數據信號)信號進行判斷,判斷是否達到起始條件。
[0021]進一步,當SDA下降沿時,SCL為高電平,為起始條件,則表示通信開始,而當SDA上升沿時,SCL為高,為停止條件,則表示通信結束。
[0022]這樣,本發(fā)明通過對主機的地址接收,來喚醒從機,能夠準確判斷并喚醒相應的從機,而不會引起誤喚醒,有效地提供了喚醒效率,大大降低系統(tǒng)能耗。
【附圖說明】
[0023]圖1是現有技術所實施的結構示意圖。
[0024]圖2是本發(fā)明所實施的結構示意圖。
[0025]圖3是本發(fā)明所實施的I2C喚醒判斷示意圖。
[0026]圖4是本發(fā)明所實施的接收數據的示意圖。
[0027]圖5是本發(fā)明所實施的喚醒流程圖。
【具體實施方式】
[0028]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0029]請參照圖2所示,本發(fā)明所實施的一種I2C喚醒MCU電路,其包括有I2C通信模塊、12C地址接收模塊、地址匹配電路、中斷控制模塊、時鐘門控模塊及MCU控制器,所述12C通信模塊和I2C地址接收模塊通過I2C總線與主機保持通信,I2C地址接收模塊又連接于I2C通信模塊和地址匹配電路;當I2C地址接收模塊收到主機的地址后,將地址傳輸給地址匹配電路,將I2C接收的地址與MC