使用 AIF2 Fast CNM over CPRI 模式、在 DSP 入口方向获得80%的数据包丢失。
设置:
Appleton 基带单元(BBU)通过 CPRI 连接到我们的 RRH
启用 Xilinx CPRI 内核 byteswap 修复(以克服 DSP 勘误表)
RRH FPGA 结构半字节交换数据包数据(以克服 DSP 勘误表)
DSP 启用4b5b 模式
从 RRH 向 BBU 执行 Ping 操作
结果:
BBU->RRH (DSP 出口)方向似乎可靠工作
RRH->BBU (DSP 入口)似乎丢失了许多数据包(ping 所示为~80%)
作为实验、我们将 DSP 更改为零分隔符模式、然后 DSP 接收所有数据包。 无损耗。 我们通过 DSP 中的计数器和 RRH MII 接口上的逻辑分析仪捕捉来确认这一点。
空定界符 DSP 代码和4b5b 代码之间的唯一区别是4b5b 在“PD Link Register 1”寄存器中设置4b5b。
对于寄存器 :0x01f6A82C 和0x01f62804
IE、regval &= 0x00ffff;
regval |= 0x01000000;//设置4b/5b 编码开启(通道0)
是否需要更多更改?
下面是一个逻辑分析仪屏幕截图、其中显示了 DSP 处于4b5b 模式时 RRH FPGA 上的 TX 和 Rx 数据包。
这是每1秒发送60秒的 ping 的跟踪。 dbg1_txdv (TX 数据有效)的上升沿代表一个 TX (到 DSP)数据包。 dbg1_rxdv (Rx 数据有效)的上升沿表示 Rx (来自 DSP)数据包。 每个 TX 数据包应该有一个 Rx 数据包。 屏幕显示大约60个 TX 数据包、仅显示6个 Rx 数据包。 当 DSP 软件接收到一个数据包时、数据包被环回。 但是、DSP 软件从未收到过大多数数据包。
请告知、
谢谢
Bryan
