【《超声导波谐振测温仪硬件和软件系统设计案例》12000字】_第1页
【《超声导波谐振测温仪硬件和软件系统设计案例》12000字】_第2页
【《超声导波谐振测温仪硬件和软件系统设计案例》12000字】_第3页
【《超声导波谐振测温仪硬件和软件系统设计案例》12000字】_第4页
【《超声导波谐振测温仪硬件和软件系统设计案例》12000字】_第5页
已阅读5页,还剩24页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1超声导波谐振测温仪硬件和软件系统设计案例目录TOC\o"1-3"\h\u28139超声导波谐振测温仪硬件和软件系统设计案例 1326061超声导波谐振测温仪硬件系统设计 1136681.1硬件整体方案 1161681.2超声波发射模块 375621.2.1时序段压控振荡源电路 3209381.2.2高压脉冲信号电路 5162611.3超声波接收模块 5114701.4时序分配模块 6326931.5频率自跟踪模块 8154001.5.1衰减采样电路 858941.5.2激励采样电路 1017191.5.3误差信号电路 12255921.5.4反馈信号电路 13326831.5.5求和放大电路 15104621.6误差信号分析 16133881.7STM32单片机模块 16187231.8本章小结 19165572超声导波谐振测温仪软件系统设计 20259992.1软件整体方案 2029042.2基于串口屏的人机交互界面开发 21306932.2.1人机交互界面总体设计 2117792.2.2UsartGPU串口屏开发 22205682.3单片机程序模块 28292922.1.1频率采集模块 28111642.1.2Flash读写模块 2949142.1.3UART模块 291超声导波谐振测温仪硬件系统设计1.1硬件整体方案如前所述,超声导波谐振测温仪硬件系统包含单片机、超声发射、接收和频率自跟踪等基本模块,其中,频率自跟踪模块是硬件系统的重要组成部分。在温度场中,谐振器的固有频率随温度变化而变化,频率自跟踪模块实现超声激励脉冲信号频率与谐振器固有频率实时保持一致,使谐振器在温度变化过程中一直处于谐振状态。在示波器上可观测到谐振回波,其波形示意图如图3-1所示。图3-1谐振回波波形Fig.3-1Thewaveformofresonantecho通过对谐振回波波形的研究,发现其具有如下特点:(1)谐振回波腹部脉冲幅值E∞和脉冲数PR具有高次函数关系,其幅值随着脉冲数PR的增加而增加,但增加幅度将越来越小,最后趋近于一个极限值。(2)在谐振回波的衰减段中,其波形幅值将以指数形式衰减下去,而与激励脉冲信号频率无关。为得到规整的谐振回波波形,构造一种能定义周期数的激励脉冲信号发射模块,使得E∞趋近于极限值,同时脉冲数PR也不至于太多。同时,当激励脉冲信号频率与谐振器固有频率不一致时,通过将衰减信号与同数量周期的激励脉冲信号相比较,把对两者频率的比较转换为周期的比较,其产生的反馈信号作用于超声波发射模块,从而改变其激励脉冲信号频率,实现超声激励脉冲信号频率在温度变化过程中与谐振器固有频率保持一致。基于上述思路,超声谐振测温仪通过五个不同时序来实现测温,如图3-1中所示,每个时序使能工作的时间不同,以完成不同的功能,其介绍说明如下:时序1:频率测量。通过单片机对超声波发射模块产生的脉冲信号进行采集,计算出激励脉冲信号频率。时序2:激励发射。超声波发射模块产生激励脉冲信号加载到超声换能器端,其脉冲数量可通过串口屏的人机界面进行设置。时序3:脉冲延迟。为确保时序4的谐振回波衰减采样过程落在回波的衰减段中,从回波起始位置开始,延后一定的脉冲数。时序4:衰减采样。对回波信号的衰减段进行采样。时序5:激励采样。对激励脉冲信号进行采样。超声导波谐振测温仪硬件系统包含的各个模块应分别完成上述的五个时序以实现谐振测温,其每个模块的作用简述如下。1)单片机模块。接收串口屏的指令并产生时序1、2、3的起始和结束信号,同时时序1的频率测量和时序3的脉冲延迟功能也由单片机软件程序实现。2)超声波发射模块。产生一定数量的突发激励脉冲信号。3)超声波接收模块。接收回波信号并进行放大处理。4)时序分配模块。对于产生的时序1、2、3的起始和结束信号,分配到不同的硬件电路中,以完成不同的功能。5)频率自跟踪模块。通过时序4和时序5的采样处理(即衰减周期与激励脉冲信号周期之间的采样处理),产生误差信号反馈到超声波发射模块,改变激励脉冲信号的频率,使得其与谐振器的固有频率相匹配。本文各小节将依次对各个模块进行详细的介绍。1.2超声波发射模块本文硬件方案设计中,激励超声换能器的超声波发射模块分为两部分,一是时序段压控振荡源电路;二是高压脉冲信号电路。时序段压控振荡源电路在不同的时序中产生突发激励信号,高压脉冲信号电路将时序2中产生的突发激励信号调整为高压脉冲来激励超声换能器。1.2.1时序段压控振荡源电路时序段压控振荡源电路如图3-2所示,通过多谐振荡器U30来产生突发激励信号,引脚10(信号SP)为高电平时,芯片使能端有效,开始工作。信号SP由不同的信号D1Q(时序1起始信号)、D2Q(时序2起始信号)、D4Q(时序5起始信号)与非后输入。时序之间相互独立,互不干扰,如图3-1中所示,每个时序中压控振荡源电路工作过程详解如下。1)当时序1工作时,信号D1Q有效,即信号SP有效,压控振荡源电路产生突发脉冲信号。单片机对时序1中的突发脉冲信号进行采集,完成测频功能;2)当时序2工作时,信号D2Q有效,即信号SP有效,压控振荡源电路产生突发脉冲信号,加载到高压脉冲电路,以激励超声换能器;3)当时序5工作时,信号D4Q有效,即信号SP有效,压控振荡源电路产生突发脉冲信号,激励采样电路通过对突发脉冲信号(即激励信号)采样;时序3和时序4中,信号SP无效,压控振荡源电路不工作。通过信号SP的输入切换,压控振荡源电路在不同时序下工作,以产生不同需要的突发脉冲信号。多谐振荡器U30产生的脉冲频率由芯片的外接电阻和外接电容来确定。当测温开始时,激励频率与谐振频率相一致时,反馈电压Vf为零,此时突发脉冲信号频率由外接电阻R77和外接电容C70决定。在温度变化过程中,激励脉冲信号频率与谐振器固有频率不一致时,通过将衰减信号(时序4)与同数量周期的激励脉冲信号(时序5)采样比较,得到误差信号,经求和电路后产生反馈电压Vf作用于压控振荡源电路,此时突发脉冲信号频率由外接电阻R76、R77和外接电容C70共同决定,从而改变激励脉冲信号频率,实现超声激励脉冲信号频率在温度变化过程中与谐振器固有频率保持一致。在测温实验中,整个温度变化的过程中,反馈电压Vf一直动态变化并加载到压控振荡源电路,使激励脉冲信号频率与谐振器固有频率保持一致。图3-2时序段压控振荡源电路Fig.3-2Theschematicoftimingsegmentvoltagecontrolledoscillatorsourcecircuit1.2.2高压脉冲信号电路突发脉冲激励信号经高压脉冲信号电路后转换为高压脉冲,并加载到超声换能器,其电路图如图3-3所示。图3-3高压脉冲信号电路Fig.3-3Theschematicofhighvoltagepulsecircuit由时序段压控振荡源电路产生频率为f的突发脉冲信号,与信号D2QN(时序2控制信号的反相)相与后转换为信号CH2CLK,作为芯片U6B的时钟信号输入;信号CH2CLK通过D触发器进行二分频处理,得到频率为f/2的脉冲信号,经芯片U7处理后,在其3引脚、6引脚端得到一对频率相同、幅值相反的脉冲信号,其波形如图3-4所示;之后脉冲信号由一对互补晶体管进行放大输出,在TR端得到频率为f/2,幅值为±12V的高压脉冲信号,并加载到超声换能器端。图3-4高压脉冲波形图Fig.3-4Thewaveformofhighvoltagepulse1.3超声波接收模块超声波接收电路如图3-5所示,超声换能器为收发一体式磁致伸缩换能器,因此测温仪也使用一个信道完成超声波的发射和接收工作,回波信号经超声波接收电路采集得到。图3-5超声回波接收电路Fig.3-5Theschematicofultrasonicechoreceivingcircuit为防止高压脉冲信号对超声波接收电路造成损坏,在电路前端加入了一对反向并联的二极管D1和D2,利用二极管的单向导通性,将接收到的脉冲信号限制在±0.7V。芯片U8为电压跟随器,利用它输入阻抗高、输出阻抗低的特点,在超声波接收电路与超声波发射电路之间起到隔离作用。在测温过程中,由于测试环境的变化,谐振回波信号的幅值也会发生相应变化,因此,需要根据当前谐振回波信号的幅值实时调节超声波接收电路的放大倍数,采用双运算放大器(图中U9),通过调节滑动变阻器W3的阻值即可改变电路的放大倍数。在回波信号接收过程中,信号HB中的高压脉冲信号经二极管后被限定在一定范围内,谐振回波信号因其幅值较小而不受影响。信号经芯片U8后输出,芯片U9对其进行放大处理,即可得到幅值适当的谐振信号HB1,在示波器上可观测到谐振回波。1.4时序分配模块时序分配模块实现超声导波谐振测温仪系统的硬件时序分离功能,通过单片机给出不同时序的控制信号,使得时序之间相互独立,其电路图如图3-6所示。图3-6时序分配电路图Fig.3-6Thediagramofsequentialcircuit图中P1为接线柱,与单片机芯片引脚相连接,其6,8,10引脚端信号均由单片机控制输出。U1和U2为标准数字隔离器,其传输速度快,可靠性高,对单片机电路和时序分配电路间起到保护和隔离作用,同时将单片机输出信号电压由1.3V转换为5V。信号M3Q是超声波发射模块产生的突发脉冲信号,其分别与信号D1QN,D2QN,D4QN经与门后构成反馈信号加载到P1接线柱的5、7、9引脚端,单片机通过对不同引脚信号的采集以实现不同的时序功能,下面对时序1、2、3工作流程进行简述。(1)时序1,频率测量:P1接线柱的6引脚端(信号XD1Q)由单片机控制产生开始信号(下降沿脉冲),同时相应的信号D1Q产生下降沿脉冲,信号D1QN产生上升沿脉冲;信号D1Q触发超声波发射模块工作,产生一段连续的突发脉冲信号M3Q,信号M3Q和信号D1QN相与后组成时钟信号CH1CLK,之后经芯片U1加载到接线柱的5引脚端,单片机通过对信号H1CLK进行采集,实现频率测量功能;当测频完成时,信号XD1Q产生结束信号(上升沿脉冲),时序1工作结束。(2)时序2,激励发射:当时序1工作结束后,P1接线柱的8引脚端(信号XD2Q)同样由单片机控制产生开始信号(下降沿脉冲),同时相应的信号D2Q产生下降沿脉冲,信号D2QN产生上升沿脉冲;信号D2Q触发超声波发射模块工作,产生一定数量连续的突发脉冲信号M3Q,信号M3Q和信号D2QN相与后组成时钟信号CH2CLK,信号CH2CLK加载到高压脉冲电路产生高压脉冲信号对超声换能器进行激励,同时信号CH2CLK经芯片U1加载到接线柱的7引脚端,单片机通过对信号H2CLK进行采集,实现突发脉冲数量控制功能;当采集数达到单片机设定数量后,信号XD2Q产生结束信号(上升沿脉冲),时序2工作结束。(3)时序3,脉冲延迟:时序2工作结束后,超声波经波导杆后形成超声导波,激励谐振器谐振产生谐振回波;信号M10QN为回波接收起始信号,通过单片机对其进行监控;当超声波接收电路接收到回波的第一个脉冲时,信号M10QN将产生一个下降沿脉冲,单片机接收到该有效信号后,控制P1接线柱的10引脚端(信号XD4Q)产生开始信号(下降沿脉冲),同时相应的信号D4Q产生下降沿脉冲,信号D4QN产生上升沿脉冲;信号D4Q触发超声波发射模块工作,产生一定数量连续的突发脉冲信号M3Q,信号M3Q和信号D4QN相与后组成时钟信号CH3CLK,之后经芯片U1加载到接线柱的9引脚端,单片机通过对信号H3CLK进行采集,实现突发脉冲数量控制功能;当采集数达到单片机设定数量后,信号XD4Q产生结束信号(上升沿脉冲),时序3工作结束。时序1、2、3从工作逻辑上来讲基本一致,不同之处在于:1)单片机对信号H1CLK、H2CLK和H3CLK的采集,其实均是对信号M3Q的采集。时序1中,并未设定信号M3Q的采集数量,而是限定其采集时间,达到设定时间后,单片机产生结束信号。通过对一定时间内突发脉冲数量的测量,从而测得其脉冲频率。时序2、3恰恰相反,单片机已设定其采集数量,达到设定数量后,单片机即产生结束信号。同时突发脉冲信号M3Q,只在时序2中加载到高压脉冲电路后加载到超声换能器形成超声波。2)时序1、2中其开始信号均由单片机主动给出,而时序3中,其信号XD4Q的开始信号由信号M10QN控制,只有当M10QN端产生一个下降沿有效信号时,单片机捕获到该信号后控制XD4Q端产生时序3开始信号。1.5频率自跟踪模块1.5.1衰减采样电路衰减采样电路如图3-7所示,电路主要包含两部分,时序4的信号产生电路和时序4的计数电路,其完成整个时序4的工作内容,对谐振回波衰减段信号进行一定数量的采样。3-7衰减采样电路Fig.3-7Theschematicofcircuitofsamplingagainstattenuation图3-8衰减采样电路时序图Fig.3-8Thewaveformofsamplingagainstattenuation其衰减采样流程过程详解如下,同时其信号时序变化如图3-8所示。1)谐振回波信号经接收电路放大处理后,从HB1端加载到芯片U11上,芯片U11是一电压比较器,将回波信号转换为一系列的方形脉冲信号并从ZCC端输出;2)当接收到超声回波信号时,随即M10QN端产生脉冲信号,触发单片机产生时序3工作起始信号(D4QN端产生上升沿脉冲,因单片机处理需要的时间滞后于门电路内部延时,因此D4QN端上升沿脉冲略微滞后于ZCC端的第一个上升沿脉冲),时序3开始工作,在达到单片机预先设定的延迟脉冲数后,D4QN端由单片机控制产生下降沿结束信号,时序3工作结束,且D4QN端的下降沿脉冲信号处于谐振回波的衰减段中;3)以信号ZCC作为时钟脉冲,信号D4QN经D触发器芯片U15后输出为信号D5QN。当D4QN处于低电平时,信号ZCC的上升沿脉冲使D5QN端产生一个上升沿脉冲,即时序4工作开始信号;4)信号D5QN的上升沿脉冲触发芯片U17(即M13)在M13端产生一个短暂的下降沿脉冲信号,触发芯片U18执行清零操作,同时芯片U18的D6Q端产生下降沿脉冲信号。计数芯片U19的2引脚--清零端在D6Q的低电平信号下失效,使能其计数功能;5)信号D5QN和信号ZCC经与非门U14B后产生时序4的时钟脉冲信号CLK2,其加载到芯片U19输入端,计数采样数量设定为5或10(JP4为一接线柱,可手动接跳线帽进行选择);6)完成采样后CNT4OUT端产生下降沿脉冲,触发芯片U17(M14)在M14端产生短暂的下降沿脉冲,其触发芯片U18执行置数操作(即触发时序4结束工作),D6Q端产生上升沿脉冲;同时,芯片U19芯片2引脚清零端变为使能状态,执行清零操作,为下一次计数做好准备,整个时序4工作结束,等待下一次采样;1.5.2激励采样电路时序5整体工作流程与时序4基本相同,不同之处在于时序5中计数芯片U21的时钟信号CLK4由窄激励信号M3Q与时序5触发开始信号D7QN共同相与后产生,完成的是对突发脉冲激励信号的采样过程,其电路如图3-9所示,电路时序图如图3-10所示。图3-9激励采样电路Fig.3-9Theschematicofexcitationsamplingcircuit图3-10激励采样电路时序图Fig.3-10Thewaveformofexcitationsampling其流程详解如下:1)信号D5Q经D触发器U15后输出为信号D7QN,信号ZCC反相后作为芯片U15的时钟信号,当D5Q端产生下降沿脉冲的D/2时间后(D是衰减脉冲的周期),D7QN端产生上升沿脉冲,触发时序5开始工作;2)D7QN端的上升沿脉冲触发芯片U20(M15)在M15端产生短暂的下降沿脉冲,触发芯片U18B执行清零操作,其D8Q端产生下降沿脉冲,使计数芯片U21的2引脚端——清零端在D8Q的低电平下失效,使能其计数功能;3)D7QN端的上升沿脉冲,触发芯片U16的M17Q端产生上升沿脉冲信号(其高电平持续时间较长),信号M17Q与突发脉冲激励信号M3Q经与门后产生CLK4信号,其加载到计数芯片U21的输入端,计数采样数量为10或者20(JP5为一接线柱,可手动接跳线帽进行选择);4)完成采样后CNT5OUT端产生下降沿脉冲,触发芯片U20(M16)在M16端产生短暂的下降沿脉冲,其触发芯片U18B执行置数操作(即触发时序5结束工作),D8Q端产生上升沿脉冲;同时,芯片U21的2引脚清零端变为使能状态,执行清零操作,为下一次计数做好准备,整个时序5工作结束,等待下一次采样,1.5.3误差信号电路误差信号产生电路如图3-11所示。在误差测量中,得到了谐振回波中N个衰减信号(N×D)与周期数量相同的突发脉冲激励信号(2N×S)之间的时间差,产生了一对包含误差信息的“Er”脉冲和“Lt”脉冲,其波形如图3-13所示。图3-11误差信号电路Fig.3-11Theschematicoferrorsignalcircuit1.5.4反馈信号电路如前所述,在衰减采样(N×D)开始的半个衰减周期后,开始激励采样(2N×S)。因此早期脉冲Er持续时间总是恒定为D/2,后期脉冲Lt持续时间随突发脉冲激励信号频率的变化而变化。反馈信号电路如图3-12所示,脉冲Er和Lt经高电平逻辑门芯片U24后输出,其幅值从5V变为12V(脉冲Er和Lt的电平应足够高,以便于芯片U25和U26进行识别,同时其脉冲宽度没有任何变化)。增幅后的脉冲信号Er和Lt分别作为电压跟随器U25和U26的输入信号,使脉冲积分电路进行充放电过程,其输出端(U25的6引脚和U26的6引脚)的信号波形如图3-13中所示。本文脉冲积分电路中采用高阻抗电压跟随器,电路具有工作灵敏、性能稳定的特点,同时内部不存在低频噪声;电压跟随器U25和U26外接电阻值相同的电阻R和电容值相同的电容C,在脉冲积分过程中,对于脉冲宽度相同的信号,其具有相同的充电时间和放电时间。图3-12反馈信号电路Fig.3-12Theschematicoffeedbacksignalcircuit图3-13比例控制下反馈信号电路波形图Fig.3-13ThewaveformoffeedbacksignalunderproportionalcontrolU27为差分放大器,对脉冲积分后的信号进行差分放大。U28是控制回路的重要组成部分,其工作方式有两种:1)比例控制:开关S1闭合,电阻和反馈电容并联;通过对差分后的信号进行比例放大或缩小得到反馈信号Vint。2)积分控制:开关S1断开。通过对差分后的信号进行积分后得到反馈信号Vint。开关S1闭合情况下(比例控制),各个脉冲信号波形如图3-13中所示。当激励(突发)脉冲激励频率f小于敏感元固有频率F的2倍时,脉冲Lt的持续时间将大于脉冲Er的持续时间,即芯片U26的充电时间将大于U25的充电时间,经差分放大器U27后,产生如图中所示的U27-6端波形,在上升沿之后,其保持为一个幅值大于零的正电平并缓慢衰减。信号U27-6经比例放大后,产生信号Vint,图3-14为multisim软件中仿真的时序图。图3-14比例控制下multisim中反馈信号电路仿真波形图Fig.3-14Thewaveformoffeedbacksignalunderproportionalcontrolinmultisim1.5.5求和放大电路求和电路如图3-15所示。图3-15求和电路图Fig.3-15Theschematicofvoltagesummationcircuit图中,U29为反相运算放大器,当JP1接线柱无接线时,通过调节滑动变阻器W6可改变芯片U29的输入电压,改变时序段压控振荡源电路的压控源Vf,由此可得到不同频率的激励信号。常温下,通过调节滑动变阻器W6,即可使温度传感器谐振元件产生谐振。当突发脉冲激励信号频率与敏感元固有频率不一致时,将产生误差电压Vint,,接入求和电路后,与电阻R71端电压一起作为芯片U29的输入电压,反向放大后,作用于芯片M3和M4,从而改变激励频率。1.6误差信号分析误差的测量是影响仪器整体精度的一个决定性因素。它由衰减信号与激励信号相比较后得到。激励脉冲采样相比于衰减脉冲采样信号延迟,由它们得到的两个短脉冲Er和Lt,持续时间为分别为和。当时,延迟脉冲数值上是负的,在这种情况下不会产生脉冲。因此,当S从一个很小的值增加时,直到,后期脉冲Lt宽度为零,之后脉冲宽度随()的增加而线性增加,当时Lt与Er脉冲宽度相等,误差为零。1.7STM32单片机模块单片机又称单片微控制器,属于一种集成式电路芯片,其相关技术始于上世纪九十年代。伴随着科技的日益发展,单片机的性能越来越强,同时其价格却越来越亲民。单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等器件,相比于计算机而言,其缺少了很多I/O设备,但同时也使得它具有体积小、质量轻、价格便宜的优点,为低成本系统开发提供了非常便利的条件[60]。本文选用由意法半导体公司生产的STM32F103C8T6款芯片作为测温系统的处理控制核心,其使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,拥有丰富的I/O端口[61]。单片机实物如图3-16中所示,其内部芯片引脚原理图如图3-17所示。图3-16单片机实物图Fig.3-16ThephotoofSCM(singlechipmicrocomputer)图3-17单片机引脚示意图Fig.3-17ThediagramofpinsintheSCM(1)晶体振荡电路晶振相当于单片机控制系统的心脏,其分为两大类:有源晶振和无源晶振。相比于无源晶振,有源晶振内部不需要DSP振荡器,其产生的频率信号质量高、稳定性好,而且连接方式相对简单。具体电路如图3-18所示。图3-18时钟原理图Fig.3-18TheschematicofclockcircuitintheSCM本设计中,STM32单片机采用8M有源晶振作为系统时钟源,通过锁相环(PLL)倍频到72M作为整个系统时钟。(2)复位电路单片机上电后执行复位命令,将系统参数进行初始化并恢复到默认值,当接收到串口屏传入的设置参数和开始命令后,单片机即执行测温主程序。本文中单片机复位电路如图3-19所示,当NRST按键按下后,产生低电平复位信号,系统进行复位。图3-19复位电路原理图Fig.3-19TheschematicofresetcircuitintheSCM(3)SWD下载模块在软件代码编写的过程中,需要将代码下载到单片机芯片中进行调试,验证所编写程序的正确性。一般的下载方式包括串口模式、USB模式、SWD模式和JTAG模式。其中,串口模式最为简单,但是其只能下载代码,不能进行实时跟踪调试;USB模式在下载和调试时,需要将BOOT引脚在高低电平之间频繁切换;在高速下载的情况下SWD模式比JTAG模式更加可靠,而且SWD模式支持更少的引脚,占用的PCB面积也较少[62]。本方案设计中,为了节约PCB面积,同时减少芯片引脚占用,采用SWD下载模式,其电路如图3-20所示,选用的SWD下载器为ST-LINKV2,实物如图3-21所示。图3-20SWD下载电路原理图Fig.3-20TheschematicofSWDcircuitintheSCM图3-21SWD下载仿真器Fig.3-21ThephotoofSWDemulator1.8本章小结本章主要对超声导波谐振测温的思路及硬件设计方案进行说明,硬件系统包括STM32单片机模块、超声发射模块、超声接收模块和超声频率自跟踪模块。其中超声发射模块包括激励信号产生电路和高压脉冲产生电路,实现对超声换能器的激励;超声接收模块包括信号放大电路;超声频率自跟踪模块包括对回波信号采样电路、激励信号采样电路、误差信号产生电路及电压求和电路,将误差电压加载到超声发射模块,使激励信号频率与谐振器固有频率相匹配;单片机模块简述了本课题所使用的单片机的配置及参数性能,包括晶振电路、复位电路和SWD下载电路。

2超声导波谐振测温仪软件系统设计2.1软件整体方案超声导波谐振测温仪除了频率自跟踪功能是由硬件电路实现之外,系统其他功能均由软件设计来实现。前章介绍了测温系统的硬件设计电路,从数据处理的流程来分析,其超声谐振测温软件系统可分为以串口屏为核心的人机交互程序和以单片机为核心的测温程序两部分,其功能流程如图4-1所示。图4-1软件系统功能流程图Fig.4-1Thesystemflowchart其数据处理流程可概括为:1、串口屏和单片机上电后均执行复位操作,串口屏复位之后进入初始化,单片机复位之后进入等待命令状态;2、串口屏完成初始化后进入参数设置界面,用户可对激励脉冲数和延迟脉冲数进行相关设置;3、当完成参数设置后,点击开始按钮,串口屏通过串口将开始命令发送到单片机;4、单片机接收到开始命令后,依次进行频率测量(时序1)、超声激励(时序2)和脉冲延迟(时序3)功能的实现,之后将处理后的温度值通过串口上传串口屏;5、串口屏接收到数据后,在屏幕上显示当前测得温度场的温度值。频率自跟踪功能(时序4和时序5)由硬件电路实现,在单片机完成脉冲延迟功能后,硬件系统将分别对谐振回波和激励脉冲进行采样,产生的误差信号通过积分电路转换为电压Vint,之后经求和放大电路加载到脉冲激励电路中M3端,以此改变突发脉冲激励频率。当软件系统下一次执行程序后,单片机读取的频率值是激励电路已修正后的频率值。依据软件系统功能流程图,将从串口屏和单片机两方面,依次介绍其软件功能的实现。2.2基于串口屏的人机交互界面开发本论文在通过单片机来控制UsartGPU串口触摸屏,以此摆脱计算机这类庞大的上位机,实现仪器的小型化和便携化。串口屏是一种高度集成化的显示器件,具备数据存储、液晶显示、触控输入等多种功能。由计算机将图片和汉字点阵通过GpuMaker程序预先存储到串口屏的存储器中,然后由单片机通过串口发送指令调用显示即可,简化单片机编程[63,64];本文选用UsartGPU35DTP-DTF型号的串口触摸屏,其由单片机、存储器和液晶屏三部分组成,内置的单片机型号为STM32F030C8T6。串口屏内部已将图片调用和文字显示等一系列对触摸屏的操作封装为特有的字符指令。当超声测温的单片机与串口屏通信时,只需发送特定的字符指令到串口屏,其内置单片机将对接收到的指令做出相应的解读,之后对触摸屏执行相应的操作。本文中如无特别说明的情况下,提及的单片机均指超声谐振测温单片机F103,而串口屏内置单片机并不需要对其进行编程及其他任何设置,因此将其和串口屏视为一体,统一以串口屏替代。2.2.1人机交互界面总体设计UsartGPU串口触摸屏整体工作流程如图4-2所示,其包含以下几步:1)初始化:测温仪启动后,初始化其设置;2)设置参数:根据不同的温度传感器,可自行设置激励脉冲数、延迟脉冲数等参数;3)测温开始:设置参数后,点击开始按钮,串口屏将开始指令通过串口传到单片机,测温工作开始;4)温度值显示:通过单片机测定激励频率值,进行处理后得到温度值,将数据上传串口屏进行实时显示。如果无任何其他操作,串口屏将自动接收数据进行下一次温度值刷新;5)测温结束:按下屏幕停止键,测温仪将暂停工作;如需改动初始设备参数,只需再点击返回按钮,即可返回到参数设置界面中进行重新设定;图4-2串口屏工作流程Fig.4-2Theworkflowchartsofserial-portscreen通过以上流程可以看出,本论文中人机交互界面主要包含以下几个功能。1)设置系统参数:在参数设置界面,可对激励脉冲数、延迟脉冲数等参数进行设置;2)发送控制命令:串口屏可向单片机发送开始工作的指令,在测温过程中,串口屏可随时发送暂停、返回等指令;3)显示温度结果:对接收到的频率和温度值等数据,串口屏应对其进行实时显示;2.2.2UsartGPU串口屏开发(1)连接配置UsartGPU串口触摸屏有四个标准引脚,分别为:+5V、GND、RX和TX端。开发人机交互界面时,采用USB转TTL连接线将串口屏与电脑相连,其实物如图4-3所示。图4-3USB-TTL连接线Fig.4-3ThephotoofUSB-TTLcable人机交互界面开发完成后,串口屏与单片机通信时,同样通过串口与单片机相连接,其连接方式见图4-4,说明如下:1)+5V和GND——UsartGPU串口屏的供电引脚:设计开发时,分别接USB转TTL线的+5V和GND;与单片机相连工作时,分别接STM32单片机的+5V和GND;2)RX——串口屏的数据接收引脚:设计开发时,接USB转TTL线的TX引脚;与单片机相连工作时,接STM32单片机TX引脚;3)TX——串口屏的数据发送引脚:设计开发时,接USB转TTL线的RX引脚;与单片机相连工作时,接STM32单片机RX引脚;图4-4串口屏通信连接图Fig.4-4Thediagramofcommunicationconnectionbetweenserial-portscreenandSCM(orUSB-TTL)(2)界面设计GPUMaker是一款单一的exe文件,其无需安装,可直接在电脑上运行,内部配置了常用的背景图片和汉字点阵,同时用户也可以选择系统之外的图片和汉字点阵上传到串口屏中。串口屏与电脑相连接后,打开GPUMaker软件,点击自动连接,软件会自动识别串口屏。在利用软件进行界面开发设计时,运用串口屏特有的一套描述语言编写功能界面,包括:1)激励脉冲数、延迟脉冲数参数输入框:在此界面有小键盘,通过点击阿拉伯数字,来输入不同的脉冲数,其输入框设计见图4-5a中所示。2)开始、暂停、返回等功能按钮框:通过点击不同的功能按钮,单片机将执行不同的功能,其按钮设计见图4-5b中所示。3)频率值、温度值显示框:单片机测量谐振频率值后,会处理为温度值,之后将数据上传串口屏固定的显示框内进行显示,其显示框设计见图4-5b中所示。在超声导波谐振测温人机交互界面的设计中,参数设置需要自行输入,数据显示需要不断的定时刷新,除此之外界面中的文字、输入框、显示框、功能和键盘按钮框等不需要动态刷新,因此采用UsartGPU串口屏的批页面显示模式,将复杂的UI界面语句组合起来。每个批页面可储存1K字节的语句,系统共支持127个批界面显示。通过批页面设计,将复杂的页面提前储存到串口屏中,大大减小了系统运行时占用内存,同时也减小了单片机与串口屏之间的数据传输量。图4-5a为本谐振测温方案中的参数设置页面;图4-5b为GPUMaker软件的批页面设计界面,从图中可看到参数输入框、功能按钮框和数值显示框等。(a)页面设计(b)软件设计界面图4-5GPUMaker界面设计Fig.4-5Thedesignofuserinterface(3)代码设计完成UsartGPU串口屏的显示及触控界面设计后,需要编写相应的软件代码来响应串口屏的触控操作及界面切换操作等。为了便于程序的修改和调用,将串口屏不同批界面之间相同功能的执行代码进行统一设计,不同功能的执行代码进行独立设计,使程序层次分明,便于调试和修改。主要的独立模块包括:固定界面显示模块、触控消息解析模块、触控指令处理模块和显示模块。1、固定界面显示模块:在人机交互界面中,采用了串口屏特有的批界面模式,本论文中,一共设计了4个批页面,每个批页面存储了不同的显示信息,其显示代码如下:voidsetup(void){ switch(package) { case1://启动批界面1程序; GpuSend("SPG(1);"); GpuSend("\r\n"); Delay_ms(300); break; case2://启动批界面2程序;… break;}}执行setup程序语句,当赋予package值1时,即可在屏幕上调用存储在串口屏FLASH中的1号界面,当连续改变package值时,屏幕将依次显示对应的界面,实现屏幕界面切换功能。2、触控解析模块:将串口屏通过串口发送的数据解析为相应的触控指令。采用串口屏的热区及组态模式,当按下串口屏的某个按键时,串口屏会向串口发送格式为[BN:数字]的数据流,其中数字为批界面中设计时定义的每个按键的热区号,可识别用户的具体操作。解析模块主要的代码如下:externvoidrecvchar(unsignedintgc){ if(gc=='[')//①{ cjs=0; iscmd=1; } elseif(gc==']')//② { iscmd=0; iscmdok=1; } elseif(iscmd==1)//③ { if(cjs<8)cmd[cjs]=gc; cjs++; }}当检测到字符‘[’时,执行①代码程序,字符计数器cjs清零,标志位iscmd置1,表示已经检测到串口传入的按键命令。之后iscmd为1,程序执行③程序代码,通过cjs自加操作,依次将串口命令gc中的字符传递到cjs字符数组中。当最后检测到字符‘]’时,执行②程序代码,标志位iscmd置0,表示命令gc已识别,同时标志位iscmdok置1,表示命令已经识别,将作为触控处理模块的启动标志位。特殊地,在参数设置界面中,参数设置完毕后点击确定按钮,其传送的数据流格式为:{数字1}[BN:数字2],其中数字1为用户输入的参数数量,数字2为确定按钮的热区号。因此,添加一段对数据({数字})进行解析的代码,即可在触控解析程序执行的同时,对用户输入的参数数量进行解析,其代码与触摸解析模块代码结构类似,这里将不再进行赘述。3、触控处理模块:其建立在系统触控解析模块完成的基础上,系统得到用户指令后,不仅需要对命令进行识别,且需作出相应的具体操作。命令识别工作已经由触控解析模块完成,本模块只需根据指令执行不同的操作代码即可。其代码如下:switch(package){case1://界面1中按键作用…case4://界面4中按键作用{ if((cmd[0]=='B')&(cmd[1]=='N')&(cmd[3]=='1')) { number1=number1temp;//操作执行代码}} }触控解析模块执行的过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论