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.

[参考译文] AM2732:mibspi 读取 TJA1145故障

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1376131/am2732-mibspi-read-tja1145-faild

器件型号:AM2732

工具与软件:

您好:

  我们使用  mibspi_loopback_dma_am273x-evm_r5fss0-0_freertos_ti-arm-clang 的演示工程配置 TJA1145 cantrancv。

  注释代码  状态= MIBSPI_enableLoopback (gMibspiHandle[CONFIG_MIBSPI0]、LOOPBACK);禁用环回功能

  我们可以在 SPI MISO 和 MOSI 总线上找到 TX 和 RX 数据、但 RXSRAM 中为 err。

  另一个实验不 注释代码  状态= MIBSPI_enableLoopback (gMibspiHandle[CONFIG_MIBSPI0]、loopback);启用环回功能、 RXSRAM 数据是正确的。

   此外,之前关于 PMIC I 请求的 e2e 案例。 使用相同的演示工程和用作 mibspib 的 SPI 会很有用。

  将 宏定义和变量更改如下:


#define APP_MIBSPI_MSGSIZE 10.

uint16_t gMibspiTxBuffer1[APP_MIBSPI_MSGSIZE];
uint16_t gMibspiRxBuffer[APP_MIBSPI_MSGSIZE];

uint16_t gMibspiTxBuffer[]=

// 0x03ff、// Reg 1 Mode control (寄存器1模式控制)
0x1400、// Reg:0x0A 锁定控制。 SPI 写访问使能
0x0207、//寄存器1模式控制
0x03ff、// Reg 1 Mode control (寄存器1模式控制)
0x03ff、// Reg 1 Mode control (寄存器1模式控制)
0x0204、//寄存器1模式控制
0x03ff、// Reg 1 Mode control (寄存器1模式控制)
0x03ff、// Reg 1 Mode control (寄存器1模式控制)
0x0207、//寄存器1模式控制
0x03ff、// Reg 1 Mode control (寄存器1模式控制)
0x03ff、// Reg 1 Mode control (寄存器1模式控制)
};

内存:

SYSCFG:

SPI 总线:

 

3Q。

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

    您好:

    感谢您联系 e2e。 我就此问题联系了我的同事。 在此期间、您能提供以下信息吗:

    -问题似乎是宏更改在 TJA1145上不起作用,这是正确的吗?

    -你有以下 e2e 的链接吗?

      此外、之前关于 PMIC I 请求的 e2e 案例。

    此致!

    Haley

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

    您好:

       " 问题似乎是宏更改在 TJA1145上不起作用、这是正确的吗?"

        这似乎与外设芯片无关、 在 SPI 总线上捕获的 MISO MOSI 数据 正确无误。 正如我之前展示的图片所示。

         "您有以下 e2e 的链接吗?"

        LP876242-Q1:ESM cfg -电源管理论坛-电源管理- TI E2E 支持论坛

       两者都使用 SPI DMA 模式,主要区别是这次使用 SPIA。 上次是 spiB、

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

    你好、Haley:ć

      它是如何。

    BR、

    ZDD

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

    尊敬的 ZDD:

    您在 TX RX 数据线上观察到的行为、并且应该是 TX/RX 数据缓冲器。

    1.在启用了环回的情况下、TX 数据会立即返回到 RX 线路、所以 TX 和 RX 的数据缓冲区是一样的。

    2.在回送禁用的情况下,当第一个 MIBSPI_TRANSFERT()被执行时, TX 数据缓冲区进入  TJA1145, RX 数据缓冲区是 从 TJA1145发送的任何数据(这次可能是垃圾)。 除非在 TJA1145上执行了外部环回、否则 TX 和 RX 数据缓冲区应不同。 您是否知道期望 TJA1145提供哪些数据? 如果愿意、RX 数据缓冲区应与来自 TJA1145的预期数据匹配。

    此致

    Ming

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

    高明:

       "2. 在禁用环回的情况下、当执行第一个 MIBSPI_TRANSFERT()时、TX 数据缓冲区进入  TJA1145、RX 数据缓冲区是 从 TJA1145发送的任何数据(这次可能是垃圾数据)。 除非在 TJA1145上执行了外部环回、否则 TX 和 RX 数据缓冲区应不同。 您是否知道期望 TJA1145提供哪些数据? 如果愿意、RX 数据缓冲区应与来自 TJA1145的预期数据匹配。"

       我提供的图片、所有情况下都  禁用了环回。逻辑分析仪显示 Rx 和 TX 数据是不同的、正确。但 xds1100显示 SRAM 是0xFFFF。您可以在白板上试用吗。
    此致

    ZDD

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

    尊敬的 ZDD:

    由于您使用的是 DMA 模式、因此请 在 MIBSPI_transfer ()之后、数据比较之前执行 CacheP_WBInv (gMibspiRxBuffer、APP_MIBSPI_MSGSIZE、CacheP_TYPE_ALLD)。

    此致、

    Ming   

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

    高明:

       演示不更改  CacheP_wbInv 的部分、您是指 禁用环回或启用、需要更改  CacheP_wbInv 的部分?

       此致

       ZDD

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

    上一个答复中有错别字。 应该是 在 MIBSPI_transfer ()之后、数据比较之前的 CacheP_inv (gMibspiRxBuffer、APP_MIBSPI_MSGSIZE、CacheP_TYPE_ALLD)。