关于USB-Serial、USB转串口、USB-UART、PL2303、CH340等的理解

本人计算机专业一枚,大学开的课程没有单片机嵌入式方面的,进入公司后需要做这方面的工作,于是就海淘了大量的信息,问了一下自动化专业的朋友,根据自己对硬件的一知半解写下这篇博客作为自己日后的参考,也给大家,如果有什么不对的地方还请指出。


首先介绍一下两个东东,USB和RS232:

USB是通用串行总线接口,是四线的;串口,是九针的,也叫COM口,现在的主板上基本不作这个接口了,所以很多都是用USB口转成串口。其中,这里所说的串口其实就是我们通常意义上的rs232,这个大量用于工业上的线。


所以就出了USB-Serial线,也就是我们说的USB转串口线,要使用这种线是要在电脑上安装响应的驱动的,至于Android系统正在研究,驱动貌似在Linux内核上有的,但是部分Android系统封闭了这一功能,所以开发的过程中要考虑驱动的问题。再就是有一些硬件转换器代替了普通的usb-rs232的转接口线,驱动嵌入转换器中,实现免驱。但是大批量的情况下成本也不低,所以为公司利益考虑还是从软件的角度尽量去研究研究。


当然,串口是有很多种的,我们常说的就是rs232接口。串口连入Windows系统电脑中的显示方式就是COMx,Linux是ttys_x,这类信息有很多可以百度谷歌的。


usb-uart模块根据我的理解其实就是那根线的作用,即把串口的电位转换成usb认识的信息,不是研究这块的但是阅读的文章感觉是这么个意思。而且代码看上去和usb转串口的代码基本是一样的。


PL2303、CH340其实相信大家也都搜了,就是芯片。(还好上了汇编语言和编译原理的上机课,让我还能看懂芯片的那个引脚图。。。)上面说的所有的线啦,uart啦转换都是靠这类芯片的作用。驱动也是为了他们而装的。所以,一般来说,如果不同厂家但是芯片一样的话驱动也是可以通用的。PL2303的驱动就是所有用这种芯片的都可以,用CH340等其他芯片的就不识别了,所以这在开发上也是要注意的一个问题,因为公司可能觉得是一样的,只要把厂家自带驱动安装了就行了,但是对于android系统就有点不同了。


大体上就是这么个关系吧,很多时候我都感觉是一个东西只是换了个名字而已,不过没有深入地了解这个也没有阅读过专业的电路,希望能帮到像我一样软件方向初次接触一大堆陌生硬件词汇的童鞋。如果有什么不对的地方还请评论一下,让后来者别跟着我入坑叻,共同进步!

你可能感兴趣的:(关于USB-Serial、USB转串口、USB-UART、PL2303、CH340等的理解)