本公開涉及系統性能監(jiān)測,尤其涉及一種mcu性能監(jiān)測系統及方法。
背景技術:
1、嵌入式產品對于微控制單元(microcontroller?unit,mcu)通常存在性能、功耗及實時性的要求,尤其是不帶操作系統的嵌入式產品,希望能夠在功耗盡量低的情況下,滿足實時性和非實時業(yè)務的順暢處理。其中,實時性主要受中斷的響應時間和中斷處理時間的影響,而非實時業(yè)務處理性能則與主頻頻率成正相關,受處理核心處理效率的影響。
2、mcu在使用時需要知道不同類型任務對處理核心的使用率,并根據使用率動態(tài)地調整mcu的性能。具體的,在使用率低時降低性能,從而降低功耗;在使用率高時提高性能,或停止非必要的任務,從而滿足實時性和非實時性任務的順暢處理。在產品研發(fā)階段,工程師可以根據處理核心的使用判斷使用當前mcu是否合適,并決定是否更換其他類型的mcu。
3、目前,對于處理核心的使用率通常采用在軟件中插入空閑函數的方式進行統計,并定時中斷檢查處理核心的使用率,從而作出相應的處理。具體需要在中斷或非實時任務起始結束位置添加控制函數,并控制io口輸出。其中,不同的中斷需要添加大量的空閑函數,并且空閑函數的互斥處理和控制io口輸出都比較耗時,嚴重影響系統的實時性。不僅如此,大量的空閑函數和互斥處理的邏輯較為復雜,除了占用大量的代碼空間外,還增加了開發(fā)難度,容易導致錯誤出現。
技術實現思路
1、有鑒于此,本申請實施例提供了一種mcu性能監(jiān)測系統及方法,以解決上述問題。
2、第一方面,本申請實施例提供了一種mcu性能監(jiān)測系統,包括控制引擎和由所述控制引擎控制的中斷監(jiān)視器、總線監(jiān)視器、事件過濾器、定時器和分析引擎;
3、所述中斷監(jiān)視器,用于監(jiān)測系統內核的中斷信號,并確定是否對應輸出中斷事件;
4、所述總線監(jiān)視器,用于監(jiān)測系統總線的總線地址,并確定是否對應輸出總線事件;
5、所述事件過濾器,與所述中斷監(jiān)視器和所述總線監(jiān)視器電連接,用于根據獲取到的所述中斷事件和所述總線事件來判斷是否進行事件過濾,并在過濾后控制輸出相應的忙碌信號;
6、所述定時器,能夠產生計數脈沖信號和計數溢出信號,用于控制所述忙碌信號的采樣操作的頻率;
7、所述分析引擎,與所述事件過濾器和所述定時器電連接,用于根據所述計數脈沖信號和所述計數溢出信號對所述忙碌信號進行定時分析,確定是否產生用于觸發(fā)中斷控制器的中斷請求;
8、所述控制引擎,用于配置所述定時器的計數頻率和計數長度。
9、在其中一些實施例中,所述監(jiān)視模塊,包括:
10、中斷監(jiān)視器,用于監(jiān)測系統內核的中斷信號,并根據所述中斷信號的電平高低確定是否對應輸出中斷事件;
11、總線監(jiān)視器,用于監(jiān)測系統總線的總線地址,并根據預先存放的地址參數與所述總線地址的關系確定是否對應輸出總線事件。
12、在其中一些實施例中,所述中斷信號的電平高低用于表征所述系統內核是否處于中斷上下文狀態(tài);
13、其中,當所述中斷信號為高電平時,所述系統內核處于中斷上下文狀態(tài),所述中斷監(jiān)視器輸出所述中斷事件。
14、在其中一些實施例中,所述總線監(jiān)視器中預先存放的地址參數與所述總線地址的關系用于表征是否對應輸出總線事件;
15、其中,當所述總線地址等于所述地址參數中的起始地址時,所述總線監(jiān)視器對應開始輸出所述總線事件。
16、在其中一些實施例中,所述中斷請求包括閾值中斷請求;
17、所述閾值中斷請求的觸發(fā)過程包括:根據所述計數頻率和所述計數長度定時產生所述計數脈沖信號和所述計數溢出信號,觸發(fā)對所述忙碌信號的計數與預設的使用率閾值門限之間的對比,確定是否產生所述閾值中斷請求,以供進入中斷處理流程。
18、在其中一些實施例中,所述事件過濾器,還用于將所述忙碌信號輸出至io口上。
19、第二方面,本申請實施例提供一種mcu性能監(jiān)測方法,基于上述任一項所述的mcu性能監(jiān)測系統實現,包括如下步驟:
20、監(jiān)測系統內核的中斷信號,并確定是否對應輸出中斷事件;
21、監(jiān)測系統總線的總線地址,并確定是否對應輸出總線事件;
22、根據獲取到的所述中斷事件和所述總線事件來判斷是否進行事件過濾,并在過濾后控制輸出相應的忙碌信號;
23、定時產生計數脈沖信號和計數溢出信號;
24、根據所述計數脈沖信號和所述計數溢出信號對所述忙碌信號進行定時分析,確定是否產生用于觸發(fā)中斷控制器的中斷請求。
25、在其中一些實施例中,所述監(jiān)測系統內核的中斷信號,并確定是否對應輸出中斷事件,包括:
26、監(jiān)測所述系統內核的中斷信號,并判斷所述中斷信號的電平高低;
27、當所述中斷信號為高電平時,對應輸出所述中斷事件。
28、在其中一些實施例中,所述監(jiān)測系統總線的總線地址,并確定是否對應輸出總線事件,包括:
29、監(jiān)測所述系統總線的總線地址,并將所述總線地址與預先存儲的地址參數進行對比;
30、當所述總線地址等于所述地址參數中的起始地址時,開始輸出所述總線事件。
31、在其中一些實施例中,所述地址參數包括起始地址和結束地址;
32、當所述總線地址等于所述起始地址時,所述總線監(jiān)視器輸出總線事件。
33、在其中一些實施例中,所述在輸出所述中斷事件和所述總線事件的情況下判斷是否進行過濾,并在過濾后控制輸出相應的忙碌信號,包括:
34、判斷是否使能所述中斷事件和/或所述總線事件;
35、根據使能結果輸出相應的忙碌信號。
36、在其中一些實施例中,所述根據所述計數脈沖信號和所述計數溢出信號對所述忙碌信號進行定時分析,確定是否產生用于觸發(fā)中斷控制器的中斷請求,包括:
37、根據計數頻率進行加計數,以產生與計數值相匹配的計數脈沖信號;
38、以計數長度為周期在每個所述計數脈沖信號累加所述忙碌信號的計數,并在所述計數值達到所述計數長度時產生所述計數溢出信號;
39、在每個所述計數溢出信號判斷所述忙碌信號的閾值是否超出預先配置的使用率閾值門限;
40、若超出,則產生相應的閾值中斷請求。
41、本發(fā)明的技術效果:本發(fā)明通過自動監(jiān)測系統的中斷狀態(tài)和代碼運行地址,來判斷系統是否處于忙碌狀態(tài),并針對事件過濾器輸出的忙碌信號進行分析,從而確定是否作出中斷處理,無需添加大量空閑函數來占用處理核心的運算資源,保障系統的實時性,且不易出現錯誤。
42、根據下面參考附圖對示例性實施例的詳細說明,本公開的其它特征及方面將變得清楚。
1.一種mcu性能監(jiān)測系統,其特征在于,包括控制引擎和由所述控制引擎控制的中斷監(jiān)視器、總線監(jiān)視器、事件過濾器、定時器和分析引擎;
2.根據權利要求1所述的mcu性能監(jiān)測系統,其特征在于,所述中斷信號的電平高低用于表征所述系統內核是否處于中斷上下文狀態(tài);
3.根據權利要求1所述的mcu性能監(jiān)測系統,其特征在于,所述總線監(jiān)視器中預先存放的地址參數與所述總線地址的關系用于表征是否對應輸出總線事件;
4.根據權利要求1所述的mcu性能監(jiān)測系統,其特征在于,所述中斷請求包括閾值中斷請求;
5.根據權利要求1至4任一項所述的mcu性能監(jiān)測系統,其特征在于,所述事件過濾器,還用于將所述忙碌信號輸出至io口上。
6.一種mcu性能監(jiān)測方法,基于權利要求1至5任一項所述的mcu性能監(jiān)測系統實現,其特征在于,包括如下步驟:
7.根據權利要求6所述的mcu性能監(jiān)測方法,其特征在于,所述監(jiān)測系統內核的中斷信號,并確定是否對應輸出中斷事件,包括:
8.根據權利要求6所述的mcu性能監(jiān)測方法,其特征在于,所述監(jiān)測系統總線的總線地址,并確定是否對應輸出總線事件,包括:
9.根據權利要求6所述的mcu性能監(jiān)控方法,其特征在于,所述在輸出所述中斷事件和所述總線事件的情況下判斷是否進行過濾,并在過濾后控制輸出相應的忙碌信號,包括:
10.根據權利要求6所述的mcu性能監(jiān)測方法,其特征在于,所述根據所述計數脈沖信號和所述計數溢出信號對所述忙碌信號進行定時分析,確定是否產生用于觸發(fā)中斷控制器的中斷請求,包括: