本發明涉及集成電路領域,具體地涉及一種數模集成電路及其控制方法。
背景技術:
近些年來,數模集成電路在電子產品中的應用越來越廣泛,在數模集成電路中的數字模塊和模擬模塊之間進行信息交互的過程中,一般由模擬模塊中的晶體諧振器為數字模塊提供時鐘信號,由數字模塊通過總線協議配置寄存器,并由寄存器為模擬模塊提供控制信號以實現對模擬模塊的功能控制。對于數字模塊而言,其需要模擬模塊提供的時鐘信號以完成初始化和一部分數字工作,然而用于提供時鐘信號的晶體諧振器需要從數字模塊獲得開啟信號才能開始工作。現有技術中,為使數字模塊在完成復位操作后便能進入初始化狀態,模擬模塊中的晶體諧振器常默認為打開狀態,直至通過軟件配置對晶體諧振器進行關閉,或者模擬模塊中的晶體諧振器一直處于打開狀態,這大大增加了數模集成電路的功耗,且軟件配置關閉晶振的時刻取決于系統調度和軟硬件交互等不可測因素,這降低了數模集成電路應用上的可靠性和簡潔性。
技術實現要素:
本發明的目的在于提供一種可實現時鐘自開啟的數模集成電路及其控制方法。
根據本發明的第一方面,提供一種數模集成電路,包括:時鐘模塊,用于產生時鐘信號;數字模塊,用于根據所述時鐘信號進行初始化和部分工作,并產生初始化完成信號、工作完成信號和控制信號;以及啟動模塊,用于根據所述初始化完成信號、所述工作完成信號、所述控制信號以及復位信號為所述時鐘模塊提供啟動信號,并用于在所述數字模塊完成初始化和部分工作前控制所述時鐘信號;以及軟件單元,用于在所述數字模塊完成初始化和部分工作后控制所述時鐘信號。
優選地,所述啟動模塊包括:第一邏輯單元,所述第一邏輯單元的第一輸入端接收所述初始化完成信號,所述第一邏輯單元的第二輸入端接收所述工作完成信號;第二邏輯單元,所述第二邏輯單元的第一輸入端連接至所述第一邏輯單元的輸出端,所述第二邏輯單元的第二輸入端接收所述控制信號;以及第三邏輯單元,所述第三邏輯單元的第一輸入端接收所述復位信號,所述第三邏輯單元的第二輸入端連接至所述第二邏輯單元的輸出端,所述第三邏輯單元的輸出端產生所述啟動信號。
優選地,所述第一邏輯單元為與非門,所述第二邏輯單元為或門,所述第三邏輯單元為與門。
優選地,所述數字模塊還包括寄存器,所述寄存器用于在所述軟件單元的控制下產生所述控制信號,初始狀態時,所述控制信號為低電平。
優選地,所述時鐘模塊包括晶體諧振器。
優選地,所述數字模塊的初始化完成時,所述初始化完成信號由低電平變為高電平;所述數字模塊的部分工作完成時,所述工作完成信號由低電平變為高電平。
優選地,所述復位信號低電平有效。
根據本發明的第二方面,提供一種數模集成電路的控制方法,包括:產生時鐘信號;根據所述時鐘信號進行數字模塊的初始化和部分工作,并產生初始化完成信號、工作完成信號和控制信號;根據所述初始化完成信號、所述工作完成信號、所述控制信號以及復位信號產生啟動信號,并在所述數字模塊完成初始化和部分工作前通過啟動模塊控制所述時鐘信號;以及在所述數字模塊完成初始化和部分工作后通過軟件單元控制所述時鐘信號。
本發明的有益效果為:
相對于現有技術,本發明實施例的數模集成電路及其控制方法可在復位信號釋放后通過將時鐘控制權交給硬件實現時鐘模塊的自開啟,并在數字模塊完成初始化和部分工作時實現時鐘模塊的自關閉,此后又將時鐘的控制權交還軟件,降低了電路的功耗,減少了軟硬件的交互,在保證軟件使用靈活性的前提下提升了系統的可靠性與簡潔性。
附圖說明
圖1示出本發明第一實施例的數模集成電路的結構圖。
圖2對應為圖1示出的數模集成電路的時序圖。
圖3示出本發明第二實施例的數模集成電路的控制方法的流程圖。
具體實施方式
以下公開為實施本申請的不同特征提供了許多不同的實施方式或實例。下面描述了部件或者布置的具體實施例以簡化本發明。當然,這些僅僅是實例并不旨在限制本發明。
圖1示出本發明第一實施例的數模集成電路的結構圖。
如圖1所示,本發明第一實施例的數模集成電路100包括數字模塊110、啟動模塊120、時鐘模塊133以及軟件單元(圖中未示出),其中,數字模塊110包括寄存器111,時鐘模塊130例如為晶體諧振器。
數字模塊110為啟動模塊120提供初始化完成信號init_done、工作完成信號work_done以及控制信號ctrl,其中,控制信號ctrl由數字模塊110中的寄存器111提供,寄存器111接受軟件單元的控制。初始狀態時,寄存器111在軟件單元的控制下產生的控制信號ctrl默認為低電平,當該數字模塊110完成初始化時,初始化完成信號init_done由低電平變為高電平,該數字模塊110完成初期需要時鐘信號參與的工作時,工作完成信號work_done由低電平變為高電平。
啟動模塊120包括與非門nand、或門or以及與門and,與非門nand的第一輸入端接收初始化完成信號init_done,與非門nand的第二輸入端接收工作完成信號work_done;或門or的第一輸入端連接至與非門nand的輸出端,或門or的第二輸入端接收控制信號ctrl;與門and的第一輸入端接收復位信號reset,與門and的第二輸入端連接至或門or的輸出端,與門and的輸出端產生啟動信號en,其中,復位信號reset低電平有效。
時鐘模塊130接收啟動信號en,并據此為數字模塊110提供時鐘信號clk。
圖2對應為圖1示出的數模集成電路的時序圖。
如圖2和圖1所示,在t1時刻,復位信號reset由低電平變為高電平,復位信號reset由有效變為無效,復位釋放,初始化完成信號init_done和工作完成信號work_done均為低電平,標志著數字模塊110的初始化和初期需要時鐘信號clk參與的工作均未完成,控制信號ctrl默認為低電平,此時,或門or輸出信號為高電平,與門and產生高電平的啟動信號en,時鐘模塊130開啟,并開始為數字模塊110提供時鐘信號clk,此時啟動模塊120(硬件)掌握時鐘信號clk的控制權。
在t1至t2時刻,復位信號reset和啟動信號en均保持為高電平,控制信號ctrl保持為低電平,初始化完成信號init_done由低電平變為高電平,工作完成信號work_done保持為低電平,標志著數字模塊110的初始化已經完成,然而其初期需要時鐘信號clk參與的工作尚未完成,這段時間內,或門or輸出信號為高電平,與門and產生高電平的啟動信號en,時鐘模塊130開啟,并開始為數字模塊110提供時鐘信號clk,啟動模塊120(硬件)繼續掌握時鐘信號clk的控制權。
在t2時刻,復位信號reset為高電平,控制信號ctrl為低電平,初始化完成信號init_done為高電平,工作完成信號work_done由低電平變為高電平,標志著數字模塊110的初始化和其初期需要時鐘信號clk參與的工作均已經完成,與非門nand輸出信號為低電平,則或門or的輸出信號為低電平,但由于各邏輯門之間的延遲,此時,與門and仍繼續產生低電平的啟動信號en,但時鐘信號clk的控制權即將由啟動模塊120(硬件)轉移到軟件單元。
在t2至t3時刻,復位信號reset為高電平,控制信號ctrl為低電平,初始化完成信號init_done和工作完成信號work_done均為高電平,與非門nand輸出信號為低電平,則或門or的輸出信號為低電平,這段時間內,與門and產生的啟動信號en由高電平變為低電平,軟件單元掌握時鐘信號clk的控制權。
在t3時刻,復位信號reset、初始化完成信號init_done和工作完成信號work_done均為高電平,依據各邏輯門之間的連接關系可知,此時啟動信號en直接受控制信號ctrl的控制,軟件單元根據需要通過控制寄存器111輸出的控制信號ctrl,實現對時鐘信號clk輸出的控制。
其中,前文提到的t1、t2和t3均為大于0的正數,且t1>t2>t3。
相對于現有技術,本發明第一實施例的數模集成電路可在復位信號釋放后通過將時鐘控制權交給硬件實現時鐘模塊的自開啟,并在數字模塊完成初始化和部分工作時實現時鐘模塊的自關閉,此后又將時鐘的控制權交還軟件,降低了電路的功耗,減少了軟硬件的交互,在保證軟件使用靈活性的前提下提升了系統的可靠性與簡潔性。
圖3示出本發明第二實施例的數模集成電路的控制方法的流程圖。
如圖3所示,本發明第二實施例的數模集成電路的控制方法包括步驟s201-s205。
在步驟s201中,數字模塊進行復位;
在步驟s202中,判斷復位信號是否有效,如果是則執行步驟s201,否則,執行步驟s203;
在步驟s203中,判斷數字模塊的初始化和部分工作是否均已完成,如果是則執行步驟s204,否則執行步驟s205;
在步驟s204中,時鐘信號受控于啟動模塊;
在步驟s205中,時鐘信號受控于軟件單元。
上述實施例只是本發明的舉例,盡管為說明目的公開了本發明的實施例和附圖,但是本領域的技術人員可以理解:在不脫離本發明及所附的權利要求的精神和范圍內,各種替換、變化和修改都是可能的。因此,本發明不應局限于實施例和附圖所公開的內容。