logo资料库

基于USB接口的51单片机与PC机通信的方法.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
2008年第11期(总第111期)大众科技DAZHONGKEJlNO.11。2008(CumulativelyNo.1”)基于USB接口的51单片机与PC机通信的方法史迩冬,李清栋,周雪莉(陕西理工学院,陕西汉中723000)【摘要】针对基于RS-232(DB-9)串口的单片机同PC机通信中的一些问题,文章介绍了一种简单可行的实现基于USB接口的单片机与PC机通信的方法,提供了基于USB接口的单片机同PC机的通信模块,编写了简单的串口测试程序。验证了电路的可行性。【关键词】USB接口;单片机;PC机【中图分类号】TP33【文献标识码】A【文章编号】1008—1151(2008)11—0055—02(一)串行通信介绍1.串行通信的概念串行通信分为异步和同步两种方式。在单片机中使用的串行通信都是异步方式。而异步通信采用的是异步传送格式,其字符格式如图1所示。数据发送和接收均将起始位和停止位作为开始和结束的标志。在异步通信中,起始位占用l位(低电平),用来表示字符开始。其后为7或8位的数据编码,第8位通常作为奇偶校验位。共有3种可能,即奇校验、偶校验和无校验,可根据需要选定。最后为停止位(高电平)用来表示字符传送结束。上述字符格式通常作为一个串行帧,若无奇偶校验位,即为常见的10位帧格式。图1串行通信帧格式示意图2.串行通信的优点与并行通信相比,串行通信有着明显的优势。(1)串行通信只需要一条通信信道,电路简单,成本低廉,容易实现。而并行通信信道较多,电路复杂。(2)虽然串行通信的信道只有一条,但是传输速率很快。由于并行通信的信道之间干扰较强,而且在产生数据错误后需要全部重发,而串行通信在数据出错的情况下只需重发出错位,因此串行通信的速度要快于并行通信。(3)串行通信支持数据的异步传输。并行通信对数据传输设备和接受设备的同步性要求很高,不利于计算机同外围设备的通信,因此计算机同外围设备的通信基本采用串行传输。因此,当今的计算机系统在与外围设备连接时,几乎全部采用串行通信协议。现在的计算机提供了各种各样的串口,他们支持不同的通信协议,有着不同的功能。目前计算机提供的串口有RS-232,RJ45,USB2.0等。3.Pc机同单片机通信存在的问题目前,5l单片机同Pc机的通信在大多数情况下仍然是使用RS一232(DB一9)串1:3作为通信接口实现的。而随着USB接口技术的成熟和使用的普及,由于USB接口大有着一系列RS一232(DB一9)串口无法比拟的优点,RS-232(DB-9)串口正在逐步的为USB接口所替代。而在现在的大多数笔记本电脑中,出于节省物理空间和用处不大等原因,RS-232(DB-9)串口已不再设置,这就约束了基于RS一232(DB-9)串口与Pc机联络的单片机设备的使用范围。4.USB接口同RS一232(DB._9)串口的比较通过USB接口和RS一232(DB一9)的比较,不难发现:(1)USB接口支持即插即用和热插拔,而RS-232(DB-9)串口不支持即插即用和热插拔,设备安装后需重启计算机方可使用。(2)USB接口的传输速率较快,可达4801Ifops(v2.0),而RS一232(册一9)串口的最高速率仅为19200波特。(3)USB接口占用体积较小,插拔方便;而RS-232(叩一9)串口的的插拔需要使用改锥,且在机箱后操作,比较麻烦。综上可知,USB接口取代RS一232(DB一9)串口的趋势不可逆转。(二)基于USB接口的51单片机和Pc机通信模块的设计1.设计思路使用USB—RS232转接芯片实现PC机同单片机物理层的连接,通过编写单片机指令实现数据帧格式的匹配。2.USB转接芯片的选择目前常用的USB转接芯片包括PL2303,CH341,cP2101,FT232等。在综合考虑了各方面因素后,CH341成为了本次电路设计的首选芯片。CH341是南京沁恒电子公司生产的USB总线的转接芯片,通过USB总线提供异步串口,打印口,并口及常用的2线和4线等同步串行端口。其特点有:(1)提供全速USB设备借口,兼容USB2.0,外围设备只需要晶体和电容;(2)可通过外部的低成本串行EPROM定义厂商ID,产品ID,序列号等;(3)成本低廉,可直接转换原串口外围设备:(4)采用SOP-28封装,串口应用还提供小型的SSOP一20封装。【收稿日期】2008-08-15【作者简介】史迩冬(1986一),男,陕西理工学院物理系在读生。.55.万方数据
正是由于在Pc机同单片机通信电路中,USB转接芯片CH341具有以上其他芯片无法比拟的优点,同时价格低廉并且提供中文技术支持,因此它成为了本电路USB转接芯片的最优选择。本电路采用的是SSOP一20封装的CH341T,其引脚图如图2所示。其中,芯片的驱动程序由南京沁恒电子公司提供。CH3●tT日CT●UCCROV●.reH●TXDTHOUR×DRDV●lHT●SCLV3SDQUD+HC.UO—VCC×IaHD×OaHOUART图2CH341T引脚图.3.硬件电路设计CH341T提供全速USB设备接口,兼容USB2.0,外围器件只需要电容和晶体,电路如图3所示。,图3USB通信模块电路图其中,电源电压为5V,USB接口的差分数据线对与CH341T的UD-和UD+直接相连。CH341T提供TTL电平,同AT89C51可直接采用简单的3线连接(默睁—rxDl:1xD■∞;侧D—∞)。在5V电源的情况下,V3口需要外接0.OluF的退耦电容。TEN#为串口发送数据使能端,低电平有效。CH341T必须使用12Mhz的晶振,否则无法正常工作。为保证单片机能够产生与计算机匹配的波特率,单片机采用11.0592讹z的晶振。4.硬件驱动程序安装通过登录南京沁恒电子公司网站http://册.winchiphead.com/download/index.htm可下载CH341T驱动程序CH341SER.EXE,在确认驱动程序和硬件电路无误后,打开驱动程序。弹出安装对话框后选择INSTALL,设备将自动安装驱动程序。安装完成后计算机将提示安装成功。将硬件电路通过USB接口连接至计算机,计算机自动识别并弹出新硬件安装对话框,选择自动安装,驱动程序即可成功安装至计算机。在计算机设备管理器中,可显示刚刚安装成功的USB串口。如图4所示。.56.图4安装完成后的设备管理器5.单片机指令的编写为实现单片机同Pc机的简单通信功能,需要通过汇编指令使单片机完成一定的工作来验证USB接口通信的畅通。若要使单片机串口能够同Pc机正常通信,单片机和USB接口需要使用相同的通信协议,在设备管理器中,可设置审口破特率为9600。而在单片机中,通过软件设置串口波特率为9600,工作方式为方式一,每接收一个8位数据,.将数据保存并回送至计算机,以此来实现对USB通信畅通与否的测试。程序流程图如图5所示。I设重定时鼍和串口工作方式I上l开串口中断上簪待中断ll中断产生.接收数据J,l*中断,回送数据J,l开发送中断.等待接收完成工l返回初始状态l图5单片机的程序流程图根据程序流程图,单片机的指令代码如下:_ⅫI豇^盯●吖T咖,I∞,L期巾■Ti为方式2—ⅣI'L1.栅唧渡特事为9B∞∞ymJ0r“.Smm啊y9∞札僦.●口工t旬拭t·lI—}l册Esmn.开中啊SJ$.等待中啊OK∞2州:中断入口地址加虹,sn.舡方1时射,至麓避·为。时矗畴捌箧已完成^—|钉埘.蠢目扔抬状蠢.峰符下—次强接收,实现蠹量的循环接收霸k^孤锄0瞄0100K锄tl二谣虹∞vks姐.擅I嘲t■novllJBOVs■lE^.量■圄氆JDTUmn既m6.USB通信模块的调试调试方法串口调试工具(ComTools)是一款功能强大的串口调试免费软件。其主要功能如下:(1)支持COMl--'--COM8串口的数据发送和接收,可重复发送和接收数据;(2)支持HEX格式数据和ASC格式数据的串口发送和接收;(3)可自定义数据格式,校验位,可自定义数据传输速率;(4)可自动记录发送和接收的数据并保存。使用串口调试工具可以方便的通过计算机向USB串口通信模块发送数据并记录所接收的数据。因此,本次USB通信模块的调试使用该串口调试工具完成Pc机同单片机的通信。打开串口调试工具。首先选择串口设置,设置串口为设备管理器中对应的串口(COM4),设置波特率为9600,数据长度为8位,停止位为1位。在发送文本框中输入2字节16进制数据,点击发送向串口发送16进制8位数据。观察接收文本框,可以发现,计算机成功接收到单片机回送的8位数据。在清空发送文本框后,经过多次的重复操作观察确认,每一次都能正确接收数据。为了进一步测验系统的稳定性,在拔掉USB通信模块后重新插入,计算机能够自动识别串口,重新打开串口调试工具后仍然能够正确的发送和接收。因此,该USB通信模块的数据准确性和系统的稳定性都得到了验证。该USB通信模块具有以下特点:(1)通过USB接口实现串口通信,能够(下转第52页)万方数据
工作量。用户不需要知道这些代码的实现细节,只需要了解调用函数的参数和函数处理结束后的返回值。模拟量采集的部分程序代码:ErrCde2DRY,.DeviceOpen(dwI)eviceNtmDeviceHandle)打开采集卡DimRulConvNum=4096,定义一次读取数据个数ptFAIIntStart.buffer=DRYGetAddress(hbuf(0)),将采集卡读取的数据的起始地址赋值ptFAIIntStart.TrigSrc=0,定义触发源ptFAIIntStart.SampleRate=100000,定义采集频率ptFAIIntStart.chan=0,通道ptFAIIntStart.gain=16,增益ptFAIIntStart.Count=4096ptFAIIntStart.IntrCount=l,初始化采集卡眦de=Dlw_FAIIntStart(Devicdtandle,ptFAIIntStart),开始采集模拟量,ErrCde=DRY。,_FAITransfer(DeviceHandleptFAITransfer)传送A/D转换后的数据ErrCde=DRV—FAITerminate(DeviceHandle),停止数据采集DRVDeviceClose(DeviceHandle),关闭采集卡数字量输入输出部分程序代码;ErrCde=DRV_DeviceOpen(dvDeviceNu鹏Devicdhndle),打开采集卡lpDioWritePort.Port=0,定义第几字节输出lpDioWritePort.Mask=255ipDioWritePort.state=8,第四位输出为lErrCde=DRYDioWritePortByte(DeviceHandle。lpDioWritePort),控制输出ErrCde=DRY—DioReadPortByte(DeviceHandle,lpDioReadPort),读入采集卡数字量输入3.串口通讯编程MSComm控件通过RS232串行端口实现传输和接收数据,使计算机和外围带通信接口的设备实现信息交换。MSComm控件提供了事件驱动功能,这是一种功能很强的处理串口活动的方法,MSCom控件的OnComm事件能捕获和处理接收到的信息,gSComm控件的许多重要的属性,可以在程序中设置。MSComLComPort=l,使用第一个通讯口MSComm.Settings=”9600,N,8,1”,设置通讯参数WSCo衄.PortOpen=True,打开通讯口ASMl42测试仪控制程序代码如下:MSComm.Output=’?ST’&Chr(13),查询ASMl42的状态MSComm.Output=’=cYr&Chr(13),仪器开始自动检测MSComm.Output=’=IVE’&Chr(13),仪器停止检测MSComm.Output=’=CAEE01290138’&Chr(13),仪器自动停止抽真空1分29秒,测试时间1分38秒4.控制界面设计Timer控件可以设置为每秒触发一次,顺序控制测试过程。MSChart控件以图形方式显示数据的图表。支持三维表示,支持所有主要的图表类型,支持随机数据和数组。控制界面如图3所示:图3系统控制界面(三)结束语该零件泄漏自动测试台已经在计算机水冷却产品上使用,实现了水冷交换器自动泄漏测试。所有测试数据保存在数据库中,方便用户查询和分析。提高了水冷交换器的产品质量,对生产工艺改进提供了很有效的数据。’【参考文献】【1】刘成勇.VisualBasic6数据库编程【M】.北京:机械工业出版社.2007.2.【2】JacquesHoffmann.泄漏检测技术Ⅱ】.荑国ApplianceD豁i伊杂志.【3】范逸之,廖锦棋.VisualBasic.NET自动化系统监控——KS-232串行通信【M】.清华大学出版社,2006.【4】曹镇蓉,曹柏蓉.基于vB的霍尔传感器性能测试系统设计Ⅱ】.微计算机信息.2007,23(6-1).【5】徐振立,陶乐仁,等.在VB平台上开发的太阳能喷射制冷实验台测控系统Ⅱ】.微计算机.信息.2007,23(7-1).(上接第56页准USB接口上完成以往需要使用RS一232(加9)进行通信的计算机设备的通信;(2)支持热插拔,驱动程序一次安装即可永久使用,不必在每次插拔后重启计算机;(3)硬件电路简单,外围器件少,制作方便,成本低廉;(4)可移植性强,支持绝大多数型号的单片机;可扩充性好,用户可根据需要扩充各种功能,可自定义厂商ID和产品序列号。由此可见,我们的设计初步达到了目的。(三)结束语USB接口逐步取代RS一232(DB-9)串口已是大势所趋,单片机同计算机的USB通信在实际工作中的应用范围也将越来.52.越广。本文所介绍的单片机和Pc机的USB通信方法,电路简单,兼容性好,可移植性强,故可作为单片机同计算机的USB通信模块广泛应用于工业和电子产品的开发中。【参考文献】【1】卢超.单片机与PC机的通信设计D】.工矿自动化,2007-5.【2】南京沁恒电子公司.CH341芯片中文版说明书[EB/OL].http://www.Winchiphead.com/download/index.htm.【3】董建国,戚云军,何运兰.基于USB总线的PC机与单片机的通信【I】.信息技术,2003—11.【4】陈再清.微机—一单片机通信浅谈田.电气时代。2001-12.万方数据
基于USB接口的51单片机与PC机通信的方法 作者: 作者单位: 刊名: 史迩冬, 李清栋, 周雪莉 陕西理工学院,陕西,汉中,723000 大众科技 POPULAR SCIENCE & TECHNOLOGY 2008,(11) 1次 英文刊名: 年,卷(期): 引用次数: 参考文献(4条) 1.卢超 单片机与PC机的通信设计[期刊论文]-工矿自动化 2007(5) 2.南京沁恒电子公司 CH341芯片中文版说明书 3.董建国.戚云军.何运兰 基于USB总线的PC机与单片机的通信[期刊论文]-信息技术 2003(11) 4.陈再清 微机--单片机通信浅谈[期刊论文]-电气时代 2001(2) 相似文献(9条) 1.期刊论文 张洁.ZHANG Jie USB接口无线数据采集系统设计 -中国测试2009,35(1) 近年来以无线片上系统(SoC)为核心的短距离无线通信技术得到迅速发展.结合无线传感技术和USB接口技术,应用基于增强型8051内核的无线单片机 NRF24E1、AVR系列单片机和Philips公司的USB接口器件PDIUSB12所研制的USB接口无线数据采集系统,可以实现由计算机远端控制的无线数据采集与传输 功能.该系统的软件设计包括无线通信程序设计、单片机固件程序设计、计算机驱动程序设计和应用程序设计.使用结果证明,该系统操作简单,工作可靠 ,具有广阔的应用前景. 2.期刊论文 吴昌东.江桦 PM50100语音芯片与单片机的USB接口 -电子元器件应用2007,9(9) 介绍了一种基于USB接口的语音接口设计方法,该系统首先由单片机从语音芯片中采集语音信号并对其进行相应处理,然后将处理数据送PC机进行分析 .这种以单片机为核心的新型智能语音处理系统设计比较合理,性价比高,功能完善. 3.期刊论文 李庆超.邢文生 在单片机上扩展 USB 接口的设计与实现 -计算机辅助工程2004,13(3) 本文介绍一种基于SL811HS的单片机读写U盘的系统.系统由单片机、USB接口控制器、高速RAM等设备组成,解决了多数数据采集设备、工控机及嵌入 式系统没有安装USB标准接口,不能读写U盘的问题.重点分析系统的原理及传输协议,给出了硬件、软件的实现方法. 4.学位论文 曹放 主动、从动USB接口的实现 2007 近年来,通用串行总线(Universal Serial Bus)发展非常迅速,具有成本低、速度快、易于扩展、可热插拔等诸多优点,得到了广泛的应用。USB技 术规范将USB数据传输双方划分为两种类型:Host和Slave,即主机和从属设备。目前,USB主机一般都是由PC机担任,而市场上的USB产品基本上都是从 属设备。在以单片机等微处理器为核心的嵌入式系统的应用中,尚缺少与USB产品的直接接口技术。因此,主动USB接口的嵌入式应用就成了USB领域新的 研究焦点。利用单片机直接读写U盘,从而实现便携仪器或者嵌入式系统的外挂式海量存储,具有广阔的市场前景。在此基础上,人们也希望带有主动 USB接口的系统同时兼有通用USB设备的功能,在需要的时候依然可以与PC机通信。本文遵循这种新的设计思想对主动、从动USB接口模块进行了开发和实 践。 本系统选用华邦公司的W78E54B芯片作为主CPU,选用Cypress公司的SL811HS作为USB主/从控制芯片,构建了主动、从动USB接口模块。系统硬 件具有成本低、功耗小、速度快等特点。在主动USB接口的软件设计上,系统完成了USB主机控制器驱动程序、核心驱动程序以及用户软件的设计,可很 好地完成设备的枚举、配置等功能;系统支持MassStorage类协议,并建立了精简的的FAT(File Allocation Table)文件系统,可以完成对U盘上文件的 读、写等操作。在从动USB接口的软件设计上,系统完成了设备端的单片机固件程序的设计,采用VC++、DDK与DriverStudio相结合的方法开发了PC主机 的设备驱动程序和用户应用程序,以实现该模块作为设备时与PC主机的数据传输。 按照论文中提出的方法开发了主动、从动IJSB接口模块。实验 证明本系统运行稳定,代码精简,具有很好的可移植性,可以很方便的移植到其他的单片机、DSP等嵌入式系统中。 5.期刊论文 宋曰聪.李敏.柳波.袁亮.SONG Yuecong.LI Min.LIU Bo.YUAN Liang 基于PDIUSBD12芯片扩展W78E58 的USB接口 -现代电子技术2007,30(7) USB接口因其通用性而可以外接多种设备,W78E58是一种典型的使用广泛的单片机,W78E58不具有USB接口,限制了其在某些领域的应用.介绍了一种用 PDIUSBD12扩展单片机W78E58 USB接口的方法.阐述了硬件设计原理,软件的设计结构,主要软件程序的功能划分.基于以上硬软件方案,我们设计出了单片 机的USB通信模块,实现了单片机通过USB口和PC机的通信. 6.学位论文 毛东方 基于USB接口的无刷直流电机测试分析系统研究与开发 2007 无刷直流电机是一种新型的交流调速电机。本文以基于通用串行总线(USB)接口的无刷直流电机测试分析系统设计与开发为研究主题。 本文对 无刷直流电机测试分析系统总体结构进行了设计,其上位机采用PC机,下位机采用AT8952单片机,上下位机的通信采用USB接口。在此基础上本文进行了 系统软硬件设计,其中硬件设计主要包括AT8952单片机最小系统及其外部存储器扩展设计、电参数测量接口电路设计、USB通信接口硬件设计;软件设计 部分,基于Keil C进行了下位机数据采集程序设计和USB通信接口固件编程,基于VC++进行了上位机管理软件设计。 在软硬件设计的基础上,本文 进行了无刷直流电机测试分析系统开发,以实现对无刷直流电机进行测试和分析。该系统中,AT8952单片机作为信号采集单元,将采集到数据存放于外 部RAM中,再经由USB接口传输给客户端PC 机,通过ADO技术实现数据库管理,在数据处理方面充分利用Matlab强大的数据处理能力,通过Matcom实现VC 与Matlab的无缝连接。系统实际运行实验验证了本文理论设计的正确性。 本文的研究及其取得的成果有助于开展无刷直流电机这一新型交流调速 电机的产品开发工作,对电机智能测试分析系统的研究与开发也有较好的参考价值。 7.学位论文 张婉青 基于USB接口的光栅信号处理系统研究 2005 本文简要介绍了光栅位置检测系统在国内外的发展动态以及光栅测距的基本原理,分析了通用串行总线(USB)的特点与优势,将USB总线和光栅测距结 合于一体,设计了一种基于USB接口的光栅信号处理系统.该系统采用软、硬件结合的方法,具有模块化和多用化的特点.单片机是光栅信号处理系统的核心 部分,是系统的信息处理与控制单元,实现光栅测量数据的采集与处理,键盘、显示及USB通讯的控制.系统由光栅数显和USB通讯两个相对独立的部分组成 .文中详细介绍了细分计数、键盘处理、液晶显示及掉电保护等硬件电路的组成及其软件设计,完成了光栅测量数据的实时显示,并实现了长度/角度、单 端/差分、光栅分辨率转换等多种功能.文中设计了USB接口设备端的硬件电路,完成了单片机对USB通讯接口芯片PDIUSBD12控制软件的开发. 8.学位论文 陆汉栋 基于USB接口的锅炉运行记录仪的设计 2004
锅炉运行记录仪(锅炉黑匣子)系统主要用于自动监测锅炉故障的各种参数,实时监督可能发生的锅炉故障并记录故障发生的类型和时间.传统的记录 仪系统基于RS-232串口通信,利用外部RAM DS1230Y存储信息,存储容量有限.随着接口技术和存储技术的发展,该记录仪系统基于USB接口,采用外部USB移 动存储器存放故障信息.系统可以通过RS-232和USB接口的转换来对USB移动存储器进行读写操作,这样就可以大大的增加了故障信息的数据量,为故障的分 析提供足够的信息.整个运行记录仪系统含硬件系统和软件系统两大部分.硬件系统在利用单片机89C51、时钟芯片DS12887、存储芯片DS1230Y和串口通信 芯片MAX232对故障信息进行采集存储和通信的基础上,重点研究了如何利用USB接口对外部USB移动存储器进行读写操作以及PC机如何通过USB接口获取 USB移动存储器上的数据文件并将其转换成锅炉故障信息.利用可视化程序设计工具C++ Builder对人机界面进行设计的软件系统,具有数据处理、数据库 管理以及报表打印等功能. 9.学位论文 吴超 基于USB接口的数据采集系统设计 2008 随着现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,基于USB接口的数据采集平台的 优势日益突显出来。目前基于USB的数据采集卡已经成为一种流行趋势。 本文以基于USB接口的数据采集平台为研究对象,选取了通用USB接口芯片 PDIUSBD12,A/D转换芯片MAX1166和89C52单片机作为系统核心芯片,设计并研制了一套基于USB接口的数据采集硬件板卡,并开发了相应的单片机板卡程序 、PC机底层驱动及VC++开发环境下的用户应用程序,实现了从底层单片机到以Windows XP操作系统为基础的PC机的USB双向通信,最终构建了一个基于 USB接口的数据采集平台。 本文重点内容主要分为2个部分:硬件设计部分和软件开发部分。 硬件电路设计部分主要论述了:基于ATEML半导 体公司89C52芯片的时钟电路,电源电路,按键复位电路设计;基于PHILIPS半导体公司PDIUSBD12芯片的USB接口电路及基于MAXIM半导体公司:MAX1166芯片 的A/D采集电路,基于MAX232芯片的串口电路的设计,最后介绍整体硬件电路的调试过程。 软件开发部分主要论述了:基于KEIL开发环境底层固件程 序设计;基于MICROSOFTDDK的Windows XP WDM上位机驱动程序设计和通过使用SOFTICE工具对其调试的过程,最后介绍了基于VC++开发环境的用户应用程 序设计。 本文的研究设计成果为今后研究基于USB接口的测控系统及相关项目奠定了坚实的基础,达到了课题的研究目的。 引证文献(1条) 1.杨亮亮.杨福增 基于USB的苹果内部品质检测系统的上下位机通信方法[期刊论文]-安徽农业科学 2009(14) 本文链接:http://d.g.wanfangdata.com.cn/Periodical_dgkj200811025.aspx 下载时间:2009年11月28日
分享到:
收藏