




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津轻工职业技术学院毕业 设计(论文)课题 : 虚拟仪器设计汽车仪表 专 业 物联网应用技术 班级 12级物联网 学生姓名 程志磊 学生学号 02 指导教师 孟帙颖 提交日期 2015-04-02 成绩 答辩日期 答辩成绩 答辩教师 总评成绩 课题设计要求设计题目指导教师综合阅评意见平时成绩020材料成绩040指导教师摘 要针对汽车仪表发展的新趋势,本文对国内汽车仪表行业的现状和发展远景进行了概述,针对性的研究了基于LabVIEW技术和单片机技术而建立虚拟汽车仪表系统的构成,并且系统的给出了一种可行性方案,分别从LabVIEW软件实现方法、单片机程序实现方法和软、硬件的通信三方面进行了阐述。本文设计出来的汽车虚拟仪表系统可以实现本文设计出来的汽车虚拟仪表系统可以实现发动机转速、日期/时间、汽车里程、汽车速度、水温温度、油箱存油量油耗、故障报警等信息的显示。利用虚拟仪器技术模拟汽车仪表盘,不仅可以完成先进汽车仪表盘的功能,而且免去汽车机械及电子器件,降低成本。 关键词:LabVIEW;单片机;汽车仪表盘;虚拟仪器目 录第一章 功能分析与模块设计11.1 汽车仪表盘系统功能分析11.2 汽车虚拟仪表台功能模块21.3源参数模型设计3第二章 总体设计方案52.1 总体设计思路52.1.1 汽车仪表及其显示装置的作用和组成52.1.2 汽车仪表的使用条件52.1.3 界面模块62.2 总体设计框图7第三章 系统的硬件设计83.1 传感器简介83.1.1 DS18B20温度传感器83.1.2 CR-6061-1数字油位传感器83.1.3 OHG-01霍尔效应齿轮传感器93.2 数据采集卡103.3 单片机主控模块113.3.1 AT89S52概述113.3.2 AT89S52的主要性能113.3.3 AT89S52的引脚排列及功能113.3.4 AT89S52的最小系统143.3.5 3 位数码管模块介绍153.4 系统原理图163.4.1 MAX232芯片简介183.5 本章小结19第四章 系统的软件设204.1 LabVIEW软件简介204.2 LabVIEW串口通信204.2.1 VISA串行通信基本功能模块介绍214.2.2 VISA设计方法234.3 单片机程序设计254.3.1 系统工作流程254.3.2 按键子程序流程图264.3.3 显示子程序流程图274.4 数据采集程序的实现274.5 LabVIEW各功能模块程序304.5.1 功能测试模块304.6 本章小结34结束语35致 谢36参考文献37附 录39天津轻工职业技术学院12级毕业论文第一章 功能分析与模块设计1.1汽车仪表盘系统功能分析功能分析与模块设计考虑设计成本和实验条件,通过分析汽车运行中的转速、燃料流量等模型,由计算机模拟产生源信号,经D/ A 转换输出模拟信号。该信号经模拟输入端口A/ D 转换读入计算机,分析处理后在虚拟汽车仪表面板上显示转速、速度、显示百公里油耗(L/ 100 km) 、超速报警、加速或减速指示等信息,同时将部分参数通过数字输出至显示电路,用4 位L ED 动态显示。如果超速,则输出开关量,驱动发光二极管报警灯4 。系统结合PCI26011 数据采集卡,采用LabWin2dows/ CVI 虚拟仪器开发实现所有功能。具体功能分析如下:(1) 模拟工况的生成:实际汽车的转速、油耗及故障等源信号是通过传感器测量得到的模拟量,分析相关汽车工况,预先建立转速和燃油流量信号的函数模型,采用软件模拟汽车转速、流量参数。以上参数在虚拟仪表盘上显示,并通过D/ A 转换输出。(2) 信号采集与处理:将2 个输出的模拟参数用不同通道采集经过A / D转换进入计算机, 作为实验采集到的源参量,计算得到汽车仪表盘上显示的相关参数。(3) 仪表盘输出:将计算后的转速、速度、百公里、油耗、超速报警等参数通过虚拟仪表盘输出,并将速度、报警等信息输出至显示电路,由L ED 显示。整个系统的流程如图1 所示图1 参数的处理流程图1.2汽车虚拟仪表台功能模块根据流程分析,系统分划分为信号模拟与输出模块、虚拟仪表盘2 大模块。信号模拟与输出模块中包含信号的模拟、信号的转换输出;虚拟仪表盘中包含信号输入、数据转换处理、数据输出3 个子模块;各模块的结构如图2 所示。图2 汽车虚拟仪表台功能模块信号模拟与输出模块:依据转速和流量的函数模型,模拟生成汽车转速、流量参数在虚拟仪表盘上显示,并通过数模转换输出。虚拟仪表盘模块主要是模拟汽车仪表盘的功能,反映汽车运行参数。其各子模块的功能如下:(1) 信号输入模块:通过数据采集卡的模拟输入端口实时采集汽车模拟参数值;(2) 数据转换处理模块:实现采集量的A/ D 转换和量程处理, 计算转速、速度、百公里油耗( L/100 km) ,判断加减速、超速、档位信息;(3) 数据输出模块:虚拟仪表板上显示转换处理得到的信息。采用模拟转速表、度表显示转速和速度,并显示加减速、油耗、超速报警等信息;将速度转换为LED 对应二进制形码输出至4 位LED 动态显示,报警信号用I/O 量输出至扩展电路,驱动发光二极管。1.3 源参数模型设计(1)通常行驶状态下的转速模拟:本设计中模拟的转速函数及其对应的速度函数如图3 所示,采集进来的数据可以直接作为转速值r 显示在面板上,由于模拟的汽车转速信号与速度成正比,则速度为:v =D r 60/ 1 000式中:D 为车轮直径; v 为汽车转速(单位:km/ h) ;加速度为:a = ( v2 - v1 ) / t其中,v2 、v1 为相临时刻的速度值;考虑模拟量转换速度,故采用较低采样频率,周期t = 1 s。超速报警限取为90 km,当v 90 时报警。图3 模拟的转速函数和速度函数图(2)换档采集的输出和上述原理相同,考虑实际情况,一般汽车设计发动机转速在2 0003 000 rpm 为最佳工作状态,当转速达到3 000 以上,应当换档。因此,汽车加速过程中需要不断地换档。由于传动比关系,转速表与速度表显示关系为分段函数,如图4 所示。速度与加速度之间的公式依然如式(1) 、式(2) 所示。本模型模拟具有5个挡位的汽车情况。图4 模拟的转速函数和速度函数图(3)平均燃料消耗量(L/ 100 km) :由数据采集卡D/A 转换模拟输出燃油消耗,此信号意义为油箱里的油减少速度设为L (l/ s) ,经过A/ D 采集后得到此信号的数字量显示在面板的显示油耗的控件上,采集一段时间停止后,将采集的数据进行汇总得到这一段时间所有采集到的L 的累加值sum,并得到平均速度vver ,则百公里油耗P为:P = sum 100/ vver燃油流量产生实际是在1 000 至6 000 转取7 个点的油流量,假设油耗在转速段内成正比关系,建立分段函数(见图4) ,通过实时转速信号差值计算出该时刻的油流量。图5 油流量信号函数由于模拟燃油消耗关系为分段线性,可以用插值算法的计算瞬间油量:将分段速点赋给一个向量a ,将对应的油流量值赋给另一个向量组b ,即:a = 1 000 ,1 500 ,2 500 ,3 500 ,4 500 ,5 500 ,6 500b= 2. 8 ,3. 1 ,2. 5 ,3. 2 ,3. 6 ,3. 5 ,3. 9设任意时刻油流量为l ,转速为r, i 为向量组元素的脚标号,当a( i) r a( i + 1) 时,l = b( i) b( i + 1) - b( i) r - a( i) / 1 000以上参数模型适当修改参数即可模拟各种车型,具有通用性。第2章 总体设计方案2.1 总体设计思路2.1.1 汽车仪表及其显示装置的作用和组成在驾驶员前方台板上都装有仪表报警灯及电子显示装置,用来指示汽车运行以及发动机运转的状况,以便驾驶员随时了解和掌握汽车各系统、各部件的工作状态,保证汽车可靠而安全地行驶。汽车上较常用的一般有5种仪表和3种相应的传感器,即电流表、机油压力表、水温表、燃油表及车速里程表,机油压力传感器、水温传感器、油量传感器。仪表板总成分垂直安装式和倾斜安装式两类,二者又各有组合式和分装式#种。分装式仪表板总成,它是由薄钢板先冲压成一块仪表板,然后将每只单个仪表用夹板及螺栓固装在仪表板上。2.1.2 汽车仪表的使用条件1.温度汽车是被广泛使用的交通运输工具,要在各种环境温度下都能正常运行,因此要求汽车仪表在-40+55范围内都能正常工作。温度传感器用于监测冷却液(水箱)温度。2.湿度由于汽车仪表工作的环境条件所限,因此它还将受到湿度的影响。潮湿的空气将使仪表零件(特别是黑色金属零件)表面生锈,电气绝缘件的绝缘性能降低甚至漏电。还由于潮湿空气的变冷,使毛细管内的水分凝聚,引起指示误差以致堵塞。因此,金属零件尤其是黑色金属零件要进行表面处理,如电镀、化学处理、喷漆等工艺。要求仪表应能在相对湿度为90%的环境下工作,并通过耐潮试验及绝缘介电强度试验3.振动汽车行驶引起的车身振动,发动机高速运转引起的汽车各部件振动,都会影响仪表指示的准确性,缩短仪表的使用寿命,因此必须在仪表板外面加放橡皮减震垫圈等,以保证仪表零件的足够强度和紧固件的牢固性。4.其他汽车仪表的工作环境还可能遇到其他气候条件(如暴雨、灰尘的侵蚀,阳光辐射,油腻的沾污, 霉菌的腐蚀, 海洋盐雾的浸蚀以及冰冻等)的影响,因此仪表零件的各种金属材料,非金属材料以及各种油类、保护层等都要根据不同的气候条件加以选用。装有电子钟的仪表板总成,要防止汽车电气设备产生的高频振荡对电子钟走时性能的干扰。2.1.3 界面模块通过该界面实现车速表、转速表、水温表、燃油表、里程指示以及各种报警信号等信息显示。经过初步设想之后,设计出以下三种界面(图3-1、3-2、3-3所示)。图3-1图3-2图3-3图3-1所示方案界面过于简单,并且各种显示模块过于集中,整体感觉单调,缺少美感。图3-2所示方案布局又过于散乱,排列各种显示模块所需的空间较大,在实践中会大大增加成本。经过综合考虑,只有图3-3所示的方案既兼顾到美观、易读的使用方便性又满足了降低实际生产成本的要求。所以最终决定采用如图4-3所示的界面设计。2.2 总体设计框图本设计内容是基于单片机、传感器及数据采集卡构成的汽车仪表采集装置,能实现汽车仪表各个传感器数据的采集。整个系统由传感器,数据采集卡和虚拟仪器PC相连,再由PSI通信反馈回单片机,通过按键开关调节其显示。其总体设计框图如图3-4所示。图3-4 总体设计框图第3章 系统的硬件设计3.1 传感器简介3.1.1 DS18B20温度传感器DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。技术性能描述:(1) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2) 测温范围 55+125,固有测温分辨率0.5。(3) 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。(4) 工作电源: 35V/DC(5) 在使用中不需要任何外围元件(6) 测量结果以912位数字量方式串行传送(7) 不锈钢保护管直径 6(8) 适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温(9) 标准安装螺纹 M10X1, M12X1.5, G1/2”任选(10) PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。3.1.2 CR-6061-1数字油位传感器CR-606系列电容式油位变送器,是为铁路机车、汽车油箱、油罐车、油库等油位的精确测量而量身定做的专门仪表,整机无任何可动或弹性部件,耐冲击、安装方便、可靠性高、精度高、性能价格比好。可安装在各种场合对汽油、柴油、液压油等油位进行准确的测控。也适用于各种非导电液体的测量。性能指标:(1) 检测范围:0.011m(2) 精 度:0.2、0.5级(3) 承压范围:-0.1MPa0.1MPa(4) 探极耐温:-100150(5) 环境温度:-4070(6) 储存温度:-55+125(7) 输出信号:420mA、0-5V、RS485通讯、RS232通讯(8) 供电电压:1228VDC(需经安全栅供电)(9) 固定方式:螺纹安装M201.5、M272,M181.5、M161 法兰安装DN25、DN40、DN50。特殊规格可按要求定制(10) 探极直径:12、16、25(11) 接湿材质:316不锈钢、1Gr18Ni19Ti或聚四氟乙烯(12) 长期稳定性:0.2%FS/年,(13) 温度漂移:0.02%FS/(在070范围内)(14) 温度漂移:0.02%FS/(在070范围内)(15) 防爆等级:本安ExiaC T6 隔爆ExdC T5(16) 防护等级:IP65(17) 本安参数:Ui:28VDC,Ii:93mA,Pi:0.65W,Ci:0.042uf, Li:0mH3.1.3 OHG-01霍尔效应齿轮传感器霍尔效应齿轮齿传感器(GTS)是一种重要的自动化检测元件,尤其是在汽车上的应用日益增加,主要实现位置、速度和方向的检测。近年来,国外关于环保和安全保障的一些立法已对GTS技术提出了新的更高要求。为适应这些要求,技术人员正集中精力开发研制GTS自校准技术。1.产品特点感应类铁金属目标物。数字电流沉输出 ( 集电极开路 ) 。比电磁感应传感器有更好的信躁比,优异的低速性能,输出幅度与转速无关。测量范围的频率响应: 2HZ 20KHZ (与目标物有关)。抗电磁干扰。反向电压和浪涌电压保护。坚固封装,连接器输出端口。2.典型应用齿轮箱 RPM 测量链轮齿速度检测链输送带的速度和距离检测曲轴 / 凸轮轴 RPM 及位置测量脉冲计数速度计 电参数 供电电压: 4.5 24V 负载电流: 40mA 输出电压 ( 输出低电平 ) : 0.4V 输出漏电流 ( 输出高电平 ) : 10 s 开关时间 ( 与外部电路有关 ) 上升 (10 到 90%) 15 s 下降 (90 到 10%) 1 s 测量频率范围(与目标物有关) 最小值 2HZ 3.2 数据采集卡数据采集(DAQ),是指从传感器和其它待测设备等模拟和数字被测单元中自动采非电量或者电量信号,送到上位机中进行分析,处理。数据采集系统是结合基于计算机或者其他专用测试平台的测量软硬件产品来实现灵活的、用户自定义的测量系统。 数据采集卡,即实现数据采集(DAQ)功能的计算机扩展卡,可以通过USB、PXI、PCI、PCI Express、火线(1394)、PCMCIA、ISA、Compact Flash、485、232、以太网、各种无线网络等总线接入个人计算机。3.3 单片机主控模块3.3.1 AT89S52概述AT89S52是一款低功耗、高性能的8位微控制器,内部具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片内Flash存储器可在线重新编程,亦适于通用的编程器。通用的8位CPU与在系统可编程Flash集成在一块芯片上,从而使AT89S52功能更加完善,应用更加灵活;具有较高的性价比,使其在嵌入式控制系统中有着广泛的应用前景。3.3.2 AT89S52的主要性能(1) 与MCS-51单片机产品完全兼容;(2) 8K字节在系统可编程Flash存储器,可在线编程,擦写次数不少于1000次;(3) 具有256字节的片内RAM;(4) 全静态工作模式:0Hz3MHz;(5) 具有三级程序锁定位;(6) 32根可编程I/O口线(P0,P1,P2和P3口);(7) 3个16位定时器/计数器T0,T1和T2,一个看门狗定时器;(8) 8个中断源、6个中断矢量、2级优先权的中断结构;(9) 1个全双工UART串行通道;(10) 2种低功耗节电工作方式:空闲模式和掉电模式;(11) 双数据指针TPTR0和TPTR1;(12) 具有掉电标识符POF;(13) 工作电源电压:4.05.5V。3.3.3 AT89S52的引脚排列及功能AT89S52具有PDIP,PLCC和TQFP三种封装形式,其中PDIP封装的引脚排列如图3.7所示。1. P0口P0口是一组8位漏极开路型双向I/O口,即地址/数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL逻辑门电路,对端口P0口写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,此组口线分时转换地址和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时P0口接收指令字节,而在程序校验时输出指令字节,校验时要求外接上拉电阻。2. P1口P1口是一组带内部上拉电阻的8位双向I/O口。图3.2 AT89S52的封装引脚图P1口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。与AT89S51不同之处是,P1.0和P1.1还可分别作为定时器/计数器2的外部计数输入(P1.0/T2)和触发器输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。P1口除了作为一般的I/O口线外,部分引脚还具有第二功能,如表3.3所列。表3.1 P1口的第二功能管脚第二功能P1.0定时器/计数器T2的外部计数输入,时钟输出P1.1定时器/计数器T2的捕捉/重载触发信号和方向控制P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)3. P2口P2口是一组具有内部上拉电阻的8位双向I/O口。P2口输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚经由内部上拉向外输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高8位地址数据。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。FLASH编程或校验时,P2亦接收高位地址和一些控制信号。4. P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入1时,内部上拉电阻把端口拉高,此时可作为输入端口使用。若外部负载将P3口拉低,则经过内部上拉电阻而向外输出电流(IIL)。P3口可接收一些用于FLASH闪存编程和程序校验的控制信号。P3口除了作为一般的I/O口线外,还具有第二功能,如表3.4所列。表3.2 P3口的第二功能管脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(计数器0外部计数输入)P3.5T1(计数器1外部计数输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)5. 其它(1) RST为复位信号输入端。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。特殊寄存器AUXR(辅助寄存器)(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。(2) ALE/PROG:ALE为地址锁存允许信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。在访问单片机外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置1,可禁止ALE操作。该位置1后,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。此ALE使能标志位的设置在微控制器执行外部程序时无效。PROG为本引脚的第二功能,对FLASH存储器编程期间,该引脚还用于输入编程脉冲。(3) PSEN为程序储存允许输出控制端,是外部程序存储器的读选通信号,当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部程序存储器时,PSEN将不被激活。(4) EA/VPP:EA为内外程序存储器选择控制端。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。(5) XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.3.4 AT89S52的最小系统在引脚18-XTAL2和引脚19-XTAL1两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出脉冲直接进入内部时钟电路,这里选用晶体振荡器的频率为11.0592MHz;引脚为9复位输入端,接上电容,电阻及开关后构成复位电路;引脚20为接地端,引脚40为电源端。AT89S52的最小系统如图3.8所示。图3.3 AT89S52最小系统3.3.5 3 位数码管模块介绍8字高8字位数极性亮度/颜色总点数表面颜色胶体颜色注备0.28英寸/7.00mm3位A- 共阴B- 共阳高亮/红21黑乳白图 3.4 数码管规格图 3.5 数码管管脚顺序图3.4 系统原理图系统原理图大致可分为如下几部分:1.电源电路汽车仪表板卡上的工作电压是 5V,而汽车蓄电池一般提供 12V 电压,所以系统设计了一个 12V 转 5V 的电源电路。12V 的汽车电源经过整流、滤波和稳压,最终输出稳定的 5V 电路板供电电压。3.6 电源电路2.晶振电路P87C581 的晶振引脚为:XTAL1、XTAL2.本系统选用的是 12MHZ 晶振电路。3.7 晶振电路3.复位电路鉴于本系统板卡对瞬态响应性能、时钟源的稳定性及电源监控可靠性等诸多方面因素,本系统采用了比较通用的复位电路,提高了系统的可靠性。在振荡器工作时,将RST脚保持至少两个机器周期低电平(12个振荡器周期)可实现复位。为了保证上电复位的可靠,RST保持低电平的时间至少为振荡器启动时间(通常为几个毫秒)再加上两个机器周期。3.8 复位电路4.掉电保护电路本汽车仪表系统对数据的记录要求较高,实时数据必须及时保存并显示。如果出现无法预料到的突然断电事件,仪表系统应采取相应的措施对数据进行及时保存,这就需要设计一个掉电保护电路,一旦电源低于某个预设的电压值,仪表系统检测到后立刻对当前数据进行保存。本系统将掉电保护电路连至处理器的中断引脚,通过采用中断的方式来触发掉电事件以通知处理器执行相应的动作。3.9 掉电保护电路5.串口电路AT89C52芯片的串口为 TTL 电平,而要连接的外部 PC 的串口为 RS232 电平,故需要采用一块芯片来实现 TTL/RS232 电平转换。本系统采用常用的 MAX232 转换芯片。3.4.1 MAX232芯片简介MAX232芯片是专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。其主要特点如下:1、符合所有的RS-232C技术标准; 2、只需要单一 +5V电源供电; 3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-; 4、功耗低,典型供电电流5mA; 5、内部集成2个RS-232C驱动器; 6、高集成度,片外最低只需4个电容即可工作。MAX232的引脚图如图3.2所示:图3.2 MAX232引脚图MAX232引脚介绍:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。3.5 本章小结本章主要完成了基于虚拟仪器的汽车仪表数据采集的设计。本章主要介绍了传感器、数据采集卡、AT89S52单片机的主要性能和功能以及它的应用。并详细介绍出各部分硬件电路的设计。本设计以芯片AT89S52为核心构成了单片机的基本工作电路,单片机读取传感器的数据并通过LED数码管加以显示。第四章 系统的软件设4.1 LabVIEW软件简介本设计采用LabVIEW软件进行开发设计。LabVIEW是美国NI公司的一种基于G语言的虚拟仪器软件开发工具。它的显著特点是:采用简单易学的图形化编程,提供众多的设备驱动程序和可供用户直接调用且功能强大的函数库和Windows动态链接库函数,实现多线程编程等高级功能。并提供灵活的程序调试手段,既可以设置断点又可以设置探针,在程序运行中观察数据流的变化6。LabvIEW 编写的程序叫虚拟仪器程序,包括软面板设计和流程图设计2部分。软面板代替常规仪器的控制面板,一般由开关、旋钮、表头、显示器和其他部件组成。仪器流程图的设计,是根据仪器功能的要求,利用虚拟仪器开发平台提供的子模板,确定程序的流程图、主要处理算法和所实现的技术方法5-6。流程图与每个仪器的前面板对应,用户能够通过前面板,用鼠标或控件操作仪器。LabVIEW具有功能强大的函数模块库,特别适用于测试和控制系统的开发。结合NI的硬件模块,能够方便的进行采集和分析相关测试数据。考虑到仪表整体功能测试和模块功能测试的需要,整个系统主要包括界面模块和各个功能测试模块7。根据信号类型将仪表功能测试分为:车速表测试模块、发动机转速表测试模块、燃油表测试模块、水温表测试模块等主要功能模块。4.2 LabVIEW串口通信程序设计主要由两部分组成:上位机程序设计和下位机程序设计,而在编写双方通信程序之前,必须先定义好双方的通信协议,采用相应的数据传输方法,这样才能保证数据的可靠性。串行通信是一种常用的数据传输方法,虽然它的传输速度慢,但由于它占用的通信线路少、成本低、容易实现等优点,在数据通信方式上仍占有重要地位。目前,串口通信程序的开发,在Windows操作系统下一般用VB、VC、VF Delphi等许多高级语言编写。当用VB、VC、VF,开发串行通信程序时,开发人员不得不面对非常烦琐的API函数编程;用文本语言编串口通信程序较为复杂,花费的时间较长11。所以在主机通信程序设计中,我们采用LabVIEW图形化语言作为编程语言,它把高级语言中的函数封装为图形功能模块,图标间的连线表示各个功能模块之间的数据传递12。编程方式简单、直观、便于使用。串口通信功能模块包括串口初始化模块、串口读模块以及串口写模块,通过这些模块就可以实现对单片机的控制。4.2.1 VISA串行通信基本功能模块介绍VISA的调用流程如图4-1所示。通过对VISA节点的调用,可以方便、快速地实现系统上位机对下位机的实时监控。打开仪器资源对仪器进行写操作对仪器缓存读操作关闭仪器资源图4-1 VISA仪器控制简单流程在LabVIEW功能模板的FunctionInstrumentI/OVISA程序库中包含进行串行通信操作的一些功能模块:(1)VISA Configure Serial Port节点该节点主要用于串口的初始化,在利用计算机控制串口仪器设备时,会经常用到这个节点在进行串行通信前,首先要配置好串口,即先初始化串口,使计算串口的各种参数设计与仪器设备的串口保持一致,这样才能正确的通信。它的主要参数意义如下:VISA resource name:VISA资源名称,本文指串口号。baud rate:波特率,默认为9600。data bits:一帧信息中的位数,LabVIEW中允许5-8位数据,默认值为8位。stop bits:一帧信息中的停止位的位数,可为1位、1位半或2位。Parity:奇偶校验设置。可为无校验、奇校验或偶校验。flow control:该参数数据类型为簇,用于串行通讯中的握手方式。(2)VISA Read节点(图4-2所示)图4-2 VISA Read节点V该节点为串口读子VI,为本文中的主要节点,将串口中的数据读出,然后利用LabVIEW 的强大数据处理功能对其进行分析处理。主要参数意义如下:ISA resource name:VISA资源名称,本文指串口号。byte count:用于设置所要读的字符数。由于LabVIEW的串行通讯子V1只允许对字符串的读写,因此本文中在进行数据处理时,必须要实现字符串与数字之间的正确转换13。此外,若要读入当前串口中的所有字符,则要执行“VISA Sytes at Serial Port”子VI,用以确定将要读入的确切的字节数,然后将其输出作为VISARead节点的输入即可。(3)VISA Write节点(图4-3所示)图4-3VISA Write节点VISA Write节点的功能是向VISA resource name所代表的仪器或接口写入信息。输入参数VISA resource name是VISA Open函数所返回的,或者“流过”其他VISA函数的,包含了会话信息的VISA资源名;write buffer为字符串类型的写入数据,输出参数dup VISA resource name为输入参数VISA resource name的一个备份,可用于后继的VISA函数调用。整型输出参数return count返回实际写入数据的字节数13。(4)VISA Close节点(图4-4所示)图4-4VISA Close节点主要参数:VISA resource name:VISA资源名称,本文指串口号。本文所用LabVIEW 串口通讯程序的波特率为96O0,无奇偶校验,8位数据位,1位停止位,禁止软、硬件握手。该节点用于将打开的VISA资源关闭,VISA resource name输入参数为包含会话信息的资源名。该函数关闭VISA会话,并释放与之关联的所有资源14。(5)VISA Open节点(图4-5所示)图4-5 VISA Open节点该函数功能为打开一个与VISA resource name所代表仪器资源的会话。会话是VISA resource name参数本身隐含携带的仪器访问逻辑标识,可以同时存在对一个VISA资源的多个访问会话。在调用VISA Open之前VISA resource name参数仅仅是一个资源描述字符串,在函数调用之后,输出参数VISA resource name已经携带了会话信息,可以用于后继的VISA操作。输入参数为包含会话信息的资源名15-16。当完成VISA资源的搜索后,对于搜索到的VISA资源,可以通过VISA Open节点打开,建立计算机与这些VISA资源之间的通信管道。4.2.2 VISA设计方法(1) LabVIEW串口开发过程在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下:图4-6首先需要调用VISA Configure Serial Port完成串口参数的设置,包括所用串口号、比特率、一帧信息中有效数据的位数、停止位、奇偶校验、数据流量控制等,如下图所示。图4-7如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISARead。如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数16。图4-8图4-9在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O BufferSize;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISAResource Name指定的串口之间的会话。(2) VISA属性设置及串口实现首先完成串口的初始化,在此设置波特率为9600b/s,8 位数据位, 1 位停止位,无奇偶校验;其次设置Write/ Read 等相应模块的功能。由于硬件在整个工作期间,以9600bit/s的速率连续向外发送数据,为了数据处理方便,可以采用LabVIEW8.6中的Serial Read With Time-out.vi模块,以保证每次从串口缓存中读出等量偶数个数据。4.3 单片机程序设计本文中所做的研究需要将实际采集到的汽车各种仪表信息存储到单片机中,由单片机提供数据给上位机进而实现数据的显示,再通过PC机的RS-232串行接口与外部设备进行通信,因此需要实现PC机和单片机之间的通信17。本文将论述在LabVIEW环境下PC机与AT89S52单片机之间实现串行通信的方案。4.3.1 系统工作流程下位机的程序包括数据采集模块和串口通信的数据传输模块,数据采集模块首先进行初始化,通过单片机控制A/D 转换模块数据采集功能,A/D 模块将模拟信号转换成数字信号后发出中断,单片机将传输AD 模块采集的信号到缓冲区。串口数据传输模块在串口通信之前,对串口进行初始化,主要包括串口波特率,数据格式,接收中断的设置18。当上位机发送数据给下位机,会引起单片机接收中断,此时进入中断服务程序,单片机接收数据,比较校验和,如果相同,发指令给PC 机确认,最后将采集到的数据通过RS-232串行接口传送到PC 机19。系统工作流程图如下:图4-10 系统工作流程4.3.2 按键子程序流程图键盘扫描查询子程序,是提供人机信息交换的接口。由于采用扫描法,是利用CPU在完成其他工作之余,反复扫描查询键盘接口,根据端口的输入情况,调用不同的按键处理子程序。当按键按下时,利用软件延时去抖动,然后扫描按键位置,读取准确数值,最后完成一次按键处理。按键子程序流程图如图4-11所示。图4-11 按键子程序流程图4.3.3 显示子程序流程图当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。在轮流显示过程中,每位数码管的点亮时间为15ms,由于人的视觉暂留现象及发光二极管的余辉效应,只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。显示子程序流程图如图4-12所示。图4-12 显示子程序流程图4.4 数据采集程序的实现单片机程序用A/D模块进行采集传感器的值,然后用SCI口将采集的值发给PC机。 (1) A/D转换简介在过程控制和仪器仪表中,多由计算机进行实时控制及实时数据处理,计算机所加工的信息总是数字量,而被检测的对象却往往是一些连续变化的模拟量(如温度、压力、速度和流量等),因此需要将模拟量转化成为数字量,以便在计算机中进行运算处理,此过程称为模数(A/D)转换20。进行A/D转换,需要了解以下的基本问题: 采样精度采样精度就是指数字量变化一个最小量是模拟信号的变化量,即通常所说的采样位数。设采样位数为N,则最小的能检测到的模拟量变化值为1/2N。 采样速率采样速率是指完成一次A/D采样所要花费的时间。速率和所选器件的工作频率有很大关系。 滤波为了使采样的数据更准确,必须对采样的数据进行筛选去掉误差较大的数据。通常采用中值滤波和均值滤波来提高采样精度。中值滤波是取3次采样的中间值,均值滤波是取多次采样的算术平均值。 物理量回归在实际应用中,得到稳定的A/D采样值后,还需要把A/D采样值与实际物理量对应起来。A/D转换的目的是把模拟信号转化为数字信号,供计算机进行处理,但必须知道A/D转换后的数值所代表的实际物理量的值,这样才有实际意义21。(2)A/D转换模块的基本编程方法A/D转换编程主要涉及输入时钟寄存器ADCLK($003E)、状态和控制寄存器ADSCR($003C)、数据寄存器ADR($003D)。 A/D转换初始化在程序初始化时就对A/D转换输入时钟寄存器写入控制字节,决定时钟输入源,决定分频示数,是ADC时钟频率达1MHz,使用内部总线时钟,且fbus=2.4576MHz,则初始化程序为:LDA # %00110000 STA ADCLK 启动A/D转换 对A/D转换状态和控制寄存器写入控制字节,选取要转换的通道、决定转换结束数据获取的方式、设置是连续转换还是一次转换:LDA # %00000000STA ADSCR 获A/D转换结果若是中断程序,在A/D中断程序中取得,若是查询方式,通过A/D状态和控制寄存器的第7位取得,本文用到的是查询程序,所以程序如下:BRCLR 7,ADSCRLDA ADR(3) 单片机SCI初始化以下讨论对单片机SCI初始化的具体步骤。 串口波特率的设定通常使用单片机的串口时,选用的晶振比较固定,常用于何微机通信的波特率也相对固定。本设计设定通讯波特率为9600。 串口初始化对单片机SCI初始化程序,具体步骤如下。 定义波特率。一般选择内部总线时钟为串行通信的时钟源,程序如下:/总线频率fbus=2.4576MHz,定义波特率Bt=9600LDA #%00000010STA SCBR 写控制字到SCI控制寄存器1(SCC1)。 设置是否允许SCI、数据长度、输出格式、选择唤醒方法、是否校验等,程序如下:/设置允许SCI,正常码输出、8位数据、无校验LDA #%01000000STA SCC1 写控制字到SCI控制寄存器2(SCC2)。 设置是否允许发送和接受、是中断接受还是查询接收等,程序如下: /设置允许发送、允许接收,查询方式收发 LDA #%00001100STA SCC2用查询方式,可以不对SCI控制寄存器3(SCC3)初始化,另外几个寄存器供后面编程使用,不需要初始化21-22。4.5 LabVIEW各功能模块程序4.5.1 功能测试模块(1)车速表模块车速表的测试需要预先了解设定目标车型的特征参数,如车辆特征系数、车速传感器的传感系数等,然后通过数据通信卡(CAN总线信号)将特征参数下载到被测仪表,按照测试要求产生脉冲信号。信号的幅值、频率可以通过手动自动进行调整,车速信号具备超速报警提示功能,根据设定的超速门限值,高于该门限值时,通过主界面前面板上的超速报警灯闪烁来提示。测试过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康防预知识培训总结课件
- 四川省绵阳市游仙区2025-2026学年八年级上学期开学历史试题(含答案)
- 俄国农奴制改革
- 伤寒护理课件
- 2025-2026学年辽宁省铁岭市高三物理第一学期期末考试试题
- 广东省汕尾市2025年物理高三上期末综合测试模拟试题
- 安徽省安庆市2025-2026学年物理高三上期末联考试题
- 金融总工委管理办法
- 企业疫情安全培训课程课件
- 淘宝代收评价管理办法
- 微积分(第三版)课件:常微分方程
- (高清版)DZT 0079-2015 固体矿产勘查地质资料综合整理综合研究技术要求
- 钝感力读后感课件
- (完整word版)软件投标书模板
- 甲醇制氢生产装置设计
- 纳思达在线测评试题
- PHQ-9抑郁评分量表
- 教师工作培训手册
- 《公差配合与测量技术》课件
- 激光束传输与变换-第九讲课件
- 各地招聘辅警考试真题
评论
0/150
提交评论