曹云飛 王寧 夏天乾
【摘? 要】針對TTP分布式實時控制系統(tǒng)在節(jié)點較多且存在部分節(jié)點功能簡單時,大量使用TTP節(jié)點將使系統(tǒng)成本急劇上升的問題,論文基于TMS320F28335設(shè)計了一種多主節(jié)點余度、高可靠、高同步精度的時間觸發(fā)TTCAN總線,并將其作為TTP總線網(wǎng)絡(luò)的補充子網(wǎng),實現(xiàn)全網(wǎng)絡(luò)時鐘同步與時間觸發(fā),滿足高可靠、高確定性大型分布式實時控制系統(tǒng)的控制、同步、加載與成本要求,具有重要的工程應(yīng)用價值。
【Abstract】In view of the problem of TTP distributed real-time control system when there are many nodes and some nodes have simple functions, using a large number of TTP nodes will cause the system cost to rise sharply, based on TMS320F28335, this paper designs a time-triggered TTCAN bus with multi-master nodes redundancy, high reliability and high synchronization precision, and uses it as a supplementary subnet of TTP bus network to realize clock synchronization and time triggering, to meet the requirements of control, synchronization, loading and cost of large-scale distributed real-time control system with high reliability and high certainty. It has important engineering application value.
【關(guān)鍵詞】TTCAN總線;TTP總線;分布式控制;分布式加載
【Keywords】TTCAN bus; TTP bus; distributed control; distributed loading
【中圖分類號】TP273? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文獻標志碼】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文章編號】1673-1069(2021)02-0145-03
1 引言
TTP作為一種性能優(yōu)異的時間觸發(fā)總線,在高性能控制領(lǐng)域得到認可,但其高昂的成本也限制了其在一些成本敏感的領(lǐng)域的推廣。CAN總線作為分布式成熟的解決方案,在汽車電子領(lǐng)域得到廣泛的應(yīng)用,然而傳統(tǒng)的CAN總線基于事件觸發(fā),信息傳輸時間和優(yōu)先級倒置的不確定性是其固有的缺點[1]。為了滿足對實時性和通信能力不斷增長的要求,有必要提高CAN總線的實時性。本文基于TMS320F28335處理器,將傳統(tǒng)CAN和時間觸發(fā)機制結(jié)合設(shè)計了一種多主節(jié)點TTCAN實現(xiàn)方案,并將其作為TTP網(wǎng)絡(luò)的補充,能夠保證全網(wǎng)絡(luò)的時鐘同步與加載,綜合考慮了節(jié)點硬件成本與高確定性通信技術(shù)指標的平衡,有著重要的工程應(yīng)用價值。
2 總線方案設(shè)計
2.1 總線拓撲結(jié)構(gòu)
在高可靠、高確定分布式控制系統(tǒng)上,大多以TTP網(wǎng)絡(luò)為主干網(wǎng)絡(luò)。然而當(dāng)前工控機并沒有成熟TTP板卡用于接入TTP網(wǎng)絡(luò),且TTP節(jié)點成本昂貴,若在功能簡單的節(jié)點上廣泛使用TTP模塊,將使得系統(tǒng)成本急劇上升。因此本文設(shè)計了如圖1所示的TTCAN三級網(wǎng)絡(luò)架構(gòu),對TTP網(wǎng)絡(luò)進行補充,實現(xiàn)性能與成本的平衡。在如圖1所示的三級網(wǎng)絡(luò)結(jié)構(gòu)中,第一級為監(jiān)視工控上位機的UDP網(wǎng)絡(luò)轉(zhuǎn)TTP網(wǎng)絡(luò),使用節(jié)點UDP2TTP節(jié)點橋接,實現(xiàn)監(jiān)視上位機和TTP網(wǎng)絡(luò)的數(shù)據(jù)交互;第二級網(wǎng)絡(luò)為TTP網(wǎng)絡(luò),由多個TTP節(jié)點構(gòu)成,其中TTP2TTCAN_1和TTP2TTCAN_2節(jié)點實現(xiàn)了TTP網(wǎng)絡(luò)向TTCAN網(wǎng)絡(luò)的轉(zhuǎn)換;第三級網(wǎng)絡(luò)由多個TTCAN節(jié)點構(gòu)成。
2.2 TTCAN總線同步方案設(shè)計
TTCAN總線的時鐘同步可分為通過參考幀觸發(fā)中斷同步和通過參考幀攜帶時鐘信息進行同步。在硬件資源緊張的嵌入式實時控制設(shè)備上,除了實現(xiàn)TTCAN機制外,還需要進行其他復(fù)雜的計算,此時需要綜合考慮硬件資源的分配。本文基于美國德州儀器(TI)的TMS320F28335微處理器硬件平臺實現(xiàn)TTCAN協(xié)議,考慮TMS320F28335平臺兼具其他高實時任務(wù)的處理,因此本文TTCAN同步采用參考幀觸發(fā)中斷同步的方案。
時間觸發(fā)總線一般用于高安全性、高確定性的應(yīng)用場景[2],然而TTCAN總線卻存在一個不足:TTCAN網(wǎng)絡(luò)完全依賴參考幀同步,在主節(jié)點故障時,整個網(wǎng)絡(luò)將癱瘓。為保證TTCAN的可靠性,本文提出了一種多主節(jié)點方案,在圖1總線網(wǎng)絡(luò)拓撲圖中,二、三級網(wǎng)絡(luò)使用兩個TTP轉(zhuǎn)TTCAN網(wǎng)關(guān)節(jié)點TTP2TTCAN_1和TTP2TTCAN_2進行橋接,這兩個節(jié)點兼具TTCAN主節(jié)點的功能,其中一個作為主節(jié)點,另外一個作為備份主節(jié)點。主、備份主節(jié)點總線消息如圖2所示,正常工作時,主節(jié)點發(fā)送參考幀,其他節(jié)點根據(jù)參考幀進行同步。在主節(jié)點異常時,備份節(jié)點將代替主節(jié)點發(fā)送參考幀,進行TTCAN網(wǎng)絡(luò)同步。
本文采用了備份主節(jié)點連續(xù)五次未收到參考幀,則認為主節(jié)點故障的策略,此時備份主節(jié)點將在參考幀時間槽替代主節(jié)點發(fā)送參考幀,而其他時間槽發(fā)送消息不變。該策略將存在兩種情況:①主節(jié)點真實故障,無法發(fā)送同步幀,此時備份節(jié)點將替代主節(jié)點進行參考幀發(fā)送;②備份主節(jié)點故障,無法接受主節(jié)點的參考幀信息,由于備份主節(jié)點故障,此時也將無法發(fā)送參考幀,不對原來的網(wǎng)絡(luò)構(gòu)成影響。因此,本文設(shè)計的TTCAN方案不僅保證了TTCAN網(wǎng)絡(luò)的同步精度,同時由于雙備份的設(shè)計,也保證了二級TTP網(wǎng)絡(luò)到三級TTCAN網(wǎng)絡(luò)間數(shù)據(jù)的穩(wěn)定傳輸,極大地提高了系統(tǒng)的魯棒性。
2.3 軟件升級與維護
對于時間觸發(fā)分布式控制系統(tǒng),一旦系統(tǒng)部署完畢,將必然面臨軟件升級問題。軟件的升級可能是單節(jié)點軟件升級,也可能是整個系統(tǒng)級別的軟件升級。此時將面臨如何合理利用帶寬的問題。此時,若采用總線觸發(fā)模式進行點對點的加載,將必然造成總線帶寬的浪費。如對某一個節(jié)點進行程序加載時,只能在其分配的時間槽與加載上位機進行數(shù)據(jù)交互,這將導(dǎo)致加載速度的低下。本文采取充分利用總線物理層的方式,合理利用TTP網(wǎng)絡(luò)RS485物理層,在進入加載模式時將TTP切換為RS485模式進行加載。對于TTCAN網(wǎng)絡(luò),其物理層為CAN網(wǎng)絡(luò),在加載模式時直接切換為CAN模式。這樣既可保證在不變更硬件和時序規(guī)劃的前提下實現(xiàn)總線加載,同時保證總線加載的性能。
3 TTCAN性能驗證
本文設(shè)計的TTCAN主節(jié)點時序規(guī)劃矩陣如表1所示,表1中共計9個時間槽,每個時間槽有相應(yīng)的消息ID。除參考幀外,每個時間槽的寬度為200us,其中slot2、slot4、slot6為主節(jié)點發(fā)送時間槽,其他時間槽為主節(jié)點接收,備份或從節(jié)點發(fā)送時間槽。如slot1在主節(jié)點時序規(guī)劃矩陣中為接收,在備份主節(jié)點時序規(guī)劃矩陣中為發(fā)送,表示主節(jié)點在slot1時間槽接收備份主節(jié)點的數(shù)據(jù)。
對本文設(shè)計的TTCAN總線進行時序邏輯測量,其時序邏輯如圖3所示。在圖3中,我們可以看到一段長度較短的參考幀RefMsg消息區(qū),其攜帶一個字節(jié)長度的數(shù)據(jù),表示當(dāng)前參考幀處于表1中的第幾列。其他節(jié)點收到參考幀后觸發(fā)中斷,將自身時序調(diào)整到時序規(guī)劃矩陣中相同的位置完成節(jié)拍同步。圖3中還存在大量寬度均勻的交互消息,測量結(jié)果顯示這些消息的起始時間相差200us,與TTCAN總線設(shè)計的slot寬度一致。因此本文設(shè)計的TTCAN能夠?qū)崿F(xiàn)時間觸發(fā),具有較高的觸發(fā)精度。
本文對TTCAN的總線進行負載率測試,其測量結(jié)果如圖4所示。圖4的左側(cè)為總線上實際發(fā)送的數(shù)據(jù),對于每一個寬度為200us的時間槽,總線上發(fā)送的數(shù)據(jù)長度均為8個字節(jié),為CAN協(xié)議的最長報文。而在圖4右側(cè),總線的最大負載率為58.40%,最小為58.39%,平均為58.39%,該負載率穩(wěn)定且在合理的范圍內(nèi)。因此TTCAN能夠合理地規(guī)劃總線,均衡負載避免總線沖突,具有非常高的確定性。
對于本文設(shè)計的多余度TTCAN主備節(jié)點的方案,設(shè)計如下驗證實驗:①傳統(tǒng)的單主節(jié)點的方案,將主節(jié)點斷電模擬主節(jié)點故障,此時由于所有的從節(jié)點必須接收到參考幀后才會發(fā)送自身的消息,這導(dǎo)致整個網(wǎng)絡(luò)癱瘓無數(shù)據(jù)交互;②主備節(jié)點方案,在主節(jié)點斷電模擬主節(jié)點故障時,其測量結(jié)果如圖5所示,總線上將無主節(jié)點的消息(消息ID為0x200、0x400和0x600),此時備份節(jié)點轉(zhuǎn)換為主節(jié)點發(fā)送參考幀(消息ID為0)驅(qū)動整個網(wǎng)絡(luò)同步,確保非故障節(jié)點的正常消息交互。因此,本文設(shè)計的多余度主備節(jié)點方案相對但單主節(jié)點的方案,可靠性和魯棒性具有極大的提升。
根據(jù)以上實驗,可以得出:本文設(shè)計的TTCAN能夠按照既定的時序進行調(diào)度,實現(xiàn)良好的時間觸發(fā)通信;能夠確定性地均衡總線負載,避免總線競爭;能夠解決TTCAN主節(jié)點故障時導(dǎo)致整個網(wǎng)絡(luò)崩潰的缺陷,具備極高的可靠性與魯棒性,能夠滿足高質(zhì)量的確定性通信要求。
4 結(jié)語
本文在基于TMS320F28335硬件平臺設(shè)計與實現(xiàn)了TTCAN總線協(xié)議,提出了一種多主備節(jié)點的TTCAN網(wǎng)絡(luò)同步方案。通過總線邏輯信號分析驗證,該TTCAN方案能夠?qū)崿F(xiàn)良好的時間觸發(fā)通信,在合理的總線負載下避免總線競爭,極大地提高了TTCAN網(wǎng)絡(luò)的魯棒性,能夠滿足其作為TTP網(wǎng)絡(luò)低成本子節(jié)點的確定性與通信要求。同時本文對TTP與TTCAN組成的分布式網(wǎng)絡(luò)進行了軟件加載研究,充分利用了兩種網(wǎng)絡(luò)的物理層特性,將時間觸發(fā)加載轉(zhuǎn)換為事件觸發(fā)。在無需更改總線時序規(guī)劃的前提下完全利用總線帶寬,極大地提高了總線加載速度。
【參考文獻】
【1】鮑官軍,計時鳴,張利,等.CAN總線技術(shù)、系統(tǒng)實現(xiàn)及發(fā)展趨勢[J].浙江工業(yè)大學(xué)學(xué)報,2003(01):60-63+68.
【2】關(guān)學(xué)峰.CAN總線網(wǎng)絡(luò)的實時性能分析、改進和測試[D].成都:西華大學(xué),2008.