時間敏感網(wǎng)絡(luò)的關(guān)鍵技術(shù)——整形器
文:宋華振2019年第三期
導語:關(guān)于TSN,也有些人問為什么要一個網(wǎng)絡(luò)?因為現(xiàn)在的實時數(shù)據(jù)和非實時數(shù)據(jù)都是不在一個網(wǎng)絡(luò)里傳輸?shù)?,因此,如果采用TSN就可以只用一個網(wǎng)絡(luò)接口了,其實,這個非常容易理解——當年為何要開發(fā)現(xiàn)場總線?
越來越多人似乎對TSN(時間敏感網(wǎng)絡(luò))感興趣了,大家希望有一些通俗易懂的介紹。不過,通俗易懂也非易事,前幾期曾經(jīng)寫到了TSN的目標和任務(wù),延遲測量、標準幾個話題,現(xiàn)在繼續(xù)試圖通過“更為簡單的方式”來介紹一下TSN的關(guān)鍵問題—整形器(Shaper)這個話題。
一、為什么需要一個網(wǎng)絡(luò)?
關(guān)于TSN,也有些人問為什么要一個網(wǎng)絡(luò)?因為現(xiàn)在的實時數(shù)據(jù)和非實時數(shù)據(jù)都是不在一個網(wǎng)絡(luò)里傳輸?shù)?,因此,如果采用TSN就可以只用一個網(wǎng)絡(luò)接口了,其實,這個非常容易理解——當年為何要開發(fā)現(xiàn)場總線?最直觀的好處就是接線少,為此產(chǎn)生的接頭也少,設(shè)備的體積也可以做的再小一些,能耗也會更低一些,你說這有什么意義?
如果有1億個設(shè)備之前需要連接,設(shè)備-設(shè)備間平均電纜長度10米,那么節(jié)省的電纜就能繞地球25圈。這個很重要,牽扯到技術(shù)的經(jīng)濟性,不得不多說幾句,下面是這次的正題,關(guān)于整形器的事情。
二、數(shù)據(jù)隊列排序
TSN是一個“橋接”網(wǎng)絡(luò),就是有中間的交換機連接的,對于各種實時以太網(wǎng)而言,為了實時性,都是通過Hub連接,Hub屬于直接端口轉(zhuǎn)發(fā)的,而交換機就有數(shù)據(jù)隊列,就像奧運會每個國家都要進入主席臺亮個相,每個隊列的數(shù)據(jù)都是有標配的,他的入場順序雖然按字母順序,但東道國在最后一個出場,這就是隊列里的排列策略,而且每個國家的隊列也有標配,就是旗手、國旗就是這個隊列的標識—代表哪個國家,后面就是參賽選手,屬于數(shù)據(jù)負載,大的國家參與的項目多,就隊伍比較大,小國家比如什么薩爾多瓦,可能就幾個人跳著舞過來了。
數(shù)據(jù)進入交換機后形成隊列,然后隊列的數(shù)據(jù)怎么被傳輸,這個策略由“Shaper”來決定的,這個Shaper,翻譯為整形器也可以,或者賦形器也行,確定的翻譯似乎也沒有。
我們知道TSN是IEEE802.1Q發(fā)展起來的,IEEE802.1Q代表大的標準族,Qxx代表子集,IEEE802.1Q的大致發(fā)展順序如下:
圖1嚴格優(yōu)先級(IEEE802.1Q-1998)
圖2加權(quán)優(yōu)先級(IEEE802.1Qaz)
圖3基于信用的整形器IEEE802.1Qat(采用信用來評估發(fā)送,整形的兩個隊列可以有最高優(yōu)先權(quán))
圖4時間感知整形器(IEEE802.1Qbv-增加了門控制器和VIP通道)
圖5周期性排隊與轉(zhuǎn)發(fā)(IEEE802.1Qch)
下面略微詳細地介紹一下這幾個整形器,再增加一個IEEE802.1Qbu+IEE
E802.3br搶占式機制。
三、整形器的詳細介紹
1.CBS基于信用的整形器
汽車行業(yè)最開始做的叫做IEEE802.1AVB,它由幾個標準共同構(gòu)成,前面說過的時鐘同步IEEE802.1AS是一個,其中IEEE802.1Qav(采用FQTSS-為時間敏感數(shù)據(jù)流進行轉(zhuǎn)發(fā)和隊列排序),即為時間敏感型數(shù)據(jù)提供“Shaping”-整形,也可以理解為“整容”,在這里它采用了一個稱為CBS(Credit-BasedShaper)整形器,簡單說,除了其它BestEffort外,有兩個隊列被賦予較高的優(yōu)先級,這兩個隊列依據(jù)Credit進行數(shù)據(jù)的交替?zhèn)鬏?,例如你是A隊列,如果沒有在傳輸你的信用會以idleSlope的速率增加,當你的隊列正在傳輸數(shù)據(jù)時,你的信用會以SendSlope的速率下降,當你的隊列傳輸完成時,你的信用就清0,你的信用低于B隊列,你等待時間越長你的信用越高,因此,不會因為別人優(yōu)先級高就輪不到你了。
圖6CBS整形器的工作
CBS限制每個整形流量類別不超過其預先配置的帶寬限制(由于帶寬密集型應(yīng)用,例如音頻和視頻,最大帶寬的75%)。CBS與SRP(StreamReservedProtocol-流預留協(xié)議,這個也需要單獨介紹,因為它是屬于IEEE802.1Qat作為IEEE802.1Q的基礎(chǔ)協(xié)議)結(jié)合使用可將每個橋的延遲限制在250μs以下??偟膩碚f,IEEE802.1Qav以太網(wǎng)AVB標準保證A類的最差情況下延遲低于2毫秒,B類低于50毫秒,最多7個網(wǎng)絡(luò)跳躍。
不過,CBS缺點是這種機制下平均延遲會增加,盡管CBS限制每個整形器流量類別不超過預先配置帶寬限制(對于帶寬密集型最大帶寬75%),并且采用CBS與SRP結(jié)合可以讓每個橋接延遲現(xiàn)在在250μs以下,不過這對于工業(yè)應(yīng)用而言還是延遲太大,因此,工業(yè)網(wǎng)絡(luò)參考的是Qbv和Qbu+802.3br的整形器。
(1)汽車行業(yè)會讓TSN快速成長
不過,大家要注意,TSN在汽車行業(yè)的大量使用的話會對TSN有非常大的推進作用,目前已經(jīng)在進入測試運行階段(你們知道,汽車行業(yè)列裝可是需要非常長的測試驗證周期的,不是隨便上車就用的),像大牌廠商Audi、BMW、Benz這種總是要為天下先的德國大牌已經(jīng)開始進入應(yīng)用階段了,而且,據(jù)說目前汽車行業(yè)對TSN的意見比較統(tǒng)一,因為CAN總線帶寬已經(jīng)不能勝任未來輔助駕駛(ADAS)的需求了,汽車邁入“以太網(wǎng)”時代已然指日可待了—前幾天和石林才聊起這個TSN在汽車行業(yè)的應(yīng)用,他就摔給我一條消息“三星在歐洲車展宣布成立汽車產(chǎn)業(yè)發(fā)展基金,投了9000萬美元給TTTech,因為后者為奧迪提供了車載以太網(wǎng)系統(tǒng)”,說的就是TSN。
汽車要是用上TSN,那就未來前景誘人了,因為一個車上面得多少個TSN節(jié)點???少說也得30個吧?想想TSN的芯片提供商們一定在算,全球有5000萬臺車,以后每個車30個節(jié)點,那就是15億個芯片的需求??!
這個潛在的市場會讓TSN的成本降低的,想想當年,CAN總線在汽車行業(yè)的大量應(yīng)用才讓CAN總線在其它的領(lǐng)域變得經(jīng)濟—是的,只有規(guī)模才能經(jīng)濟。
2.時間感知整形器TAS
IEEE802.1Qbv定義了TAS(TimeAwarenessShaper),如圖7,在TAS的整形器中,GCL(GateControlList)周期性的控制門的開/關(guān),TAS需要從發(fā)送方(Talker)到接收方(Listener)中間的所有網(wǎng)橋進行時間同步,對于橋中的每個端口,TAS根據(jù)已知且商定的時間表進行開關(guān)驅(qū)動動作,而數(shù)據(jù)調(diào)度則可以根據(jù)每個節(jié)點及隊列的優(yōu)先級進行定義,在IEEE802.1Qbv的實現(xiàn)中,那些需要實時傳輸?shù)臄?shù)據(jù)流通常被第一個安排進行傳輸,這就是所謂的“ScheduleTrafficQuene”,需要在時間調(diào)度配置時預先予以確定,而另一個數(shù)據(jù)隊列稱為“ReservedTraffic”——可以理解為預留通道,它并非周期性的,但是,可能一來就得緊急走,就像高速公路的應(yīng)急通道一樣,平時不用,但是遇到消防車、救護車的時候這個車道可以被拿來用,因為這種事情并非周期性發(fā)生,但是,它發(fā)生的時候又別緊急。
當然,TAS可以和CBS整形器混用-像圖8,除了原定計劃的Schedule和Reserved外,還可以增加一個CBS整形器對其隊列內(nèi)部的數(shù)據(jù)進行按照信用的排序調(diào)度。
圖7TAS時間感知整形器
圖8即是一個TAS門控制機制與CBS的混合機制
圖8TAS+CBS混合的整形器
工業(yè)領(lǐng)域的開發(fā)者通常會基于Qbv機制來開發(fā)整形器,在時鐘同步和門控制的基礎(chǔ)上,融合各種數(shù)據(jù)流調(diào)度方式,可以將CBS、CQF等進行整合構(gòu)成自身的應(yīng)用,而另一方面IEC60802工作組也將會協(xié)同各個企業(yè)進行互操作的統(tǒng)一規(guī)范與標準。
3.搶占幀機制IEEE802.1Qbu+IEEE802.3br
在IEEE802.1Qbv中所采用的TAS整形器存在一個問題,就是“Guardband”,因為除了Scheduled和Reserved幀外,其它隊列的稱為“BestEffort”。這些是非周期性的數(shù)據(jù)幀,因此,它們的特點就是“雖然,他們的時間要求并非嚴格,但是你不知道它什么時候需要傳輸”,但是為了確保嚴格時間要求的數(shù)據(jù)傳輸時,網(wǎng)絡(luò)是可用的,即空閑的,因此,Qbv給每個周期預留了一個“標準以太網(wǎng)”幀作為“GuardBand”稱為保護帶寬,這個長度要說起來,對于千兆網(wǎng)絡(luò)而言,這個Guardband所預留的1.5kb也是需要大約1.25微秒左右的時間損耗的。為了節(jié)省這么點帶寬,TSN工作組的人們又開發(fā)了搶占式MAC的IEEE802.1Qbu+IEEE802.3br的搶占式MAC的方式,以便能夠不要浪費這些帶寬。
圖9搶占式MAC的結(jié)構(gòu)
對于圖9而言,MAC層分為eMAC(快速)和pMAC(可被搶占),它可以使得以太網(wǎng)幀被最小到64字節(jié)的傳輸,這也同樣為了保護高優(yōu)先級隊列的傳輸特性,因為如果在高優(yōu)先級需要傳輸時,前面有一個低優(yōu)先級隊列正在傳輸數(shù)據(jù),而且,它還特別長,占用較多的傳輸時間,它就可以搶占方式獲得傳輸,而被搶占的則會拆分,然后在下一個時段傳輸。
當然,對于被搶占幀而言,其傳輸必須以完整的幀方式匯合,這中間牽扯到重新的分包和CRC校驗,然后再到MAC聚合層進行重新封裝為完整包。搶占式MAC這種機制主要解決低優(yōu)先級隊列對于高優(yōu)先級隊列傳輸?shù)挠绊?,當然了搶占式機制也可以與TAS整形器混用,如圖10所示。
圖10TAS+搶占式MAC的混合模式
當然對于搶占式機制而言,需要橋節(jié)點和終端節(jié)點支持LLDP(IEEE802.1AB-鏈路層發(fā)現(xiàn)協(xié)議),因此802.1Qbu+802.3br這個是需要交換機在硬件上的支持能力的,也不知道會增加多少硬件成本。
4.IEEE802.1Qch運行的CQF整形器
為了提高數(shù)據(jù)的確定性,人們繼續(xù)努力尋找一種更為有效的整形器,在IEEE802.1Qbv和Qci基礎(chǔ)上設(shè)計了CQF機制,并定義為IEEE802.1Qch標準,CQF是CyclicQueuingandForwarding,即周期性排隊與轉(zhuǎn)發(fā)機制,這個機制由Qci-用于流濾波與監(jiān)測標準對入口的隊列進行處理,然后在隊列里將2個緩沖(也可以是3個或更多),其核心機制在于“數(shù)據(jù)包每個周期在每個橋僅走一步”,如果選擇4和5兩個隊列,則這兩個隊列對數(shù)據(jù)進行排隊,在同一跳轉(zhuǎn)節(jié)點上,隊列4的門是寫入數(shù)據(jù),而對隊列5發(fā)送數(shù)據(jù),而到了下一個周期,隊列4發(fā)送,而隊列5則接收數(shù)據(jù),這樣,交替開關(guān)4和5隊列的門,這樣就可以形成一個TAS中的GateControlList所開/關(guān)的門會使得隊列形成一個周期性排隊,轉(zhuǎn)發(fā)的過程,這使得整個數(shù)據(jù)的延遲為一個傳輸過程+一個跳轉(zhuǎn)過程的延遲,即,數(shù)據(jù)傳輸?shù)难舆t被“確定”了。
圖11CQF的排隊機制
下面幾張圖用于顯示數(shù)據(jù)包各個End節(jié)點經(jīng)過橋節(jié)點然后數(shù)據(jù)的整個傳輸過程,分為四個周期,每個周期中,數(shù)據(jù)包僅移動一步。
圖12CQF機制中數(shù)據(jù)包每個周期經(jīng)過一個橋
圖12顯示了各個終端節(jié)點的數(shù)據(jù)經(jīng)過橋節(jié)點的過程,我們可以看到每個顏色的數(shù)據(jù)包在每個周期里僅移動經(jīng)過每個橋(Hop)。
Qci是按照流量進行過濾和監(jiān)測(Per-StreamFilteringandPolicing),它是處于隊列的入口端與排隊前的處理部分。它的角色就是在數(shù)據(jù)進入隊列時進行過濾與監(jiān)測處理,包含了三個主要的功能:
圖13Qci的功能(藍色部分)
(1)通過MAC地址、目標地址、VLAN和/或IP地址組件識別特定的數(shù)據(jù)流;
(2)基于每個端口輸入調(diào)度來接受或放棄數(shù)據(jù),正確的包必須正確的時間窗口內(nèi)到達并在正確的端口被接收
(3)指派數(shù)據(jù)包到一個輸出隊列選擇器。
在Qci中對數(shù)據(jù)進入隊列進行預先的判斷,然后排隊轉(zhuǎn)發(fā)構(gòu)成整個CQF機制,這個在IEEE定義為IEEE802.1Qch標準。
CQF也可以與搶占機制進行配合,使得可以在隊列中避免低優(yōu)先級反轉(zhuǎn)壓制高優(yōu)先級數(shù)據(jù)的傳輸。
5.ATS-IEEE802.1Qcr
為了解決非周期性數(shù)據(jù)的傳輸零擁堵丟包問題,并且對于周期性的數(shù)據(jù)傳輸而言,網(wǎng)絡(luò)的嚴格時鐘同步和隊列保護帶寬等原因無法最大的使用到網(wǎng)絡(luò)帶寬,又進一步優(yōu)化那些對于時間同步非嚴苛任務(wù)的帶寬利用,開發(fā)了ATS整形器,在IEEE802.1Qcr中定義,IEEE802.1Qcr是一個異步數(shù)據(jù)流整形器ATS(AsynchronousTrafficShaper),它的是一個基于緊急度的調(diào)度器(UrgencyBasedScheduler),ATS旨在通過每跳重塑TSN數(shù)據(jù)流,ATS并不要求橋和終端節(jié)點同步,對于高實時要求和非實時業(yè)務(wù)混合業(yè)務(wù)模式下,ATS也能保持帶寬的最大利用率。
圖14ATS的處理機制
它采用了一種稱為RCSD(速率控制服務(wù)規(guī)則),RCSD是一種非工作保存類的分組服務(wù)規(guī)程,包括速率控制靜態(tài)優(yōu)先級和速率控制的最早期限優(yōu)先。RCSD分組調(diào)度由兩部分組成:速率控制器實現(xiàn)速率控制策略,調(diào)度器根據(jù)一些調(diào)度策略實現(xiàn)分組調(diào)度,例如靜態(tài)優(yōu)先級,先到先服務(wù)或最早到期日期。通過分離速率控制器和調(diào)度器,RCSD有效地將每個流的帶寬與其延遲界限解耦,即,為單個流分配規(guī)定量的帶寬與延遲界限無關(guān)。因此,RCSD可以支持低延遲和低帶寬流。
引入為了解決相對于CBS/TAS-時間感知整形器屬于Time-Trigged,那么ATS則屬于Event-Trigged方式,各個整形器基于數(shù)據(jù)調(diào)度的不同應(yīng)用需求而設(shè)計,而且是可以混用的。
中傳動網(wǎng)版權(quán)與免責聲明:
凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.surachana.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運動控制公眾號獲取更多資訊

關(guān)注直驅(qū)與傳動公眾號獲取更多資訊

關(guān)注中國傳動網(wǎng)公眾號獲取更多資訊

掃碼關(guān)注小程序
時刻關(guān)注行業(yè)動態(tài)


填寫郵件地址,訂閱更多資訊:
撥打電話咨詢:13751143319 余女士
郵箱:chuandong@chuandong.cn
- 運動控制
- 伺服系統(tǒng)
- 機器視覺
- 機械傳動
- 編碼器
- 直驅(qū)系統(tǒng)
- 工業(yè)電源
- 電力電子
- 工業(yè)互聯(lián)
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯(lián)接
- 工業(yè)機器人
- 低壓電器
- 機柜