跳轉到內容

開放標準/ChoirWire 分散式音訊混音/ChoirWire 標準定義

來自華夏公益教科書

物理層

[編輯 | 編輯原始碼]

資料傳輸由一個雙向冗餘環形系統組成。

圖 4:雙向資料傳輸原理

它承載來自分散式輸入到資料收集器的主要音訊資料、監聽音訊資料和狀態資料,以及來自資料收集器到分散式輸入的音訊資料和控制資料。

第一個接收來自兩側資料的輸入將忽略其中一側,並將資料傳送到另一側,因為接收到的資料是冗餘的。如果控制和音樂資料流失敗,則將檢查之前被忽略的一側是否有有效資料。使用此機制可以檢測單個缺陷,並將其遮蔽!

音訊資料應以 48kHz 的取樣率進行。編解碼器需要 256*48kHz = 12.288Mhz 匯流排時鐘。應該能夠找到一個使用標準 8 位編碼的 6144 kBaud 匯流排時鐘工作的 UART。因此,每幀可以使用 12 個位元組:3 個左聲道、3 個右聲道、6 個監聽聲道。

除了資料外,分散式輸入還提供 48V 的直流電壓。這使得在輸入中使用 DC/DC 轉換模組成為必需,但減少了流過電源線的電流。如果需要,可以在物理環中使用多個電源並聯為輸入供電。

圖 5:分散式系統中的電源和資料流

聯結器系統

[編輯 | 編輯原始碼]

環形的實際實現相當糟糕,不適合在舞臺上快速安裝。然而,只有環形真正地對斷線具有容錯性。

一根帶有簡單插頭的電線,可以插入舞臺上的任何地方,並且連線始終正確,作為雙連線環,使用起來容易得多。

折衷方案:舞臺箱(根據需要設定數量)連線成環,分散式輸入連線到舞臺箱。更重要的是,分散式輸入鏈是可能的。

分散式輸入的插座和聯結器

[編輯 | 編輯原始碼]

為了保持資料環路的閉合,必須使用帶有旁路開關的母聯結器:插入聯結器時,物理環路將透過輸入迴圈,沒有聯結器時,物理環路將閉合。插拔過程中的短路會干擾資料流,甚至更糟糕的是,會切斷電源並重置整個系統,這將導致聲音中斷。一種滿足旁路開關和防短路插拔需求的連線系統是德國 TAE 模擬電話連線(參見維基百科 TAE 聯結器)。(奧地利的電話插座有更多引腳,因此可以實現電源冗餘。但它們通常並非所有引腳都連線(只有 6 個) - 並且價格更高。)

TAE 插座有 6 個觸點。如果未插入聯結器,則透過母聯結器中的開關將觸點 1-6 和 2-5 連線起來。觸點 3-4 沒有此功能。觸點不鍍金 - 但對於像舞臺上的短期使用來說,沒有時間氧化。並且插頭不太小且靈敏,電纜出口受到保護 - 更適合在舞臺上使用。應使用編碼“F”。(其他聯結器?好吧,必須有一個旁路開關,因此美國電話或網路插座不適用。不過,歡迎更好的解決方案。)

在這個系統中,接地和電源非常重要。引腳 3 為正 48V,引腳 4 連線到接地。引腳 1/2 和 5/6 上的兩對訊號線用於雙向傳輸。因此,可以檢測到斷線並使用另一個訊號路徑。如果分散式輸入配備了插座(以建立鏈),則需要更改訊號方向(環路左側 - 環路右側)。因此,每隔兩個輸入,訊號就會被重複 - 而不僅僅是多次旁路。這提高了訊號傳輸穩定性,即使是在長鏈中,因為輸入充當訊號中繼器。

互連需要遮蔽電纜。建議:使用 RF 阻抗為 100 歐姆的對稱網路電纜。在舞臺箱和輸入之間,可以使用 4 對網路電纜:2 對用於資料通訊,另外兩對用於電源。也許 USB 3.0 電纜(帶有 3 對和電源線)也可以,但它的阻抗為 90 歐姆。

舞臺箱的插座和聯結器

[編輯 | 編輯原始碼]

舞臺箱主要由電話標準插座“F F”組成,該插座有兩個插孔。可以插入兩個聯結器。使用標準“NFN”電話插座,引腳 3 和 4 無法單獨訪問,無法新增(PTC-)保險絲。只有單“F”和雙“F F”插座才能提供這種可能性。(實際上,可以從聯結器上切斷編碼噴嘴 - 然後就可以在 N 或 F 插座中使用 N 或 F 聯結器)。

來自和到資料收集器的傳輸應透過 100 歐姆網路電纜完成。只需要一對 - 所以另外三對可以攜帶 48V 電源。或者,可以使用一根 1 對網路電纜和一根帶有大銅線直徑的 1 對電源線。

電源線容易發生短路,因此 48V 和 GND 之間需要保持合理的距離。假設最多有 254 個分散式輸入,每個輸入的功耗為 2W,則總功耗為 508W。因此,舞臺箱環中的電源線必須承受最大 10.6A 的電流。電話“F”聯結器的限流約為 0.5A。為了防止過載,舞臺箱中應使用 PTC 電阻器(聚合物開關保險絲)將輸出電流限制在 0.5A。因此,每個輸入鏈(每個鏈的功耗為 2W)的長度限制為 12。舞臺箱的數量不受限制。對於電源連線和資料,建議使用帶 4 個引腳的 XLR 聯結器。(歡迎更好的解決方案。)引腳 4(靠近標記)用作 GND,引腳 2+3 用於資料,引腳 1 承載 48V。因此,GND 和 48V 之間的距離最大。

將舞臺箱連線到環的 4 極 XLR 聯結器

完整的接線圖

[編輯 | 編輯原始碼]

此草圖描述了電源、資料收集器、舞臺箱、帶有插座的分散式輸入和遠端混音控制檯的完整接線圖

圖 11:ChoirWire 接線圖示例

電氣資料傳輸和接收

[編輯 | 編輯原始碼]

資料線雙向使用。因此,收發器必須模擬遮蔽掉自己傳送的訊號。更重要的是,建議使用磁性變壓器。這樣,結合隔離的DC/CD轉換器(48V到5V),很容易使分散式輸入實現電氣隔離。來自電源的干擾將被降到最低。資料傳輸速率為48kHz * 128bits = 6.144MBit,因此變壓器所需的頻寬為(6.144MBit / 10Bits/byte =)614kHz至(6.144MBit/2Bit * 5 =)15.36 MHz。(至少6.144MBit/2Bit*3 = 9.216MHz)。為了消除直流偏移,使用了類似“交替標記”的RZ編碼。在類似UART的通訊中,訊號線上的空閒電平為高,有效電平為低。因此,對於UART來說,一條“靜默”的線路為高(空閒)意味著通訊線上沒有傳輸脈衝。

雙極性編碼或AMI(交替標記反轉)的一個示例。

實現示例:交替訊號的生成由一個分頻器(D觸發器)完成,該分頻器在每次傳送低電平訊號時翻轉。缺點是,需要傳輸時鐘。微控制器的標準SPI輸出可以實現這一點。使用三態線驅動器和三個電阻,可以產生三個電壓電平。在三態(SPI-TX訊號高電平)時,中等電壓被施加到收發器放大器。如果SPI-TX訊號為低電平,則輸出觸發器電平。收發器應以約90歐姆的阻抗輸出序列訊號。由於線和接收器阻抗以及影片放大器的輸出擺幅,訊號線上的電壓擺幅為1Vpp。差分放大器將傳送和接收訊號混合到接收通道,從而消除自身傳送的訊號。視窗比較器電路(具有較小的遲滯)檢測“電壓接近零”(<40%的輸入擺幅)或“電壓存在”(>60%的輸入擺幅)。透過OR(此處使用二極體和上拉電阻),為微控制器生成一個與UART相容的訊號以接收資料。


Example for Transceiver Circuit

圖12:收發器示例


邏輯資料傳輸

[編輯 | 編輯原始碼]

有兩個資料方向
- 從資料收集器到分散式輸入的控制和監控資料,以及
- 從分散式從機到資料收集器的狀態和音樂資料。

資料傳輸

[編輯 | 編輯原始碼]

此描述對兩個方向都有效:從輸入到資料收集器,反之亦然。

在一個48kHz週期內,有128個數據傳輸位時間。因此,可以傳輸12個位元組,包含1個起始位、1個停止位和8個數據位元組。

LSB優先(標準UART)。

分散式輸入從前一個輸入接收音樂資料(主音和監控),並將自己的音樂資料新增到其中。傳輸從LSB優先開始。因此,如果使用邏輯器件,則可以將延遲減少到每個分散式輸入的一個位時間

用於:接收來自前一個輸入的LSB,新增自己的LSB,並將其傳送出去。(示例:資料速率48kHz * 128bits = 6144kb/s --> 位時間為0.1627µs = 每個輸入的延遲 --> 256個輸入可實現41.65µs的延遲)。

資料收集器將來自左右物理環的音樂資料相加,然後得到完整的音樂資料。完整的音樂資料然後透過兩條訊號線傳送回物理環。因此,網路中的任何地方都可以接收主混音輸出和2-4個監控通道。(“虛擬X巴”)

為了給質量提供最大的靈活性,可以選擇四種傳輸模式

模式 主通道 監控通道 通道總和
0(預設) 16bit L,16bit R 2x15bit,2x16bit 6個通道
1 23bit L,23bit R 2x24bit 4個通道
2 23bit L,23bit R 3x16bit 5個通道
3 23bit L,23bit R 4x12bit 6個通道

在音樂資料中,集成了兩個控制位。因此,每秒可以傳輸96kBits的控制資料。必須確保資料位始終處於相同的位置。復位後,如果模式未知,則使用16位的主通道。監控通道需要幾毫秒。在輸入接收配置命令(7)之前,監控通道將被忽略(沒有訊號輸出)。


模式0(預設)

位元組1 位元組2 位元組3 位元組4 位元組5 位元組6 位元組7 位元組8 位元組9 位元組10 位元組11 位元組12
Mon1_LSB Mon1_MSB Mon2_LSB D1+Mon2 mainL_LSB mainL_MSB Mon3_LSB Mon3_MSB Mon4_LSB D2+Mon4 mainR_LSB mainR_MSB
b7..b0 b15..b7 b7..b0 D1,b14..b8 b7..b0 b15..b8 b7..b0 b15..b7 b7..b0 D2,b14..b8 b7..b0 b15..b8


模式1

位元組1 位元組2 位元組3 位元組4 位元組5 位元組6 位元組7 位元組8 位元組9 位元組10 位元組11 位元組12
Mon1_LSB Mon1_mid Mon1_MSB D1+mainL mainL_mid mainL_MSB Mon2_LSB Mon2_mid Mon2_MSB D2+mainR mainR_mid mainR_MSB
b7..b0 b15..b8 b23..b16 D1,b6..b0 b14..b7 b22..b15 b7..b0 b15..b8 b23..b16 D2,b6..b0 b14..b7 b22..b15


模式2

位元組1 位元組2 位元組3 位元組4 位元組5 位元組6 位元組7 位元組8 位元組9 位元組10 位元組11 位元組12
Mon1_LSB Mon1_MSB Mon2_LSB D1+mainL mainL_mid mainL_MSB Mon2_MSB Mon3_LSB Mon2_MSB D2+mainR mainR_mid mainR_MSB
b7..b0 b15..b8 b7..b0 D1,b6..b0 b14..b7 b22..b15 b15..b8 b7..b0 b15..b8 D2,b6..b0 b14..b7 b22..b15


模式3

位元組1 位元組2 位元組3 位元組4 位元組5 位元組6 位元組7 位元組8 位元組9 位元組10 位元組11 位元組12
Mon1_LSB Mon2/Mon1 Mon2_MSB D1+mainL mainL_mid mainL_MSB Mon3_LSB Mon4/Mon3 Mon4_MSB D2+mainR mainR_mid mainR_MSB
b7..b0 b3..b0/B11..b8 b11..b4 D1,b6..b0 b14..b7 b22..b15 b7..b0 b3..b0/B11..b8 b11..b4 D2,b6..b0 b14..b7 b22..b15

使用兩個資料位1+2進行資料傳輸

[編輯 | 編輯原始碼]

首要目標是傳輸音樂,而不是傳輸不必要的資料。因此,這96kB/s被用作非同步資料傳輸:資料流由連續資料位D1-D2-D1-D2-D1-D2-D1-D2的內容組成,依此類推。空閒狀態為邏輯“1”。資料傳輸由起始位過渡到“0”開始。然後,以位元組為單位傳送8位資料內容,LSB

優先,以模擬標準UART協議。因此,可以很容易地將傳送/接收的資料位路由到通用IO埠,在那裡它們可以透過其他標準UART接收/傳輸。為了用新的音量值調整所有可能的256個輸入,並讓10位同步暫停,這將需要(256 x 40位 ./ 96k位/秒 =)

107毫秒。這足夠快,特別是如果只處理正在使用的輸入。


從資料收集器到輸入的控制資料傳輸

[編輯 | 編輯原始碼]
位元組1 位元組2 位元組3
分散式輸入的地址 引數切換 引數值

圖13:控制訊息的資料位元組

為了相容性,以下引數切換必須具有相同的含義,並且對所有ChoirWire節點都是強制性的


引數
(位元組2)
含義
(位元組3的)
值範圍 物理值範圍
0 主音量左 0, 1..255 關,-76.2dB…0dB,以0.3dB/位
1 主音量右 0, 1..255 關,-76.2dB…0dB,以0.3dB/位
2 監控1音量 0, 1..255 關,-76.2dB…0dB,以0.3dB/位
3 監控2音量 0, 1..255 關,-76.2dB…0dB,以0.3dB/位
4 監控3音量 0, 1..255 關,-76.2dB…0dB,以0.3dB/位
5 監控4音量 0, 1..255 關,-76.2dB…0dB,以0.3dB/位
6 獨奏音量增益 -128…0…127 -38,4dB…0dB…+37,8dB,以0,3dB/位
7 選擇反饋 0
1
2
3
4
5
6
7
主左+右的VU平均值
VU主左
VU主右
VU監控1
VU監控2
VU監控3
VU監控4
電源(0..31 = 80..100%)
8 配置 位1,位0



位2
位3
00 = 4個12位的監控通道
01 = 3個16位的監控通道
10 = 2個24位的監控通道
11 = 監控通道關閉
開啟獨奏音量偏移和獨奏燈
發出定址請求
9 低通調整 -128…0…127 -100%...0%...+100%
10 中頻調整 -128…0…127 -100%...0%...+100%
11 中頻 0..255 200Hz…5000Hz
12 高通調整 -128…0…127 -100%...0%...+100%
13 保留
14 保留
15 保留
16
...
63
自由範圍
用於
特殊用途
64
...
255
保留
用於
將來使用

圖14:包含可能引數的表格

從輸入到資料收集器的狀態資料傳輸

[編輯 | 編輯原始碼]

最後被定址的輸入會用它的地址進行響應,其他所有輸入保持靜默。

位元組1 位元組2
最後被定址的輸入的地址 選擇的答案

位元組2的編碼比較複雜,但確保快速響應。

位7 位6 位5 位4... 位0
來自下一個輸入的無響應(線路斷開)
輸入(線路斷開)
獨奏增益開關
開或關
待定 實際訊號電平
0…31 = -75.6dB….0dB
最大輸出電平
每位2.4dB。


來自前一個輸入的資料必須在輸入中進行緩衝,以避免由於傳輸時間導致的資料衝突。如果來自前一個輸入的資料傳輸正在執行,則輸入必須等待其資料的傳輸。如果一個輸入正在傳輸狀態資料,則前一個輸入的資料將在FIFO緩衝區中進行緩衝。資料收集器也必須緩衝來自物理環左右臂的資料。傳送給輸入的資料(3個位元組)比反饋資料(2個位元組)長。因此,有足夠的時間傳輸所有資料,但需要緩衝區來處理由於延遲時間導致的衝突。

通訊開始和同步

[編輯 | 編輯原始碼]

通訊從資料收集器開始,朝兩個方向(左環臂和右環臂)進行。因為資料流的空閒階段短於一個位元組,所以每隔兩幀只發送一幀。

圖15:同步步驟1

如果正確識別了通訊開始,則音樂資料將以半速傳送回來。這樣,資料收集器(或前面的分散式輸入)可以同步。

圖16:同步步驟2

如果資料收集器已經正確地進行了通訊,並且只要資料收集器正確地進行了通訊,它就會開始傳送每一幀。如果輸入2、3的另一側一直處於靜默狀態,它就會開始傳輸下一個輸入塊的控制流。

圖17:同步步驟3

由於資料收集器以全速傳輸,所以輸入2和3也以全速傳送回來。輸入1將從兩側接收資料,因此找不到“空閒側”。它必須選擇一個方向。第一個正確接收的幀將確定這個方向。時間差可能是由線路延遲或程式順序引起的。在本示例中,左環臂先進行了傳輸。

圖18:同步步驟4

對於輸入 1,兩側都有正確的資料,因此它知道環路已閉合。在接收到全速控制資料後,它只發送回左側,但也是全速。

圖 19:同步步驟 5

同步和資料傳輸的狀態轉換作為狀態圖

圖 20:狀態轉換圖

  • “資料已接收”表示完整 12 位元組幀已接收,沒有停止位錯誤。

混音臺數據傳輸

[編輯 | 編輯原始碼]

對於從資料採集器到混音臺的資料傳輸,可以使用帶有 3 針 XLR 聯結器的標準音頻線。另外,還提供帶有 9 針的 Sub-D 聯結器,以便可以使用 RS232 空模電纜。

圖 21:XLR 聯結器 圖 22:RS232 空模電纜

母聯結器在混音臺,公聯結器在資料採集器。針腳 1 連線到接地,針腳 2 用於從混音臺到資料採集器的資料傳輸,針腳 3 用於從資料採集器到混音臺的資料傳輸。

資料採集器上的 Sub-D 9 針公頭:針腳 5 連線到接地,針腳 2 為 RX,用於從混音臺到資料採集器的資料傳輸,針腳 3 為 TX,用於從資料採集器到混音臺的資料傳輸。

這裡應使用簡單的 RS232 電平來處理 96kBaud 訊號,以及已知的標準電平。因此,可以使用筆記型電腦(帶有 USB 到 COM 介面卡)作為軟體解決方案來充當混音臺。為了更好地操作,在舞臺上使用帶有按鈕和滑塊的混音臺將更適合控制分散式輸入。

華夏公益教科書