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.

[参考译文] SPI-AM273X:MCU-PLUS-SDK 开发

Guru**** 2557590 points
Other Parts Discussed in Thread: LMX2595

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1530529/mcu-plus-sdk-am273x-spi-development

部件号:AM273X - MCU-PLUS-SDK
主题中讨论的其他器件:LMX2595

工具/软件:

您好支持团队、

要开发 SPI 工程、我应该从哪个示例工程开始? 还是应该从空示例工程开始?

我还找到 SPI 和 QSPI。 我应该选择哪一个?

此致、

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

    您好 Lin、

    您可以使用启动 SPI 工程

    C:\ti\mcu_plus_sdk_am273x_09_02_00_60\examples\drivers\mibspi\mibspi_loopback 或

    C:\ti\mcu_plus_sdk_am273x_09_02_00_60\examples\drivers\mibspi\mibspi_loopback_dma、具体取决于您要使用的模式:假设您要使用 SPI 来传输数据、则使用 CPU 复制或 DMA 复制。

    QSPI 用于闪存读取/写入。

    此致、

    Ming

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

    尊敬的 Ming:

    非常感谢您的答复。 我很高兴你对我的新职位负责。

    mibspi 与标准 SPI 有何区别? 我可以将 mibspi 设置为标准 SPI 吗?

    此外、我还导入并构建了示例工程 mibspi_loopback_r5fss0-0_nortos。 现在、我计划修改 mibspi、以使用标准 SPI 连接外部器件。 将 AM273x 设置为主 SPI 模式、并将物理引脚分配给 EVM 接头。 我该怎么做?  

    我计划从.syscfg 文件开始。 这是一个很好的起点吗? 如果是、我该如何操作? 您能否提供屏幕截图的一些详细说明?

    感谢您的帮助和支持。

    此致、

    LIN

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

    您好 Lin、

    多缓冲串行外设接口模块 (MibSPI) 是 TI 版本的 SPI。 它有两种模式:

    多缓冲模式和兼容模式。 兼容模式与 SPI 相同。

    是的。 您应该从 示例工程 mibspi_loopback_r5fss0-0_nortos 的 example.syscfg 文件开始:

    如您所见、您将需要配置 SPI 接口、如 SPI 频率、3 或 4 引脚模式、SPI CLK、MISO、MOSI 和 CS 引脚、主或从器件等

    然后在程序 mibspi_loopback.c 中,你需要注释掉对 MIBSPI_enableLoopback () 的调用,因为它将启用环回模式(从 TX 出来的任何东西都将进入 RX )。

    此致、

    Ming

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

    尊敬的 Ming:

    感谢您的指示。 我正在处理 example.syscfg。 我有两个问题。

    -我可以在 example.syscfg 中禁用环回模式吗? 或者只能在代码中执行。

    -对于“引脚分配“、当前设置为:

    具有上拉电阻的 MIBSPI CLK 引脚 (MSS_MIBSPIA_CLK) PAD_DJ/G19
    具有上拉电阻的 MIBSPI MISO 引脚 (MSS_MIBSPIA_MISO) PAD_DI/G17
    具有上拉电阻的 MIBSPI MOSI 引脚 (MSS_MIBSPIA_MOSI) PAD_DH/H18

    CS 引脚 PAD_DK/F19 无上拉电阻

    如何测量/测试 EVM 电路板上的这 4 个引脚信号?

    此致、

    LIN

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

    尊敬的 Ming:

    您能向我介绍一下 EVM 板原理图文件吗?

    谢谢、

    LIN

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

    您好 Lin、

    请检查以下 URL:  

    AM273x 评估模块用户指南(修订版 D)

    您也可以在 https://www.ti.com/lit/zip/sprr504 中找到设计文件包。

    此致、

    Ming

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

    尊敬的 Ming:

    感谢您的帮助和文档链接。 我会研究他们,然后回来给你。

    此致、

    LIN

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

    尊敬的 Ming:

    仔细阅读 EVM 用户指南、尤其是第 2.2.9 节 SPI 接口后、我发现有四种 SPI 选择:

    - MSS_SPIA 连接到 FTDI USB 端口 (J10)。 但是、我不确定如何测试 J10 上 MSS_SPIA 的 4 引脚信号。

    -通过将 S2 设置为 PMIC_SPI 位置、可以对 MSS_SPIB 进行多路复用并连接到 J16。 此外、R5、R61、R167 和 R176 还需要组装 0 Ω 的电阻(通过检查 EVM 的 S2 器件和 BOM)。 您认为 MSS_SPIB 到 J16 是不错的选择吗? 如果是、我需要在 EVM 板上添加 4 个电阻器、并将 example.syscfg 文件修改为 MSS_SPIB。 请提供您的意见。

    - RCSS_SPIA 路由到 J1(60 引脚连接器),很难获得 SPI 信号。

    RCSS_SPIB 路由到 J11(60 引脚连接器),很难获得 SPI 信号。

    在我继续之前、您能提供您的建议吗? 如果您能解释您的选择、那将会很棒。

    此致、

    LIN

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

    您好 Lin、

    我们所做的是使用 60 引脚分接适配器(Zx100-QTH030-SPI Samtec 分线适配器)并将其插入 AM273x EVM 上的 60 引脚连接器、然后我们使用 ST Logic Pro 捕获 SPI 信号。

    此致、

    Ming

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

    尊敬的 Ming:

    您的意思是使用 RCSS_SPIA 或 RCSS_SPIB 并通过适配器从 60 引脚连接器获得信号吗? MSS_SPIA 或 MSS_SPIB 如何?

    谢谢、
    LIN

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

    尊敬的 Ming:

    哦、MSS_SPIB 也可以连接到 J7 60 引脚连接器。  

    您能更详细地描述您的选择和设置吗?

    此致、

    LIN

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

    您好 Lin、

    这取决于您使用的是哪个内核。 如果您在 R5F_0 上运行程序、则可以使用 MSS_SPIA。 如果您使用的是 C66x 内核、则只能使用 RCSS_SPIA。

    此致、

    Ming

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

    尊敬的 Ming:

    谢谢。 我没有这个想法。 现在清除。

    如果我们选择 MSS_SPIA、是否需要使用  60 引脚分接适配器((Zx100-QTH030-Samtec ST 分线适配器)?  

    此致、

    LIN

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

    您好 Lin、

    根据原理图、J16 可以连接到 MSS_SPIB、但需要安装 4 个 0 Ω 电阻器、则不需要适配器。

    MSS_SPIA 连接到 FTDI 芯片。 我看不到一种简单的测量方法。

    RCSS_SPIA 和 RCSS_SPIB 连接到 60 引脚连接器、您需要使用适配器。

    此致、

    Ming

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

    尊敬的 Ming:

    感谢您的解释。 这些就是从用户指南、原理图和 BOM 文件中获取的信息。

    我将进行更多测试、稍后再回来。

    此致、

    LIN

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

    尊敬的 Ming:

    EVM 板已修改、可支持 J16 上的 MSS_SPIB。 现在、我要修改示例代码以支持 MSS_SPIB 和我们的从设备。

    这里我有关于代码调试和运行的问题。

    通过右键点击工程名称并选择“Build Project“来编译工程后、如何调试或运行工程代码? 右键点击工程名称并选择 Debug As /1 Code Composer Debug Session? 或其他方式吗?

    感谢您的分享和建议。

    此致、

    LIN

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

    尊敬的 Ming:

    由于我们计划通过 SPI 将 AM273x 与多个器件连接、因此我想使用 GPIO 引脚作为不同器件的 CS。  问题如下。

    -当我检查 EVM 板的原理图时、MSS_GPIO_2 连接到 LED D6。 但是、在 example.syscfg 文件中、将使用 GPIO Pin (MSS_GPIO26)。 它们是否相互匹配?  如何在  example.syscfg 文件中选择焊盘编号?

    -在 EVM 板上哪里可以找到其他 GPIO 引脚测试点?

    感谢您的帮助。

    此致、

    LIN

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

    您好 Lin、

    在这种情况下、您应该在 3 引脚模式(在 example.syscfg 中)下使用 MIBSPI

    应重点关注不会在 J7 上使用的引脚(60 引脚连接器)。 例如、DBG_SPI_CS0 (MSS_SPIB_CS0 -> MSS_MIBSPIB_CS0 -> D19 模式 0 -> MSS_GPIO_4、根据 AM273x 数据表中的表 5-1)。 D19 可用于其中一个 CS 引脚。

    另一个示例是 RCSS_SPIB_CS0 (RCSS_MIBSPIB_CS0 -> U17 模式 0 -> RCSS_GPIO_40 、根据 AM273x 数据表中的表 5-1)。 U17 可用于其中一个 CS 引脚。

    此致、

    Ming

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

    尊敬的 Ming:

    感谢您的回复和 GPIO 引脚信息。 我查看了数据表的表 5-1 并确认了相关信息。 但是、选择这些引脚 D19 和 U17 后、如何/在 EVM 电路板上获取它们?

    此致、

    LIN

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

    尊敬的 Ming:

    有关 example.syscfg 文件中的 MIBSPI 设置的另一个问题。 xbar 实例与 SPI 实例之间有何区别? 是否应选择相同的值? 现在它们都是 MSS_MIBSPIB/MSS_MIBSPIB  或 MSS_MIBSPIA/MSS_MIBSPIA  。

    谢谢、

    LIN

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

    您好 Lin、

    是的、它们应该相同。

    此致、

    Ming

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

    您好 Lin、

    您可以使用  60 引脚分接适配器((Zx100-QTH030-Samtec ST 分线适配器)从 J7 上获取这些器件。

    此致、

    Ming

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

    谢谢 Ming、我将继续保持设置。

    此致、

    LIN

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

    谢谢 Ming、

    我将尝试订购适配器并进行更多测试。 现在、我正在处理连接到 J16 的 MSS_SPIB 的 4 引脚设置。 我将返回给您有关 SPI 测试和验证的信息。

    此致、

    LIN

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

    尊敬的 Ming:

    修改 mibspi_loopback.c 文件时、代码的以下部分:

    uint8_t const reg_addr = 0x1A;
    uint16_t const reg_data = 0xAA55;

    uint32_t lmx_frame =(0U << 23)|(reg_addr << 16)| reg_data;//来自 LMX2595 的 24 位帧

    uint16_t txBuf[2];
    uint16_t rxBuf[2]={0};

    txBuf[0]=(lmx_frame >> 8)& 0xFFFF;//高 16 位
    txBuf[1]=(lmx_frame & 0xFF)<< 8;//与 MSB 对齐的低 8 位

    构建工程时、收到以下错误和警告消息:

    ../mibspi_loopback.c:71:1:警告:缺少类型说明符、默认为“int";“;ISO C99 及更高版本不支持隐式 int [-Wimplict-int]
    txBuf[0]=(lmx_frame >> 8)& 0xFFFF;//高 16 位
    ^μ s
    int
    ../mibspi_loopback.c:71:1:错误:使用不同类型重新定义“txBuf":“:“Int[0]"与“与“uint16_t[2]"(“(又(又名“unsigned short[2]“)
    .../mibspi_loopback.c:68:10:注意:这里有先前的定义
    uint16_t txBuf[2];
    ^μ s
    ../mibspi_loopback.c:72:1:警告:缺少类型说明符、默认为“int";“;ISO C99 及更高版本不支持隐式 int [-Wimplict-int]
    txBuf[1]=(lmx_frame & 0xFF)<< 8;//与 MSB 对齐的低 8 位
    ^μ s
    int
    ../mibspi_loopback.c:72:1:错误:使用不同类型重新定义“txBuf":“:“Int[1]"与“与“uint16_t[2]"(“(又(又名“unsigned short[2]“)
    .../mibspi_loopback.c:68:10:注意:这里有先前的定义
    uint16_t txBuf[2];
    ^μ s

    您是否对这些错误和警告有任何提示和建议? 屏幕截图如下所示:(抱歉,似乎我无法在此处粘贴任何屏幕短语)

    期待您的回复。

    此致、

    LIN

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

    您好 Lin、

    一个错误是由于类型转换。 lmx_frame 为 uint32_t、txBuf[1]为 uint16_t

    另一个错误是 txBuf 已定义两次(第 71 行和第 68 行)。 一个作为 int、另一个作为 uint16_t

    此致、

    Ming  

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

    尊敬的 Ming:

    我可以修复  txBuf 定义了两次的错误的任何建议(第 71 行和第 68 行)。 一个作为 int、另一个作为 uint16_t 我尝试了许多方法来键入 cast 和其他方法,但没有成功。

    由于我们的连接器件需要 24 位帧模式、因此我要根据输入寄存器地址和寄存器数据动态创建 2 个 16 位数据。

    uint16_t txBuf[2];

    txBuf[0]=(lmx_frame >> 8) 且 0xFFFF;
    txBuf[1]=(lmx_frame & 0xFF)<< 8;

    如何避免重新定义 txBuf?

    此致、

    LIN

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

    尊敬的 Ming:

    BTW、如果我硬编码 txBuf、如下所示

    uint16_t txBuf[2]={0x1AAA、0x5500};

    将不会有错误。 但是、这并不灵活。

    确实需要您的帮助来修复这些错误。

    此致、

    LIN

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

    尊敬的 Ming:

    仅供参考、一旦我将这些代码部分放入 void mibspi_loopback_main(void *args)() 函数、错误和警告就会消失。 现在它通过了工程构建。 我将重点介绍调试和测试。

    此致、

    LIN

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

    您好 Lin、

    请尝试以下操作:

    txBuf[0]=(uint16_t)(((lmx_frame >> 8)& 0xFFFF);
    txBuf[1]=(uint16_t)((lmx_frame & 0xFF)<< 8);

    此致、

    Ming

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

    谢谢 Ming、

    如果将部分代码放在函数之外、则会收到相同的错误消息。 但是、正如我在前一条消息中所说的、如果我将这些代码部分移到函数中、它会很好地工作。 现在我的代码如下:FYI。

    #include
    #include
    #include
    #include
    #include
    #include “ti_drivers_config.h"</s>“
    #include “ti_drivers_open_close.h"</s>“
    #include “ti_board_open_close.h"</s>“
    /*
    uint32_t lmx_frame = 0x1AAA55;
    uint16_t txBuf[2]={0x1AAA、0x5500};
    uint16_t rxBuf[2]={ 0 };
    */
    /*
    uint8_t const reg_addr = 0x1A;// uint8_t const、无需
    uint16_t const reg_data = 0xAA55;// uint16_t const、无需

    uint32_t lmx_frame =(0U << 23)|(reg_addr << 16)| reg_data;//来自 LMX2595 的 24 位帧

    uint16_t txBuf[2]={0};
    uint16_t rxBuf[2]={0};

    txBuf[0]=(uint16_t)(lmx_frame >> 8)& 0xFFFF;//高 16 位
    txBuf[1]=(uint16_t)(lmx_frame & 0xFF)<< 8;//与 MSB 对齐的低 8 位
    */

    void mibspi_loopback_main (void * args)

    int32_t transferOK;
    MIBSPI_Transaction spiTransaction;


    uint8_t reg_addr = 0x1A;// uint8_t const、无需
    uint16_t reg_data = 0xAA55;// uint16_t const、无需

    uint32_t lmx_frame =(0U << 23)|(reg_addr << 16)| reg_data;//来自 LMX2595 的 24 位帧

    uint16_t txBuf[2]={0};
    uint16_t rxBuf[2]={0};

    txBuf[0]=(lmx_frame >> 8)& 0xFFFF;//高 16 位
    txBuf[1]=(lmx_frame & 0xFF)<< 8;//与 MSB 对齐的低 8 位


    drivers_open();
    BOARD_DRIVERSOpen ();

    DebugP_log(“[MIBSPI] MSS_SPIB_J16 已启动...\r\n“);

    /*启动传输*/
    spiTransaction.count = 2;// 2 个 24 位帧的 16 位数据
    spiTransaction.txBuf =(void *) txBuf;
    spiTransaction.rxBuf =(void *) rxBuf;
    spiTransaction.peripheralIndex = 0U;
    spiTransaction.arg = NULL;

    //检查句柄是否创建良好
    DebugP_log(“SPIB 句柄地址:0x%x\r\n“、gMibspiHandle[MSS_SPIB_J16]);

    //开始 SPI 传输
    transferOK = MIBSPI_TRANSFER (gMibspiHandle[MSS_SPIB_J16]、&spiTransaction);

    //检查传输结果
    DebugP_log(“transferOK =%d、spiTransaction.status =%d\r\n“、transferOK、spiTransaction.status);

    if((SystemP_Success != transferOK)||
    (MIBSPI_TRANSFER_COMPLETED!= spiTransaction.status)

    DebugP_log(“SPI 传输失败!\r\n“);
    DebugP_ASSERT(FALSE );/* MIBSPI 传输失败!! */
    }
    暴露

    DebugP_log(“SPI 传输成功!\r\n“);
    }

    Board_driversClose();
    drivers_close();

    返回;
    }

    在检查和验证 J16 接头上的 SPI 信号之前、我有一些问题。

    example.syscfg 文件中的 MIBSPI 设置如下所示:

    example.syscfg / TI 驱动程序 (20)/MIBSPI 2/4

    名称 MSS_SPIB_J16
    运行模式控制器
    时钟频率 (Hz) 5000000
    发送结束延迟 0x0
    芯片选择有效延迟 0x0
    传输之间的延迟 0x0
    数据大小 16
    帧格式模式 0 (POL0 PHA0)
    传输模式阻塞
    启用多 ICount 支持未选中
    传输超时 0xFFFFFFFF
    使用 CS 实现引脚模式 4 引脚模式
    移位格式 MSB 优先移出
    启用未选中的 DMA
    转移组数 1.
    显示高级配置未选中
    XBAR 实例 MSS_MIBSPIB
    SPI 实例 MSS_MIBSPIB
    信号引脚向上/向下
    MIBSPI CLK 引脚 (MSS_MIBSPIB_CLK) PAD_CV/V19 上拉
    MIBSPI MISO 引脚 (MSS_MIBSPIB_MISO) PAD_CU/V18 上拉
    MIBSPI MOSI 引脚 (MSS_MIBSPIB_MOSI) PAD_CT/U19 上拉
    MIBSPI 通道配置
    MIBSPI 通道配置 0
    外设芯片选择 0
    DMA 请求行 0
    引脚
    CS 引脚 PAD_CX/W18 无上拉电阻

    对于 4 个 SPI 信号、还有一些其他的焊盘选择。 哪一个正确连接到 J16 插头引脚? 或者、它们中的任何一个都是正确的?

    对于上述设置和代码、如何验证 EVM 的 J16 上的 SPI 信号?

    请参考详细说明。

    此致、

    LIN

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

    尊敬的 Ming:

    还有一个问题。 使用示波器测量 J16 引脚信号时、可以将哪个引脚或 TP 用作接地端?

    谢谢、

    LIN

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

    您好 Lin、

    J24 引脚 3、11、21、29、8 16 和 26 为 GND。

    此致、

    Ming

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

    谢谢 Ming、明白了。

    您能否验证我的 4 针脚的焊盘选择?

    此致、

    LIN

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

    您好 Lin、

    只要不使用它们、并且可以在 AM273 EVM 上或通过分接适配器进行访问、它们就可以正常工作。 此外、您还可以轻松更改它们。

    此致、

    Ming

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

    尊敬的 Ming:

    为了供参考、我完成了 EVM 的 J16 上的 SPI 信号测试。  

    只有一组焊盘映射可按如下方式工作:

    MIBSPI CLK 引脚 (MSS_MIBSPIB_CLK) PAD_AJ/D18
    MIBSPI MISO 引脚 (MSS_MIBSPIB_MISO) PAD_AI/C19
    MIBSPI MOSI 引脚 (MSS_MIBSPIB_MOSI) PAD_AH/C18
    CS 引脚 PAD_AA/E18

    J16 R5 引脚上的 CS 信号非常不是干净的低电平方波信号。 只能捕获一组信号、MOSI 数据仅与较高的 16 位数据匹配。 无法在示波器上显示较低的 16 位数据。

    您对上述结果有何评论或解释?

    此致、

    LIN

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

    您好 Lin、

    您可能需要注意以下两点:

    1. CS0 应为 D19、F2 或 U17。 E18 用于 CS1。 如果您确实要使用 CS1、则“Peripheral Chip-Select“(外设芯片选择)必须设置为 1 而非 0(默认值)

    2. Saleae 捕获电压 (1.8V/3.3V) 必须与用于 MIBSPI 的电压 (1.8V/3.3V) 相匹配  

    此致、

    Ming

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

    尊敬的 Ming:

    非常感谢您提供的信息。

    是的、通过尝试错误、我发现 D19 是 CS0 的不错选择。 但是、是否有更好的方法(例如阅读原理图或其他设计文档并进行跟踪)? 或者、您是如何知道 D19、F2 和 U17 是好的?

    应注意信号电平。

    此致、

    LIN

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

    您好 Lin、

    有关详细信息、请参阅 AM273x 数据表表 5-36、5-37、5-38 和 5-39。

    此致、

    Ming

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

    尊敬的 Ming:

    到目前为止、MSS_SPIB 4 引脚模式工作良好、我已使用示波器检查信号来进行验证。 非常感谢您的帮助和支持。

    现在我想重点介绍 MSS_SPIB 3 引脚模式+ GPIO 引脚用作 CS 功能。

    您能否针对一个示例引脚提供更详细的说明: DBG_SPI_CS0 (MSS_SPIB_CS0 -> MSS_MIBSPIB_CS0 -> D19 模式 0 -> MSS_GPIO_4(根据 AM273x 数据表中的表 5-1)。? 查看数据表的表 5-1 时、我仍然不能确定应该做什么。

    感谢您的帮助和时间。

    此致、

    LIN

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

    您好 Lin、

    根据 AM273x 数据表、D19 可用作 MSS_MIBSPIB_CS0(模式 1)或 MSS_GPIO_4(模式 0)。 当您使用 SPI 4 引脚模式时、syscfg 将 DBG_SPI_CS0 (D19) 配置为模式 1。 使用 SPI 3 引脚模式时、syscfg 根本不配置 DBG_SPI_CS0 (D19)。 由您在 syscfg 中的 GPIO 下进行配置(必须将 D19 配置为 GPIO 引脚输出、模式 0 等)。 当 SPI 准备好在软件中发送/接收数据时、您还负责将 D19 设置为高电平。

    有关如何配置和使用 GPIO 引脚的信息、请参阅 MCU+ SDK 中的 GPIO 示例: C:\ti\mcu_plus_sdk_am273x_09_02_00_60\examples\drivers\gpio\gpio_led_blink

    此致、

    Ming

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

    尊敬的 Ming:

    感谢您的详细说明和说明。 我将尝试设置和测试它。 我会更新我的状态。

    此致、

    LIN

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

    尊敬的 Ming:

    这是我的最新状态。

    我做了以下修改:
    1).syscfg
    a) 引脚模式 3 引脚模式
    b) 未选中 Advanced Config 下的 CS Hold Enable
    C) 取消选中 Show Advanced Config(显示高级配置)
    d) 添加 GPIO 设置
    名称 GPIO_LMX_CS
    引脚方向输出
    触发器类型无
    触发电平低
    开漏禁用
    XBAR 实例 MSS_GPIO
    GPIO 外设 MSS_GPIO0
    信号引脚上拉/下拉
    GPIO 引脚 (MSS_GPIO4) PAD_AK/D19 无拉电阻
    2) mibspi_loopback.c
    a)#include
    b) uint32_t gpioBaseAddr、pinNum;
    c)/*翻译后获取地址*/
    gpioBaseAddr =(uint32_t) AddrTranslateP_getLocalAddr (GPIO_LMX_CS_BASE_ADDR);
    pinNum = GPIO_LMX_CS_PIN;
    GPIO_setDirMode (gpioBaseAddr、pinNum、GPIO_LMX_CS_DIR);
    d) GPIO_pinWriteLow (gpioBaseAddr、pinNum);//将 CS 置为有效(低电平有效)
    transferOK = MIBSPI_TRANSFER (gMibspiHandle[MSS_SPIB_J16]、&spiTransaction);
    GPIO_pinWriteHigh (gpioBaseAddr、pinNum);//将 CS 置为无效

    构建并运行最新代码后、我可以从 EVM 上 J16 的引脚获取 SPI CLK 和 SPI MOSI 信号、但无法从 EVM 上 J7 的引脚 7 获取 GPIO CS 信号。 但是、我可以在 J16 的 CS0 引脚上获得 GPIO CS 信号。

    与以前一样、S2 设置为 PMIC_SPI 位置、没有更改。

    如果我将 S2 更改为 DBG_SPI 位置、J16 上没有 CLK 和 MOSI、J7 的引脚 7 上仍然没有 GPIO CS 信号。

    我的上述所有结果是否正确? 从 J7 的引脚 7 获取 GPIO CS 信号时是否发生了任何事情?

    您能帮我检查一下吗? 或者您能否分享正确的设置?

    此致、

    LIN

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

    您好 Lin、

    测试结果与您的设置匹配。 J16 用于 PMIC_SPI 信号、S2 应位于 PMIC SPI 上。 D19 模式 0 是 MSS_GPIO_4 -> PMIC_SPI_CS0。  

    但是、当您将 S2 切换到 DBG_SPI 时、J7 DBG_SPI_CS0 的引脚 7 应已连接到 MSS_SPIB_CS0 -->  MSS_MIBSPIB_CS0 --> D19、因此在启用 CS 时您应该看到它被拉低。

    此致、

    Ming。

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

    尊敬的 Ming:

    S2 至 PMIC_SPI、结果是合理的。 但是、当 S2 至 DBG_SPI 时、我非常仔细地检查了 J7 的引脚 7、它没有 3.3V 信号切换。 代码的 GPIO 部分相同、但未更改。 您或任何其他成员能否在您这边核实?

    此致、

    LIN

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

    您好 Lin、

    在 DBG_SPI 上有 S2 时、我使用 gpio_led_blink_am273x-evm_r5fss0-0_nortos_ti-arm-clang 执行了测试 。 我唯一进行的更改是将 MSS_GPIO26 (H2) 更改为 MSS_GPIO4 (D19):

    以下是从 J7 的引脚 7 获得的结果:  

    这是预期结果。

    此致、

    Ming

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

    尊敬的 Ming:

    非常感谢您与我分享结果。 尽管我无法在我的 EVM 上获得与您的结果相同的结果、但我假设它对我很有用。

    在设计原型时、我们会注意这一点。

    在关闭此案例之前、还有两个问题需要您回答。 您的实际位置在哪里? 您是否可以亲自为您提供支持、或者您来到我们位于美国加利福尼亚州亨廷顿海滩的办公室、或者我可以使用我的董事会前往您的办公室?

    此致、

    LIN

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

    您好 Lin、

    您是否使用  J7 上的 Zx100-QTH030-SICT 分线适配器来获取引脚 7 和 ST 逻辑专业版来捕获信号?

    您是否为 GND 连接了 J7 的 PIN8?

    此致、

    Ming

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

    尊敬的 Ming:  

    非常感谢您提出后续问题。  

    我订购了   Zx100-QTH030-Samtec ST 分线适配器用于测试、它会送达我的下一个星期一办公室。 我刚刚要求技术人员从 J7 的引脚 7 焊接一根测试线。 我用 RIGOL MSO5104 示波器捕捉信号 Not Saleae Logic Pro。

    否、我仍然使用 J24 的引脚 29 和 26 作为 GND、而不是 J7 的引脚 8。 我是否必须使用引脚 8 作为 GND 来捕获 J7 引脚 7 上的信号?

    此致、

    LIN

     

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

    您好 Lin、

    这可能是问题所在。 我使用了  Zx100-QTH030-J7 Samtec 分线适配器、因此我确保测量的是 ST 的正确引脚 7。

    否、J24 上的 GND 也正常工作。

    您可以在分线适配器到达后重复测试。 我相信它会起作用。

    此致、

    Ming