测试SOP16封装的AI8H2K12U
AD\Test\2024\October\TestAI8H2K12U_SOP16.PcbDoc
01 Ai8H2K12U单片机
一、前言
昨天测试了 SOP8 封装的AI8H2K12U 单片机, 下面对于 SOP16封装的单片机的功能进行测试。 这种封装的单片机, 可以产生两个虚拟串口。
二、电路设计
设计测试电路, 使用 SOP16封装的 8H12单片机, 简简单单的配上一个 TypeC 的USB接口。 原本用于控制电源开关的P3.5管脚外部连接一个LED作为指示。 下面, 铺设单面测试电路板。 这样方便使用一分钟制板方法制作测试电路。
▲ 图1.2.1 测试电路原理图
▲ 图1.2.2 测试PCB电路
一分钟之后得到测试电路板。 将前面实验板上的大部分元器件拆卸下来, 焊接在新的电路板上。 进行清洗之后准备后面的测试。
接下来, 将电路板接入USB插头。 可以看到计算机设备管理器中出现了两个虚拟串口, 分别为COM17, COM18。 下面将端口号修改为 COM7, COM8. 重新上电。 下面测试这两个串口输出信号。
三、串口测试
使用示波器观察串口输出信号。 通过Python编程, 在串口持续发送 0X55。 可以观察到输出数据波形。 在发送数据空闲期间, 输出管脚呈现高阻状态。 拉开波形, 信号波形与数据是相符合的。 这是其中一个串口的数据波形。 下面测试第二个虚拟串口。
▲ 图1.3.1 串口输出数据波形
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2024-11-01
#
# Note:
#============================================================
from headm import *
import serial
from _ast import Or
from serial.serialutil import SerialException
#------------------------------------------------------------
SCOM = serial.Serial()
SCOM.baudrate = 115200
SCOM.timeout = 0.05
try:
SCOM.port = 'COM8'
except:
printf('Set SCOM port COM8 error. ')
try:
SCOM.open()
except serial.serialutil.SerialException:
printf('Open SCOM port COM7 error.')
else:
printf('Open SCOM port COM7 Ok.')
#------------------------------------------------------------
printf("Begin __test__\a")
while True:
SCOM.write(b'U')
time.sleep(.1)
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
将鹅颈探针移动到第二个串口输出。 使用手触碰探头, 可以看到在高阻状态, 信号上会叠加有 50Hz 的工频干扰信号。 至此, 对两个串口的功能进行了验证。
四、下载程序
利用 STC单片机的ISP软件, 可以对 单片机的串口模式进行修改。 点击检测芯片功能, 可以看到 LED 闪烁, 说明它可以控制下载单片机的电源的通断。 此外, 还可以应用到 ISP 中的编程菜单命令, 修改单片机的输出端口的模式, 比如从原来的漏极输出修改成推挽输出。
※ 总 结 ※
本文对于 SOP16封装的 AI8H2K12U单片机的USB转串口的功能进行测试。 这个芯片自带的缺省固件, 使得这个芯片能够产生两个 USB 虚拟串口。
■ 相关文献链接:
● 相关图表链接: