《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 一種基于多DSP協(xié)同工作的控制系統(tǒng)

一種基于多DSP協(xié)同工作的控制系統(tǒng)

2008-06-10
作者:馮伍伍,和 瑋,陳輝林,張

  摘 要: 介紹了一種由三個(gè)DSP嵌入式子系統(tǒng)構(gòu)成的基于CAN總線的分布式系統(tǒng)" title="分布式系統(tǒng)">分布式系統(tǒng)。該系統(tǒng)具有多路信號(hào)實(shí)時(shí)處理、過(guò)程控制" title="過(guò)程控制">過(guò)程控制、與外部測(cè)控中心實(shí)時(shí)交互等功能。
  關(guān)鍵詞: 協(xié)同工作" title="協(xié)同工作">協(xié)同工作 DSP 分布式系統(tǒng)


  盡管數(shù)字信號(hào)處理器(DSP)的性能越來(lái)越強(qiáng),基于DSP嵌入式系統(tǒng)的功能也越來(lái)越多,但對(duì)于實(shí)時(shí)性、容錯(cuò)性、可靠性要求很高的多任務(wù)信號(hào)處理及多路過(guò)程控制方面的應(yīng)用,單個(gè)DSP嵌入式系統(tǒng)的處理能力是不夠的。分布式系統(tǒng)處理能力強(qiáng)、可靠性高,采用多個(gè)DSP嵌入式子系統(tǒng)構(gòu)成分布式系統(tǒng),利用分布式系統(tǒng)的并發(fā)性實(shí)現(xiàn)多個(gè)DSP的并行處理,滿足多任務(wù)、實(shí)時(shí)性的要求。同時(shí),通過(guò)硬件和軟件冗余設(shè)計(jì),保證了系統(tǒng)的可靠性。
  本文采用TMS320F2812 DSP實(shí)現(xiàn)了三個(gè)同構(gòu)的、具有多種實(shí)時(shí)信號(hào)處理和多個(gè)過(guò)程控制功能的嵌入式" title="的嵌入式">的嵌入式子系統(tǒng)A、B、C,以CAN總線為通信網(wǎng)絡(luò)構(gòu)成分布式系統(tǒng)。該系統(tǒng)能夠與外部測(cè)控中心實(shí)時(shí)交互,同時(shí)完成23路模擬信號(hào)的實(shí)時(shí)采集/預(yù)處理、16路數(shù)字信號(hào)處理、16路數(shù)字信號(hào)的輸出、1路脈沖信號(hào)處理、多路過(guò)程控制參數(shù)的實(shí)時(shí)計(jì)算、各種狀態(tài)及參數(shù)的實(shí)時(shí)記錄等。三個(gè)子系統(tǒng)的硬件設(shè)計(jì)完全相同,通過(guò)CAN總線與RS422串口" title="串口">串口交換信息,通過(guò)軟件配置為各子系統(tǒng)分配資源、動(dòng)態(tài)分配任務(wù),有效地均衡了各處理機(jī)的負(fù)載。三個(gè)子系統(tǒng)資源共享、互為備份,提高了整個(gè)系統(tǒng)的可靠性。
  在實(shí)時(shí)系統(tǒng)中,如果系統(tǒng)的運(yùn)行不能滿足響應(yīng)時(shí)間的要求,將會(huì)導(dǎo)致整個(gè)系統(tǒng)的崩潰。因此,分布式系統(tǒng)各組件之間的通信和協(xié)調(diào)工作是實(shí)現(xiàn)系統(tǒng)各組件并發(fā)處理、系統(tǒng)資源共享、均衡系統(tǒng)各組件的負(fù)載、提高整個(gè)系統(tǒng)的吞吐量、保證系統(tǒng)可靠工作的關(guān)鍵。
  本文重點(diǎn)討論了各子系統(tǒng)之間的通信方式、系統(tǒng)的任務(wù)分配和系統(tǒng)的協(xié)調(diào)工作機(jī)制。
1 系統(tǒng)的構(gòu)成
1.1 CAN總線

  CAN(Controller Area Network)屬于總線式串行通信網(wǎng)絡(luò)。CAN總線有效地支持安全可靠的分布式實(shí)時(shí)控制系統(tǒng),通信方式靈活、抗干擾能力強(qiáng)、可靠性高,直接通信距離最遠(yuǎn)可達(dá)10km(傳輸率5kbps以下),通信速率最高達(dá)1Mbps(通信距離40m以內(nèi)),網(wǎng)上節(jié)點(diǎn)數(shù)可達(dá)110個(gè)。CAN總線為多主工作方式,可以方便地構(gòu)成多機(jī)備份系統(tǒng)[4]
1.2 數(shù)字信號(hào)處理器
  TMS320F2812 DSP是工業(yè)控制領(lǐng)域的一種高端產(chǎn)品,具有速度快、功耗低、接口方便靈活、易于開(kāi)發(fā)、精度高、兼容性好、資源豐富等特點(diǎn)。F2812采用哈佛總線結(jié)構(gòu),具有32位高性能的CPU,時(shí)鐘頻率為150MHz并支持動(dòng)態(tài)改變鎖相環(huán)的頻率,擁有Flash等多種類型存儲(chǔ)器、PIE中斷模塊、A/D轉(zhuǎn)換模塊、事件管理器、SCI口、SPI口、eCAN總線和McBSP通信模塊等豐富的外圍設(shè)備,可以滿足各種應(yīng)用的需求。
1.3 基于DSP的嵌入式子系統(tǒng)的硬件構(gòu)成
  基于TMSF2812 DSP的嵌入式子系統(tǒng)(見(jiàn)圖1)是為滿足實(shí)時(shí)多任務(wù)而設(shè)計(jì)的,硬件、軟件可根據(jù)需要進(jìn)行裁剪,可靠性高、響應(yīng)速度快、自動(dòng)化程度高。
  三個(gè)子系統(tǒng)的硬件設(shè)計(jì)完全相同,除DSP片上資源外,每個(gè)子系統(tǒng)都擴(kuò)展了非易失性存儲(chǔ)器(E2PROM或鐵電隨機(jī)存儲(chǔ)器)、SRAM、四路RS422接口(兩路RS232可選)、實(shí)時(shí)時(shí)鐘等輔助模塊。


1.4 系統(tǒng)的體系結(jié)構(gòu)
  該系統(tǒng)是由三個(gè)基于F2812 DSP的嵌入式子系統(tǒng)A、B、C通過(guò)CAN總線構(gòu)成同構(gòu)異步的分布式系統(tǒng)(見(jiàn)圖2)。三個(gè)子系統(tǒng)沒(méi)有主從關(guān)系,各子系統(tǒng)的功能根據(jù)系統(tǒng)狀態(tài),通過(guò)任務(wù)分配策略,用軟件配置。三個(gè)子系統(tǒng)與硬件、軟件互為備份,提高了系統(tǒng)的可靠性。


  三個(gè)子系統(tǒng)之間主要通過(guò)CAN總線進(jìn)行信息交換,變化較慢的數(shù)據(jù)也可以通過(guò)UART串口進(jìn)行交換。每個(gè)子系統(tǒng)都能夠同時(shí)接收信號(hào),也能夠輸出控制信號(hào)。通過(guò)特殊的硬件設(shè)計(jì),每個(gè)子系統(tǒng)都具有故障隔離的功能,可以防止因?yàn)橐粋€(gè)子系統(tǒng)出現(xiàn)故障而影響整個(gè)系統(tǒng)的工作。
2 分布式系統(tǒng)的協(xié)同工作
  分布式系統(tǒng)的資源位于不同的位置,系統(tǒng)需要不斷監(jiān)視各組件的狀態(tài),檢查資源的使用情況。當(dāng)一個(gè)處理器出現(xiàn)故障時(shí),系統(tǒng)應(yīng)該立即響應(yīng),重新調(diào)配資源,規(guī)劃任務(wù)分配方案,確定任務(wù)分配策略,重構(gòu)系統(tǒng),必要時(shí)犧牲系統(tǒng)的某些性能,以保證系統(tǒng)正常工作。
2.1 系統(tǒng)狀態(tài)監(jiān)視
  系統(tǒng)狀態(tài)包括每個(gè)子系統(tǒng)各個(gè)模塊的工作狀態(tài)(CPU、UART的工作狀態(tài)、片上存儲(chǔ)器(SDRAM、FLASH等)和片外存儲(chǔ)器(SRAM)、非易失性存儲(chǔ)器的分配情況)、每個(gè)子系統(tǒng)之間的通信狀態(tài)等。
  分布式系統(tǒng)中,各子系統(tǒng)難以確定系統(tǒng)的狀態(tài)。為此,網(wǎng)絡(luò)上的每個(gè)子系統(tǒng)應(yīng)定時(shí)向其他子系統(tǒng)廣播,將各自的狀態(tài)通知其他子系統(tǒng)(見(jiàn)圖3)。如果在規(guī)定的時(shí)間內(nèi)沒(méi)有收到某個(gè)子系統(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通信的情況。通過(guò)A、B、C之間的相互通信,確定系統(tǒng)的狀態(tài)。


  不失一般性,令三個(gè)子系統(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ù)分配問(wèn)題是NP-完全的,通常是根據(jù)具體應(yīng)用需求,確定一個(gè)可行的、比較滿意的任務(wù)分配策略。任務(wù)分配的目的是合理配置系統(tǒng)資源,設(shè)法減少系統(tǒng)中各處理器間的通信開(kāi)銷和執(zhí)行模塊所需的開(kāi)銷。均衡負(fù)載是將系統(tǒng)承擔(dān)的任務(wù)合理地分配給系統(tǒng)中各處理機(jī),最大限度地提高系統(tǒng)的吞吐量。一般來(lái)說(shuō),減少系統(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ù)分配策略,通過(guò)軟件自動(dòng)為各子系統(tǒng)分配任務(wù)。人工分配方式是測(cè)控中心通過(guò)指令為子系統(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)、過(guò)程控制(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)過(guò)程控制的參數(shù)計(jì)算、控制信號(hào)輸出、與測(cè)控中心實(shí)時(shí)交互等。經(jīng)過(guò)測(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ù)(見(jiàn)圖4)。該系統(tǒng)正常工作時(shí),三個(gè)子系統(tǒng)分別承擔(dān)信號(hào)采集/預(yù)處理、信號(hào)運(yùn)算和過(guò)程控制任務(wù);當(dāng)一個(gè)或兩個(gè)子系統(tǒng)出現(xiàn)故障時(shí),系統(tǒng)通過(guò)CAN總線檢測(cè)各子系統(tǒng)情況,確定系統(tǒng)的狀態(tài),根據(jù)任務(wù)分配策略,由其余子系統(tǒng)代替故障子系統(tǒng)的任務(wù)。當(dāng)線路出現(xiàn)故障時(shí),由測(cè)控中心通過(guò)串口發(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ì)串口的讀寫(xiě)。
  本文介紹了由三個(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è)過(guò)程控制、與測(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

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。