摘 要
本文详细介绍了一种基于ARM处理器LPC2368的超声测距系统。该系统是以空气中超声波的传播速度为确定条件,利用发射超声波与反射回波时间差来测量待测距离。本系统包括上位机监控软件和下位机嵌入式测量系统两部分。
超声测距系统的设计原理以达到更优的系统性能为目的。为适合不同的速率变化的运动物体的距离,嵌入式系统设置了正常测距和快速测距两种显示模块,即对于变化快的物体,采用快速测量模式;对于变化慢的物体,采用正常测量模式。
论文概述了超声波的一些特性,介绍了超声波测距的基本原理,对于影响测距系统的一些主要参数进行了讨论以及对嵌入式系统ARM和开发环境做了简单介绍。并且在介绍超声测距系统功能的基础上,提出了系统的总体设计,包括嵌入式系统测距功能、系统设置功能、显示功能和串口通信的方案设计以及监控界面远程监控、远程修改和数据存取等功能的设计。
最后对整个系统进行验证。实验表明,监控软件和嵌入式系统的各项功能均达到设计要求。最后文中分析了系统设计的不足及如何对系统进行完善提出了一些改进建议。
关键词:超声传感器,超声测距系统,嵌入式系统ARM,PC机串口通信
I
本科毕业设计(论文)
Abstract
This essay presents an ultrasonic ranging system based on the ARM processor LPC2368. This system uses ultrasonic echo and reflection of the time difference to measure the distance with the definite condition of the propagation velocity of ultrasonic spreading in the air. It includes two parts: one is PC monitoring software; the other is a machine embedded under measuring system.
The design principle of the ultrasonic ranging system sets an aim of optimizing the performance of this system. In order to be suited to the different moving objects with different rates, the embedded system sets two display module of normal ranging and tachometric ranging, that is adopting the mode of tachometric raging in terms of objects whose rate changing faster; while adopting the mode of normal raging in terms of objects whose rate changing slower.
This essay summarizes some features of ultrasonic, introduces the basic principle of ultrasonic ranging, analyses some main parameters affecting the ranging system, and gives a brief introduction of the embedded system ARM and the development environment. On the base of the introduction of the function of the ultrasonic ranging system, it also puts forward the design of the whole system. That includes the ranging function of the embedded system, the setup function, the display function, the serial interface communication design and the design of remote monitor interface, remote registry and data access. At last, it gives the verification of the whole system. As the data shows in the experiments, all the functions, such as monitoring software and the embedded system, are up to the standards of design. At the end of this essay, it analyses the shortage of the design in this system and suggestion to improve this system.
Key words: ultrasonic sensor, ultrasonic ranging system, embedded system ARM, PC serial communication
II
第一章 前言 ...................................................................................................................... 1 1.1 课题背景 ................................................................................................................... 1 1.2超声测距发展概况 ................................................................................................... 1 1.3本课题研究内容及任务 ........................................................................................... 3 第二章 设计基础 ............................................................................................................... 4 2.1超声概述 ................................................................................................................... 4 2.1.1超声波及其波形 ................................................................................................ 4 2.1.2反射与折射 ........................................................................................................ 4 2.1.3声波的衰减 ........................................................................................................ 6 2.2超声波测距原理 ....................................................................................................... 6 2.3超声波测距主要参数考虑 ....................................................................................... 7 2.3.1传感器的指向角 ................................................................................................ 7 2.3.2测距仪的工作频率 ............................................................................................ 7 2.3.3温度对声速的影响 ............................................................................................ 8 2.4REALVIEW MDK软件介绍 ........................................................................................ 9 2.5嵌入式微处理器介绍 ............................................................................................... 9 第三章 系统总体设计 ..................................................................................................... 11 3.1 系统总体结构 ....................................................................................................... 11 3.2上位机的功能 ......................................................................................................... 11 3.3下位机的功能 ......................................................................................................... 12 3.4 系统通信网络设计 ............................................................................................... 13 3.4.1 串行通信基本概念 ......................................................................................... 13 3.4.2 串行通信协议 ................................................................................................. 13 3.4.3系统通信设计 .................................................................................................. 14 第四章 下位机系统的具体实现 ..................................................................................... 15 4.1下位机系统的整体结构 ......................................................................................... 15 4.1.1下位机系统的组成 .......................................................................................... 15 4.1.2 下位机系统的硬件电路构成 ....................................................................... 16 4.2下位机测距功能的实现 ......................................................................................... 16 4.2.1超声波测距模块的时序图 .............................................................................. 16 4.2.2测距功能的设计 .............................................................................................. 17 4.3下位机设置功能的实现 ......................................................................................... 18 4.3.1下位机设置功能的显示结构 .......................................................................... 18 4.3.2下位机键盘输入的设计 .................................................................................. 19 4.3.3报警设置、频率设置和序号设置功能的实现 .............................................. 20 4.3.4校准设置功能的实现 ...................................................................................... 21 4.4下位机显示功能的实现 ......................................................................................... 22 4.4.1 KM12232B 液晶模块管脚说明 ..................................................................... 22 4.4.2下位机显示功能的程序结构 .......................................................................... 23 4.5下位机通信功能的实现 ......................................................................................... 23 4.5.1下位机通信程序的结构 .................................................................................. 23
本科毕业设计(论文)
4.5.2下位机对不同指令的操作 .............................................................................. 24 4.6下位机系统性能测试 ............................................................................................. 25 4.6.1测距性能测试 .................................................................................................. 25 4.6.2系统设置功能的测试 ...................................................................................... 25 4.6.3 同步时钟的测试 ............................................................................................. 29 第五章 上位机系统的具体实现 ..................................................................................... 30 5.1上位机系统的整体结构 ......................................................................................... 30 5.1.1上位机系统的组成 .......................................................................................... 30 5.1.2上位机显示主界面 .......................................................................................... 30 5.1.3实时监控曲线界面 .......................................................................................... 31 5.1.4数据查看界面 .................................................................................................. 32 5.2上位机通信功能的实现 ......................................................................................... 33 5.2.1MSComm控件属性.......................................................................................... 33 5.2.2上位机的通信设计 .......................................................................................... 33 5.2.3上位机的通信实现 .......................................................................................... 33 5.3上位机数据的存储与读取 ..................................................................................... 34 5.3.1上位机数据的存取 .......................................................................................... 34 5.3.2上位机的数据读取设计 .................................................................................. 35 5.3.3上位机的数据储存设计 .................................................................................. 35 5.4上位机系统性能测试 ............................................................................................. 36 5.4.1上位机指令测试 .............................................................................................. 36 5.4.2上位机报警测试 .............................................................................................. 37 5.4.3上位机存取测试 .............................................................................................. 38 第六章 结论 ................................................................................................................... 39 致 谢 ............................................................................................................................... 40 参考文献 ........................................................................................................................... 41
4
第一章 前言
1.1 课题背景
随着计算机技术、自动化技术和工业机器人的不断发展,超声波检测技术得到了越来越广泛的应用。其中超声波测距是一种可定向发射、指向性好、利用微电子技术实现的非接触式测距方式。 目前,非接触式测距常采用超声波、激光和雷达。但激光和雷达测距仪造价偏高,不利于广泛的普及应用,在某些应用领域有其局限性,相比之下,超声波方法具有明显突出的优点:
1. 超声波对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强、有毒等恶劣环境中。
2. 超声波传感器结构简单、体积小、费用低、信息处理简单可靠,易于小型化与集成化,并且可以进行实时控制。
3. 超声波的传播速度仅为光波的百万分之一,并且指向性强,能量消耗缓慢,因此可以直接测量较近目标的距离。
4. 超声波对色彩、光照度不敏感,可适用于识别透明、半透明及漫反射差的物体(如玻璃、抛光体)。
目前,对于超声波精确测距的需求也越来越大,如油库和水箱液面的精确测量和控制,物体内气孔大小的检测和机械内部损伤的检测等。在机械制造,电子冶金,航海,宇航,石油化工,交通等工业领域也有广泛地应用。此外,在材料科学,医学,生物科学等领域中也占具重要地位。
1.2超声测距发展概况
超声检测主要是利用超声波作为载体,即通过超声在媒质中的传播、散射、吸收、波形转换等,提取反映媒质本身特性或内部结构的信息,达到检测媒质性质、物体形状或几何尺寸、内部缺陷或结构的目的[1]。我国无损检测技术是从无到有,从低级阶段逐渐发展到应用普及的现阶段水平。超声波检测仪器的研制生产,也大致按此规律发展变化。五十年代,我国开始从国外引进超声波仪器,多是笨重的电子管式仪器。如英国的UCT-2超声波检测仪,重达24Kg,各单位积极开展试验研究工作,在一些工程检测中取得了较好的效果。五十年代末六十年代初,国内科研单位进口了波兰产超声仪,并进
1
本科毕业设计(论文)
行仿制生产。随后,上海同济大学研制出CTS-10型非金属超声检测仪,也是电子管式,仪器重约20Kg,该仪器性能稳定,波形清晰。但当时这种仪器只有个别科研单位使用,建工部门使用不多。直至七十年代中期,因无损检测技术仍处于试验阶段,未推广普及,所以仪器没有多大发展,仍使用电子管式的UCT-2,CTS-10型仪器。
1976年,国家建委科技司主持召开全国建筑工程检测技术交流会后,国家建委将混凝土无损检测技术列为重点攻关项目,组织全国6个单位协作攻关。从此,无损检测技术开始进入有计划,有目的的研究阶段。随着电子工业的飞速发展,半导体元件逐渐代替了电子管器件,更有利于无损检测技术的推广普及。如罗马尼亚N2701型超声波测试仪,是由晶体管分立元件组成,具有波形和数码显示,仪器重量10Kg。七十年代,英国C.N.S公司推出仅有 3.5Kg重的PUNDIT便携式超声仪。
1978年10月,中国建筑科学院研制出JC-2型便携式超声波检测仪。该仪器采用TTL线路,数码显示,仪器重量为5Kg。同期研制出的超声检测仪器还有SC-2型,CTS-25型,SYC-2型超声波检测仪。从此,我国有了自己生产的超声波仪器,为推广应用无损检测技术奠定了良好的基础。
随着检测技术研究的不断深入,对超声检测仪器的功能要求越来越高,单数码显示的超声检测仪测读会带来较大的测试误差。进一步要求以后生产的超声仪能够具有双显及内带有单板机的微处理功能。随后具有检测,记录,存储,数据处理与分析等多项功能的智能化检测分析仪相继研制成功[2]。超声仪研制呈现一派繁荣景象。其中,煤炭科学研究院研制的2000A型超声分析检测仪,是一种内带微处理器的智能化测量仪器,全部操作都处于微处理器的控制管理之下,所有测量值,处理结果,状态信息都在显像管上显示出来,并可接微型打印机打印。其数字和波形都比较清晰稳定,操作简单.,可靠性高,具有断电存储功能,其串口可以方便用户对仪器的测试数据进行后处理及有关程序的开发。与国内同类产品相比,设计新颖合理,功能齐全,在仪器设计上有重大突破和创新,达到了国际先进水平。
目前,计算机市场价格大幅度下降,采用非一体化超声波检测仪器,计算机可发挥它一机多用的各种功能,实际上是最大的节约。过去那种全功能的仪器设置,还不如单独的超声仪,计算机可充分发挥各自特点。高智能化检测仪器只能满足检测条件,使用环境,重复性测试内容等基本情况一样,才可充分发挥其特有功能。仪器设计也应从实际情况出发,才能满足用户的要求。综上所述,我国超声波仪器的研制与生产,有较大发展,有的型号已超过国外同类仪器水平。
2
本科毕业设计(论文)
1.3本课题研究内容及任务
超声波检测技术是以超声波作为采集信息的手段,能在不损坏和不接触被测量对象的情况下探测对象。距离是在不同的场合和控制中需要检测的一个参数,超声波测距是一种很有效的测量方法,有着广泛的应用。本文介绍一套能够对多个液位进行测量的超声波系统。主要工作内容包括以下几点:
1. 开发一套具有远程监控和远程修改功能的上位机软件。 2. 要求上位机软件具备数据存取、曲线绘制等功能。
3. 开发出基于ARM7处理器LPC2368的超声测距下位机系统。
4. 要求该嵌入式系统实现能实现正常模式和快速模块两种方式下的测量,并完成同步时钟的显示。
5. 要求该嵌入式系统具备报警设置、周期设置、校准设置和序号设置等功能。 6. 要求该嵌入式系统完成能与上位机完成串口通信,可向上位机发送测量数据并接受上位机的指令。
3
本科毕业设计(论文)
第二章 设计基础
2.1超声概述
2.1.1超声波及其波形
我们生活的世界充满了各种可听的声信号。在科学史上,人们很久以前对声音信号就有了认识,声学是最早发展的学科之一。我国两千多年前的先秦时期,在乐律和乐器的研究方面,对声学的发展做出了重要的贡献。在国外,19世纪,声学已成为具有现代意义的科学并发展到相当高的水平。然而由于超声是人耳听不到的信号,直到18世纪,人们在研究蝙蝠、海豚等动物时,才推测自然界中存在超声。
物理学上把每秒钟振动的次数定义为频率,它的单位是赫兹(Hz)。我们人类耳朵能听到的声波频率为20Hz~20000Hz。当声波的振动频率小于20Hz或大于20KHz时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为超声波,或称超声。声波的速度越高,越与光学的某些特性如发射定律、折射定律相似[3]。由于声源在介质中施力方向与波在介质中传播方向不同,声波的波形也不同。一般有以下几种:
1.纵波
质点振动方向与传播方向一致的波,称为纵波。它能在固体、液体和气体中传播。 2.横波
质点的振动方向与传播方向相垂直的波,称为横波。它只能在固体中传播。 3.表面波
质点的振动介于纵波和横波之间,沿着表面传播,振幅随着深度的增加而迅速地衰减,称为表面波。表面波只在固体地表面传播。 2.1.2反射与折射
超声波在媒质中的反射、折射、衍射、散射等传播规律,与可听声波的规律没有本质上的区别。当超声波从一种介质传播到另一种介质时,在两介质的分界面上,一部分能量反射回原介质的波称为反射波;另一部分则透过分界面,在另一介质能继续传播 的波称为折射波,如图2-1所示。
4
本科毕业设计(论文)
β 折射波 α 入射波 α’ 反射波 图2-1 超声波反射与折射图 其反射与折射满足如下规律: 1.反射定律
入射角a的正弦与反射角a’的正弦之比,等于波束之比。当入射波和反射波的波形一样时,波速一样,入射角a即等于反射角a’。
2.折射定律
入射角a的正弦与折射角β的正弦之比,等于入射波中介质的波速v1与折射波中介质的波速v2之比,即
sin1 (2-1) sin23.反射系数
当声波从一种介质向另一种介质传播时,因为两种介质的密度不同和声速在其中传播的速度不同,在分界面上声波会产生反射和折射,反射声强Ir与入射声强 之比,称为反射系数,反射系数R的大小为 IZCOSZ1COS2) (2-2) RR(2IOZ2COSZ1COS式中: 为反射声强;, 为入射声强; 为第一介质的声阻抗: 为第二介质的声阻抗。 在声波垂直入射时,0 ,上式可化简为 ZZ12) (2-3) R(2Z2Z1若声波从水中传播到空气,在常温下它们的声阻抗约为 ,
Z11.44106,Z24102,代入上式则得 。这说明当声波从液体或固体传播到气体,
或相反的情况下,由于两种介质的声阻抗相差悬殊,声波几乎全部被反射。
5
本科毕业设计(论文)
2.1.3声波的衰减
声波在介质中传播时会被吸收而衰减,气体吸收最强而衰减最大,液体其次,固体吸收最小而衰减最小,因此对于给定强度的声波,在气体中传播的距离会明显比在液体和固体中传播的距离短。另外声波在介质中传播时衰减的程度还与声波的频率有关,频率越高,声波的衰减也越大,因此超声波比其他声波在传播时的衰减更明显。
衰减的大小用衰减系数 表示,其单位为dB/m,通常用 10dB/mm表示。在一般探测频率上,材料的衰减系数在一到几百之间,如水及其他衰减材料 为 (1~4)103 dB/mm。假如 为 1dB/mm,则声波穿透1mm距离时,衰减为10%;穿透20mm距离时,衰减为90%。
52.2超声波测距原理
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常
用于距离的测量。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测量距离领域得到了广泛的应用。超声测距方法有脉冲回波法、共振法和频差法。其中脉冲回波法测距最为常用,它主要基于超声测距回波信号的识别,多采用模拟方法,用电路来实现。
图2-2超声测距原理图
如图2-2所示,其原理是超声传感器发射超声波,在空气中传播至被测物,经反射后由超声传感器接收反射脉冲,测量出超声脉冲从发射到接收的时间,己知超声波声速V的前提下,利用:
S=
1VT 2发 h d 收 S (2-4)
即可计算得传感器与反射点之间的距离S,测量距离
6
本科毕业设计(论文)
h2s()d= (2-5) 22当S>>h时,则d≈S,即:
1dVT (2-6)
22.3超声波测距主要参数考虑
2.3.1传感器的指向角
传感器的指向角是声束半功率点的夹角,是影响测距的一个重要技术参数,记为,它直接影响测量的分辨率。对圆片传感器来说,它的大小与工作波长λ,传感器半径r有关[4]。由
(2)sin(2)1.615 (2-7)
选f040KHZ 时,Cf08.5mm。当ƒ0选定后,指向角近似与传感器 半径成反比。指向角愈小,空间分辨率愈高,则要求传感器半径r愈大。 鉴于目前电子市场的压电传感片规格有限,为降低成本,在不降低空间分辨率的条件下,选用国产现有压电传感器片最大半径r=6.3mm,故
2arcsin(1.615)75o2r (2-8)
2.3.2测距仪的工作频率
空气中超声波的衰减系数为:
asAf2Bf4 (2-9)
所以,空气中超声波的衰减对频率f很敏感,要求合理选择超声波频率,一般在40KHz左右,太高频率的超声波在空气中是无法传播开去的[5]。
传感器的工作频率是测距系统的主要技术参数,它直接影响超声波的扩散和吸收损失,障碍物反射损失,背景噪声,并直接决定传感器的尺寸。
工作频率的确定主要基于以下几点考虑:
1.如果测距的能力要求很大,声波传播损失就相对增加,由于介质对声波的吸收与声波频率的平方成正比,为减小声波的传播损失,就必须降低工作频率。
2.工作频率越高,对相同尺寸的还能器来说,传感器的方向性越尖锐,测量障碍物
7
本科毕业设计(论文)
复杂表面越准,而且波长短,尺寸分辨率高,“细节”容易辨识清楚,因此从测量复杂障碍物表面和测量精度来看,工作频率要求提高。
3.从传感器设计角度看,工作频率越低,传感器尺寸就越大,制造和安装就越困难。 综上所述,由于本测距仪最大测量量程不大,因而选择测距仪工作频率在40KHz。这样传感器方向性尖锐,且避开了噪声,提高了信噪比,虽然传播损失相对低频有所增加,但不会给发射和接收带来困难。 2.3.3温度对声速的影响
由2.2可知,声速的大小线性的决定了测距系统的测量精度。空气中传播的超声波是由机械振动产生的纵波,由于气体具有反抗压缩和扩张的弹性模量,气体反抗压缩变化力的作用,实现超声波在空气中传播。因此,超声波的传播速度受气体的密度、温度及气体分子成份的影响,即:
BCs=
(2-10)
式中:Cs为超声波声速;B为气体的弹性模量;为气体的密度。 气体弹性模量,由理想气体压缩特性可得:
BP (2-11)
式中:为定压热容与定容热容的比值,空气为1.40;P为气体的压强。而气体的压强公式为:
RTRTVM (2-12) P=
式中:R为普适常量8.134kg/mol;T为气体温度K(绝对温度);M为气体分子量;空气为28.810kg/mol所以:
3RTCs=
M (2-13)
由上式可知,温度对超声波在空气中的传播速度有明显的影响。其变化公式为:
Cs=20.067T(m/s) (2-14)
式中:T为气体温度K(绝对温度)。由于该测距系统用于室内测量,且量程也不大,温度可以看作定值。在常温20℃下,声音在空气中的传播速度可依据上式计算出为344m/s。但当需要精确确定超声波传播速度时,必须考虑温度的影响。
8
本科毕业设计(论文)
2.4RealView MDK软件介绍
在中国的单片机开发者中,Keil Software公司推出的Keil uVision系列软件是最为经典的单片机软件集成开发环境。ARM公司收购Keil公司后,在最大程度保持uVision软件的风格基础上推出了ARM RealView MDK平台[6]。ARM RealView MDK开发平台主要具有如下特点:
采用Keil uVision3的开发环境和界面,给单片机用户的升级带来极大的方便。 具有windows风格的可视化操作界面,界面友好,使用极为方便。 支持汇编语言,C51语言以及混合编程等多种方式的单片机设计。
集成了非常全面的ARM处理器的支持,能够完成ARM7、ARM9以及ARM cortex-M3等处理器的程序设计和仿真。
集成了丰富的库函数,以及完善的编译连接工具。
提供了并口、串口、A/D、D/A、定时器/计数器及中断等资源的硬件仿真能力,能够帮组用户模拟时间硬件的执行效果。
可以与多款外部仿真器联合使用,提供强大的在线仿真调试能力。
内嵌RTX-51 Tiny和RTX-51 FULL内核,提供了简单而强大的实时多任务操作系统的支持。
在开发界面中支持多个项目的程序设计。
支持多级代码优化,最大限度地帮助用户精简代码体积。
由于Keil uVision具有最为广泛的用户群,因此相应的代码资源非常丰富,读者可以轻松地找到各类编程资源以加速学习和开发过程。
2.5嵌入式微处理器介绍
LPC2368是一款基于ARM的微控制器,适用于为了各种目的而需要进行串行通信的应用[7]。ARM7TDMI-S处理器,可在高达72MHz的工作频率下运行,并拥有高达512kB的片内Flash程序存储器,具有在系统编程(ISP)和在应用编程(IAP)功能。单个Flash扇区或整个芯片擦除的时间为400ms,256字节编程的时间为1ms。Flash程序存储器在ARM局部总线上,可以进行高性能的CPU访问。
1.定时器
LPC2368处理器拥有4个32位的定时器/计数器。每个定时器带有一个可编程的32
9
本科毕业设计(论文)
位预分频器,在连续工作情况下,可在匹配时可选择产生中断。在匹配时,可选择产生中断停止定时器运行和复位定时器。此外,每个定时器包含4路32位的捕获通道,可以在输入信号变化时捕捉定时器的瞬时值,产生中断。
2.RTC时钟
LPC2368处理器自带的实时时钟可用来对日期及时分秒计时、记录等。其计数时钟可以通过对Fpclk进行分频得到,它的基准时钟分频器允许调节任何频率高于65.536kHz的外设时钟源,并产生一个32.768kHz的基准时钟(每秒计数总数是32768)。
3.通用I/O口
LPC2368处理器拥有70个的通用I/O管脚,主要用于驱动LCD显示模块、控制片外器件和检测数字信号。
4.UART 通信接口模块
LPC2368处理器有四个UART模块。四个模块的功能基本相同,只是UART1可以作为一个完整的Modem接口。
10
本科毕业设计(论文)
第三章 系统总体设计
3.1系统总体结构
系统由上位机与下位机构成,通过通信网络进行数据交换。首先由上位机以广播通讯方式发送消息,然后由下位机根据本机的序号(地址)对消息进行处理。若消息与本机地址匹配,则回复收到信息并进行相应处理,实现点对点通信;若消息与本机地址不匹配则不对其处理。上位机发送的消息后未收到由上位机发送的回复则由上位机提示重发信息。如图3-1所示:
系统总体结构 上位机 通 信 网 络 下位机02 „„ 下位机01 图3-1 系统总体结构
下位机N 3.2上位机的功能
本系统的上位机软件由Visual C++6.0开发软件编写,具有良好的可视效果,功能包括远程监控、远程修改、测距报警、操作历史记录和历史数据记录等。如图3-2所示:
数据收发 实时监控曲线 声音报警 测 操距 上位机软件 作 报故 警 障报警记录 记 录 同步时钟 历史数据记录 图3-2 上位机功能构成图
11
本科毕业设计(论文)
数据收发:由上位机可向下位机发送同步和修改指令。同步指令主要用于上位机与对应序号的下位机点对点通讯。首先,上位机将系统时间发送给下位机,实现系统时钟同步,然后再由下位机将系统的报警距离设置值、发射周期值以及所测的距离值发送给上位机,实现信息同步。修改指令主要是用于通过上位机修改下位机的设置值。
历史记录:操作历史记录主要用于记录报警、修改等事件。历史数据记录主要用于记录对应下位机的测量数据。
实时监控曲线:主要根据测量值绘制24小时监控曲线。 测距报警:主要实现声音报警功能。
3.3下位机的功能
超声波测距系统下位机包含测距功能、系统设置功能、显示功能和串口通信功能四大功能。如图3-3所示。
测量显示 测距功能 显 显 示 报警显示 ARM 功 时钟显示 能 设置显示 串口通信功能 图3-3下位机功能构成图
测距功能:利用超声波的反射的原理,测出障碍物的距离。
显示功能:系统显示功能主要包括测量距离的显示、时钟显示和报警显示。系统显示分为两种模式:正常测量模式和快速测量模式。在正常测量模式下,测量值和时钟每隔2S交替显示;而在快速测量模式下,则只显示测距值。报警显示则是在测量值小于报警值时出现显示。
系统设置功能:包括报警设置、周期设置、校准设置和序号设置。报警设置是报警距离值设置,当被测距离过近时,显示警报。周期设置是超声波发射周期设置,可根据测量距离的变化速度可以设置相应的周期值。当发射周期小于4S时,系统则认为进入快速测距模式,只显示测距值。校准设置是下位机的零刻度值设置,当传感器的安装位
12
系统设置功能 报警设置 周期设置 校准设置 序号设置 本科毕业设计(论文)
置不同时,可以根据需要设置相应的零刻度值。序号设置是下位机的通讯地址设置,只有当上位机发送的指令与下位机序号相同时,下位机才执行相应的操作。
串口通信功能:用来实现下位机与通信网络的信息交换。包括地址、指令和数据的信息交换。
3.4 系统通信网络设计
3.4.1 串行通信基本概念
串口通信,是在一些联络信号的控制下,使用一对传输线,将数据的各位按照时间顺序依次传送[8]。串行通信的特点:
由于在一条传输线上既传输数据信息,又传输控制联络信息,这就需要一系列的约定,从而识别一条线上传送的信息流中,哪一部分是数据信号,哪一部分是联络信号。
串行通信的信息格式有异步和同步信息格式。与此对应,有异步串行通信和同步串行通信。
由于串行通信中信息逻辑定义与TTL不兼容,故需要逻辑电平转换,以提高信息传输的可靠性。
为降低通信线路的成本和简化通信设备,可用现存信道(如电话、电报信道等),配以适当的通信接口,在任意两点之间实行串通信。 3.4.2 串行通信协议
(1)异步传输协议:也称起止式异步协议,其特点是通信双方以一个字符作为数据传输单位,且发送方传送字符的间隔时间是不定的。在传输一个字符时总是以起始位开始,以停止位结束。
(2)面向字符的同步传输协议:其特点是一次传送由若干个字符组成的数据块,而不是只传送一个字符,并规定10个特殊字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息。
(3)面向比特的同步传输协议:其特点是所传输的一帧数据可以是任意位,而且是靠约定的位组合模式,而不是靠特定的字符来标志帧的开始和结束。
13
本科毕业设计(论文)
3.4.3系统通信设计
本系统的通信网络采用RS-232协议,串口通信设置为:波特率115200,1位起始位,8位数据位,无奇偶校验位,1位停止位。上位机采用一个字符驱动事件;下位机采用串口接收中断。整个系统采用统一的23位通讯消息,其中包含2位地址位,2位指令位,3位数据位以及14位时间位。如图3-4所示。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 、2位:保留位。 、4位:是消息的地址信息,主要在上位机以广播方式发送消息时,下位机能监听消3 息,然后比较本机地址,判断是否执行消息。 、6位:是指令位,本系统采用的指令有JS、PP、JC、BJ、PL和QX等,见表3-1。 5 、8、9位:是不同指令所带的数据信息。在JC指令中三位分别对应检测距离的百、7 十、个位(单位cm);在BJ指令中7位对应报警设置第一位,8位对应报 警设置第二位,9位为保留位;在PL指令中7位对应频率设置第一位,8 位对应频率设置第二位,9位为保留位;在其他指令中,均为保留位。 10-23位:是时间位。10-13位对应四位年信息;14-15位对应两位月信息;16-17位对 18-19位对应两位小时信息;20-21位对应两位分钟信息;应两位日信息; 22-23位对应两位秒钟信息。 图3-4 通讯消息的组成 表3-1 指令对应表 指令名称 指令缩写 指令描述 匹配(同步) PP 是上位机向下位机发送的同步指令 JS 结束 下位机接收上位机指令后,回复的结束指令。也是上位机判断下位机是否收到信息的依据。 检测(测量值) JC 是下位机向上位机发送测量距离值时所带的指令。 BJ 报警 是系统修改报警的指令 频率(周期) PL 是系统修改频率的指令 QX 取消 是上位机向下位机发送指令时,取消后,由下位机反馈给上位机的信息。
14
本科毕业设计(论文)
第四章 下位机系统的具体实现
4.1下位机系统的整体结构
4.1.1下位机系统的组成
下位机系统由测距模块、系统设置模块、液晶显示模块和串口通信模块四部分组成。整体结构如图4-1所示。
(1)测距模块根据设置的频率发射脉冲信号驱动超声波模块发射超声波信号,遇到障碍后信号返回,超声波测距模块接收信号后,产生下降沿,由处理器的定时器捕获寄存器捕获并产生中断,关闭定时器产生时差,结合零刻度校准值计算出测量距离。
(2)系统设置模块,主要包括发射脉冲的频率设置、报警距离设置、零刻度校准设置和序号设置。其中,频率设置和报警距离设置可由键盘和上位机共同修改。零刻度校准设置和序号设置主要在现场由键盘实现设备设置。
(3)液晶显示模块实现在LCD显示屏上显示系统的一些信息,包括测量距离、系统时间、设置界面和报警提示。设置界面是下位机系统根据键盘操作将系统设置的树状目录有选择性的显示。报警提示是将测距模块算出的测量距离值与报警设置值比较之后,把测量距离值和报警提示显示在液晶显示器上。
(4)串口通信模块主要将测量所得的距离通过RS232协议发送给上位机显示,并接受由上位机发送的信息。从而形成整个系统的通信网络。 序号 打开定时器 发射信号 根据时差报计算距离 警 接收信号 捕获中断 零刻度校准 设置发射频率 设置报警距离 设置系统 键盘输入 图4-1 下位机嵌入式系统的结构图
15
串口通信 液晶显示屏 RTC同步时钟 序号设置 本科毕业设计(论文)
4.1.2 下位机系统的硬件电路构成
ARM处理器与外围设备的电路连接如图4-2所示。ARM的输出管脚与超声波模块的发射端相连,作用是产生脉冲信号驱动超声波模块发射超声波信号。ARM的定时器捕获中断管脚与超声波模块的接收端相连,作用是捕获超声波模块在接收到返回信号后产生的下降沿。ARM的输入管脚与键盘开关相连,用来修改系统设置值。ARM的通用输出管脚与液晶显示模块相连,用于驱动液晶模块并在模块上显示所要输出的结果。ARM的UART1管脚与RS232通信模块相连,用于与上位机通信。
硬件模块电路构成 液晶显示模块 通用输出管脚 超声波测距模块 定时器捕获中断管脚 ARM处理器 UART1管脚 键盘输入开关 通用输入管脚 RS232通信模块 图4-2 硬件电路构成图
4.2下位机测距功能的实现
4.2.1超声波测距模块的时序图
图4-3 超声波时序图
16
本科毕业设计(论文)
超声波测距模块时序,如图4-3所示。表明你只需要提供一个 10uS 以上脉冲触发信号,该模块内部将发出 8个 40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:us/58=厘米或者 us/148=英寸;或是:距离=高电平时间*声速(340M/S)/2。 4.2.2测距功能的设计
下位机测距功能主要利用超声波的发射到接收的时差,计算出相应距离。具体程序实现过程如图4-4所示。
定时器0(0.1s产生中断) N 是否在测距模 Y 分频寄存器(CT)+1 N CT=设置分频数f? Y CT置 发射驱动脉冲,打开定时 跳出定时器0中断 捕获下降沿中断 产生时差 根据零刻度补偿计复位定时器3 跳出定时器3中断 图4-4 测距功能程序结构图
首先,由定时器0每隔0.1S产生一次中断,查询处理器是否处于测距状态,若处
17
本科毕业设计(论文)
理器不处于测距状态,则跳出定时器0的中断。若处理器处于测距状态,则是分频寄存器CT实现加1。根据设置,判断分频寄存器的值是否等于设置周期。若不相等,则跳出定时器0的中断。则若相等,则先将分频寄存器清零,然后发射脉冲信号,并同时打开定时器3开始计时。
超声波测距模块收到处理器发送的脉冲信号后,驱动模块发射探头发送8个40kHz 的超声波信号,利用超声波反射原理,遇到障碍后返回,接收探头检测回波信号,产生下降沿。由处理器的定时器捕获中断通道捕获下降沿信号,产生中断。
进入中断后,首先关闭定时器3,产生时差。再利用时间差结合零刻度补偿算出距离值。最后复位定时器3,跳出定时器3的中断。
因为在脉冲触发信号到模块内部发出信号之间存在着一段固定的时间差,故需要加上这一部分的补偿,故最后所得的计算公式为:
距离= (时间差-390)/58+零刻度补偿 (4-1)
其中距离单位为厘米(cm);时间单位为微秒(us);-390为驱动电路的时间补偿。
4.3下位机设置功能的实现
4.3.1下位机设置功能的显示结构
设置功能的显示分为三层。主要用于实现:报警、频率、校准和序号四大功能的实现。如图4-5所示。 测距 报警 第一位 第二位 设置 频率 校准 序号 第一位 第二位 确认 取消 第一位 第二位 图4-5 设置功能显示结构图
第一层目录分为测距和设置,在测距状态下,系统将实现自动测距功能,而通过设置可以到达二层目录;第二层目录为设置子目录包含报警、频率、校准和序号四项。第
18
本科毕业设计(论文)
三层分别为第二层中各项的子目录:分别是报警第一位设置、报警第二位设置、频率第一位设置、频率第二位设置、校准确认、校准取消、序号第一位设置和序号第二位设置。并且每一个显示界面都对应一个显示寄存器Value的值,如表4-1所示。。这样通过修改Value的值就可以实现各个目录之间的转换。
表4-1 寄存器Value值与显示值对照表
Value值 界面显示 0x00 0x01 0x04 0x05 0x06
4.3.2下位机键盘输入的设计
左移键 确认键 取消键 右移键 测距 设置 报警 频率 校准 Value值 0x07 0x10 0x11 0x14 0x15 界面显示 序号 报警第一位设置 报警第二位设置 频率第一位设置 频率第二位设置 Value值 0x18 0x19 0x1c 0x1d 界面显示 确认校准 取消校准 序号第一位设置 序号第二位设置 图4-6 键盘示意图
设置功能以四个开关按键组成的键盘输入来修改寄存器Value的值,如图4-6所示。从而实现设置功能显示界面之间的转换。其中键盘输入的程序结构如图4-7所示。
首先,定时器1以查询的方式扫描键盘开关。若没有按键按下,直接跳出中断。若有按键按下,则根据对应I/O输入口的寄存器的值,判断哪个按键,产生不同的按键值。随后等待松手之后,程序根据不同的按键值,作相应计算,如表4-2所示。再由计算出来的Value值,显示相应界面。最后复位按键值,跳出中断。
表4-2 按键、按键值和Value值修改对照表
按键 左移键 确认键 取消键 右移键 按键值 1 2 3 4 Value值修改 Value末两位减1 Value左移2位(即×4) Value右移2位(即÷4) Value末两位加1 19
本科毕业设计(论文)
定时器1中断扫描按键 N 按键是否按下 Y 根据按键,产生按键值 等待松手 根据按键值,作相应计算 根据计算值,相应显示 按键值复位 结束中断 图4-7 键盘输入程序结构图
4.3.3报警设置、频率设置和序号设置功能的实现 进入报警第一位设置 等待按键 左移键 >0 值-1 YY 向上位机发送修改 修改相应寄存器 返回上级界面 图4-8 报警第一位设置程序结构图
确认键 是否在对话状态 N 返回键 右移键 <9 Y值+1 20
本科毕业设计(论文)
报警设置、频率设置和序号设置功能除序号设置除不需要向上位机发现修改信息之外,完全相同。以报警第一位设置程序为例,如图4-8所示。
首先,由键盘输入进入报警第一位设置,此时报警第一位出现闪烁,等待按键输入。当是左移键输入时,且此时报警第一位值大于0,则该寄存器的值减1。当是右移键输入时,且此时报警第一位值小于9,则该寄存器的值加1。当返回键输入时,则直接返回上级界面。当确认键输入时,则先判断是否处于与上位机点对点对话状态,若处于该状态,先向上位机发送修改指令后,再修改本机相应寄存器,最后返回上级界面。若不处于该状态,则直接修改本机相应寄存器后,返回上级界面。 4.3.4校准设置功能的实现
图4-9 校准设置功能程序结构图
校准设置功能主要在超声波模块安装位置不同的情况下,实现下位机的刻度零的调
进入校准设置 等待按键发射信号 驱动超声波测距 得到偏差值 等待按键 在校正范围内? 写入寄存器 提示校正成功 提示校正失败 返回上级界面 21
本科毕业设计(论文)
节。例如,模块安装在一个平面的下凹处,而又要以该平面为刻度零,则可使用该功能将模块的刻度零前移,从而实现较为准确的测量。该功能以0.3m智能测量来实现,即拿一标准尺,测量出0.3m的障碍距离,再驱动超声波测距模块,测量修正后写入零刻度补偿寄存器即可实现。程序结构如图4-9所示。
首先,进入校准设置模式,按确认键发射信号,驱动超声波模块测距,得到与0.3m的距离偏差值,然后再按取消键,判断该偏差是否在±25cm范围内,若是,则将该偏差值写入校准寄存器,显示修改成功后返回。若不是,则显示修改失败后返回。
4.4下位机显示功能的实现
4.4.1 KM12232B 液晶模块管脚说明
表4-3液晶模块管脚说明表[9] LEVER 管脚功能描述 +3— 5V 电源电压 0V 电源地 0∽ +5V 液晶驱动电压 H/L 复位信号接口时序类型的设置通道 H/L 读写使能信号 H/L 读写使能信号 H/L 读写选择信号 H/L D/I=“ H”, 表示DB7~ DB0 为显示数据 D/I=“ L”, 表示DB7~ DB0 为显示指令数据 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 H/L 数据线 +5 背光电源 0V 背光接地 管脚号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 管脚名称 VDD VSS V0 RES E1 E2 R/W A0 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 LED+ LED- RES: 设置了SED1520 或AX6120的计算机接口与计算机的总线时序。
当/RES 为H时,接口为M6800时序;为L时,接口总线时序为INTEL8080 时序。
22
本科毕业设计(论文)
4.4.2下位机显示功能的程序结构
下位机显示功能主要包括测量距离显示、同步时钟显示、报警显示和设置界面显示。其中测量距离和同步时钟显示在显示屏的第一行,报警和设置界面显示在显示屏的第二行。程序结构如图4-10所示。
N Y 周期大于4S? 快速测量模式 正常测量模式 测量距离显示 延时 2S 测量距离显示 同步时钟显示 延时 2S Y N 测量值<报警值? 显示设置界面 显示报警
图4-10 显示功能程序结构图
显示程序在主函数里完成,优先级最低并且可以随时被中断。当周期大于4S时,进入正常测量模式,第一行交替显示测量距离和同步时钟,间隔2S更新一下显示信号。周期小于4S时,则进入快速测量模式,第一行只显示测量距离。当测量值小于报警值时,第二行显示报警。否则显示系统设置界面。
4.5下位机通信功能的实现
4.5.1下位机通信程序的结构
下位机串口通信采用串口接收中断的方式。上位机以广播的方式发送消息时,下位机则监听上位机发送的消息。程序结构如图4-11所示。
23
本科毕业设计(论文)
下位机接收到上位机发送的消息产生中断。首先,程序等待上位机发送完这条23位的消息。若发生超时则直接跳出中断。若收到完整消息,判断此条消息是否是本机指令。若是,则先执行该条指令,然后返回执行信息,最后向上位机发送结束提示,跳出中断。
若不是本机指令,则关闭本机操作(如正在向上位机发送距离测量值),跳出中断。
串口发生中断
进入中断服务程序
超时
等待1min接收指令
Y 收到消息 N YN 是否本机指令
关闭本机操作 执行指令并返回信息
向上位机发送结束提示 关闭中断退出中断服务程序
图4-11 下位机接收流程图
4.5.2下位机对不同指令的操作
在本系统中,由上位机向下位机发送的指令分为两种:同步指令和修改指令。 同步指令:下位机系统先读取同步指令消息的时间位,修改下位机的系统时间,使其与同步指令的时间信息相同,从而实现上位机与下位机的时间同步。然后,将下位机的报警设置和频率设置消息向上位机发送。最后开启点对点对话模式,即实时向上位机发送本机测量的距离值。
修改指令:该指令比较简单,下位机直接按上位机发送的消息修改报警值和频率值。然后返回执行消息。
24
本科毕业设计(论文)
4.6下位机系统性能测试
4.6.1测距性能测试
(1)测距实物照片
图4-12 测距状态实物图
(2)测量精度 实际值/cm 测量值/cm 实际值/cm 测量值/cm 实际值/cm 测量值/cm 5 5 55 55 120 120 10 10 60 61 140 139 表4-4 测距功能测试表 15 20 25 30 15 20 25 30 65 70 75 80 65 71 74 80 160 180 200 250 160 179 202 249 35 35 85 83 300 252 40 40 90 91 350 352 45 45 95 95 400 399 50 50 100 101 450 --- 通过测试,系统精度基本达到了设计的要求,误差很难避免。但通过分析误差的来源,提高传感器模块的精度或者改变设计方法,可以降低系统误差,从而使系统更加完美。
4.6.2系统设置功能的测试
(1)设置功能的显示界面实物照片
如图4-13、图4-14、图4-15、图4-16所示,分别是设置报警、频率设置、校准设置和序号设置的第三层目录进入之后的修改显示界面图。可以通过按左移键减1,右移键加1,确认键保存修改以及返回键返回第三层目录。
25
本科毕业设计(论文)
图4-13 报警设置实物图
图4-14 频率设置实物图
图4-15 校准设置实物图
26
本科毕业设计(论文)
图4-16序号设置实物图
(2)报警功能测试
图4-17 报警显示比较图(a)
图4-18报警显示比较图(b)
27
本科毕业设计(论文)
在设置报警距离为0.2m的情况下,显示界面如图4-17和图4-18所示。当测量距离小于0.2m时,屏幕出现报警显示;而当大于或等于0.2时,则正常显示系统设置界面。(3)频率设置功能测试
图4-19 时钟显示比较图(a)
图4-20 时钟显示比较图(b)
图4-19 是在设置频率为10分频(即周期为1S)时,系统进入快速测量模式,只显示测量值;图4-20是设置频率为40分频(即周期为4S)时,系统进入正常测量模式,时钟和距离交替显示。图4-19和图4-20既验证了频率设置功能,同时也验证了两种模式情况下的不同显示功能。 (4)校准功能的验证
校准功能是以0.3m的长度为测量时,系统将此标准与0.3m对应写入寄存器。若将0.25m长度的测量值写入寄存器测量时,则系统将0.25m的距离认为是0.3m。此时若测量1m的距离时,系统则会认为是1.05m。表4-5说明了校准功能能够很好的克服测距系统的零刻度偏移这一误差。
28
本科毕业设计(论文)
校准长度/m 实际距离/m 测量距离/m 实际距离/m 测量距离/m 实际距离/m 测量距离/m 4.6.3 同步时钟的测试
0.10 0.50 0.70 1.00 1.20 2.00 2.22 表4-5 校准功能测试表 0.20 0.30 0.40 0.50 0.50 0.50 0.60 0.50 0.40 1.00 1.00 1.00 1.09 1.00 0.91 2.00 2.00 2.00 2.11 2.01 1.92 0.50 0.50 0.30 1.00 0.79 2.00 1.79 如图4-21和图4-22所示,在发送同步指令前,嵌入式系统开启后的时间显示为随机数值的显示;而在发送同步指令后,嵌入式系统读取通讯消息的时间位,并修改本机的系统时间,实现与上位机时钟同步。
图4-21 发送同步指令前时钟显示图
图4-22发送同步指令后时钟显示图
29
本科毕业设计(论文)
第五章 上位机系统的具体实现
5.1上位机系统的整体结构
5.1.1上位机系统的组成
上位机系统由MFC控件编写,具有良好的窗口界面。上位机显示主界面是上位机系统的核心显示部分,主要可以实现远程监控、远程修改以及操作与故障记录等。历史数据界面主要用于实现查询历史某天的测量记录。实时监控曲线可以实现远程图像监控的功能。此外,系统还实现了信息数据的存储,方便用户将资料导出。上位机结构如图5-1所示。
历史数据界面 数据存储
串口通讯
通讯消息 测量 上位机显示主界面 报警 周期 序号设置
图 5-1 上位机系统组成 5.1.2上位机显示主界面
上位机显示主界面是主要实现远程信息集中显示的部分。该界面通过使用23位通讯消息与串口对接。该界面在获得由串口发来的消息后,根据消息的不同指令分别将消息显示在设备信息栏、数据栏、实时监控状态栏以及操作与故障记录栏。如图5-2所示。
设备信息栏:用于检测并显示下位机的工作状态以及上位机与下位机的匹配情况。 实时监控状态栏:用于显示下位机报警信息、提示上位机重发信息以及下位机的信息发送情况。
操作与故障记录栏:用于记录工作设备、修改设置、设备运行状况等信息,并且能生成文档,方便查看。
30
实时监控曲线 操作 故障记录 信息存储 本科毕业设计(论文)
数据栏与指令按钮:用于实现相应的信息显示、修改与通讯消息的发送。 系统时间:是软件获取的计算机系统时间,并且该时间能在同步指令下能实现与下位机实现时间的同步。
此外,在该界面能实现声音报警功能。
系统时间 设备信息栏 实时监控状态栏 数据栏 操作与故障记录栏 指令按钮 调用曲线 图5-2 上位机显示主界面
5.1.3实时监控曲线界面
该界面主要实现根据实时数据绘制未来一天的曲线。该界面以二维曲线的方式将监控数据展现,更加利于用户对整个测量数据趋势的把握。界面如图5-3所示。
调用数据界面 31
本科毕业设计(论文)
图5-3 实时监控曲线界面 5.1.4 数据查看界面
该界面主要实现历史数据的导入与显示。用户可以根据自己的需要,设置需要查看的日期,便可将该天的测量数据导入查看。界面如图5-4所示。
日期输入框 导入按钮 图5-4历史数据查看界面
32
本科毕业设计(论文)
5.2 上位机通信功能的实现
5.2.1MSComm控件属性
MSComm控件有很多重要的属性[10],但有几个主要属性:CommPort设置并返回通信端口号;Settings以字符串的形式设置并返回数据传输速率、奇偶校验、数据位、停止位;PortOpen设置并返回通信端口的状态,也可以打开和关闭端口;Input从接收缓冲区返回和删除字符;Output向传输缓冲区写一个字符串。 5.2.2上位机的通信设计
上位机通信设计要求一种可靠的对话机制通讯,如图5-5所示。在按钮事件驱动后,向串口通信网络发送23位的通讯消息,如果下位机收到消息后,回复收到消息和执行信息,则上位机在界面中显示该信息;如果下位机没有收到消息,则上位机提示重新发送消息。
按钮事件驱动 向串口发送消息 收到下位机回复? Y 显示执行信息 提示重发 N 事件结束 图5-5 上位机通信设计要求
5.2.3上位机的通信实现
为实现上述通信的设计要求,在实现时才用定时器驱动提示重发信息,如图5-6所示。
33
本科毕业设计(论文)
按钮事件驱动 向串口发送消息 启用定时器 按钮事件结束 收到下位机回复 串口事件驱动 定时器事件驱动 提示重发 显示执行信息 关闭定时器 发送事件结束 图5-6 上位机的通信设计结构图
在按钮事件驱动,向串行口发送消息,然后启用定时器,按钮事件结束。 如果下位机收到通讯消息,则回复信息,驱动上位机的串口事件。首先,下位机发送执行信息,上位机根据回复的执行信息把相应的信息显示在通讯主界面上。然后,下位机再向上位机发送执行结束信息,上位机收到信息后关闭定时器。整个发送事件就结束。
如果在发送过程中出现错误导致下位机未收到相应信息,上位机就无法收到来自下位机的回复信息。这样在一段时间后,定时器事件驱动。在主界面上显示“未收到响应,请重发”。整个发送事件就结束。
5.3 上位机数据的存储与读取
5.3.1上位机数据的存取
上位机的设计要求需要将测量的距离值保存下来并且随时能够调用和查看历史数据[11]。而数据存储与读取主要是通过对history文件夹下的文本文档的写入与读取来实现。对文本文档的调用主要由以下几个函数实现:Open函数实现对应路径的文档打开;WriteString函数实现文档的写入;ReadString函数实现文档的读取;CLOSE函数实现文档关闭。
34
本科毕业设计(论文)
5.3.2上位机的数据读取设计
上位机数据读取过程如图5-7所示。
图5-7 上位机读取数据结构图
在按钮事件驱动后,首先判断在输入框是否有文件名输入,若无,则弹出消息,提示输入,事件结束。若有输入,则先从输入框获取该文件名,再判断文件名格式是否正确,若格式不对,则弹出消息提示输入格式不对,事件结束。若格式正确,则打开该文档并指向文档顶部。然后读取一行数据并在编辑框中显示,文档指针下移一行,然后判断该读取数据是否为空,若不为空则程序重新读取一行,循环。若数据为空,则跳出循环,关闭文档,事件结束 5.3.3上位机的数据储存设计
上位机数据存储过程如图5-8所示。
35
按钮事件驱动 N 是否输入文件名? Y 从输入框获得文件名 文件名格式正确? Y 打开文档指向顶部 读取一行数据并显示 文档指针下移一行 N 数据是否为空? 关闭文档 Y 提示错误 提示输入 N 事件结束 本科毕业设计(论文)
获取下位机发送的消息 得到消息的日期并作为文件名 N 文档是否存在? Y 打开文档 指向文档的底部 写入时间和数据信息 关闭文档 创建文档 图5-8上位机存储数据结构图
首先,获取由下位机发送的测量距离的消息,获取消息的日期,以该日期作为文件名打开文档,若文档不存在则先创建文档。若文档存在则直接打开文档,指向文档的底部,写入时间和数据信息。最后关闭文档,事件结束。
5.4 上位机系统性能测试
5.4.1上位机指令测试
(1)在未输入正确序号时,发送指令,出现消息框提示,如图5-9所示。
图5-9 非正确序号设置下指令发送
36
本科毕业设计(论文)
(2)与下位机系统序号匹配时,发送同步指令找到正确序号的设备后,显示下位机运行信息。如图5-10所示。
图5-10 显示下位机信息图
(3)与下位机系统序号不匹配时,发送同步指令未找到正确序号的设备后,提示
重发信息。如图5-11所示。
图5-11下位机未响应图
5.4.2 上位机报警测试
距离过近时,出现文字和语言报警,并且记录报警,如图5-12所示。
37
本科毕业设计(论文)
图5-12 上位机报警图
5.4.3上位机存取测试
(1)测量数据的通过历史数据界面查看,图5-13为历史记录和当天记录。
图5-13历史数据查看界面
(2)测量历史数据文本文档的生成,如图5-14所示。
图5-14 文本文档生成图
38
本科毕业设计(论文)
第六章 结论
毕业设计时对大学四年学习的一个系统考察,是理论学习和实践相结合的一个系统学习,也是我们对大学四年所学的一个系统总结。由于本次设计的核心处理器是ARM,在做课题之前,我又对ARM进行了系统的学习,完成了对ARM系统的设计与调试以及ARM外围电路的设计和编程,通过学习我对ARM的相关技术有了一个较为系统的了解。
本次毕业设计我主要完成了以下工作内容:
1.完成了具有远程监控和远程修改功能的上位机软件开发。 2.完成了上位机软件的数据存取、曲线绘制等功能。
3.完成了基于ARM7处理器LPC2368的超声测距下位机系统。
4.完成了该嵌入式系统的正常模式和快速模块两种方式下测量的开发,并完成同步时钟的显示。
5.完成了该嵌入式系统的报警设置、周期设置、校准设置和序号设置等功能。 6.完成了该嵌入式系统与上位机串口通信功能,可向上位机发送测量数据并接受上位机的指令。
此外,由于时间、设备原因还有一些改进和后续工作的想法:
1.由于传感器的限制,在高温、高压等恶劣环境下[12],测量误差大,可以根据实际情况更换更合适的传感器。使得测量精度更高和测量距离更远。
2.为提高测量的精度,可以在系统中加入温度传感器,实时准确测量出测距时的温度,计算出当时的声速速度,转换成测量距离。
3.为了监控多台潜入系统的工作,可以让ARM处理器将一些数据放到外存储设备中,然后通过指令直接读取存储设备中的数据。
4.在上位机软件中增加一个数据库,对数据实现加密,分级访问等。
39
本科毕业设计(论文)
致 谢
经过三个月的努力,我终于如期完成了毕业设计的任务。可以说本次设计,是对我大学四年来所学知识的一次检验。设计前,虽然在书本上已了解到微处理器的一些知识,但不够深入,而且ARM处理器对于我又是全新的学习内容。在此次设计过程中,涉及到了很多专业知识(如单片机、电路、数电、模电、传感器、Visual C++等),我们也对这些课程进行了系统的复习。通过自己的坚持与努力,翻阅了大量的资料,在老师的帮助下,从方案的论证到每一步设计任务的实现,按照设计任务书的要求,逐步完成了该项设计任务。
这次设计采用基于ARM7的超声波测距技术,来实现对距离的实时监测,基本上完成了设计任务的要求。该系统可有效地进行无接触距离测量,并实现LCD屏幕显示和与上位机的通信,结果令人满意。
这次设计,锻炼了我的实际动手能力,培养了我坚持不懈的素质,为我以后的工作打下了良好的基础。我的毕业设计是在石天明老师的指导下进行的,通过这段时间的接触,石老师渊博的知识、严谨治学的工作作风和为人处事的原则给我们留下了深刻的印象。在他的悉心指导下,我学到了许多新知识,并顺利的完成了本次设计任务。在此,向他表示衷心的感谢!
由于知识水平和时间的有限,这次设计还有许多细节没有完成,恳请老师和同学们给予指正,也希望以后对专业知识有更深入的学习,能将该系统完善。
40
本科毕业设计(论文)
参考文献
[1]张健,李刚.起声波测距系统的研究与设计[J].合肥工业大学学报.2004. [2]隋卫平.高精度实时超声测距技术研究[D].国防科学技术大学硕士论文,2003. [3]Walker James S.A Primer on WAVEL ETS and their Scintific Applications [M].Florida:CRC Press LLC,1999.
[4]宋伟,潘仲明等.小波束角超声测距仅的研制[J].计算机测量与控制.2008. [5]GRMMEL P M.Improve ultrasonic detection using theanalytic signal magitade [J]. Ultrasonics,1981,19(2).
[6]薛园园.21天学通Linux嵌入式开发[M].北京:电子工业出版社,2010.5.
[7]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005. [8]李朝青.PC机及单片机数据通信技术[M].北京:北京航空航天大学出版社,2000. [9]图形点阵液晶显示模块使用手册
[10]李娜林.Visual C++开发技术大全[M].北京:清华大学出版社2010.
[11]黄维通.Visual C++面向对象与可视化程序设计.第二版.北京:清华大学出社.2003. [12]张和生,宋明耀.提高超声测距精度的设计[J].电子产品世界,2004年7月.
41
因篇幅问题不能全部显示,请点此查看更多更全内容