请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320C6678 为了测试 Tx 优先级、我进行了以下测试:
两个 DSP 通过 x4模式下的 IDT SRIO 开关连接、每通道3.125G。 其中一个 DSP 是制片人、另一个是消费者。
系统设置:
- 生产者 DSP 配置:
- (a)配置了两个 Tx 通道(每个通道都有自己的 Tx 队列)、而每个通道使用不同的优先级(例如通道0的优先级为1、通道1的优先级为2)。 使用 CPPI LLD 函数 Cppi_txChannelOpen 设置优先级
- (b)禁用 Tx 通道(使用禁用/中断功能)
- (C)两个 Tx 通道中每一个通道的 Tx 队列都填充了数据包(有两组数据包由源设备 ID 区分,所有其他字段(流 ID、目标设备 ID)是相同的)。
- (D)数据包在 Tx 队列中聚合、但不传输、因为此时通道已禁用(或中断)。
- 消费类 DSP 配置为提取并打印每个接收到的数据包的源设备 ID。
系统测试:
顾客正在运行并等待数据包到达。 在生成者 Tx 队列被填满(并且使用者正在运行)后、Tx 通道被启用、使用者打印接收到的数据包的源 ID (因为每个 Tx 队列数据包具有不同的源设备 ID、我们可以看到使用者打印的 Tx 传输顺序)
我所期望的行为是、高优先级通道数据包优先于低优先级通道数据包
但是
系统的实际行为是以轮询方式接收数据包-通道0的数据包和通道1的数据包交替接收。 这意味着数据包是以轮询机制而不是基于优先级的机制发送的。
我是否错过了 Tx 优先级的配置、或者我的测试有误(如果有、如何测试 Tx 优先级功能)?
谢谢