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.

[参考译文] TMS320F28069M-Q1:TMS320F28069M-Q1

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1004787/tms320f28069m-q1-tms320f28069m-q1

器件型号:TMS320F28069M-Q1
主题中讨论的其他器件:MOTORWARE

您好!

我尝试在与 IMU 的连接中使用 SPIA、但在使用 SPI-Write 函数发送消息时没有 CS 信号。

我的 SPI 配置在 hal.c 中如下(我使用的是 motorware):

对于引脚配置:

// SPI SDI 至 IMU
GPIO_setMode (obj->gpioHandle、GPIO_Number_16、GPIO_16_Mode_SPISIMOA);
// SPI SDO 到 IMU
GPIO_setMode (obj->gpioHandle、GPIO_Number_17、GPIO_17_Mode_SPISOMIA);
// SPI SCLK 到 IMU
GPIO_setMode (obj->gpioHandle、GPIO_Number_56、GPIO_56_Mode_SPICLKA);
//将 SPI /SCS 更改为 IMU
GPIO_setMode (obj->gpioHandle、GPIO_Number_19、GPIO_19_Mode_SPISTEA_not);

对于 SPI 配置:

void HAL_setupSpiA (HAL_Handle handle)
{// Louis S 于2021年5月25日完成更新、以配置 SPI A 进行 IMU 控制
// IMU 是 LSM6DSM
HAL_Obj * obj =(HAL_Obj *)句柄;
//开始重置 SPI
spi_reset (obj->spiAHandle);
SPI_setMode (obj->spiAmHandle、SPI_Mode_Master);
SPI_setCharLength (obj->spiAmHandle、SPI_CharLength _16_Bits);
SPI_setClkPhase (obj->spiAHandle、SPI_ClkPhase_Normal);
SPI_setClkPolarity (obj->spiAHandle、SPI_ClkPolarity_OutputFallingEdge_InputRisingEdge);
spi_setBaudRate (obj->spiAHandle、spi_bauddrate_1_MBaud);
SPI_setTriWire (obj->spiAmHandle、SPI_TriWire_normalFourWire);
spi_enableTx (obj->spiAHandle);
SPI_enableTxFifoEnh (obj->spiAHandle);
spi_enableTxFifo (obj->spiAHandle);
spi_setTxDelay (obj->spiAHandle、0);
SPI_clearTxFifoInt(obj->spiAHandle);
spi_enableChannels (obj->spiAHandle);
SPI_enableRxFifo (obj->spiAHandle);
SPI_setSuspend (obj->spiAHandle、SPI_TxSuspend_free);
spi_enable (obj->spiAHandle);
返回;
}// HAL_setupSpiA()函数结束

我在主循环中使用 SPI 写入函数、仅在使用以下代码连接到 IMU 之前测试信号:

spi_write (handle->spiAHandle、data_TO_SEND);
//发送虚拟消息
spi_write (handle->spiAHandle、0);

您能帮我获取 CS 信号吗?

此致

路易

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

    您好!

    您是否能够在 SIMO 和 SOMI 线路上查看数据?

    此致、

    Veena

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

    您好、Veena、

    是的、我是。

    我在发送消息时看到 SIMO 线和时钟、但没有反馈、因为 CS 始终处于高电平。

    当我在设置中注释 TxFifo 行时、它只是保存了游戏。

    你能给我解释一下吗?

    此致

    Louis Schmerber

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

    您好、Louis、

    很抱歉耽误你的回答。

    您的意思是、通过注释掉 FIFO 配置、CS 引脚按预期工作吗? 启用 FIFO 后、CS 将保持活动状态、直到发送完 FIFO 中的所有数据。

    您能否检查  GPIO19针对 STE 选项配置的引脚多路复用寄存器? 我看到您已经使用函数  GPIO_setMode 执行了这一操作。 这只是为了确保 寄存器 不会损坏。

    此致、

    Veena