菊花鏈AVB:構(gòu)建一個低開銷的AVB系統(tǒng)
對比其他的數(shù)字音頻分發(fā)機(jī)制(如USB音頻),由于需要能感知AVB的交換機(jī),AVB可能看起來成本較高。因?yàn)檫@個原因,提出菊花鏈AVB的案例:一臺帶有兩個以太網(wǎng)端口(稱其為A與B)和一臺內(nèi)置“交換機(jī)”的AVB終端設(shè)備,引號引住交換機(jī)是因?yàn)檫@并不是一臺全功能的交換機(jī)。
本文引用地址:http://butianyuan.cn/article/201808/387938.htm圖3給出的即為一種布局案例。一臺筆記本電腦與節(jié)點(diǎn)1相連,節(jié)點(diǎn)1與節(jié)點(diǎn)2相連,節(jié)點(diǎn)2與節(jié)點(diǎn)3相連,網(wǎng)絡(luò)到此結(jié)束。每一個節(jié)點(diǎn)由2個端口(對稱的)組成,連接端口的邏輯如下:
● 如果只有一個端口被插入,節(jié)點(diǎn)就相當(dāng)于一臺普通的AVB終端設(shè)備
● 如果兩個端口都被接入,此節(jié)點(diǎn)主要擔(dān)當(dāng)兩個端口之間的橋:所有數(shù)據(jù)流都正常通過。此節(jié)點(diǎn)自己將會接入任一經(jīng)過此設(shè)備的AVB數(shù)據(jù)流,并且偶爾會消除或者產(chǎn)生一個數(shù)據(jù)包:例如當(dāng)響應(yīng)SRP、PTP或配置協(xié)議中任意一個時。
這就意味著依據(jù)交換容量節(jié)點(diǎn)需要的資源很少。到達(dá)端口A的數(shù)據(jù)將會流向B,除非它已被本地的節(jié)點(diǎn)預(yù)定,到達(dá)B的流也將流向A,除非它已被本地的節(jié)點(diǎn)預(yù)定。偶爾會在本地生成數(shù)據(jù)包,節(jié)點(diǎn)必須了解這些數(shù)據(jù)包應(yīng)該去向A還是B。橋接A與B的軟件必須是能感知AVB的,并且必須參與進(jìn)來,例如時鐘同步。
值得注意的是,現(xiàn)在既不需要路由表也不需要緩沖存儲,完成這樣簡單的任務(wù)也不需要操作系統(tǒng)。這就意味著在成本方面,一臺菊花鏈AVB終端設(shè)備與普通的AVB終端設(shè)備外加一個以太網(wǎng)PHY和插口的成本是差不多的。
這種方法有一些局限性:
● 和一臺交換機(jī)不同,一個菊花鏈網(wǎng)絡(luò)需要為流過整條菊花鏈的末向數(shù)據(jù)流預(yù)留流量;在1臺帶有7個節(jié)點(diǎn)的交換機(jī)里,所有7個節(jié)點(diǎn)理論上都可以接收100 Mbits的流量。在一個菊花鏈系統(tǒng)中,這可能需要第一個節(jié)點(diǎn)傳輸700 Mbits/s。然而,在一個AVB系統(tǒng)中,大多數(shù)數(shù)據(jù)流都是多路傳送音頻數(shù)據(jù)流,很小部分的流量為特殊的節(jié)點(diǎn)預(yù)留。因此,鏈上的節(jié)點(diǎn)都接聽到相同的流,一條菊花鏈上幾乎沒有額外的數(shù)據(jù)流。
● 一秒限制:它指的是為了保證一個2ms的端對端延遲,AVB標(biāo)準(zhǔn)不支持在一個網(wǎng)絡(luò)中有多于7臺交換機(jī),這就把一條單菊花鏈限制到7個節(jié)點(diǎn)范圍內(nèi)。有兩種方法可以解決這個問題:首先,可以在一個封閉系統(tǒng)內(nèi)放棄那2ms的延遲。其次,可以在菊花鏈中使用一臺交換機(jī)。倘若一條4個節(jié)點(diǎn)的菊花鏈與交換機(jī)的每個端口都相連,那么一臺交換機(jī)就可以使用4倍的節(jié)點(diǎn)數(shù),減少了所需基礎(chǔ)設(shè)施的成本。
因?yàn)檫@些限制,菊花鏈AVB非常適合于用于小規(guī)模系統(tǒng)。
菊花鏈實(shí)施案例
已經(jīng)在帶有16個邏輯核的XMOS芯片的基礎(chǔ)上開發(fā)出了一種菊花鏈AVB節(jié)點(diǎn)。系統(tǒng)的硬件和軟件結(jié)構(gòu)如圖4所示。的系統(tǒng)所用硬件包括:
● 一片帶有16個邏輯核的xCORE多核微控制器
● 兩個帶有磁體和插口的以太網(wǎng)PHY
● 一個可以生成字時鐘的低抖動鎖相環(huán)(PLL)
● 一個帶有輸入輸出級的編碼解碼器(CODEC)
微控制器運(yùn)行7個任務(wù)來控制2個以太網(wǎng)端口:輸入數(shù)據(jù)包、輸出數(shù)據(jù)包和兩個端口間的路由數(shù)據(jù)包。另外6個任務(wù)實(shí)現(xiàn)AVB棧,分別是主叫者/接聽者、PTP與媒體時鐘恢復(fù)、I2S控制、SRP/MRP和1722.1恢復(fù)與控制任務(wù)。所有的13個任務(wù)適合于128kByte的片上存儲,從而不再需要排除外部RAM。用一片外部閃存芯片來存儲固定數(shù)據(jù)和開機(jī)映像。其軟件與高通道數(shù)AVB產(chǎn)品的軟件非常相似,唯一不同的部分是MII接口和緩存。
通過采用一片XMOS sliceKIT卡加兩片以太網(wǎng)子卡與一片音頻子卡來構(gòu)建了一個系統(tǒng)。圖5為一張介紹4個菊花鏈節(jié)點(diǎn)堆疊的照片。菊花鏈節(jié)點(diǎn)堆疊與一臺筆記本電腦相連,它將兩個節(jié)點(diǎn)作為“左”和“右”聲道。(音頻子卡自帶雙立體聲輸入和雙立體聲輸出;這次演示只運(yùn)用了一個單音頻輸出。)
筆記本電腦可以發(fā)現(xiàn)兩個節(jié)點(diǎn),因而我們可以將我們的音頻輸出重新指向到兩臺揚(yáng)聲器。每個時鐘的示波器波形圖表明兩個聲道在播放時沒有明顯的相位差。相同的硬件/軟件架構(gòu)可被廣泛應(yīng)用,如構(gòu)建一個會議電話系統(tǒng),或者驅(qū)動一個功放(P/A)系統(tǒng)。
結(jié)論
我們已經(jīng)證明我們能夠構(gòu)建一個低開銷的AVB系統(tǒng),而不需要全功能的AVB交換機(jī)。這減少了AVB的成本,并使菊花鏈系統(tǒng)得以被構(gòu)建。
評論