This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320C6457:SRIO 接口的串行器/解串器环回测试

Guru**** 2550940 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/607211/tms320c6457-serdes-loopback-test-of-the-srio-interface

器件型号:TMS320C6457

您好!

   现在、我学习 c6457 SRIO 接口的 SerDes 环回测试。 该项目是直接 I/O 操作的 NWRITE 转换。因此、我将一些问题计算如下:

我将 C6457 CSL 库中名为 SRIO_LSU 示例的 TI 示例用于 modify.in SRIO_LSU 示例、它在数字域中运行、该数字域在 PER_SET_CNTL 寄存器中配置"回送"等于1。 所以、我有一个问题、因为系统在数字域中运行并且数据不通过 SERDES、为什么要配置 SERDES?

2.now,i 将使用 SerDes 进行 SerDes 环回测试、因此我将"环回"配置为等于0、以便系统以正常模式运行。 TXN0连接 RXN0和 TXP0connect RXP0、我们使用串行器/解串器环回将数据从 TX0传递到 RX0。如何进行编程?

3.查看相关的数据文档,如何在数据大于4096时进行分包? 我的方法是使用 for 循环方法,执行 CSL_sriolsusetup ()函数多次,最后,每个循环延迟100个时钟周期。 但是、这样做的结果是、您可以在执行单步执行时获取正确的数据、并且当您以全速运行时、程序将会卡住。 这里发生什么事了? 延迟功能是否有延迟时间? 如果是、如何设置延迟时间?

在 SerDes 环路测试中、如何使用门铃数据包中断 CPU? 编程时应设置哪个寄存器?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已通知 RTOS 团队。 他们的反馈将在此处发布。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、pyda、

    SRIO_LSU 示例可在您使用的软件版本中配置为数字回送和正常模式、因此 SERDES 设置代码显示在"回送"示例中。

    对于使用外部线路回送的正常模式操作,您需要像已经做的那样通过 CSL_SRIO_SetNormalMode()相应地更新 PER_SET_CNTL1寄存器,并适当地配置 SERDES。

    对于大于单个 LSU 传输大小4KB 的数据大小、不确定您的代码基准中是否存在 C66x PDK 中的基准测试示例工程、因此您可以参考。 您可以从 LSU_STAT_REG 获取 SRIO 事务的状态(完成代码、上下文)、请参阅 CSL_SRIO_GetLSUCompyCode()、然后确定是否启动下一个传输、而不是使用延迟函数。

    关于门铃中断、请参阅 e2e.ti.com/.../115084 -"为了使用门铃消息引起中断、您必须设置一些 SRIO 中断寄存器、特别是 DOORBELn_ICRR 和 DOORBELn_ICCR2寄存器。"

    此致、
    Garrett