1546.基于USB的串行通信软硬件设计毕业论文.doc
《1546.基于USB的串行通信软硬件设计毕业论文.doc》由会员分享,可在线阅读,更多相关《1546.基于USB的串行通信软硬件设计毕业论文.doc(41页珍藏版)》请在课桌文档上搜索。
1、基于USB的串行通信软硬件设计1 引言在工业控制和数据采集系统中,单片机以其低成本,编程灵活、方便,实时性强和具有一定的智能而得到了广泛的应用。然而,许多复杂任务的实现,如人机对话、任务的切换、算法的实现、大数据的运算等,单片机就显得有些力不从心,而PC机在这方面却有强大的优势。这就需要将它们组合成系统,让单片机只管控制执行机构和进行数据采集与传输;PC机将数据进行处理,实现功能。这就涉及到单片机与PC机之间的通讯问题,在需要实时传递和处理声音和图象等大批数据的时候,普通的通信方式难以满足要求。这就为数据采集系统的设计提出了两个方面的要求:一方面,要求接口简单灵活且有较高的数据传输率;另一方面
2、,由于数据量通常都较大,要求主机能够对实时数据做出快速响应,并及时进行分析和处理,并在单片机和PC机之间进行高速和可靠的通讯。传统的外设与主机的通信接口难以满足上述第一个方面的要求,这些接口一般采用PCI布部线或RS-232串行总线。PCI总线虽然有很高的传输率(可达132Mbps),还能“即插即用”,但是它们的扩充槽相当有限,且插拔并不方便;RS-232串行总线虽然连接方便,可是它的带宽非常有限,传输速度太慢,而且1条RS-232串口通信电缆只能连接1个物理设备。USB技术正是顺应这一要求提出的,它集PCI和RS-232的优点于一身:具有较高的传输速率(USB协议1.1支持最高传输速度达12
3、Mbps,USB协议2.0支持最高传输速度可达480Mbps),实现了真正意义上的“即插即用”(Plug & Play),同时USB上最多可以连接127个外设,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。因此,USB技术非常适合实时数据采集的场合,是目前较为流行的通讯方式。从应用方面来看,国外通用串行总线USB因其具备高速传输,即插即用等诸多优点,在各个领域得到了广泛应用;国内USB总线已经得到了控制工程师的普遍关注,由于其通信协议比较复杂,相关的研究成果还比较少,特别是USB与目前最具竞争力的工业微控制器(PIC单片机)通信的应用范例还很匮乏。本设计基于USB设计
4、出了一套既简单又实用的串行通信程序,并制作了一个压力数据采集及实时显示的硬件电路对其进行了实例验证。设计选用美国微芯公司(Microchip)的主要产品PIC16F877单片机为主控制器,PC机的程序设计采用可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言Visual Basic。本设计作品能实现如下几项功能:1. 压力信号经精密放大电路后输入单片机进行A/D转换;2. 单片机对采集到的信号进行抗干扰处理和显示;3. 单片机将采集到的数据实时送入PC机;4. PC机对所得数据运算后列表显示并录入数据库;5. 单片机查询来自PC机的实时指令,并执行相应动作。图11 基于USB的高速数
5、据采集系统示意图图11为基于USB的高速数据采集系统示意图,就本设计而言,传感器接收压力信号,PIC单片机的I/O控制口包括与USB100模块通信的标志位端口及LED显示输出口。2 总体规划数据采集是现代控制系统必不可少的控制任务,通用串行总线(USB)因具有传输速率快、接口简单、支持即插即用(Plug & Play)和使用维护方便等特点在控制领域具有广泛的应用前景。本设计以压力数据采集任务为载体,深入的学习和探讨了基于USB的串行通信的实现问题。本设计包括硬件接口设计和软件编程两个方面,软硬件结合能实现如图21所示的功能: 4位LED显示 VB的列表显示及数据库录入 PIC单片机将采集到的数
6、据10个一组进行累加处理 PIC模数转换端口RA0 压力模拟信号 A/D转换 输入 输出 (a) 数据采集任务实现4位LED显示PIC单片机VB发送数据 (b) 控制任务实现图21 作品功能示意图2.1 USB接口及芯片选择2.1.1 USB接口当今的计算机外部设备,都在追求高速度和高通用性。为了满足用户的需求,以Intel为首的七家公司于1994年推出了USB(Universal Serial Bus通用串行总线)总线协议,专用于低、中速的计算机外设。目前,USB端口已成为了微机主板的标准端口;而在不久的将来,所有的微机外设,包括键盘、鼠标、显示器、打印机、数字相机、扫描仪和游戏柄等等,都将
7、通过USB与主机相连。这种连接较以往普通并口和串口的连接而言,USB接口【1】的优势主要表现在以下几个方面: 1.使用方便,连接外设不必再打开机箱;允许外设热插拔,而不必关闭主机电源。2.速度快,USB支持三种设备传输速率:1.5 Mb/s(低速设备)、12 Mb/s(中速设备)480 Mb/s(高速设备)。3.独立供电,USB接口提供了内置电源。4.连接灵活,一个USB口理论上可以连接127个USB设备。连接的方式也十分灵活,既可以使用 串行连接,也可以使用集线器Hub,把多个设备连接在一起,再同PC机的USB口相接。5.成本低,为了把外设连接到PC上,USB提供了一种低成本的解决方案。综合
8、上述我决定采用USB接口。2.1.2 USB100模块与同类产品的比较从网上收集到的资料整理结果如表21所示: 表21 USB100模块与相同功能产品的比较相同功能产品比较产品名称USB100模块JaRa 2201 I-7560CHTU-V20图片支持版本USB 1.1 标准USB(Universal Serial Bus)Rev.1.0 兼容USB 1.1 标准USB(Universal Serial Bus)Rev.1.0 兼容传输速率8Mbps230Kbps115.2K bps230Kbps对操作系统的要求Windows 98/ME/ 2000/ XPWindows95/98/2000/
9、XPWindows 98/ME/2000/XP 及LinuxWindows95/98/2000/XP价格(元)98695970分析后不难发现:USB100模块在传输速率上具有突出优势,对系统没有特殊的要求,是其中性价比最高的一款芯片,且能满足本设计高速数据传输的要求。2.1.3 USB接口控制芯片介绍USB接口控制芯片分类【2】说明如下:1. 按传输速度的高低:低速(1.5Mbps)和全速(12Mbps)可选USB1.1接口芯片,例如Philips公司的PDIUSBD12、Cypress公司的EZ-USB2100系列和迅通公司的USB100;高速(480Mbps)可选USB2.0接口芯片,例如
10、Philips公司的ISP1581、Cypress公司的CY7C68013和迅通公司的USB130。2. 是否带MCU(微控制器):一般Philips公司的都不带MCU,Cypress公司大多都带,例如AN2131。3. 是否带主控器功能:不需要主机参与,主从设备间可进行数据传输的芯片有Philips公司的ISP1301和Cypress公司的SL811HS等。还有专门用途USB芯片,例如闪存专用芯片IC1114。工程中用户可根据自己的需求选择一款性价比高的芯片。另外可用开发资源也是要考虑的重要方面,例如开发板和芯片厂商提供的网上资源,可大大降低开发的难度。2.2 微控制器选型当今微控制器的种类
11、很多,从生产厂家来说有几十家,例如:美国Intel公司,TI公司、美国微芯公司、韩国现代(LG)公司、台湾义隆公司和凌阳公司等。下面通过对当前流行的3类微控制器的介绍,阐述选择PIC单片机的依据。2.2.1 凌阳16位单片机随着单片机功能集成化的发展,其应用领域也逐渐地由传统控制扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的nSP(Microcontroller and Signal Processor)16位微处理器芯片(以下简称nSP)。围绕nSP所
12、形成的16位nSP系列单片机(以下简称nSP家族)采用的是模块式集成结构,nSP内核是一个通用的核结构,以nSP内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合,这样做使每一种派生产品具有更强的功能和更低的成本。从目前的应用来看,凌阳16位单片机的优势在于它具有强大的语音处理功能。然而,它在工业控制现场的应用案例较少,在控制领域并不具备突出的竞争力。最重要的是,凌阳公司在国内的技术推广才刚开始,本科四年对凌阳单片机的了解还十分有限,在毕业设计期间化大量时
13、间学习单片机的基础知识显然很不合适。2.2.2 MCS-51系列单片机传统的51系列微控制器,在国内使用时间比较长,开发所需的资料也比较多,但其片内资源较少,在外围电路中需加入多种模块,如:A/D转换器、PWM、RAM和ROM存储器等。它的优点是外围电路易于扩展,尤其是存储器的容量可以按需求增大,缺点是在线调试程序不方便。如果应用到本设计中,外围扩展电路比较复杂,电路板空间和制造成本较大,而且在硬件电路的制做和调试方面也有一定的困难。2.2.3 PIC系列单片机PIC系列单片机是美国微芯公司(Microchip)的主要产品,有PIC16系列、PIC17系列、PIC18系列等。PIC系列单片机C
14、PU采用RISC结构,它具有运行速度快、工作电压低、功耗低、较大的输入输出直接驱动能力、价格低和体积小等优点。本设计选用的PIC16F877 单片机是PIC系列的中档产品,其内部资源非常丰富,含有8K的FLASH程序存储器、368B的RAM数据存储器、256B的EEPROM数据存储器、8通道10位A/D转换器、3个定时器、2个捕捉/比较/脉宽调制、1个同步串行端口SPI和通用同步/异步收发器USART等。另外,它具有外围接口电路简单、工作性能稳定等特点。本设计选择该芯片作为下位机控制的核心,利用上述丰富的资源来完成A/D转换、收发数据、输出显示信号等处理和指定的控制任务。 2.3 压力传感器选
15、型2.3.1 选型综述传感器(Sensor)是将各种非电量(包括物理量、化学量和生物量等)按一定规律转换成易于处理和传输的另一种物理量(一般为电量)的装置。在本设计中使用了压力传感器,它是力的测试中最关键的装置。它的种类繁多,有电容式、压阻式、差动变压器式、压电式、电阻应变式等。本设计选用的应变片式差压测力传感器,它具有灵敏度高、线性度和稳定性好、结构简单、动态性能优良等优点,广泛应用于力的测试中,其常见外观如图22所示: (a)柱形 (b) 悬臂梁形图22 电阻应变式测力传感器2.3.2 压力传感器参数压力传感器是把压力转换成电信号的传感器,用半导体材料制成的压力传感器称为半导体压力传感器,
16、由于其体积小、重量轻、灵敏度高、功耗小、便于集成等优点,发展十分迅速,应用也很广泛。在本设计的过程中选用了S形双弯曲梁应变片式测力传感器,其的结构示意图如图23所示:图23 S形双弯曲梁压力传感器结构示意图S形双弯曲梁应变片式测力传感器主要参数如下:额定载荷:3kg额定输出:1.3mV/V输入电阻:350输出电阻:350非线性:0.01%F.S滞后:0.015%F.S重复性:0.01%F.S安全过载能力:150%由于S形双弯曲梁应变片式测力传感器的结构是双连孔型的,粘贴应变片处比较薄,应变大,灵敏度高,而其他部位较厚,故强度、刚度好的特点,所以试验中选择它作为压力传感器。S形双弯曲梁应变测力传
17、感器和PIC16F877单片机相结合组成的测力系统,它具有实时数据采集和LED显示功能。传感器弹性体为双弯曲悬臂梁,四片应变片分别贴于梁的上下两表面组成全桥电路,当受到载荷W作用时,R1、R2受拉伸,阻值增加;R3,R4受压缩,阻值减小,电桥失去平衡,并产生电压U输出,且U与W成正比。2.4 数据采集电路通信程序的正确与否只有检验之后才能定论,考虑到实用性,本设计选择压力传感器检测的压力数据作为通信的数据源。这样既增强了设计的实用性,又便于对通信成功与否的评估。由于压力传感器精度很高,但其输出的电压信号差值很微弱,需经过放大电路之后,才能送到微控制器处理。在制作过程中,分别尝试了以下两种方案:
18、2.4.1 初步方案压力模拟信号放大电路的原理如图24所示:图24 压力模拟信号放大电路原理图在第一级放大电路中,Rf=20K,R1=510,放大电路的放大倍数接近40倍,第二级放大电路中,无论电位器如何调整输出电压范围,所得的压力信号变化范围始终不会超过1V,而且调整第一级放大电路的放大倍数仍无法达到满意的结果。通过请教老师和查阅相关资料了解到:两级放大电路第二级放大倍数不能过大,一般为1倍,只有这样才能保证放大电路的稳定性。2.4.2 精密放大电路认真分析上述试验结果后发现:由于本设计选用的压力传感器输出的比较电压信号变化范围小,必须增大放大倍数,传统的一级放大和两级放大电路很难调试出满意
19、的结果。本设计改用由三个运算放大器组成的精密放大电路【3】,其原理如图25所示:图25 精密放大电路原理图输出电压(21)本设计中,R2为1K的滑动变阻器,试验调整后正常工作是阻值为210,R、 R1、Rf的阻值分别为820、12K和3.3K。此电路可以放大差模信号,抑制共模信号。差模放大倍数值愈大,共模抑制比愈高。当输入信号中含有共模信号时,也将被抑制。由式21可见,放大倍数约为460。3 USB100模块3.1 USB100模块的功能3.1.1 USB100模块的特点USB100 是目前开发最为方便的USB 接口产品,用户无需编写驱动程序,对USB的操作就变成了类似于对外部存储器的操作,由
20、USB100模块完成全部协议的转换和封装,只要有:单片机和PC 应用程序的基本知识,就可以很快地开发好USB 接口和数据采集等产品,开发过程十分简单。USB100模块是完全集成化的USB接口模块,完全满足USB1.1标准,具有8位单片机总线接口,内部多达384字节的发送缓冲区和128字节的接收缓冲区,数据通讯速率最高可达8Mbit/S。性能可靠,特别适合工业控制场合。在单片机系统中,USB100通讯模块作为单片机的并行接口芯片,两者有机结合,构成了下位机的USB通讯接口。USB100模块提供两种PC机应用程序编程【4】:虚拟串口方式和动态连结库方式。 1. 虚拟串口方式下,用户在PC机上安装U
21、SB100模块专用虚拟串口驱动程序之后,USB100即可作为PC机上的一个标准设备,可以按照与操作串口完全一样的方法来编程。 2. 在动态连结库方式下,用户要在PC机上安装USB100模块专用动态连结库,安装之后,USB100即成为PC机的一个标准外设,编程时调用API函数发送和接收数据。3.1.2 USB100的引脚图及功能USB100的管脚排列图如图31所示,数据口(D0D7)是8位双向I/O口,它以并行方式与微控制器交换数据。 RD:允许内部接收缓冲区数据通过8位并行总线读出。WR:将8位并行总线上的数据锁存入内部缓冲区。图31 USB100引脚图TXE:高表示模块发送缓冲区已满;低表示
22、发送缓冲区为空,可以发送数据。RXF:高表示模块没有数据输出;低表示模块有数据输出,可以读数据。USBVCC:USB接口的电源脚。D+:USB数据脚。D-:USB数据脚。GND:电源脚。VCC:+5V输出,可提供给外部MCU使用,最大400mANC:空管脚。3.2 USB100模块的控制时序3.2.1 单片机发送数据时序发送时序【5】如图3-2所示,当单片机检测到USB100模块TXE为低时,表示内部发送缓冲区允许发送数据,可以将数据通过八位数据总线D0D7发给USB100模块,发送数据锁存由WR控制;USB100模块TXE为高时,禁止发送数据。图3-2 单片机发送数据时序图3.2.2 单片机
23、接收数据时序接收时序【5】如图3-3所示,当单片机检测到USB100模块RXE为低时,表示内部接收缓冲区有数据,可以通过八位数据总线D0D7将数据读入发送给USB100模块,接收数据锁存由RD控制。 图3-3 单片机接收数据时序图43.3 USB100模块的典型应用电路查阅相关资料整理分析后认为:图3-4为最有价值的PIC单片机与USB100模块通信的原理图【6】,其可取之处在于:1. 用USB自带的5V直流电源供电,减小了系统的硬件电路制作量,充分利用了现有的系统资源;2. USB传输线电源线(USBVCC)与地线之间加两级滤波电容,能有效的抑制传输过程中的噪音干扰;3. 单片机电源线与地线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1546. 基于 USB 串行 通信 软硬件 设计 毕业论文

链接地址:https://www.desk33.com/p-1266095.html