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.

[参考译文] TMS320C5517:McSPI 用法2.

Guru**** 2538955 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/836844/tms320c5517-mcspi-usage-2

器件型号:TMS320C5517

您好、香榭丽舍

根据先前的答案、  

我们还有客户提出的其他问题

1:EOT 位时序方法。

他们知道时钟跳过能够检测 EOT 功能。

但是、我们不知道这个细节设置。

那么、您是否有任何与 EOT 位同步的中断发生变化?

或者我们想知道这样的信息  

当发生 xxx 中断时,EOT 位将在 xxx 秒内为“1”(完全发送)”

或者,您能否告诉我们是否有任何建议使用 EOT 位(错误检测方法)?  

2.如何在 McSPI CS 上复位位位位位计数

  目前、客户使用的是最简单的从器件设置、而不是使用 FIFO 和 DMA

 在这种环境下,我们从未看到过 TI 评论中提到的位数复位现象。

 那么,在从站不使用 FIFO 和 DMA 的情况下,您能告诉我们位区域重置方法吗?

此致、

Kz777

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

    您好、香榭丽舍

    请您给我们提供任何意见吗?

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

    您好、香榭丽舍

    请提供任何评论吗?

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

    大家好、Kaz - San、

    抱歉、McSPI 不支持错误报告、我对此感到沮丧。

    似乎没有与 EOT 位绑定的中断。 也许软件可以轮询 EOT 位、或者执行一个超时、然后检查 EOT 位。 这假定在接收一个字的过程中发生意外的 CS 失效时、EOT 位会改变状态。

    [引用 user="Kz777)]在此环境中,我们从未看到过 TI 注释中提到的位数复位现象。 [/报价]

    您指的是什么计数器? 我认为您无法通过任何寄存器查看位数。 我只能看到一个字计数器。

    希望我能更有帮助、
    标记

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

    Mark、您好!

    感谢您的评论、我们还有其他问题需要解决。

    EOT 位时序方法。

    客户不知道判断超时的因素是什么。

    我们应该监控触发时超时的因素是什么?

    此外,若 EOT 不改变,我们可以决定是否已超时?

    2.如何在 McSPI CS 上复位位位位位计数

      客户并不意味着他们将监控特定寄存器。

    具体而言、它们可以确认 McSPI 的以下功能

    • C5517 McSPI 中的安全模式
      • 设置 SPI 字长(WL 位)= 0x7 (8位)并发送固定日期(例如:0xFB)
    • 在主器件侧 CS="L"期间有意更改 CLK 的编号
      • (例如:通常发送 CLK 8次,但发送9次)
    • 当我们从 C5517的 McSPI_SOMI 监控输出数据时、应发送固定数据。  
      • 输出数据中的每个1个字都有1位移位差异

     如果我们 可以在下次 CS="H"或 CS="L"的时序复位位位位位位位位计数、则应始终发送固定数据(0xFB)。

    那么,如果从机不使用 FIFO 和 DMA,您能告诉我们位数复位方法吗?

    谢谢你。

    林信宇

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

    您好、Lin-San、

    我不知道为什么 EOT 位没有被置位。 下面、我已将 McSPI 规范文档中的信息添加到 TRM 中的信息:

    CH0STATL 寄存器位2 EOT
    0x0 =(TRM)移位寄存器被载入来自发送器寄存器的数据
            当移位寄存器从发送器寄存器加载数据-开始传输时(SPEC)位被清零
    0x1 =(TRM) SPI 传输结束
          (SPEC)位在 SPI 传输结束时自动设置为1
        
    清除位计数器的一种确定方法是使用软复位位位来复位外设:

    SYSCONFIGL 寄存器的位1 SOFTRESET 可用于将 McSPI 外设复位为默认状态。 使用 McSPI 外设之前、必须重新初始化该外设。

    定时器中断(或 RTC 中断)可用作 McSPI 的超时。 如果计时器中断服务例程检测到在很长一段时间内未接收到 McSPI 数据(多个遗漏的字)、则可以使用它通过软复位或外设复位操作来恢复 McSPI 外设。

    此致、
    标记