大家好、我们将为 键盘应用准备一个使用 MSP430F5528的板。 运行的代码来自键盘演示板(https://www.ti.com/tool/TIDM-KEYBOARD)、我们在 HW 上所做的唯一更改是 XT2晶振从4MHz 更改为6MHz、我们也更改了 XT2的寄存器设置、与当前相比没有其他更改。 通过 USB 电缆将电路板插入笔记本电脑后、Win10会显示未知 USB 设备(设备描述符请求失败)。
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.
大家好、我们将为 键盘应用准备一个使用 MSP430F5528的板。 运行的代码来自键盘演示板(https://www.ti.com/tool/TIDM-KEYBOARD)、我们在 HW 上所做的唯一更改是 XT2晶振从4MHz 更改为6MHz、我们也更改了 XT2的寄存器设置、与当前相比没有其他更改。 通过 USB 电缆将电路板插入笔记本电脑后、Win10会显示未知 USB 设备(设备描述符请求失败)。
问题源可以是与软件或硬件相关的、并且可以使用支持 HID BSL 的 XT2 (4、8、12或24 MHz)轻松进行检查。 如果器件被整体擦除、在连接到 PC USB 端口后、器件应该被自动枚举为 HID BSL、这表明硬件方面一切都正常。 遗憾的是(不知道原因)您选择了6MHz、USB BSL 在此设置中没有太大帮助。 在我的项目中、我始终使用24MHz XT2 (也适用于 MCLK)、默认情况下、HID BSL 和 TI USB 堆栈示例支持该功能。
由于我不熟悉 MSP430、也不是真正的软件人员、您能帮助我理解以下内容吗:
1. 6MHz XT2是否仍然能够执行键盘应用、我们只需要修复在空白芯片上自动调用 USB HID BSL 吗? 或者、您是否说根本原因可能在其他地方、而不是6MHz 晶体? (我现在对 USB 信号质量产生怀疑、因为我们使用了很长的电缆、中间有几个焊接点)
2.您提到的 PLL 分频器修改应植入其中? 这些数字是我们可以使用还是需要进一步调试?
3.我阅读了应用手册“使用 MSP430MCU 开始 USB 设计”,其中 提到:
BSL 被设计成自动识别应用于 XT2的四个频率:
•4MHz
•8MHz
•12 MHz
•24 MHz
如果使用 BSL 进行生产编程、则必须使用这四个频率中的一个。 如果在 A 之后使用 BSL
已执行 JTAG 会话、您可以使用该 JTAG 会话对的修改版本进行编程
可识别您的频率的 BSL。
以上是否与此问题有关? 如果是、我们可以按照此步骤解决此问题、对吧?
MSP430硬件 USB 模块可与6MHz XT2配合使用、但默认情况下、所有 TI 源(来自 USB 开发堆栈的示例)都配置为4MHz XT2 (因为此源焊接在 LP 上)。 请记住、是否有一些 GUI 工具可用于轻松重新配置、但可以在源代码中找到 XT2 PLL 分频器注释值。
固件可由 SBW/JTAG 上载到空白器件、在这种情况下、XT2值不相关、因为它未被使用。 固件也可以通过 MSP430 USB 固件升级 GUI 在 Win 或 Phyton CLI 上通过器件本身上传、使用出厂预加载的 HID BSL、但在这种情况下、XT2必须为4、8、12或24 MHz。
我在 MSP430 USB 扩展板上使用了非常糟糕的 P2P 布线、因此从未出现 USB 问题。
我们遵循了 TIDU521 "使用 MSP430的键盘控制器"文档:
6.1.2晶体 XT2
使用不同的晶体进行设计。
说明:
1.修改 USB_XT_FREQ_VALUE:
..\Projects\USBKBD\src\USB_config\descriptors.h
我们将 XT2频率更改为6、但它不起作用(晶体输出6MHz、但仅报告了未知的 USB 器件)。 那么,所提到的6.1.2中的变化是否还不够? 仍然需要改变 PLL 分频器?
让您对它的了解大有不同。