以太網(wǎng)音視頻橋接技術(shù)(Audio Video Bridging over Ethernet,簡稱AVB),是電氣電子工程師學(xué)會(IEEE)的一整套借由以太網(wǎng)傳輸音頻和其他實時內(nèi)容的標準。這些標準早已為20多家芯片制造商、音頻與娛樂信息企業(yè)以及網(wǎng)絡(luò)供應(yīng)商所采用。
AVB通常被誤傳為僅為諸如現(xiàn)場音樂會這樣的大型應(yīng)用而服務(wù)。在本文中,證實了AVB可極好地適用于小型應(yīng)用中,例如消費音頻、音頻電話會議或者車載娛樂等。為此,倡議使用“菊花鏈AVB”:它以減小AVB系統(tǒng)的容量為代價,避免了對交換機的需求。
在本文中,首先會給出一個AVB的概述。之后,將討論AVB菊花鏈怎樣工作,并且舉出了一個菊花鏈網(wǎng)絡(luò)的例子。
藏在殼中的AVB
從高水平的角度來看,AVB是通過為AVB數(shù)據(jù)流“預(yù)留”一部分可用的以太網(wǎng)帶寬來工作的。AVB數(shù)據(jù)包在已分配的時隙中周期性地被傳輸;同時因為預(yù)留了帶寬,所以就不會有沖突。系統(tǒng)中的所有節(jié)點共享一個虛擬時鐘,AVB數(shù)據(jù)包都有一個“閾時”,它規(guī)定了何時媒體數(shù)據(jù)包應(yīng)該結(jié)束。AVB數(shù)據(jù)包可以容納所有類型的時間敏感型數(shù)據(jù);本文只關(guān)注音頻數(shù)據(jù)。
例如:一個系統(tǒng)可能包含一個正在傳送數(shù)據(jù)的主節(jié)點(“主叫方”),以及由左右揚聲器組成的兩個節(jié)點(“被叫方”);由于所有三個節(jié)點都共享同一個通用時鐘,所以左右揚聲器將會同步地產(chǎn)生聲音。
預(yù)留帶寬:流預(yù)留協(xié)議(SRP、IEEE 802.1Qat)
AVB背后的神奇之處在于它將網(wǎng)絡(luò)流量分為兩組:實時流量與剩余流量。所有的實時流量都以一個8 kHz的節(jié)奏被傳輸,剩余流量被安排在它周圍。也就是說,每隔125 us全部實時數(shù)據(jù)流都傳送其數(shù)據(jù)并暫停其他數(shù)據(jù)流;當(dāng)再沒有實時數(shù)據(jù)時,其他數(shù)據(jù)包被傳輸。
過程如圖1為所示。
圖1:兩種數(shù)據(jù)流傳輸場景。頂部:AVB預(yù)留了20%的流量;IP與其他遺留流量被安排在AVB時隙的周圍。底部:AVB預(yù)留了80%流量;剩余流量被延遲,或者在它們不能被安排在AVB時隙的周圍時則被丟棄
為了確保為所有實時數(shù)據(jù)流提供足夠的空間,采用了一種協(xié)議來“分配帶寬”。圖2所示為一個包含2臺交換機和4個節(jié)點的系統(tǒng):節(jié)點A與節(jié)點D在它們之間預(yù)留一條數(shù)據(jù)流(45 Mbit/s),節(jié)點B與節(jié)點C預(yù)留另一條數(shù)據(jù)流(20Mbit/s)。在這些節(jié)點之間的所有交換機將確保提供足夠的帶寬:在交換機X與Y之間將會預(yù)留65 Mbit/s的帶寬,是因為從A到D和從B到C的數(shù)據(jù)流都要經(jīng)過這條鏈路。如果這恰好是一條100 Mbit/s的鏈路,那么只有35 Mbit/s帶寬可供其它數(shù)據(jù)流使用,例如網(wǎng)頁數(shù)流或者配置信息等。倘若D需要一個來自于A的大網(wǎng)頁,那么數(shù)據(jù)包在X處可能會被遺棄。
圖2:連接4個節(jié)點的2臺交換機的圖示
采用已分配的帶寬使得AVB能夠在一個2 ms的時間窗口中從端點到端點傳送數(shù)據(jù):為了滿足這個限制,AVB允許最多7跳(個中繼段),其中每跳至多累加125 us的延遲。這就意味著一個節(jié)點可以傳送一段未來播放2 ms的音頻需求,且所有的樣本都將及時到達并在適當(dāng)?shù)臅r候播放完。
分配帶寬的協(xié)議被稱作數(shù)據(jù)流預(yù)留協(xié)議(SRP、IEEE 802.1Qat),這為AVB標準形成了基礎(chǔ)性的構(gòu)建單元。通過以8 kHz的節(jié)奏發(fā)送實時數(shù)據(jù)流,系統(tǒng)中的所有節(jié)點(交換機與終端設(shè)備)必須實現(xiàn)SRP并形成數(shù)據(jù)流。若其中一個節(jié)點是一臺遺留交換機,那么它不會優(yōu)先處理實時數(shù)據(jù)流,則有可能延遲實時數(shù)據(jù)流而造成輸出抖動。
通用時鐘:精準時間同步協(xié)議(PTP、 IEEE 802.1AS)
AVB中的所有音頻數(shù)據(jù)流都與通用時鐘同步;這使得音頻內(nèi)容制造商與消費者能夠同步地播放和記錄聲音。這個時鐘由“精確時間同步協(xié)議”或者稱為PTP實現(xiàn)。
PTP假定所有節(jié)點都有一個理論上相當(dāng)好的時鐘(例如一款晶振時鐘),最好是有一個已知的精度(如25 ppm,相當(dāng)于每天2秒)。通過以太網(wǎng)電纜連接的PTP節(jié)點向彼此發(fā)送周期性的信息、報告時間并且計算其各自時鐘的偏差。擁有最精確時鐘的節(jié)點被選為“主時鐘”(Master)節(jié)點,所有其他節(jié)點都根據(jù)主時鐘來估算其相對偏差,這樣使得所有的節(jié)點都能夠計算出一個與主時鐘密切保持同步的本地時鐘。
通過網(wǎng)絡(luò)同步時鐘是要付出代價的。假設(shè)一個節(jié)點有一個不穩(wěn)定的時鐘(如因為它是溫度敏感型),它的頻率在迅速地變化。這個節(jié)點將注意到其頻率與主時鐘之間的相對變化,它抑或可輕微調(diào)整本地時鐘來與匹配新的頻率,但這將暫時地引起主時鐘與本地時鐘之間的一種相位差?;蛘呖梢愿斓卣{(diào)整頻率,但這在時鐘信號中產(chǎn)生一種更高頻率的抖動。對于音頻來說,大家通??梢栽试S小的、暫時性的相位漂移,將抖動保持在很低的頻率。
IEEE 標準802.1AS中規(guī)定的PTP協(xié)議是AVB的第二個組成單元。它也經(jīng)常被用于聯(lián)上網(wǎng)的計算機(筆記本電腦、服務(wù)器),來提供同步時鐘。
流、信道、主叫者與接聽者
AVB建立在“數(shù)據(jù)流”的基礎(chǔ)上。如果這些數(shù)據(jù)是音頻,則一條流包含了多個聲道(如立體聲),而每個AVB數(shù)據(jù)包包含了125 us所有聲道的取樣值,它們也是流的一部分?!爸鹘姓摺碑a(chǎn)生流,節(jié)點產(chǎn)生音頻。一只麥克風(fēng)或一臺播放MP3文件的筆記本電腦都是主叫者。“接聽者”可以訂閱一條流:一臺揚聲器就是一個典型的接聽者,他將從一條流中通常性地選擇某一個聲道并播放。
一個典型的系統(tǒng)可能包括如下幾種:
● 帶有6個接聽者(如5.1聲道環(huán)繞立體聲)的同一個主叫者(如一個DVD播放器)
● 帶有一組揚聲器的多個主叫者(如一組麥克風(fēng)),供會議使用
● 幾十個麥克風(fēng)、幾十個揚聲器,以及一個巨大的調(diào)音臺(音樂會現(xiàn)場使用)
一個AVB系統(tǒng)應(yīng)該是多大或多小沒有統(tǒng)一規(guī)則來規(guī)定。然而,還是存在著實用性上的限制:AVB流都擁有相當(dāng)大的開銷,它限制了一條以太網(wǎng)線纜所能輸送的流的數(shù)量。一條100 Mbit的以太網(wǎng)線纜可以輸送9條立體聲AVB流(總共18個通道),或者1條帶有45個通道的單AVB流。
一種發(fā)現(xiàn)通信協(xié)議(IEEE 1722.1)被用來羅列、發(fā)現(xiàn)和控制所附帶的設(shè)備及其功能,這種協(xié)議是從實際數(shù)據(jù)傳輸中分拆出來的,完全由一臺主機用來配置系統(tǒng)。
菊花鏈
對比其他的數(shù)字音頻分發(fā)機制(如USB音頻),由于需要能感知AVB的交換機,AVB可能看起來成本較高。因為這個原因,提出菊花鏈AVB的案例:一臺帶有兩個以太網(wǎng)端口(稱其為A與B)和一臺內(nèi)置“交換機”的AVB終端設(shè)備,引號引住交換機是因為這并不是一臺全功能的交換機。
圖3:如圖所示為支持AVB的筆記本電腦,它通過一個以太網(wǎng)端口接入到一個由兩臺揚聲器和一支麥克風(fēng)組成的菊花鏈
圖3給出的即為一種布局案例。一臺筆記本電腦與節(jié)點1相連,節(jié)點1與節(jié)點2相連,節(jié)點2與節(jié)點3相連,網(wǎng)絡(luò)到此結(jié)束。每一個節(jié)點由2個端口(對稱的)組成,連接端口的邏輯如下:
● 如果只有一個端口被插入,節(jié)點就相當(dāng)于一臺普通的AVB終端設(shè)備
● 如果兩個端口都被接入,此節(jié)點主要擔(dān)當(dāng)兩個端口之間的橋:所有數(shù)據(jù)流都正常通過。此節(jié)點自己將會接入任一經(jīng)過此設(shè)備的AVB數(shù)據(jù)流,并且偶爾會消除或者產(chǎn)生一個數(shù)據(jù)包:例如當(dāng)響應(yīng)SRP、PTP或配置協(xié)議中任意一個時。
這就意味著依據(jù)交換容量節(jié)點需要的資源很少。到達端口A的數(shù)據(jù)將會流向B,除非它已被本地的節(jié)點預(yù)定,到達B的流也將流向A,除非它已被本地的節(jié)點預(yù)定。偶爾會在本地生成數(shù)據(jù)包,節(jié)點必須了解這些數(shù)據(jù)包應(yīng)該去向A還是B。橋接A與B的軟件必須是能感知AVB的,并且必須參與進來,例如時鐘同步。
值得注意的是,現(xiàn)在既不需要路由表也不需要緩沖存儲,完成這樣簡單的任務(wù)也不需要操作系統(tǒng)。這就意味著在成本方面,一臺菊花鏈AVB終端設(shè)備與普通的AVB終端設(shè)備外加一個以太網(wǎng)PHY和插口的成本是差不多的。
這種方法有一些局限性:
● 和一臺交換機不同,一個菊花鏈網(wǎng)絡(luò)需要為流過整條菊花鏈的末向數(shù)據(jù)流預(yù)留流量;在1臺帶有7個節(jié)點的交換機里,所有7個節(jié)點理論上都可以接收100 Mbits的流量。在一個菊花鏈系統(tǒng)中,這可能需要第一個節(jié)點傳輸700 Mbits/s。然而,在一個AVB系統(tǒng)中,大多數(shù)數(shù)據(jù)流都是多路傳送音頻數(shù)據(jù)流,很小部分的流量為特殊的節(jié)點預(yù)留。因此,鏈上的節(jié)點都接聽到相同的流,一條菊花鏈上幾乎沒有額外的數(shù)據(jù)流。
● 一秒限制:它指的是為了保證一個2ms的端對端延遲,AVB標準不支持在一個網(wǎng)絡(luò)中有多于7臺交換機,這就把一條單菊花鏈限制到7個節(jié)點范圍內(nèi)。有兩種方法可以解決這個問題:首先,可以在一個封閉系統(tǒng)內(nèi)放棄那2ms的延遲。其次,可以在菊花鏈中使用一臺交換機。倘若一條4個節(jié)點的菊花鏈與交換機的每個端口都相連,那么一臺交換機就可以使用4倍的節(jié)點數(shù),減少了所需基礎(chǔ)設(shè)施的成本。
因為這些限制,菊花鏈AVB非常適合于用于小規(guī)模系統(tǒng)。
菊花鏈實施案例
已經(jīng)在帶有16個邏輯核的XMOS芯片的基礎(chǔ)上開發(fā)出了一種菊花鏈AVB節(jié)點。系統(tǒng)的硬件和軟件結(jié)構(gòu)如圖4所示。的系統(tǒng)所用硬件包括:
● 一片帶有16個邏輯核的xCORE多核微控制器
● 兩個帶有磁體和插口的以太網(wǎng)PHY
● 一個可以生成字時鐘的低抖動鎖相環(huán)(PLL)
● 一個帶有輸入輸出級的編碼解碼器(CODEC)
圖4:菊花鏈AVB解決方案樣例的軟件和硬件架構(gòu)
微控制器運行7個任務(wù)來控制2個以太網(wǎng)端口:輸入數(shù)據(jù)包、輸出數(shù)據(jù)包和兩個端口間的路由數(shù)據(jù)包。另外6個任務(wù)實現(xiàn)AVB棧,分別是主叫者/接聽者、PTP與媒體時鐘恢復(fù)、I2S控制、SRP/MRP和1722.1恢復(fù)與控制任務(wù)。所有的13個任務(wù)適合于128kByte的片上存儲,從而不再需要排除外部RAM。用一片外部閃存芯片來存儲固定數(shù)據(jù)和開機映像。其軟件與高通道數(shù)AVB產(chǎn)品的軟件非常相似,唯一不同的部分是MII接口和緩存。
通過采用一片XMOS sliceKIT卡加兩片以太網(wǎng)子卡與一片音頻子卡來構(gòu)建了一個系統(tǒng)。圖5為一張介紹4個菊花鏈節(jié)點堆疊的照片。菊花鏈節(jié)點堆疊與一臺筆記本電腦相連,它將兩個節(jié)點作為“左”和“右”聲道。(音頻子卡自帶雙立體聲輸入和雙立體聲輸出;這次演示只運用了一個單音頻輸出。)
筆記本電腦可以發(fā)現(xiàn)兩個節(jié)點,因而我們可以將我們的音頻輸出重新指向到兩臺揚聲器。每個時鐘的示波器波形圖表明兩個聲道在播放時沒有明顯的相位差。相同的硬件/軟件架構(gòu)可被廣泛應(yīng)用,如構(gòu)建一個會議電話系統(tǒng),或者驅(qū)動一個功放(P/A)系統(tǒng)。
圖5:菊花鏈原型
結(jié)論
我們已經(jīng)證明我們能夠構(gòu)建一個低開銷的AVB系統(tǒng),而不需要全功能的AVB交換機。這減少了AVB的成本,并使菊花鏈系統(tǒng)得以被構(gòu)建。
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
453文章
50251瀏覽量
421118 -
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5348瀏覽量
170847 -
音視
+關(guān)注
關(guān)注
0文章
8瀏覽量
10274
發(fā)布評論請先 登錄
相關(guān)推薦
評論