STC8H8K64U 的 USB 功能测试(续)
2022-06-08 来源:eefocus
对 STC8H8K64U 的USB测试昨天没搞定, 判断可能是供电的问题, 直接用5V不行, 从USB2TTL上采电3.3V时存在一个问题, 就是 D-/D+ 在上电前就已经连接了, 不符合 USB 的正常上电流程, 在 MCU 开始工作前接入 D-/D+, 可能会造成host的请求无法响应.
今天用AMS1117做了一个转接板, 把USB的5V转为3.3V给MCU供电. 现在连上USB接口就能正常识别了.
转接板
一边是 MicroUSB 口, 加 AMS1117 3.3V, 在 VCC In 上是 2.5uF + 10nF, VCC Out 上是 2.5uF + 100nF, 空载时测试电压是 5.1V 和 3.27V
接线
转接板 STC8H8K64U
3.3V -> VCC
D- -> P3.0
D+ -> P3.1
GND -> GND
代码
测试代码下载地址 http://www.stcmcudata.com/STC8F-DATASHEET/STC8H8K64U-DEMO-CODE.ZIP , 使用其中的'39-通过USB发送命令读取ADC测试程序', 这个目录下还有一个上位机测试软件 STC USB-HID Demo.exe
测试
2022-02-07 更新: 为避免之前的错误误导, 直接替换为正确的操作
正常编译烧录后, 按上面的接线, 连上PC. 连线时VCC和GND与转接板直接连线, 长度要一致, 且不能太长, 控制在20cm以内. 之前出现的问题, 是因为转接板3.3V输出先通过20cm线接了一个排针, 再分别通过20cm线接MCU的VCC和P3.2
上电后, 如果P3.2悬空, STC8H8K64U 的USB状态是不确定的, 有可能进入 ISP 模式, 也可能进入正常模式(运行用户代码)
是否进入ISP模式与是否打开了 STC-ISP 没有关系, 开不开 STC-ISP, 都可能进入 ISP 模式.
因为转接卡有电容, 能保持几秒到十几秒的电量
如果当前是ISP模式, 断开再接入, 不管快速还是慢速, 都很可能还保持在ISP模式
如果当前是正常模式, 断开再接入也大概率保持正常模式
如果P3.2通过200R电阻接地, 会进入 ISP 模式
如果P3.2通过3KR电阻接VCC, 会进入正常模式
ISP模式
ISP模式和正常模式在设备管理器看到的设备是一样的, 要在属性里查看 VIP PID来判断. ISP模式下对应的是 34BF,1001
设备管理器
STC-ISP, 在这个模式下, 如果打开 STC-ISP, 就能看到对应的设备
正常模式
MCU正常模式下执行的是烧录的用户代码, 这个测试中因为烧录了HID演示代码, 会识别到新的HID设备.
设备管理器
Bus Hound
上位机测试
Bus Hound 捕获的通信
结束
以上检测了 STC8H8K64U 上的 USB 基础功能, 后续可能会继续做一些测试. 连线上存在的问题都已经解决并更新.
- 以STC8H8K64U单片机兼容STC89C52开发板的设计
- STC8H8K64U 的 USB 功能测试(未成功)
- STC8H开发(九): STC8H8K64U模拟USB HID外设
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 【GD32F470紫藤派开发板使用手册】第十三讲 USB_虚拟键盘实验
- 英飞凌推出业界首款20 Gbps通用USB外设控制器
- 基于ok6410的韦东山驱动视频简要分析--USB驱动
- 集Hi-Fi、智能和USB多通道等特征于一体的微控制器
- Linux 下PL2302 USB转串口的使用
- 集Hi-Fi、智能和USB多通道等特征于一体的微控制器——迎接数字音频新时代