串口(Uart)是嵌入式中非常常用的一种接口,然而现在的电脑都没有硬件串口。一般都是通过USB转串口或PCIE等总线扩展的方式扩展出串口。USB转串口是非常常用的一种。常用的USB转串口芯片有CH340/341、CP2102、PL2302等。
但是这些芯片都是USB转单串口,如果需要多个串口,就需要占用多个USB口,比较麻烦。今天来介绍一下单USB口转多个串口的方案。
1.专用芯片
南京沁恒作为做USB相关芯片起家的公司,有不少USB转串口的芯片,也包括USB转多个串口的芯片,比如CH342是一款USB转双串口的芯片:
CH9344是一款USB转4串口的芯片:
还有USB转8串口的芯片,CH348:
这种方案用起来很简单,只需一个芯片就能实现。
2.USB HUB
USB HUB的功能是将一个USB口扩展为多个USB口,这样,使用多个USB转串口芯片时,就不用担心USB口不够用了。常用的USB HUB芯片有GL850G、FE1.1S等,可以实现USB一分四,配合CH340等芯片,就能实现单USB转多串口。
USB HUB芯片可以级联使用,实现多个USB口的扩展,需要注意的是这些USB口都共用一个口的带宽,但对于串口这种数据量不大的应用,没什么问题。
3.软件实现
我们知道,很多单片机具有USB接口,可以实现USB虚拟串口的功能。一般情况下,都是虚拟一个串口来使用。参考《STM32实现USB转串口功能(含源码)》。以STM32F072为例,该单片机的USB口支持8个输出和8个输入端点。通过USB设备描述符、输入输出端点等的配置,可以实现USB虚拟多个串口。
这种方式只需一个单片机,通过软件实现,使用比较灵活,软件还可以实现其它功能。缺点是实现起来稍复杂些。
编辑:黄飞
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)