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.

[参考译文] MSP430FR2512:通过 SPI-Bi-Wire (MSP-FET430UIF)进行编程时无法检测 MSP430FR2512

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/730904/msp430fr2512-cannot-detect-the-msp430fr2512-while-programming-via-spi-bi-wire-msp-fet430uif

器件型号:MSP430FR2512
主题中讨论的其他器件:MSP-FET430UIFUNIFLASH

尊敬的 TI 团队:

我们使用 MSP-FET430UIF 通过 SPI-Bi-Wire 使用 MSP430FR2512对电路板进行编程。

我们无法使用 Uniflash 刷写程序:

[ERROR] MSP430:连接到目标时出错:器件未知

或 CSS 8.1.0

连接到目标时出错:未知设备。

此致、

Walter

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

    需要立即回复。
    这对我们至关重要、因为我们有板。

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据 MS430编程器的文档、我们可以使用(图2-2或图2-3)?

    www.ti.com/.../slau278ad.pdf

    图2-2. MSP430F2xx 使用的2线制 JTAG 通信(Spy-Bi-Wire)的信号连接、
    MSP430G2xx 和 MSP430F4xx 器件

    图2-3. 所有 MSP430 SBWCapable 使用的2线制 JTAG 通信(Spy-Bi-Wire)的信号连接
    不属于 F2xx、G2xx、F4xx 系列的器件
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    正如我看到的、复位引脚上的电容值为0.1uF。 它应该为1nF、以实现与 TI 工具的可靠 SBW 接口。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我同意 Zrno。 首先要尝试的是去填充 C9 (0.1uF)。 该电容值大约为100x 大、SBW 才能正常工作。

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

    我还注意到、您的原理图上有连接到触摸按钮网络的分立电容器 C1、C2和 C3。 这些组件的目的是什么?

    向触摸传感器添加电容会降低触摸灵敏度和性能。 在自电容模式下、我们通常不建议向触摸传感器本身添加任何分立式电容。 在互模式下、我们在 RX 引脚上指定了68pF 接地电容器、以提高抗噪性能。

    Walter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Zrno、
    是的、更改电容值可解决我们在 MSP430芯片检测方面的问题。 我们现在可以
    对芯片进行编程。

    您好、Walter、
    C1、C2、C3电容器是我们 HW 团队放置的分立电容。 在本例中、我们使用自电容。 那么、我们只需将按钮直接连接到 CapTouch IO 吗?

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

    我们移除了电容器、现在当我们在加载 CAPMINI-demo orig 代码时触摸受控触摸1、2和3时、它可以生成回调。

    CAPMINI-DEMO 代码、此芯片为 MSP430FR2512HL、所以 IO 被配置为这个。

    void bsp_configureMCU (void)

    uint8_t ui8LFOsc = default_OSC_selection;

    #if (DEFAULT_OSC_SELECTION = CS_REFOCLK_SELECT)
    //
    //将 USCI A0引脚重新映射到次要位置
    //这会释放 CapTIvate IO。
    //如果使用 XT1 (DEFAULT_OSC_SELECTION = CS_XT1CLK_SELECT)、
    //不要重新映射 USCI A0,因为 XT1需要这些引脚。
    //在这种情况下保持原来的复用。
    //
    SYSCFG3 |= USCIARMP;
    #endif

    //
    //将 EUSCI B0引脚重新映射到次要位置
    //这会释放 CapTIvate IO
    //
    SYSCFG2 |= USCIBRMP;

    // P1.0:输出低电平
    // P1.1:输出低电平
    // P1.2:输出低电平
    // P1.3:输出低电平
    // P1.4:UCA0 UART TXD IF (DEFAULT_OSC_SELECTION = CS_XT1CLK_SELECT)、否则输出低电平
    // P1.5:UCA0 UART RXD IF (DEFAULT_OSC_SELECTION = CS_XT1CLK_SELECT)、否则输出低电平
    // P1.6:输出低电平
    // P1.7:输出低电平
    #if (DEFAULT_OSC_SELECTION = CS_XT1CLK_SELECT)
    P1OUT =(0);
    P1DIR =(GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN6 | GPIO_PIN7);
    P1SEL0 =(GPIO_PIN4 | GPIO_PIN5);
    P1SEL1 =(0);
    其他
    P1OUT =(0);
    P1DIR =(GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    P1SEL0 =(0);
    P1SEL1 =(0);
    #endif

    // P2.0:UCA0 UART TXD IF (DEFAULT_OSC_SELECTION = CS_REFOCLK_SELECT)、否则为 XOUT
    // P2.1:UCA0 UART RXD IF (DEFAULT_OSC_SELECTION = CS_REFOCLK_SELECT)、否则为 XIN
    // P2.2:SYNC (除非使用、否则将输出设置为低电平)
    // P2.3:输出低电平
    // P2.4:IRQ (开漏)、将高电平设定为启动
    // P2.5:UCB0 I2C SDA
    // P2.6:UCB0 I2C SCL
    #if (DEFAULT_OSC_SELECTION = CS_XT1CLK_SELECT)
    P2OUT =(GPIO_PIN4);
    P2DIR =(GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4);
    P2SEL0 =(0);
    P2SEL1 =(GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN5 | GPIO_PIN6);
    其他
    P2OUT =(0);
    P2DIR =(GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4);
    P2SEL0 =(GPIO_PIN0 | GPIO_PIN1);
    P2SEL1 =(GPIO_PIN5 | GPIO_PIN6);
    #endif

    //
    //清除端口锁定
    //
    PM5CTL0 &=~LOCKLPM5;

    //配置 FRAM 等待状态(设置为1以支持16MHz MCLK)
    FRAMCTL_configureWaitStateControl (FRAMCTL_ACCESS_TIME_CYCESS_1);

    #if (DEFAULT_OSC_SELECTION = CS_XT1CLK_SELECT)
    //
    //尝试启动低频晶体振荡器
    //
    cs_setExternalClockSource (Xt1_OSC_FREQ);
    if (CS_TurnOnXT1LFWithTimeout (CS_XT1_DRIVE_0、XT1_OSC_TIMEOUT)== STATUS_FAIL)

    //
    //如果晶体不存在或发生故障,请切换 LF
    内部32kHz 基准振荡器的//时钟定义。
    //
    ui8LFOsc = CS_REFOCLK_SELECT;

    #endif

    //
    //初始化时钟信号
    //
    CS_initClockSignal (CS_FLLREF、ui8LFOsc、CS_clock_divider);
    CS_initClockSignal (CS_ACLK、ui8LFOsc、CS_clock_divider);
    CS_initClockSignal (CS_MCLK、CS_DCOCLKDIV_SELECT、CS_CLOCK_DIVIDER_1);
    CS_initClockSignal (CS_SMCLK、CS_DCOCLKDIV_SELECT、CS_CLOCK_DIVIDER_8);

    //
    //调整 DCO 参数
    //
    CS_initFLL (((MCLK_FREQ/1000)、FLL_Ratio);
    CS_clearAllOscFlagsWithTimeout (1000);



    我们的最终电路板将是 MSP430FR2512PW16、配置中需要进行哪些更改。 每次从3个通道触摸时、我只想打开/关闭 IO?

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

    那么、您基本上希望3个按钮控制3个数字 I/O 输出的状态吗?  查看您的原理图、您是否希望直接根据 IN0、IN1和 IN2的触摸检测状态来控制 BTN_CTL_1、BTN_CTL_2和 BTN_CTL_3网络(分别为 P1.1、P1.0和 P1.2)?

    Walter

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

    您好、Walter、

    谢谢、我们弄清楚了如何操作。

    此致、

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

    很好、很高兴听到这个消息。

    有关软件库中的操作方法的良好参考、请参阅我们的技术指南、网址为:

    此致、
    Walter