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.

[参考译文] CC2642R:主从模式下的 SPI 回调延迟以及并行 SPI 事务问题

Guru**** 2589275 points
Other Parts Discussed in Thread: SIMPLELINK-CC13XX-CC26XX-SDK, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1237301/cc2642r-spi-callback-delay-in-master-and-slave-mode-and-parallel-spi-transactions-issues

器件型号:CC2642R
Thread 中讨论的其他器件:SIMPLELINK-CC13XX-CC26XX-SDKSysConfig

您好!

我尝试使用 MCU 上的其中一个 SPI 向 ADC 发送命令、然后使用另一个 SPI 作为从器件接收返回的数据

我遇到了以下问题:

1.主器件 SPI 事务时序比应有的长、 主器件时钟设为6M、我发送76字节、传输(查看时钟管脚)约需要110us、 但是,启动转接至接收回叫之间的时间需要额外的32us,这是为什么? 如果这是正常行为、我是否需要等待接收回调以获取数据并发送新的传输?

在下图中、以红色标记的蓝色(CS 引脚)中、在传输之前开启并关闭 SPI 回调中的第一件事

 

2、数据通过光纤电缆发送 t、然后有很小的延迟接收回来、我们必须将时钟和 CS 与 MISO 数据一起发送以补偿该延迟、所有这些都由从 SPI 接收到  

从器件传输 在主器件之前启动、并且在主器件回调之前的大多数时间接收从器件回调、但是、回调完全不返回且所有内容在一段时间后崩溃的情况发生得太频繁  

我要尝试做的是、每200us 使用主 SPI 发送76个字节、并使用从 SPI 接收回76个字节、这是我无法做到的  

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

    您好 Jameel、

    您正在评估哪个 SIMPLELINK-CC13XX-CC26XX-SDK 版本?  您是否还连续使用无线电堆栈?

    1.能否提供基于 控制器的简单代码示例 来演示要实现的目标?  使用阻塞模式时行为是否得到了改进,是否已在回叫模式中尝试对事务进行排队?  

    2.如果外设提供其他配置,则最佳情况是实施"外设就绪"和"控制器就绪"GPIO,以同步两个器件。

    有关通用示例和 SPI TI 驱动程序信息、请参阅以下内容:
    https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_10_00_98/docs/drivers/doxygen/html/_s_p_i_8h.html 
    https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_10_00_98/docs/drivers/doxygen/html/_s_p_i_c_c26_x2_d_m_a_8h.html 

    此致、
    瑞安

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

    您好、Ryan、

    这是一个旧工程、我使用的是 simplelink_cc13x2_26x2_SDK_5_20_00_52、我正在尝试将代码移植到最新的 SDK、但我在使用链接器时遇到了一些问题。

    1.我尝试了排队的事务没有改善,在这里不能选择阻塞模式,因为我尝试同时和主从一起工作  

    这是一个图、其中显示了我  

    从器件需要使用主器件生成的 C 和时钟、并通过光纤电缆延迟和串行器/解串器延迟一路流向 ADC。 这就是为什么从器件需要启动传输并等待主器件发送其传输的原因。  

    我试图只阻止主转移,但也没有运气,一切都停止后几个转移  

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

    感谢您提供视频、这肯定有助于我了解您的设置。  您遇到了哪些链接器问题?  我建议从 v7.10 SIMPLELINK-CC13XX-CC26XX-SDK 开始默认工程、并将应用更改移到其他地方。   32us 延迟是否依赖于来自 SPI0或 SPI1的回调?  您曾尝试过 在阻塞模式下使用 SPI0、在回调模式下使用 SPI1?  SysConfig SPI 设置和 SPI 初始化参数是什么、无线电是否也处于活动状态?  传输停止后、器件是否没有响应、您能否调试此崩溃状态?

    此致、
    瑞安