vb6.0环境下基于usb的虚拟串口通讯实现资料

上传人:w****i 文档编号:102986597 上传时间:2019-10-05 格式:DOC 页数:7 大小:41.50KB
返回 下载 相关 举报
vb6.0环境下基于usb的虚拟串口通讯实现资料_第1页
第1页 / 共7页
vb6.0环境下基于usb的虚拟串口通讯实现资料_第2页
第2页 / 共7页
vb6.0环境下基于usb的虚拟串口通讯实现资料_第3页
第3页 / 共7页
vb6.0环境下基于usb的虚拟串口通讯实现资料_第4页
第4页 / 共7页
vb6.0环境下基于usb的虚拟串口通讯实现资料_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《vb6.0环境下基于usb的虚拟串口通讯实现资料》由会员分享,可在线阅读,更多相关《vb6.0环境下基于usb的虚拟串口通讯实现资料(7页珍藏版)》请在金锄头文库上搜索。

1、 VB6.0环境下基于USB的虚拟串口通讯实现摘要:以ftdi公司的ft232bl芯片为核心设计并实现了基于usb接口的计算机与单片机之间的虚拟串口通讯。单片机采用philips公司p89系列单片机,完成数据的存储。计算机在windows环境下利用mscomm通讯控件实现上位机与下位机之间的数据传输。在此提出了pc机对虚拟串口的自动识别方法,并提供了程序的源代码。实验结果表明,用虚拟串口实现计算机与单片机之间的usb通信,具有速度快,软件实现简单等优点。关键词:vb6.0; usb口; ft232bl; 虚拟串口引言数据传输是现代通讯过程中的一个重要环节,在数据传输过程中,不仅要求数据传输的准

2、确率要高,而且要求速度快、连接方便。传统的rs 232串口通讯和并口通讯都存在传输速度低、扩展性差、安装麻烦等缺点,而基于usb接口的数据传输系统能够较好地解决这些问题。目前,usb接口以其传输速率高、即插即用、支持热插拔等优点,逐步成为pc机的标准接口。本文中的数据传输系统采用了usb接口进行上位机与下位机之间的数据通讯。下位机采用philips 公司p89系列单片机,完成数据的存储。上位机通过vb6.0编程,实现上位机与下位机之间的数据传输。1数据传输系统的总体设计系统的硬件部分主要包括2部分:上位机端和下位机端。上位机采用pc机或笔记本电脑,操作系统为windows xp,实现上位机和下

3、位机之间的数据传输、显示、处理、存储及查询功能。系统的下位机采用philips公司p89系列单片机,完成数据的存储。下位机为一个手持的数据存储仪,由usb转串口数据转换模块、ttl转rs 422总线模块、中央处理模块、显示模块、存储模块、电源模块等组成。上位机与下位机的连接利用pc机自带的usb接口,原理框图如图1所示。图1数据传输系统原理框图把数据记录卡插入数据存储仪内,可把卡内数据转存到存储模块。数据存储仪通过usb口与pc机连接,把所存数据传输到上位机,上位机对数据进行显示、处理及存储。系统采用ftdi公司的ft232bl芯片作为usb转串口模块,可以和单片机的内置串口直接连接,使单片机

4、通过usb口和pc机通讯。芯片一方面可以接收从pc机发来的usb数据,并将其转换为串行i/o数据格式发送给单片机串口;另一方面可把单片机从串口发出的数据转换为usb的数据格式传回pc机。与其他usb接口芯片相比,用ft232bl芯片进行usb外设开发,只需熟悉单片机编程及简单的vc或vb 编程,而无需考虑固件设计以及驱动程序的编写,从而能大大缩短usb外设产品的开发周期。2硬件电路设计2.1ft232bl芯片简介ft232bl内部结构如图2所示,主要由usb收发器、串行接口引擎(sie)、usb协议引擎、通用异步收发(uart)先进先出(fifo)控制器和通用异步收发(uart)转换器等构成。

5、usb收发器提供usb1.1/2.0全速物理接口到usb总线;串行接口引擎主要用于完成usb数据的串/并双向转换,并按照usb2.0规范来完成usb数据流的位填充/位反填充,以及循环冗余校验码(crc5/crc16)的产生和检错;usb协议引擎管理来自usb设备控制端口的数据流;通用异步收发(uart)先进先出(fifo)控制器处理收发通道缓冲与通用异步收发(uart)寄存器之间的数据传递。图2ft232bl内部结构框图 通用异步收发器(uart)实现与单片机(如p89v51rd2)的串行接口,通过txd,rxd,gnd3根数据线分别与单片机的rxd,txd,gnd相连,完成与单片机的数据交换

6、。ft232bl内含2个数据缓冲区,一个是128 b的发送缓冲区,另一个是384 b的接收缓冲区。它们均用于usb数据与串行i/o数据的交换缓冲区。另外,ft232bl还包括1 个内置的3.3 v稳压器,1个6 mhz的振荡器、8倍频的时钟倍频器、usb锁相环和电擦除只读存储器接口。2.2ft232bl电路设计根据usb设计规范,usb设备有总线供电和自供电2种方式。考虑到usb通讯功能仅在连接pc机时使用,所以,ft232bl芯片由usb总线供电,电路其他部分通过双触点开关的一个常开触点连到usb总线电源正极上。典型硬件电路如图3所示。采用上电复位方式,通过输出可使单片机复位。时钟电路采用1

7、个6 mhz无源晶振及2个27 pf的陶瓷电容组成。pwren脚与单片机的p1.7相连,用于判断usb总线是处于挂起状态还是正常状态。在usb接口的电源端接一个磁珠,用以减少主机与设备的干扰;电源端增加了去耦电容和旁路电容,以提高电路的抗干扰性。在印刷电路板的设计中,2根串行数据线的走线应可能短,并且长度相等。图3中的93c46(93c56或93c66)是一片电擦除只读存储器(e2prom),用于存储产品的vid,pid,设备序列号及一些说明性文字等。这需要用户自己编写,编写的应用程序由ftdi公司提供。用户只需运行相应的vb程序,写入相应的信息即可。该电擦除只读存储器(e2prom)是可选的

8、。若没有电擦除只读存储器(e2prom),ft232bl将使用默认的vid,pid(进程标识符),产品描述符和电源描述符,并且没有设备的序列号。3上位机的软件设计与编程3.1虚拟串口驱动程序安装当下位机连接到上位机的usb接口时,上位机会检测到新硬件,这时需要安装一个从ftdi公司网站上免费下载的虚拟串口(vcp)驱动程序。该驱动程序适用于windows 98/2000/me/xp等不同操作系统。用户可以在这虚拟串口上进行应用程序的开发。该虚拟串口可以像一个标准的物理串口那样被访问,可本质上所有针对虚拟串口的数据通信都是通过usb总线完成的。3.2上位机的软件编程上位机软件采用vb 6.0提供

9、的串口通讯mscomm控件进行应用程序的编写。mscomm控件提供了功能完善的串口数据的发送和接收功能,它有2种处理通信的方式:一种是事件驱动方式,当串口发生事件或错误时,mscomm控件会产生oncomm事件,程序可以捕获该事件进行响应处理;另一种是查询方式,在程序中查询mscomm控件的commevent属性的值是否发生变化,从而确定响应处理。3.2.1虚拟串口的自动识别一般来说,上位机操作系统为ft232bl芯片分配的虚拟com端口是不确定的,下位机连接到同一上位机的不同usb口,其虚拟com端口号不同,下位机连接到不同的上位机,虚拟com端口号更是无法确定。为了让上位机能够自动识别下位

10、机连接的虚拟com口,程序中采用了循环访问各com口的方式,如果该com口是存在的则按照通讯协议向该端口发送“3ch”,如果该com口不存在,则跳过,判断下一个com口。如果收到下位机回送的“3ch”,则说明通讯检测成功。4系统运行结果上位机可以从下位机中读取最多31组数据(数据组数由下位机存储器容量决定),每组数据8 kb,用户可根据需要自行选择查看各组数据。图4是数据传输系统实际运行的结果。图4运行结果5结语该系统通过调试,已成功应用到项目中,运行稳定、可靠,满足了设计需求和功能,对开发类似的系统具有很好的参考价值。参考文献1李长林.visual basic 串口通信技术与典型实例m.北京

11、:清华大学出版社,2006.2杨思俊.基于vb6.0的太阳能发电基站电源的上位机软件设计j.科技广场,2011(1):133135.3马兴,童卓,周丽娟.基于vb的pc机与单片机间串口通讯及程序设计j.兵工自动化,2010(10):9496.4程来星,胡明钦,张英波.基于vb的计算机串口通信的应用研究j.无锡职业技术学院学报,2011(2):5861.5夏中权.usb虚拟串口的通信j.电脑编程技巧与维护,2008(10):7679.6杨杨,潘洪跃.基于虚拟串口的数据采集系统的设计与实现j.大众科技,2008(4):7375.7徐锋.基于ft245bm的快速usb接口设计j.电子工程师,2007(3):5961.8林水明,章坚武,骆懿.基于ft245bm的简易usb接口开发j.单片机与嵌入式系统应用,2003(1):3840.9陈三凤,刘晓波.基于vb6.0与单片机串行通信的数据采集系统设计j.计算机应用,2004(1):6668.10王永磊,何强,韩壮志.基于usb的pda与dsp的虚拟串口通讯实现j.仪表技术,2009(6):3638.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号