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.

[参考译文] AM2634:FSI 通信错误澄清

Guru**** 2524280 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1293409/am2634-fsi-comms-error-clarification

器件型号:AM2634

我想进一步了解 FSI 错误检测。 我指的是 spruj17d TRM、我在 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/849424/tms320f280049-fsi-interface-clarification 中看到过一个类似的问题、

由于 CRC 会保护用户数据和数据字、并且不 存在于 Ping 帧中、因此我想知道 Ping 帧可以进行何种错误检测。 与 7.4.8.2.2.2接收中断部分类似。

在  spruj17d 部分"7.4.8.3.3.10接收器必须进行软复位的条件"中、定义了错误条件、但未定义检测机制的细节。  

我的问题:

"帧类型错误"会检测接收到的帧类型字段是否与允许的值不匹配、还是也会检查接收到的帧类型是否 与其余帧内容不匹配?  如果接收到 Ping 帧类型并且帧中存在用户数据或数据字、是否会出现此错误标志?

我可以看到存在"帧结束错误"。 第 7.4.8.2.2.2节指出已接收到无效的位模式、因此我 认为这样会检查 EOF 字段是否为0110。

但是、帧起始并不等效。 如果帧起始或前同步信号损坏、是否不会检测到任何帧和/或是否会 接收到错误中断?  

如果后同步码中存在损坏、是否不会检测到帧和/或是否会 接收到错误中断? (帧看门狗超时(FRAME_WD_TO)?)

谢谢

乔治

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

    您好、George、
    我正在研究这件事,并将尽快回到你。

    谢谢。此致、
    阿斯瓦蒂

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

    非常感谢。
    我的问题可能可以简化为:
    如果前同步码、SOF、帧类型 EOF 或后同步码中存在损坏、FSI 模块是否会引发错误?

    FSI 模块是否会检查 Frame Type 字段是否与 Frame Format 匹配?

    再次感谢您

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

    您好、George、希望这能回答您的问题。

    如果前同步码、SOF、帧类型 EOF 或后同步码中存在损坏,FSI 模块是否会引发错误?[/QUOT]

    前同步码和后同步码实际上 4个时钟边沿。  不会有任何有效的图形或数据。 在前导码4个时钟边沿之后、接收器被刷新并 准备好接收新帧。 在后同步码4个时钟边沿后、数据和时钟线恢复到无效状态。  


    SOF 和 EOF 的有效模式为: SOF 为1001、EOF 为0110 。 如果接收到不正确的 EOF 模式、接收器在发出 EOF 错误后进入软复位状态。 在 SOF 无效的情况下、不会因此引起错误、它只会继续等待有效模式开始接收。


    ,并且 FSI 模块是否检查 Frame Type (帧类型)字段是否与 Frame Format (帧格式)匹配?

    是的、要承担。 如果类型为0000 (ping)、则接收器自动只需要16位、即 ping 帧的大小。 除了 DATA_N_WORD 以外的所有帧类型都是如此。
    如果是 DATA_N_WORD 帧、TX_FRAME_CTRL[7:4]寄存器的 N_WORD 字段应设置为比要传输的字数少1。 类似地、您将配置 RX_OPER_CTRL。 N_WORD 寄存器字段也具有相同的值。

     

    如果帧类型无效(值不在 TRM 的表7-135中):

    (来自 TRM 第7.4.8.3.2.3节)。


    此致、
    阿斯瓦蒂

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

    感谢 Aswathi 的回应,真的很感激。

    我能解释一下吗:

    1.关于前同步码和后同步码

    "前同步码和后同步码实际上  4个时钟边沿。  不会有任何有效的图形或数据。 在前导码4个时钟边沿之后、接收器被刷新并 准备好接收新帧。 在后同步码4个时钟边沿后、数据和时钟线恢复到无效状态。 "

    在下面的场景中、如果收到 ping 帧、但 Post amble 已损坏(例如时钟故障、 或数据已损坏)、如果前同步码与后同步码具有相同的模式、那么后续帧的前同步码是否会导致接收到初始帧(后同步码损坏)?  请参见下图。 第一帧上的红色后同步码表示数据损坏,

    问:接收器会将此标记为错误吗?  

    2.关于帧类型。  关于您提供的答案、我有一个疑问:

    FSI 模块是否会检查 Frame Type 字段是否与 Frame Format 匹配?

    问:在这种情况下(其中帧类型为格式/长度)、是否会使用"Frame Type Error (TYPE_ERR)"来标记该帧?

    此致

    乔治

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

    您好、George、

    如果时钟发生故障、则接收器会进入未定义状态、并且必须进行软复位。  将接收器置于软复位状态后、应用程序必须通知其他器件的发送器使用 ping 或错误帧开始新的同步阶段。 它记录在 7.4.8.3.3.10节中。

     

    不、这不是帧类型错误。 正如我在前面的回复中提到的、仅当数据帧的帧类型字段的值无效时、才会出现帧类型错误。

     

    此致、

    阿斯瓦蒂

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

    很抱歉延迟回复、感谢您提供的信息。

    问题1:谢谢。  

    表示问题2。 如果帧类型与帧格式不匹配、是否会引发错误? 您说过、如果帧类型是 ping、接收器将需要16位、但我想知道如果接收到的位数超过16、则会报告什么/如何/是否报告错误。

    是否有比 TRM 中更全面的 FSI 基准?

    谢谢

    乔治

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

    这种情况意味着接收器在16位内没有获得一个有效的 EOF 模式、因此这是一个 EOF 错误。  因此会设置 RX_VIS_1.RX_CORE_STS 位。 因此、接收器必须复位和重新同步。 第 7.4.8.3.3.10节"接收器必须进行软复位的条件"。

    此致
    阿斯瓦蒂