本發(fā)明屬于工程系統(tǒng)實(shí)時(shí)仿真技術(shù)領(lǐng)域,其涉及一種實(shí)時(shí)仿真系統(tǒng),具體涉及一種多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng)及方法。
背景技術(shù):
實(shí)時(shí)仿真系統(tǒng)是控制技術(shù)實(shí)現(xiàn)算法模擬、進(jìn)行被控對(duì)象建模以及完成控制系統(tǒng)閉環(huán)仿真的關(guān)鍵。它要求仿真任務(wù)的時(shí)間比例和真實(shí)系統(tǒng)的時(shí)間比例保持一致,因此可以實(shí)時(shí)穩(wěn)定的接收動(dòng)態(tài)輸入以及發(fā)送動(dòng)態(tài)輸出,實(shí)時(shí)仿真系統(tǒng)還可以接入實(shí)物系統(tǒng),從而避免了復(fù)雜系統(tǒng)建模造成的誤差,進(jìn)一步保證了仿真的實(shí)時(shí)性,因此它在控制系統(tǒng)的分析、研究和設(shè)計(jì)中得到了廣泛的應(yīng)用。
隨著控制系統(tǒng)中被控對(duì)象的日趨復(fù)雜,多任務(wù)仿真的難度也日益增加。仿真環(huán)境中的節(jié)點(diǎn)越多,規(guī)模越大,所需要的仿真任務(wù)也就越多,各個(gè)仿真任務(wù)直接的異構(gòu)性差異會(huì)越來(lái)越大。主要表現(xiàn)在多任務(wù)仿真在同周期任務(wù)的基礎(chǔ)上,逐漸增加了異周期任務(wù)的要求,在多任務(wù)同源時(shí)鐘的基礎(chǔ)上,也逐漸增加了異構(gòu)時(shí)鐘的要求。而傳統(tǒng)的仿真機(jī),對(duì)于時(shí)鐘管理的控制集中在解決同源同周期的多任務(wù)要求,無(wú)法解決對(duì)于同源異周期的多時(shí)鐘多任務(wù)仿真,以及異構(gòu)時(shí)鐘的多時(shí)鐘多任務(wù)仿真要求。
在多任務(wù)仿真中,大量的仿真任務(wù)被建立,仿真任務(wù)的接口、調(diào)度機(jī)制沒(méi)有進(jìn)行有效合適的管理,影響仿真引擎的執(zhí)行效率和仿真任務(wù)的開(kāi)發(fā)效率。在傳統(tǒng)仿真機(jī)中,系統(tǒng)調(diào)度、時(shí)鐘管理以及仿真任務(wù)的執(zhí)行往往是混在一起,這樣既不利于開(kāi)發(fā)工作清晰透明、仿真任務(wù)的移植和維護(hù),更加無(wú)法剝離仿真任務(wù)對(duì)特定仿真系統(tǒng)的設(shè)計(jì)依賴和仿真任務(wù)對(duì)特定時(shí)鐘源的設(shè)計(jì)依賴。
隨著分布式應(yīng)用環(huán)境的愈發(fā)成熟,總線通信技術(shù)得到了更多的關(guān)注和應(yīng)用,總線可以是各個(gè)仿真任務(wù)和仿真節(jié)點(diǎn)數(shù)據(jù)交換的通道。通過(guò)總線完成各個(gè)仿真任務(wù)的時(shí)鐘調(diào)度,不僅可以節(jié)約現(xiàn)有的時(shí)鐘資源,更可以利用總線數(shù)據(jù)驅(qū)動(dòng),優(yōu)化仿真任務(wù)的設(shè)計(jì),傳統(tǒng)仿真機(jī)無(wú)法在數(shù)據(jù)總線中獲取總線數(shù)據(jù)驅(qū)動(dòng)作為仿真時(shí)鐘,這就導(dǎo)致傳統(tǒng)的仿真機(jī)對(duì)分布式應(yīng)用的局限性大大增加。
隨著控制系統(tǒng)產(chǎn)業(yè)的飛速發(fā)展,仿真任務(wù)的研制,將會(huì)有快速設(shè)計(jì)、快速仿真、快速驗(yàn)證的的設(shè)計(jì)要求。這就意味著對(duì)仿真設(shè)備資源的需要有更高的利用率。傳統(tǒng)的仿真設(shè)備只能向一組仿真任務(wù)提供硬件資源和系統(tǒng)資源的支持,無(wú)法實(shí)現(xiàn)仿真系統(tǒng)設(shè)備的復(fù)用。
中國(guó)授權(quán)公告號(hào)為cn102929158b的發(fā)明專利,公開(kāi)了一種多核多模型并行分布式實(shí)時(shí)仿真系統(tǒng),其描述了一種提供任務(wù)調(diào)度的辦法,在多核處理器上完成多模型的仿真功能,但無(wú)法對(duì)多時(shí)鐘應(yīng)用進(jìn)行仿真。
中國(guó)授權(quán)公告號(hào)為cn103136032b的發(fā)明專利,公開(kāi)了一種多核體系并行仿真系統(tǒng),其描述了以快速的搭建出針對(duì)定硬件環(huán)境的仿真模型,從而加速了對(duì)多核體系靜態(tài)調(diào)度算法的驗(yàn)證,但并沒(méi)有對(duì)多任務(wù)應(yīng)用和多時(shí)鐘應(yīng)用提供仿真支持。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng)及方法,該系統(tǒng)解決了現(xiàn)有技術(shù)不能夠進(jìn)行多時(shí)鐘多任務(wù)的仿真的問(wèn)題,能夠按多任務(wù)應(yīng)用需求,形成同源時(shí)鐘驅(qū)動(dòng)和異構(gòu)時(shí)鐘驅(qū)動(dòng),以此來(lái)驅(qū)動(dòng)多任務(wù)的仿真需求。
為了達(dá)到上述目的,本發(fā)明提供了一種多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng),該系統(tǒng)包含:時(shí)鐘域控制模塊,其用于獲取若干脈沖時(shí)鐘源,并向仿真控制模塊輸出若干時(shí)鐘激勵(lì)信息;仿真控制模塊,其用于通過(guò)時(shí)鐘調(diào)度機(jī)制,對(duì)所述的時(shí)鐘激勵(lì)信息進(jìn)行分配和管控,向若干仿真任務(wù)發(fā)送時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào),同時(shí)對(duì)仿真任務(wù)的數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控;硬件接口映射模塊,其用于以仿真任務(wù)語(yǔ)言的形式描述硬件接口的操作;以及仿真任務(wù)模塊,其用于在所述的仿真控制模塊的時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)的驅(qū)動(dòng)下,進(jìn)行一次獨(dú)立運(yùn)算,并通過(guò)所述的硬件接口映射模塊,完成一次相應(yīng)的硬件接口操作。
其中,所述的時(shí)鐘激勵(lì)信息包含:同源時(shí)鐘激勵(lì)信息和/或異構(gòu)時(shí)鐘激勵(lì)信息。
其中,所述的仿真任務(wù)包含:若干同步性任務(wù)和/或若干異步性任務(wù)。
所述的時(shí)鐘域控制模塊包含:脈沖時(shí)鐘獲取子模塊,其用于在脈沖時(shí)鐘源中進(jìn)行時(shí)鐘信號(hào)的采集,將采集到的脈沖時(shí)鐘源進(jìn)行中斷委托,發(fā)送給時(shí)鐘激勵(lì)子模塊;總線時(shí)鐘獲取子模塊,其用于在總線中進(jìn)行總線信號(hào)的采集,將采集到的總線數(shù)據(jù)信號(hào)進(jìn)行數(shù)據(jù)驅(qū)動(dòng),并進(jìn)行中斷委托,發(fā)送給時(shí)鐘激勵(lì)子模塊;時(shí)鐘激勵(lì)子模塊,其用于接收所述的脈沖時(shí)鐘獲取子模塊和總線時(shí)鐘獲取子模塊的中斷委托,當(dāng)接收到時(shí)脈沖時(shí)鐘信號(hào)或總線數(shù)據(jù)驅(qū)動(dòng)信號(hào)時(shí),時(shí)鐘激勵(lì)子模塊將產(chǎn)生時(shí)鐘激勵(lì)信號(hào),并發(fā)送給所述的仿真控制模塊。
所述的仿真控制模塊包含:資源配置子模塊,其用于將若干仿真任務(wù)的資源配置信息,均發(fā)送給仿真任務(wù)集中間層子模塊,同時(shí)將若干仿真任務(wù)的時(shí)鐘信息均發(fā)送給時(shí)鐘調(diào)度子模塊;時(shí)鐘調(diào)度子模塊,其用于從所述的時(shí)鐘域控制模塊中獲取時(shí)鐘激勵(lì)信息;仿真任務(wù)集中間層子模塊,其用于對(duì)仿真任務(wù)的基本屬性進(jìn)行定義,并根據(jù)資源配置信息和時(shí)鐘激勵(lì)信息,實(shí)例化若干仿真任務(wù),形成仿真任務(wù)集。
所述的仿真任務(wù)的基本屬性包含:仿真任務(wù)所運(yùn)行的處理器信息、硬件環(huán)境、監(jiān)控總線環(huán)境,以及時(shí)鐘激勵(lì)信息接口。
所述的仿真控制模塊還包含:仿真任務(wù)集調(diào)度子模塊,其用于掛起仿真任務(wù)模塊,當(dāng)時(shí)鐘激勵(lì)觸發(fā)時(shí),在仿真任務(wù)模塊接收到對(duì)應(yīng)的時(shí)鐘激勵(lì)信息后,向仿真任務(wù)模塊發(fā)送對(duì)應(yīng)的仿真任務(wù)的時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)。
所述的仿真控制模塊還包含:數(shù)據(jù)發(fā)現(xiàn)子模塊,其用于在監(jiān)控總線中監(jiān)聽(tīng)數(shù)據(jù)請(qǐng)求信息,并在所述的仿真任務(wù)集調(diào)度子模塊中通過(guò)任務(wù)間通信的隊(duì)列,完成對(duì)所需數(shù)據(jù)的提??;數(shù)據(jù)同傳子模塊,其用于將所述的數(shù)據(jù)發(fā)現(xiàn)子模塊中的數(shù)據(jù)內(nèi)容通過(guò)監(jiān)控總線向仿真系統(tǒng)動(dòng)態(tài)監(jiān)控上位機(jī)發(fā)送,同時(shí)還接收仿真系統(tǒng)動(dòng)態(tài)監(jiān)控上位機(jī)的修改仿真數(shù)據(jù)指令,對(duì)對(duì)應(yīng)的仿真任務(wù)模塊的數(shù)據(jù)進(jìn)行修改;以及數(shù)據(jù)存儲(chǔ)子模塊,其用于將所述的數(shù)據(jù)發(fā)現(xiàn)子模塊中的數(shù)據(jù)內(nèi)容、仿真系統(tǒng)動(dòng)態(tài)監(jiān)控上位機(jī)的修改仿真數(shù)據(jù)指令和數(shù)據(jù)同傳子模塊的操作內(nèi)容進(jìn)行本地存儲(chǔ)。
所述的硬件接口映射模塊規(guī)范的硬件操作包括:模擬量采集操作、模擬量輸出操作、i/o接口讀寫操作、任務(wù)間內(nèi)存交換操作、總線數(shù)據(jù)讀寫操作、反射內(nèi)存數(shù)據(jù)讀寫操作和網(wǎng)絡(luò)通信協(xié)議讀寫操作;所述的總線數(shù)據(jù)讀寫操作包括:can總線數(shù)據(jù)讀寫操作和1553b總線數(shù)據(jù)讀寫操作。
本發(fā)明還提供了一種同源異周期和/或異構(gòu)多任務(wù)時(shí)鐘調(diào)度的方法,該方法采用所述的多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng),其包含:
第一步:在資源配置子模塊中部署各同步性或/和異步性任務(wù){(diào)m_1,m_2,...mi,…,m_n}的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n};
第二步:在仿真系統(tǒng)的初始化過(guò)程中,時(shí)鐘調(diào)度子模塊加載資源配置子模塊,獲取同步性或/和異步性任務(wù)任務(wù){(diào)m_1,m_2,...mi,…,m_n}的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n};
第三步:在時(shí)鐘激勵(lì)子模塊中掛起時(shí)鐘激勵(lì),等待時(shí)鐘激勵(lì)觸發(fā);
第四步:在進(jìn)行同步性任務(wù)時(shí),當(dāng)時(shí)鐘激勵(lì)觸發(fā)時(shí),標(biāo)記當(dāng)前狀態(tài)時(shí)鐘t并進(jìn)行累加,遍歷同步性任務(wù)的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n},判斷前狀態(tài)時(shí)鐘t是否滿足t==t_i,滿足該條件時(shí)觸發(fā)對(duì)應(yīng)任務(wù)m_i的時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào),否則直到遍歷完成,等待下一個(gè)時(shí)鐘激勵(lì);在進(jìn)行異步性任務(wù)時(shí),當(dāng)異構(gòu)時(shí)鐘i的時(shí)鐘激勵(lì)i觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)i觸發(fā),異步性任務(wù)i響應(yīng)執(zhí)行,等待其余時(shí)鐘激勵(lì)觸發(fā)。
本發(fā)明還提供了一種同源異周期和/或異構(gòu)多任務(wù)時(shí)鐘調(diào)度的時(shí)序信號(hào)響應(yīng)方法,該方法通過(guò)根據(jù)所述的同源異周期和/或異構(gòu)多任務(wù)時(shí)鐘調(diào)度的方法,觸發(fā)時(shí)鐘激勵(lì),當(dāng)當(dāng)前時(shí)刻ti=ti時(shí),觸發(fā)第i個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào),使第i個(gè)同步性或/和異步性任務(wù)響應(yīng)執(zhí)行。
在進(jìn)行n個(gè)同步性任務(wù)時(shí),同源時(shí)鐘的基頻為t0,當(dāng)ti=i*t0,0<i≤n,且為自然數(shù)時(shí),在ti時(shí)刻時(shí),對(duì)于第p個(gè)同步性任務(wù),0<p≤n且為自然數(shù),當(dāng)i能被整除p時(shí),第p個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)觸發(fā),第p個(gè)同步性任務(wù)響應(yīng)執(zhí)行;當(dāng)i不能被整除p時(shí),第p個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)不觸發(fā);當(dāng)i=0時(shí),在t0時(shí)刻時(shí),與n個(gè)同步性任務(wù)相應(yīng)的n個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)均觸發(fā),n個(gè)同步性任務(wù)均響應(yīng)執(zhí)行。
在進(jìn)行n個(gè)異步性任務(wù)時(shí),每個(gè)異步性任務(wù)相應(yīng)的時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)的觸發(fā)時(shí)間隔開(kāi),使各個(gè)異步性任務(wù)分別響應(yīng)執(zhí)行,各個(gè)異步性任務(wù)沒(méi)有公共同步節(jié)點(diǎn)。
本發(fā)明的多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng)及方法,解決了現(xiàn)有技術(shù)不能夠進(jìn)行多時(shí)鐘多任務(wù)的仿真的問(wèn)題,具有以下優(yōu)點(diǎn):
(1)本發(fā)明的仿真系統(tǒng)通過(guò)對(duì)采集的時(shí)鐘激勵(lì)信息進(jìn)行分配和調(diào)度,按多任務(wù)應(yīng)用需求,形成同源時(shí)鐘驅(qū)動(dòng)和異構(gòu)時(shí)鐘驅(qū)動(dòng),以此來(lái)驅(qū)動(dòng)多任務(wù)的仿真需求;
(2)本發(fā)明通過(guò)仿真任務(wù)集中間層子模塊將各個(gè)仿真任務(wù)的差異性資源(cpu、硬件環(huán)境、監(jiān)控總線環(huán)境以及時(shí)鐘激勵(lì)信息)和仿真任務(wù)本身進(jìn)行抽離,使仿真任務(wù)的設(shè)計(jì)、維護(hù)更加靈活和獨(dú)立;
(3)本發(fā)明以總線數(shù)據(jù)驅(qū)動(dòng)為仿真時(shí)鐘的辦法,擴(kuò)展了仿真系統(tǒng)的多時(shí)鐘應(yīng)用,和分布式總線應(yīng)用場(chǎng)景;
(4)本發(fā)明能夠進(jìn)行異構(gòu)時(shí)鐘多任務(wù)時(shí)鐘調(diào)度,在硬件資源不沖突的條件下,多任務(wù)并行運(yùn)行沒(méi)有關(guān)聯(lián)特性,使仿真系統(tǒng)可以對(duì)多個(gè)仿真任務(wù)展開(kāi)應(yīng)用,增加了仿真系統(tǒng)設(shè)備的復(fù)用性,提高了設(shè)備的利用率;
(5)本發(fā)明為多單位編隊(duì)類型的實(shí)時(shí)仿真的應(yīng)用提供了仿真系統(tǒng),本發(fā)明的系統(tǒng)既可以作為多單位的集合體進(jìn)行編隊(duì)類型的仿真,也可以作為單位個(gè)體參與到多單位的集合中進(jìn)行編隊(duì)類型的仿真。當(dāng)作為多單位的集合體時(shí),各個(gè)單位作為本仿真系統(tǒng)中的同步性任務(wù)應(yīng)用,受同源時(shí)鐘控制;當(dāng)作為單位個(gè)體時(shí),本仿真系統(tǒng)為編隊(duì)系統(tǒng)中的其中一個(gè)同步性任務(wù)應(yīng)用,受編隊(duì)系統(tǒng)中的同源時(shí)鐘控制。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例1的多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng)的結(jié)構(gòu)示意圖。
圖2為本發(fā)明實(shí)施例1的同源異周期多任務(wù)時(shí)鐘調(diào)度的流程圖。
圖3為本發(fā)明實(shí)施例1的同源異周期多任務(wù)時(shí)鐘調(diào)度的時(shí)序圖。
圖4為本發(fā)明實(shí)施例2的異構(gòu)時(shí)鐘多任務(wù)時(shí)鐘調(diào)度的流程圖。
圖5為本發(fā)明實(shí)施例2的異構(gòu)時(shí)鐘多任務(wù)時(shí)鐘調(diào)度的時(shí)序圖。
具體實(shí)施方式
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的說(shuō)明。
本發(fā)明的多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng),該系統(tǒng)包含:時(shí)鐘域控制模塊,其用于獲取若干脈沖時(shí)鐘源,并向仿真控制模塊輸出若干時(shí)鐘激勵(lì)信息;仿真控制模塊,其用于對(duì)時(shí)鐘激勵(lì)信息進(jìn)行分配和管控,向若干仿真任務(wù)發(fā)送時(shí)鐘激勵(lì)信息,同時(shí)對(duì)仿真任務(wù)的數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控;硬件接口映射模塊,其用于以仿真任務(wù)語(yǔ)言的形式描述硬件接口的操作;以及仿真任務(wù)模塊,其用于在仿真控制模塊的時(shí)鐘激勵(lì)信息的驅(qū)動(dòng)下,完成一次獨(dú)立運(yùn)算,并通過(guò)硬件接口映射模塊,完成一次相應(yīng)的硬件接口操作。
上述時(shí)鐘激勵(lì)信息包含:同源時(shí)鐘激勵(lì)信息和/或異構(gòu)時(shí)鐘激勵(lì)信息。仿真任務(wù)包含:若干同步性任務(wù)和/或若干異步性任務(wù)。
上述時(shí)鐘域控制模塊包含:脈沖時(shí)鐘獲取子模塊,其用于在脈沖時(shí)鐘源中進(jìn)行時(shí)鐘信號(hào)的采集,將采集到的脈沖時(shí)鐘源進(jìn)行中斷委托,發(fā)送給時(shí)鐘激勵(lì)子模塊;總線時(shí)鐘獲取子模塊,其用于在總線中進(jìn)行總線信號(hào)的采集,將采集到的總線數(shù)據(jù)信號(hào)進(jìn)行數(shù)據(jù)驅(qū)動(dòng),并進(jìn)行中斷委托,發(fā)送給時(shí)鐘激勵(lì)子模塊;時(shí)鐘激勵(lì)子模塊,其用于接收脈沖時(shí)鐘獲取子模塊和總線時(shí)鐘獲取子模塊的中斷委托,當(dāng)接收到時(shí)脈沖時(shí)鐘信號(hào)或總線數(shù)據(jù)驅(qū)動(dòng)信號(hào)時(shí),時(shí)鐘激勵(lì)子模塊將產(chǎn)生時(shí)鐘激勵(lì)信號(hào),并發(fā)送給仿真控制模塊。
上述仿真控制模塊包含:資源配置子模塊,其用于將若干仿真任務(wù)的資源配置信息,均發(fā)送給仿真任務(wù)集中間層子模塊,同時(shí)將若干仿真任務(wù)的時(shí)鐘信息均發(fā)送給時(shí)鐘調(diào)度子模塊;時(shí)鐘調(diào)度子模塊,其用于從時(shí)鐘域控制模塊中獲取時(shí)鐘激勵(lì)信息;仿真任務(wù)集中間層子模塊,其用于對(duì)仿真任務(wù)的基本屬性進(jìn)行定義,并根據(jù)資源配置信息和時(shí)鐘激勵(lì)信息,實(shí)例化若干仿真任務(wù),形成仿真任務(wù)集。
上述仿真任務(wù)的基本屬性包含:仿真任務(wù)所運(yùn)行的處理器信息、硬件環(huán)境、監(jiān)控總線環(huán)境,以及時(shí)鐘激勵(lì)信息接口。
上述仿真控制模塊還包含:仿真任務(wù)集調(diào)度子模塊,其用于掛起仿真任務(wù)模塊,當(dāng)時(shí)鐘激勵(lì)觸發(fā)時(shí),在仿真任務(wù)模塊接收到對(duì)應(yīng)的時(shí)鐘激勵(lì)信息后,向仿真任務(wù)模塊發(fā)送對(duì)應(yīng)的仿真任務(wù)的時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)。
上述仿真控制模塊還包含:數(shù)據(jù)發(fā)現(xiàn)子模塊,其用于在監(jiān)控總線中監(jiān)聽(tīng)數(shù)據(jù)請(qǐng)求信息,并在仿真任務(wù)集調(diào)度子模塊中通過(guò)任務(wù)間通信的隊(duì)列,完成對(duì)所需數(shù)據(jù)的提??;數(shù)據(jù)同傳子模塊,其用于將數(shù)據(jù)發(fā)現(xiàn)子模塊中的數(shù)據(jù)內(nèi)容通過(guò)監(jiān)控總線向仿真系統(tǒng)動(dòng)態(tài)監(jiān)控上位機(jī)發(fā)送,同時(shí)還接收仿真系統(tǒng)動(dòng)態(tài)監(jiān)控上位機(jī)的修改仿真數(shù)據(jù)指令,對(duì)對(duì)應(yīng)的仿真任務(wù)模塊的數(shù)據(jù)進(jìn)行修改;以及數(shù)據(jù)存儲(chǔ)子模塊,其用于將數(shù)據(jù)發(fā)現(xiàn)子模塊中的數(shù)據(jù)內(nèi)容、仿真系統(tǒng)動(dòng)態(tài)監(jiān)控上位機(jī)的修改仿真數(shù)據(jù)指令和數(shù)據(jù)同傳子模塊的操作內(nèi)容進(jìn)行本地存儲(chǔ)。
上述硬件接口映射模塊規(guī)范的硬件操作還包括(但不限于):模擬量采集操作、模擬量輸出操作、i/o接口讀寫操作、任務(wù)間內(nèi)存交換操作、總線數(shù)據(jù)讀寫操作、反射內(nèi)存數(shù)據(jù)讀寫操作和網(wǎng)絡(luò)通信協(xié)議讀寫操作。上述硬件接口映射模塊規(guī)范的硬件操作還可以是其它可擴(kuò)展的自定義硬件接口操作。
上述總線數(shù)據(jù)讀寫操作包括:can總線數(shù)據(jù)讀寫操作和1553b總線數(shù)據(jù)讀寫操作。
本發(fā)明的一種同源異周期和/或異構(gòu)多任務(wù)時(shí)鐘調(diào)度的方法,該方法采用多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng),其包含:
第一步:在資源配置子模塊中部署各同步性或/和異步性任務(wù){(diào)m_1,m_2,...mi,…,m_n}的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n};
第二步:在仿真系統(tǒng)的初始化過(guò)程中,時(shí)鐘調(diào)度子模塊加載資源配置子模塊,獲取同步性或/和異步性任務(wù)任務(wù){(diào)m_1,m_2,...mi,…,m_n}的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n};
第三步:在時(shí)鐘激勵(lì)子模塊中掛起時(shí)鐘激勵(lì),等待時(shí)鐘激勵(lì)觸發(fā);
第四步:在進(jìn)行同步性任務(wù)時(shí),當(dāng)時(shí)鐘激勵(lì)觸發(fā)時(shí),標(biāo)記當(dāng)前狀態(tài)時(shí)鐘t并進(jìn)行累加,遍歷同步性任務(wù)的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n},判斷前狀態(tài)時(shí)鐘t是否滿足t==t_i,滿足該條件時(shí)觸發(fā)對(duì)應(yīng)任務(wù)m_i的時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào),否則直到遍歷完成,等待下一個(gè)時(shí)鐘激勵(lì);在進(jìn)行異步性任務(wù)時(shí),當(dāng)異構(gòu)時(shí)鐘i的時(shí)鐘激勵(lì)i觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)i觸發(fā),異步性任務(wù)i響應(yīng)執(zhí)行,等待其余時(shí)鐘激勵(lì)觸發(fā)。
本發(fā)明的一種同源異周期和/或異構(gòu)多任務(wù)時(shí)鐘調(diào)度的時(shí)序信號(hào)響應(yīng)方法,該方法通過(guò)根據(jù)同源異周期和/或異構(gòu)多任務(wù)時(shí)鐘調(diào)度的方法,觸發(fā)時(shí)鐘激勵(lì),當(dāng)當(dāng)前時(shí)刻ti=ti時(shí),觸發(fā)第i個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào),使第i個(gè)同步性或/和異步性任務(wù)響應(yīng)執(zhí)行。
在進(jìn)行n個(gè)同步性任務(wù)時(shí),同源時(shí)鐘的基頻為t0,當(dāng)ti=i*t0,0<i≤n,且為自然數(shù)時(shí),在ti時(shí)刻時(shí),對(duì)于第p個(gè)同步性任務(wù),0<p≤n且為自然數(shù),當(dāng)i能被整除p時(shí),第p個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)觸發(fā),第p個(gè)同步性任務(wù)響應(yīng)執(zhí)行;當(dāng)i不能被整除p時(shí),第p個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)不觸發(fā);當(dāng)i=0時(shí),在t0時(shí)刻時(shí),與n個(gè)同步性任務(wù)相應(yīng)的n個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)均觸發(fā),n個(gè)同步性任務(wù)均響應(yīng)執(zhí)行。
在進(jìn)行n個(gè)異步性任務(wù)時(shí),每個(gè)異步性任務(wù)相應(yīng)的時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)的觸發(fā)時(shí)間隔開(kāi),使各個(gè)異步性任務(wù)分別響應(yīng)執(zhí)行,各個(gè)異步性任務(wù)沒(méi)有公共同步節(jié)點(diǎn)。
實(shí)施例1
如圖1所示,為本發(fā)明實(shí)施例1的多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包含:仿真控制模塊1、時(shí)鐘域控制模塊2、仿真任務(wù)模塊3和硬件接口映射模塊4。
其中,仿真控制模塊1包含:資源配置子模塊101、仿真任務(wù)集調(diào)度子模塊102、仿真任務(wù)集中間層子模塊103、時(shí)鐘調(diào)度子模塊104、數(shù)據(jù)發(fā)現(xiàn)子模塊105、數(shù)據(jù)同傳子模塊106和數(shù)據(jù)存儲(chǔ)子模塊106。
其中,時(shí)鐘域控制模塊2包含:脈沖時(shí)鐘獲取子模塊202、總線時(shí)鐘獲取子模塊203和時(shí)鐘激勵(lì)子模塊201。
一種同源異周期多任務(wù)時(shí)鐘調(diào)度的方法,如圖2所示,為本發(fā)明實(shí)施例1的同源異周期多任務(wù)時(shí)鐘調(diào)度的流程圖,進(jìn)行同源異周期多任務(wù)時(shí)鐘調(diào)度驅(qū)動(dòng)時(shí),方法具體如下:
第一步s1:在資源配置子模塊101中部署各同步性任務(wù){(diào)m_1,m_2,...mi,…,m_n}的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n};
第二步s2:時(shí)鐘調(diào)度子模塊104在仿真系統(tǒng)的初始化過(guò)程中,進(jìn)行資源配置子模塊101的加載,獲取同步性任務(wù){(diào)m_1,m_2,...mi,…,m_n}的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n};
第三步s3:在時(shí)鐘激勵(lì)子模塊中掛起時(shí)鐘激勵(lì),等待時(shí)鐘激勵(lì)觸發(fā);
第四步s4:當(dāng)時(shí)鐘激勵(lì)觸發(fā)時(shí),標(biāo)記當(dāng)前狀態(tài)時(shí)鐘t進(jìn)行累加,遍歷同步性任務(wù)的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n},判斷前狀態(tài)時(shí)鐘t是否滿足t==t_i,滿足該條件時(shí)觸發(fā)對(duì)應(yīng)任務(wù)m_i的時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào),否則直到遍歷完成,等待下一個(gè)時(shí)鐘激勵(lì)。
一種同源異周期多任務(wù)時(shí)鐘調(diào)度的時(shí)序信號(hào)響應(yīng)方法,如圖3所示,為本發(fā)明實(shí)施例1的同源異周期多任務(wù)時(shí)鐘調(diào)度的時(shí)序圖,本實(shí)施例中的仿真系統(tǒng)的仿真任務(wù)中含有:三個(gè)同步性任務(wù),分別為同步性任務(wù)1a(第1個(gè)同步性任務(wù))、同步性任務(wù)2a(第2個(gè)同步性任務(wù))和同步性任務(wù)3a(第3個(gè)同步性任務(wù))。同步性任務(wù)1a的仿真周期(即時(shí)鐘信息周期)是t1,同步性任務(wù)2a的仿真周期(即時(shí)鐘信息周期)是t2,同步性任務(wù)3a的仿真周期(即時(shí)鐘信息周期)是t3。本系統(tǒng)的同源時(shí)鐘的基頻是t0。其中,t1=t0,t2=2t0,t3=3t0。同源異周期多任務(wù)時(shí)鐘調(diào)度啟動(dòng)后,不同周期的任務(wù)響應(yīng)情況具體如下:
(1)當(dāng)t0(t0=0)觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)1b(第1個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào))觸發(fā),同步性任務(wù)1a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)2b(第2個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào))觸發(fā),同步性任務(wù)2a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)3b(第3個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào))觸發(fā),同步性任務(wù)3a響應(yīng)執(zhí)行;
(2)當(dāng)t1(t1=t1)觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)1b觸發(fā),同步性任務(wù)1a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)2b不觸發(fā),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)3b不觸發(fā);
(3)當(dāng)t2(t2=t2)觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)1b觸發(fā),同步性任務(wù)1a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)2b觸發(fā),同步性任務(wù)2a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)3b不觸發(fā);
(4)當(dāng)t3(t3=t3)觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)1b觸發(fā),同步性任務(wù)1a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)2b不觸發(fā);時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)3b觸發(fā),同步性任務(wù)3a響應(yīng)執(zhí)行;
(5)當(dāng)t4(t4=4t0)觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)1b觸發(fā),同步性任務(wù)1a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)2b觸發(fā),同步性任務(wù)2a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)3b不觸發(fā);
(6)當(dāng)t5(t5=5t0)觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)1b觸發(fā),同步性任務(wù)1a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)2b不觸發(fā);時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)3b不觸發(fā);
(7)當(dāng)t6(t6=6t0)觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)1b觸發(fā),同步性任務(wù)1響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)2b觸發(fā),同步性任務(wù)2a響應(yīng)執(zhí)行;時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)3b觸發(fā),同步性任務(wù)3a響應(yīng)執(zhí)行。
在上述同源異周期多任務(wù)時(shí)鐘調(diào)度中t0和t6是該仿真任務(wù)集的同步點(diǎn)。
實(shí)施例2
一種異構(gòu)多任務(wù)時(shí)鐘調(diào)度的方法,如圖4所示,為本發(fā)明實(shí)施例2的異構(gòu)時(shí)鐘多任務(wù)時(shí)鐘調(diào)度的流程圖,進(jìn)行異構(gòu)時(shí)鐘多任務(wù)時(shí)鐘調(diào)度驅(qū)動(dòng)時(shí),方法具體如下:
第一步s1’:在資源配置子模塊101中部署有各異步性任務(wù){(diào)m_1,m_2,...mi,…,m_n}的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n};
第二步s2’:時(shí)鐘調(diào)度子模塊104在仿真系統(tǒng)的初始化過(guò)程中,進(jìn)行資源配置子模塊101的加載,獲取異步性任務(wù){(diào)m_1,m_2,...mi,…,m_n}的時(shí)鐘信息周期{t_1,t_2,...ti,…,t_n}
第三步s3’:在時(shí)鐘激勵(lì)子模塊中掛起每一個(gè)異構(gòu)時(shí)鐘激勵(lì),等待時(shí)鐘激勵(lì)觸發(fā);
第四步s4’:當(dāng)異構(gòu)時(shí)鐘i的時(shí)鐘激勵(lì)i觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)i觸發(fā),異步性任務(wù)i響應(yīng)執(zhí)行,等待其余時(shí)鐘激勵(lì)觸發(fā)。
一種異構(gòu)多任務(wù)時(shí)鐘調(diào)度的時(shí)序信號(hào)響應(yīng)方法,如圖5所示,為本發(fā)明實(shí)施例2的異構(gòu)時(shí)鐘多任務(wù)時(shí)鐘調(diào)度的時(shí)序圖,本實(shí)施例中的仿真系統(tǒng)的仿真任務(wù)中還含有:兩個(gè)異步性任務(wù),分別為異步性任務(wù)1a’(第1個(gè)異步性任務(wù))和異步性任務(wù)2a’(第2個(gè)異步性任務(wù))。異步性任務(wù)1a’的仿真周期(即時(shí)鐘信息周期)是t1,異步性任務(wù)2a’的仿真周期(即時(shí)鐘信息周期)是t2。異構(gòu)時(shí)鐘多任務(wù)時(shí)鐘調(diào)度啟動(dòng)后,不同周期的任務(wù)響應(yīng)情況具體如下:
(1)當(dāng)t0、t1、t2、t3、t4、t5、t6觸發(fā)時(shí),時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)1b’(第1個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào))觸發(fā),異步性任務(wù)1a’響應(yīng)執(zhí)行;
(2)當(dāng)t10、t11、t12、t13、觸發(fā)時(shí),t10較t0慢半個(gè)周期,t11較t2慢半個(gè)周期,t12較t4慢半個(gè)周期,t13較t6慢半個(gè)周期,時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào)2b’(第2個(gè)時(shí)鐘調(diào)度驅(qū)動(dòng)信號(hào))觸發(fā),異步性任務(wù)2a’響應(yīng)執(zhí)行;
上述異步性任務(wù)1和異步性任務(wù)2沒(méi)有公共同步節(jié)點(diǎn)。
綜上所述,本發(fā)明的多時(shí)鐘多任務(wù)并行實(shí)時(shí)仿真系統(tǒng)及方法,該系統(tǒng)能夠按多任務(wù)應(yīng)用需求,形成同源時(shí)鐘驅(qū)動(dòng)和異構(gòu)時(shí)鐘驅(qū)動(dòng),從而滿足多時(shí)鐘多任務(wù)的并行仿真要求。
盡管本發(fā)明的內(nèi)容已經(jīng)通過(guò)上述優(yōu)選實(shí)施例作了詳細(xì)介紹,但應(yīng)當(dāng)認(rèn)識(shí)到上述的描述不應(yīng)被認(rèn)為是對(duì)本發(fā)明的限制。在本領(lǐng)域技術(shù)人員閱讀了上述內(nèi)容后,對(duì)于本發(fā)明的多種修改和替代都將是顯而易見(jiàn)的。因此,本發(fā)明的保護(hù)范圍應(yīng)由所附的權(quán)利要求來(lái)限定。