AVB 常见问题 -- 输入输出设置
【问】
AVB 设置中,可以将以下通道从某个特定端点输入,输出到另一个特定端点,但是您能否告诉我,如何从一个端点同时输出到另外4个端点,谢谢!
connect 002297fffe0062b4 0 002297fffe0062d4 0
【答】
要解释这个问题,这里首先需要理解:
1、AVB连接的是stream,即操作最小对象是stream,而不是channel/端点
2、AVB一个stream中可以放多个channel,默认channel的mapping是一对一的,以AVB-DC原始firmware为例
AVB-DC borad #0: input channel 0 - output stream 0 -> AVB-DC borad #1: input stream 0 - output channel 0
AVB-DC borad #0: input channel 1 - output stream 0 -> AVB-DC borad #1: input stream 0 - output channel 1
AVB-DC borad #0: input channel 2 - output stream 0 -> AVB-DC borad #1: input stream 0 - output channel 2
AVB-DC borad #0: input channel 3 - output stream 0 -> AVB-DC borad #1: input stream 0 - output channel 3
3、XMOS方案实现了一个media fifo (详见AVB-Design-Guide),listener端在获取一个stream的数据后,可以自己修改firmware来使这一个stream中每个channel的数据送到指定的硬件analog接口上,即可以自己定义channel mapping
所以回到问题,对于AVB-DC,默认设计中是一个stream,每个stream 4 个channel,
如果说的端点是音频的channel,
有下面2种解法:
1、根据上面第3点,可以修改listener端的firmware,将channel0 的audio data sample复制到其他channel
AVB-DC borad #0: input channel 0 - output stream 0 -> AVB-DC borad #1: input stream 0 - output channel 0 - analog output 0
|-> AVB-DC borad #1: input stream 0 - output channel 0 - analog output 1
|-> AVB-DC borad #1: input stream 0 - output channel 0 - analog output 2
|-> AVB-DC borad #1: input stream 0 - output channel 0 - analog output 3
2、或者,修改firmware,让talker与listener为4个stream,每个stream中只有1个channel
AVB-DC borad #0: input channel 0 - output stream 0 -?> AVB-DC borad #1: input stream 0 - output channel 0
AVB-DC borad #0: input channel 1 - output stream 1 -?> AVB-DC borad #1: input stream 1 - output channel 1
AVB-DC borad #0: input channel 2 - output stream 2 -?> AVB-DC borad #1: input stream 2 - output channel 2
AVB-DC borad #0: input channel 3 - output stream 3 -?> AVB-DC borad #1: input stream 3 - output channel 3
然后控制连接:
connect 0 0 1 0
connect 0 0 1 1
connect 0 0 1 2
connect 0 0 1 3
即:
AVB-DC borad #0: input channel 0 - output stream 0 -> AVB-DC borad #1: input stream 0 - output channel 0
|-> AVB-DC borad #1: input stream 1 - output channel 1
|-> AVB-DC borad #1: input stream 2 - output channel 2
|-> AVB-DC borad #1: input stream 3 - output channel 3
发表时间:2014年12月29日11:17:40