一種基于多DSP協(xié)同工作的控制系統(tǒng)
2.2 任務(wù)分配策略
本文引用地址:http://m.butianyuan.cn/article/84427.htm一般情況下,多處理機(jī)任務(wù)分配問題是NP-完全的,通常是根據(jù)具體應(yīng)用需求,確定一個(gè)可行的、比較滿意的任務(wù)分配策略。任務(wù)分配的目的是合理配置系統(tǒng)資源,設(shè)法減少系統(tǒng)中各處理器間的通信開銷和執(zhí)行模塊所需的開銷。均衡負(fù)載是將系統(tǒng)承擔(dān)的任務(wù)合理地分配給系統(tǒng)中各處理機(jī),最大限度地提高系統(tǒng)的吞吐量。一般來說,減少系統(tǒng)的通信量和均衡負(fù)載是相互矛盾的。因此,任務(wù)分配策略也就是最大限度地減少系統(tǒng)中各子系統(tǒng)間的通信量,同時(shí)均衡各子系統(tǒng)的負(fù)載,以此提高整個(gè)系統(tǒng)的性能。
系統(tǒng)的任務(wù)分配有兩種方式:自動(dòng)方式和人工方式。自動(dòng)分配方式是根據(jù)系統(tǒng)狀態(tài)和各子系統(tǒng)任務(wù)量的估計(jì)確定任務(wù)分配策略,通過軟件自動(dòng)為各子系統(tǒng)分配任務(wù)。人工分配方式是測(cè)控中心通過指令為子系統(tǒng)分配任務(wù)。
不妨假設(shè)系統(tǒng)是由N個(gè)組件構(gòu)成的一個(gè)分布式系統(tǒng),承擔(dān)的任務(wù)為T,則:
T={Ti|0≤i<M},Ti為最小任務(wù)分割。
構(gòu)造任務(wù)分配集合V:
確定任務(wù)分配策略TAS(Task Allocate Strategy):
在實(shí)際應(yīng)用中,任務(wù)分配策略受多種因素的制約和影響,如空間限制、信號(hào)干擾、通信距離等,所以,只能在一定條件下最大限度地滿足負(fù)載均衡、任務(wù)間最小通信量等任務(wù)分配原則。
在該系統(tǒng)的具體應(yīng)用中,考慮到信號(hào)干擾和數(shù)據(jù)傳輸?shù)囊?,將系統(tǒng)承擔(dān)的任務(wù)主要分為信號(hào)的采集/預(yù)處理(SP)、信號(hào)運(yùn)算(SC)、過程控制(SO)。SP任務(wù)主要承擔(dān)23路模擬信號(hào)的采集、AD轉(zhuǎn)換、信號(hào)濾波等;SC任務(wù)主要承擔(dān)各類信號(hào)的運(yùn)算;SO任務(wù)主要承擔(dān)過程控制的參數(shù)計(jì)算、控制信號(hào)輸出、與測(cè)控中心實(shí)時(shí)交互等。經(jīng)過測(cè)試,CPU對(duì)于SP、SC、SO任務(wù)的負(fù)載基本均衡,三個(gè)子系統(tǒng)之間的通信量基本相同。將承擔(dān)SP任務(wù)的子系統(tǒng)盡量放置在信號(hào)源附近,將承擔(dān)SO任務(wù)的子系統(tǒng)盡量放置在控制部件附近,可以減小信號(hào)的干擾,同時(shí)也能減少數(shù)據(jù)的通信量。基于以上因素的考慮,根據(jù)系統(tǒng)狀態(tài),確定如表1所示的任務(wù)分配策略。
2.3 系統(tǒng)的協(xié)同工作
系統(tǒng)協(xié)同工作包括系統(tǒng)資源的統(tǒng)一調(diào)配(CPU、各類存儲(chǔ)器、事件管理器、GPIO等)、根據(jù)實(shí)際需求和系統(tǒng)狀態(tài)確定任務(wù)分配策略以及為各子系統(tǒng)分配任務(wù)。當(dāng)系統(tǒng)狀態(tài)變化時(shí),重新配置系統(tǒng)資源、確定任務(wù)分配策略,為每個(gè)子系統(tǒng)重新分配任務(wù)(見圖4)。該系統(tǒng)正常工作時(shí),三個(gè)子系統(tǒng)分別承擔(dān)信號(hào)采集/預(yù)處理、信號(hào)運(yùn)算和過程控制任務(wù);當(dāng)一個(gè)或兩個(gè)子系統(tǒng)出現(xiàn)故障時(shí),系統(tǒng)通過CAN總線檢測(cè)各子系統(tǒng)情況,確定系統(tǒng)的狀態(tài),根據(jù)任務(wù)分配策略,由其余子系統(tǒng)代替故障子系統(tǒng)的任務(wù)。當(dāng)線路出現(xiàn)故障時(shí),由測(cè)控中心通過串口發(fā)送指令,人工分配任務(wù),保證系統(tǒng)正常工作。
2.4 輔助通信、與測(cè)控中心交互
系統(tǒng)由三個(gè)子系統(tǒng)構(gòu)成,每個(gè)子系統(tǒng)有四路RS422串口,記作Ai、Bi、Ci(i=1、2、3、4)。根據(jù)任務(wù)的需求,Ai、Bi、Ci連接在一起,分別完成信息采集、子系統(tǒng)之間輔助通信、與測(cè)控中心交互的任務(wù)。
與測(cè)控中心實(shí)時(shí)交互的目的是:一方面將系統(tǒng)狀態(tài)和各種參數(shù)傳送到測(cè)控中心;另一方面,測(cè)控中心可以發(fā)送指令,完成指定的任務(wù)。
測(cè)控中心實(shí)時(shí)監(jiān)視系統(tǒng)的工作狀態(tài)。當(dāng)CAN總線工作正常時(shí),系統(tǒng)自動(dòng)完成任務(wù)分配等任務(wù);當(dāng)CAN總線出現(xiàn)斷路或其他線路故障時(shí),測(cè)控中心發(fā)送指令給系統(tǒng),人工分配任務(wù),保證系統(tǒng)正常工作。
根據(jù)任務(wù)的需求,三個(gè)子系統(tǒng)的串口Ai、Bi、Ci(i=1、2、3、4)連接在一起發(fā)送數(shù)據(jù)時(shí)會(huì)發(fā)生沖突,因此,系統(tǒng)應(yīng)根據(jù)各串口的工作狀態(tài)確定線路狀態(tài),根據(jù)線路狀態(tài)決定對(duì)串口的讀寫。
本文介紹了由三個(gè)DSP嵌入式子系統(tǒng)構(gòu)成的基于CAN總線的分布式系統(tǒng)的軟、硬件設(shè)計(jì)方案,著重分析了各子系統(tǒng)之間協(xié)同工作的方式。該系統(tǒng)充分利用了分布式系統(tǒng)的并發(fā)性和可靠性等特點(diǎn),在滿足多路信號(hào)實(shí)時(shí)處理、多個(gè)過程控制、與測(cè)控中心實(shí)時(shí)交互等要求的基礎(chǔ)上,采用自動(dòng)分配任務(wù)和指令分配任務(wù)相結(jié)合的方式,有效地提高了系統(tǒng)的可靠性。實(shí)驗(yàn)仿真和現(xiàn)場(chǎng)測(cè)試表明,該系統(tǒng)不僅滿足了任務(wù)要求,而且還具有很高的穩(wěn)定性和可靠性。
參考文獻(xiàn)
1 Simon-Klar C.A Multi DSP board for real time SAR pro-cessing using the HiPAR-DSP 16.In:Proceedings of the In-ternational Geoscience and Remote Sensing Symposium 2002,2002,6
2 Coulouris G,Dollimore J,Kindberg T著,金蓓弘譯.分布系統(tǒng)概念與設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2004
3 Bacon J,Harris T著,陳向群譯.操作系統(tǒng)-并發(fā)與分布式軟件設(shè)計(jì).北京:電子工業(yè)出版社,2005
4 何炎祥.分布式操作系統(tǒng).北京:高等教育出版社,2005
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論