本發明涉及一種控制方法,具體是一種微控制器芯片中的工作模式控制方法。
背景技術:
微控制器是將微型計算機的主要部分集成在一個芯片上的單芯片微型計算機。微控制器誕生于20世紀70年代中期,經過20多年的發展,其成本越來越低,而功能越來越強大,這就使得微控制器的應用越來越廣泛;如何對微處理器的體積進行精簡,是行業內一直研究的方向。
技術實現要素:
本發明的目的在于提供一種微控制器芯片中的工作模式控制方法,以解決上述背景技術中提出的問題。
為實現上述目的,本發明提供如下技術方案:
一種微控制器芯片中的工作模式控制方法,包括串行通信接口模塊SC_INTF、模式控制模塊MODE_CTRL、程序存儲器PMEM以及微控制器內核MCU_CORE,所述串行通信接口模塊SC_INTF負責與微控制器芯片外部的進行串行通信,并且將串行通信進行數據并行化處理,然后通過其并行通信總線pc_bus與模式控制模塊MODE_CTRL進行數據交互,串行通信接口模塊SC_INTF分別通過串行通信時鐘引腳SCK和串行通信數據引腳SDA與微控制器芯片外部進行串行通信;模式控制模塊MODE_CTRL負責管理微控制器芯片中不同的工作模式,微控制器芯片外部通過串行通信與串行通信接口模塊SC_INTF進行通信,然后通信接口模塊SC_INTF將接收到的微控制器芯片外部串行指令和數據進行并行化,并將并行化后的指令與數據傳輸至模式控制模塊MODE_CTRL,模式控制模塊MODE_CTRL根據指令選擇進入相應的工作模式;模式控制模塊MODE_CTRL內部控制寄存器組CTRL_REG是各種工作模式下與微控制器芯片外部指令和數據交互的寄存器,包括配置寄存器、狀態寄存器以及數據寄存器,進入相應的工作模式后,微控制器芯片外部通過寫控制寄存器組CTRL_REG中的配置寄存器來完成任務的配置,通過讀取控制寄存器組CTRL_REG中的狀態寄存器來得知任務的完成情況以及微控制器芯片內部的狀態;通過讀寫數據寄存器來完成與微控制器芯片內部的數據交互。
作為本發明進一步的方案:所述微控制器芯片在使用過程中,在某一時刻,只會使用到微控制器芯片中調試模式、測試模式、燒錄模式之中的一種。
作為本發明再進一步的方案:在微控制器芯片上電復位后的,微控制器芯片外部通過串行通信接口模塊SC_INTF發送一組串行數據序列seq_data至模式控制模塊MODE_CTRL中,模式控制模塊MODE_CTRL內部將數據序列seq_data通過比較器C1與調試模式入口序列進行比較,如果比較結果相等,則比較器的輸出結果將觸發調試模式寄存器DEBUG_MODE置位,微控制器芯片進入調試模式,debug_mode信號為高有效后,模式控制模塊MODE_CTRL內部的調試控制接口相關的邏輯將被使能,微控制器芯片外部就通過串行通信接口模塊SC_INTF與模式控制模塊MODE_CTRL進行數據交互,模式控制模塊MODE_CTRL接收微控制器芯片外部調試指令,然后通過調試總線debug_bus與微控制器內核MCU_CORE進行交互,完成相應的調試任務。
與現有技術相比,本發明的有益效果是:本發明在微控制器芯片內部集成了調試模式、測試模式、燒錄模式的統一控制管理,微控制器芯片內部串行通信接口邏輯、模式的進出控制相關的邏輯以及相關的控制寄存器組等資源能夠重復利用,從而節省微控制器芯片面積,節約生產成本。另外,由于微控制器芯片支持上的調試模式、測試模式、燒錄模式,使得微控制器芯片更好地支持用戶的使用。
附圖說明
圖1為微控制器芯片中的工作模式控制方法的原理示意圖。
圖2為微控制器芯片中的工作模式控制方法中模式控制模塊的工作原理示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。
請參閱圖1~2,本發明實施例中,一種微控制器芯片中的工作模式控制方法,微控制器芯片內部包括串行通信接口模塊SC_INTF、模式控制模塊MODE_CTRL、程序存儲器PMEM以及微控制器內核MCU_CORE等組成。
串行通信接口模塊SC_INTF負責與微控制器芯片外部的進行串行通信,并且將串行通信進行數據并行化處理,然后通過其并行通信總線pc_bus與模式控制模塊MODE_CTRL進行數據交互。串行通信接口模塊SC_INTF負責與微控制器芯片外部的進行串行通信通過SCK和SDA兩個引腳來完成,其中SCK為串行通信時鐘引腳,SDA為串行通信數據引腳。在微控制器芯片的使用中,在某一時刻,只會使用到微控制器芯片中調試模式、測試模式、燒錄模式之中的一種。在本方案中,調試模式、測試模式、燒錄模式三個工作模式共用同一套串行通信接口方案,通過資源分時復用,可以節省微控制器芯片的面積,節省成本。模式控制模塊MODE_CTRL負責管理微控制器芯片中不同的工作模式。微控制器芯片外部通過串行通信與串行通信接口模塊SC_INTF進行通信,然后通信接口模塊SC_INTF將接收到的微控制器芯片外部串行指令和數據進行并行化,并將并行化后的指令與數據傳輸至模式控制模塊MODE_CTRL。模式控制模塊MODE_CTRL根據指令選擇進入相應的工作模式。
模式控制模塊MODE_CTRL內部控制寄存器組CTRL_REG是各種工作模式下與微控制器芯片外部指令和數據交互的寄存器。它包括配置寄存器、狀態寄存器以及數據寄存器。進入相應的工作模式后,微控制器芯片外部通過寫控制寄存器組CTRL_REG中的配置寄存器來完成任務的配置,通過讀取控制寄存器組CTRL_REG中的狀態寄存器來得知任務的完成情況以及微控制器芯片內部的狀態;通過讀寫數據寄存器來完成與微控制器芯片內部的數據交互。
以微控制器芯片進入燒錄模式,并且進行燒錄為例來說明控制寄存器組CTRL_REG的作用。首先微控制器芯片外部通過通信接口模塊SC_INTF將需要進行燒錄的程序存儲器PMEM地址和相應的數據寫入控制寄存器組CTRL_REG中相應的數據寄存器內,然后微控制器芯片外部通過通信接口模塊SC_INTF寫控制寄存器組CTRL_REG相應的控制寄存器,啟動燒錄過程,最后微控制器芯片外部通過通信接口模塊SC_INTF可以讀取控制寄存器組CTRL_REG相應的狀態寄存器,得知燒錄任務是否成功完成。確認當前地址單元的燒錄完成后,再進行下一個地址單元的燒錄。
模式控制模塊MODE_CTRL的工作原理如圖 2所示。在微控制器芯片上電復位后的,微控制器芯片外部通過串行通信接口模塊SC_INTF發送一組串行數據序列seq_data至模式控制模塊MODE_CTRL中,模式控制模塊MODE_CTRL內部將數據序列seq_data通過比較器C1與調試模式入口序列進行比較,如果比較結果相等,則比較器的輸出結果將觸發調試模式寄存器DEBUG_MODE置位,微控制器芯片進入調試模式。debug_mode信號為高有效后,模式控制模塊MODE_CTRL內部的調試控制接口相關的邏輯將被使能。微控制器芯片外部就可以通過串行通信接口模塊SC_INTF與模式控制模塊MODE_CTRL進行數據交互,模式控制模塊MODE_CTRL接收微控制器芯片外部調試指令,然后通過調試總線debug_bus與微控制器內核進行交互,完成相應的調試任務。
如果模式控制模塊MODE_CTRL內部將數據序列seq_data通過比較器C2與測試模式入口序列進行比較,如果比較結果相等,則比較器的輸出結果將觸發測試模式寄存器TEST_MODE置位,微控制器芯片進入測試模式。test_mode信號為高有效后,模式控制模塊MODE_CTRL內部的測試控制接口相關的邏輯將被使能。微控制器芯片外部就可以通過串行通信接口模塊SC_INTF與模式控制模塊MODE_CTRL進行數據交互,模式控制模塊MODE_CTRL接收微控制器芯片外部測試指令,然后通過測試總線test_bus與微控制器內核進行交互,完成相應的測試任務。
如果模式控制模塊MODE_CTRL內部將數據序列seq_data通過比較器C3與燒錄模式入口序列進行比較,如果比較結果相等,則比較器的輸出結果將觸發燒錄模式寄存器PROG_MODE置位,微控制器芯片進入燒錄模式。prog_mode信號為高有效后,模式控制模塊MODE_CTRL內部的燒錄控制接口相關的邏輯將被使能。微控制器芯片外部就可以通過串行通信接口模塊SC_INTF與模式控制模塊MODE_CTRL進行數據交互,模式控制模塊MODE_CTRL接收微控制器芯片外部燒錄指令,然后通過燒錄總線prog_bus與程序存儲器進行交互,完成相應的燒錄任務。
對于本領域技術人員而言,顯然本發明不限于上述示范性實施例的細節,而且在不背離本發明的精神或基本特征的情況下,能夠以其他的具體形式實現本發明。因此,無論從哪一點來看,均應將實施例看作是示范性的,而且是非限制性的,本發明的范圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和范圍內的所有變化囊括在本發明內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。
此外,應當理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術方案,說明書的這種敘述方式僅僅是為清楚起見,本領域技術人員應當將說明書作為一個整體,各實施例中的技術方案也可以經適當組合,形成本領域技術人員可以理解的其他實施方式。