周耿 于峰 楊北亞
摘要:文章對(duì)TTP總線的基本原理進(jìn)行了介紹,針對(duì)TTP通信平臺(tái)的測(cè)試需求,開展了TTP協(xié)議的符合驗(yàn)證技術(shù)研究,設(shè)計(jì)了TTP通信平臺(tái)測(cè)試系統(tǒng),并提出了相關(guān)的測(cè)試項(xiàng)目和測(cè)試方法,對(duì)TTP總線的時(shí)鐘同步、基本通信、TDMA通信機(jī)制、故障注入、通信速率進(jìn)行了測(cè)試,對(duì)于驗(yàn)證測(cè)試系統(tǒng)設(shè)計(jì)的有效性提供了依據(jù)。
關(guān)鍵詞:TTP總線;時(shí)鐘同步;TDMA
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)13-0109-02
The Design and Realization of a TTP Communication Test System
ZHOU Geng, YU Feng, YANG Bei-ya
(Xian Aeronautics Computing Technique Research Institute, AVIC, Xian 710065, China)
Abstract: Aiming at the testing requirement of a TTP communication platform, this paper introduces the fundamental principle of TTP bus, studies the compliance verification technique of the Time-Triggered Protocol, designs the test system of TTP communication platform and put forward the related test item and method, with the purpose of testing the clock synchronization, fundamental communication, TDMA communicationmechanism, fault injection and communication speed of TTP bus, which provides the basis to the effectiveness of verifying the testing system.
Key words:TTP bus; clock synchronization;TDMA
TTP(Time-Triggered Protocol)是一種用于分布式容錯(cuò)實(shí)時(shí)系統(tǒng)電子組件之間的實(shí)時(shí)通信協(xié)議[1],采用了基于全局時(shí)間基的時(shí)間觸發(fā)通信機(jī)制。TTP在消息傳輸確定性和可預(yù)測(cè)性方面的優(yōu)勢(shì),使得TTP總線技術(shù)成為適用于實(shí)時(shí)控制系統(tǒng)安全關(guān)鍵領(lǐng)域的重要技術(shù)。
TTP總線是當(dāng)前所有基于時(shí)間觸發(fā)的確定性網(wǎng)絡(luò)通信技術(shù)中首個(gè)被SAE標(biāo)準(zhǔn)化的通信協(xié)議,在過去的十多年內(nèi),TTP已經(jīng)被廣泛地應(yīng)用于航空電子領(lǐng)域[2]。目前,國外已經(jīng)有了整套的解決方案,開發(fā)了經(jīng)過適航取證的軟件和控制器芯片,并成功地應(yīng)用于波音B787、空客A380、龐巴迪C系列等先進(jìn)飛機(jī)的實(shí)時(shí)控制系統(tǒng)中,國內(nèi)的C919飛機(jī)的電源控制系統(tǒng)中同樣也采用了TTP技術(shù)。國內(nèi)目前正在積極對(duì)TTP技術(shù)進(jìn)行研究,希望能研制出具有自主產(chǎn)權(quán)的TTP通信平臺(tái)。對(duì)于某一種TTP通信平臺(tái),必須開展TTP協(xié)議的符合驗(yàn)證技術(shù)研究,建立TTP通信平臺(tái)測(cè)試系統(tǒng),以此來保證TTP通信平臺(tái)滿足設(shè)計(jì)需求。
1 TTP基本原理
1.1 TTP總線架構(gòu)
一般將整個(gè)TTP通信網(wǎng)絡(luò)稱為集群(Cluster),將組成集群的基本功能模塊稱為節(jié)點(diǎn)(Node),一個(gè)典型的TTP總線是由多個(gè)節(jié)點(diǎn)和雙通道總線構(gòu)成,雙通道稱為通道0和通道1,如圖1所示。
每個(gè)節(jié)點(diǎn)都由應(yīng)用層和通信層構(gòu)成,應(yīng)用層由主機(jī)和通信網(wǎng)絡(luò)接口(CNI)構(gòu)成,通信層由TTP控制器和總線構(gòu)成。TTP控制器控制數(shù)據(jù)幀在總線上的發(fā)送與接收,通信網(wǎng)絡(luò)接口實(shí)現(xiàn)主機(jī)與控制器之間的數(shù)據(jù)交換,主機(jī)實(shí)現(xiàn)傳感器信息的采集,并根據(jù)接收到的TTP應(yīng)用數(shù)據(jù)實(shí)現(xiàn)制動(dòng)器的控制。
1.2 TDMA調(diào)度機(jī)制
TTP通信采用的是一種時(shí)分多址訪問(TDMA)的策略,集群中的每個(gè)節(jié)點(diǎn)都在自己特定的時(shí)間槽(slot)在通道0和通道1上來進(jìn)行數(shù)據(jù)的發(fā)送,一組順序分配的時(shí)間槽序列組成一個(gè)TDMA周期,一個(gè)或者多個(gè)TDMA周期組成一個(gè)集群周期。
TDMA調(diào)度通過配置好的消息描述符表(MEDL)來實(shí)現(xiàn),在節(jié)點(diǎn)上電時(shí)通過主機(jī)加載給TTP控制器。每個(gè)消息都是在特定的時(shí)間槽發(fā)送的,這樣可以避免多個(gè)消息同時(shí)發(fā)送時(shí)總線上的沖突,因此這種調(diào)度機(jī)制特別適用于高可靠性系統(tǒng)的設(shè)計(jì)。
1.3 時(shí)鐘同步
TTP通信采用全局的時(shí)間基準(zhǔn)進(jìn)行通信的調(diào)度,不同于傳統(tǒng)網(wǎng)絡(luò)采用專門的授時(shí)幀傳輸時(shí)鐘信息來達(dá)到同步,TTP通過測(cè)量總線上幀的實(shí)際到達(dá)時(shí)間和預(yù)期到達(dá)時(shí)間對(duì)比的方式,進(jìn)而得到不同節(jié)點(diǎn)之間的時(shí)間差,然后通過時(shí)鐘同步算法實(shí)現(xiàn)所有節(jié)點(diǎn)的時(shí)鐘同步[3]。
每一個(gè)接收節(jié)點(diǎn)的控制器計(jì)算之前三個(gè)槽中期望接收時(shí)間與實(shí)際接收時(shí)間的時(shí)間差和自身發(fā)送時(shí)隙的時(shí)間差,總共得到四個(gè)度量值,舍棄其中最大和最小的兩個(gè)度量值,通過計(jì)算剩余兩個(gè)度量值的平均值得到“時(shí)鐘狀態(tài)修正期限”,進(jìn)行本地時(shí)鐘的修正,使所有節(jié)點(diǎn)保持同步。
2 測(cè)試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)設(shè)計(jì)
TTP總線測(cè)試系統(tǒng)測(cè)試應(yīng)當(dāng)符合SAE AS6003規(guī)范,并支持故障注入、總線監(jiān)控、性能分析等功能[4]。針對(duì)測(cè)試系統(tǒng)需求分析,本文提出了一種TTP通信平臺(tái)的測(cè)試方案,如圖2所示。該測(cè)試系統(tǒng)主要由TTP通信平臺(tái)、故障注入節(jié)點(diǎn)、監(jiān)控節(jié)點(diǎn)、PC機(jī)、示波器、28V電源、TTP總線構(gòu)成。
TTP通信平臺(tái):由四塊TTP通信模塊構(gòu)成,TTP通信模塊包含TTP節(jié)點(diǎn)機(jī)和主機(jī)。主機(jī)運(yùn)行VxWorks5.5操作系統(tǒng),實(shí)現(xiàn)應(yīng)用程序運(yùn)行和完成通信配置加載。
故障注入節(jié)點(diǎn):用于驗(yàn)證TTP通信平臺(tái)中四個(gè)節(jié)點(diǎn)中單個(gè)節(jié)點(diǎn)故障后對(duì)總線通信的影響,通過串口與PC機(jī)相連。
監(jiān)控節(jié)點(diǎn):進(jìn)行總線數(shù)據(jù)監(jiān)控,監(jiān)控節(jié)點(diǎn)與PC機(jī)連接,通過監(jiān)控軟件記錄TTP幀內(nèi)容。
PC機(jī):通過串口和網(wǎng)口與四塊TTP通信模塊相連,完成主機(jī)應(yīng)用程序的加載,并監(jiān)控節(jié)點(diǎn)狀態(tài)信息。
示波器:監(jiān)控總線數(shù)據(jù)波形,用于TTP總線通信平臺(tái)功能性能分析。
2.2 TTP節(jié)點(diǎn)機(jī)
TTP節(jié)點(diǎn)機(jī)通過標(biāo)準(zhǔn)的PMC連接器與主機(jī)相連,兩者之間通過PCI總線進(jìn)行通信,TTP控制器使用FPGA實(shí)現(xiàn),控制邏輯主要實(shí)現(xiàn)PCI總線接口、支持時(shí)鐘同步以及基于時(shí)間觸發(fā)的TDMA調(diào)度,實(shí)現(xiàn)TTP消息的發(fā)送和接收[5]。總線端口采用雙余度的設(shè)計(jì)方法,對(duì)應(yīng)TTP總線的通道0和通道1??偩€接口使用RS485收發(fā)控制器,同時(shí)為了防止電氣損壞,使用隔離變壓器進(jìn)行電源隔離。
2.3 測(cè)試方法及實(shí)現(xiàn)
根據(jù)測(cè)試需求,TTP通信平臺(tái)測(cè)試項(xiàng)目主要包括TTP總線同步測(cè)試、基本通信測(cè)試、TDMA通信機(jī)制測(cè)試、故障注入及恢復(fù)測(cè)試、物理層通信速率測(cè)試。
1)TTP總線同步測(cè)試:TTP節(jié)點(diǎn)的同步狀態(tài)保存在CNI寄存器Protocol State中,寄存器值與節(jié)點(diǎn)機(jī)狀態(tài)對(duì)應(yīng)關(guān)系為:1-Init, 2-Listen, 3-Cold Start, 4-Active, 5-Passive, 0-Freeze。系統(tǒng)上電運(yùn)行后,通過PC機(jī)串口循環(huán)打印四塊TTP通信模塊的同步狀態(tài)。通過示波器測(cè)量節(jié)點(diǎn)機(jī)的測(cè)試管腳在每個(gè)TDMA周期輸出的同步狀態(tài)信號(hào),通過計(jì)算平均值得到同步精度。
2)基本通信測(cè)試:配置四個(gè)節(jié)點(diǎn)中節(jié)點(diǎn)1發(fā)送最大幀長(zhǎng)消息、節(jié)點(diǎn)2發(fā)送最小幀長(zhǎng)消息、節(jié)點(diǎn)3接收節(jié)點(diǎn)1發(fā)送消息、節(jié)點(diǎn)4接收節(jié)點(diǎn)2發(fā)送消息,通過比較串口打印的發(fā)送數(shù)據(jù)和接收數(shù)據(jù),驗(yàn)證基本通信測(cè)試的正確性。
3)TDMA通信機(jī)制測(cè)試:將預(yù)先配置好的MEDL表通過主機(jī)加載給TTP控制器,TTP通信平臺(tái)開始通信后,通過監(jiān)控軟件記錄總線活動(dòng),通過分析驗(yàn)證TDMA通信機(jī)制。
4)故障注入及恢復(fù)測(cè)試:通過故障注入節(jié)點(diǎn)分別向總線上注入隨機(jī)干擾、終端失配干擾、短路至VCC故障、短路至GND故障,故障注入后,通過串口打印和監(jiān)控軟件觀察總線通信的影響情況。當(dāng)故障恢復(fù)后,總線通信應(yīng)恢復(fù)正常。
5)物理層通信速率測(cè)試:配置MEDL表中總線的傳輸速率為4Mbps,總線通信開始后,通過示波器觀察總線幀波形,分析單個(gè)bit的碼元寬度,得到總線的實(shí)際傳輸速率。
3 結(jié)論
本文對(duì)TTP總線技術(shù)的基本原理進(jìn)行了總結(jié)和分析,重點(diǎn)介紹了TTP總線架構(gòu)、時(shí)鐘同步和TDMA調(diào)度技術(shù)。針對(duì)TTP通信平臺(tái)的測(cè)試需求,設(shè)計(jì)了TTP通信平臺(tái)的測(cè)試系統(tǒng),并提出了相關(guān)的測(cè)試方法,對(duì)于TTP通信平臺(tái)的測(cè)試提供了依據(jù)。
參考文獻(xiàn):
[1] Time-Triggered Protocol TTP/C High-Level Specification DocumentProtocol Version 1.1 [S]. Specification edition 1.4.3 of 19-Nov-2003Document number D-032-S-10-028.
[2] 趙罡. 航空電子環(huán)境TTP/C總線應(yīng)用技術(shù)研究[J]. 航空計(jì)算技術(shù), 2014, 44(6):110-115.
[3] 楊佳谞. 時(shí)間觸發(fā)架構(gòu)總線分析[J].航空計(jì)算技術(shù), 2013,43(4): 125-128.
[4] 陳長(zhǎng)勝. 時(shí)間觸發(fā)總線驗(yàn)證技術(shù)研究[J]. 計(jì)算機(jī)測(cè)量與控制, 2017,25(4): 244-246.
[5] 張興隆. 基于FPGA的時(shí)間觸發(fā)協(xié)議控制器實(shí)現(xiàn)[J]. 系統(tǒng)仿真學(xué)報(bào), 2010,22(1): 114-118.