袁春柱 劉思遠(yuǎn) 楊芳
(航天東方紅衛(wèi)星有限公司,北京 100094)
隨著衛(wèi)星應(yīng)用領(lǐng)域的不斷擴(kuò)展,衛(wèi)星功能、性能及復(fù)雜度等都在不斷提升,未來(lái)星上綜合管控計(jì)算機(jī),不僅要承擔(dān)常規(guī)的星務(wù)管理任務(wù),還需要承擔(dān)整星任務(wù)管理,甚至姿軌控算法等功能,星上各個(gè)設(shè)備間信息交互的數(shù)量和頻率急劇增加,對(duì)星上網(wǎng)絡(luò)總線的性能和功能要求也越來(lái)越高。以往我國(guó)的衛(wèi)星星載網(wǎng)絡(luò)1553B、CAN 總線傳輸速率只有1 Mbit/s,兩種總線傳輸速率很低,嚴(yán)重制約了衛(wèi)星星上綜合電子的控制能力和信息共享能力;而且兩種總線都是完全事件觸發(fā)式總線,事件觸發(fā)式總線網(wǎng)絡(luò)中所有活動(dòng)都是由事件的發(fā)生所引起的,各個(gè)節(jié)點(diǎn)按照自己的情況向總線上傳輸數(shù)據(jù),在網(wǎng)絡(luò)中所有的節(jié)點(diǎn)都有可能是下一個(gè)發(fā)送者,導(dǎo)致網(wǎng)絡(luò)事件可能的沖突,出現(xiàn)網(wǎng)絡(luò)堵塞、丟幀、延遲等問(wèn)題,網(wǎng)絡(luò)實(shí)時(shí)性、可靠性、安全性降低,影響網(wǎng)絡(luò)通信品質(zhì)[1-2]。
隨著計(jì)算機(jī)技術(shù)與現(xiàn)場(chǎng)總線技術(shù)的快速發(fā)展,F(xiàn)lexRay總線作為繼CAN 之后的新一代車載總線,于2006年成功應(yīng)用到某車型的電子控制減震器系統(tǒng)中,后續(xù)又成功應(yīng)用到該品牌其他車型的懸掛減震器控制中。與傳統(tǒng)的1553B、CAN 總線相比,F(xiàn)lexRay總線具有很多優(yōu)點(diǎn):一是FlexRay總線既具有時(shí)間觸發(fā)機(jī)制,又具有事件觸發(fā)機(jī)制,時(shí)間觸發(fā)機(jī)制保證了信息傳輸?shù)拇_定性和實(shí)時(shí)性,克服了網(wǎng)絡(luò)堵塞、丟幀、延遲等問(wèn)題,事件觸發(fā)機(jī)制保證了臨時(shí)性的重要數(shù)據(jù)在總線忙時(shí)有機(jī)會(huì)被發(fā)送[3];二是FlexRay總線具有較高速的通信能力,每個(gè)通信信道傳輸速率可以達(dá)到10Mbit/s;三是FlexRay具有良好的容錯(cuò)性,一個(gè)FlexRay總線的控制芯片具有兩個(gè)通信信道,不需要單獨(dú)做總線冗余。
按照總線網(wǎng)絡(luò)協(xié)議分層結(jié)構(gòu),常用FlexRay總線網(wǎng)絡(luò)只具體定義了物理層和數(shù)據(jù)鏈路層,物理層規(guī)定了FlexRay總線機(jī)械、電氣等要求,鏈路層規(guī)定了幀結(jié)構(gòu)、幀傳輸方式、時(shí)間同步等問(wèn)題。但FlexRay總線協(xié)議并沒(méi)有對(duì)應(yīng)用層作詳細(xì)的規(guī)定,只是規(guī)定通信周期的最大時(shí)間長(zhǎng)度,每個(gè)時(shí)隙的最大有效傳輸位數(shù)等參數(shù),對(duì)時(shí)隙大小及分配、信息交互周期并沒(méi)有作詳細(xì)規(guī)定。
目前,F(xiàn)lexRay應(yīng)用層協(xié)議在汽車領(lǐng)域已有了初步研究,但主要針對(duì)汽車線控系統(tǒng)設(shè)計(jì)了時(shí)間觸發(fā)的靜態(tài)段單周期傳輸協(xié)議;而衛(wèi)星傳輸信息量大且具有多樣性,不但需要處理定時(shí)遙測(cè)信息,而且需要及時(shí)處理遙控上注信息、故障模式等突發(fā)事件,需要具有事件觸發(fā)的動(dòng)態(tài)段,并且衛(wèi)星上傳輸信息量大,單個(gè)總線周期不能滿足星上需求,需要對(duì)FlexRay總線星上時(shí)隙進(jìn)行重新配置,對(duì)總線周期進(jìn)行周期擴(kuò)展。所以,F(xiàn)lexRay汽車應(yīng)用層協(xié)議不能用于衛(wèi)星系統(tǒng)數(shù)據(jù)傳輸,需要定義航天專用應(yīng)用層通信協(xié)議。
本文針對(duì)衛(wèi)星應(yīng)用的特點(diǎn)和要求,對(duì)FlexRay總線星載應(yīng)用的時(shí)隙參數(shù)進(jìn)行了定義配置,制定了一種星載應(yīng)用層傳輸方法。
根據(jù)FlexRay總線數(shù)據(jù)鏈路層協(xié)議,幀格式如圖1所示,一共包括3個(gè)部分:頭部段、負(fù)載段和尾部段[4-5]。幀的頭部包括1bit保留位、1bit負(fù)載段指示位、1bit空幀指示位、1bit同步幀指示位、1bit起始幀指示位、11bit 時(shí)隙ID、7bit 負(fù)載長(zhǎng)度、11bit頭部循環(huán)冗余碼校驗(yàn)(CRC)、6bit周期計(jì)數(shù),共5byte;FlexRay的負(fù)載段可包含0~254byte的數(shù)據(jù);尾部段是一個(gè)包含有24bit的幀CRC域[6]。
圖1 FlexRay總線幀格式Fig.1 FlexRay frame format
如圖2所示,F(xiàn)lexRay總線通信是建立在周而復(fù)始的通信循環(huán)(communication cycle)中的。每一個(gè)通信循環(huán)包括靜態(tài)段(static segment)、動(dòng)態(tài)段(dynamic segment)、符號(hào)窗口(symbol window)和網(wǎng)絡(luò)閑置時(shí)間(network idle times)[7-8]。靜態(tài)段采用時(shí)分多址技術(shù)(TDMA),動(dòng)態(tài)段采用靈活的時(shí)分多址技術(shù)(FTDMA),符號(hào)窗口用來(lái)傳輸特征符,網(wǎng)絡(luò)閑置時(shí)間是一個(gè)通信空閑的區(qū)域,它所包含的時(shí)間長(zhǎng)度是一個(gè)通信循環(huán)中沒(méi)有被前面三個(gè)單元消耗掉的時(shí)間。
靜態(tài)段是由靜態(tài)段時(shí)隙組成,靜態(tài)時(shí)隙的時(shí)間長(zhǎng)度是由總線比特率和最長(zhǎng)數(shù)據(jù)幀決定,靜態(tài)段時(shí)隙的長(zhǎng)度至少是靜態(tài)段傳輸?shù)淖铋L(zhǎng)幀所需時(shí)間,加上集群內(nèi)任一控制器處理的最長(zhǎng)時(shí)間和時(shí)間精度的持續(xù)時(shí)間以及時(shí)隙延時(shí)校正參數(shù)的最大值。動(dòng)態(tài)段是由動(dòng)態(tài)段微時(shí)隙組成,動(dòng)態(tài)段微時(shí)隙是由總線比特率和實(shí)時(shí)性需求決定。
圖2 FlexRay總線通信循環(huán)Fig.2 FlexRay communication cycle
為了保證星上電子系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性,總線比特率采用5 Mbit/s,根據(jù)星上遙控、遙測(cè)、上注等信息傳遞的實(shí)際需求,滿足大部分節(jié)點(diǎn)的信息都在一幀中傳輸,定義每幀負(fù)荷段中傳輸250byte。
1)靜態(tài)段時(shí)隙定義
靜態(tài)段時(shí)隙時(shí)間長(zhǎng)度相同,為數(shù)據(jù)幀傳輸時(shí)間加上網(wǎng)絡(luò)閑置時(shí)間之和。由于靜態(tài)段消息在每個(gè)FlexRay通信周期的固定時(shí)刻發(fā)送,不用考慮隊(duì)列延遲,因此,時(shí)隙長(zhǎng)度也就是靜態(tài)段發(fā)送延遲時(shí)間。發(fā)送延遲是指節(jié)點(diǎn)發(fā)送信息所需要的時(shí)間,發(fā)送延遲因?yàn)橹慌c消息幀自身和總線參數(shù)有關(guān),所以,可根據(jù)FlexRay總線幀格式的定義計(jì)算時(shí)隙長(zhǎng)度。
在一個(gè)FlexRay總線數(shù)據(jù)幀中,幀頭部段占用5byte,尾部段占用3byte,負(fù)荷段為250byte,共計(jì)258byte,每一個(gè)字節(jié)前面都需要添加2bit的字節(jié)開(kāi)始序列(BSS),所以每字節(jié)實(shí)際占有10bit,共計(jì)2580bit。再加上7bit的傳輸開(kāi)始序列(TSS),1bit的幀開(kāi)始序列(FSS),以及2bit的幀結(jié)尾序列(FES)[5],所以,傳完每一幀需要2590 bit,滿足2590bit≤2628bit(靜態(tài)幀最大長(zhǎng)度)。
根據(jù)FlexRay總線2.1協(xié)議[9],在5Mbit/s下傳輸每一位的時(shí)間為0.200 3μs。所以傳輸2590bit需要的時(shí)間為518.777μs。考慮到位流信息、閑置時(shí)間和時(shí)間偏差等約30bit,在5MHz下約6μs,網(wǎng)絡(luò)空閑時(shí)間設(shè)為130個(gè)節(jié)拍,即26μs。最后一個(gè)靜態(tài)段定義為550μs,小于2.1協(xié)議中的靜態(tài)段可定義的最大時(shí)間長(zhǎng)度(adTxMax[μs])值,滿足要求。
2)動(dòng)態(tài)段微時(shí)隙定義
如果動(dòng)態(tài)段時(shí)間較短,低優(yōu)先權(quán)的動(dòng)態(tài)段消息幀,有可能因?yàn)榇罅扛邇?yōu)先權(quán)消息幀的發(fā)送而無(wú)法在本通信周期內(nèi)進(jìn)行發(fā)送,為了避免這種情況,每個(gè)動(dòng)態(tài)段時(shí)間長(zhǎng)度應(yīng)足夠使動(dòng)態(tài)段消息在本通信周期內(nèi)完成。
根據(jù)星上電子系統(tǒng)傳輸信息需求,在動(dòng)態(tài)段,數(shù)據(jù)段的頭2byte通常用作消息識(shí)別域,傳輸最短的幀包括2byte的消息識(shí)別域和6byte的數(shù)據(jù)域,1byte的數(shù)據(jù)部分,3byte的CRC校驗(yàn)碼,5byte的幀頭,總共17byte,每一個(gè)字節(jié)前面都需要添加2bit的字節(jié)開(kāi)始序列(BSS),所以每字節(jié)實(shí)際占有10bit,共計(jì)170bit。再加上7bit的傳輸開(kāi)始序列(TSS),1bit的幀開(kāi)始序列(FSS),以及2bit的幀結(jié)尾序列(FES),所以傳完每一幀需要180bit。
根據(jù)FlexRay總線2.1協(xié)議[9],在5 Mbit/s下傳輸每一位的時(shí)間為0.200 3μs,所以傳輸180bit需要的時(shí)間為36.054μs。考慮到閑置時(shí)間和時(shí)間偏差等約4μs,所以傳輸一個(gè)最短幀所需時(shí)間約為40μs。為此,一個(gè)動(dòng)態(tài)段時(shí)隙定義為40μs。
基于FlexRay總線衛(wèi)星星上電子系統(tǒng)設(shè)計(jì)了兩種工作模式:正常工作模式和異常模式。
(1)在正常模式下,即綜合數(shù)據(jù)管控、姿控、熱控等系統(tǒng)均處于正常工作模式下,此時(shí)循環(huán)中不存在外部觸發(fā)事件,一切事件的發(fā)生都是可預(yù)知的,所以通信集群主要使用靜態(tài)段進(jìn)行數(shù)據(jù)傳輸。通過(guò)事先設(shè)定靜態(tài)時(shí)間調(diào)度表,變現(xiàn)有的消息輪詢通信方式為消息訂閱方式。與傳統(tǒng)的基于CAN總線的綜合數(shù)據(jù)管控系統(tǒng)相比,基于FlexRay總線的綜合數(shù)據(jù)管控系統(tǒng),不需要發(fā)送遙測(cè)輪詢指令,只需要接收其他系統(tǒng)的遙測(cè)參數(shù)即可,同時(shí)完成星時(shí)廣播;其他分系統(tǒng)按照時(shí)間調(diào)度表完成遙測(cè)參數(shù)的發(fā)送即可。
(2)在異常模式下,即系統(tǒng)存在外部觸發(fā)事件,需要使用FlexRay 總線動(dòng)態(tài)段進(jìn)行異常命令數(shù)據(jù)的傳輸。例如綜合數(shù)據(jù)管控系統(tǒng)發(fā)送的遙控指令、上注數(shù)據(jù),分系統(tǒng)的故障信息等,都屬于突發(fā)事件,需要采用動(dòng)態(tài)段即時(shí)傳輸。
考慮到衛(wèi)星星上電子系統(tǒng)數(shù)據(jù)傳輸延時(shí)、節(jié)點(diǎn)處理器處理數(shù)據(jù)的時(shí)間以及后續(xù)新開(kāi)發(fā)節(jié)點(diǎn)的加入,根據(jù)星上數(shù)據(jù)傳輸需求,設(shè)定總線通信速率為5 Mbit/s,根據(jù)在正常模式下遙測(cè)參數(shù)和廣播時(shí)間等信息對(duì)靜態(tài)時(shí)隙的需求和在異常模式下突發(fā)事件對(duì)動(dòng)態(tài)段的需求,設(shè)定通信循環(huán)周期的時(shí)間長(zhǎng)度,靜態(tài)段在每個(gè)通信循環(huán)中的占用時(shí)間和靜態(tài)時(shí)隙的持續(xù)時(shí)間,以及動(dòng)態(tài)段在通信循環(huán)中的占用時(shí)間和動(dòng)態(tài)段“微時(shí)隙”的時(shí)間長(zhǎng)度,并設(shè)定了網(wǎng)絡(luò)空閑時(shí)間的時(shí)間長(zhǎng)度。
衛(wèi)星應(yīng)用FlexRay 總線的時(shí)隙分配。根據(jù)FlexRay總線2.1協(xié)議,每個(gè)通信周期最長(zhǎng)為16ms,即gdCycleMax=16 000μs。為了方便控制周期計(jì)算,設(shè)定通信循環(huán)周期T為15ms,小于16ms,滿足要求。
考慮到FlexRay總線的衛(wèi)星星上電子系統(tǒng),設(shè)計(jì)了兩種工作模式的信息流,如圖3所示,設(shè)定靜態(tài)段時(shí)間長(zhǎng)度為11ms,動(dòng)態(tài)段時(shí)間長(zhǎng)度為4ms。
圖3 衛(wèi)星應(yīng)用FlexRay總線的通信周期Fig.3 FlexRay bus communication cycle for satellite
(1)靜態(tài)段占用時(shí)間設(shè)計(jì)11ms,由于每個(gè)時(shí)隙的持續(xù)時(shí)間為550μs,所以,靜態(tài)段可以定義20個(gè)時(shí)隙,最大限度地為后續(xù)系統(tǒng)預(yù)留足夠的通信時(shí)間。
(2)動(dòng)態(tài)段占用時(shí)間設(shè)計(jì)4 ms,動(dòng)態(tài)段時(shí)隙的持續(xù)時(shí)間為40μs,所以動(dòng)態(tài)段可以定義100 個(gè)時(shí)隙,即動(dòng)態(tài)段傳輸?shù)男畔⒖稍O(shè)1到100個(gè)優(yōu)先級(jí)。
根據(jù)以上定義,如圖4 所示,設(shè)定衛(wèi)星應(yīng)用FlexRay總線通信集群的主要時(shí)間參數(shù)。靜態(tài)段采用雙通道冗余設(shè)計(jì),每個(gè)通信循環(huán)有20個(gè)小時(shí)隙,每個(gè)小時(shí)隙的時(shí)間長(zhǎng)度為550μs,每一幀傳輸?shù)淖畲笥行?shù)據(jù)為250byte;動(dòng)態(tài)段也采用雙通道冗余機(jī)制,每個(gè)通信循環(huán)有100個(gè)小時(shí)隙,每個(gè)小時(shí)隙的時(shí)間長(zhǎng)度為44μs,每一幀傳輸?shù)淖畲笥行?shù)據(jù)為8byte。
圖4 衛(wèi)星應(yīng)用FlexRay總線的時(shí)間參數(shù)Fig.4 FlexRay bus time parameter for satellite
基于FlexRay總線的星上網(wǎng)絡(luò)設(shè)計(jì),還需要根據(jù)衛(wèi)星系統(tǒng)信息交互周期的需求,進(jìn)行FlexRay總線通信周期設(shè)計(jì),由于FlexRay總線協(xié)議規(guī)定通信周期最大為16 ms,如果星上信息交互周期小于16ms,則可以直接配置通信周期;如果信息交互周期大于16 ms,則可以對(duì)FlexRay總線的通信周期進(jìn)行整數(shù)倍擴(kuò)展,以滿足通信需求[10]。
在現(xiàn)代衛(wèi)星設(shè)計(jì)中,像科學(xué)載荷探測(cè)數(shù)據(jù)塊、星間載荷傳輸數(shù)據(jù)塊等,需要星上網(wǎng)絡(luò)進(jìn)行傳輸,但是數(shù)據(jù)量又比較大,一幀傳輸不完,需要多幀傳輸。根據(jù)衛(wèi)星常用數(shù)據(jù)塊大小,制定了FlexRay總線信息交互周期時(shí)隙調(diào)度表,如圖5所示。設(shè)定交互周期為10個(gè)通信循環(huán)周期,即10T,每個(gè)通信循環(huán)周期T為15ms,所以信息交互周期為150ms,即在一個(gè)信息交互周期中可用的靜態(tài)段時(shí)隙為200個(gè),可用的動(dòng)態(tài)段時(shí)隙為1000個(gè)。
圖5 衛(wèi)星應(yīng)用FlexRay總線的時(shí)隙調(diào)度表Fig.5 FlexRay bus schedule table for satellite
面向未來(lái)新一代高性能衛(wèi)星、星座等新任務(wù)新型號(hào),對(duì)星上控制網(wǎng)絡(luò)的通信能力和控制能力要求越來(lái)越高,采用高速率、強(qiáng)實(shí)時(shí)、高可靠的總線作為衛(wèi)星控制網(wǎng)絡(luò)是技術(shù)發(fā)展趨勢(shì)。本文把靈活的車載FlexRay總線引入到衛(wèi)星上,針對(duì)衛(wèi)星星上應(yīng)用,設(shè)計(jì)了一種FlexRay總線應(yīng)用層傳輸協(xié)議,詳細(xì)規(guī)定了FlexRay總線的時(shí)隙參數(shù)設(shè)計(jì)以及時(shí)隙在衛(wèi)星上的分配。這種傳輸方法不但保證了星上控制網(wǎng)絡(luò)的有序性、實(shí)時(shí)性和穩(wěn)定性,也可以作為FlexRay總線小衛(wèi)星應(yīng)用的一種標(biāo)準(zhǔn),約束衛(wèi)星分系統(tǒng)的設(shè)計(jì),保證協(xié)議設(shè)計(jì)的一致性,有利于整星系統(tǒng)集成。
(References)
[1]John Rushby.A comparison of bus architectures for safety-critical embedded systems[R].Washington D.C.:NASA,2003
[2]Seo S-H,Kim J-H,Hwang S-H,et al.A reliable gateway for in-vehicle networks based on LIN,CAN,and FlexRay[J].ACM Transactions on Embedded Computing Systems(TECS),2012,11(1):1-24
[3]陳智琦,羅峰,陳覺(jué)曉,等.FlexRay特性分析及應(yīng)用實(shí)現(xiàn)[C]//中國(guó)汽車工程學(xué)會(huì)年會(huì)論文集,天津:中國(guó)汽車工程學(xué)會(huì),2007:1201-1205
Chen Zhiqi,Luo Feng,Chen Juexiao,et al.Characteristic analysis and application &implementation of FlexRay bus[C]//Proceeding of Sino-Automobile Engineering Institute.Tianjin:Sino-Automobile Engineering Institute,2007:1201-1205(in Chinese)
[4]FlexRay Consortium.FlexRay communications system protocol specification[Z].Berlin:FlexRay Consorti-um,2005
[5]FlexRay Consortium.FlexRay communications system preliminary Node-Local bus guardian specification[Z].Berlin:FlexRay Consortium,2005
[6]Jaouani H,Bouhouch R,Najjar W,et al.Data distribution service on top of FlexRay vehicle networks[J].Lecture Notes in Computer Science,2012,7135(1):306-317
[7]Jang K,Park I,Han J,et al.Design framework for FlexRay network parameter optimization[J].International Journal of Automotive Technology,2011,12(4):589-597
[8]Pop T,Pop P,Eles P,et al.Timing analysis of the FlexRay communication protocol[J].Real-Time Syst,2008,39(1-3):205-235
[9]FlexRay Consortium.FlexRay communications system electrical physical layer specification[Z].Berlin:FlexRay Consortium,2005
[10]劉思遠(yuǎn).時(shí)間觸發(fā)型FlexRay總線星載應(yīng)用研究[J].航天器工程,2012,21(6):80-86
Liu Siyuan.Preliminary study of time-triggered FlexRay bus for satellite avionics application[J].Spacecraft Engineering,2012,21(6):8086(in Chinese)