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.

[参考译文] LAUNCHXL-F28379D:通过 SPI 协议实现的 F28379D-LaunchPad 和 CC3220SF

Guru**** 2539650 points
Other Parts Discussed in Thread: CC3220SF

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1021902/launchxl-f28379d-f28379d-launchpad-and-cc3220sf-via-spi-protocol

器件型号:LAUNCHXL-F28379D
主题中讨论的其他器件:CC3220SF

您好、E2E、

我们的客户需要您的帮助、以便在 F28379D-LaunchPad 和 CC3220SF 之间建立 SPI 通信。 有关详细信息、请参阅随附的文件。

e2e.ti.com/.../4101.E2E.docx

非常感谢您的帮助。

此致、
卡洛

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

    您好、Carlo、

    根据客户的报告、CC3220代码似乎存在问题。 我们会将其转至正确的论坛。

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

    您好、Gus、

    感谢您的关注、请帮助将查询移至相应的论坛。

    此致、
    卡洛

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

    您好、Carlo、

    客户是否有逻辑分析仪、以便我们能够捕获传输过程中发生的情况?

    此致、

    Sarah

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

    您好 Sarah、

    根据我们的客户、他刚刚试用了 Saleae 逻辑分析仪软件、但似乎需要 Saleae 逻辑硬件本身。 您是否建议使用任何逻辑分析仪软件、而无需支持 TI 电路板的逻辑分析仪硬件?

    此致、
    卡洛

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

    您好、Carlo、

    不幸的是、不

    如果他有另一个 CC32xx LaunchPad、他可以测试默认的 spimaster 和 spislave 示例、并 验证他是否能够接收数据。

    此致、

    Sarah

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

    您好 Sarah、

    我们的客户已经使用2个 CC3220SF 板在 CCS 中测试了 spimaster 和 spislave 项目示例。 它们能够相互交换数据(发送和接收)。 我们客户的主要问题如下所述:

    "我不知道应该在 spislave 示例中修改哪个代码段、以便它可以使用 MATLAB Simulink 从 F28379D LaunchPad 接收数据。 我正在尝试在不使用握手事件的情况下将数据从 F28379D (MATLAB Simulink)发送到 CC3220SF (CCS)(是否可能?)。 我已经在 CCS spislave 示例中设置了 CC3220SF 的 SPI 参数、以便与 MATLAB Simulink 中的 F28377D 配置相匹配、但是、它仍然不接收 F28379D 板中的任何内容。 "

    请参阅之前随附的文档以了解该代码。
    此致、
    卡洛

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

    您好、Carlo、

    驱动程序不需要 GPIO 握手、它是演示的一部分。 如果他不想使用它、可以先将其从 spisave 和 spimaster 测试中移除、以验证其是否正确完成。 然后、我建议使用发送 CC3220的数据格式进行测试。

    如果客户可以执行这两项操作、则应检查 来自主设备的数据。

    此致、

    Sarah

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

    您好 Sarah、

    我收到了我们客户的以下更新:

    "我之前在没有握手事件的情况下尝试连接2个 CC3220SF、但我尚未成功。 也许对于那个、我将在连接 C2000 (MATLAB)和 CC3220SF (CCS)时处理一个握手事件。 但是、我还没有确定如何解决主要问题。"

    感谢您在这方面的帮助。

    此致、
    卡洛

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

    您好、Carlo、

    如果他们离开握手、客户是否能够使用两个 CC3220 LP 发送和接收正确的数据格式? 这将验证硬件是否设置正确、以及他是否正确设置了缓冲区。

    通常需要检查的是它们是否 在设置正确的位速率和 SPI_Params 中的其他参数。

    我还看到、在 C2000设置中、它们启用了高速模式。 我不熟悉 C2000设置、但他们应该验证此设置是否符合 CC3220数据表技术参考手册中的外设要求

    此致、

    Sarah

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

    您好 Sarah、

    我们的客户能够使用2个 CC3220SF LP 发送和接收正确的数据。 客户将对此进行进一步测试。 谢谢你。

    此致、
    卡洛

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

    您好 Sarah、

    在 Code Composer Studio 的接收端代码中、如果 C2000器件能够向 SPI 发送值、是 CC3220SF (从器件)的这一行代码:
    transaction.rxBuf =(void *) slaveRxBuffer;
    存储传输的数据,然后使用 Display_printf()函数显示该数据?

    此致、
    卡洛

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

    您好、Carlo、

    必须为 transaction.rxBuf 提供一个缓冲区以将接收到的数据复制到中。 您可以在前面看到几行 slaveRxBuffer 正被 memset()清除。 稍后会打印缓冲区的内容。

    slaveRxBuffer 在 spislave.c 的顶部定义 一旦一个传输开始、在传输完成或被取消前、这个缓冲器不能被触摸。

    此致、

    Sarah

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

    您好 Sarah、

    非常感谢您的帮助。 请参阅随附的文件、了解我们客户的响应。 该文件中还提供了 Matlab 代码。

    e2e.ti.com/.../CCS-Matlab-Code.docx

    此致、
    卡洛

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

    您好、Carlo、

    看起来客户在 CC32xx 上接收数据、但问题是使用 Matlab 找到正确的格式。 遗憾的是、我对此没有任何见解。

    客户可以尝试 调试 以确定 Rx 缓冲器的内容。  根据终端中的十六进制值、 它们也可能 打印缓冲区的存储器位置、而不是缓冲区内容。 请使用调试器验证。

    此致、

    Sarah

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

    您好 Sarah、

    我们的客户能够从 MATLAB 向 CCS 发送和接收准确的值。 下面是提供的详细信息。

    C2000正在向 CC3220SF 发送值"88"、该值相当于"X"、并且 CC3220SF 会准确接收到该值、但似乎 C2000能够在 CC3220SF 接收和显示该值之前发送2个"88"值。 请将图像作为参考。


    您是否知道与两个器件同步传输和接收的任何方式? 此外、我已经尝试删除 SPI 事务上的 TxBuffer、以便 CC3220SF 只接收一个值、因为它不需要将任何数据发送回主器件、但当我将其删除时、从器件代码将无法接收任何数据。 是否可以移除从器件中的发送器件、使其仅接收主器件的任何数据? 如果可能、请告诉我如何操作?

    感谢你的帮助。

    此致、
    卡洛

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

    您好、Carlo、

    在发送所有 Tx 数据并接收 Rx (我相信基于 count 参数)之前、SPI 传输将不会完成。 更改这些更改是否会更改 CC32xx 的行为?

    如果客户调用 SPI_Params_init(),然后从不设置 SPI_Params.txBuf,他们是否仍然看到问题? 我认为没有 TX 数据的默认值是~0。

    此致、

    Sarah

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

    您好 Sarah、

    我们的客户能够解决问题。 他们现在能够以1:1的比率交换预期值。 根据我们的自定义、似乎问题与 transaction.count 值有关、该值应为1而不是2、因为他们每次只发送1个样本 x。您对 count 参数的响应为客户提供了这个想法、并且它正常工作。

    非常感谢您的帮助和帮助。

    此致、
    卡洛