基於單片機系統架構的任務執行方法及單片機系統架構的製作方法
2023-11-11 14:03:37 2
基於單片機系統架構的任務執行方法及單片機系統架構的製作方法
【專利摘要】本申請提供了一種基於單片機系統架構的任務執行方法,包括:系統主處理機針對當前單片機應用任務配置相對應的各個功能模塊;系統主處理機每隔預設時間,確定一次待執行任務;任務處理機按照待執行任務的優先級高低,分別發送調度信息至各個待執行任務對應的功能模塊;接收到調度信息的功能模塊執行相應任務。因此,本申請達到了任務與單片機系統架構的分離,多任務調度執行方式,可以應用到多種不同的單片機應用任務中的目的。
【專利說明】基於單片機系統架構的任務執行方法及單片機系統架構
【技術領域】
[0001]本申請涉及電子【技術領域】,特別涉及一種基於單片機系統架構的任務執行方法及單片機系統架構。
【背景技術】
[0002]目前,單片機系統架構主要有前後臺系統架構和多任務系統架構。其中,基於前後臺系統架構的系統在執行任務時為順序執行,某項任務必須在另一項任務完成後開始執行,否則屬於無效任務;基於多任務系統架構的系統,對基於前後臺系統架構的系統進行了改進,可以並行處理多項互不相關的任務,並行處理多項互不相關的任務指的是在執行完成一個任務,輸出結果時,可以同時處理其他任務。
[0003]但是基於多任務系統架構的系統中的任務在完成初始設定後,將不能再發生改變,因此使用多任務架構的系統僅能應用到唯一一種單片機應用任務中。
[0004]由上可見,使用基於多任務系統架構的系統進行任務執行時,存在不能應用到多種單片機應用任務中的問題。
【發明內容】
[0005]為解決上述技術問題,本申請實施例提供一種基於單片機系統架構的任務執行方法及單片機系統架構,以達到對任務進行執行時,在實現多任務的並行處理的基礎上,可以實現應用到多種不同的單片機應用任務中的目的,技術方案如下:
[0006]一種基於單片機系統架構的任務執行方法,所述單片機系統架構包括系統主處理機、任務處理機和多個功能模塊,包括:
[0007]所述系統主處理機針對當前單片機應用任務配置相對應的各個功能模塊,其中,每個功能模塊至少對應一個任務;
[0008]所述系統主處理機每隔預設時間,確定一次待執行任務;
[0009]所述任務處理機按照所述待執行任務的優先級高低,分別發送調度信息至各個待執行任務對應的功能模塊;
[0010]接收到所述調度信息的功能模塊執行相應任務,其中,在當前任務執行完成,輸出結果時,所述任務處理機發送調度信息至剩餘待執行業務中優先級最高的任務對應的功能模塊。
[0011]優選的,發送調度信息至各個待執行任務對應的功能模塊的過程,包括:
[0012]從相應功能模塊中讀取各個待執行任務的配置信息;
[0013]在判斷所述配置信息正確的情況下,發送調度信息至相應功能模塊。
[0014]優選的,所述發送調度信息至各個待執行任務對應的功能模塊的過程,包括:
[0015]從相應功能模塊中讀取各個待執行任務的備份配置信息,所述備份配置信息與所述配置信息相同;
[0016]在判斷所述備份配置信息正確的情況下,發送調度信息至相應功能模塊。[0017]優選的,在執行相應任務過程中,所述任務處理機在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態;
[0018]或,在執行相應任務過程中,所述任務處理機在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態,並統計當前任務的遺失數據信息。
[0019]優選的,所述接收到所述調度信息的功能模塊執行相應任務的過程,包括:
[0020]在執行相應任務之前,判斷出相應任務對應的輸入數據符合預設先決條件時,執行相應任務;
[0021]在相應任務執行完成後,通過預設後決條件,輸出相應任務執行完成後的結果。
[0022]一種單片機系統架構,包括:系統主處理機、任務處理機和多個功能模塊,其中:
[0023]系統主處理機,用於針對當前單片機應用任務配置相對應的各個功能模塊,每隔預設時間,確定一次待執行任務,其中,每個功能模塊至少對應一個任務;
[0024]任務處理機,用於按照各個功能模塊確定的待執行任務的優先級高低,分別發送調度信息至各個待執行任務對應的功能模塊;
[0025]各個功能模塊,用於接收到所述調度信息時執行相應任務,其中,在當前任務執行完成,輸出結果時,所述任務處理機發送調度信息至剩餘待執行業務中優先級最高的任務對應的功能模塊。
[0026]優選的,所述任務處理機包括:
[0027]第一讀取模塊,用於從相應功能模塊中讀取各個待執行任務的配置信息;
[0028]第一發送模塊,用於在判斷所述配置信息正確的情況下,發送調度信息至相應功能模塊。
[0029]優選的,所述任務處理機包括:
[0030]第二讀取模塊,用於從相應功能模塊中讀取各個待執行任務的備份配置信息,所述備份配置信息與所述配置信息相同;
[0031]第二發送模塊,用於在判斷所述備份配置信息正確的情況下,發送調度信息至相應功能模塊。
[0032]優選的,所述任務處理機包括:
[0033]第一處理模塊,用於在執行相應任務過程中,在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態;
[0034]或,第二處理模塊,用於在執行相應任務過程中,在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態,並統計當前任務的遺失數據信息。
[0035]優選的,所述功能模塊包括:
[0036]執行單元,用於在執行相應任務之前,判斷出相應任務對應的輸入數據符合預設先決條件時,執行相應任務;
[0037]輸出單元,用於在相應任務執行完成後,通過預設後決條件,輸出相應任務執行完成後的結果。
[0038]與現有技術相比,本申請的有益效果為:
[0039]在本申請中,由於系統主處理機可以針對當前單片機應用任務配置相對應的各個功能模塊,因此在應用到不同的單片機應用任務中時,只需要針對不同的單片機應用任務配置相對應的各個功能模塊即可。且由於在單片機應用任務發生變化後,只需要重新配置對應的功能模塊,使重新配置後的功能模塊中的任務發生變化,實現單片機系統架構與任務的分離。
[0040]通過系統主處理機每隔預設時間發送一次時鐘指令,使功能模塊確定待執行任務,在確定待執行任務後,由任務處理機按照待執行任務的優先級高低,分別發送調度信息至對應的功能模塊,對相應任務進行執行,由於在當前任務執行完成,輸出結果時,任務處理機可以發送調度信息至剩餘待執行業務中優先級最高的任務對應的功能模塊,因此可以實現多任務的並行處理即多任務調度執行方式。
[0041]可見,基於單片機系統架構對任務進行執行時,在實現多任務的並行處理的基礎上,可以實現應用到多種不同的單片機應用任務中。
【專利附圖】
【附圖說明】
[0042]為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0043]圖1是本申請提供的一種基於單片機系統架構的任務執行方法的一種流程圖;
[0044]圖2是本申請提供的一種基於單片機系統架構的任務執行方法的一種子流程圖;
[0045]圖3是本申請提供的一種基於單片機系統架構的任務執行方法的另一種子流程圖;
[0046]圖4是本申請提供的一種單片機系統架構的一種結構示意圖。
【具體實施方式】
[0047]下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
[0048]一個實施例
[0049]請參見圖1,其示出了本申請提供的一種基於單片機系統架構的任務執行方法的一種流程圖,可以包括以下步驟:
[0050]步驟Sll:所述系統主處理機針對當前單片機應用任務配置相對應的各個功能模塊,每個功能模塊至少對應一個任務。
[0051]在本實施例中,系統主處理機可以接收用戶針對當前單片機應用任務輸入的任務信息,根據用戶輸入的任務信息配置相對應的各個功能模塊,其中,每個功能模塊至少對應一個任務。
[0052]在當前單片機任務發生變化時,系統主處理機針對變化後的單片機應用任務配置與變化後的單片機應用任務相對應的各個功能模塊即可。
[0053]步驟S12:所述系統主處理機每隔預設時間,確定一次待執行任務。
[0054]在本實施例中,系統主處理機在配置完成相對應的各個功能模塊後,需要激活整個單片機系統的任務執行。因此,系統主處理機設置了時鐘中斷,每隔預設時間,執行一次確定待執行任務的操作。確定待執行任務可以通過置標誌位的形式體現。
[0055]系統主處理機在每個預設時間內確定出待執行的任務,在確定出待執行任務後,執行步驟S13的內容。
[0056]步驟S13:所述任務處理機按照所述待執行任務的優先級高低,分別發送調度信息至各個待執行任務對應的功能模塊。
[0057]在本實施例中,任務處理機按照待執行任務的優先級高低,分別發送調度信息至各個待執行任務對應的功能模塊。具體的,任務處理機會對優先級最高的待執行任務對應的功能模塊發送調度信息,即首先調度優先級最高的待執行任務。在調度優先級最高的待執行任務後,對剩餘待執行任務中優先級最高的任務進行調度,即任務處理機每次發送調度信息時,均是發送給優先級最高的待執行任務對應的功能模塊。
[0058]步驟S15:接收到所述調度信息的功能模塊執行相應任務,其中,在當前任務執行完成,輸出結果時,所述任務處理機發送調度信息至剩餘待執行業務中優先級最高的任務對應的功能模塊。
[0059]在本實施例中,接收到任務處理機發送的調度信息的功能模塊會執行與調度信息對應的任務。
[0060]在當前任務執行完成,輸出結果時,任務處理機可以發送調度信息至剩餘待執行任務中優先級最高的任務對應的功能模塊,由相應功能模塊執行相應任務。因此在當前任務輸出結果的同時,任務處理機發送調度信息至剩餘待執行任務中優先級最高的任務對應的功能模塊,剩餘待執行任務中優先級最高的任務開始執行,與當前任務並行處理。
[0061]在本實施例中,接收到調度信息的功能模塊執行相應任務的過程可以為:在執行相應任務之前,判斷出相應任務對應的輸入數據符合預設先決條件時,執行相應任務;在執行相應任務完成後,通過預設後決條件,輸出相應任務執行完成後的結果。其中,預設後決條件為與當前任務所在功能模塊相關的功能模塊的信息。通過預設後決條件,可以確定當前任務執行完成後,應該將執行完成後的結果發送到哪個功能模塊。
[0062]在本申請中,由於系統主處理機可以針對當前單片機應用任務配置相對應的各個功能模塊,因此在應用到不同的單片機應用任務中時,只需要針對不同的單片機應用任務配置相對應的各個功能模塊即可。且由於在單片機應用任務發生變化後,只需要重新配置對應的功能模塊,使重新配置後的功能模塊中的任務發生變化,實現單片機系統架構與任務的分離。
[0063]通過系統主處理機每隔預設時間發送一次時鐘指令,使功能模塊確定待執行任務,在確定待執行任務後,由任務處理機按照待執行任務的優先級高低,分別發送調度信息至對應的功能模塊,對相應任務進行執行,由於在當前任務執行完成,輸出結果時,任務處理機可以發送調度信息至剩餘待執行業務中優先級最高的任務對應的功能模塊,因此可以實現多任務的並行處理即多任務調度執行方式。
[0064]可見,基於單片機系統架構對任務進行執行時,在實現多任務的並行處理的基礎上,可以實現應用到多種不同的單片機應用任務中。
[0065]另一個實施例
[0066]在本實施例中,示出的是發送調度信息至各個待執行任務對應的功能模塊的具體過程,請參見圖2,圖2示出的是本申請提供的一種基於單片機系統架構的任務執行方法的一種子流程圖,可以包括以下步驟:
[0067]步驟S21:從相應功能模塊中讀取各個待執行任務的配置信息。
[0068]在本實施例中,任務處理機按照待執行任務的優先級高低,分別從各個待執行任務對應的功能模塊中讀取各個待執行任務的配置信息。
[0069]當然,任務處理機首先從優先級最高的待執行任務對應的功能模塊中讀取優先級最高的待執行任務的配置信息。
[0070]在優先級最高的待執行任務開始執行後,成為當前任務,在當前任務執行完成後,任務處理機讀取剩餘待執行任務中優先級最高的任務的配置信息。
[0071]步驟S22:在判斷所述配置信息正確的情況下,發送調度信息至相應功能模塊。
[0072]任務處理機在讀取到待執行任務的配置信息後,判斷讀取到的配置信息和任務處理機存儲的該待執行任務的配置信息是否一致。在一致的情況下,判斷讀取到的配置信息正確。在判斷配置信息正確的情況下,發送調度信息至相應功能模塊。
[0073]再一個實施例
[0074]在本實施例中,示出的是發送調度信息至各個待執行任務對應的功能模塊的另一種具體過程,請參見圖3,圖3示出的是本申請提供的一種基於單片機系統架構的任務執行方法的另一種子流程圖,可以包括以下步驟:
[0075]步驟S31:從相應功能模塊中讀取各個待執行任務的備份配置信息,所述備份配置信息與所述配置信息相同。
[0076]在本實施例中,在功能模塊中設置對應任務的備份配置信息,其中備份配置信息和任務的配置信息相同。任務處理機在需要判斷待執行任務的配置信息正確與否時,可以讀取各個待執行任務的備份配置信息。由於任務處理機讀取到的是備份配置信息,在備份配置信息中的數據被篡改時,也不會影響到功能模塊中任務的正確執行,保證了單片機系統運行的穩定性。
[0077]從相應功能模塊中讀取各個待執行任務的備份配置信息的具體過程和圖2示出的步驟S21相同,不同的僅在於讀取到的內容不同,在此不再贅述。
[0078]步驟S32:在判斷所述備份配置信息正確的情況下,發送調度信息至相應功能模塊。
[0079]在上述方法實施例中,功能模塊中的任務在執行過程中,任務處理機可以對當前任務執行時的執行時序進行檢測,在檢測到當前任務出現執行時序發生錯誤時,進行報錯或恢復當前任務的初始狀態。其中,任務處理機對當前任務執行時的執行時序進行檢測,主要是檢測當前任務執行是否超時,在檢測到執行超時時,進行超時警告或恢復當前任務的初始狀態。
[0080]當然,在執行當前任務過程中,任務處理機在檢測到當前任務出現執行時序發生錯誤時,除了進行報錯或恢復當前任務的初始狀態之外,還可以統計當前任務的遺失數據信息,便於任務的錯誤分析。
[0081]其中任務的遺失數據信息可以包括:系統可提供任務運行周期,任務響應時間,任務計數器,任務丟失次數,任務優先級,任務超時警告,任務ID,任務名稱等。
[0082]在上述方法實施例中,系統主處理機設置的預設時間可以為IOms-1OOms範圍內任意一個為IOms整數倍的數值。[0083]對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請並不受所描述的動作順序的限制,因為依據本申請,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模塊並不一定是本申請所必須的。
[0084]與上述方法實施例相對應,本申請提供了一種單片機系統架構,請參見圖4,圖4示出的是本申請提供的一種單片機系統架構的一種結構示意圖,單片機系統架構包括:系統主處理機41、任務處理機42和功能模塊組43。其中,功能模塊組42中包括多個功能模塊。
[0085]系統主處理機41,用於針對當前單片機應用任務配置相對應的各個功能模塊,每隔預設時間,確定一次待執行任務,其中,每個功能模塊至少對應一個任務。
[0086]任務處理機42,用於按照各個功能模塊確定的待執行任務的優先級高低,分別發送調度信息至各個待執行任務對應的功能模塊。
[0087]任務處理機42可以包括:第一讀取模塊和第一發送模塊。第一讀取模塊和第一發送模塊共同完成發送調度信息至各個待執行任務對應的功能模塊的功能。
[0088]其中,第一讀取模塊,用於從相應功能模塊中讀取各個待執行任務的配置信息。
[0089]第一發送模塊,用於在判斷所述配置信息正確的情況下,發送調度信息至相應功能豐旲塊。
[0090]當然,任務處理機42也可以包括:第二讀取模塊和第二發送模塊,第二讀取模塊和第二發送模塊共同完成不同於第一讀取模塊和第二發送模塊共同完成的發送調度信息至各個待執行任務對應的功能模塊的功能。
[0091]第二讀取模塊,用於從相應功能模塊中讀取各個待執行任務的備份配置信息,所述備份配置信息與所述配置信息相同。
[0092]第二發送模塊,用於在判斷所述備份配置信息正確的情況下,發送調度信息至相應功能模塊。
[0093]功能模塊組42中的多個功能模塊,用於接收到所述調度信息時執行相應任務,其中,在當前任務執行完成,輸出結果時,所述任務處理機發送調度信息至剩餘待執行業務中優先級最高的任務對應的功能模塊。
[0094]其中,每個功能模塊可以包括執行單元和輸出單元。執行單元,用於在執行相應任務之前,判斷出相應任務對應的輸入數據符合預設先決條件時,執行相應任務。
[0095]輸出單元,用於在相應任務執行完成後,通過預設後決條件,輸出相應任務執行完成後的結果。
[0096]圖4示出的任務處理機42中包含有第一處理模塊或第二處理模塊,其中,第一處理模塊,用於在執行相應任務過程中,在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態。
[0097]第二處理模塊,用於在執行相應任務過程中,在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態,並統計當前任務的遺失數據信息。
[0098]需要說明的是,本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對於裝置類實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0099]最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0100]以上對本申請所提供的基於單片機系統架構的任務執行方法及單片機系統架構進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在【具體實施方式】及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
【權利要求】
1.一種基於單片機系統架構的任務執行方法,其特徵在於,所述單片機系統架構包括系統主處理機、任務處理機和多個功能模塊,包括: 所述系統主處理機針對當前單片機應用任務配置相對應的各個功能模塊,其中,每個功能模塊至少對應一個任務; 所述系統主處理機每隔預設時間,確定一次待執行任務; 所述任務處理機按照所述待執行任務的優先級高低,分別發送調度信息至各個待執行任務對應的功能模塊; 接收到所述調度信息的功能模塊執行相應任務,其中,在當前任務執行完成,輸出結果時,所述任務處理機發送調度信息至剩餘待執行業務中優先級最高的任務對應的功能模塊。
2.根據權利要求1所述的方法,其特徵在於,發送調度信息至各個待執行任務對應的功能模塊的過程,包括: 從相應功能模塊中讀取各個待執行任務的配置信息; 在判斷所述配置信息正確的情況下,發送調度信息至相應功能模塊。
3.根據權利要求1所述的方法, 其特徵在於,所述發送調度信息至各個待執行任務對應的功能模塊的過程,包括: 從相應功能模塊中讀取各個待執行任務的備份配置信息,所述備份配置信息與所述配置信息相同; 在判斷所述備份配置信息正確的情況下,發送調度信息至相應功能模塊。
4.根據權利要求1所述的方法,其特徵在於,在執行相應任務過程中,所述任務處理機在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態; 或,在執行相應任務過程中,所述任務處理機在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態,並統計當前任務的遺失數據信息。
5.根據權利要求1所述的方法,其特徵在於,所述接收到所述調度信息的功能模塊執行相應任務的過程,包括: 在執行相應任務之前,判斷出相應任務對應的輸入數據符合預設先決條件時,執行相應任務; 在相應任務執行完成後,通過預設後決條件,輸出相應任務執行完成後的結果。
6.一種單片機系統架構,其特徵在於,包括:系統主處理機、任務處理機和多個功能模塊,其中: 系統主處理機,用於針對當前單片機應用任務配置相對應的各個功能模塊,每隔預設時間,確定一次待執行任務,其中,每個功能模塊至少對應一個任務; 任務處理機,用於按照各個功能模塊確定的待執行任務的優先級高低,分別發送調度信息至各個待執行任務對應的功能模塊; 各個功能模塊,用於接收到所述調度信息時執行相應任務,其中,在當前任務執行完成,輸出結果時,所述任務處理機發送調度信息至剩餘待執行業務中優先級最高的任務對應的功能模塊。
7.根據權利要求6所述的單片機系統架構,其特徵在於,所述任務處理機包括: 第一讀取模塊,用於從相應功能模塊中讀取各個待執行任務的配置信息;第一發送模塊,用於在判斷所述配置信息正確的情況下,發送調度信息至相應功能模塊。
8.根據權利要求6所述的單片機系統架構,其特徵在於,所述任務處理機包括: 第二讀取模塊,用於從相應功能模塊中讀取各個待執行任務的備份配置信息,所述備份配置信息與所述配 置信息相同; 第二發送模塊,用於在判斷所述備份配置信息正確的情況下,發送調度信息至相應功能豐旲塊。
9.根據權利要求6所述的單片機系統架構,其特徵在於,所述任務處理機包括: 第一處理模塊,用於在執行相應任務過程中,在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態; 或,第二處理模塊,用於在執行相應任務過程中,在檢測到所述任務出現執行時序發生錯誤時,進行報錯或恢復所述任務的初始狀態,並統計當前任務的遺失數據信息。
10.根據權利要求6所述的單片機系統架構,其特徵在於,所述功能模塊包括: 執行單元,用於在執行相應任務之前,判斷出相應任務對應的輸入數據符合預設先決條件時,執行相應任務; 輸出單元,用於在相應任務執行完成後,通過預設後決條件,輸出相應任務執行完成後的結果。
【文檔編號】G06F9/48GK103677991SQ201310689027
【公開日】2014年3月26日 申請日期:2013年12月16日 優先權日:2013年12月16日
【發明者】蔣浩, 石磊 申請人:重慶川儀自動化股份有限公司