5秒后页面跳转
FAQ0134 PDF预览

FAQ0134

更新时间: 2024-04-09 19:01:19
品牌 Logo 应用领域
雅特力 - ARTERY 时钟开关
页数 文件大小 规格书
4页 400K
描述
开关PLL有极小概率造成USB 48MHz时钟异常丢失

FAQ0134 数据手册

 浏览型号FAQ0134的Datasheet PDF文件第2页浏览型号FAQ0134的Datasheet PDF文件第3页浏览型号FAQ0134的Datasheet PDF文件第4页 
开关 PLL 有极小概率造成 USB 48MHz 时钟异常丢失  
FAQ0134  
常见问题解答  
开关PLL有极小概率造成USB 48MHz时钟异常丢失  
Questions在使用USB时,需要给USB控制器提供48MHz时钟用于USB的总线采样,在选择  
PLL分频作为USB 48MHz时钟源时,开关PLL的过程中,USB分频器有极小概率出现异常,USB  
48MHz时钟会丢失,导致USB不能正常工作。  
Answer:  
解决方法 1:  
USB 48MHz 时钟源存在两个来源分别是 PLL 分频或者 HICK 48MHz,使用过程中可以选择 HICK 48MHz  
作为 USB 的时钟源,同时使能 ACC 功能用于时钟校准,如下代码选择 HICK 作为 USB 时钟源:  
usb_clock48m_select(USB_CLK_HICK);  
解决方法 2:  
如果必须使用 PLL 分频作为 USB 48MHz 时钟源,可以通过检查 USB 的状态来判断当前时钟是否有异  
常。  
USB 初始化之后,默认会开启 SuspendResetSOFWakeupTC(传输完成中断)等中断,如果在  
200ms 内都没有检测到除 wakeup(wakeup 中断在没有 USB 时钟依旧可以产生)外的其它中断,则认为此  
USB 时钟有异常,需要通过执行系统复位来恢复。  
代码修改如下:  
usbd_irq_handler 中添加代码,如果检测到非 wakeup 中断,则置起一个标志 usb_clock_flag=1,  
说明 USB 时钟正常。  
if((sts_val & USB_WK_FLAG) == 0)  
{
usb_clock_flag = 1;  
}
USB 初始化完成后等待 200ms,如果 usb_clock_flag 不为 1,则认为 USB 时钟丢失,执行复位操  
作。  
usbd_connect(&usb_core_dev);  
delay_ms(200);  
if(usb_clock_flag == 0)  
{
nvic_system_reset();  
}
2022.5.18  
1 页  
版本 2.0.0  

与FAQ0134相关器件

型号 品牌 描述 获取价格 数据表
FAQ0135 ARTERY 在时钟配置错误或晶振大小选择错误的情况下,下载代码到开发板导致无法继续进行debug或再次

获取价格

FAQ0136 ARTERY 如何使用AT-LINK 的WinUSB 功能提升下载速率?

获取价格

FAQ0137 ARTERY 为了提高加密性能,需对开启访问保护(FAP)操作流程进行优化。

获取价格

FAQ0138 ARTERY AT32F407/437 在使用EMAC 网口进行以太网数据收发时,如果出现数据丢包,应该

获取价格

FAQ0139 ARTERY AT32F407/437 在使用EMAC 网口在初始化时,调用emac_dma_softw

获取价格

FAQ0140 ARTERY 类似方案商和终端用户分别设计的各自工程文件代码,如何使用AT-Link 离线功能将代码合并

获取价格