当前位置:首页 > 智能硬件 > 智能硬件
[导读]摘要:以FTDI公司的FT232BL芯片为核心设计并实现了基于USB接口的计算机与单片机之间的虚拟串口通讯。单片机采用Philips公司P89系列单片机,完成数据的存储。计算机在Windows环境下利用MSComm通讯控件实现上位机与下位

摘要:以FTDI公司的FT232BL芯片为核心设计并实现了基于USB接口的计算机与单片机之间的虚拟串口通讯。单片机采用Philips公司P89系列单片机,完成数据的存储。计算机在Windows环境下利用MSComm通讯控件实现上位机与下位机之间的数据传输。在此提出了PC机对虚拟串口的自动识别方法,并提供了程序的源代码。实验结果表明,用虚拟串口实现计算机与单片机之间的USB通信,具有速度快,软件实现简单等优点。
关键词:VB6.0;USB口;FT232BL;虚拟串口

0 引言
    数据传输是现代通讯过程中的一个重要环节,在数据传输过程中,不仅要求数据传输的准确率要高,而且要求速度快、连接方便。传统的RS 232串口通讯和并口通讯都存在传输速度低、扩展性差、安装麻烦等缺点,而基于USB接口的数据传输系统能够较好地解决这些问题。目前,USB接口以其传输速率高、即插即用、支持热插拔等优点,逐步成为PC机的标准接口。
    本文中的数据传输系统采用了USB接口进行上位机与下位机之间的数据通讯。下位机采用Philips公司P89系列单片机,完成数据的存储。上位机通过VB6.0编程,实现上位机与下位机之间的数据传输。

1 数据传输系统的总体设计
    系统的硬件部分主要包括2部分:上位机端和下位机端。上位机采用PC机或笔记本电脑,操作系统为Windows XP,实现上位机和下位机之间的数据传输、显示、处理、存储及查询功能。系统的下位机采用philips公司P89系列单片机,完成数据的存储。下位机为一个手持的数据存储仪,由USB转串口数据转换模块、TTL转RS 422总线模块、中央处理模块、显示模块、存储模块、电源模块等组成。上位机与下位机的连接利用PC机自带的USB接口,原理框图如图1所示。


    把数据记录卡插入数据存储仪内,可把卡内数据转存到存储模块。数据存储仪通过USB口与PC机连接,把所存数据传输到上位机,上位机对数据进行显示、处理及存储。
    系统采用FTDI公司的FT232BL芯片作为USB转串口模块,可以和单片机的内置串口直接连接,使单片机通过USB口和PC机通讯。芯片一方面可以接收从PC机发来的USB数据,并将其转换为串行I/O数据格式发送给单片机串口;另一方面可把单片机从串口发出的数据转换为USB的数据格式传回PC机。与其他USB接口芯片相比,用FT232BL芯片进行USB外设开发,只需熟悉单片机编程及简单的VC或VB编程,而无需考虑固件设计以及驱动程序的编写,从而能大大缩短USB外设产品的开发周期。

2 硬件电路设计
2.1 FT232BL芯片简介
    FT232BL内部结构如图2所示,主要由USB收发器、串行接口引擎(SIE)、USB协议引擎、通用异步收发(UART)先进先出(FIFO)控制器和通用异步收发(UART)转换器等构成。USB收发器提供USB1.1/2.0全速物理接口到USB总线;串行接口引擎主要用于完成USB数据的串/并双向转换,并按照USB2.0规范来完成USB数据流的位填充/位反填充,以及循环冗余校验码(CRC5/CRC16)的产生和检错;USB协议引擎管理来自USB设备控制端口的数据流;通用异步收发(UART)先进先出(FIFO)控制器处理收发通道缓冲与通用异步收发(UART)寄存器之间的数据传递。


    通用异步收发器(UART)实现与单片机(如P89V51RD2)的串行接口,通过TXD,RXD,GND3根数据线分别与单片机的RXD,TXD,GND相连,完成与单片机的数据交换。FT232BL内含2个数据缓冲区,一个是128 B的发送缓冲区,另一个是384 B的接收缓冲区。它们均用于USB数据与串行I/O数据的交换缓冲区。
    另外,FT232BL还包括1个内置的3.3 V稳压器,1个6 MHz的振荡器、8倍频的时钟倍频器、USB锁相环和电擦除只读存储器接口。
2.2 FT232BL电路设计
    根据USB设计规范,USB设备有总线供电和自供电2种方式。考虑到USB通讯功能仅在连接PC机时使用,所以,FT232BL芯片由USB总线供电,电路其他部分通过双触点开关的一个常开触点连到USB总线电源正极上。典型硬件电路如图3所示。采用上电复位方式,通过输出可使单片机复位。时钟电路采用1个6 MHz无源晶振及2个27 pF的陶瓷电容组成。PWREN脚与单片机的P1.7相连,用于判断USB总线是处于挂起状态还是正常状态。在USB接口的电源端接一个磁珠,用以减少主机与设备的干扰;电源端增加了去耦电容和旁路电容,以提高电路的抗干扰性。在印刷电路板的设计中,2根串行数据线的走线应可能短,并且长度相等。图3中的93C46(93C56或93C66)是一片电擦除只读存储器(E2PROM),用于存储产品的VID,PID,设备序列号及一些说明性文字等。这需要用户自己编写,编写的应用程序由FTDI公司提供。用户只需运行相应的VB程序,写入相应的信息即可。该电擦除只读存储器(E2PROM)是可选的。若没有电擦除只读存储器(E2PROM),FT232BL将使用默认的VID,PID(进程标识符),产品描述符和电源描述符,并且没有设备的序列号。



3 上位机的软件设计与编程
3.1 虚拟串口驱动程序安装
    当下位机连接到上位机的USB接口时,上位机会检测到新硬件,这时需要安装一个从FTDI公司网站上免费下载的虚拟串口(VCP)驱动程序。该驱动程序适用于Windows 98/2000/ME/XP等不同操作系统。用户可以在这虚拟串口上进行应用程序的开发。该虚拟串口可以像一个标准的物理串口那样被访问,可本质上所有针对虚拟串口的数据通信都是通过USB总线完成的。
3.2 上位机的软件编程
    上位机软件采用VB 6.0提供的串口通讯MSComm控件进行应用程序的编写。MSComm控件提供了功能完善的串口数据的发送和接收功能,它有2种处理通信的方式:一种是事件驱动方式,当串口发生事件或错误时,MSComm控件会产生OnComm事件,程序可以捕获该事件进行响应处理;另一种是查询方式,在程序中查询MSComm控件的CommEvent属性的值是否发生变化,从而确定响应处理。
3.2.1 虚拟串口的自动识别
    一般来说,上位机操作系统为FT232BL芯片分配的虚拟COM端口是不确定的,下位机连接到同一上位机的不同USB口,其虚拟COM端口号不同,下位机连接到不同的上位机,虚拟COM端口号更是无法确定。为了让上位机能够自动识别下位机连接的虚拟COM口,程序中采用了循环访问各COM口的方式,如果该COM口是存在的则按照通讯协议向该端口发送“3CH”,如果该COM口不存在,则跳过,判断下一个COM口。如果收到下位机回送的“3CH”,则说明通讯检测成功。
    程序代码如下:
   

   

4 系统运行结果
    上位机可以从下位机中读取最多31组数据(数据组数由下位机存储器容量决定),每组数据8 KB,用户可根据需要自行选择查看各组数据。图4是数据传输系统实际运行的结果。



5 结语
    该系统通过调试,已成功应用到项目中,运行稳定、可靠,满足了设计需求和功能,对开发类似的系统具有很好的参考价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭