
二选一的四路HUB
简介
因为电脑只有俩个USB-A口,接上键盘和鼠标之后,下载调试单片机就不够用了,每次都要把键鼠拔掉,所以刚好打算做一个USB-HUB,顺便加了一个双机位切换功能
简介:因为电脑只有俩个USB-A口,接上键盘和鼠标之后,下载调试单片机就不够用了,每次都要把键鼠拔掉,所以刚好打算做一个USB-HUB,顺便加了一个双机位切换功能开源协议
:Public Domain
描述
项目功能
* 1个Type-C --> 4个USB-A
* 检测每一路输出的电流
* 检测输出的总电压
* 可以在两台设备之间快速切换
项目设计
# 硬件
HUB
采用CH334,它是符合 USB2.0 协议规范的 4端口 USB HUB 控制器芯片,上行端口支持USB2.0 高速和全速,下行端口支持 USB2.0 高速 480Mbps、全速 12Mbps 和低速 1.5Mbps。不但支持低成本的 STT 模式(单人T分时调度 4 个下行端口),还支持高性能的MTT 模式 (4T各对应1端口,并发处理)。工业级设计,外围精简,可应用于计算机和工控机主板、外设、嵌入式系统等。
SWITCH
采用CH442E。它是额定 5V 电源电压的模拟开关芯片,高带宽,低导通电阻,可以支持 3.3V 或更低电源电压
MCU
采用了瑞萨的RA2E和STM32一样有类似,HAL库的图形化编程,其实并没有什么必要,有点点浪费,很多引脚都没有用到。
显示
采用一块OLED,用于显示输出的电流以及总电压,显示输入哪一组Type-C
enmmm,为什么第三个USB口电流显示的是900呢,因为焊接的时候钽电容装反了,BOOM的爆炸了,把那一路的INA199搞坏了,所以采集的ADC值就成固定的(有问题了)
触摸按键
按摩按键采用了MCU内部自带的触摸,用于切换输入信号
# 软件
采用Keil+RASC的方式生成,再加上一些驱动即可完成,属于是能跑就行的状态
设计图

BOM


评论