导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→AVB 常见问题 -- 输入输[hellopossibility]

 *第64013篇: AVB 常见问题 -- 输入输出设置

  
楼 主:hellopossibility 2014年12月29日11:17
 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

  
2楼:yhg85203 2015年1月2日14:33
 [求助]
能再具体一点?在哪里修改map?  

init_media_input_fifos 函数中吗?好像不行.

avb新手求助。


>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:智能家居控制方案

[下一篇主题]:深圳嵌入式培训