基于ARMLPC2138实验平台的智能多用表毕业设计.docx
《基于ARMLPC2138实验平台的智能多用表毕业设计.docx》由会员分享,可在线阅读,更多相关《基于ARMLPC2138实验平台的智能多用表毕业设计.docx(101页珍藏版)》请在冰豆网上搜索。
基于ARMLPC2138实验平台的智能多用表毕业设计
基于ARM_LPC2138实验平台的智能多用表
摘要
本设计是一款基于ARMLPC2138实验平台的智能多用表;实现了一般简单多用表和数字存储示波器的功能。
ARM7该系统具有操作简便、界面直观等特点。
本论文主要论述了一种智能多用表的各种模块的设计及实现。
在对数字式示波表和数字式万用表进行简要讨论的基础上,对数字式示波表和数字式万用表的系统设计进行了简要的设计分析;对参数测量模块中的电压测量、电流测量、电阻测量和频率测量等模块作了详细的介绍和分析;在对这些模块进行文字讲述的同时结合了各个任务电路图;为智能多用表的设计提供了比较好的设计思路。
关键词:
测量电路;波形显示;框图。
Abstract
ThisisadesignbasedonARMLPC2138experimentalplatformsmartmultimeter;realizationofthegeneralsimplemultimeteranddigitalstorageoscilloscopefunction.ARM7Thesystemissimple,intuitiveinterfaceandotherfeatures.Thisarticlefocusesonasmartmultimeterthevariousmodulesofthedesignandimplementation.InthedigitalOscillorgaphdigitalmultimeterandabriefdiscussiononthebasisofthedigitalOscillorgaphdigitalmultimeterandthesystemdesignwasthedesignbriefanalysisoftheparametersmeasuredinthemodulevoltagemeasurement,thecurrentmeasurement,Resistancemeasurementandfrequencyofmeasurementmodules,suchasadetaileddescriptionandanalysisinthetextofthesemodulesonthevarioustasksatthesametimecombiningthecircuit;smartmultimeterforthedesignofarelativelygooddesignideas.
Keywords:
measurementcircuit;waveformdisplay;diagram.
第1章绪论
1.1智能多用表概述
在现代科技领域当中,电子测量手段一直是电子技术应用与发展的重要课题,可以想象,如果没有精密的检测手段,将很难生产出高质量的电子产品,而在电子设备的使用过程中,如果没有方便可靠的检测工具,则不能很好的对设备进行维护,了解机器运行情况,也不能在出故障时进行分析和处理。
可以说,如果不是检测手段和检测工具的发展,电子技术也就不可能有今天的成就,当然,电子技术的发展也极大的促进了检测手段和测量仪器的发展和进步。
在电子测量和检测领域中,多用表无疑是最常见、应用最广泛的电子仪器之一。
它作为一种用来测试、显示被信号的波形和能够记录、存储、处理待研究变化过程波形参数的电子测量仪器。
它能够将电信号的瞬变过程以曲线、图形、字符或数据域参数的形式清晰地展现在显示器屏幕上,变成人眼能直接观察到的轨迹图像。
就多用表的显示原理而论,它不仅是观测电压、电流、电阻或其它被测信号波形的显示仪器,而且是种能够测量、显示被观察信号波形参数数值大小的电子仪表。
而通过相应的测量传感器,多用表也可以很方便地观测和研究各种非电量的变化现象和过程。
该多用表集成万用表和数字存储示波器为一体。
1.2智能多用表国内外发展状况
传统的多用表是从万用表演变过来的,万用表只能测量电压、电流和电阻,功能比较单一,后来把自动量程,数据保持,相对值测量,自动关机,可测温度、湿度、照度、噪声,交直流电压、交直流电流、电阻、电容、频率和占空比等等一些功能加上去就产生了现代的多用表。
虽然现代多用表比较成熟,功能比较完善,但是待测信号的波形还得用示波器才能显示出来,所以想到做一个智能多用表集现代多用表和数字存储示波器为一体的电子测量仪器。
针对为何使用数字存储示波器这个问题,下面的一些理由足以说服你。
传统的模拟示波器虽然功能齐全,但是由于受阴极射线管的影响使得其带宽很难得到实质的提高,模拟示波器显示时采用的荧光物质的余辉时间都是一定的,导致其难以观测到周期较长的信号(如周期为数秒乃至更长),而对于单次发生的信号,传统的示波器则基本上无法观察。
如果要实现波形存储功能,模拟示波器一般要通过一些特殊的材料物质来实现,这需要增加昂贵的成本,导致整个示波器的性价比降低。
另外,模拟示波器还无法对信号进行一些特殊的数学处理(如FFT),由于传统的示波器所存在的这些缺点,从而使其应用受到了限制。
在今天几乎无所不在的电子产品应用中,尤其是加速现代化的国防领域,现代军事通信的迅速发展,电子技术的应用,数字网络的出现,以及航空、航天领域特殊的环境要求,都对电子设备线路的安装、维护提出了更高的要求,而此时传统的模拟示波器已经无法胜任,此时人们寄希望于电子技术领域的最新成就,检测工具的发展促进了电子技术的发展,电子技术的发展反过来又对检测工具提出了更高的要求。
自美国尼科莱特公司于1972年研制成功数字存储示波器以来,各国先后生产各种型号与规格的具有数字存储和取出显示功能的测量示波器。
以前这一领域都是被国外一些大厂家(如Tektronix、Fluke)所垄断,而目前国内一些厂商也在涉及这一领域,通过自己的技术积累、自主创新以及开展多领域的技术合作,获得了一定的成果,但即便如此,市场的大部分份额仍被Tektronix、Fluke占有,国内的厂家难以与之抗衡,更为遗憾的是,不论是国外厂家,还是国内厂家,都对数字示波器的一些关键技术进行封锁,导致我们在设计数字示波器时基本上是无多少资料可查,能找到的,都是些大同小异的文章。
所以做出来的智能多用表也是在已有的多用表上加入当前较为先进的数字式示波器功能,使得电子测量工具更具集成性。
1.3智能多用表的原理与特点[1]
1、现代多用表的原理与特点
多用表中测量电压、电流和电阻部分是基于电压的AD采样技术来实现数据的采集,然后经过一些算法对原始信号进行采集最后在显示屏上显示出所测量信号的结果。
对于温度等其他功能是应用相应的传感器来检测出对应的物理量并把测量结果显示出来
2、数字存储示波器的原理与特点
数字存储示波器(DSO,DigitalStorageOscilloscope)采用各种先进的测量技术来满足各种应用。
它基于用采样原理,采用高速模/数转换器(ADC)实现高速数据采集,将模拟信号数字化,然后借助处理器强大、高速的数据处理能力实现各种数字信号处理算法,将波形以图形的方式直观地显示出来,并能够得到被测信号丰富的各种参数。
作为一种存储式的示波器,它能够以数字编码的形式来存贮信号,这意味着它能对信号波形“冻结”,即具有“固像”功能,以供进一步详尽分析,这一点尤其适于用于研究观测非重复性的单脉冲信号、随机信号或缓慢变化的信号,并能够实现各个信号波形的对比,还可以在波形存储下来后方便地通过各种接口(如USB接口)将数据传送至PC机上,进一步作详细的处理和分析,这些功能都是传统的模拟示波器所不具备的。
此外,数字存储示波器还具有高带宽、高取样速度、丰富的触发功能等特点,正是由于数字示波器所具有这些特点,使得它现在正取代传统的模拟示波器成为信号检测领域的新宠。
1.4智能多用表的主要性能指标
1.4.1智能多用表的主要性能指标
1、所测量量程的范围
测量范围的大小是一个多用表好坏的评价标准,如果范围太小就不能称之为一个合格的产品,范围是越大越好,但是这个性能指标跟精度是一个矛盾的关系,测量范围大了精度就下降了。
所以这个必须选择一个合适的范围。
2、所测量量程的精度
精度也是一个评价电子测量仪器的标准,如果精度太低仪器所测量的结果跟实际值的误差比较大,这样对于一些要求较高的场合显然不适用,但是精度高了测量的范围就会相应的缩小了。
1.4.2数字存储示波器的主要性能指标
1、带宽
测量交流电信号时,示波器通常有其最大频率,超过这个频率波形测量精度就会下降,这一频率就是示波器的带宽。
通常定义示波器灵敏度下降3dB时的频率为示波器的带宽,换句话说,当示波器所测得的信号幅度为示波器输入端真实信号值幅度的71%处的频率值即为示波器的带宽。
带宽是示波器最重要的指标之一。
模拟示波器的带宽是一个固定的值,而数字示波器的带宽有模拟带宽和数字实时带宽两种。
数字示波器对重复信号采用顺序采样或随机采样技术所能达到的最高带宽为示波器的数字实时带宽,数字实时带宽与最高数字化频率和波形重建技术因子K相关(数字实时带宽=最高数字化速率/K),一般并不作为一项指标直接给出。
从两种带宽的定义可以看出,模拟带宽只适合重复周期信号的测量,而数字实时带宽则同时适合重复信号和单次信号的测量。
厂家声称示波器的带宽能达到多少兆,实际上指的是模拟带宽,数字实时带宽是要低于这个值的。
例如说TEK公司的TES520B的带宽为500MHz,实际上是指其模拟带宽为500MHz,而最高数字实时带宽只能达到400MHz远低于模拟带宽。
所以在测量单次信号时,一定要参考数字示波器的数字实时带宽,否则会给测量带来意想不到的误差。
2、采样速率
采样速率也称为数字化速率,是指单位时间内,对模拟输入信号的采样次数,通常以MSPS表示。
采样速率是数字示波器的一项重要指标,如果采样速率不够,则会出现频率混迭现象,根据奈奎斯特定理,只采样速率小于信号频率的2倍时就会出现频率混迭现象。
而采样速率一味过高,则ADC不能得到最佳的信噪比,影响系统性能。
本设计所采用的ADC最高的采样速率为500KSPS,要避免频率混迭,则输入信号的频率不能超过250KHz。
3、存储深度
存储深度由采样存储器的最大存储深度来表示,又称为记录长度,是示波器可以存储的最多采样点数。
4、释抑时间
在模拟示波器中释抑时间是从扫描进入回程起算,直到允许下一次扫描开始的这一段时间,在这期间禁止任何触发产生。
在数字示波器中释抑时间,是指从产生触发并采集完LCD一屏的当前扫描时间开始起算直到允许下一次触发的这段时间。
释抑时间的作用是改变扫描周期,以同步复杂的被测信号,如脉冲串等。
在实时数字示波器中,由于数字采集系统连续不断地采集,在释抑期间内采集并不停止,释抑时间计满后其后的第一个触发脉冲产生下一次有效触发。
在示波表中,释抑时间的数值可设为固定值,并且用户不可访问。
如200μs。
第2章智能多用表系统框图及实现
本次设计的智能多用表是集示波器、频率计、万用表功能于一体的,这是一个以应用为中心,实现系统对功能、可靠性、成本等综合性都要求严格的专用嵌入式系统,功能繁多,处理复杂,要求具有实时性和多任务的体系,这就需要选用嵌入式操作系统作为软件平台。
嵌入式系统包含了硬件和软件两个方面,其中硬件主要由嵌入式处理器、存储器、I/O端口以及相关外围器件和电路组成,软件部分主要由嵌入式操作系统及相应的应用软件系统组成。
应用程序控制着整个系统的运作和行为;而操作系统对各个任务进行调度,协调着各个任务同步地对硬件控制,实现软硬件的结合,达到预定的各项性能指标。
2.1智能多用表需求分析
对于智能多用表的研制我个人认为是一项难度较高的工程,所以在设计之前我们有必要来分析其需求。
1、硬件需求分析
作为一个高性能的测量仪器,要求系统要具备处理大量数据的能力,尤其是要作一些相应的数字信号处理,更是要求处理器应具备强大的运算能力。
智能多用表的另一个特点就是功能较多,这样就需要更多的外围设备,更多的外围设备也就要求微控制器要具备强大的逻辑控制能力。
结合以上考虑,我们选用ARM来作为嵌入式控制器。
ARM内核采用精简指令集计算机(RISC)体系结构,具有大量的通用寄存器。
极高的性价比和代码密度以及出色的实时中断响应和极低的功耗使得它已经成为嵌入式控制器的主流。
在实际的设计过程中,我们选用的是LPC2138控制器。
LPC2138是由NXP(原Philips半导体)生产的一款基于支持实时仿真和跟踪的16/32位ARM7TDMI-STMCPU的微控制器,采用64脚封装(可使用的GPIO在单片应用时高达47个,完全能够满足各种应用),具有2个独立的32位定时器、4路10位ADC以及多达9个外部中断使它特别适用于工业控制、医疗系统、访问控制和POS机。
丰富的片内外设也大大的简化了我们的系统设计[2][3]。
另外,LPC2138的外部总线是开放的,这样我们就能方便地扩展外部存储器,通过外部总线控制器(EMC)也可以使我们方便、高速地控制LCD控制器,简化了显示部分的电路设计。
2、软件需求分析
智能多用表所要实现的功能较多,控制对象和控制任务也很复杂,在这种情况下,如果采用传统的前后台形式进行程序设计,将是非常困难的,即时实现了某些功能,也难以满足实时性的要求。
鉴于此,我们需要选用一个实时操作系统作为软件平台,这可以很好的满足我们的要求[4][5][6]。
2-1、uC/OS-II的简单介绍
uC/OS-II是JeanJ.Labrosse设计的完整、可移植、可固化、可裁剪的占先式实时多任务内核,代码绝大部分是用标准C语言编写的。
到现在为止,uC/OS-II已经被移植到了40多种微处理器上,这些微处理器从8位到64位都有,在各个领域中已经有数千个应用使用该内核。
它有很好的稳定性和可靠性。
uC/OS-II是一个公开源代码的操作系统,代码很短(约5500行)。
与一些商用的公开代码的实时内核相比,它的源代码清晰易读,结构协调,注释详尽。
现在很多高等学校将uC/OS-II应用于实时操作系统教学。
uC/OS-II具有可移植性,绝大部分源代码是用C语言编写的;而与微处理器密切相关的部分用汇编语言编写。
但这一部分内容很少,方便使用者将内核移植到自己的微处理器上,移植uC/OS-II很简单,耗时为几小时到几天不等,完全取决于操作者的水平和所使用的微处理器的复杂程度。
实践证明uC/OS-II可以在很大一部分微处理器上运行。
用户一旦移植uC/OS-II到自己的微处理器,就可以在此基础上编写应用程序,并把uC/OS-II作为自己产品的一部分固化在里面。
uC/OS-II是可裁剪的,用户可以根据自己的需要决定使用内核中的多少成分。
裁剪可以通过定义宏来实现,简单易行。
可剥夺性和多任务也是uC/OS-II的重要特性,它总是运行处于就绪态的优先级最高的任务。
uC/OS-II可以管理64个任务,用户可以使用其中56个。
绝大多数uC/OS-II的函数调用和服务的执行时间具有可确定性。
uC/OS-II提供了很多系统服务,例如信号量、互斥型信号量、事件标志、消息邮箱、消息队列、块大小固定的内存申请与释放及时间管理函数等。
中断可以挂起uC/OS-II正在执行的任务,中断退出后执行的任务是当前就绪任务中优先级最高的任务,而不一定是被中断的任务。
这就要求每个任务都有自己的堆栈,保存任务切换和被中断时环境的上下文变量。
基于uC/OS-II具有以上优点,我们选用uC/OS-II作为软件开发平台进行软件的设计。
2.2智能多用表系统整体框架
本系统采用ARM核心的LPC2138处理器作为本智能多用表的嵌入式系统微处理器,其系统整体结构如图21:
图21智能多用表整体结构
本次所设计的智能多用表含有万用表和数字存储示波器的功能,数字存储示波器共有一个通道CH。
图21是本智能多用表的整体结构框图,从该框图可以看出,除微控制器外,智能多用表主要由模拟通道、数据缓冲、模数转换、存储器扩展和人机交互接口组成。
输入的模拟信号经过模拟通道的处理后经由模/数转换器转换成数字信号,再由微控制器处理。
各个部分都有相应的功能模块电路构成,详细功能框图如图22
图22智能多用表详细功能框图
如图2-2所示为智能万用表的测量基本原理框图。
本图中主要由按键开关电路、各种转换电路、频率测量电路、衰减/放大电路、模拟数字转换器和液晶显示电路组成,其中衰减/放大电路和模拟数字转换器是本系统的核心。
本系统由LPC2138来实现对各个功能单元的操作与控制,输入的被测信号先是经过衰减/放大电路,然后再通过按键开关分三路分别送入AD采样单元,由微控制器发送相应的控制字来控制各个参数的测量,并在测量完后进行数据处理和在液晶显示屏上显示。
2.3ARM核心的LPC2138处理器介绍
LPC2138处理器是采用ARM7TDMI-S核,ARM7TDMI-S核是通用的32位微处理器内核,采用冯.偌依曼结构,具有高性能和低功耗的特性。
ARM结构是基于精简指令集计算机(RISC---ReducedInstructionSetComputer)原理而设计的,指令集和相关的译码机制比复杂指令集计算机要简单得多。
由此可见,使用一个小的、廉价的处理器核就非常容易实现很高的指令吞吐量核实时的中断响应。
下图为2138处理器的内核。
ARM7TDMI-S使用了流水线技术,处理和存储系统的所有部分都可连续工作。
通常在执行一条指令的同时就对下一条指令进行译码,并将第三条指令从存储器中取出,如同2-3所示:
取指
译码
执行
取指
译码
执行
取指
译码
执行
图2-3ARM单周期指令3级流水线操作
ARM7TDMI-S处理器使用了一个被称为Thumb的独特结构化策略,非常适合那些对存储器有限制或者需要较高代码密度的大批量产品的应用。
基于Thumb的一个关键的概念就是“超精简指令集”。
基本上,ARM7TDMI-S处理器具有以下两个指令集:
1、标准32位ARM指令集
2、16位Thumb指令集
Thumb指令集的16位指令长度,使其可以达到标准ARM代码两倍的密度,却仍然保持ARM的大多数性能上的优势,而这些优势是使用16位寄存器的16位处理器所不具备的。
因为Thumb代码和ARM代码一样,是在相同的32位寄存器上进行操作。
Thumb代码仅为ARM代码规模的65%,但其性能却是连接到16位存储器系统的相同ARM处理器性能的160%。
第3章外围电路设计
3.1电源电路设计
电源是整个系统的能源提供者,电源性能的好坏直接关系到整个系统的成败。
由于本系统不但含有数字电路,还含有模拟电路,尤其是含有对噪声极为敏感的A/D转换器件,所以模拟电路与数字电路应该单独供电,这样才能降低噪声和出错几率,基于这种考虑,本系统分别设计了模拟电源和数字电源,两者之间的地通过一个大电感连接在一起。
模拟电源和数字电源的的前端都是通过变压器经桥式整流后提供的,此部分电路如图31:
图3-1变压器桥式整流电路
需要采用模拟电源供电的主要包括运算放大器、A/D转换器,模拟电源电路原理图如图32,为了降低纹波,其输出级增加了二级滤波电路。
图3-2-1正负5负模拟电源电路原理图
图3-2-2正负12负模拟电源电路原理图
需要采用数字电源供电的主要有A/D转换器、高速FIFO、多路选择开关、按键控制芯片等,数字电源电路如下:
图3-3数字电源电路图
由于数字系统对电源的纹波及噪声要求都比较低,故在电路中没有加LC滤波电路。
3.2信号调理电路设计
信号调理电路作用是将输入的信号通过一定的比例进行衰减或放大,得到满足ADC测量范围的电压信号。
信号调理由输入保护、耦合电路、衰减器、放大器、跟随器组成。
1.输入耦合、保护和电压跟随电路
图3-4耦合、输入保护、跟随器部分
图34为输入耦合、保护和电压跟随部分电路原理图。
MAX4187为270MHz四通道电流反馈型运算放大器[9]。
继电器K1控制耦合方式,三极管Q1处于开关状态,当LPC2138的P0.12引脚输出低电平时,Q1截止,继电器处于常开状态,此时信号通过电容C25耦合输入运放的同相输入端,只有交流信号通过,即处于交流耦合状态;当P0.12引脚输出高电平时,Q1饱和导通,此时继电器处于常闭状态,输入信号直接至运放的同相输入端,即处于直流耦合状态。
D1、D2为肖特基二极管,正向导通压降仅0.4V左右,将输入运放的电压钳位在±12.4V,防止被测信号的电压过高烧坏后级元器件,起输入保护作用。
2.信号衰减电路
由于ADC的输入信号需在一定的范围内,当被测信号过大时,就需要先对其进行一定倍数的衰减,来满足ADC的参数要求。
在本示波器中,为了使不同幅度的信号都能够衰减到同一范围内,衰减倍数共设置2、4、8、12、16、20六级[10]。
图3-5信号衰减电路
图35为本系统的信号衰减电路,信号从运算放大器的反相端输入,C30作运放的相位超前补偿,以消除自激振荡。
MAX4167是美信公司生产的8选1高速模拟开关,典型条件下,选通时电阻值仅为8Ω,非选通的通道衰减达93dB,输入输出频率特性曲线在50MHz时仍相当平坦,其功能框图见图36[7][8][9]
图36MAX4617功能框图
A、B、C为选通控制引脚,X为公共端,X0~X7为模拟输入端,ENABLE为使能端,低电平有效,其真值表如表31:
表31MAX4617真值表
为了得到不同的衰减倍数,在系统运行时通过LPC2290的P0.13、P0.18、P0.20控制MAX4167的C、B、A电平状态来选择相应的X0~X5,从而改变电阻网络的分配,得到不同的衰减倍数。
现设置当Xout连接到不同的Xn时,电压衰减倍数如表32:
表32所选开关和电压衰减倍数关系
开关选择
电压衰减倍数
Xout-X0
20
Xout-X1
16
Xout-X2
12
Xout-X3
8
Xout-X4
4
Xout-X5
2
为了满足表32的倍数关系,由,运放的反馈电阻网络应有如下关系:
(1)
对上述方程组进行整理,可得:
(2)
此方程组共6个方程,7个未知量,属不完全约束,有无穷多组解,但要人工计算得到一组合适的解是比较麻烦的,为此可以借助MATLAB强大的计算能力来解决。
上述线性方程组的系数矩阵
调用MATLAB的rref()函数可得系数矩阵的行最简形:
由于线性方程组的右端,方程组
(2)是齐次线性方程组,故由系数矩阵的行最简形直接可得:
(3)
若取,则此时,当模拟开关选择的衰减倍数为20时,运算放大器的输入阻抗仅为
,这对信号的的处理是很不利的。
为了增大运放的输入阻抗,并且各个电阻的阻值都尽量合理,所取值能够通过现有电阻简单的并联或串联得到(标称值),可取,此时
,
,
,此时运算放大器输入阻抗约为。
通过以上分析可知,只要控制好MAX4167的C、B、A电平状态,就能得到相应的信号衰减倍数。
在图35中,C、B、A由LPC2290的P0.13、P0.18、P0.20控制。
由于MAX4167的供电电压为5V,
,而LPC2290的I/O输出高电平为3.3V,所以不能直接使用LPC2290的I/O与它相连。
此