你好,先生,
我们正在进行项目使用DA14586微控制器。目前我们已经禁用了可编程部分,并使用CP2102N uart到usb桥接器与PC工具作为COM端口进行通信。DA14586 1-GPIO中断连接到CP2102N GPIO,用于USB检测(连接-断开)标识。这台设备在生产中运转良好。
最近我们在客户端现场观察到设备挂起问题。在RCA期间,我们发现唤醒中断在这里工作RTC中断得到检测,但是app\u on\u system\u powered回调例程没有执行。所以设备是无响应模式。
在分析过程中,我们发现,在USB连接断开有时会发生。
请指导我们如何尽快解决这个没有回应的问题。
谢谢和问候,
巴维克
设备:
这听起来像是个大问题。DA14586是由USB供电还是有自己的电源或电池?
/MHv公司
当与USB连接时,它将从USB获取电源,一旦与USB断开,它将在3v电池币形电池上工作。
谢谢
任何一点的电源电压是否低于推荐的电压范围?插入USB时GPIO反弹是否存在潜在问题?如果您的中断在第一次GPIO级别转换时没有立即被禁用,您可能会用中断使设备过载。
我们没有发现任何电压降低于建议的电压范围,并且在USB连接断开时GPIO电压水平保持稳定。
四个GPIO用于唤醒中断。在这4个GPIO中断中的任何一个无效工作\u ad \u cb(void)函数被调用,因为这是唤醒适配器的回调函数。在这个回调函数中,中断被识别并服务于它。
当我们通过轮询端口引脚手动隔离时,去抖动得到了注意。
谢谢
在调试过程中我们观察到,当USB连接和断开时,UART BUSY Detect error存在,并且没有清除错误中断。在dialog的帮助下,我们得到了下面的代码来清除繁忙的检测错误。
案例忙\u检测:
//读取UART2\u USR\u REG以清除任何挂起的忙中断
GetBits16(UART2\u USR\u REG,UART\u TFE);
中断;
我们面临两个问题
1当UART事务发生并从USB中删除时,微控制器进入非响应模式。
下面是注册GPIO中断的代码,用于启动时USB连接断开连接的代码
user_global_irq_deinit();
wkup_ad_init();
wkup\u ad\u register\u gpio(客户USB\u INT\u PORT,WKUPCT\u PIN\u SELECT(客户USB\u INT\u PORT,客户USB\u INT\u PIN)),
WKUPCT\引脚\极性(CUST\ U USB\ INT\端口、CUST\ U USB\ INT\引脚、WKUPCT\引脚\极性\高),
用户\u usb \u已连接,用户\u usb \u已断开);
请让我们知道什么可能是未检测到USB GPIO中断的原因?
2当UART事务发生并从USB中删除时,微控制器得到硬复位。
请让我们知道什么可能是微控制器硬复位的原因?
注意:当USB连接时,USB电源从币形电池接收,内部16兆赫转换到外部16兆赫晶体,以获得准确的UART保德速率。从USB断开连接,反之亦然。
谢谢
嗨,巴维克,
谢谢你的评论。这个问题已经和新产品导入团队讨论过了,Cytech的人会直接联系你。
谢谢,下午好
谢谢你的快速回复。
有人能尽快联系我们,因为我们的设备已经在生产中,需要澄清。
谢谢