数码之家

 找回密码
 立即注册
搜索
查看: 1275|回复: 8

[C51] CH552(CH549)USB下载之单按键进入电路试验,请各位大佬提出修改意见

[复制链接]
发表于 2024-12-25 10:21:27 | 显示全部楼层 |阅读模式
本帖最后由 lmn2005 于 2024-12-25 11:44 编辑

CH552或CH549进入USB下载,通常需要两个按键,一个控制电源的通断,一个通过串联电阻(一头接VCC或V33)冷启动时抬高UDP电平。时序上是这样的:断电--按下接UDP的轻触开关--通电--松开接UDP的轻触开关。这样操作上一般需要双手并用,比较麻烦。
本人设计的电路是想通过纯硬件实现上述的时序,因个人业余水平有限,只能班门弄斧,所以测试效果仍然不甚满意敬请各位专家提出修改意见,谢谢!
目前经过多台电脑测试,经常会出现“无法识别的USB设备”而无法顺利进入USB下载模式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2024-12-25 10:32:09 | 显示全部楼层
谢谢分享,不懂
回复 支持 反对

使用道具 举报

发表于 2024-12-27 11:14:41 | 显示全部楼层
本帖最后由 fireflying 于 2024-12-27 15:07 编辑

我对CH552不太了解,仅仅从你首贴的文字推测一下它的下载逻辑:
首先把UDP电压拉高,UDP电压拉高后,延迟一小会儿给CH522的Vcc供电并保持,再把UDP的电平降低。

你这个电路并没有实现这个功能,你这电路SW1闭合,由于C7上面没有电压,此时Q4截止,因此Q5也截止,UDP没有拉高,然后要等C7充电到Q4导通之后,Q5才导通,并且Q5导通之后就一直导通了,也就是说UDP延迟拉高之后一直保持高电平。
还有,你这Q2没看懂,SW1闭合之后,按照R12和R13的数值,电源电压以5V计算,Q2栅极电压是0.4V,这个有达到Q2的开启电压么?


这是我根据推测的时序逻辑,设计的电路。SW1闭合,C2充电给Q2提供栅极电压,Q2立即导通,将UDP电平拉高,然后随着C2充电结束,Q2栅极电压不足以维持它导通,于是Q2截止。另一路Q1在SW1闭合瞬间,由于栅极电容C1没有充上电,所以栅极没有偏置电压,暂时截止,随着C1充电,电压达到Q1导通电压的时候,Q1导通并维持。设计和调试的时候,要让C2的充电时间稍稍大于C1的充电时间,这样就能达到如下目标:SW1闭合,UDP电平立即拉高,稍后芯片Vcc加电并维持。UDP拉高后持续大约0.5秒,之后UDP电平变低,而芯片Vcc持续供电。
R1和R4是两个电容器的放电通道,使得SW1断开之后,电容上的电荷能够释放,为下一次工作做好准备。
这个电路我并没有实际搭建调试,电路的关键点就在于两个RC电路的时间常数,要保证C2充电的时间略长于C1的充电时间。还有R4的数值要保证它跟R3的分压关系满足稳态的时候R3上的电压小于Q2的导通电压。

另外,R1和R5是为了在MOS管截止的时候,拉低相应点的电位,免得因为MOS管轻微的漏电导致相应点的电位不在预期值,数值是根据经验大致选取的,实际调试的时候,应该尽量选大一些的阻值,尤其是R5,避免因为它的分流作用影响USB接口的正常通讯。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2024-12-27 16:35:20 | 显示全部楼层
有用示波器查看过时序么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-27 20:22:50 | 显示全部楼层
本帖最后由 lmn2005 于 2024-12-27 20:55 编辑
fireflying 发表于 2024-12-27 11:14
我对CH552不太了解,仅仅从你首贴的文字推测一下它的下载逻辑:
首先把UDP电压拉高,UDP电压拉高后,延迟一 ...

我的思路是这样的,正常工作时Q2导通并为MCU提供供电电源。
需要烧录的时候,按一下SW1,Q2阻断,MCU失电(为冷启动做准备),同时C7充满电,Q4 Q5导通并为UDP提供电压(触发MCU进入USB烧录模式)。
此时松开SW1,Q2导通,MCU得电而冷启动,因为此时UDP获取外部电压而进入USB烧录模式,随着C7放电,Q4 Q5阻断,MCU又进入正常工作状态。
回复 支持 反对

使用道具 举报

发表于 2024-12-27 22:25:36 | 显示全部楼层
lmn2005 发表于 2024-12-27 20:22
我的思路是这样的,正常工作时Q2导通并为MCU提供供电电源。
需要烧录的时候,按一下SW1,Q2阻断,MCU失电 ...

看你这个电路,根据你的操作顺序,松开SW1之后,你希望Q2能立即导通,实际上由于Q2的栅极通过R13和R18跟C7热端相连,而上一个状态C7是充满电的,此时相当于Q2栅极通过R13跟R18接到Vcc电压上了,Q2无法立即导通,它要等C7放电到电压足够低才导通,而C7放电到电压足够低的时候,Q5也已经截止了,也就是说,你没有做到在CH552的供电引脚加电稳定之前,维持UDP的电压拉高,持续一段时间之后再拉低。所以你这个电路的时序不对。
我认为这是最重要的一个电路设计Bug。

我理解的时序,是:
1、UDP先拉高并暂时维持;
2、然后CH552的Vcc加电并维持;
3、Vcc加电完成之后稍稍延迟,UDP再拉低。

你这个电路,显然是在CH552的Vcc加电之前就已经(或者同时)拉低了。

建议你试试我设计的电路,既然你这个电路只是在烧录的时候用,你就可以在需要烧录的时候,用我的电路连接芯片,闭合一次SW1就完事,都不用操作两遍SW1。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-30 08:18:46 | 显示全部楼层
fireflying 发表于 2024-12-27 22:25
看你这个电路,根据你的操作顺序,松开SW1之后,你希望Q2能立即导通,实际上由于Q2的栅极通过R13和R18跟C ...

好的,有空搭个电路试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-30 08:35:32 | 显示全部楼层
fireflying 发表于 2024-12-27 22:25
看你这个电路,根据你的操作顺序,松开SW1之后,你希望Q2能立即导通,实际上由于Q2的栅极通过R13和R18跟C ...

你的电路用的是拨动开关,我的电路用的是轻触开关。
回复 支持 反对

使用道具 举报

发表于 2024-12-30 11:12:58 | 显示全部楼层
lmn2005 发表于 2024-12-30 08:35
你的电路用的是拨动开关,我的电路用的是轻触开关。

按键自锁开关也行啊,譬如最常见的8×8mm的按键自锁开关,某宝两毛钱一个。
你用轻触开关还得操作两次,用按键自锁开关只需要操作一次。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-9 04:54 , Processed in 0.249600 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表