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

微控制器運行7個(gè)任務(wù)來(lái)控制2個(gè)以太網(wǎng)端口:輸入數據包、輸出數據包和兩個(gè)端口間的路由數據包。另外6個(gè)任務(wù)實(shí)現AVB棧,分別是主叫者/接聽(tīng)者、PTP與媒體時(shí)鐘恢復、I2S控制、SRP/MRP和1722.1恢復與控制任務(wù)。所有的13個(gè)任務(wù)適合于128kByte的片上存儲,從而不再需要排除外部RAM。用一片外部閃存芯片來(lái)存儲固定數據和開(kāi)機映像。其軟件與高通道數AVB產(chǎn)品的軟件非常相似,唯一不同的部分是MII接口和緩存。
通過(guò)采用一片XMOS sliceKIT卡加兩片以太網(wǎng)子卡與一片音頻子卡來(lái)構建了一個(gè)系統。圖5為一張介紹4個(gè)菊花鏈節點(diǎn)堆疊的照片。菊花鏈節點(diǎn)堆疊與一臺筆記本電腦相連,它將兩個(gè)節點(diǎn)作為“左”和“右”聲道。(音頻子卡自帶雙立體聲輸入和雙立體聲輸出;這次演示只運用了一個(gè)單音頻輸出。)
筆記本電腦可以發(fā)現兩個(gè)節點(diǎn),因而我們可以將我們的音頻輸出重新指向到兩臺揚聲器。每個(gè)時(shí)鐘的示波器波形圖表明兩個(gè)聲道在播放時(shí)沒(méi)有明顯的相位差。相同的硬件/軟件架構可被廣泛應用,如構建一個(gè)會(huì )議電話(huà)系統,或者驅動(dòng)一個(gè)功放(P/A)系統。

結論
我們已經(jīng)證明我們能夠構建一個(gè)低開(kāi)銷(xiāo)的AVB系統,而不需要全功能的AVB交換機。這減少了AVB的成本,并使菊花鏈系統得以被構建。
評論