第一章 绪论
1.1引言
在航天航空中飞机发动机是飞机的重要组成部分,其发动机的稳定性直接影响到飞机的飞行安全。据统计,发动机的故障问题中,有90%以上是由振动导致或和振动有关。工厂负责某型航空发动机的维修任务。维修后的发动机进行的最后一道工序是进入试车台“试车”(即在发动机运行状态下对其各种参数进行检验),在“试车”过程中,大量的发动机参数将被测量与记录,最终根据这些数据来判断发动机合格与否,合格的将被交付使用,否则将进行进一步的维修 。在这些测量项目中,有一个非常重要的项目是振动量的测量[1]。所以准确掌握飞机发动机的振动状态可以有效的分析发动机的工作情况,同时也是发动机性能评定的一个重要方面。
近年来,我国逐渐从航空发动机的仿制道路转向独立自主研发,由于结构和气动方面的要求,航空发动机的振动问题日益引起人们的关注。因此,在发动机的研制过程中,分析和实测发动机的振动,采取措施排除故障,提高发动机的持久性和可靠性以及保证飞机安全具有重要的意义。 1.2 航空发动机振动测量仪的研究现状与展望
航空发动机是一个高速旋转的机械,其可靠性直接影响到发动机的利用率、经济效益以及飞机的飞行安全,由于其工作在高温、高压、高应力及交变载荷的恶劣条件下,故障率通常较高。
航空发动机故障检测和诊断是保证发动机安全工作,延长发动机使用寿命的一个重要的技术措施,对于增强飞机适航性、降低飞机维修费用和减少飞行事故都具有十分重要的意义。所以飞机发动机的振动问题已成为世界各航空公司以及研究所所关心的主要问题。
我国在上世纪八十年代,从英国引进的飞机发动机振动测量仪UT1130,由于其全部为分立的硬件组成,且其频响带很不稳定,在其频响带内增益并不能严格的为某一固定值,这给测量结果带来了必然的误差,其技术也已经落后,随着科学技术的发展,自主研制出新的、精确度高的振动仪成为各航空公司、研究所及大学纷纷研究的方向,如某航空公司的“基于LMS Test.lab的航空发动机整机振动测量与分析”[2] ,选用旋转
1
机械试验系统LMS Test.lab进行整机振动测量与分析,通过测量转子—支承系统以及机匣等其它产生高频振动和应力的构件的固有频率、转子临界转速、振型、刚度、阻尼等模态参数和物理参数。测量压气机、涡轮、附件传动机匣外部结构上的振动位移、速度、加速度总量;再在轴承的适当位置测量轴承载荷及转子振动加速度、速度、位移值,以及频率、相位、外传力等参数。利用FFT快速傅氏变换得到发动机临界转速、振动频谱与转速的关系等特征,从而反映发动机的振动情况,这种方法涵盖了结构试验、旋转机械、声学试验分析,需要测试大量的物理数据工作量非常大,而且某一部份的数据出现错误都可能导致最终测量的准确性。西北工业大学的邹华、廖明夫同学2006年在Lab Windows/CVI虚拟仪器平台上研制航空发动机振动台振动测试实验系统[3]。其振动测试实验系统主要完成正弦振动、随机振动、冲击测量三大振动实验。南京航空航天大学自动化学院学生徐军、赵敏等在“一种基于ARM处理器的航空发动机振动测量仪的设计”一文中运用以ARM为核心处理器,ICP型加速度传感器为振动传感器[4]。由安装在航空发动机上的交流测速发电机提供的发动机转速信号。实时地对日标齿轮的振动量进行测量与显示。徐军又在其硕士论文“基于ARM处理器Linux开发平台的发动机振动测量仪的研究与实现”一文中,采用嵌入式系统构成发动机的振动测量系统[1]。
对于飞机发动机振动测量仪的研制可以从多方面来考虑,本课题介绍的振动测量仪的研制基于单片机MC9S12XS128,采用有效值电路测速度与频压转换电路测频实现振动位移的带通测量,16位AD转换芯片ADS7809进行AD转换送入单片机处理后通过LED进行显示。并在软件上针对传感器的频率响应对测量结果进行补偿,将部分软件功能硬件化,降低了单片机开销,减小了计算误差,保证了仪器的精度。对于硬件电路无法实现的稳定频响带和理想的高低截止频率采用软件进行处理从而使振动测量仪具有精度高,抗干扰能力强,稳定性好结构简单,易于操作等特点。
随着智能化仪器仪表的快速发展,在工业控制和消费电子领域,越来越多应用到单片机系统,其以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于对功能、可靠性、成本、体积以及功耗等有严格要求的专用计算机系统。单片机技术的快速发展预示着自动控制领域新的研究方向。在将来的振动仪表改进和发展中,必然朝着此方向继续发展。
2
第二章 振动测量仪总体设计方案
2.1 应用系统研制过程
整个振动测量仪的设计由硬件和软件组成,硬件主要为单片机、扩展的存储器、输入/输出设备等硬件组成的系统,软件是各种工作程序的总称。要设计出高性能的单片机系统,就必须使硬件和软件功能不断调整,相互配合,以达到最佳协调状态。
如图2-1所示,单片机应用系统的研制过程主要包括总体设计、硬件设计、软件设计、在线调试等几个阶段,它们是相互联系的,有时交叉进行。
图2-1 应用系统研制过程框图
首先,在开始设计前,必须明确应用系统的功能和技术要求,综合
3
考虑系统的先进性、可靠性、可维护性、成本、经济效益,选定单片机型号。然后,划分软、硬件功能,根据系统要求确定哪些功能用硬件实现,哪些功能用软件实现。功能划分之后再根据研制任务和系统精度、可靠性、速度等要求确定硬件电路器件和设备。最后,进行软硬件分别设计、调试,及系统联调,并根据出现的问题进行修改、固化系统软硬件各独立功能,达到完全稳定、可靠时方可成品。 2.2 硬件设计原理
在振动测量中,待测的基本的参数主要有加速度、速度和位移三个。三者存在积分和微分关系,所以根据其中任意一个已知量,可以得出其它两量。一般情况下,位移参量对低频振动敏感,加速度对高频振动敏感,而速度对频率的敏感程度是前二者的折中,所以要测量低频时应选择位移参量,高频时选择加速度参量,而进行宽频带测量时则选择速度参量[5],本振动测量仪要求的频率响应为30-270HZ,所以选用速度参量进行测量较好。所以本仪器使用SZQ-4和SZQ-8系列磁电式振动传感器,该类型传感器输出电压信号与振动速度成正比,经过对该信号一次积分可得出振动位移量。磁电式速度传感器的特点是输出信号大,输出阻抗低,抗干扰能力强,信噪比高,使用方便,特别适于装卸频繁而环境污染又比较严重的发动机台架车时的振动测量[6]。
本测振仪主要电路由传感器信号放大电路, 有效值测量电路、频压转换电路、16位A/D模数转换器,串行输入16位D/A转换器,检流计等组成。由于磁电式传感器存在频率响应,可测频率范围窄(30—270Hz)。传统测量仪在超出该范围测量存在很大的误差。针对此问题,本测振仪设计出测量信号频率的硬件电路,通过软件上的频率补偿来消除不同频率下的频率响应对测量结果的影响,以达到精确测量。硬件电路原理如图2-2所示:
测量时,通过传感器将速度信号转化为电压的正弦波信号,经过放大后分别测得振动的速度与频率。振动速度由有效值测量电路计算得出(正弦波均方根),经过A/D采集后将有效值送单片机处理。振动频率经比较器后通过LM2907频压转化电路转化为电压值,经过A/D转换器将频压信号转换为数字信号送入单片机系统中与速度有效值进行计算。在测量频率时采用的是先将频率转换为电压,再由电压值通过计算得出频率,这种频率测量方法在振动测量中是个创新点,其减小了其他小频率对频率测量的影响。两路A/D电路所采集到的速度值与频率值,进入单片机通过滤波后,再通过公式[7]
4
S=∫Vdt=VT=
V
(1) f
(式中V为速度有效值,f为频率值)即可得出振动的位移峰峰值S。最终的有效值由数码管显示出来。该测振仪采用16位AD转换芯片ADS7809进行A/D转换,并在软件上将传感器的频率响应对测量结果的影响进行补偿,同时将部分软件功能硬件化,降低了单片机开销,减小了计算误差,保证了仪器的精度。
有效值A/D变换 传感放大测量器 电路 频压变A/D变换 换LED MC9S12显示XS128
图2-2 硬件电路原理图
5
第三章 振动测量仪器件选择及硬件电路设计
3.1传感器选择
在振动测量仪的研制中传感器是必不可少的器件,最常见的传感器可以分为位移型,速度型和加速度型振动传感器。 (1)位移型振动传感器
用来测量振动位移的传感器多以非接触式为主,如激光测振仪、光纤位移测振传感器、电涡流式传感器、电容式振动位移传感器以及应变式振动位移传感器。
(2)加速度型振动传感器
加速度型振动传感器以压电式传感器为代表。这种传感器利用压电晶体的正压电效应输出的高阻电荷量,再通过电荷放大电路后输出一与机械量成正比的低阻电压信号。 (3)速度型振动传感器
目前使用的速度型振动传感器其原理多为磁电式。即将振动源的振动速度转化为电信号。在正常工作中,磁电式传感器内可动部分由于惯性的作用将按振动频率沿振动方向相对于外壳作往复运动。实质上是外壳随振动往复运动,而中心可动部分悬浮在弹簧片上不动。检测线圈切割磁力线产生感应电动势,感应电动势的频率等于振动频率,而电动势的大小则与振动的速度成正比。 磁电式振动传感器通常是自发生式的,不需要外加电源供电;输出信号大,灵敏度相对较高;低内阻,对噪声信号不敏感。
目前,不仅我国的发动机生产和修理厂的试车台使用磁电式速度传感器,而且国外许多发动机在台架试车时也仍然使用这种传感器。但是这种传感器存在测量频率范围较窄,频率响应较大的缺点,所以必须在实际使用中采取必要措施,提高仪器测量精度。本实验使用的SZQ-4型磁电式速度传感器的特点为[6]:
(1)采用新型材料,使传感器能在较高的环境温度下工作,测量涡轮等高温部件的振动。
(2)磁钢运动系统的横向刚性很强,特别适用于各方面都存在强烈振动的场合。
(3)传感器即能在水平方向也能在垂直方向进行振动测量。 传感器的主要技术数据:
(1)灵敏度:(5±0.25)mV/mm·s
-1
(2)频率响应:(70~600)Hz的波动量≤10%;
6
(3)可测量最大振幅值:2mm (峰-峰值);
(4)可测量振动加速度值:(10~500)m/s2峰值(垂直测量状态) (20~500)m/s2峰值(水平测量状态)
(5)横向灵敏度比:≤5%;
(6)工作温度范围:-20℃ ~ +300℃; (7)重量:≤230克;
(8)线性度:在200m/s2 动态范围内≤5%; (9)绝缘电阻 :≥1MΩ;
(10)连接电缆接头:M10×0.75专用双电缆插头;
(11)几何尺寸:高58mm,安装座:33mm×33m。安装用4个M4螺钉,安装孔为Ф35mm圆周四等分。 3.2硬件电路设计原则
一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、 A/D、D/A转换器等,要设计合适的接口电路。系统的扩展和配置应遵循以下原则[8]:
(1)尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。
(2)系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。
(3)硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑原则是:软件能实现的功能尽可能由软件实现,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。
(4)系统中的相关器件要尽可能做到性能匹配。如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品。
(5)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。
(6)单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。
本振动测量仪的系统硬件组成主要有:SZQ-4系列磁电式振动传感
7
器,16位单片机MC9S12XS128,16位高精度A/D转换器ADS7809,七段MAX7219驱动的数码管显示块等。 3.3信号处理电路
3.3.1放大电路
由于信号幅度较小,需要使用放大器将小信号放大到与A/D电路输入模拟电压相匹配的电压范围,以实现模数转换器利用最大化,从而提高测量精度。在前置测量信号通道电路中,放大器是很重要的部分之一。因此,放大器的好坏将直接影响到采样数据的真实性和可靠性。为了保证放大阶段不再次引入干扰,我们选用了INA122仪表用放大芯片。该芯片有如下特点[9]:
(1)低静态电流: 60µA; (2)宽电源电压范围 单电源供电:2.2V-36V;
双电源供电:-0.9V/+1.3V-±18V;
(3)低失调电压漂移:最大3µV/°C (4)低偏置电压:最大250uF; (5)低输入偏置电流:最大25nA; (6)低噪声:60nV/
;
(7)8引脚塑料 DIP和 SO-8 封装 其电路连接如图3-1所示:
IN-R105.6KAGNDAGNDIN+R13100kR12100kR95.6KC1822uFAGND图3-1放大电路
U7R1939K123+15V7C4104RG1IN-IN+VCCINA122C2122uFC5104AGNDRG2OUTAGNDVSS8654AAGND-15V 8
3.3.2速度测量电路
在本振动测量仪的研制中速度是其重要的一部分,速度测量的精确性对测量结果至关重要,本振动测量仪中采用AD736得到速度的有效值。电路图如图3-2所示,传感器输出的正弦波信号经放大电路和滤波电路后,送入由OPA2277和AD736构成的放大、有效值测量电路,即可获得振动速度的有效值。
C33filter out10uF1234U8CcVINCF-VSCOM+VSVOCAV10uF33uF 图3-2 速度有效值测量电路
87+15V6IN15-15VAD736C35C34AD736是美国AD公司推出的一种计算直流或交流电压信号RMS均方根值的芯片,可以直接计算输入的任何复杂波形(包括交、直流成分)的真有效值。其主要特点是准确度高、灵敏性好(满量程为200mVRMS)、测量速率快、频率特性好(工作频率范围可达0~460kHz)、输入阻抗高、输出阻抗低、电源范围宽且功耗低最大的电源工作电流为200μA.用它来测量正弦波电压的综合误差不超过±3%
[10]
。使用该芯片,可直接由硬件电路得到
速度的有效值,避免了在单片机中计算有效值对单片机程序运行时间和空间的限制,并简化了设计、大大提高了电路可靠性、稳定性。实际测量到的有效值与RMS均方根电路输出值见第七章表一。 3.3.3频率测量电路
传感器输出的信号电压经放大电路放大后一路送入速度有效值测量电路,一路送入频率测量电路进行频率测量。电路图如如3-3为频率测量电路,信号通过电容送入比较器MAX921的同向输入端,比较器的输出端
9
输出方波信号,且方波频率与输入的正弦波的频率相同。调节比较器反相输入端的电位器可以适应不同环境要求。比较器的输出端输出方波通过隔直流电容进入LM2907进行频压转换,将频率信号转换为电压信号,从而减小了直接测频率时带来的误差。
图3-4即为频压转换电路,频率电压转换芯片LM2907是美国NS公司生产的通用型频压转换器,且使用方便,外围只需接入几个简单原件即可构成F/V或V/F等转换电路,并且容易保证转换精度。LM2907的主要特点为[11]:
(1)以地为参考点的频率输入可直接从输入管脚接入; (2) 零频率输入时,输出电压可根据外围电路自行调节; (3)使用方便:
;
(4)进行频率倍增时只需使用一个RC网络;
(5)输出电压与输入频率成正比,线性度典型值为±0.3%; (6)运算放大器/比较器采用浮动三极管输出; (7)最大50mA的输出电流可驱动开关、发光二极管等;
(8)比较器的滞后电压为30mV,利用这个特性可以抑制外界干扰; (9)具有保护电路,不会受高于Vcc值或低于地参考点输入信号的损伤; 采用频压转换电路可以减小直接测频率带来的误差,这种频率测量方法在振动测量中是个创新点,其减小了其他小频率对频率测量的影响。第七章表二为输入信号是100mv时频压转换电路所测得的实际数值。
AGND+5VC29AGNDW1U4R61MAGND50K4835C3filter out104R71M2REFHYSTMAX921AGND6722uFR171100KAGNDW250K 图3-3 频率测量电路
10
+3VR4010kC30F-MERC151000pFC160.47uFR14100KR18200R2010K430pF1234567U5TACHO+NCCCNCFLTGNDOPIN+TACHO-EOPIN-NCV+NCCLM2907F V IN1413121098+15V
图3-4频压转换电路
3.3.4 A/D转换电路
经过频压转换电路和速度测量电路之后获得的电压值,分别送入16位数模转换芯片ADS7809进行AD转换,将模拟信号转换成数字信号,最终通过单片机MC9S12XS128、MAX7219和数码管将测量结果显示出来,转换电路如图3-5所示。ADS7809是BB公司推出的高精度AD采集转换芯片,内部含有16位逐次逼近寄存器,采样精度高,功耗小。ADS7809具有以下特点[12、13]:
(1)ADS7809是CMOS结构组成的16位采集数模转换器,具有16位带采样保持的基于电容的逐次逼近寄存器型模数转换器;
(2)100kHz采样速率,20kHz输入时的信噪比达86dB; (3)±2LSB的积分非线性和差分非线性;
(4)6种可选的输入范围,分别是0~10V、0~5V、0~4V、±10V、±5V和±3.3V;
(5)片内带有+2.5V基准源,也可采用外部基准源;
(6)片内自带时钟,采样数据通过串行输出。数据既可用内部时钟,也可由外部时钟同步后输出;
(7)采用单5V电源供电,最大功耗小于100mW; (8)针脚兼容12位ADS7808; (9)工作温度范围为-25℃~+85℃; (10)简单数字信号处理接口。
11
F V POWC1522uFU11AGNDR10AGNDAGND6C92.2uF7AGNDC102.2uF+5V8910C13100F V IN100uFR833.2K2345R1INAGND1R2INR3INCAPREFAGND2SB/BTCEXT/INTDGNDVDIGVANAPWRDBUSYCSR/CTAGDATADATACLKADS7809SYNC20+5V19181716R15200F V BUSYID3ZENER3AGNDC1622uFAGNDR6200C20104C2110415F V RCO1413R13F V DATAID2ZENER320012F V CLKO11 图3-5 A/D转换电路
3.3.5显示接口电路
仪器仪表的显示接口电路是控制系统实时地、自动地向操作人员提供必要的状态信息的手段和途径之一。它使操作人员能够及时地观察到系统的运行情况和对操作命令的相应结果,是人-机交互联系的重要部件之一。仪器仪表常用的显示器有发光二极管显示器LED和液晶显示器LCD。LED工作电压低、响应速度快、寿命长、价格低。液晶显示器本身不发光,只是调制环境光。它工作电压低、功耗小,外形薄;缺点是寿命短,在暗室中不能使用。所以,LED显示因其良好的特性,且简单易用而被广泛应用。其内部基本发光单元是发光二极管,在发光二极管正级加上正向电压,负极通过限流电阻接地,则发光二极管发光。LED显示器常见的有发光二极管和点阵LED管、7段LED管、米子形LED管,后三者发光二极管的不同组合结构。根据实际需要我们采用7端LED作为显示器件。按公共端接地还是接高电平,7段LED又可分为共阴极和共阳极两种。
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高;动态显示是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态
12
扫描方式来驱动 LED,使得硬件电路简单许多,但是需要占用大量的单片机运算时间,使得单片机有限的软件资源更加匮乏。随着微电子技术的发展,MAX7219 芯片的推出则改变了这种状况。
MAX7219是MAXIM公司设计的专门的LED驱动器,共阴极LED输出,除外接一个电阻用来控制显示电流外,不需要任何其他外接电路,可以直接驱动8个LED数码管,当多片串接时可以驱动更多的LED。芯片内有可存储显示信息的8×8 静态 RAM、多路扫描器、段驱动和位驱动电路。该芯片以三线串行接口与单片机连接,其接口的传输速率可达10 MHz,有独立的发光二极管段控制,内部译码/不译码选择,数字、模拟两种亮度控制方式,可以级联使用。采用1片MAX7219便可完成8位数码管的显示驱动任务。所以,采用MAX7219 芯片实现LED 数码显示,具有外围电路简单、可节省CPU的I/O 接口 、较高的性能价比、编程简单等优点,因而,在微型控制器、智能仪表、控制面板和家用电器等领域中日益获得广泛的应用。LED显示接口电路如图3-6所示:
CLK_XSU1131415161718192021222324CLKLOAD(/CS)SEG ADIG1SEG FDIG5SEG BGNDSEG GDIG7ISETDIG3V+DIG2SEG CDIG6SEG EGNDSEG DPDIG4SEG DDIG0DPUTDINMAX7219DSaR1+5V12CS_XS111098765432S1DA_X1174211053129图3-6 LED显示接口电路
bcdefgdp86 3.4其他重要电路的设计
3.4.1电源电路
在整个设计系统中,要用到不同的电源电压来供电:MAX921、 ADS7809、单片机MC9S12XS128、MAX7219芯片工作电压为+5V;OPA2277、
13
LM2907 、INA122 、DAC714模拟工作电压为±15V,所以,在设计中获
得稳定、干扰性小的电源是至关重要的。为了将模拟信号和数字信号隔离,数字电路和模拟电路应采用不同的电源工作。对于±15V和±5V电源电压我们采用±15V和±5V的宽压电源模块URA2415D和URA2405D,采用此模块可保证输入电压与输出电压有很好的绝缘性,较小了电源对电路稳定性的影响。±5V宽压DC-DC电源模块URA2405D-10W电路图如图3-7所示。
1GND2VIN13
Ctrl-VoGND0VVIN+Vo图 3-7 ±5V电源产生电路
6-5V54+5V
宽压电源模块URA2405D具有如下特点:
(1) 宽电压输入,隔离稳压双路输出±5V直流电压; (2) 宽输入电压范围:4:1; (3) 短路保护;
(4) 隔离电压1500VDC;
(5) 正负电压输出效率达82%; (6) 宽工作稳定范围:-40℃~+85℃; (7) 金属屏蔽封装;
(8) 高低温特性好,能满足工业级产品技术要求; 3.4.2 时钟电路
在单片机系统中,时钟是不可缺少的模块,使单片机按照时钟节拍一步一步地执行程序,只有保证单片机能够进行正确的复位,才能使其进入正确的工作状态。MC9S12XS128单片机的时钟和复位产生模块CRG(Clock and Reset Genetator)包括低电流振荡器或是标准振荡器的选择、锁相环时钟频率放大器、看门狗、实时中断和时钟监控器。
时钟和复位发生器模块(CRG)为芯片内部和所有外围模块提供内部时钟信号,该系统可以多种时钟方式以满足不同系统中不同频率范围的要求:芯片上的锁相环(PLL)、自时钟的锁相环、振荡器。时钟产生的锁相
14
环或振荡器主要提供系统时钟频率的核心时钟和总线时钟,这些系统时钟主要用于整个单片机芯片驱动、存储和外围设备;程序快闪存储器是由总线时钟震荡器提供,时钟振荡器作为基准时间来推出编程和擦除时间为NVMS;CAN模块可从总线时钟或直接从振荡器时钟来配置时钟源,这样用户可以基于时钟性能选择时钟源;为了确保现有时钟,MCU包含一个片上时钟监视器连接到振荡器的输出,如果允许没有振荡器时钟输出,时钟监控器可以配置为锁相环时钟模式或一个复位系统。
低速晶体振荡器支持超低功耗,低频下使用了一个16MHz的晶体,晶振只需经过XIN和XOUT两个引脚连接,不需要任何电容,因为,低频模式下所需电容都已集成在芯片中。低速晶体振荡器也可通过外接450kHz~8MHz的高速晶体振荡器或陶瓷谐振器工作在高频模式下,只是此时要分别在晶振与XIN管脚和XOUT管脚之间连接处加电容,电容大小根据晶体或谐振器特性来选择。本振动测量仪器就是外接4MHz高速晶振,由此产生主系统时钟,如图3-9所示。
XINTCLKC2716MHz33pC2833p 图3-9 外接晶振电路
3.4.3 复位电路
复位的含义简单地说就是“一切重新开始”,使CPU及系统各部件处于确定的初始状态,并从初始状态开始运行。复位电路是单片机系统最基本的组成部分,可靠的复位设计是保证系统可靠运行的前提条件。MC9S12 系列 MCU 在响应各种外部或侦测到的内部系统故障时可进行系统复位
[15]
。当MCU 检测到需要复位时,它将寄存器和控制位设置成已知的起始
默认值。系统复位的用途是错误恢复,即当MCU检测到内部故障时,它尝试回到一个已知、明确的状态而从故障中恢复。单片机的外部复位电路有上电自动复位和按键手动复位两种。上电复位要求接通电源后,自动实现复位操作。本系统采用的是具有监视功能的上电自动复位,电路如图3-10所示。
15
RST104C26Q2TCM809+5VR21100kD6 图3-10 RC复位电路
复位芯片TCM809为高性价比的系统监控芯片,用来对数字系统的电源电压VDD进行监控,并在必要时向处理器提供复位信号,TCM809 RESET输出为低电平有效。其基本特点为[16]:
(1)高精度VDD监控电路,可对额定电压为2.5V、3.0V、3.3V、5.0V的系统电源进行监控;
(2) 140ms最小复位超时周期;
(3) VDD低至1.0V时,RESET仍然输出有效; (4) 低供电电流,典型值为9uA;
(5)VDD瞬间变化不会导致复位;推挽式复位输出。
3.5 PCB电路板的设计
印制电路板(PCB)是设计走向电子产品的必经之路,它提供电路元件和器件之间的电气连接,是单片机应用系统中器件、信号线、电源线的高密度集合体。通常设计硬制电路板的一般步骤如下[17]:
(1)绘制原理图。这是电路板设计的先期工作,主要是在ISIS系统中完成ISIS原理图的绘制,然后生成网络表。
(2)规划电路板。在绘制电路板之前要对电路板有一个初步的规划,如电路板的物理尺寸、 采用几层电路板、各个元件采用何种封装形式及安装位置等。
(3)设置参数。参数的设置是电路板设计中非常重要的步骤,主要是设置元件的布置参数、层参数等。
(4)装入网络表格及元件封装。网络表格是电路板自动布线的关键,
16
也是原理图设计系统与硬制电路板设计系统的接口只有将网络表格装入后,才可能完成对电路板的布线。元件的封装就是元件的外形,对于每个装入的元件都必须有相应的外形封装,才能保证电路板设计的顺利进行。
(5)元件的布局。元件的布局可以让软件自动布局也可以手工布局。规划好电路板并装入网络表后,用户可以让软件自动元件,并自动将元件布置到电路板边框内。
(6)自动布线。只有相关的参数设置恰当、元件布局合理,自动布线几乎100%能成功。
(7) 手工调整。自动布线结束后,往往不太美观和令人满意,所以 手工调整。
(8)后期处理及输出。完成电路板的布线后,保存完成的电路线路图文件。为了提高PCB的抗干扰性,还需要对PCB板进行敷铜处理,还可以从Proteus ARES系统中预览3D效果图。最后还可以利用各种图形输出设备如打印机或绘图仪输出电路板的布线图。
但是,印刷电路板设计不是器件、线路的简单布局,所以,在进行PCB设计时,必须遵守PCB设计的一般原则,要使电子电路获得最佳性能,元器件的布局及导线的布设是很重要的。 3.5.1电子原器件的布局
印制电路板上元器件布局的好坏,直接影响产品的整机性能。合理的布局,既便于安装、调试、检修和散热,又可降低电磁干扰(EMI)的可能性及系统环路产生的噪声。PCB元器件布局的基本要求有
[18-22]
:
(1)机械结构方面。元器件尽量成直线排列,把相互有关的元件尽量摆放在一起,力求电路安排紧凑、密集以缩短引线,较小阻抗,降低噪声,但也不可过小,过小则散热不好,且信号的相互干扰较强;多级放大器的各级最好成直线排列,输入与输出级相距较远,从而减少输入与输出的级间耦合;机械尺寸较大的器件的安装位置及排列应符合机箱布局的要求,还应从三维角度考虑元器件的安放位置与机箱的配合;对于元器件或导线之间有较高电位差的,应加大它们之间的距离,以免放电引起短路;带高电压的元器件应尽量布置在调试时手不易触及的地方,避免造成高压电击。
(2)信号走向方面。元器件布局尽量按信号走向来布局,对于混合信号,应将数字开关动作器件和模拟信号电路隔离,防止数字电路中的电流开关效应产生的开关噪声进入模拟电路。对于具有高速信号的电路,高频电路要和低频电路分开;时钟产生器尽量靠近的单片机IC时钟引脚的输
17
入端,且引线要短而粗,I/O驱动电路尽量靠近印刷板边,时钟、总线、片选信号要远离I/O线和接插件;关键元器件旁边的去耦电容应紧靠元器件的电源输入端。
(3)散热方面。对于发热量较大的器件如变压器、功率管等,尽量摆放在机箱通风性较好处,且电解电容、晶振等怕热器件要远离发热量大的器件,双层面板中底层不得放置发热量大的器件。
(4)电磁干扰方面。布局时要充分考虑电容、电感、走线等的电磁干扰问题。走线尽可能的短,模拟电路和高速数字电路、开关电源、继电器等合理分开,使其相互的耦合干扰减小到最低。
(5)结构工艺方面。对于单层面板,元器件一律放在底层;对于双层面板,原则上器件都放在顶层,但也可根据实际需要,将一些较小的贴片元件如贴片电容、贴片电阻、贴片晶体管、贴片IC放置在底层;外部接插件最好布局在电路板的边缘,以方便安装和布线 3.5.2 印刷电路板的布线
在PCB设计中,布线是完成产品设计的重要步骤之一。在整个PCB设计中,以布线过程限定最高、技巧最细、工作量最大。PCB布线有单面布线、双面布线及多层布线。布线的方式也有两种:自动布线和交互式布线,在自动布线之前,可以用交互式预先对要求比较严格的线进行布线。要设计出合理的印刷电路板的布线,应该遵循以下原则[23]:
(1) 高频数字电路走线细一些,短一些好。
(2) 大电流信号,高电压信号与小信号之间应该注意隔离(隔离距离与要承受的耐压有关,通常情况下在 2KV 时,板上距离要有 2mm,在此之上以比例算来加宽间距,例如若要承受 3KV 的耐压测试,则高低压线路之间的距离应在 3.5mm以上,许多情况下为了避免爬电,还在印刷电路板上的高低压之间开槽)。
(3) 双面板布线时,两面的导线宜相互垂直,斜交,或者弯曲走线,避免相互平行,以减小寄生耦合。作为电路的输入及输出用的导线应尽量避免相邻平行,以免发生回授,这些导线之间最好加接地线。
(4) 走线拐角尽可能大于90度,杜绝小于90度的拐角,也尽量少用90度拐角。
(5) 同是地址线或者数据线,走线长度差异不要太大,否则短线部分要人为走弯线作补偿。
(6) 走线尽量走在焊接面,特别是通孔工艺的PCB。 (7) 尽量少用过孔、跳线。
18
(8) 单面板焊盘必须要大,焊盘相连的线一定要粗,能放泪滴就放泪滴。
(9) 大面积敷铜要用网格状的,以防止波焊时板子产生气泡和因为热应力而弯曲,但特殊场合下要考虑GND的流向,大小,不能简单用铜箔填充,而需要走线。
(10) 元器件和走线不能太靠边放,一般的单面板多为纸质板,受力后容易断裂,如果在边缘走线或放元器件就会受到影响。
(11) 必须考虑生产,调试,维修的方便性。
对模拟电路来说,处理地的问题是很重要的,地上产生的噪声往往无法预料,可是一旦产生将会带来极大的麻烦,应该未雨绸缪。可以在板子的四角加退藕电容。一脚和板子上的地连,另一脚连到安装孔上去,(通过螺钉和机壳相连)这样可将此分量滤去,放大器及 A/D 也就稳定了
19
第四章 振动测量仪软件设计
4.1 单片机的选择
4.1.1单片机系统的概述[24]
将中央处理器(CPU)、随机存储器、只读存储器、中断系统、定时器/计数器及I/O接口电路等微型计算机的主要部件集成在一块芯片上,使其具有计算机的基本功能,就叫做单片微型计算机(Single Chip Micro Computer,SCMC,)简称单片机。
单片机按内部数据通道的宽度,可分为4位、8位、16位、32位,自1975年美国IT公司首次推出4位单片机TMS-1000后,各计算机公司竞相推出4位单片机,4位单片机主要应用于家用电器、电子玩具等领域。1976年9月美国Intel公司率先推出MCS-48系列8位单片机,单片机发展进入了一个新的阶段,8位单片机主要应用于工业控制、智能接口、仪器仪表等个领域。1983以后,集成电路的集成度达到十几万只晶体管/片,16位单片机逐渐问世。16位单片机具有高速输入/输出(HSIO)、脉冲宽度调制(PWM)输出、特殊用途的监视定时器(Watchdog)等。16位单片机可用于高速复杂的控制系统。近年来各计算机生产厂家已进入更高性能的32位单片机研制、生产阶段。由于控制领域对32位单片机需求并不十分迫切,而且考虑成本,所以32位单片机的应用并不广泛。当前从单片机的实际使用来看,4位、8位、16位单片机在各领域都有很广泛的应用,如4位单片机在一些简单家电用器、高档玩具中仍有应用。8位单片机在中、小规模应用中仍占主流地位, 16位单片机在比较复杂的控制领域中中才用。
单片机有两种基本结构:一种称为普林斯顿(Princeton)结构,是将程序存储器和数据存储器合用一个存储器空间的结构,在通用微型计算机中广泛采用。另一种称为哈弗(Harvard)结构,是将程序存储器和数据存储器分开,分别寻址的结构。考虑到单片机“面向控制”实际应用的特点,一般需要较大的程序存储器,所以,目前单片机采用哈弗结构的较多。
单片机具有的基本特点是:
(1)存储器ROM和RAM严格区分开的。ROM为程序存储器,只存放程序、固定常数及数据表格。RAM为数据存储器,用作工作区急存放用户数据。
20
(2)采用面向控制的指令系统。例如,位处理、查表、多种跳转、成除法运算、状态检测中断处理等增强了实时性。
(3)I/O引脚通常是多功能的。
(4)外部扩展能力强。如扩展ROM、RAM、I/O接口、定时器/计数器、中断系统等。
(5)体积小,成本低,运用灵活,易于产品化,可方便组成各种只能化的控制设备和仪器,做到机电一体化。
(6)抗干扰能力强,适应温度范围宽,各种恶劣环境下都可可靠工作,这是其他类型的计算机无法比拟的。
(7)可方便的实现多机和分布式控制,使整个控制系统的效率和可靠性大为提高。
由于单片机具有这些特点,使它在工业控制、智能仪表、计算机外部设备与智能接口(传真机、打印机、复印机)、家用电器、商用产品(如电子收款机、电子秤)、儿童智能玩具、军事装置交通控制等方面得到了广泛地应用。用单片机制作的测量、控制仪表,能使仪表向数字化、智能化、多功能化、柔性化发展,并使监测、处理、控制等功能一体化,使仪表重量大大减轻,便于使用,同时降低了成本,提高了性价比。 4.1.2 单片机选择原则[25]
单片机是实现整个控制系统智能化的主要指挥者,它的选择对整个仪器功能的实现具有相当重要的作用,一般单片机的选择主要从以下几个方面考虑:
(1)字长。字长反映了计算机的计算精度、指令数目、寻址能力和执行操作时间。在其他指标相同情况下,字长越大计算机处理数据的速度就越快,但同时辅助电路的成本就越大、越复杂。所以,应根据实际需要来选择字长,通常要求不高时8位的单片机即可满足要求,对于精度要求较高的系统则选用16位或32位的单片机。
(2)寻址范围和寻址方式。寻址范围反映了系统可存放程序的数量和大小,根据系统要求选择与寻址范围有关的合理内存容量。单片机寻址方式一般有直接、间接、变址寻址等方式。
(3)指令种类和数量。一般来说,指令条数越多,针对特定操作的指令也必然增多,这可使处理速度加快,程序量减少。字越短的单片机,通常指令条数也会少一些。
(4)性能。根据单片机所要完成任务的复杂程度选择型号。 (5)存储器。一般单片机都有三种类型的程序存储器形式:程序存储
21
器ROM、数据存储器RAM、外围模块寄存器和特殊寄存器,实际应用中则根据程序运行速度选择不同的存储器。
(6)运行速度。单片机的运行速度首先看时钟频率、指令集、几个时钟为一个机器周期,单片机的速度选择应该与被控制对象的要求相适应,不可片面追求高速度,单片机的稳定性、抗干扰性等参数基本上根速度成反比,所以,盲目追求高速度会给整个系统带来不必要的麻烦。
(7)I/O口的数量和功能。I/O口的数量和功能是选择单片机时必须考虑的问题之一,选择时应该根据实际需要来选择I/O数量,不必盲目追求功能多、数量大,应该这样会增加芯片的体积和成本,造成不必要的浪费。
(8)定时/计数器。一般单片机都有2-3个定时/计数器,有些单片机还自带有看门狗定时器,单片机“死机”时可以自动复位。使用定时器可以简化软件设计,减少CPU资源的占用。
(9)模拟电路功能。很多单片机内部都自带AD转换器、DA转换器、PWM输出、电压比较器、等模拟电路功能模块。在实际应用中可根据需要选择单片机内部自带的模拟功能,从而简化了外部电路。
(10)工作电压、功耗。单片机常规工作电压为3V和5V,最低也可达到1.8V,最高也可达到6V,使用中只有保证单片机的正常工作电压才能实现单片机功能的正常实现。单片机的功耗参数一般是指正常模式、空闲模式、掉电模式下的工作电路。
(11)封装形式。单片机的封装形式主要有双列直插式(DIP)、PLCC对应插座式、四侧引脚扁平式(QFP)、贴片式(SOP)等,应据实际需要选择封装形式。
(12)抗干扰性和保密性。不同单片机抗干扰性不同,应根据实际需要选择不同抗干扰性的单片机,如在干扰比较大的工业环境中就必须选择好的抗干扰性单片机,同时选择保密性好的单片机可以保护知识产权不受侵犯。
除了上述几点外,单片机的可开发性、开发工具、编译器、开发成本等也是单片机选择中必须考虑的因素。 4.1.3 16位单片机MC9S12XS128
本课题研制开发的振动测量仪采用美国飞思卡尔公司的超低功耗16位单片机—MC9S12XS128作为系统芯片。MC9S12XS128单片机(或称为微控制器),是一种具有超低功耗特性的功能强大的单片机。与过去经常采用的 MC9S12DG128相比,其性能方面有较多的改善:速度更快、AD精度更高,
22
增加了CPU寄存器和指令,可实现大存储空间的线性寻址,闪存操作简化,使用更方便。容错纠错功能及片内温度传感器可提高控制系统可靠性,较 S12DG128 总体性能上有很大提高,是当前 Freescale 最先进的单核16位单片机。其基本模块主要有端口整合模块(包含端口A、E、T、S、M、P、H、AD, 大部分I/O引脚可由相应的寄存器位来配置选择数据方向、驱动能力,使能上拉或下拉式装置)、脉冲宽度调制模块(具有8位8通道的PWM,相邻的两个通道可以级联组成16位的通道)、定时器模块(基本的定时器模块由1个增强的可编程预分频器驱动的可编程计数器、8个输入捕捉/输出比较通道和1个脉冲累加器组成。定时器模块一共有8个引脚,其中脉冲累加器与第7号通道的引脚是共用的)、数模转换器模块,其存储器模块是目前业界所有内部集成Flash存储器产品中能耗最低的一种,同其它微处理器相比,既缩小了线路板空间,又降低了系统成本,在系统设计、开发调试及实际应用都表现出较明显的优点,它具有以下特点能力;
(2)128KB程序Flash 和8KB DataFlash,用于实现程序和数据存储,均带有错误校正码(ECC);
(3)CPU 以复杂指令及CISC 架构, 集成了中断控制器, 有丰富的寻址方式;
(4)可配置8、10或12位模数转换器(ADC),转换时间3us;
(5)增加了一个平行处理的外围协处理器XGATE模块,该模块是一个可编程的16 位RISC核心,其设计运算频率可高达100 MHz,是一个智能的、可编程的直接内存存取(DMA)模块,可进行中断处理、通信和数据预处理,通过提供外围模块、RAM和I/O端口之间的高速数据处理和传输,卸载CPU 的任务;
(6)内嵌 MSCAN 模块用于 CAN 节点应用 ,内嵌支持 LIN协议的增强型 SCI 模块及 SPI 模块;
(7)4通道16位计数器;
(8)出色的低功耗特性 ,带有中断唤醒功能的 IO,实现唤醒休眠系统的功能;
(9)8通道PWM,邻的两个通道可以级联组成16位的通道,易于实现电机控制;
(10)低电源电压范围。单片机的供电范围是3-5V;
(11)灵活的时钟设置。主要有以下几种方式:32KHZ的晶体方式、高频率晶体方式、谐振器方式和外部时钟源方式。可以根据功耗要求和速度要求进行灵活的时钟设置;
(12)丰富的片上外围模块。MC9S12XS128集成了较多的片上外围资源,
23
[26、27]
:
(1)总线频率最高可达40MHz,并且具有完备的CAN功能,改进了中断处理
可实现多种功能;
(13)适应工业级运行环境。MC9S12XS128的运行环境温度范围为-40~125℃,所设计的产品适合运行于工业环境下;
(14)64KB、128KB和256KBIXJ存选项,均带有错误校正功能(ECC);
(15)支持控制区域网(CAN)、本地互联网(LIN)和串行外设接口(SPI) 协议模块。
MC9S12XS128系列单片机的所有外围模块的控制都是通过特殊寄存器来实现的,故其程序的编写相对简单。编程开发时通过专用的编程器,可以选择汇编或C语言编程,设计语言简单易掌握。 4.1.4 单片机MC9S12XS128的开发语言
单片机的编程语言主要有汇编语言或者C语言。汇编语言是面向机器的程序设计语言,使用汇编语言程序员可以直接对目标代码进行控制,可以对输入/输出端口进行控制,实时性能较好,同时,用汇编语言编写的程序效率高,节省内存,运行速度快。但是用汇编语言编写程序比较复杂,只有熟练掌握单片机的指令系统并具有一定的程序设计经验,才能编写出功能复杂的应用程序。C语言属于流行的高级语言,接近英语自然语言和数学表达式,容易理解和掌握。C语言起源于上世纪60年代,成型与70年代,在近50年的使用过程中表现出了以下几方面特点
[28]
:C语言简洁、
紧凑、灵活方便,语法自由;高级编程语言的结构性和低级编程语言的实用性有效的结合起来了,形成了新的功能强大的编程语言;应用广泛、可移植性强,适用于多种操作系统;运算符丰富、完善可以实现各类复杂的数据结构;多种数据结构类型的使用使C语言除了可以完成各种复杂的数据运算外还具有强大的图形功能;结构式的语言特点使代码和数据分割,程序层次清晰,便于使用、维护、调试;C语言可以直接对物理地址进行访问,进行位一级的操作;模块化开发、生成代码编译效率高、可移植性好、编程调试灵活方便。所以,C语言的开发利用越来越广,成为一种发展趋势。
MC9S12XS128单片机是一种16位的单片机。它集成功能丰富,内存也比较大,适合开发比较复杂的系统,C语言是其开发的首选程序设计语言。单片机一般都用于特定环境和特定用途,从成本、体积、功耗方面考虑,应尽量节省使用资源。单片机的硬件一般都不支持有浮点数、符号数的运算,且运算位数有限,因此,分配变量时必须认真考虑。采用C语言进行程序设计时需要注意的事项如下:
(1)单片机系统资源的有限性主要表现在程序的存储器上,MC9S12XS128
24
是16位的CPU,要想提高代码的效率就必须减小变量的长度,无特殊要求时定义变量类型尽量采用字节少的类型和无符号型数据。尽量减少程序中使用的数据类型的种类,合理地选择数据类型,可以大大地减少生成代码的长度。
(2)尽量减少函数调用的层次和递归调用以减省堆栈空间。 (3)避免使用浮点数,尽量使用定点数进行小数运算。如果必须使用浮点数,则尽量使用32位的float,而不是64位的double。
(4)对于指针变量,如果声明后其值不再改变,则声明成const类型,这样编译器编译时能够更好的优化所生成的代码。
(5)尽量减少使用全局变量或者静态变量(static),多采用局部变量。在程序开始处定义的全局变量的作用域是整个程序,静态存储变量在程序运行期间其存储空间固定不变,它在函数中的调用是专用的,因此不能被释放,只有局部变量中的动态变量可以被释放,因此,为了避免使编译器无法把局部变量放在CPU的寄存器中,而是放在RAM中,从而失去了优化的机会,所以应尽量避免对局部变量使用&取地址符。在模块内使用的变量应声明为静态变量类型,这样有利于编译器优化,提高内部数据存储器的使用率和利用率。
(6)将参数组成一个数组或者结构,然后用指针传递可以同时传递多个参数。
(7)某些变量在中断程序和普通级别程序中都会被用到,所以必须加以保护。将变量声明为volatile类型,编译器优化时就不会移动它,对它的访问也就不会被延迟。应该保证对volatile的变量的访问不被打断,为此,可以在访问它的部分加上_monitor声明。
C语言是具有模块化和结构化功能的通用计算机语言,基于单片机的C语言在功能、结构、可读性、可移植性、可维护习惯方面都具有明显的优势,正是由于这些优势,使它在单片机领域具有重要的意义,是单片机编程语言的首选,或是以其为基础,所以C语言已成为目前单片机语言中最为流行的编程语言。 4.2单片机软件系统设计概述
随着数字化仪器的自动化程度越来越高使得硬件电路负载越来越重,结构越来越复杂,体积、重量越来越大,制造成本也就越来越大,给其进一步的发展带来很大的困难,但当引入计算机技术后,某些过程可以采用软件控制,这样可以简化硬件结构,缩小体积、重量,提高了可靠性和灵活性,而且提高了仪器的自动化程度和测量的精确度。所以,一个性能稳
25
定、优良的电子仪器除了要具有稳定的硬件电路外还必须具有功能完善的软件系统。软件设计一般是最重要、工作量最大的任务。控制软件的编写中必须遵循的三个重要原则就是:占用存储空间少,运行速度快,程序结构简单、清晰、可读性好[29-31]。为满足不同控制系统的需要,软件与硬件要相互配合,充分发挥各自的作用。原则上, 为减少硬件损坏而又不使系统可靠性降低,减少经费开支,则尽可能采用软件。其原因是,这样可以减少硬件的使用,并且软件设计灵活、方便、易于修改,在许多方面可以取代甚至超过硬件的功效。但是,这种“以软代硬”是以占用更多的计算机机时为代价的。虽可减少元器件的数目,但使系统的工作速度相应降低,这在某种实时性要求较高的场合是不允许的,而在实时性要求不是很高的场合,则更具优越性[32]。
一个性能优良的单片机软件系统的基础是设计出合理的软件结构,通常软件设计的一般方法与步骤为[33]:
(1)系统定义。定义和说明各输入/输出口的功能,是模拟信号还是数字信号、电平范围、与系统接口方式、占有口地址、读取和输入方式等。
(2)软件结构设计。在软件结构设计中通常对于简单的应用系统,我们采取顺序设计方法,即系统软件由主程序和若干中断服务程序构成。根据系统各个操作的性质,指定主程序、中断服务程序的操作,并指定各中断的优先级;对于复杂的实时控制系统,采用实时多任务操作系统,这种系统是对多个对象同时进行实时控制。这时系统应具有任务调度、实时控制、实时时钟、输入/输出和中断控制、系统调用、多个任务并行运行等功能。在程序设计方法上,模块程序设计是单片机应用中最常用的程序设计技术。其过程主要为模块图设计、主程序和各子程序设计。模块图是主程序和各子程序调用的关系图,也是整个程序的结构图,是现代化程序设计的基础,一个复杂的单片机系统的程序必须先设计好模块结构图,才能设计出好的程序。主程序设计包括主程序流程图设计、单片机资源及主程序设计。各子程序设计包括子程序流程图设计、各子程序的入口参数、出口参数、各子程序使用的寄存器安排及各子程序源程序设计[34]。具体方法是根据程序功能设计主程序和各子程序之间的调用关系,然后根据模块图用汇编语言或高级语言来编写主程序和各子程序。然后对各个模块进程设计、编制和调试后,将各个调试好的程序模块连成一个完整的程序。
26
图4-1结构化编程
如图4-1所示。结构过程模块化设计即是将整个设计分成多层次,每一层次相对独立,其正确与否并不影响其他模块;上一层可调用下一层的程序块;尽量采用结构良好的转移与控制语句而不是无条件转移语句。其中模块化编程是把一个完整的程序分解为若干个功能相对独立的较小的程序模块,对各个程序模块分别进行设计、编制和调试,最后将各个调试好的程序模块连成一个完整的程序[35-37] 。
在本系统中就是采用结构化与模块化设计,按照振动测量仪的各功能划分出了若干个较小的独立模块。
(3)程序设计。软件结构设计确定之后就可以进行程序设计了,一般程序设计过程如下:
1)建立数学模型。根据系统功能要求,确定各个输入/输出变量之间的数学关系。
2)设计流程图。根据系统功能及操作过程,列出程序的流程图,并对存储器、寄存器、标志位等工作单元作具体的分配和说明。
3)编写程序。利用汇编语言或某些高级语言进行程序代码编写,调试正常后固化到非易失性存储器中,完成系统的设计。
4)软件可靠性设计。软件可靠性设计也叫软件抗干扰设计,是系统抗干扰设计的重要一个环节。系统的干扰是不可能全靠硬件解决的,因而软件可靠性设计是不可缺少的一环。其具体方法将在第五章介绍。
27
4.3 单片机MC9S12XS128的开发工具与调试[38]
本课题采用飞思卡尔公司最新推出的十六位单片机MC9S12XS128作为主控制芯片进行设计,其IDE集成开发环境采用的是Metrowerks公司开发codewarrior4.7/5.0,支持C语言和汇编语言,可同时使用,支持BMD在线调试。
4.3.1 CodeWarrior开发环境简介
本课题设计实现时采用的是飞思卡尔公司提供的16位单片机 MC9S12XS128B芯片,软件开发工具采用Metrowerks公司开发的软件集成开发环境CodeWarrior for HCS12,其包括集成环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器,CodeWarrior IDE 为软件开发提供了一系列的工具,其中包括:项目管理器:为软件开发人员管理上层的文件;将项目进行分组管理,比如文件或目标系统;跟踪状态信息,比如修改日期;决定编译顺序或每次编译应包括哪些文件;与插件一起提供版本控制功能编辑器:利用颜色来区分不同的关键字;允许用户利用颜色机制自定义关键字;自动检查括号范围;利用菜单在不同的文件或函数中导航搜索器:搜索一个特定的字符串;用特定的字符串代替查找到的字符串;允许使用常规表达式;提供文件比较功能;源代码浏览器:标志符(变量名称,函数名称)数据库;利用数据库来对代码快速定位;对所有的标志符连接到用到它的代码中;编译系统:编译器将源代码编译成机器码;链接器将目标文件链接成可执行文件调试器:利用标志符数据库进行源代码级调试;支持各种标志符数据库,比如:CodeView, DWARF, SYM。这些工具可以完成从源代码编辑、编译到调试的全部工作。开发语言采用HCS12C语言,语法与标准C语言基本相同,支持多种数据类型,中断服务程序用中断函数形式来实现,并提供了内嵌汇编的功能。另外,CodeWarrior编译器提供了几种从C源代码产生实际汇编代码的优化方法,这些代码被编程到微控制器中。CodeWarrior提供了大量的优化方法,选择不同的优化选项,生成的代码是不同的。在本程序设计过程中用到了很多分支程序,但由于CodeWarrior的分支优化功能使得一些算法不能实现,所以在编译时我们重新选择了编译优化选项下的优化功能。软件界面如图4‐2所示。
28
图4-2 软件开发界面
4.3.2 BDM在线调试
BDM即 Background Debug Mode (背景调试模式)是当前MCU普遍采用的调试方式之一,它可用来进行系统开发,在线调试和编程,应用程序的下载和在线更新。因为BDM控制模块不寄居在CPU中,所以BDM硬件命令可以在CPU正常运行时被并行执行,其他的BDM命令是基于固件的,且必须在CPU处于背景调试模式下才能被执行。BDM模块利用CPU的空闲周期和CPU进行通信,必要时可以从CPU的工作周期中偷取一个周期。
以CPU12为内核的MCU的运行模式有单片方式(single chip)和扩展方式(Expanded Mode)两种,运行模式主要由BKGD, MODB和MODA引脚的状态决定。在单片模式下又有两种运行模式:普通运行模式(Normal single chip)和特殊运行模式(Special single chip),而只有在特殊模式下BDM才能被激活,因此特殊单片模式又称BDM模式。PC通过BDM头与目标机相连。
用BDM调试时,经常需要观察内部寄存器的变量,从而控制程序流向。本课题采用了串口调试和BDM调试相结合的方法,可以较为准确的观察内部程序走向。虽然采用了无线串口模块,但是此模块的两个缺点也十分明显:第一,占用较多资源,尤其是当需要传送的数据量过大时,算法周期需要调整;第二,
29
其不能够控制程序的流向,不可以对程序进行测试。当然,其优点也是十分明显的,那就是能够实时的让我们了解到一些参数,从而能够更好的调整自己的控制策略。至于在线调试方案,由于其功能十分强大,是前中期调试的好帮手。同时其数据也基本实时,缺点在于只能够静态调试,不可能在运行过程中进行在线调试。但是优点在于可以随时控制程序的走向,进行单步执行等等,因此也是本课题的一个重要的辅助手段。因此,本课题成员根据自己的需要,灵活的选用这两种方案。前期在还对程序不是非常熟悉时,用在线调试的方法可以迅速的了解到程序执行的流程、内部变量的变化趋势。而到了后期程序已经相对固定,只需要对个别参数进行微调的过程中,本课题成员采用了无线模块,可以观察逆变器运行中的一些参数的随动变化,从而实时了解重要参数的趋势,并加以控制。BDM在线调试界面如4‐3所示。
图4-3 BDM在线调试界面
4.3.3 串口调试工具
通过单片机的串口和PC机的串口我们将采集到的数据在串口上显示出来。 串口调试软件我们没有自己编写,是从网站上下载得到的。图4‐4是该软件的 界面。该软件可以接收和发送数据同时能设置相关的数据格式,也可以把接收
30
到的数据保存为文件。
MC9S12XS128芯片有两个串行口SCI0和SCI1。从外部引脚来看,负责串行通信的是PS0/RxD0、PS1/TxD0、PS2/RxD1、PS3/TxD1四个引脚。当允许SCI时,这些引脚作为串行通信引脚;每个串口模块包含2个引脚,分别称为串行发送引脚TXD和串行接收引脚RXD。具体使用时在头文件中区分使用哪个串口。本课题中使用的是SCI0口。
图4-4 串口调试界面
4.4软件程序设计
整个系统的软件采用结构化与模块化设计,分为主程序以及许多功能独立的模块,下面将分别加以介绍。
31
4.4.1软件设计流程图
只有对硬件电路测量的速度和频率值进行双路同步A/D转换,才能保证测量的频率值和速度值有效,从而试最终的位移测量值有效。在双路A/D采集速度有效值和频率值进行数字滤波处理时使用惯性滤波公式[3]:
Yn=a* Xn+(1-a)*Yn-1 (2)
Yn为本次滤波输出值,Xn为本次采集的值,a为滤波系数,一般小于1。Yn-1为上次滤波输出值,由公式可知,本次采样的值对滤波输出的贡献比较小,主要是修正作用,消除噪声,滤波输出值主要受上一次滤波输出值的影响。最后进行标度变换。软件流程图如图4-5所示:
图4-5软件流程图
4.4.2 A/D换程序设计
通过传感器将速度信号转化为电压的正弦波,经过放大、滤波电路后分别可测得振动的速度与频率。振动速度的有效值由RMS电路计算得出(正弦波均方根),经过A/D转换芯片ADS7809进行转换后将有效值送单
32
片机处理。在进行A/D转换时用到的引脚主要有R3IN、 R/C、BUSY、DATACLK、DATA。其各功能为:R3IN为信号输入引脚;R/C引脚为读/转换脉冲输入端口,低电平有效,当CS为低电平时,R/C在其下降沿控制采样/保持电路为输入保持状态,并启动一次AD转换。或EXT/INT为低,开始发送一次AD采样的结果,若EXT/INT为高,则当CS为低且R/C引脚的上升沿或R/C为高且CS引脚下降沿,在SYNC引脚上发送一个同步脉冲,以启动数据的发送;BUSY引脚为忙输出状态,转换开始时为低状态,转换结束且数据被锁存到输出移位寄存器则转变为高电平;DATACLK为时钟输入/输出引脚,具体状态取决于EXT/INT引脚状态,输出数据与该时钟同步;DATA为串行数据输出引脚。
ADS7809的时序图如图4-6所示:A/D转换程序见附录一。
图4-6 ADS7809时序图
4.4.3显示程序设计[39-44]
本课题显示模块采用芯片MAX7219来驱动8位LED数码管进行显示。MAX7219芯片采用串口接口,仅使用单片机的三个引脚,即可实现对8位LED数码管的显示控制和驱动,线路简单,内部数据修改方便。位选方式允许用户以多种译码方式进行译码选位,可单独对每个显示位进行寻址和刷新,不需要重写其他显示位,这在软件编程方面显得简单灵活。它还具有数字和模拟的亮度控制。
33
图4-7 MAX7219时序图
MAX7219的时序图如图4-7所示,显示程序的设计实际就是在LOAD和CLK时序的控制下不断通过DIN脚向MAX7219的相应控制寄存器和数据显示寄存器写入16位二进制数包的过程。所以,编程的关键在于编写一个通用的写入子程序,将数据内容从高位到低位在CLK的作用下依次移入移位寄存器,最后由LOAD的上升沿锁存到相应的内部控制寄存器和数据显示寄存器中。
MAX7219的串行数据是以16位数据包的形式从DIN 脚串行输入,当LOAD为低电平状态时,每一个CLK脉冲上升沿到来时,串行数据从DIN引脚进入 MAX7219内部16位移位寄存器,在此过程中不管DOUT脚的状态如何;最先收到的是高位。在第16个CLK上升沿,LOAD引脚若变为高电平,则数据就会被锁存到内部寄存器中,否则数据将会丢失。再过半个脉冲,数据在CLK下降沿从 DOUT 引脚输出,送入数码管显示。显示的温度值保留一位小数,显示程序见附录二。
34
第五章 振动测量仪的抗干扰处理
干扰信号就是某些无用的信号混在有用信号中进入单片机系统,造成系统工作不稳,在各种实际环境中,这种干扰常会影响系统的测量精度,甚至运行失常,轻则影响产品质量和产量,重则导致事故,造成重大经济损失。所以,有效的抑制和排除干扰成为产品设计中的重要组成部分。5.1 干扰的来源
单片机系统在工作过程中,常会受到来自各方面的干扰,其主要来自两方面[43]:
(1)外部环境所产生的。单片机实际使用的现场存在着很多干扰源,如空间辐射干扰、信号通道干扰、数字电路干扰、电源干扰等都对单片机系统的运行带来了极大的危害,甚至可能带来系统失控。
(2)单片机本身系统所产生的。单片机本身系统是由多种线路所组成的,各线路之间会相互影响而产生干扰;单片机电源及各器件的电气性能、接地方式等都会带来干扰。 5.2抑制干扰的措施
干扰源不同,干扰信号的频域不同,则产生干扰的方式也就不同。高电压小电流产生的干扰主要是电场干扰;低电压大电流产生的干扰主要是磁场干扰;当电压或电流的频率较高时,产生辐射电磁场,电场干扰和磁场干扰都必须考虑。在进行具体的系统设计时,应根据干扰源的频域确定相应的抗干扰措施。 5.2.1 硬件抗干扰。
硬件抗干扰主要是通过抑制干扰源,切断干扰传播途径,提高敏感器件的干扰性能等方面入手。 1.抑制干扰源
在电源电路中稳压片并联电容。这种做法可有效地滤除电源中的高频干扰。
(1)在单片机和A/D转换芯片上并接一个0.1µF的高频电容,以减小IC
35
对电源的影响。
(2)利用光电耦合器将强电系统与弱电系统隔离开来。采用光电耦合器能有效地抑制尖脉冲和各种噪声的干扰。在光电耦合器的输入端即使是幅值很高的干扰,也会由于没有足够的能量使发光二极管发光,而被抑制掉。光电耦合器的输入回路与输出回路之间是在密封条件下进行的光耦合,故不会受到外界干扰。因此,能使过程通道信噪比大大提高。
(3)信号通路加入集成滤波器,组成低通滤波电路,滤除高频干扰。 (4)采用具有过流、过压、过热等保护的集成式稳压电源,本课题中使用的稳压电源具有输出短路和过热保护功能,抗干扰能力很强,性能可靠,可提高系统的抗干扰能力。
(5)继电器线圈增加续流二极管,消除断开线圈时产生的反电动势干扰。仅加续流二极管会使继电器的断开时间滞后,增加稳压二极管后继电器在单位时间内可动作更多的次数。
(6)电路板上每个IC要并接一个0.01μF~0.1μF高频电容,以减小IC对电源的影响。
(7)布线时避免90度折线,减少高频噪声发射。
(8)单片机进行扩展时,不应超过其驱动能力,否则会使整个系统工作不正常。如果超负载驱动,应加上总线驱动器。 2.切断干扰传播路径
(1)模拟电路通过隔离放大器进行隔离,数字电路通过光电耦合进行隔离,模拟地和数字地分开,最后在一点接与电源地。
(2)电路板合理分区,强、弱电严格分开;电路板的走向尽量与数据传输方向一致,接地线尽量加粗,且构成闭合环路。在印制电路板的各个关键部分应尽量配置去耦电容。
(3)注意晶振布线。晶振与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。
(4)光电隔离将强电系统与弱电系统隔离开来,以避免强电系统对弱电系统的干扰
(5)操作按钮时产生的尖峰干扰,应利用 RC 电路加以吸收
(6)CMOS电路不使用的输入端不允许浮空,否则有可能受外界的干扰而产生误动作,设计时可以根据需要接电源或接地,在PCB允许的条件下,地线布设得越多抗干扰就越好。
(7)单片机和大功率器件的地线要单独接地,以减小相互干扰。大功率器件尽可能放在电路板边缘。 3.提高敏感器件的抗干扰性能
(1)印刷电路板大小要适中。过小散热性不好,同时易受邻近线条干扰。
36
过大时,印刷线条长,阻抗增加,不仅抗噪声能力下降,成本也高; (2)器件布置时,尽量把相关的器件放得靠近些,能获得较好的抗噪声效果,时钟发生器、晶体振荡器和CPU的时钟输入端易发生噪声,所以要相互靠近些。易产生噪声的器件、小电流电路、大电流电路尽量远离计算逻辑电路,同时,将发热量大的器件放置在机箱的上方。
(3)数字、模拟电路分开。电路板上既有高速逻辑电路,又有线性电路,应使它们尽量分开,而两者的地线不要相混,分别与电源端地线相连。要尽量加大线性电路的接地面积。
(4)布线时,电源线和地线要尽量粗。除减小压降外,更重要的是降低耦合噪声。
(5)电容引线不能太长,特别是高频旁路电容不能有引线。
(6)在速度能满足要求的前提下,尽量降低单片机的晶振和选用低速数字电路。
(7)电源线与信号线不可靠得太近或互相平行,以减少电源与信号线的之间的相互影响。
将调试通过的系统拿到现场组装,实地调试,由于现场环境十分恶劣、复杂,即使是使用了所有可利用的方法,但是也应注意噪声是无法消除的,它只能被尽量减小到不再形成干扰的程度。除了最简单的情况之外,减少噪声问题的单一解决方案是不存在的。一个成功的抗干扰设计,不仅仅涉及设计的技巧和规则,同时还应更多的考虑到电子设备(包括整个电子系统本身)的工作情况、性能指标、工作环境,甚至还应考虑到电子设备的使用者可能提出的使用和维修方面的特殊要求。只有考虑到各种因素,才能设计出良好的设备抗干扰方案,从而满足系统在工业生产环境及其它恶劣条件下工作的要求,提高系统工作的可靠性。 5.2.2 软件抗干扰
在硬件设计合理且工作正常的基础上,采用软件抗干扰技术,可保证单片机工作出错后,系统仍然能够安全运行。软件抗干扰措施主要是通过对程序区、RAM空间区、表格区进行特殊处理来实现的,在存储空间允许的条件下,可充分利用软件抗干扰措施,提高单片机系统程序允许的可靠性和安全性。其具体方法为[33]: (1)指令冗余技术
通常单片机内部最容易受干扰的是程序计数器PC的值,如果PC值被改变,则CPU会将一些操作数当成操作码来执行,导致程序从正确位置跳到错误的区域内执行,引起程序混乱。通常此现象成为程序“跑飞”
37
现象。当程序跑飞到某一个单字节指令时,便自动纳入正轨;当跑飞到某一个双字节或三字节指令上时,有可能落到某操作数上,继续出错。因此,在程序设计时,应多采用单字节指令,并在程序的关键地方有意插入一些空操作指令(NOP),或将有效的单字节指令重复多写几次,当程序错飞到这些地方后就会自动恢复正常,这就是指令冗余。其插入的一般原则为:NOP指令必须插入在跳转或多字节指令之前;程序中每隔若干条指令插入NOP指令1次;在比较重要的指令如中断、堆栈等有关指令前插入NOP指令;在各子程序之间插入若干条NOP指令。指令冗余实际上增加了PC的落点范围,减小了出错概率。但程序中也不能加入太多冗余指令,会降低程序运行的效率。当程序从一个模块跑飞到另一个模块时,指令冗余虽能使程序往下执行,但程序已跑离了正常顺序,仍会使系统出现混乱。 (2)软件陷阱[34]
当系统受到干扰而使程序计跑飞到非程序区,此时软件冗余已无能为力,将造成程序混乱,此时应尽快使用“软件陷阱”将PC捕捉,使程序进入陷阱,强迫程序进入一个指定的地址,在该处放置了一段专门对出错程序进行处理的程序。如错误处理程序的标号为ERR,则软件陷阱可由以下三条指令组成:NOP;LJMP ERR.软件陷阱的位置一般安排在未使用的中断向量区;未使用的大片ROM空间;数据表格和散转表格;程序区内的某些位置。
(3)采用超时判断克服程序的“死锁”
在数据采集系统中长采用超时判断措施来防止系统出现“死锁”。如在A/D转换部分,如果A/D转换失效,程序对标志位循环检测一定次数后,仍然采不到转换结束标志,则自动放弃本次采样,避免了“死锁”情况的发生。 (4)重复设置各种工作方式控制字
系统受到较强干扰时,各芯片的输入/输出口可能会失去原来定义的功能,这时如果在循环程序中定期、有条件的对各方式控制字进行重复的初始化,则及时修复破坏的方式控制字。 (5)看门狗(Watch Dog Timer )技术
看门狗即监控定时器,是一种常用的软、硬件结合的重要抗干扰技术,其主要功能就是检测到软件出现问题时重新启动系统。当程序发生跑飞进入死循环时,冗余指令和软件陷阱都无能为力,系统将完全陷入瘫痪。看门狗可监视系统的运行状况,当程序发生跑飞进入死循环时,可使程序从死循环中恢复到正常状态。看门狗有两种[45]:一是硬时钟—在CPU芯片外用硬件构成一个定时器;二是软时钟—利用片内定时/计数器,定时时间比正常执行一次程序循环所需时间要大。看门狗运行时具有以下特征: 1)定时时间固定不变,一旦定时时间到,将发出中断申请脉冲或溢出脉
38
冲;2)监控定时器正常工作时,如果定时器时间未到就将其清零,定时器会重新开始,但不产生中断申请信号或溢出脉冲,这一过程称为刷新;3)看门狗既可以使用硬件实现,又可以使用软件实现,但硬件实现时离不开运行软件,软件实现时离不开单片机内已有的定时计数器硬件电路
[46]
。
(6)数字滤波
对于实时数据采集系统,为了消除传感器通道中的干扰信号,与通过硬件对信号实现频率滤波一样,在软件中也可以实现滤波,完成模拟滤波器类似的功能,数字滤波具有如下优点:
1) 无需增加任何硬设备,只要在程序进入数据处理之前,附加一段数字滤波程序即可,且可靠性高,不存在阻抗匹配问题。
2) 模拟滤波器通常是各通道专用,而数字滤波则可多通道共享,从而降低了成本。
3) 可以对频率很低的信号进行滤波,而模拟滤波器由于受电容容量的限制,频率不可能太低。
4) 使用灵活、方便,可根据需要选择不同的滤波方法,或改变滤波器的参数。
由于上述优点,数字滤波得到了广泛的应用。数字滤波方法主要有中值滤波算法、程序判断法、算术平均滤波法、加权平均滤波法、中位值平均滤波法、滑动平均滤波法、一阶惯性滤波法。这七种滤波算法各有其特点,可以根据具体情况合理选用。
39
第六章 振动测量仪的调试
当单片机系统各硬件电路和软件程序设计及硬件组装完成后,便可以进入系统联调阶段。单片机应用系统调试是系统开发的重要环节,系统调试的目的是要查出整个设计中可能存在的问题和不足之处,以便对系统进行重新修改直至系统可以正确、稳定、可靠的运行。 6.1 调试工具
(1)标准毫伏信号源。在实验室环境下,采用标准信号源模拟实际传感器输出的电压信号是仪器仪表开发中常用的方法。例如,由标准信号源的电压值及从硬件电路中测量的值即可知道此硬件电路的准确功能参数。
(2)可调直流稳压电源。在调试时可以代替系统供电电源,以排除供电系统的干扰,也可以作为模拟电路的输入信号源。
(3)万用表。万用表主要用于测量硬件电路的通断、两点间阻值、电压值、测试点处稳定电流以及其它静态工作状态。
(4)示波器。示波器可以形象的展现模拟信号的波形及频率,还可以同时观察多个信号的波形及它们之间的相位差,可以对静态信号进行测试,也可以对动态信号进行观察和测试,而且测试准确性好。从而使研究变得简单易行。所以,示波器是任何电子系统开发、调试以及维修的一种必备工具。
(5)单片机开发系统。单片机本身只是一个电子元件,本身没有自开发功能,必须借助于开发工具来排除应用系统(调试中的目标系统)样机中的硬件故障,并排除程序中的错误。单片机的开发工具通常是一个特殊的计算机系统,称为单片机仿真系统或简称仿真器。图6-1就是一个典型的单片机仿真系统连接示意图。其主要功能是检查与诊断应用系统软硬件故障;硬件电路、程序的运行与在线仿真调试;固化程序。所以,单片机开发系统的性能优劣、功能的强弱、软硬件调试环境的好坏与单片机应用系统的研制周期密切相关,甚至影响最终应用系统的质量。
图6-1 单片机仿真系统连接示意图
40
本课题在开发时采用的是飞思卡尔公司的MC9S12系列单片机专用的CodeWarrior编译器和BMD在线调试器,其具体介绍见前4.3.1节。 6.2 调试方法
完成了用户系统样机的组装和软件设计之后,变进入系统的调试阶段。样机调试主要包括硬件调试、软件调试和系统联调,调试流程如图6‐2所示
作为一个计算机系统,其运行是软硬件相结合的,也就是说,软件和硬件不能分开的,硬件的调试常常需要利用调试软件,而软件的调试也可能需要通过对硬件的控制和测试来进行。
图6-2 系统调试流程图
6.2.1 硬件调试
根据设计的原理电路做好实验样机便进入硬件调试阶段,硬件调试工作主要是利用万用表、示波器等基本测试仪器,通过执行开发系统有关
41
命令或运行相关测试测序检查样机故障,包括筛选元件、电路板试验;系统各部分稳定性与可靠性调试。主要方法有如下几个方面: (1)脱机调试。
联机调试是在样机加电之前,先用万用表或逻辑测试笔逐步按照电气原理图和装配图仔细检查各器件的电源及各引脚的连接是否正确,并核对元器件的型号、规格和安装是否符合要求。其基本步骤为:
首先,对于做好的印制电路板要仔细检查印刷线是否有断线、毛刺,走线与过孔、焊盘是否有粘连,焊盘是否有脱落,过孔是否有未金属化现象等,应特别注意检查数据总线、地址总线和控制总线是否有短路等故障。若印制板无质量问题,则可将相应的集成芯片插座焊接在印制板上,焊接时注意焊点要要饱满无虚焊、无毛刺。芯片插座焊接完成后将其他器件都安电路图要求进行逐一焊接,焊接时要特别注意点解电容、二极管、三极管的极性是否有反接或跪腿等情况。
其次,利用万用表检查电路各连接是否正常,检查无误后,在未加电状态下按信号走向依次将相应芯片插入印制板的相应插座上,特别注意不要插反。每插入一个芯片都必须对该芯片单独调试,检查各管座的电位或电源是否符合要求的电压值,接地端电压值是否接近于零。若不符合要求必须马上断电,重新检查,找出产生问题的原因并加以解决。在未找到问题的原因之前绝不可再次盲目加电,以免造成更大的损失。 (2)联机调试。
通过脱机调试可以排除一些明显的硬件故障。但有些硬件故障还是要通过联机调试才能发现和排除。联机前先断电,把仿真器的仿真插头插到样机的单片机插座上,检查各电源、接地是否良好。一切正常后即可打开电源。仿真器工作后,首先对各功能模块如A/D转换、显示电路等进行单独调试。对该模块调试时可将其他无关模块芯片拔出以排除其他模块对该模块的影响,当该模块调试无误后即可进行下一模块的调试,直到所以模块都加入后应用系统可以稳定工作。若此过程中出现了预期之外的结果则可能是各电路模块的协调关系上出了问题,需认真找出原因,加以排除。 6.2.2 软件调试[47]
软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现一些硬件故障。软件调试的一般方法是先独立后联机、先分块后组合、先单步后连续。 (1)先独立后联机
从宏观来说,单片机应用系统中的软件与硬件并不完全是独立的而
42
是相辅相成的。软件是硬件的灵魂,软件指挥硬件的操作,但软件功能的实现又必须以硬件为基础,没有硬件做物质,软件便成为空想,因此,将软件和硬件不可能完全孤立的。在软件调试时,可以先将与硬件有关的部分软件采取独立调试,独立调试成功后再与系统进行联调。在系统联调中,先对依赖于硬件的功能程序模块进行调试,然后对与硬件关联度较小的部分调试,最后进行两大部分程序的有机组合及总调试。 (2)先分块后组合
对于规模较大、任务较多的系统,若还采取从上往下的顺序调试,则可能费时又费力,而且还不容易找出错误所在。所以,根据软件与硬件的关联度大小将程序模块进一步采用分模块调试,以提高软件调试的有效性。每个程序模块调试成功后,将相互有关联的程序模块逐一组合起来加以调试,以解决在程序模块连接中可能出现的逻辑错误。对所有程序模块的整体组合是在系统联调中进行的。由于各个程序模块均已通过调试说明已基本排除内部错误,所以总体联调时程序的错误就大大减少,因而调试成功的可能性也就大大提高了。 (3)先单步后连续
采用单步或断点运行方式调试程序是准确发现程序(或硬件电路)中错误的最有效的方法。首先,将程采用断点运行,对程序进行一段一段的调试,这样可以将程序故障定位在一个较小的范围内,当某一段程序运行结果出错后可对这一段程序进行单步运行方式来观察每条指令的执行情况及程序运行中间结果,从而找出错误所在,采用先断点运行后单步运行方式调试可以快速有效的查处程序故障所在,是比较高效的调试方式。一般情况下,即使在单步运行调试中无错误,最后也要连续运行调试,以防止某些错误在单步运行调试时被掩盖。有些实时性操作(如中断等)利用单步运行调试无法完成调试工作,必须采取连续运行方法来调试。为了准确地对错误进行定位,可使用连续加断点运行方式来调试这类程序,即利用断点来一步步缩小故障范围,直至最终确定出错误位置并加以排除。 6.2.3 系统联调
系统联调是各模块分调完成后,按系统要求组合各模块,形成系统软件,并对整个系统软件进行测试,从中发现硬件故障或软、硬件设计错误,这就是系统联调。系统联调的主要方法是“自顶向下”或“自底向上”。“自底向上”是把一个或多个模块组成一个模块组,先测试这个模块组再联入软件系统中,模块组通常是由完成系统主要功能的模块组成;“自顶向下”是首先测试最高级控制模块,再把其中的各部分模块替换掉。在系
43
统联调中,利用万用表、示波器及开发软件中的监视模块来检查主控系统中的CPU现场、RAM内容和I/O接口状态,检查程序执行的结果是否正常,若出现了预期之外的结果,则可能程序出现了故障,这时可以采用设置断点的办法来找出并改正错误。通过联调,不仅可以发现程序中的死循环错误、机器码错误及转移地址的错误。也可以发现待测系统中软件算法错误及硬件设计错误。
44
第七章 数据处理与分析
7.1 数据处理与分析
在整个振动测量中,主要是测量频率与速度,这就要求测量得到的频率值与速度值分别有非常好的线性关系。表一为输入频率为100Hz时,RMS均方根电路输出值与有效值的关系,其线性关系如图7‐1所示。对频压转换部分,表二为输入信号有效值为100mV时的频压转换关系,其线性关系如图7‐2所示。
表一 正弦波有效值与RMS均方根值 正弦波输入有效值(mV)
RMS均方根输出值(mV)
正弦波输入有效值(mV)
RMS均方根输出值(mV)
正弦波输入有效值(mV)
RMS均方根输出值(mV)
10 20 30 40 50 60 70 80 90
305 605 910 1220 1520 1829 2133 2441 2746
100 110 120 130 140 150 160 170 180
3052 3357 3657 3965 4265 4580 4874 5180 5494
190 200 210 220 230 240 250 260 270
5796 6100 6405 6709 7018 7320 7625 7933 8230
45
图7-1 输入有效值与RMS输出值间的线性关系
表二 F/V转换的数值
输入频率(Hz) 50 60 70 80 90 100 110 120 130
输出电压(mV) 151 182 211 244 272 299 328 362 392
输入频率(Hz) 140 150 160 170 180 190 200 210 220
输出电压(mV) 419 450 481 509 541 573 598 635 660
输入频率(Hz) 230 240 250 260 270 280 290 300 350
输出电压(mV) 691 720 746 782 808 840 873 903 1052
46
图7-2 F/V转换线性关系
由图7‐1、7‐2可以很直观的看出有效值测量电路和频压转换电路设计符合设计要求。
当各部分电路设计合格后就可以进入仪器的测试阶段,对于仪器的测试可以在安徽省计量测试院进行测试。表三为测振仪幅值线性关系(在160Hz频率下测量),表四为测得的幅频特性关系。
表三 位移线性关系
振动位移标准值(P-P) 单位(um) 0 10 20 40 60 80 100 120 150
0 9.9 19.8 40.5 59.5 80.13 100.8 121 150.4
测振仪测量值
相对误差(%)
0 -1.00 -1.00 1.25 -0.83 0.16 0.8 0.83 0.27
47
表四 测振仪幅频特性(振动位移均为峰—峰值)
位移振动位移标准值 测振仪测量值 (µm)相对误差(%) 频率(HZ) 40 60 80 120 160 210 270 350 400
从表三、表四可以看出本振动测量仪具有很好线性关系,误差也在要求范围之内,所以是符合设计要求的。 7.2 总结
该振动测量仪以MC9S12XS128为核心,在硬件上通过专用的有效值转换芯片替代在单片机中多点采样计算有效值,简化了设计并节省了时间和空间;采用频压转换电路进行频率的测量,克服了传统的直接测量频率时由于纹波或频率的不稳定而给测量带来不必要的误差。在软件上针对传感器自身存在的频率响应的特点对测量值进行补偿,简化了硬件电路,减少了故障发生率;降低了仪器调试难度;最终的位移测量值与标准值的误差都控制在了5%以内,符合设计的要求。
80 80 80 80 80 80 80 40 40 82.5 82.8 81.96 80.5 80 82 81.7 41.40 41.5 3.12 3.5 2.45 0.63 0 2.5 2.13 3.5 3.75
48
第八章 论文总结与展望
8.1 论文总结
飞机发动机的结构强度故障90%是由振动导致或与振动有关,所以对飞机发动机振动值的测量就显得尤为重要,同时也成为世界各航空公司以及研究所所关心的热门问题。对于飞机发动机振动测量仪的研制可以从多方面来考虑,本课题介绍的振动测量仪的研制基于飞思卡尔单片机MC9S12XS128,采用RMS均方根电路测速度与频压转换电路测频实现振动位移的带通测量,16位AD转换芯片ADS7809进行AD转换送入单片机处理后通过LED进行显示。并在软件上针对传感器的频率响应对测量结果进行补偿,将部分软件功能硬件化,降低了单片机开销,减小了计算误差,保证了仪器的精度。对于硬件电路无法实现的稳定频响带和理想的高低截止频率采用软件进行处理从而使振动测量仪具有精度高,抗干扰能力强,稳定性好结构简单,易于操作等特点。在本振动测量仪研制过程中,主要结论如下:
(1)最初的硬件调试中,使用的是信号源输出的正弦波信号,我们直接将信号输出端的两根信号线接在信号输入端,在放大端始终得不到理想的放大信号,进过反复思考终于找到原因:原来我们忽略了示波器和信号源的应该有共同的地,所以,在输入时我们将信号的负端输入端与地相接,从而实现了信号源和示波器存在共同的地。
(2)前期对于连接无误的电路,MAX921并不输出预期中的方波,分析原因可能为比较电压过大,调节与其反相输入端相连的电位器,调到适宜位置则可输出方波信号。
(3)硬件电路中分别需要±5V、±15V的电源电压,直接用直流电源供给的话,不能保证电源的稳定性,且根据实际组装成样机时空间最小化要求,综合考虑采用电源模块来产生±5V和±15V的电源电压,线路简单、输出电压稳定。
(4)前期现场使用中,有强电磁干扰源(如手机干扰)存在时,存在检流计指针摆动,工作不稳定的现场。经分析干扰源后,将单片机芯片改为飞思卡尔公司生产的MC9S12XS128,此单片机具有较强的抗干扰和滤波作用,从而既实现了抗干扰、滤波作用,又避免了使用价格昂贵的专用滤波芯片UAF42,减小了设计成本。
(5)对采集的数据进行分析的时候,前期的经过硬件处理的数据还是很难满足设计要求,精度上仍然有差异,后期采用软件滤波和标度变换算法,很好的解决了这个问题,使得最终的数据稳定可靠。
49
(6)为了提高测量精度,本振动测量仪采用16位高精度D/A转换芯片DAC714,有效地实现了测量结果的稳定性和可重复性。 8.2 展望
由于单片机具有高集成精度、高可靠性、体积小、控制功能强、低电压低功耗、易扩展、性价比高等特点,所以单片机的应用越来越广,同时随着智能化仪器仪表的快速发展,在工业控制和消费电子领域,也越来越多应用到单片机系统,其以应用为中心,以计算机技术为基础,并且软硬件可裁减,适用于对功能、可靠性、成本、体积以及功耗等有严格要求的专用计算机系统。并且随着网络技术的发展,仪器和设备的无人值守操作和监视对仪器的研制提出了更高和更新的要求。单片机技术的快速发展预示着自动控制领域新的研究方向,在将来的振动仪表改进和发展中,必然朝着此方向继续发展。
50
参考文献
[1] 徐军.基于ARM处理器Linux开发平台的发动机振动测量仪的研究与实 现,南京航天航空大学,2007.
[2]admin.基于LMS Test.lab的航空发动机整机振动测量与分析,2010 [3]邹华,廖明夫.航空发动机振动实验技术及实验测试系统软件的研发,西北工 业大学,2006.
[4]徐军.赵敏.一种基于ARM处理器的航空发动机振动测量仪的设计[J]仪器仪 表用户.2007年第1期
[5] 孙开峰.发动机振动信号分析方法研究及软件设计,西北工业大学硕士论文,2003.
[6] 王海华,基于MSP430的振动测量仪的研制,合肥工业大学硕士论文,2009. [7] 贺尔铭,航空发动机振动与测试系统,西北工业大学民航工程学院,2000
[8] 冯建华,赵亮.单片机应用系统设计与产品开发.北京:人民邮电出版社,2004.11
[9] TI Corporation, INA122 Precision, Low Power Instrumentation Amplifiers Datasheet, 1995
[10] TI Corporation, AD736 Universal Active Filter Datasheet [11] NS Corporation, LM2907 Universal Active Filter Datasheet
[12] BB Corporation,ADS7809 16-Bit 10us Serial CMOS Sampling
Analog-to-Digital Converter Datasheet, 1992
[13] 颜荣江. 高精度AD采集芯片ADS7809. 单片机与嵌入式系统应用,2005年第10期
[14] TI Corporation,AMS1117-5.0 800mA low dropout voltage regulator
51
datasheet
[15] 王伟.基于Freescale微处理器的小型火炮角度伺服控制系统,中北大学硕士学位论文,2009
[16] Telcom Semiconductor.TCM809 3-PIN UP RESET MONITORS with Serial Data Interface Datasheet.2011
[17] 陈海宴.51单片机原理及应用:基于Keil C与Proteus. 北京:北京航空航天大学出版社,2010.07
[18] 周晓晗,袁慧梅. 单片机系统的印制板设计与抗干扰技术.电子工艺技术,2004年第25卷第6期
[19] 王培开. 浅谈 PCB 元器件布局与布线策略.广西教育,2008年第30期
[20] 秦龙. MSP430单片机应用系统开发典型实例.北京:中国电力出版社,2005.7
[21] Bianchi R.A, Vinci Dos Santos F., Karam J.M., Courtois B., Pressecq F., Sifflet S., CMOS-compatible smart temperature sensors, Microelectronics Journal, 1998, 29
[22] 毛楠,孙瑛.电子电路抗干扰实用技术.北京:国防工业出版社,1996.01
[23] 蔡春波.基于ARM的液晶显示模块测试系统硬件设计,电子科技大学硕士学位论文. 2006.
[24] 周国运.单片机原理及应用(C语言版).北京:中国水利水电出版社,2009. [25] 张晞,王德银,张晨. MSP430系列单片机实用C语言程序设计.北京:人民邮电出版社,2005.09
[27] 孙同景, 陈桂友. Freescale9S12 十六位单片机原理及嵌入式开 发技术[M] . 北京: 机械工业出版社, 2008.
[28]段煅.C语言编程技巧在C语言学习中的应用,电脑编程技巧与维护,2010年第20期
[29] 秦龙. MSP430单片机应用系统开发典型实例.北京:中国电力出版社,2005.7
[30] Bianchi R.A, Vinci Dos Santos F., Karam J.M., Courtois B., Pressecq F., Sifflet S., CMOS-compatible smart temperature sensors, Microelectronics Journal, 1998, 29
[31] 毛楠,孙瑛.电子电路抗干扰实用技术.北京:国防工业出版社,
52
1996.01
[32] 李华. 单片机控制软件的设计原则和编程技巧[J].电气传动自动化,1997年02期
[33]张迎新.单片微型计算机原理、应用及接口技术.北京:国防工业出版社,2004.1
[34] 张大明.单片微机控制应用技术[M].北京:机械工业出版社,2006.02 [35] Motorola, System design and layout techniques for noise reduction in MCU-based systems. Microprocessors and Microsystems, 1996, 9(20), 303-309
[36]石建华.单片机原理与应用技术[M].北京:邮电大学出版社,2008.02 [37] 喻宗泉,喻晗,李建民. 单片机原理与应用技术.西安:西安电子科技大学出版社,2006.05
[38] 王名发.基于MC9S12光伏并网逆变器研究,南昌大学硕士学位论文,2010 [39] 刘青,丁函.MAX7219在单片机系统显示电路中的应用 [J] Automation Application,2011.01
[40]李长安,李志勇,赵玲.基于MAX7219芯片的大尺寸LED数码管显示驱动电路设计[J]Electronic Design Engineering,2011年第5期 [41]江衍煊.驱动LED显示的MAX7219芯片[J] Electromechanical Components,2011年第4期
[42]贾欣宇,焦阳,郭辉.MAX7219 LED显示芯片的应用[J] 电脑知识与技术,2010年第11期
[43]杜川.单片机抗干扰问题浅析[J]大众科技,2010年第2期
[44] 杨秋海,叶林.组合式键盘LED显示器接口电路[J]仪表技术,1998年第4期
[45] 马光.单片机原理及应用.北京:机械工业出版社,2006.01
[46] 沙占有.智能化集成温度传感器原理与应用.北京:机械工业出版社,2002.06
[47] 杨恢先,黄辉先.单片机原理及应用.北京:人民邮电出版社,2006.10
53
附录一 ADS7809转换子程序设计
#include #define RCO PORTA_PA2 #define CLK PORTA_PA3 #define AD1 PORTA_PA4 #define BUSY1_dir DDRA_DDRA0 #define DATA1_dir DDRA_DDRA1 #define RCO_dir DDRA_DDRA2 #define CLK_dir DDRA_DDRA3 #define AD1_dir DDRA_DDRA4 #define uchar unsigned char #define uint unsigned int uint result; float k; uint read7809() { uint dat=0; uchar i; RCO=1; RCO=0; RCO=1; while(BUSY1==0); CLK=0; CLK=1; CLK=0; CLK=1; for(i=0;i<16;i++) { dat<<=1; CLK=0; 54 CLK=1; if(DATA1) dat|=0x0001; } return dat; } //端口初始化 void INIT_PA(void) { BUSY1_dir=0; DATA1_dir=0; RCO_dir=1; CLK_dir=1; AD1_dir=1; } void main( void ) { INIT_PA(); AD1=0; //启动ADS7809_1 while(1) { result=read7809(); k=result*2.5/65535; asm NOP; } } 55 附录二 LED显示子程序设计 include extern void Write7219(unsigned char address,unsigned char dat); extern void ClkInit(void); extern void Display(float val); extern void AdInit(); extern void TimeAInit(); #define AD1_dir DDRA_DDRA4 #define uchar unsigned char #define uint unsigned int long ad1,ad2; float k1,k2; //中断函数 #pragma CODE_SEG __NEAR_SEG NON_BANKED void interrupt TA_IRP(void) { ADC12CTL0 &= ~(ENC); ad1=ad1*9/10+ADC12MEM0/10; ad2=ad2*9/10+ADC12MEM1/10; ADC12CTL0 |= ENC+ADC12SC; } #pragma CODE_SEG DEFAULT void main( void ) { ClkInit(); DisplayIoInit(); MaxInit(); TimeAInit(); AdInit(); 56 _EINT(); while(1) { k1=ad1*2.51/4095; k2=ad2*2.51/4095; Display(k2/k1); } } 57 插图清单 图2‐1 应用系统研制过程框图 .................................................................................... 3 图2‐2 硬件电路原理图 ................................................................................................ 5 图3‐1放大电路 ............................................................................................................. 8 图3‐2 速度有效值测量电路 ...................................................................................... 9 图3‐3 频率测量电路 .................................................................................................. 10 图3‐4频压转换电路 ................................................................................................... 11 图3‐5 A/D转换电路................................................................................................. 12 图3‐6 LED显示接口电路 ............................................................................................ 13 图 3‐7 ±5V电源产生电路 ........................................................................................... 14 图3‐9 外接晶振电路 .................................................................................................. 15 图3‐10 RC复位电路 .................................................................................................... 16 图4‐1结构化编程 ....................................................................................................... 27 图4‐2 软件开发界面 .................................................................................................. 29 图4‐3 BDM在线调试界面 .......................................................................................... 30 图4‐4 串口调试界面 .................................................................................................. 31 图4‐5软件流程图 ....................................................................................................... 32 图4‐6 ADS7809时序图 ............................................................................................... 33 图4‐7 MAX7219时序图 .............................................................................................. 34 图6‐1 单片机仿真系统连接示意图 .......................................................................... 40 图6‐2 系统调试流程图 .............................................................................................. 41 图7‐1 输入有效值与RMS输出值间的线性关系 .................................................... 46 图7‐2 F/V转换线性关系 ............................................................................................ 47 表格清单 表一 正弦波有效值与RMS均方根值 ....................................................................... 45 表二 F/V转换的数值 .................................................................................................. 46 表三 位移线性关系 .................................................................................................... 47 表四 测振仪幅频特性(振动位移均为峰—峰值) ...................................................... 48 独 创 性 声 明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 合肥工业大学 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签字: 签字日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解 合肥工业大学 有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权 合肥工业大学 可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 (保密的学位论文在解密后适用本授权书) 学位论文者签名: 导师签名: 签字日期: 年 月 日 签字日期: 年 月 日 学位论文作者毕业后去向: 工作单位: 电话: 通讯地址: 邮编: 致谢 时间飞逝,转眼间,两年的研究生学习生涯即将结束,在这毕业之际,我要向所有关心和帮助我的老师、同学和家人表以最诚挚的谢意! 首先,我要感谢的是给我最大帮助和支持的导师周汉义教授!古人语:师者传道授业解惑也。从周老师身上让我真正领悟了什么叫执着,什么叫一丝不苟,什么叫专业。周老师对待工作总是持以严谨、务实、认真、精益求精的态度,这种态度深深的感染着我,是我人生中不可取代的宝贵财富! 在学习上,周老师总是以极大的耐心和责任心来包容我的种种缺点和过失,总是一字一句认真地给我讲解论文完成过程中的不足之处,对于我不明白和无法接受的知识周老师从来都是不厌其烦的一遍一遍的讲解,还时不时地鼓励我不要灰心、多查资料,慢慢进步,在此我想再向周老师说一声:“谢谢您!您不仅学识渊博,而且为人是那么和蔼可亲!”。在生活上,周老师视我们为自己的子女:出差回来会给我们带地方特产;有机会就带我们去品尝东北风味菜肴;每年可以尝到周老师与我们亲手做的饺子,那是一种别样的幸福! 其次,我很庆幸我可以与徐华荣、张凯、丁富、古宏刚成为同一实验室的好友。在我论文完成过程中,徐华荣和张凯给予了我很大的帮助,总是细心地给我讲解,且在生活上也积极给予帮助。古宏刚和丁富开朗、豁达、有活力,他们的加入给实验室带来了更多的乐趣。在此,我要向你们表示深深的感谢,与你们在一起的这两年我收获了很多,感谢你们的帮助! 在此我还要感谢一直给我作坚固后盾的家人,没有你们也就没有我今天论文的顺利完成,你们的爱我无以回报,我只希望在今后的工作中能取得更大的成功,给你们一点欣慰! 最后,感谢各位老师在百忙中抽出宝贵时间审阅我的论文! 作者:吴玲 2011年11月 飞机发动机振动测量仪的研制 摘要 本课题首先分析了国内外现有飞机发动机专用测振仪器的优缺点,针对其存在的问题设计出了新型的基于Freescale的MC9S12XS128单片机的振动测量仪,可以克服现有仪器的缺点,介绍了设计该仪器的理论依据和各硬件模块功能实现的芯片选择依据和调试结果。在硬件设计中,由于MC9S12XS128单片机运算速度快,省去了价格较贵的可编程带通滤波器UAF42AP;同时也简化了电路。专用有效值测量电路测量振动速度;频压转换电路测频率,可以克服计数测频的稳定性差的缺点,然后利用双路A/D转换电路进行A/D转换,并将转换结果送入MC9S12XS128单片机进行数据处理,最后利用LED驱动芯片MAX7219将转换结果通过数码管显示。在软件设计部分,首先介绍了基于MC9S12XS128的模块化软件设计流程、A/D转换及显示程序设计,然后根据测得的数据,分析了仪器的精度、稳定性和改进措施。根据反复测量和调试,本振动测量仪达到了设计的预期目标,满足了精度和稳定性的要求。 关键词:MC9S12XS128单片机 振动测量仪 频压转换 Design of Aircraft Engine Vibration Meter Abstract This paper firstly focused on analyzing the advantages and disadvantages for domestic and foreign existing measurement instruments of aircraft engine vibration, and stated a new vibration measuring instrument based on the MC9S12XS128 of Freescale which can overcome the shortcomings of existing instruments. The topic introduced the theoretical basis of designing the apparatus, the chip selection basis of hardware module functions and the results of the debugging. In the hardware design, Eliminates the need for expensive programmable band pass filter UAF42AP because of the MC9S12XS128 MCU´fast operation; at the same time also simplifies the circuit.RMS circuit to the measurement of the vibration velocity, frequency voltage conversion circuit to measuring the frequency in the vibration measuring instrument. Then sent the convert results into the MC9S12XS128 microcomputer for data processing by transforming dual A/D conversion to A/D conversion, and finally displayed the conversion result through the digital tube with the use of LED driving chip MAX7219. For the software design, firstly it introduced the modular software design flow based on the MC9S12XS128、A/D conversion and program design display. Then, according to the measured data. this paper analyzed the precision, stability and improvement measures. By repeated measuring and debugging, this vibration measuring instrument has reached the expected target and met the precision and stability requirements. Keywords: MC9S12XS128 microcontroller Vibration measuring instrument F/V conversion 飞机发动机振动测量仪的研制 作者: 学位授予单位: 吴玲 合肥工业大学 本文链接:http://d.wanfangdata.com.cn/Thesis_D200534.aspx 因篇幅问题不能全部显示,请点此查看更多更全内容