8H8K64U单片机无法启动
AD\Test\2025\May\Test8H8K64U.SchDoc
01 电源开关
一、电路开关
现在需要设计一个可以一键启动单片机电源的方案。 然后在按动按键, 单片机自动掉电。 下面使用手边的一块单片机测试一下这个方案。 排除初步设计中存在的BUG, 为后面成品电路设计打下基础。
二、电路设计
设计测试电路。 单片机为 8H8K64U。 它可以通过USB下载软件。 使用一个 PMOS 三极管 控制5V电源接入电路。 当PMOS的栅极为低电平的时候, MOS管导通。 这个低电平可以通过外部的开关来设置。 当单片机上电之后, 它的端口通过二极管 D1 将栅极维持低电平。 此时, 栅极 的电压大约为 0.6V。 这个电压可以通过单片机ADC端口测量到, 可以区分外部开关是否将栅极接到地线。 如果开关第二次将栅极接地。 单片机端口置为高阻状态。 当开关断开之后, 单片机断电。 这是电路的工作原理。 设计单面PCB, 一分钟之后, 得到测试电路板。 电路板制作的非常完美。 下面进行焊接测试。
焊接电路板, 通过USB将测试程序下载之后, 单片机开始运行。 下面说明一下建立基于 USB 调试框架的过程。 选择AI8H8K64U单片机, 在目标工程设置中, 选择内存模式为 XDATA, 使用片上的 RAM。 使用 L51连接命令, 这个很重要, 否则网站下载的 USB库无法使用。 选择输出 HEX 文件, 设置忽略编译警告。
三、软件测试
通过软件, 设置P1.4端口为输出端口, 周期改变它的电压。 测量二极管D1上面的电压波形, 这个电压控制PMOS管导通和截止。 可以看到, 输出电压波形为方波波形。 由于存在D1, 所以低电平大约为0.5V左右。
四、电路修改
调试到现在, 出现了一个问题, 在单片机没有上电之前, 对应的ADC端口 以及 P1.4端口都使得PMOS的栅极下降, 使得PMOS导通。 现在通过一个三极管将PMOS 与单片机隔离。 三极管控制PMOS导通。 当外部开关给三极管提供高电平的时候, PMOS导通。 单片机输出高电平维持三极管导通。 在R2输入端的电压, 可以区分外部开关提供的高电平和单片机输出的高电平。 进而可以通过软件将开关关闭。
※ 奇怪问题 ※
不过, 上述的解决方案很快有了另外的替代方案。 后面再进行叙述。 现在遇到的问题, 那就是 8H8K64U这款单片机, 不知道为什么, 下来了程序, 重新上电之后, 单片机无法自行运行。 换句话说, 它上电之后自动进入 USB下载程序模式, 根本没有运行用户程序, 这就非常奇怪了。 关于这个问题后面需要进一步进行排除。