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.

[参考译文] TMS570LS3137:SPI 环回自检

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/578114/tms570ls3137-spi-loopback-selftest

器件型号:TMS570LS3137

你好。

请参阅 SafetyManual (SPNU511D)。

我想执行"SPI1A:使用 I/O 回路的功能的引导时间软件测试"。

我有两个问题。请给我建议。

(1)将"I/O 回送测试控制寄存器(IOLPBKSTCR)"的"IOLPBKSTENA"位设置为 Ah、以启用回送测试模式。

     将"CTRL DESYNC"位设置为"1"后 、会引发解同步错误。

     但"SPI 标志寄存器(SPIFLG)"的"DESYNCFLG 位未置位...

     此外还有"CTRL PARERR"、"CTRL TIMEOUT"和"CTRL DLENERR"。

(2) 我想特意执行溢出错误的故障注入测试。

    如何设置"SPI 标志寄存器(SPIFLG)"的"RXOVRNINTFLG"位?

     是否可以有意注入故障?

此致

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

    您是否为这些错误启用了中断? 我将执行测试以进行检查。

    我认为我们不能向 SPI 注入溢出错误。

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

    >是否为这些错误启用了中断?
    我不启用中断。
    目前、通信合作伙伴的模块未实现、实际上无法接收通信。

    如果中断未启用、"SPI 标志寄存器(SPIFLG)"的 RXOVRNINTFLG 位是否不会被置位?
    如果没有其他通信合作伙伴,是否不会发生错误?
    即使没有合作伙伴,是否有办法以虚假的方式产生错误?

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

    您应该能够创建溢出错误、方法是在接收到第二条消息之前不从接收缓冲区读取第一条消息、而是将2条消息发送回后。 不需要中断、您应该能够看到错误标志寄存器中设置的标志。 请注意、错误标志通过读取被清除以确保捕捉 RAM 变量中的内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。

    根据您的意见、在实施发件人后、我将尝试生成溢出错误。

    我现在可以做的是、生成除过载错误以外的错误。

    通过使用"I/O-Loopback 测试控制寄存器(IOLPBKTSTCR)"的寄存器、

    CCS 确认1被设定为将生成的误差的目标位。

    但是 、"SPI 标志寄存器(SPIFLG)..."上未指示错误

    执行此回送测试时是否需要小心?

    是否还有更多可能错过的机会?

    此致

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

    您好 Arriy、

    我进行了 SPI IO 环回测试。 我注入了数据长度错误、奇偶校验错误、位错误、芯片选择错误、 并设置了错误标志。 我在测试中没有得到 desyn 错误的标志,并且将执行更多测试。在读取 SPIBUF 之前,在 while ()处添加了断点。

    以下是我的测试代码:

    此致、

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

    您好 QJ。

    感谢您的测试。

    我注入了数据长度错误、奇偶校验错误、位错误、 超时、去同步、并且  未设置错误标志。

    我得到的错误标志仅是位错误。 我想知道为什么?

    下面是我的源代码。请给我任何建议。

    它用于调试、使用 "spiTransmitAndReceiveData"调用"spiEnableLoopback "。
    spiEnableLoopback 的处理将在后面说明。

    下面 的函数是   上图中的"spiEnableLoopback "行602。

    此函数启用环回和错误。(下图中启用数据长度错误)

    "Loopbacktype"设置为数字。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好。
    对此进行了任何更新?

    此致
    Arriy