淺談數(shù)字音視頻傳輸網(wǎng)絡(luò)——AVB
來源:數(shù)字音視工程網(wǎng) 作者:居姝曼 編輯:鐘詩倩 2017-06-15 13:53:51 加入收藏
天創(chuàng)數(shù)碼集團 培訓部 居姝曼
在傳統(tǒng)的音響系統(tǒng)里,聲音信號是模擬信號,它的振幅具有隨時間連續(xù)變化的特性。對模擬音頻信號進行處理、存儲和傳送都會引入噪聲和信號失真,并且隨著復(fù)制次數(shù)的增加,每次都會加入新的噪聲和失真,信號質(zhì)量會越來越差。而數(shù)字音頻技術(shù)的出現(xiàn),解決了上述模擬信號中的諸多問題。
數(shù)字音頻技術(shù)是把模擬音頻信號變換為振幅不變的脈沖信號,音頻信號的信息量全部包含在脈沖編碼調(diào)制(Pulse Code Modulation,PCM)中。各種處理設(shè)備引入的噪聲和產(chǎn)生的失真與數(shù)字信息完全分離。因此,數(shù)字音頻信號具有:復(fù)制不走樣、抗干擾能力強、動態(tài)范圍大、可遠距離傳輸、可以遠程監(jiān)控等優(yōu)點。
現(xiàn)如今,數(shù)字音頻信號還可以融入到網(wǎng)絡(luò)傳輸系統(tǒng)中,在一條傳輸線路上同時實行多路音頻信號的傳輸,大大節(jié)省了傳輸運行成本,簡化了傳輸線路。
音頻信號的數(shù)字化
將模擬信號轉(zhuǎn)換成數(shù)字信號,需要對模擬信號進行一系列的處理,如圖1所示,先對模擬信號進行采樣,再經(jīng)過低通濾波器去除掉采樣中產(chǎn)生的高頻失真,通過量化將采樣后的數(shù)值調(diào)整為整數(shù),再經(jīng)過二進制編碼后生成數(shù)字信號。
圖1 音頻信號的數(shù)字化
采樣,是每隔一定的時間間隔,抽取信號的瞬時幅度值。每一秒鐘所采樣的次數(shù)叫做采樣頻率。以CD為例,采樣頻率為44.1kHz,即1秒鐘對模擬信號進行了44100次取值,如圖2b所示,采樣后的信號變成了多個密布的點。采樣頻率越高,抽取的點密度越高,信號也就越精準。
圖2a 原模擬信號頻譜
圖2b 采樣后的頻譜
在圖2b中采樣過后的信號除了原始頻譜之外,還會額外產(chǎn)生一些高頻的失真,形成新的頻譜。這些失真的頻譜以nfu(n為正整數(shù))為中心、左右對稱,它的頻譜分布與原信號的頻譜形狀相同。采用低通濾波器(LPF)把新增加的多余的頻譜濾掉就可以恢復(fù)原信號的頻譜。
根據(jù)奈奎斯特(Nyquist)采樣定理:采樣頻率fs大于或等于采樣信號最高頻率fu的2倍,就可以通過低通濾波器恢復(fù)無失真的原始信號。如果fs<2fu,采樣過程中產(chǎn)生的一部分高頻失真會與原始頻譜相互疊加,如圖3中會產(chǎn)生頻譜混疊失真的現(xiàn)象,這種疊加是無法用低通濾波器分開的。
圖3 頻譜混疊失真
因此采樣頻率fs必須大于原信號中最高頻率的2倍以上,新增加的頻譜與原信號的頻譜才不會相互疊加。例如,人耳的聽音頻率上限是20kHz,采樣頻率最低應(yīng)為40kHz。但低通濾波器有一定的截止邊沿寬度,是按一定規(guī)律逐步對信號衰減濾除的,為了較好的防止產(chǎn)生高頻失真,通常fs=(2.1~2.5) fu。CD的采樣頻率是44.1kHz,它等于20kHz的2.205倍。
采樣后的振幅值并不是整數(shù),且是隨機變化的。還需要將這些隨機變化的振幅值通過四舍五入的方法將其變換為能用二進制數(shù)列來表達的數(shù)值,這個過程就是量化,單位是bit(比特),如圖4中采樣和量化所示。采樣值是6.4的幅值量化后取整數(shù)6,采樣值是3.6的幅值量化后取整數(shù)4。
圖4 A/D轉(zhuǎn)換的三個步驟
將量化后的二進制數(shù)組按照時間順序排列成可以順序傳送的脈沖序列,這個過程就是編碼。由于數(shù)字電路以開關(guān)的通和斷(1和0)兩種狀態(tài)為基礎(chǔ),可以大大簡化數(shù)字電路的運算,因此二進制編碼在數(shù)字技術(shù)中獲得了廣泛的應(yīng)用。
圖5 量化誤差與量化位數(shù)的關(guān)系
量化級數(shù)越多,量化誤差就越小,聲音質(zhì)量就越好,如圖5所示,3bit是2 3 個二進制數(shù),6bit是2 6 個二進制數(shù)。對于音頻信號,由于動態(tài)范圍較大,而且要求的信噪比又高,所以量化的取值大一些,通常為16bit,甚至20-24bit。
以太網(wǎng)的傳輸方式
以太網(wǎng)創(chuàng)建于1980年,它是一種可以在互連設(shè)備之間相互傳送數(shù)據(jù)的技術(shù)。發(fā)展至今日,因它具有成本低、速率快、可靠性高等特點被廣泛的應(yīng)用。我們可以通過以太網(wǎng)傳送Email、圖片、聲音、視頻等等。以太網(wǎng)絡(luò)使用CSMA/CD(載波監(jiān)聽多路訪問及沖突檢測)技術(shù),是一種爭用型的介質(zhì)訪問控制協(xié)議。它的工作原理是: 發(fā)送數(shù)據(jù)前先偵聽信道是否空閑 ,若空閑,則立即發(fā)送數(shù)據(jù)。若信道忙碌,則等待一段時間至信道中的信息傳輸結(jié)束后再發(fā)送數(shù)據(jù);若在上一段信息發(fā)送結(jié)束后,同時有兩個或兩個以上的節(jié)點都提出發(fā)送請求,則判定為沖突。若偵聽到?jīng)_突,則立即停止發(fā)送數(shù)據(jù),等待一段隨機時間,再重新嘗試。我們稱這種傳輸機制為“Best Effort”(盡力而為),也就是說當數(shù)據(jù)抵達端口后,本著FlFO(先入先出)的原則轉(zhuǎn)發(fā)。不對數(shù)據(jù)進行分類,當數(shù)據(jù)進入端口的速度大于端口能發(fā)送的速度時,F(xiàn)IFO按數(shù)據(jù)到達端口的先后順序讓數(shù)據(jù)進入隊列,同時,在出口讓數(shù)據(jù)按進隊的順序出隊,先進的數(shù)據(jù)將先出隊,后進的數(shù)據(jù)將后出隊。采用CSMA/CD控制方式的特點是:原理比較簡單,技術(shù)上容易實現(xiàn),網(wǎng)絡(luò)中各工作站處于平等地位 ,不需集中控制,不提供優(yōu)先級控制。
在以太網(wǎng)中,我們經(jīng)常會遇到“帶寬”一詞,它是指在單位時間(一般指的是1秒鐘)內(nèi)能傳輸?shù)臄?shù)據(jù)量。也就是在規(guī)定時間內(nèi)從一端流到另一端的信息量,即數(shù)據(jù)傳輸率。數(shù)字信息流的基本單位是bit(比特),時間的基本單位是s(秒),因此bit/s(比特/秒,也用bps表示)是描述帶寬的單位,1bit/s是帶寬的基本單位。不難想象,以1bit/s的速率進行通信是非常緩慢的。幸好我們可以使用通信速率很快的設(shè)備,比如56k的調(diào)制解調(diào)器利用電話線撥號上網(wǎng),其帶寬是56000bit/s(1k=1000bit/s), 電信ADSL寬帶上網(wǎng)在512kbit/s至100Mbit/s之間,而現(xiàn)如今的以太網(wǎng)則可以輕松達到100Mbit/s以上(1Mbit/s=1000*1000bit/s=1,000,000bit/s)。
以千兆網(wǎng)(1Gbit/s)為例:假如說交換機的端口帶寬是1Gbit/s,也就是1000,000,000bit/s,則說明每秒可傳輸1000,000,000個二進制的“位”,那么1bit所占用的時間是1÷1000,000,000=1ns。也就是每個二進制位(1bit)之間的時間間隔大于1ns時,就不會發(fā)成沖突,如圖6所示。
圖6
但在以太網(wǎng)傳輸中,并不是以二進制位(bit)來傳輸?shù)?,而是?ldquo;幀”為單位的。如圖7所示,在一幀中至少包含了46Byte(字節(jié))的數(shù)據(jù),那么一個最小的以太網(wǎng)幀是72 Byte;如果一幀中包含的最大數(shù)據(jù)是1500 Byte,那么一個最大的以太網(wǎng)幀是1526 Byte。
典型以太網(wǎng)幀 | |||||
8 | 6 | 6 | 2 | 46-1500 | 4 |
前導碼 | 目的地址 | 源地址 | 類型 | 數(shù)據(jù) | 幀校驗序列 |
a)
IEEE802.3(原版) | ||||||
7 | 1 | 6 | 6 | 2 | 46-1500 | 4 |
前導碼 | 幀開始符 | 目的地址 | 源地址 | 長度 | 數(shù)據(jù) | 幀校驗序列 |
b)
IEEE802.3(1997修訂) | ||||||
7 | 1 | 6 | 6 | 2 | 46-1500 | 4 |
前導碼 | 幀開始符 | 目的地址 | 源地址 | 長度/類型 | 數(shù)據(jù) | 幀校驗序列 |
c)
圖7 以太網(wǎng)幀結(jié)構(gòu)
網(wǎng)絡(luò)設(shè)備和組件在接收一個幀之后,需要一段短暫的時間來恢復(fù)并為接收下一幀做準備,也就是相鄰兩幀之間是有一個間隙的,IFG(Inter frame Gap)幀間距。IFG的最小值是12Byte,如圖8所示。
圖8
我們假設(shè)這兩幀數(shù)據(jù)在千兆網(wǎng)(1Gbit/s)內(nèi)傳輸,那么兩幀之間的時間間隔大于96ns就不會發(fā)生沖突。
隨著網(wǎng)絡(luò)帶寬的提升,千兆網(wǎng)在傳統(tǒng)以太網(wǎng)的基礎(chǔ)上對幀的數(shù)據(jù)量做出了一定的修改。采用了載波延伸(Gamier Extension)的方法,將最小字節(jié)擴展到512Byte,即凡是發(fā)送幀長不足512 Byte時,就填充特殊字符(0F)補足。當許多短幀需要發(fā)送時,如果每一幀都擴展為512 Byte,會造成資源的巨大浪費。因此又設(shè)定了幀突發(fā)(Frame Bursting)的方法,可以解決此問題,第一個短幀使用載波延伸,一旦發(fā)送成功,則隨后的短幀連續(xù)發(fā)送直到1500 Byte為止。此期間由于線路始終處于“忙”的狀態(tài),不會有其它站點搶占信道。
傳統(tǒng)以太網(wǎng) 如何傳輸實時數(shù)據(jù)流 (音、視頻流)?
以太網(wǎng)通過RTP(Real-time Transport Protocol)實時傳輸協(xié)議為數(shù)據(jù)提供了具有實時特征的端對端傳送服務(wù)。RTP 本身并不能保證傳送,也不能保證防止無序傳送。因此,想要對所有的數(shù)據(jù)流進行排序,就離不開對數(shù)據(jù)的緩沖(Buffer)。但是,一旦采用緩沖的機制就又會帶來新的問題——延時。所以我們在網(wǎng)絡(luò)上聽歌、看電影的時候,都會緩沖后才開始播放。但這個緩沖時間,在專業(yè)音、視頻傳輸領(lǐng)域里是不能被接受的。
數(shù)字音頻信號對以太網(wǎng)的要求
我們以CD為例,它的采樣頻率是44.1kHz,量化位數(shù)是16bit。每次采樣的時間是1÷44.1×1000≈22.7μs。我們對聲音的要求是連續(xù)不間斷的,也就是要求每個采樣下的數(shù)據(jù)傳輸間隔不能大于22.7μs。而在千兆網(wǎng)(1Gbit/s)里,兩幀之間的最小時間間隔只有96ns,遠小于我們所要求的22.7μs,那么在這個帶寬下,我們是完全可以傳輸連續(xù)不間斷的音頻信號的。
如果我們在1Mbit/s的帶寬下傳輸數(shù)據(jù),那么1bit所占用的時間是1÷1,000,000=1μs,兩幀之間的間隔是96μs,這時候如果傳輸CD數(shù)字音頻信號就會存在斷斷續(xù)續(xù)的問題了。
從上面兩個例子不難看出,只要網(wǎng)速足夠快,也就是網(wǎng)絡(luò)有足夠的帶寬,我們就可以很順利的在網(wǎng)絡(luò)上傳輸數(shù)字音頻信號。但大多數(shù)情況下,由于帶寬通常是由多個設(shè)備共享的,我們不單單只用它去傳輸一路數(shù)字音頻信號,我們會同時傳送多路數(shù)字音頻信號,還會傳輸郵件、網(wǎng)頁、圖片等等其它的數(shù)據(jù)。而所有的發(fā)送端沒有基于時間的流量控制,那么這些發(fā)送端永遠是盡最大可能發(fā)送數(shù)據(jù)。這樣來自不同設(shè)備的數(shù)據(jù)流就會在時間上產(chǎn)生重疊,即我們前文所說的沖突。這一定會影響數(shù)字音頻信號的傳輸,為了改善這種傳輸機制,提高部分數(shù)據(jù)傳輸效率,以太網(wǎng)通過QoS優(yōu)先機制進行轉(zhuǎn)發(fā),可以保證一部分數(shù)據(jù)的傳輸。
什么是QoS?
QoS(Quality of Service)是服務(wù)質(zhì)量的簡稱,它包括保證傳輸?shù)膸?,降低傳輸?shù)难訒r,降低數(shù)據(jù)的丟失率以及延時抖動等。按照其工作的能力可分為以下幾種模型:
1、DiffServ(Differentiated Service,區(qū)分服務(wù))模型,根據(jù)服務(wù)要求對不同業(yè)務(wù)的數(shù)據(jù)進行分類,對數(shù)據(jù)按類進行優(yōu)先級標記,然后有差別地提供服務(wù)。先行轉(zhuǎn)發(fā)優(yōu)先級高的數(shù)據(jù),并將優(yōu)先級低的數(shù)據(jù)做端口緩存,待網(wǎng)絡(luò)中無高級別數(shù)據(jù)時再轉(zhuǎn)發(fā)低級別數(shù)據(jù),如圖9所示。
圖9
AVB 標準定義了兩個流量類型,A類和B類。A類流優(yōu)先級是5,B類流優(yōu)先級是4,這兩種數(shù)據(jù)相比較,A類數(shù)據(jù)流會被先行轉(zhuǎn)發(fā)。
圖10
2、IntServ(Integrated Service,綜合服務(wù))模型,在節(jié)點發(fā)送數(shù)據(jù)前,需要向網(wǎng)絡(luò)申請資源預(yù)留,確保網(wǎng)絡(luò)能夠滿足數(shù)據(jù)流的特定服務(wù)要求。它可以提供保證服務(wù)和負載控制服務(wù)兩種服務(wù)。保證服務(wù),提供保證的延遲和帶寬來滿足應(yīng)用程序的要求;負載控制服務(wù),保證即使在網(wǎng)絡(luò)過載的情況下,也能對數(shù)據(jù)提供與網(wǎng)絡(luò)未過載時類似的服務(wù)。
在網(wǎng)絡(luò)中大量的數(shù)據(jù)極有可能在一瞬間抵達端口,保證服務(wù)如果要為每一個數(shù)據(jù)流提供QoS服務(wù)就變得不可想象了。因此,IntServ模型很難獨立應(yīng)用于大規(guī)模的網(wǎng)絡(luò),需要與流量整形(Traffic Shaping)結(jié)合使用。
流量整形 ( Traffic Shaping )
流量整形是為了避免在以太網(wǎng)中發(fā)生丟棄數(shù)據(jù)的情況,通常采用漏桶算法(Leaky Bucket)來完成流量整形或速率限制(Rate Limiting)。它的主要目的是控制數(shù)據(jù)注入到網(wǎng)絡(luò)的速率,平滑網(wǎng)絡(luò)上的突發(fā)流量。
圖11 流量整形示意圖
漏桶算法提供了一種機制,通過它突發(fā)流量可以被整形,以便為網(wǎng)絡(luò)提供一個穩(wěn)定的流量。在概念上,漏桶算法可以作如下理解:到達的數(shù)據(jù)被放置在底部具有漏孔的桶中(數(shù)據(jù)緩存);數(shù)據(jù)從漏桶中漏出,以常量速率注入網(wǎng)絡(luò),因此平滑了突發(fā)流量,如圖12所示。
圖12 漏桶算法
主機在每經(jīng)過一個時間間隔向網(wǎng)絡(luò)輸出一個數(shù)據(jù)包,因此產(chǎn)生了一致的數(shù)據(jù)流,平滑了突發(fā)的流量。AVB 標準定義了兩個流量類型,A類和B類。A類的時間間隔為125μs,B類的時間間隔為250μs。A類要求流具有更緊密的等待時間,并且具有較短的觀察間隔,這意味著其數(shù)據(jù)包更小并且更頻繁地傳輸。
圖13
當數(shù)據(jù)流具有相同尺寸的時候,每個時間間隔傳輸一個數(shù)據(jù)的工作機制沒有任何問題。但對于可變長度的數(shù)據(jù)來說,這種工作機制可能存在一點問題,此時,最好每個時間間隔傳輸固定數(shù)目的字節(jié)。
AVB有兩種流格式:AM824和AAF。AM824支持24bit音頻,iec60958音頻編碼(SPDIF和AES3),SMPTE時間碼和MIDI。對于發(fā)送端AM824有三個選項“non-blocking(sync)”、“non-blocking(aync)”和“blocking”。
AM824(non-blocking,synchronous),典型的AVB音頻設(shè)備使用此模式進行傳輸。每個觀察周期發(fā)送一幀,每個以太網(wǎng)幀總發(fā)送相同數(shù)量的采樣,在48kHz采樣時,每幀包含6個采樣;在96kHz時,每幀包含12個采樣。
AM824 (non-blocking, async packetization),此模式由于打包器和發(fā)送器的觀測間隔不同步,有可能發(fā)送一個臨時的以太網(wǎng)幀,其中包含一個或多個采樣。一個打包器處理多個時鐘域的設(shè)備通常采用此格式。因為它可以發(fā)送臨時的以太網(wǎng)幀,在48kHz采樣時,每幀包含7個采樣;在96kHz時,每幀包含13個采樣,它需要預(yù)留足夠的帶寬。蘋果Mac采用此模式。
AM824 (blocking)是一些火線設(shè)備使用的模式,因為它更容易打包和拆包。在48kHz采樣時,每幀包含8個采樣;在96kHz時,每幀包含16個采樣。
AAF是IEEE p1722a中定義的新的打包格式。它比AM824開銷低,要求數(shù)據(jù)流中每個幀具有相同的大小和格式,并允許16bit、24bit和32bit的量化,以及每個幀的采樣數(shù)量選擇。每個幀的大小和格式總是相同的。
圖14
從圖14中我們可以看出幾個典型的AVB流在萬兆網(wǎng)(10Gbps)中的傳輸規(guī)律。比如:48kHz采樣32bit的立體聲音頻流,實際需要的帶寬大約是3Mbps,采用Class A的傳輸間隔,1秒鐘發(fā)送8000組數(shù)據(jù)(1÷8000=0.000125s=125μs),其中每組數(shù)據(jù)最多由80個幀組成。如果每幀都按照最大數(shù)據(jù)來傳輸,在前文中提到過最大幀是1526Byte(如圖7中所示),再加上每幀的幀間隔12Byte,共1538 Byte,相當于12,304bit(1Byte=8bit),每組80個幀相當于12,304×80=984,320bit,每秒傳輸8000組相當于984,320×8000=7,874,560,000bit/s≈7.87Mbps。那么在10Gbps的帶寬下,如果保留75%的帶寬用于傳輸AVB流,可以傳輸952個這樣的數(shù)據(jù)流。
AVB可以實現(xiàn)全雙工的工作模式,每幀的數(shù)據(jù)量和傳輸?shù)臄?shù)據(jù)類型有關(guān),也和時間間隔有關(guān),從圖14中不難看出,不同類型的數(shù)據(jù)所占用的字節(jié)并不是一個絕對的固定值。流量整形固定了實時數(shù)據(jù)流(音、視頻流)的發(fā)送時間間隔和幀大小,當傳統(tǒng)的異步以太網(wǎng)數(shù)據(jù)流(郵件、網(wǎng)頁等)進入網(wǎng)絡(luò)時,會不會對實時數(shù)據(jù)流有所影響呢?
802.1Qav:排隊及轉(zhuǎn)發(fā)協(xié)議(Queuing and Forwarding Protocol,簡稱Qav)
Qav協(xié)議的作用是確保傳統(tǒng)的異步以太網(wǎng)數(shù)據(jù)流不會干擾到AVB的實時數(shù)據(jù)流。AVB交換機把收到的各種數(shù)據(jù)分類,分別進入不同的轉(zhuǎn)發(fā)隊列,并重新賦予優(yōu)先級,其中實時音視頻流數(shù)據(jù)擁有最高優(yōu)先級。為了避免沖突需要兩種調(diào)度算法,一種是基于可信因子的整形算法CBS(credit based shaper transmission selection algorithm),一種是嚴格的優(yōu)先級選擇算法。各種不同的普通數(shù)據(jù)按照嚴格的優(yōu)先級算法進行調(diào)度,當與流數(shù)據(jù)發(fā)生沖突時,則調(diào)用CBS算法。
對時間敏感的實時數(shù)據(jù)流轉(zhuǎn)發(fā)采用偽同步模式(Pseudo-synchronous),這個機制依賴于精準時間同步協(xié)議(PTP)提供的8kHz時鐘。在每隔125μs的時間間隙(1÷8000=0.000125s=125μs),包含AVB數(shù)據(jù)的以太網(wǎng)等時幀就會被進行轉(zhuǎn)發(fā)。在優(yōu)先保證等時幀數(shù)據(jù)傳輸?shù)臈l件下,繼續(xù)提供普通異步傳輸?shù)姆?wù),這就是Qav的優(yōu)先級管理(Prioritize)及流量整形(Traffic Shaping)。
當數(shù)據(jù)經(jīng)過多個交換機進行傳輸時,即使在相同的帶寬下,也會因為路徑不同導致傳輸時間的偏差,如何保證在整個網(wǎng)絡(luò)里都具備相同的時間間隔呢?還需要一個時鐘同步機制,將網(wǎng)絡(luò)中的所有設(shè)備同步到相同的時鐘上,來提高AVB流量整形的精準度。
802.1AS:精準時間同步協(xié)議(Precision Time Protocol,簡稱PTP)
時鐘同步的目的是維護一個全局一致的物理或邏輯時鐘,或者說把分布在各地的時鐘對準(同步起來),使得系統(tǒng)中的信息、事件有一個全局一致的解釋。IEEE802.1AS采用點對點的工作模式,時間同步過程只在相鄰設(shè)備之間進行,設(shè)備自己通過外帶方式實現(xiàn)接口之間的時間同步,不經(jīng)過內(nèi)部交換板。它定義了主時鐘選擇與協(xié)商算法、路徑延時測算與補償算法、以及時鐘頻率匹配與調(diào)節(jié)的機制,可用于生成時鐘以及對網(wǎng)絡(luò)音視頻系統(tǒng)的修復(fù)。PTP定義了一個自動協(xié)商網(wǎng)絡(luò)主時鐘的方法,即最優(yōu)主時鐘算法(Best Master Clock Algorithm,簡稱BMCA)。BMCA定義了底層的協(xié)商和信令機制,用于標識出AVB局域網(wǎng)內(nèi)的主時鐘(Grandmaster)。
IEEE802.1AS的核心在于時間戳機制(Time stamping)。PTP消息在進出具備IEEE802.1AS功能的端口時,會根據(jù)協(xié)議觸發(fā)對本地實時時鐘(RTC)的采樣,將自己的RTC值與來自該端口相對應(yīng)的主時鐘(Master)的信息進行比較,利用路徑延遲測算和補償技術(shù),將其RTC時鐘值匹配到PTP域的時間。當PTP同步機制覆蓋了整個AVB局域網(wǎng),各網(wǎng)絡(luò)節(jié)點設(shè)備間就可以通過周期性的PTP消息交換精確的實時時鐘調(diào)整和頻率匹配算法。最終,所有的PTP節(jié)點都將同步到相同的“掛鐘”(Wall Clock)時間,即Grandmaster時間。消息交換過程如下:
1. Master發(fā)送Sync消息,記下該消息的本地發(fā)送時間t1。
2. Slave接收到Sync消息,并記下其接收到該消息的本地時間t2。
3. Master有兩種方式告訴Slave該Sync消息的發(fā)送時間t1。
1) 將t1時間嵌入到Sync消息中,這需要某種硬件處理以獲得高精度。
2)在后續(xù)的Follow_Up消息中發(fā)送
4. Slave發(fā)送Delay_Req消息往Master,并記下發(fā)送時間t3。
5. Master接收到Delay_Req,并記下該消息到達時間t4。
6. Master發(fā)送Delay_Resp消息告知Slave t4。
利用這四個時間可以算出Master和Slave之間的時鐘差值,前提是鏈路是對稱的,即發(fā)送和接收延時一樣。計算公式為:
offset = ((t2 - t1) - (t4 - t3))/2
one_way_delay = ((t2 - t1) + (t4 - t3))/2
圖15
在最大7跳的網(wǎng)絡(luò)環(huán)境中,理論上PTP能夠保證時鐘同步誤差在1μs以內(nèi)。由于串行連接交換機會影響延時的對稱性,使同步精度降低,因此在構(gòu)架AVB網(wǎng)絡(luò)時建議采用對稱的鏈路設(shè)計。
一旦主時鐘被選定,所有局域網(wǎng)節(jié)點的PTP設(shè)備將以此主時鐘為參考值,如果Grandmaster發(fā)生變化,整個AVB網(wǎng)絡(luò)也能通過BMCA在最短時間內(nèi)確定新的主時鐘,確保整個網(wǎng)絡(luò)保持時間同步。
該標準所規(guī)范的協(xié)議嚴格保證了實時數(shù)據(jù)流在基于以太網(wǎng)延時固定或?qū)ΨQ的傳輸媒質(zhì)中的同步傳送。其內(nèi)容包括在網(wǎng)絡(luò)正常運行或添加、移除或重新配置網(wǎng)絡(luò)組件和網(wǎng)絡(luò)故障時,對時間同步機制的維護,為以太網(wǎng)提供完美的低延遲、低抖動的時鐘,保證高質(zhì)量的帶寬,使服務(wù)快速抵達。
在確保了時間精準之后,如果帶寬不充足會導致漏桶很快存滿并且有數(shù)據(jù)溢出,如果是音、視頻數(shù)據(jù)溢出被丟棄,就會出現(xiàn)斷斷續(xù)續(xù)的問題,還有可能丟失掉一部分聲音或畫面,因此我們還需要保證有足夠的帶寬可以傳輸實時音視頻數(shù)據(jù)流。
802.1Qat:流預(yù)留協(xié)議(Stream Reservation Protocol,簡稱SRP)
為了提供有保障的QoS,流預(yù)留協(xié)議確保了實時數(shù)據(jù)流設(shè)備間端到端的帶寬可用性。如果所需的路徑帶寬可用,整個路徑上的所有設(shè)備(包括交換機和終端設(shè)備)將會對此資源進行鎖定。符合SRP標準的交換機能夠?qū)⒄麄€網(wǎng)絡(luò)可用帶寬資源的75%用于AVB鏈路,剩下25%的帶寬留給傳統(tǒng)的以太網(wǎng)流量。
在SRP中,流服務(wù)的提供者叫做Talker,流服務(wù)的接收者叫做Listener。同一個Talker提供的流服務(wù)可同時被多個Listener接收,SRP允許只保障從Talker到Listener的單向數(shù)據(jù)流流動。
只要從Talker到多個Listener中的任意一條路徑上的帶寬資源能夠協(xié)商并鎖定,Talker就可以開始提供實時數(shù)據(jù)流傳輸服務(wù)。SRP內(nèi)部周期性的狀態(tài)機制維護著Talker及Listener的注冊信息,能夠動態(tài)的對網(wǎng)絡(luò)節(jié)點狀態(tài)進行監(jiān)測并更新其內(nèi)部注冊信息數(shù)據(jù)庫,以適應(yīng)網(wǎng)絡(luò)拓撲的動態(tài)改變。無論Talker還是Listener,都可以隨時加入或者離開AVB的網(wǎng)絡(luò),而不會對AVB網(wǎng)絡(luò)的整體功能和狀態(tài)造成不可恢復(fù)的影響。
1722:音視頻橋接傳輸協(xié)議(Audio/Video Bridging Transport Protocol,簡稱AVBTP)
AVBTP定義了局域網(wǎng)內(nèi)提供實時數(shù)據(jù)流服務(wù)所需的二層數(shù)據(jù)格式,實時數(shù)據(jù)流的建立、控制及關(guān)閉協(xié)議。AVBTP為物理上分隔的音、視頻編解碼器之間建立了一條帶有低延遲的虛擬鏈路。
各種壓縮的與非壓縮的原始音頻、視頻數(shù)據(jù)流經(jīng)由AVBTP協(xié)議進行打包(填充由SRP保留的流ID,打上PTP產(chǎn)生的時間戳以及媒體類型等相關(guān)信息),通過AVBTP專用的以太網(wǎng)幀類型進行組播,從流服務(wù)的提供者(Talker)發(fā)出,由AVB交換機進行轉(zhuǎn)發(fā),再被注冊過此實時數(shù)據(jù)流服務(wù)的接收者(Listener)接收并解包、解碼然后輸出。
AVBTP每125µs發(fā)送一次這個幀,它總是相同大小的數(shù)據(jù)流。每個流中可以由1-60個通道組成,最多可支持64個流。
AVB——以太網(wǎng)音視頻橋接技術(shù)(Ethernet Audio Video Bridging)是IEEE的802.1任務(wù)組于2005開始制定的一套基于新的以太網(wǎng)架構(gòu)的協(xié)議,用于實時音視頻的傳輸協(xié)議集。除了以上描述的相關(guān)協(xié)議之外,還包括:
802.1BA:音視頻橋接系統(tǒng)(Audio Video Bridging Systems)
AVB系統(tǒng)標準定義了一系列在生產(chǎn)制造AVB兼容設(shè)備過程中使用的預(yù)設(shè)值和設(shè)定,使得不具備網(wǎng)絡(luò)經(jīng)驗的用戶也能夠去建立、使用AVB網(wǎng)絡(luò),而不必對其進行繁瑣的配置。
1733:實時傳輸協(xié)議(Real-Time Transport Protocol,簡稱RTP)
RTP是一種基于三層UDP/IP網(wǎng)絡(luò)的協(xié)議,為了在基于IP的三層應(yīng)用上利用二層AVB的性能,IEEE 1733對RTP進行了擴展,在通過橋接及路由的局域網(wǎng)內(nèi)提供時間同步、延遲保障和帶寬預(yù)留的服務(wù),以提供實時數(shù)據(jù)頻流的傳輸。其中涉及到封包格式,流的建立、控制、同步及關(guān)閉等協(xié)議。
1722.1 :負責設(shè)備搜尋、列舉、連接管理、以及基于1722的設(shè)備之間的相互控制。用于AVB設(shè)備的發(fā)現(xiàn),枚舉,連接管理,固件升級等。
TSN (Time Sensitive Network)時間敏感網(wǎng)絡(luò)
IEEE 802.1任務(wù)組在2012年11月的時候正式將AVB更名為TSN——Time Sensitive Network時間敏感網(wǎng)絡(luò)。也就是說,AVB只是TSN中的一個應(yīng)用。
此外,TSN還應(yīng)用在汽車控制領(lǐng)域、商用電子領(lǐng)域、實時監(jiān)控或?qū)崟r反饋的工業(yè)領(lǐng)域。如果大家想更多的了解有關(guān)TSN網(wǎng)絡(luò)的相關(guān)信息,可以瀏覽AVnu聯(lián)盟的網(wǎng)站http://avnu.org/
評論comment