欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于USB的串行通信软硬件设计.doc

    • 资源ID:879979       资源大小:375.88KB        全文页数:31页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于USB的串行通信软硬件设计.doc

    1、长春理工大学毕业设计摘 要现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集,而USB 总线具有高速传输、热拔插、即插即用等特点,已经在高速数据采集系统之中得到了越来越广泛的应用。文中以PIC单片机为核心,采用PIC单片机内部的A/D 转换器,设计了基于USB100 模块设计了一个数据采集系统。文中详细阐述了基于USB100 模块设计了一个数据采集系统的方案选择和总体设计、硬件电路以及系统软件编程等。介绍了设计的具体的电路实现以及相应的实验结果,并在文中给出了系统的硬件原理图及软件程序流程图。关键词:通用串行总线 数据采集

    2、单片机AbstractModern industrial production data collection and scientific research on the require-ments of increasing the transient signal measurement, image processing and other high -speed, high-precision measurement, the need for high-speed data acquisition, and the USB bus with high-speed transmiss

    3、ion, hot plug, Plug-and-play features, has been in high-speed data acquisition systems have been more widely used. In a PIC microcontroller as the core, a PIC microcontroller internal A / D convert-r, designed USB100 modular design based on a data collection system.Described in detail based on the U

    4、SB100 module designed a data collection syste-m and the overall design of the options, hardware and system software programming, and so on. On the specific design of the circuit and the corresponding results, and are given in the text of the principle of the hardware and software flow chart.KeyWords

    5、:UniversalSerialBus DataAcquisition Signal Chip29目 录第一章 绪论1第二章 方案选择和总体设计32.1 方案选择32.2 总体设计5第三章 系统硬件电路设计73.1 单片机最小系统73.1.1 PIC单片机的特点73.1.2 PIC16F73单片机的引脚功能83.1.3 PIC16F73单片机最小系统93.2 显示器接口电路设计103.3 USB接口电路设计123.3.1 USB100模块的特点123.3.2 USB100的引脚图及功能133.3.3 USB100控制时序133.3.4 USB100与单片机接口143.4 数据采集电路15第四章

    6、 系统软件设计174.1 下位机软件设计174.1.1 LED显示程序模块174.1.2 数据发送模块174.1.3 数据接收模块184.1.4 压力数据采集模块194.1.5 数据处理模块204.2 上位机软件设计214.2.1 串行通信控件的应用214.2.2 数据处理234.2.3 数据库24结 论27参考文献28致 谢29第一章 绪论在工业控制和数据采集系统中,单片机以其低成本,编程灵活、方便,实时性强和具有一定的智能而得到了广泛的应用。然而,许多复杂任务的实现,如人机对话、任务的切换、算法的实现、大数据的运算等,单片机就显得有些力不从心,而PC机在这方面却有强大的优势。这就需要将它们

    7、组合成系统,让单片机只管控制执行机构和进行数据采集与传输;PC机将数据进行处理,实现功能。这就涉及到单片机与PC机之间的通讯问题,在需要实时传递和处理声音和图象等大批数据的时候,普通的通信方式难以满足要求。这就为数据采集系统的设计提出了两个方面的要求:一方面,要求接口简单灵活且有较高的数据传输率;另一方面,由于数据量通常都较大,要求主机能够对实时数据做出快速响应,并及时进行分析和处理,并在单片机和PC机之间进行高速和可靠的通讯。传统的外设与主机的通信接口难以满足上述第一个方面的要求,这些接口一般采用PCI布部线或RS-232串行总线。PCI总线虽然有很高的传输率(可达132Mbps),还能“即

    8、插即用”,但是它们的扩充槽相当有限,且插拔并不方便;RS-232串行总线虽然连接方便,可是它的带宽非常有限,传输速度太慢,而且1条RS-232串口通信电缆只能连接1个物理设备。USB技术正是顺应这一要求提出的,它集PCI和RS-232的优点于一身:具有较高的传输速率(USB协议1.1支持最高传输速度达12Mbps,USB协议2.0支持最高传输速度可达480Mbps),实现了真正意义上的“即插即用”(Plug & Play),同时USB上最多可以连接127个外设,解决了如资源冲突、中断请求(IRQs)和直接数据通道(DMAs)等问题。因此,USB技术非常适合实时数据采集的场合,是目前较为流行的通

    9、讯方式。从应用方面来看,国外通用串行总线USB因其具备高速传输,即插即用等诸多优点,在各个领域得到了广泛应用;国内USB总线已经得到了控制工程师的普遍关注,由于其通信协议比较复杂,相关的研究成果还比较少,特别是USB与目前最具竞争力的工业微控制器(PIC单片机)通信的应用范例还很匮乏。本设计基于USB设计出了一套既简单又实用的串行通信程序,并制作了一个压力数据采集及实时显示的硬件电路对其进行了实例验证。设计选用美国微芯公司(Microchip)的主要产品PIC16F73单片机为主控制器,PC机的程序设计采用可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言Visual Basic。本

    10、设计能实现如下几项功能:1. 压力信号经精密放大电路后输入单片机进行A/D转换;2. 单片机对采集到的信号进行抗干扰处理和显示;3. 单片机将采集到的数据实时送入PC机;4. PC机对所得数据运算后列表显示并录入数据库;5. 单片机查询来自PC机的实时指令,并执行相应动作。图1.1 基于USB的高速数据采集系统示意图图1.1为基于USB的高速数据采集系统示意图,就本设计而言,传感器接收压力信号,PIC单片机的I/O控制口包括与USB100模块通信的标志位端口及LED显示输出口。第二章 方案选择和总体设计2.1 方案选择1、通信接口选择当今的计算机外部设备,都在追求高速度和高通用性。为了满足用户

    11、的需求,以Intel为首的七家公司于1994年推出了USB(Universal Serial Bus通用串行总线)总线协议,专用于低、中速的计算机外设。目前,USB端口已成为了微机主板的标准端口;而在不久的将来,所有的微机外设,包括键盘、鼠标、显示器、打印机、数字相机、扫描仪和游戏柄等等,都将通过USB与主机相连。这种连接较以往普通并口和串口的连接而言,USB接口的优势主要表现在以下几个方面: 使用方便,连接外设不必再打开机箱;允许外设热插拔,而不必关闭主机电源。速度快,USB支持三种设备传输速率:1.5 Mb/s(低速设备)、12 Mb/s(中速设备)480 Mb/s(高速设备)。独立供电,

    12、USB接口提供了内置电源。连接灵活,一个USB口理论上可以连接127个USB设备。连接的方式也十分灵活,既可以使用串行连接,也可以使用集线器Hub,把多个设备连接在一起,再同PC机的USB口相接。成本低,为了把外设连接到PC上,USB提供了一种低成本的解决方案。综合上述系统中采用USB接口,具体选用了USB100模块。2、微控制器选择 方案一:凌阳16位单片机随着单片机功能集成化的发展,其应用领域也逐渐地由传统控制扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新

    13、推出的nSP(Microcontroller and Signal Processor)16位微处理器芯片(以下简称nSP)。围绕nSP所形成的16位nSP系列单片机(以下简称nSP家族)采用的是模块式集成结构,nSP内核是一个通用的核结构,以nSP内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件,这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合,这样做使每一种派生产品具有更强的功能和更低的成本。从目前的应用来看,凌阳16位单片机的优势在于它具有强大的语音处理功能。然而,它在工业控制现场的应用案例较少,

    14、在控制领域并不具备突出的竞争力。最重要的是,凌阳公司在国内的技术推广才刚开始,本科四年对凌阳单片机的了解还十分有限,在毕业设计期间化大量时间学习单片机的基础知识显然很不合适。方案二:MCS-51系列单片机传统的51系列微控制器,在国内使用时间比较长,开发所需的资料也比较多,但其片内资源较少,在外围电路中需加入多种模块,如:A/D转换器、PWM、RAM和ROM存储器等。它的优点是外围电路易于扩展,尤其是存储器的容量可以按需求增大,缺点是在线调试程序不方便。如果应用到本设计中,外围扩展电路比较复杂,电路板空间和制造成本较大,而且在硬件电路的制做和调试方面也有一定的困难。方案三:PIC系列单片机PI

    15、C系列单片机是美国微芯公司(Microchip)的主要产品,有PIC16系列、PIC17系列、PIC18系列等。PIC系列单片机CPU采用RISC结构,它具有运行速度快、工作电压低、功耗低、较大的输入输出直接驱动能力强、价格低和体积小等优点。PIC16F73 单片机是PIC系列的中档产品,其内部资源非常丰富,含有4K的FLASH程序存储器、192B的RAM数据存储器、5通道8位A/D转换器、3个定时器、2个捕捉/比较/脉宽调制、1个同步串行端口SPI和通用同步/异步收发器USART等。另外,它具有外围接口电路简单、工作性能稳定等特点。基于以上比较,本设计选择PIC单片机作为下位机控制的核心,利

    16、用上述丰富的资源来完成A/D转换、收发数据、输出显示信号等处理和指定的控制任务。3、压力传感器选型传感器是将各种非电量(包括物理量、化学量和生物量等)按一定规律转换成易于处理和传输的另一种物理量(一般为电量)的装置。在本设计中使用了压力传感器,它是力的测试中最关键的装置。它的种类繁多,有电容式、压阻式、差动变压器式、压电式、电阻应变式等。本系统选用的应变片式差压测力传感器,它具有灵敏度高、线性度和稳定性好、结构简单、动态性能优良等优点,广泛应用于力的测试中,其常见外观如图2.1所示: (a)柱形 (b) 悬臂梁形图2.1 电阻应变式测力传感器压力传感器参数压力传感器是把压力转换成电信号的传感器

    17、,用半导体材料制成的压力传感器称为半导体压力传感器,由于其体积小、重量轻、灵敏度高、功耗小、便于集成等优点,发展十分迅速,应用也很广泛。在本设计的过程中选用了S形双弯曲梁应变片式测力传感器,其的结构示意图如图2.2所示。S形双弯曲梁应变片式测力传感器主要参数如下:额定载荷:3kg额定输出:1.3mV/V输入电阻:350输出电阻:350非线性:0.01%F.S滞后:0.015%F.S重复性:0.01%F.S安全过载能力:150%图2.2 S形双弯曲梁压力传感器结构示意图由于S形双弯曲梁应变片式测力传感器的结构是双连孔型的,粘贴应变片处比较薄,应变大,灵敏度高,而其他部位较厚,故强度、刚度好的特点

    18、,所以系统中选择它作为压力传感器。S形双弯曲梁应变测力传感器和PIC16F73单片机相结合组成的测力系统,它具有实时数据采集和LED显示功能。传感器弹性体为双弯曲悬臂梁,四片应变片分别贴于梁的上下两表面组成全桥电路,当受到载荷W作用时,R1、R2受拉伸,阻值增加;R3,R4受压缩,阻值减小,电桥失去平衡,并产生电压U输出,且U与W成正比。2.2 总体设计数据采集是现代控制系统必不可少的控制任务,通用串行总线(USB)因具有传输速率快、接口简单、支持即插即用(Plug & Play)和使用维护方便等特点在控制领域具有广泛的应用前景。本设计以压力数据采集任务为载体,深入的学习和探讨了基于USB的串

    19、行通信的实现问题。本系统包括硬件接口设计和软件编程两个方面,软硬件结合能实现如图2.3所示的功能。图2.3 系统总体框图第三章 系统硬件电路设计3.1 单片机最小系统美国Microchip技术公司的PIC系列单片机采用精简指令集计算机(RISCReduced Instruction Set Computer)、哈佛(Harvard)双总线和两级指令流水线结构的高性能价格比的8位嵌入式控制器(Embedded controller)。其高速度、低工作电压、低功耗、较大的输入输出直接驱动LED能力、一次性编程芯片的低价位、小体积、指令简单易学易用等特点,都体现了单片机工业发展的新趋势。在全球都可以

    20、看到PIC单片机在不同领域的广泛应用,它在世界单片机市场份额排名中逐年提前,以致已成为一种新的8位单片机的世界标准和最有影响力的主流嵌入式控制器,所以本设计选用PIC16F73作为主控制器。3.1.1 PIC单片机的特点PIC单片机的主要优点7表现在:1. PIC16F73系列单片机都具有A/D转换功能,A/D转换器是采用逐次逼近法进行模数转换,转换的结果是8位数字量。另外PIC16F7X系列单片机的A/D转换具有一个独特的功能,就是在CPU休眠期间能照常工作。不过,此时的A/D转换时钟必须选择A/D内部的RC振荡器。2. 指令的“单字节化”。因为指令总线和数据总线是分离的,并且采用了不同的宽

    21、度,所以程序存储器ROM和数据存储器RAM的寻址空间是相对独立的,而且两种存储器宽度也不同。这样设计不仅可以确保数据的安全性,还能提高运行速度和实现全部指令的“单字节化”。而MCS51系列单片机的ROM和RAM宽度都是8位指令长度从1个字节(8位)到3个字节长度不一。3. 精简指令集(RISC)技术。PIC系列单片机的指令系统只有35条指令。这给指令的学习,记忆,理解带来很大的好处,也给程序的编写,阅读,调试,修改,交流带来极大的便利,真可谓易学好用。它不仅全部指令均为单字节指令,而且绝大多数指令为单周期指令以利于提高执行速度。4. 寻址方式简单。寻址方式就是寻找操作数的方法,PIC系列单片机

    22、只有4种寻址方式(即寄存器间接寻址,立即数寻址,直接寻址和位寻址),容易掌握。5. 运行速度高。由于采用了哈佛结构,又由于指令的读取和执行采用了流水作业方式,PIC系列单片机的运行速度大大提高。可知PIC系列单片机的运行速度远高于其它相同档次的单片机。在所有8位机中,PIC17F是目前世界上速度最快的品种之一。6. 功耗低。PIC系列单片机的功率消耗极底,有些型号的单片机在4MHz时钟下工作时耗电不超过2mA,在睡眠模式下低到1uA以下。7. 驱动能力强。I/O端口驱动负载的能力较强,每个I/O引脚输入和输出电流的最大值可分别达到25mA和20mA,能够直接驱动发光二极管、光电耦合器或者微型继

    23、电器等。8. 具备IC和SPI串行总线端口:PIC系列单片机的一些型号具备IC和SPI串行总线端口。IC和SPI分别是由PHILIPS和MOTOROLA公司发明的芯片之间同步串行数据传输的两种串行总线技术,利用单片机串行总线端口可以方便灵活的扩展一些必要的外围器件。串行接口和串行总线的设置,不仅大大的简化了单片机应用系统的结构,而且还极易形成产品的模块化结构。9. 寻址空间设计简洁。PIC系列单片机的程序、堆栈和数据三者各自采用互相独立的寻址空间,而且前两者的地址安排不需要用户操心,这会受到初学者的喜欢。10. 外围电路简洁。PIC系列单片机内部集成了上电复位电路、I/O引脚上拉电路、看门狗定

    24、时器等,可以最大程度的减少或免用外围器件。 11. 开发方便。芯片公司及其国内多家代理商,为应用开发提供了丰富多彩的硬件和软件支持。3.1.2 PIC16F73单片机的引脚功能1. 电源和地线引脚PIC系列单片机一般采用5V电压,为了减少外界噪声的影响,将电源引脚和地线引脚放置芯片的中间。2. 主复位信号引脚复位信号引脚用于外部电路产生复位信号使PIC单片机产生复位,低电平有效。在对单片机编程时,此引脚作为编程电压的输入端。3. 输入/输出端口功能引脚 在PIC16F73微控制器中,有三个端口,每个端口引脚大部分都具有两种或三种功能复用;作为输入输出端口时,端口A、端口B、端口C、都是双向I/

    25、O口。作为第二或第三功能端口,每个引脚功能都可能不同,主要包含有以下的几种功能:a). 用于A/D转换的模拟电压输入端和参考电压输入端;b). 用于定时器的时钟输入端和振荡器输出端;c). 用于串行通信的输入/输出端和时钟端;4. 振荡器输入输出线。其引脚布置如图3.1所示,在PIC单片机中有一根振荡器输入引脚OSC1/CLKIN和一根振荡器输出引脚OSC2/CLKOUT,由于PIC单片机图3.1 PIC16F73引脚图可以采用不同的振荡器,这使得两根引脚可以有不同的功能。采用晶体振荡器或陶瓷谐振器,将晶体振荡器的两脚直接接人OSC1/CLKIN和OSC2/CLKOUT;采用外部RC振荡器时,

    26、OSC1/CLKIN作为输入,OSC2/CLKOUT开路。3.1.3 PIC16F73单片机最小系统图3.2 PIC16F73最小系统PIC16F73最小系统如图3.2所示。在本系统设计中,PIC16F73微控制器的引脚功能配置如下:端口B作为数据总线;PA0口为压力模拟信号输入端;PA2和PA3为数码管段码和位码的片选端;PC0和PC1为USB100模块的存入(WR)和读出(RD)标志位;PC2和PC3为USB100模块的标志位RXF和TXEPC4和PC5起到工作状态监视作用,其中PC4为单片机接收数据状态指示端,PC5为单片机发送数据状态指示端。3.2 显示器接口电路设计为了验证通信结果的

    27、正确性,必须增加有效的手段测试PIC单片机接收到的数据正确与否,而最简单且可行的方法就是增加LED显示部分。LED器件是一种发光二极管显示器。其特点如下:(1)LED显示器具备稳定、高速、简单的系统;(2)LED显示结构简单、性能稳定;(3)LED显示应用在成熟的生产技术上。发光二极管组成的显示器是单片机应用产品中最常用的廉价输出设备。八段发光二极管结构如图3.3所示。图3.3 八段发光二极管外型发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。1位显示器有8个发光二极管组成,其中7个发光二极管ag控制7个笔段的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的八段显

    28、示器能显示的字符少。字符的形象有些失真,但控制方便,使用简单。图3.4 共阴极数码管图3.5 共阳极数码管 考虑到压力显示精度和显示范围等因素,本设计选用4位共阴极LED数码管。显示器的显示方法有静态和动态两种方法。显示器位数较少时,采用静态显示的方法是合适的。当位数较多时,用静态显示所需的I/O太多,一般采用动态显示方法,所以在系统中我们采用动态显示。此类数码管的工作特点是:数码管片选端清0时,对应位的数码管才有可能亮;每次只能有一个片选端清0,即只能动态移位显示相应的数据;单片机控制数码管显示相应数字要用查表子程序来实现。此电路的程序设计要求是:不能在保持原输出数据的情况下,常时间持续执行

    29、其它控制任务。在本设计中,用显示程序来替换其它任务中必要的延时子程序,从而实现了数据显示的连续性,而且不会影响其它控制任务的正确执行。显示器接口电路如图3.6所示。LED显示器采用两片74LS273动态扫描方式驱动,其中U2作为段码接口,U3作为位码接口,单片机通过B口与74LS273的输入端相连,PA2和PA3分别作为U2和U3的片选信号,缺省时显示0。D1、D2作为单片机发送/接收数据状态指示,当单片机发送数据时D1点亮;当单片机接收数据时D2点亮。图3.6 显示器接口电路3.3 USB接口电路设计3.3.1 USB100模块的特点USB100 是目前开发最为方便的USB 接口产品,用户无

    30、需编写驱动程序,对USB的操作就变成了类似于对外部存储器的操作,由USB100模块完成全部协议的转换和封装,只要有单片机和PC 应用程序的基本知识,就可以很快地开发好USB 接口和数据采集等产品,开发过程十分简单。USB100模块是完全集成化的USB接口模块,完全满足USB1.1标准,具有8位单片机总线接口,内部多达384字节的发送缓冲区和128字节的接收缓冲区,数据通讯速率最高可达8Mbit/S。性能可靠,特别适合工业控制场合。在单片机系统中,USB100通讯模块作为单片机的并行接口芯片,两者有机结合,构成了下位机的USB通讯接口。USB100模块提供两种PC机应用程序编程4:虚拟串口方式和

    31、动态连结库方式。 虚拟串口方式下,用户在PC机上安装USB100模块专用虚拟串口驱动程序之后,USB100即可作为PC机上的一个标准设备,可以按照与操作串口完全一样的方法来编程。 在动态连结库方式下,用户要在PC机上安装USB100模块专用动态连结库,安装之后,USB100即成为PC机的一个标准外设,编程时调用API函数发送和接收数据。3.3.2 USB100的引脚图及功能USB100的管脚排列图如图3.7所示。图3.7 USB100的管脚排列图数据口(D0D7)是8位双向I/O口,它以并行方式与微控制器交换数据。 RD:允许内部接收缓冲区数据通过8位并行总线读出。WR:将8位并行总线上的数据

    32、锁存入内部缓冲区。TXE:高表示模块发送缓冲区已满;低表示发送缓冲区为空,可以发送数据。RXF:高表示模块没有数据输出;低表示模块有数据输出,可以读数据。USBVCC:USB接口的电源脚。D+:USB数据脚。D-:USB数据脚。GND:电源脚。VCC:+5V输出,可提供给外部MCU使用,最大400mANC:空管脚。3.3.3 USB100控制时序发送时序5如图3.8所示,当单片机检测到USB100模块TXE为低时,表示内部发送缓冲区允许发送数据,可以将数据通过八位数据总线D0D7发给USB100模块,发送数据锁存由WR控制;USB100模块TXE为高时,禁止发送数据。图3.8 单片机发送数据时

    33、序图接收时序5如图3.9所示,当单片机检测到USB100模块RXE为低时,表示内部接收缓冲区有数据,可以通过八位数据总线D0D7将数据从USB100模块读入,接收数据锁存由RD控制。图3.9 单片机接收数据时序图3.3.4 USB100与单片机接口 USB100与单片机的接口电路如图3.10所示,USB100通过总线隔离器与单片机接口,使得对USB100的操作有一个固定的地址。其中PB0PB7与单片机的B口相连接,PA4、PA5分别与单片机的RA4和RA5相连接,PC0PC3分别与RC0RC3相连接。图3.10 USB100与单片机的接口电路3.4 数据采集电路通信程序的正确与否只有检验之后才

    34、能定论,考虑到实用性,本设计选择压力传感器检测的压力数据作为通信的数据源。这样既增强了设计的实用性,又便于对通信成功与否的评估。由于压力传感器精度很高,但其输出的电压信号差值很微弱,需经过放大电路放大之后,才能送到微控制器里进行处理。:由于本设计选用的压力传感器输出的比较电压信号变化范围小,必须增大放大倍数,传统的一级放大和两级放大电路很难调试出满意的结果。本设计改用由三个运算放大器组成的精密放大电路3,其原理如图3.11所示。输出电压:本设计中,R6为1K的滑动变阻器,试验调整后正常工作是阻值为210,R、 R7、Rf的阻值分别为820、12K和3.3K。此电路可以放大差模信号,抑制共模信号

    35、。差模放大倍数值愈大,共模抑制比愈高。当输入信号中含有共模信号时,也将被抑制。由上式可知,放大倍数约为460。其中U0与到单片机的PA0相连接。图3.11 精密放大电路原理图第四章 系统软件设计本系统选用PIC单片机作为下位机,它的程序设计是本设计的重点,也是难点。这不仅要求熟悉PIC单片机编程的有关知识,还要求根据USB100的数据手册试验出一套实用的通信协议程序模块。在设计的过程中,考虑到实际需求增加了压力采集模块和LED显示部分,使本设计的实用性得到了增强。4.1 下位机软件设计4.1.1 LED显示程序模块分析LED引脚图不难发现,各数码管段码控制线采用共享的方式,所以数码管显示功能的

    36、实现必须采用动态扫描的方式,其显示子程序流程如图4.1所示。图4.1 显示程序流程图4.1.2 数据发送模块发送数据程序流程如图4.2所示,该程序模块能将字符型数据正确的发送到PC机,由VB程序接收、处理后显示。图4.2 发送数据程序流程图4.1.3 数据接收模块接收数据程序流程图如图4.3所示,该程序模块能正确的接收VB发送的二进制数据,并将接收的数据分解、送显。图4.3 接收数据程序流程图4.1.4 压力数据采集模块压力数据采集主要包括两个方面:A/D转换和数据处理。1、A/D转换流程A/D转换的种类繁多,工作原理各异,但逐次比较型A/D转换是应用较多的类型之一,其主要原因是该类型的A/D

    37、转换速度快、精度高。逐次比较型A/D转换由采样保持电路、电压比较器、逐次比较寄存器、数/模转换器和锁存器等部分组成。PIC16F73单片机具有5个A/D模拟输入通道,器件内所有模拟输入通道均有采样保持转换器,采用逐次逼近法产生模拟电平的数字结果,模拟输入信号的A/D转换结果为对应的8位数字,参考电压为5V。A/D转换程序流程图如图4.4所示。图4.4 A/D转换程序流程图由图4.4可见,A/D转换的工作过程分如下几个步骤:选择RA0为A/D转换通道,使能A/D转换,ADCON0=0X41;转换结果右对齐,RA0为模拟输入方式,ADCON1=0X8E;清A/D转换标志位,ADIF=0;启动A/D

    38、转换,ADGO=1; 判断是否进行了A/D转换,即ADIF是否为1;若ADIF=1,则将A/D转换的结果存入寄存器之中。4.1.5 数据处理模块单片机对采集数据的处理包括以下几个方面:将十次A/D转换的结果累加存入寄存器sum;将sum经运算处理后送显示子程序显示。数据处理程序如下: for(i=1;i11) while(!ADIF); d=ADRESH; e=ADRESL; sum+=d256+e; i+; ADIF=0; ADGO=1; if(sum2000)语句可以起到超过2N发出警示的作用。4.2 上位机软件设计VB全称Visual Basic,是微软公司推出的基于Basic语言的可视

    39、化编程环境,以其简单易学功能强大而倍受广大电脑爱好者的青睐。随着Windows在国内的普及,特别是Windows95的推出,越来越多的微机用户转向了Windows操作系统。要开发一个功能强、界面美观的应用软件,其编程和调试的工作量是非常大的,许多并非搞软件出身的工程技术人员对Windows编程望而生畏。然而使用微软的Visual Basic来开发这些方面的Windows应用软件就十分方便,一般工程技术人员易于掌握,设计软件界面非常方便。编程工作量相对较小,只需进行主要应用功能的编程和少量界面控制的编程。Visual Basic更加简化了Windows程序接口的设计工作,只需要极少量的代码,就能

    40、实现标准Windows应用程序的接口。基于以上优点,PC机采用VB编程设计界面。4.2.1 串行通信控件的应用1、串行通信控件在PC机上安装USB100模块专用驱动程序后,USB100即作为PC机上的一个标准设备,可以按照与操作串口完全一样的方法来编程,这也是USB100开发与其他USB方案相比最大的优点。在VB中可以将其按标准的串口来使用,用MScomm控件将USB100当作一个真实的串口来连接,并进行控制,此串口通信速率为8Mbps,PC上设定该串口的速率不会对传输速率有影响,这是与实际串口的区别。2、串行通信程序实现通信初始化设置程序如下:With MSComm1 通讯初始化InputM

    41、ode = comInputModeBinary 设置接收数据模式为二进制形式 .InputLen = 10 设置Input 一次从接收缓冲读取字节数为10 .SThreshold = 5 少于5字节时生成oncomm事件 .RThreshold =4 当接收缓冲区达到20个字节时引发接收事件 .InBufferCount = 0 清收发缓冲区 .OutBufferCount = 0 End With3、PC机接收数据程序流程图PC机接收数据程序流程图如图4.5所示。图4.5 PC机接收数据程序流程图4.2.2 数据处理如果有随机干扰作用于信号传输过程中,VB接收到的数据就会偏离真实值。这样一

    42、来,仅采样一次,是无法确定该结果是否可信的,必须多次采样,得到一个A/D转换的数据系列,通过某种算法处理后,才能得到一个可信度较高的结果。PC机的优势在于它具有高速和大批量数据处理能力,本设计充分利用PC机的这个优点,在程序中加入了求平均值算法。标定处理主要完成采集到的数据与实测数据的映射关系处理,它需要不断的根据实测数据校正。4.2.3 数据库数据采集的目的是对其进行分析处理或备案,将所得的数据存入数据库后可以方便的执行各种处理,又具有备案作用,所以,在程序中加入数据库操作部分是非常必要的。所谓数据库(DataBase,DB)10就是长期存放在计算机内,以一定组织方式动态存储的、相互关联的、

    43、可共享的数据集合,它不仅包括数据本身,还包括相关数据之间的联系。数据库最大特点是通过联系减少了不必要的数据冗余。同时,不同用户可以使用同一数据库中自己所需的子集,从而实现数据共享。利用“可视化数据管理器”可以进行的数据库基本操作包括添加记录、编辑记录、删除记录等。数据(Data)控件是VB提供的一个标准控件,通过该控件无需编写代码就可以方便地访问VB所支持的各种类型数据库中的数据。数据控件本身并不能显示和直接修改记录,只能在与数据控件相关联的数据约束控件中显示各个记录。数据录入数据库的程序如下:Sub ru_ku() Me.Data1.Recordset.AddNew 数据库记录开始 Text

    44、6.Text = j Text7.Text = Time Text5.Text = Trim(Date) Me.Data1.Recordset.Update End Sub其中,Text5、Text6和Text7分别与数据库列表中的日期、压力和时间对应。考虑到写入数据库操作和VB界面不能同时进行,本设计采用两个文本对应同一录入项的处理方法,即将处理后的数据同时送入两个Text文本框,其中一个用于界面中的实时显示,另一个则设为隐藏方式,它与数据库列表中的对应项关联,由它完成数据库的录入工作。部分数据库的记录如图4.6所示:图4.6 数据库中的记录图由于采集到的数据用Text文本显示不能留住历史记

    45、录,用列表框(ListBox)显示虽然可以查找历史数据,但效果很差。本设计选择MSFlexGrid 控件进行列表显示采集到的数据,MSFlexGrid 控件的一个主要特性是它能显示层次结构记录集,以层次结构方式显示关系表,另外,它可以显示网格数据,也可以对其进行操作。它提供了高度灵活的网格排序、合并和格式设置功能,网格中可以包含字符串和图片。使用该控件后,VB人机界面如图4.7所示。与MSFlexGrid控件有关的程序说明如下:数据表格属性设置:Me.MSFlexGrid1.TextMatrix(0, 0) = 编号Me.MSFlexGrid1.TextMatrix(0, 1) = 压力值Me.MSFl


    注意事项

    本文(基于USB的串行通信软硬件设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922