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.

[参考译文] MSP430F5503:关于 USBVECINT_PWR_VBUSOff 中断

Guru**** 2534320 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1078354/msp430f5503-regarding-usbvecint_pwr_vbusoff-interrupts

部件号:MSP430F5503
《线程:MSP430WARE》中讨论的其他部件

各位专家:

CCS 项目使用以下内容:
C:\ti\MSP\MSP430Ware_3_80_11_07\usbib430\MSP4P_USB_Software\MSP4P_USB_API\Examples\HID_humanInterface\Traditional \H8_Keyboard

当 MSP430检测到 VBUS 上的电压过低时,它会执行 UsbIsr.c 的 USBVECINT_PWR_VBUSOff 过程。

案例 USBVECINT_PWR_VBUSOff:
  PWRVBUSoffHandler();
  IF (wUsbEventMask & kUSB_VbusOffEvent)
  {
    bWakeUp = USB_handleVbusOffEvent();
  }

在此过程中调用的 PWRVBUSoffHandler ()函数具有以下代码:

PWRVBUSoffHandler 无效(无效)

易失性无符号 int i;
对于(i =0;i < USB_MCLK_FREQ/1000*1/10;I++);//延迟1毫秒
IF (!(USBPWRCTL 和 USBBGVBV))

USBKKEYPID = 0x9628;//将密钥和 PID 设置为0x9628 ->启用对配置寄存器的访问
b 数字状态= 0x00;//设备未枚举
b 功能暂停=假;//设备未暂停
USBCNF = 0;//禁用 USB 模块
USBPLLCTL 和=~UPLLEN;//禁用 PLL
USBPWRCTL 和=~(VBOFFIE + VBOFFIFG + SLDOEN);//禁用中断 VBUSOFF
USBKEYPID = 0x9600;//对配置寄存器的访问被禁用
}
}

此功能禁用 USB PLL。

为什么 MSP430需要禁用 USB PLL?

我已经阅读了 F5x UG,但我不知道为什么要禁用 PLL,所以我想知道原因。

e2e.ti.com/.../UsbIsr.c

此致,
Sasaki

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

    你好,Sasaki,

    我认为这是 MSP430的良好编码实践的一个实例,因为 USB PLL 可以产生大量电流,这在很多情况下都不适合 MSP430所使用的典型应用,因为低功耗是关键。 一般指导是保持 USB PLL 关闭,直到与主机通话并供电时需要它为止。 根据 USB 规范,USB 设备在不同 USB 状态下消耗的电流也有限制。  

    请参阅第42.2.6节“功耗”,第42.2节。 有关更多 信息,请参阅设备用户指南中的挂起和恢复以及42.2.3 USB 锁相环(PL)。  

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

    您好,贾斯-桑,

    感谢您提供信息。

    我理解。

    此致,
    Sasaki