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.

[参考译文] MSP430F5659:无法识别 USB -适用于 XT2 19.2M

Guru**** 2522770 points
Other Parts Discussed in Thread: MSP430F5659

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/923116/msp430f5659-usb-not-recognized---for-xt2-19-2m

器件型号:MSP430F5659
主题中讨论的其他器件: MSP-EXP430F5529

您好!

我将 MSP430F5659 MCU 用于我的项目。 我使用 USB 通过固件升级工具更新引导加载程序。 对于24M 的 XT2频率、我能够更新 BSL、一切正常。

现在、我需要将 XT2更新为19.2M (因为我需要在20M 使用 SPI、其中19.2M 是最接近的频率)。

将 XT2保持在24M、我已将我的代码更新为将 XT2编程为19.2M (USBPLLDIVB = USBPLL_SETCLK_19_2;)并将其写入 MCU。 将 XT2晶振更换为19.2M 后、在为电路板通电时、出现"USB Not Recognized (无法识别 USB)"错误。  

除了初始化 XT2 "USBHAL_initClocks (19200000UL)"之外、这一行"USBPLLDIVB = USBPLL_SETCLK_19_2;"或者我是否需要更新更多内容才能使芯片正常工作。  

由于 BSL 可以自动检测到4M、8M、12M 和24M、还有一件事是可以使用其他 XT2频率(在我的案例中为19.2M)对新器件进行编程。

提前感谢。

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

    您好!

    为了正常运行、USB-PLL 必须生成一个48MHz (+/-2500ppm)时钟。 这是通过将一个基准 XTAL 相乘来完成的。

    PLL 中的乘法是用天然的月数完成 的、例如2、3、4、5等  因此、具有24MHz 的 XTAL 工作正常(也可以分频时钟)。

    6、8、12、16 MHz  19.MHz 也是如此、但不起作用。 我很抱歉。

    Johann

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

    您好!

    我在用户指南中看到了随附的表。 可以在 XT2中使用这些晶体。 请澄清。

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

    大家好、我看到了...

    让我写一个信、同时认为 USB 内核需要48MHz 的频率。 这具有高精度50%占空比;通常您将使用 PLL 锁定在频率的两倍并除以2以获得50%。 即96MHz。   现在96/19.2=5!!  是的、这应该是可能的。

    列表前夕的其他列将指示设置。 刚刚检查过,设置似乎是合理的…

    您能不能看到 X 检查您的 XTAL 振荡的频率。 可能是泛音 XTAL。

    我将尝试在我的一侧生成一个测试程序来测量 PLL 频率...

    祝你度过美好的一天

                       Johann

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

    尊敬的 Johnan:

    我已尝试以下操作、但问题仍然存在。

    1. 在新部件中,USB 正在使用 XT2 24M 枚举,但不使用19.2M 或16M。

    2.保持 XT2 @ 24M 并为 XT2 19.2M 对部件进行编程。 将 XT2替换为19.2M、仍出现"USB Not Getting Recognized (USB 无法识别)"错误。

    无论如何、将晶振焊接到19.2M 后、USB 无法识别错误。

    是否可以用19.2M 或16M 枚举新器件并直接通过 USB 对 BSL 进行编程。

    请提供建议。

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

    您好!

    要操作 USB 模块、USB 内核需要48MHz 的频率。 最重要的是、USB 协议需要一些时序才能运行。

    更改 XTAL 以满足第一个条件可能不是所有必需条件。 我目前正在准备一个设置、以 X 检查 USB-PLL 在各种环路频率下的捕获和保持范围。 这是我在这里可以做的事情、在我的家庭办公室工作时、只需很少或适度的努力。  

    您能否用 X 来检查19.2MHz 是否是 XTAL 的基频?  换言之,您的振荡器运行在19.2 MHz 吗?

    Johann

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

    您好、再说一次、

    我在抽屉中集成了一组 XTALS、并检查了 USB 操作。

    我看不到任何功能问题...

    目标硬件:  "MSP-EXP430F5529修订版2.0"

    编译器/IDE:"CCS 5.5.0.00077 (必须退回以重新使用目标文件)"

    应用:"用户体验_16KB"电路板随附的演示"

    已在运行 WIN7/64的戴尔笔记本电脑上进行测试 ,所有这些笔记本电脑均在环境温度下运行。

    测试结果:...

    XT2[MHz] DIVQ DIVM ClkLoop [MHz] 上行时钟[MHz] MP ERR[PPM] USSPLDIVB 结果
    19.2 8. 20. 2.4 48 20. 0 0x0513 未经测试
    4. 2. 24 2. 48 24 0 0x0117 好的
    17.73447. 13. 35. 1.36419 47.74665 35.18571 5278.125 0x0622 好的
    17.73447. 4. 11. 4.4336175 48.7697925 10.82637. -16037.3 0x030a 好的
    17.73447. 3. 8. 5.91149 47.29192 8.11978. 14751.67 0x0207 好的
    14.31818. 8. 27. 1.7897725 48.3238575 26.81905 -6747.03 0x051a 好的
    14.31818. 6. 20. 2.3863333 47.72726667 20.11429. 5681.944 0x0413 好的
    5.184. 2. 18 2.592 46.656 18.51852. 28000 0x0111 好的
    5.184. 2. 19. 2.592 49.248. 18.51852. -26000 0x0112 好的
    4.781. 2. 20. 2.391. 47.82. 20.07528. 3750 0x0113 好的

    USB 在48MHz 频率精度方面似乎具有真正的容错能力。 我没有看到任何功能问题、即使所需的2500ppm 精度远远超出了范围。

    USB 设备发现工作正常

     Johann

    PS:请检查19.2 MHz XTAL 是否真正以19.2MHz 运行    

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

    要修改19.2的 BSL、只需替换 BSL 二进制映像中 USBPLLDIVB 的值。

    因此、PLL 似乎能够在宽范围内可靠运行。

    祝你度过美好的一天

      Johann