usb与串行端口硬件及通讯转换相关总结

      现今的电脑,尤其笔记本,串口(不是串口硬盘的串口!rs232串行通讯的串口。)已经不再提供,取而代之的是广泛使用的usb口,无论插u盘,手机通讯线,还是其他的什么,好像usb已经全部包揽了,如果再有串口的设备,可能要麻烦得很。

      最近刚拿到一个usb口的设备,插上之后发现提示串口相关设备驱动安装中,找了一下光盘,的确有个usb驱动要安装,安装后,发现设备管理器中添加了一个这个设备的usb驱动,在串行设备中增加了一个设备,占用的是com4。再看看开发例程,才明白,这个东西是要通过串口与设备交互信息,发布指令的。

      有点迷糊,不知所措,开始相关技术分析的过程,从网上找到很多资料和相关介绍,有点明白,ps一张拓朴图来看看(画了一张很丑陋,有时间用visio画个补上吧。),可能更明白了,厂家这样做,可能也是因为现今电脑的串口真的很少了,而usb的通讯编程又不是那么普及,为了简化开发,串口通讯还是首当其选,将串口资源当文件读写就可以满足通讯需要,即简单又方便。(不过串口通讯的确有些时侯不能让人很满意,就象以前搞过的短信猫一样,发快了,它就成死猫了,只能选带看门狗的设备,自动复位,才能继续通讯。我经常是拨电,再插上,重新来过,不过这要放到机房里,那一天不知要跑多少趟,看机房的大爷可就不那么高兴咯!)

      大概原理是这样的:

      串行设备(9针或25针接口)---> 串口转usb芯片 ---> 虚拟串口的usb芯片驱动,拓仆图也大概是这样的结构。虚拟出的串口在被读写时,由虚拟串口的驱动即usb芯片驱动将串口数据转换成usb通讯数据,发送给usb芯片,usb芯片再将数据转换成串口数据发送到串口用到的六个引脚,完成虚拟串口与实际串口线间的usb数据中转,如果不看内部结构,可以认为虚拟串口是直接与转换芯片的串口端是直连的,与早期的连接方式和处理方式无异。

 

      后续更新一下cp201x官网针对各平台的驱动下载,在window7for32bit驱动成功,并且测试工作正常。mac下正在测试。

      另外,sun提供的串口扩展类,在windows下检测不到串口,不知何因,利用rxtx开发包,在windows下检测和通讯均正常,尚不清楚设备的通讯命令是什么,与开发范例得到结果不同,有可能是加密了。

      待开发完成,一并将此过程进一步完善,并将相关资源提供下载方式。

你可能感兴趣的:(总结)