開放標準/ChoirWire 分散式音訊混音/ChoirWire 標準定義
資料傳輸由一個雙向冗餘環形系統組成。
圖 4:雙向資料傳輸原理
它承載來自分散式輸入到資料收集器的主要音訊資料、監聽音訊資料和狀態資料,以及來自資料收集器到分散式輸入的音訊資料和控制資料。
第一個接收來自兩側資料的輸入將忽略其中一側,並將資料傳送到另一側,因為接收到的資料是冗餘的。如果控制和音樂資料流失敗,則將檢查之前被忽略的一側是否有有效資料。使用此機制可以檢測單個缺陷,並將其遮蔽!
音訊資料應以 48kHz 的取樣率進行。編解碼器需要 256*48kHz = 12.288Mhz 匯流排時鐘。應該能夠找到一個使用標準 8 位編碼的 6144 kBaud 匯流排時鐘工作的 UART。因此,每幀可以使用 12 個位元組:3 個左聲道、3 個右聲道、6 個監聽聲道。
除了資料外,分散式輸入還提供 48V 的直流電壓。這使得在輸入中使用 DC/DC 轉換模組成為必需,但減少了流過電源線的電流。如果需要,可以在物理環中使用多個電源並聯為輸入供電。
圖 5:分散式系統中的電源和資料流
環形的實際實現相當糟糕,不適合在舞臺上快速安裝。然而,只有環形真正地對斷線具有容錯性。
一根帶有簡單插頭的電線,可以插入舞臺上的任何地方,並且連線始終正確,作為雙連線環,使用起來容易得多。
折衷方案:舞臺箱(根據需要設定數量)連線成環,分散式輸入連線到舞臺箱。更重要的是,分散式輸入鏈是可能的。
為了保持資料環路的閉合,必須使用帶有旁路開關的母聯結器:插入聯結器時,物理環路將透過輸入迴圈,沒有聯結器時,物理環路將閉合。插拔過程中的短路會干擾資料流,甚至更糟糕的是,會切斷電源並重置整個系統,這將導致聲音中斷。一種滿足旁路開關和防短路插拔需求的連線系統是德國 TAE 模擬電話連線(參見維基百科 TAE 聯結器)。(奧地利的電話插座有更多引腳,因此可以實現電源冗餘。但它們通常並非所有引腳都連線(只有 6 個) - 並且價格更高。)
-
圖 6:TAE 聯結器
-
圖 7:TAE 插座
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來說,一條“靜默”的線路為高(空閒)意味著通訊線上沒有傳輸脈衝。

實現示例:交替訊號的生成由一個分頻器(D觸發器)完成,該分頻器在每次傳送低電平訊號時翻轉。缺點是,需要傳輸時鐘。微控制器的標準SPI輸出可以實現這一點。使用三態線驅動器和三個電阻,可以產生三個電壓電平。在三態(SPI-TX訊號高電平)時,中等電壓被施加到收發器放大器。如果SPI-TX訊號為低電平,則輸出觸發器電平。收發器應以約90歐姆的阻抗輸出序列訊號。由於線和接收器阻抗以及影片放大器的輸出擺幅,訊號線上的電壓擺幅為1Vpp。差分放大器將傳送和接收訊號混合到接收通道,從而消除自身傳送的訊號。視窗比較器電路(具有較小的遲滯)檢測“電壓接近零”(<40%的輸入擺幅)或“電壓存在”(>60%的輸入擺幅)。透過OR(此處使用二極體和上拉電阻),為微控制器生成一個與UART相容的訊號以接收資料。
圖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 |
首要目標是傳輸音樂,而不是傳輸不必要的資料。因此,這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 介面卡)作為軟體解決方案來充當混音臺。為了更好地操作,在舞臺上使用帶有按鈕和滑塊的混音臺將更適合控制分散式輸入。







