跳转到内容

开放标准/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 适配器)作为软件解决方案来充当混音台。为了更好地操作,在舞台上使用带有按钮和滑块的混音台将更适合控制分布式输入。

华夏公益教科书