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.

[参考译文] CCS/TMS320F28032:如何构建 SPI 传感器

Guru**** 2529630 points
Other Parts Discussed in Thread: DRV8301, CONTROLSUITE, C2000WARE, MOTORWARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/601666/ccs-tms320f28032-how-to-build-in-a-spi-sensor

器件型号:TMS320F28032
主题中讨论的其他器件:DRV8301controlSUITEC2000WAREMOTORWARE

工具/软件:Code Composer Studio

支持路径:/工具与软件/帮助我解决问题/设计套件/评估模块/板/软件问题/

你好

我正在使用 DRV8301-HC-C2-KIT 测试我的电机应用。 为了定义目标速度、我需要一个额外 SPI 传感器的输入。 我正在使用 InstaSPIN_BLDC 模板项目、现在只需添加一些代码即可运行测试。 我将 SPI 传感器连接到 GPIO 引脚16-19。 我不知道如何从该传感器获取数据。

我能否使用 DRV8301_SPI 宏(_init;_read)读取我的传感器。 如果是、如何构建所需的 SPI_regs 结构?

或者、我找到了如何设置引脚。 请参见下面的。 当我必须使用这种方法时、如何将 GPIO19设置为高电平和低电平、以及如何启动 SPI 通信?

感谢您的任何帮助。

BR Daniel

GpioCtrlRegs.GPAPUD.bit.GPIO16=0//启用 GPIO16上的上拉

GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0;//启用 GPIO17上的上拉

GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0;//启用 GPIO18上的上拉

GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0;//启用 GPIO19上的上拉

GpioCtrlRegs.GPAQSEL2.bit.GPIO16 = 3;//异步输入

GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3;//异步输入

GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 3;//异步输入

GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 3;//异步输入

GpioCtrlRegs.GPAMUX2.bit.GPIO16=1// GPIO16=SPISIMOA

GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 1;// GPIO17 = SPIS0MIA

GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 1;// GPIO18 = SPICLKA

GpioCtrlRegs.GPAMUX2.bit.GPIO19=1// GPIO19=SPISTEA

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

    GPIO 配置之前是否有 EALLOW? 除非 EALLOW 被置位、否则 GPIO 控制寄存器不能被改变。

    您是否运行过 controlSUITE 或 c2000Ware 中提供的任何通用 SPI 示例? 如何通读 TRM 的 SPI 章节。 一旦您了解 SPI、其余部分就会很容易实现。

    您指的是哪些宏? 您能否与我分享这些信息的位置? 您似乎能够将可在 motorware 中找到的 drv8301.h/.c 文件放入您的项目中、并使用这些调用访问 DRV8301。 尽管这些文件是为 F2802x 编写的、但 SPI 模块完全相同、除了验证时钟之外、无需修改即可使用。
    (C:\ti\motorware\motorware_1_01_00_18\sw\drivers\drvic\drv8301\src\32b\F28x\F2802x)

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

    您好、Mark

    我在控制套件中的1000个文件中进行了更多操作、最后找到了'Example_2803xSPI_FFDLB'。 我想我开始得到它。 一旦我能够使用这个'Example_2803xSPI_FFDLB'项目读出我的传感器、那么将它整合到主项目中的最佳方法是什么。 我是否只是将'example_2803xSPI_FFDLB.c'文件中的行复制到'BLDC_Int.c'文件中并将所有其他文件复制到同一个项目文件夹中、或者是否有更智能的方法?

    此致、
    Daniel

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

    实际上、最好的方法是从 SPI_FFDLB.c 文件中获取相关代码并将其复制/粘贴到主项目中。 您可以使用特定于 SPI 的代码创建新的.c 和.h 文件以使其保持组织、也可以粘贴到主文件中。 我建议使用多文件方法、因为它可以使项目和每个文件保持简单、并且在以后再次查看时易于理解。

    谢谢、
    标记