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/LDC1041EVM:MSP432有问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/703835/ccs-ldc1041evm-issue-with-msp432

器件型号:LDC1041EVM

工具/软件:Code Composer Studio

您好!

我的 MSP432和 LDC1041问题未得到解决。 您是否有一个代码示例可帮助我管理 LDC1041的使用? 我没有对传感器进行任何更改:我保留了 LDC1041评估板的线圈和 PCB,只是将 MSP430连接到了 MSP432上。 因此、我使用的参数与软件"传感解决方案 EVM GUI"提供的参数相同。

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题是什么? 您能否共享相关的 MSP430代码和 MSP432代码?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Keith、

    感谢您的回答。
    我的问题和所有代码都可以在以下网址找到: e2e.ti.com/.../669125

    我已经发布了它、但没有人能帮助我。

    谢谢你

    Sylvain
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sylvain、
    我没有任何示例。 我正在与我进行的各种接触,但其中一个接触将在7月16日之前不可用。

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

    您好 Chris、

    感谢你的帮助!

    我正在等待您的回答、

    Sylvain

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sylvain、您好!
    我联系了产品所有者,他告诉我: www.ti.com/.../snac059 。 但仔细查看材料、我找不到 MSP432示例。 我将继续寻找并在第16位之前提供另一个答案。

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

    Sylvain、您好!

    我对您遇到的问题的理解是、您在 LDC1041的频率输出寄存器中得到全0;是这样吗?

    如果我对问题的理解是正确的,我怀疑您可能应用的参考频率太低-我们通常使用大于4MHz 的参考频率。 在极低基准频率下、如果器件配置为高采样率、则在采样窗口期间可能不会捕获基准的节拍。

    您能否提供从 INA 或 INB 到接地的传感器信号短路示波器?

    此致、

    Chris O

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

    您好 Chris、

    感谢您的回答。

    我会尽快这样做。 但我很肯定已经测试过输入高于4MHz 的频率。 无论如何、我很快会再次测试它。

    谢谢你

    Sylvain

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

    Sylvain、

      我已经能够与我的同事进行讨论、但不幸的是、他的例子是 LDC2114。  回顾这一主题和之前的主题、我认为问题在于芯片选择(CSB)。  MSP432提供的四线制模式使用从器件发送使能(STE)的概念、这与片选不同。  我已经附上了一个片段、介绍了如何通过片选写入 SPI。

    Chris

    /*-版权所有-、BSD
    *版权所有(c) 2017、德州仪器(TI)公司
    *保留所有权利。
    *
    *
    只要
    符合以下条件*、允许以源代码和二进制形式重新分发和使用:
    *
    *源代码的重新分发必须保留上述版权
    声明*、此条件列表和以下免责声明。
    *
    ***二进制形式的再发行必须在
    
    *随发行提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
    *
    ***未经
    
    事先书面许可、不得使用德州仪器公司的名称或*其贡献者的名称认可或推广从本软件衍生的产品*。
    *
    *本软件由版权所有者和贡献者"按原样"提供
    *、
    
    不承担任何明示或暗示的保证、包括但不限于*适销性和特定用途适用性的暗示保证*。 在任何情况下、版权所有者或
    *贡献者都不对任何直接、间接、偶然、特殊、
    *模范、 或相应的损害(包括但不限于
    *采购替代产品或服务;丧失使用、数据或利润;
    *或业务中断)、但出于任何责任理论
    、*无论是在合同中、严格责任还是由于
    使用本软件而以任何方式产生的侵权行为(包括疏忽或*其他)
    、*即使已获悉可能会发生此类损坏。
    *--/版权--*/
    
    * MSP432 SPI - 3线主器件递增数据
    *
    此示例展示了 SPI 主器件如何使用3线模式与 SPI 从器件进行通信。
    *主器件从0x01开始发送递增数据。 接收到的数据
    *应与之前的传输相同。 eUSCI RX ISR 用于
    *处理与 CPU 的通信、通常在 LPM0中。 由于
    LPM0处于 ISR 中之后的所有执行*、初始化等待 DCO 相对于
    * ACLK 稳定。
    *
    *请注意、在此示例中、EUSCIB0用于 SPI 端口。 如果用户
    *希望将 EUSCIA 用于 SPI 操作、则他们能够使用具有
    EUSCI_Ax 参数的相同 API *。
    *
    ** ACLK =~32.768kHz、MCLK = SMCLK = DCO 3MHz
    *
    **与 SPI 从站数据回显代码一起使用。
    *
    * MSP432P401
    * --------
    * | |
    * | |
    * | |
    * | P1.6|->数据输出(UCB0SIMO)
    * | |
    * | P1.7|<-数据输入(UCB0SOMI)
    * | |
    * | P1.5|->串行时钟输出(UCB0CLK)
    (UCB0CLK /*
    DriverLib 包括*/
    #include 
    
    /*标准包括*/
    #include 
    #include 
    
    uint8_t TXData[2];
    
    //![简单 SPI 配置]
    /* SPI 主配置参数*/
    const eUSCI_SPI_MasterConfig spiMasterConfig =
    {
    EUSCI_B_SPI_CLOCKSOURCE_SMCLK、 // SMCLK 时钟源
    3000000、 // SMCLK = DCO = 3MHz
    50万、 // SPICLK = 500kHz
    EUSCI_B_SPI_MSB_FIRST、 // MSB 优先
    EUSCI_B_SPI_PHASE_DATA_Changed_ONFIRST_Captured_On_Next、//相位
    EUSCI_B_SPI_CLOCKPOLARITY_INACTION_HIGH、//高极性
    EUSCI_B_SPI_3引脚 // 3线 SPI 模式
    };
    //![Simple SPI Config]
    
    int main (void)
    {
    /*停止 WDT */
    WDT_A_HOLDTimer();
    
    //![简单 SPI 示例]
    /*在 SPI 模式下选择 P1.5 P1.6和 P1.7 */
    GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P1、
    GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7、GPIO_PRIMARY_MODULE_FUNCTION);
    
    /*在3线主控模式下配置 SPI */
    SPI_initMaster (EUSCI_B0_BASE、&spiMasterConfig);
    
    /*启用 SPI 模块*/
    SPI_enableModule (USCI_B0_BASE);
    
    TXData[0]= 0x01;
    TXData[1]= 0x02;
    
    /*
    *发送带芯片选择的指令
    *
    
    /*轮询以查看 TX 缓冲区是否就绪*/
    while (!(SPI_getInterruptStatus (EUSCI_B0_BASE、EUSCI_B_SPI_Transmit 中断)));
    
    /*在此处选择 Set Chip */
    
    /*向从器件发送数据时,eUSCI 被缓冲,因此可以进行两次写入*/
    SPI_transmitData (EUSCI_B0_BASE、TXData[0]);
    SPI_transmitData (EUSCI_B0_BASE、TXData[1]);
    
    while (!(SPI_getInterruptStatus (EUSCI_B0_BASE、EUSCI_B_SPI_Transmit 中断)));
    SPI_clearInterruptFlag (EUSCI_B0_BASE、EUSCI_B_SPI_Receive_interrupt);
    
    /*直到最后一个字节被发送后才清除片选信号。 。
    * TX IFG 表示发送缓冲区是空闲的且可以加载。 。
    * RX IFG 表示字节已实际传输-实际传输
    *为了接收数据、需要加载发送缓冲区以生成时钟
    *脉冲。
    *
    
    while (!(SPI_getInterruptStatus (EUSCI_B0_BASE、EUSCI_B_SPI_receive_interrupt)));
    
    /*清除芯片在此选择*/
    
    /*继续代码*/
    }