1.4 系統(tǒng)的體系結(jié)構(gòu)
該系統(tǒng)是由三個基于F2812 DSP的嵌入式子系統(tǒng)A、B、C通過CAN總線構(gòu)成同構(gòu)異步的分布式系統(tǒng)(見圖2)。三個子系統(tǒng)沒有主從關(guān)系,各子系統(tǒng)的功能根據(jù)系統(tǒng)狀態(tài),通過任務(wù)分配策略,用軟件配置。三個子系統(tǒng)與硬件、軟件互為備份,提高了系統(tǒng)的可靠性。
三個子系統(tǒng)之間主要通過CAN總線進(jìn)行信息交換,變化較慢的數(shù)據(jù)也可以通過UART串口進(jìn)行交換。每個子系統(tǒng)都能夠同時接收信號,也能夠輸出控制信號。通過特殊的硬件設(shè)計(jì),每個子系統(tǒng)都具有故障隔離的功能,可以防止因?yàn)橐粋€子系統(tǒng)出現(xiàn)故障而影響整個系統(tǒng)的工作。
2 分布式系統(tǒng)的協(xié)同工作
分布式系統(tǒng)的資源位于不同的位置,系統(tǒng)需要不斷監(jiān)視各組件的狀態(tài),檢查資源的使用情況。當(dāng)一個處理器出現(xiàn)故障時,系統(tǒng)應(yīng)該立即響應(yīng),重新調(diào)配資源,規(guī)劃任務(wù)分配方案,確定任務(wù)分配策略,重構(gòu)系統(tǒng),必要時犧牲系統(tǒng)的某些性能,以保證系統(tǒng)正常工作。
2.1 系統(tǒng)狀態(tài)監(jiān)視
系統(tǒng)狀態(tài)包括每個子系統(tǒng)各個模塊的工作狀態(tài)(CPU、UART的工作狀態(tài)、片上存儲器(SDRAM、FLASH等)和片外存儲器(SRAM)、非易失性存儲器的分配情況)、每個子系統(tǒng)之間的通信狀態(tài)等。
分布式系統(tǒng)中,各子系統(tǒng)難以確定系統(tǒng)的狀態(tài)。為此,網(wǎng)絡(luò)上的每個子系統(tǒng)應(yīng)定時向其他子系統(tǒng)廣播,將各自的狀態(tài)通知其他子系統(tǒng)(見圖3)。如果在規(guī)定的時間內(nèi)沒有收到某個子系統(tǒng)的消息,則認(rèn)為該子系統(tǒng)出現(xiàn)故障,系統(tǒng)應(yīng)重新配置系統(tǒng)資源、重新分配任務(wù),重構(gòu)系統(tǒng)。
圖3中:SCAB表示子系統(tǒng)A到B通信的情況。通過A、B、C之間的相互通信,確定系統(tǒng)的狀態(tài)。
不失一般性,令三個子系統(tǒng)的狀態(tài)的集合為SA、SB、SC,則系統(tǒng)狀態(tài)SS為:
SS=ρ(SA∪SB∪SC)
={Si|0≤i≤N} (1)
其中:ρ(A)表示A的冪集,N=|SS|
2.2 任務(wù)分配策略
一般情況下,多處理機(jī)任務(wù)分配問題是NP-完全的,通常是根據(jù)具體應(yīng)用需求,確定一個可行的、比較滿意的任務(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)間的通信量,同時均衡各子系統(tǒng)的負(fù)載,以此提高整個系統(tǒng)的性能。
系統(tǒng)的任務(wù)分配有兩種方式:自動方式和人工方式。自動分配方式是根據(jù)系統(tǒng)狀態(tài)和各子系統(tǒng)任務(wù)量的估計(jì)確定任務(wù)分配策略,通過軟件自動為各子系統(tǒng)分配任務(wù)。人工分配方式是測控中心通過指令為子系統(tǒng)分配任務(wù)。
不妨假設(shè)系統(tǒng)是由N個組件構(gòu)成的一個分布式系統(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ù)分配策略受多種因素的制約和影響,如空間限制、信號干擾、通信距離等,所以,只能在一定條件下最大限度地滿足負(fù)載均衡、任務(wù)間最小通信量等任務(wù)分配原則。
在該系統(tǒng)的具體應(yīng)用中,考慮到信號干擾和數(shù)據(jù)傳輸?shù)囊?,將系統(tǒng)承擔(dān)的任務(wù)主要分為信號的采集/預(yù)處理(SP)、信號運(yùn)算(SC)、過程控制(SO)。SP任務(wù)主要承擔(dān)23路模擬信號的采集、AD轉(zhuǎn)換、信號濾波等;SC任務(wù)主要承擔(dān)各類信號的運(yùn)算;SO任務(wù)主要承擔(dān)過程控制的參數(shù)計(jì)算、控制信號輸出、與測控中心實(shí)時交互等。經(jīng)過測試,CPU對于SP、SC、SO任務(wù)的負(fù)載基本均衡,三個子系統(tǒng)之間的通信量基本相同。將承擔(dān)SP任務(wù)的子系統(tǒng)盡量放置在信號源附近,將承擔(dān)SO任務(wù)的子系統(tǒng)盡量放置在控制部件附近,可以減小信號的干擾,同時也能減少數(shù)據(jù)的通信量?;谝陨弦蛩氐目紤],根據(jù)系統(tǒng)狀態(tài),確定如表1所示的任務(wù)分配策略。
2.3 系統(tǒng)的協(xié)同工作
系統(tǒng)協(xié)同工作包括系統(tǒng)資源的統(tǒng)一調(diào)配(CPU、各類存儲器、事件管理器、GPIO等)、根據(jù)實(shí)際需求和系統(tǒng)狀態(tài)確定任務(wù)分配策略以及為各子系統(tǒng)分配任務(wù)。當(dāng)系統(tǒng)狀態(tài)變化時,重新配置系統(tǒng)資源、確定任務(wù)分配策略,為每個子系統(tǒng)重新分配任務(wù)(見圖4)。該系統(tǒng)正常工作時,三個子系統(tǒng)分別承擔(dān)信號采集/預(yù)處理、信號運(yùn)算和過程控制任務(wù);當(dāng)一個或兩個子系統(tǒng)出現(xiàn)故障時,系統(tǒng)通過CAN總線檢測各子系統(tǒng)情況,確定系統(tǒng)的狀態(tài),根據(jù)任務(wù)分配策略,由其余子系統(tǒng)代替故障子系統(tǒng)的任務(wù)。當(dāng)線路出現(xiàn)故障時,由測控中心通過串口發(fā)送指令,人工分配任務(wù),保證系統(tǒng)正常工作。
2.4 輔助通信、與測控中心交互
系統(tǒng)由三個子系統(tǒng)構(gòu)成,每個子系統(tǒng)有四路RS422串口,記作Ai、Bi、Ci(i=1、2、3、4)。根據(jù)任務(wù)的需求,Ai、Bi、Ci連接在一起,分別完成信息采集、子系統(tǒng)之間輔助通信、與測控中心交互的任務(wù)。
與測控中心實(shí)時交互的目的是:一方面將系統(tǒng)狀態(tài)和各種參數(shù)傳送到測控中心;另一方面,測控中心可以發(fā)送指令,完成指定的任務(wù)。
測控中心實(shí)時監(jiān)視系統(tǒng)的工作狀態(tài)。當(dāng)CAN總線工作正常時,系統(tǒng)自動完成任務(wù)分配等任務(wù);當(dāng)CAN總線出現(xiàn)斷路或其他線路故障時,測控中心發(fā)送指令給系統(tǒng),人工分配任務(wù),保證系統(tǒng)正常工作。
根據(jù)任務(wù)的需求,三個子系統(tǒng)的串口Ai、Bi、Ci(i=1、2、3、4)連接在一起發(fā)送數(shù)據(jù)時會發(fā)生沖突,因此,系統(tǒng)應(yīng)根據(jù)各串口的工作狀態(tài)確定線路狀態(tài),根據(jù)線路狀態(tài)決定對串口的讀寫。
本文介紹了由三個DSP嵌入式子系統(tǒng)構(gòu)成的基于CAN總線的分布式系統(tǒng)的軟、硬件設(shè)計(jì)方案,著重分析了各子系統(tǒng)之間協(xié)同工作的方式。該系統(tǒng)充分利用了分布式系統(tǒng)的并發(fā)性和可靠性等特點(diǎn),在滿足多路信號實(shí)時處理、多個過程控制、與測控中心實(shí)時交互等要求的基礎(chǔ)上,采用自動分配任務(wù)和指令分配任務(wù)相結(jié)合的方式,有效地提高了系統(tǒng)的可靠性。實(shí)驗(yàn)仿真和現(xiàn)場測試表明,該系統(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
今天,小編將在這篇文章中為大家?guī)泶髷?shù)據(jù)的有關(guān)報(bào)道,通過閱讀這篇文章,大家可以對大數(shù)據(jù)具備清晰的認(rèn)識,主要內(nèi)容如下。
關(guān)鍵字: 大數(shù)據(jù) 分布式 Kafka大數(shù)據(jù)將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關(guān)情況以及信息有所認(rèn)識和了解,詳細(xì)內(nèi)容如下。
關(guān)鍵字: 大數(shù)據(jù) 物聯(lián)網(wǎng) 分布式摘要:詳細(xì)分析了木地板自動鋪設(shè)裝置的工作原理,介紹了其結(jié)構(gòu)組成、關(guān)鍵部位和控制系統(tǒng),同時闡述了木地板自動鋪設(shè)裝置的特點(diǎn),并從實(shí)用角度分析了木地板自動鋪設(shè)裝置的可用性。另外,運(yùn)用UG NX12.0三維建模軟件構(gòu)建了該裝置的...
關(guān)鍵字: 自動鋪設(shè)裝置 三維建模 控制系統(tǒng)摘要:隨著我國城鎮(zhèn)化進(jìn)程加快,汽車保用量劇增,土地資源緊缺,停車難問題日益嚴(yán)重,提升車位空間的利用率是目前解決這個問題的有效途徑之一。鑒于此,設(shè)計(jì)了一種基于PLC與小程序的自助立體停車庫,以PLC為控制系統(tǒng)的核心,服務(wù)器...
關(guān)鍵字: 控制系統(tǒng) PLC 通信協(xié)議