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 传感器从器件回波 MOSI 线路和 STE 保持下拉状态的通信

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1032783/launchxl-f28379d-communication-with-spi-sensor-slave-echos-mosi-line-and-ste-stays-pulled-down

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

您好!

我正在将 SPI 编码 器(IC-Haus MU150)集成到 LaunchPAD-F28379D 中

我下载了 C2000Ware 并修改了 SPI 示例项目3 "spi_ex3_external_loopback _fifo_interrupts.c"

在调试控制台和示波器测量中、我看到编码 器 SOMI (黄色)在 SIMO 线路中回显、并且不会发回任何有用的数据

此外、SPISTEB 引脚似乎保持下拉状态而不产生任何信号。

这是我使用的代码

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "driverlib.h"
#include "device.h"
/* MU150 masks */
#define MU150_OP_SDAD 0xA6
#define MU150_OP_REG_STATUS_DATA 0xAD
#define MU150_OP_WRITE_REG 0xD2
#define MU150_STATUS_VALID 0x01
#define MU150_SDAD_VALID 0x00
#define MU150_OP_READ_REG 0x97
#define MU150_ADDR_ACC_STAT 0x0D
#define MU150_ACC_STAT_BIT (0x01 << 7U)
#define MU150_ADDR_STATUS0 0x76
#define MU150_AM_MIN_BIT (0x01 << 0U)
#define MU150_AM_MAX_BIT (0x01 << 1U)
#define MU150_AN_MIN_BIT (0x01 << 2U)
#define MU150_AN_MAX_BIT (0x01 << 3U)
#define MU150_NON_CTR_BIT (0x01 << 3U)
#define MU150_EPR_ERR (0x01 << 6U)
#define MU150_ADDR_STATUS1 0x77
#define SPI_PACKET_SIZE (4U)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

有人可以帮助我发现这方面的错误吗? 使用中断可能会产生错误的逻辑流程?

谢谢

Hansol

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="497364" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1032783/launchxl-f28379d-communication-with-spi-sensor-slave-echos-mosi-line-and-ste-stays-pulled-down "]

    我下载了 C2000Ware 并修改了 SPI 示例项目3 "spi_ex3_external_loopback _fifo_interrupts.c"

    在调试控制台和示波器测量中、我看到编码 器 SOMI (黄色)在 SIMO 线路中回显、并且不会发回任何有用的数据

    [/报价]

    我怀疑可能已为 SPI 启用内部回送功能。  这是我建议检查的第一件事。  

    此致

    Lori

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

    您好、Lori、

    示例代码用于外部回送、因此从一开始就禁用了内部回送功能。 (第158行 SPI_disableLoopback ())

    我的另一个问题是 STE (芯片选择引脚)即使在第217行进行配置也不被启用。 示波器读数表明它一直很低。 我怀疑这可能会导致一些问题。 有什么想法为什么会发生这种情况?

    谢谢

    Hansol

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="497364" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1032783/launchxl-f28379d-communication-with-spi-sensor-slave-echos-mosi-line-and-ste-stays-pulled-down/3819133 #3819133]*我的另一个问题是、即使在第217行配置 STE (芯片选择引脚)、也不会启用 STE (芯片选择引脚)。 示波器读数表明它一直很低。 我怀疑这可能会导致一些问题

    SPI 将自动控制 SPISTE 引脚。 它将在传输过程中将 SPISTE 引脚驱动为低电平、并在传输完成后将其驱动为高电平。  您是否观察到引脚处于低电平、即使在传输完成后也是如此?

     如果此引脚从未变为高电平(未激活)、则首先检查电路板上没有任何器件保持低电平。  如果引脚是 GPIO、您能否将其切换?  

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

    需要注意的一点- 如果您的代码 将 数据保存在 TXFIFO 中。 只要有数据要发送、SPISTE 就会保持低电平。 如果要强制 SPISTE 在每个16位字后返回高电平、可以禁用 FIFO 并一次发送一个字、直到设置 SPI_INT 位、这表示已传输16位。