基于ARM的简易示波器的设计.docx
《基于ARM的简易示波器的设计.docx》由会员分享,可在线阅读,更多相关《基于ARM的简易示波器的设计.docx(35页珍藏版)》请在冰豆网上搜索。
基于ARM的简易示波器的设计
摘要
本设计对基于ARM(AdvancedRISCMachine)的简易示波器的设计过程进行了介绍。
主要对系统的硬件设计部分和软件设计部分进行了分析。
硬件设计部分首先给出了系统框图,然后对各个组成模块进行了介绍。
并给出了各模块所使用的主要元器件。
包括电源部分、放大部分、控制部分、键盘功能及芯片的采集和显示部分。
软件设计部分编写了使能部分、AD转换、显示部分、数值计算部分。
本设计实现了小信号波形的显示,实时采样速率为1M。
本设计采用彩色TFT液晶显示。
本设计实现了波形峰峰值的瞬时检测和左右移动变换,实现了波形频率的测量。
关键词:
ARM;示波器;AD转换
Abstract
ThispaperdescribesthedesignofthedigitaloscillographbasedonARM(AdvancedRISCMachine)Thedesignofhardwareandsoftwareisthepaper’smaincontents.Atfirst,thehardwaredesignpartdescribesthefloorplanofthissystem.Then,everymoduleisintroducedinthepaper.Thepaperliststhemainapparatusthatareusedinthesystem.Includepowerofthemostpart,andcontrolfunctions,thekeyboardandthecollectionanddisplaychipSoftwaredesignpartwrittentobepartofad,convert,thatpart,thevalueofthisissue.theapplicationofthesoftwareistocompletetheprogramKeilappliestosoftware.
Designedtoachievethesignalwaveformsdisplay,real-timesamplingis1M.Therateisdesignedtoachievetransientwaveforms’max-maxvaluesandmovearound.Thewaveformachievesthefrequencyofthesurvey.
Keywords:
ARM;Theoscillograph;ADconversion
第1章选题背景
1.1课题来源
传统模拟示波器是基于显像管技术的,通过电子枪将电子打向荧光屏而显示波形。
对于周期信号来说,传统示波器可以显示出稳定的波形,但对非周期信号或瞬间信号却无能为力。
数字示波器由于采样的原因,把有些毛刺过滤掉了,所以不太真实,但它偏数字化,对逻辑电路的测量很好,很容易存储,在电脑上分析数据,本课题基于ARM的数字存储式示波器可以显示瞬时信号和非周期信号。
系统衔接时序采样控制、键盘接口、外扩存储器、LCD显示、系统和计算机的通信等各部分工作,以及产生系统各模块正常工作所需要的控制信号。
推进本设计产生。
1.2课题目的
本课题的目的是能够显示接收到的波形,并且能够测量出峰峰值。
波形失真调节使之能够显示出完整的波形,显示出波形的频率和幅度特性,得到波形的峰值和频率。
1.3课题意义
本课题实现了瞬时信号的显示,摆脱了传统示波器只能显示周期信号的弊病。
基于STM32系列ARM的简易示波器,实时采样速率最大1M,采用彩色TFT液晶显示,需要设计前端放大电路。
以16/32位嵌入式处理器和嵌入式操作系统应用于这个时代,嵌入式系统的小体积、高可靠性能够满足便携式虚拟仪器的要求。
构建基于嵌入式系统的虚拟存储示波器变得有意义。
1.4应用分析
本设计是应用STM32系列芯片完成采样量化、AD转换、波形分析、波形显示等多项技术。
ARM是面向低价位市场设计的一种RISC微处理器,其优势是性价比高,适合嵌入式数字示波器的需求。
当前采用ARM芯片设计的嵌入式数字示波器主要基于Cortex-M3内核的微控制器STM32F103VE。
采用种结构设计的嵌入式数字示波器,由于时钟频率和并行处理能力较低,因此通常用于通道数较少的设计中,无法满足对系统实时性要求较高的多通道嵌入式数字示波器的设计。
ARM是当今嵌入式时代的主流产品,随着ARM技术的发展,嵌入式示波器将成为一种功能越来越强大,使用也更方便的检测设备。
而虚拟仪器的应用又使得示波器克服了传统示波器在价格、功能、灵活性等方面所受到的限制。
本课题所设计的基于ARM的示波器已经具有了数据采集、信号调理、传输、存储、分析处理、显示输出等功能。
1.5本章小结
本章主要介绍了选择本课题的背景等,应用ARM设计示波器的优势,设计的宗旨和选择方案的基本描述。
第2章系统总体设计
2.1总体框图
输入信号
放大电路(模拟通道)
采样和量化
12位ADC
单片机
LCD
ARM
键盘
图2-1总体框图
2.2总体设计分析
本设计接收选择的是小信号,因为小信号比较稳定,能很好的显示波形。
本设计如果选择的是DSP,设计中用到芯片就会增多,而且因为DSP造价高于ARM并且小信号的采集如果应用DSP放大芯片有很多限制,不易选取。
而应用ARM则减少了这方面的问题。
在嵌入式处理器设计领域,RISC[1]已经成为处理器结构设计的必然选择。
嵌入式微处理器嵌入式系统是以应用为中心,以计算机技术为基础,软硬可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
并且该系统是以提高对象体系智能性、控制力和人机交互能力为目的,通过相互作用和内在指标评定的,嵌入到对象体系中的专用计算机系统。
而嵌入式微处理器是嵌入式系统的核心部件,是决定嵌入式系统功能强弱的主要因素,也决定了嵌入式系统的应用范围和开发复杂度。
小信号在送入示波器的ADC部分电压稍小,量化选择不好选。
故应对小信号进行放大,才能送进AD转换电路。
经过AD转换电路之后,就是要数据计算和显示芯片进行使能控制,进入开始界面后才能实现示波器的功能。
数据计算部分应用比较器对所设预设值跟AD送出值进行比较,高于预设值的时候则计数显示示波器上,并进行前一个数和后一个数进行比较,算出峰峰值。
本设计需要解决的问题包括硬件部分和软件部分。
硬件部分的设计主要是芯片选择,控件的选择,放大倍数的控制,衰减倍数的选择。
软件部分的设计主要是驱动程序的编译,主函数主要功能的实现,按键控制的选择。
2.3硬件部分分析
2.2.1电源部分
(1)输出功率是否满足要求;
(2)输出电压是否稳定;
2.2.2ADC部分
12位ADC是一种逐次逼近型模拟数字转换器。
各通道的A/D转换可以单次、连续、扫描或间断模式执行。
ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
ADC有16个多路通道。
可以把转换分成两组:
规则的和注入的。
在任意多个通道上以任意顺序进行的一系列转换构成成组转换。
2.2.3主控制芯片
本设计应用主控制芯片为STM32F103系列,完成采样时钟的控制,判断计数是否完成,完成后送数给LCD显示。
本设计应用STM32系列按性能分成两个不同的系列[2]:
STM32F103增强型[3]系列和STM32F101基本型系列。
增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。
时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。
2.2.4键盘输入控制
本设计应用的是STM32内部的的键盘控制芯片。
现在应用键盘的扫描方法主要包括以下几种扫描方式:
(1)逐点扫描法[4]。
逐点扫描的优点是它的编程简单,易于理解,可以作同时按多个键的识别。
缺点是它的速度慢,处理程序代码较长。
(2)逐行扫描法。
逐行扫描的照逐点扫描要好的多,程序相对简单,速度快,也支持同时多按键处理。
一般的扫描键盘多用此法。
(3)全局扫描法。
全局扫描只用两次扫描,速度快,易学易用,程序简单,可是它不支持同时多键处理,最佳适用4×4扫描键盘,可以用在一般的用途。
.2.5LCD显示部分
LCD驱动程序的安排设置应简单,显示芯片最好相距近些,减少信道噪声引起波形改变。
液晶显示屏[5]的技术参数:
(1)可视面积;液晶显示器所标示的尺寸就是实际可以使用的屏幕范围一致。
(2)可视角度;液晶显示器的可视角度左右对称,而上下则不一定对称。
一般来说,上下角度要小于或等于左右角度。
(3)点距;14英寸LCD的可视面积为285.7mm×214.3mm,它的最大分辨率为1024×768,那么点距就等于:
可视宽度/水平像素(或者可视高度/垂直像素),即285.7mm/1024=0.279mm(或者是214.3mm/768=0.279mm)。
(4)色彩度;任何一种色彩都是由红、绿、蓝三种基本色组成的。
LCD面板上是由1024×768个像素点组成显像的,每个独立的像素色彩是由红、绿、蓝(R、G、B)三种基本色来控制。
大部分的液晶显示器,每个基本色(R、G、B)达到6位,即64种表现度,那么每个独立的像素就有64×64×64=262144种色彩。
也有FRC(FrameRateControl)技术以仿真的方式来表现出全彩的画面,也就是每个基本色(R、G、B)能达到8位,即256种表现度,那么每个独立的像素就有高达256×256×256=16777216种色彩了。
(5)对比值;对比值是定义最大亮度值(全白)除以最小亮度值(全黑)的比值。
(6)亮度值;液晶显示器的最大亮度,通常由冷阴极射线管(背光源)来决定,亮度值一般都在200~250cd/m2间。
(7)响应时间;响应时间是指液晶显示器各像素点对输入信号反应的速度,此值当然是越小越好。
响应时间太长,就有可能使液晶显示器在显示动态图像时,有尾影拖曳的感觉。
一般的液晶显示器的响应时间在20~30ms之间。
2.4
软件部分分析
软件部分应该解决的问题如流程图所示:
初始化
键盘扫描
数据采集
数据处理
波形显示
前端通信
底层驱动
图2-2软件部分框图
被测信号由示波器探头输入进来,由于各种被测信号的幅度等参数有很大差别,所以信号进来后首先进行调理,输入信号经过调理后,进行A/D转换,经转换后的数据存入RAM中,同时ARM从RAM中取出保存的数据,进行数学处理,并将处理后的数据送入LCD进行显示。
运行在ARM程序是在ARM公司的开发环境ADS下完成的,主要完成的任务是根据数学算法进行数据处理。
应用软件选择了Keil3.5版本,软件能够应用ARM编写程序。
Keil软件是目前开发MCS-51系列单片机和STM32系列ARM的软件。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
2.5本章小结
本章主要目的是对设计中用到的部分做了系统的分析,分析了现在ARM的发展前景和本设计应用ARM区别于其他的应用软件所拥有的优势。
本章还简单并系统的介绍了硬件部分和软件部分。
其中包括硬件部分总体思路的设计,软件部分主函数的设计等。
第3章硬件结构
3.1电源部分设计
本设计目的是显示出完整的波形,供应信号转换部分芯片需要稳定的电压。
本设计芯片所需的电压5V。
转换成5V的稳压电源有很多种形式其中包括MC3406、LM7805等稳定电压的芯片。
MC3406是24V转换成5V的,需要得到这样的高压不容易,如果稳压芯片接反会引起瞬时高压,容易击穿芯片。
应用7805是12V转换为5V的芯片,5V电压对接下来芯片不会造成伤害。
本设计应用的芯片是7805。
三端稳压集成电路7805的内部电路如图[6]所示:
图3-17805内部电路图
7805也有其缺点,在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用)。
当稳压管温度过高时,稳压性能将变差,甚至损坏。
当制作中需要一个能输出1.5A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个1.5A,在输出电流上留有一定的余量,以避免个别集成稳压电路失效时导致其他电路的连锁烧毁。
78**系列的稳压集成块的极限输入电压是36V,最低输入电压为输出电压的3-4V以上。
7805是一款低成本的稳压芯片。
它能满足在设计中的要求。
比如它能做到热过度保护,短路保护,输出晶体管安全工作区保护,提供稳定的5V电压。
它的的参数足够应用了。
应用一个稳压源,加上电解电容稳压作用。
电路能输出稳定的5V电压。
本设计的电路电源的应用如下图:
图3-2电源部分设计电路图
本设计应用电解电容调节平衡点,使之能够输出稳定的5V电压。
获得稳定电压后送到放大电路部分,继电器控制部分,芯片控制使能部分。
为芯片运行提供电压支持。
7805各个部分的电路:
(1)启动电路
(2)基准电压电路
(3)取样比较放大电路和调整电路
3.2放大部分设计
本设计为小信号波形的显示电路,数据采集前进行模数转换部分,STM32系列芯片存在内部AD转换模块,该模块的输入电压为3.3V,我们所接收到的信号只有10mV至100mV,需要对信号进行放大。
由此可判断放大倍数约为100倍左右,两级放大能够达到预期的效果。
在电压放大之前对接收到的信号电压稳定工作点,设计一个电压跟随电路。
LM324是包含四个放大器的芯片,满足设计中所用的两级放大以及一级电压跟随。
LM324系列器件是带有真差动放大输入的四运放放大器。
与单电源应用场合的标准运算放大器相比它有一些显著优点:
短路保护输出,真差动输入级,可单电源工作:
3V-32V,低偏置电流:
最大100nA,每封装含四个运算放大器,具有内部补偿的功能,共模范围扩展到负电源,行业标准的引脚排列,输入端具有静电保护功能。
LM324的管脚连接图如下图:
图3-3管脚连接图
其管脚设置4管脚为输入电压,11管脚为接地部分。
其他部分为各个放大器。
LM324系列采用两个内部补偿,二级运算放大器。
每个运放的第一级由带输入缓冲的晶体管,以及差动到单端转换器的晶体管、第一级不仅完成第一级增益功能,而且要完成电平移动和减小跨导的功能,由于跨导减小,仅需使用一个较小的跨导电容,从而就能减小芯片尺寸。
第二级含标准电流源负载放大器级。
因为能够满足设计要求,本设计采用此电路。
本设计应用三个放大器,一级放大和二级放大电路以下电路为二级放大部分。
放大器不能显示负值,设计一个基准电压,在波形显示部分,低于正向输入端的电压值,设置为基准之下。
图3-2二级放大电路图
3.3控制部分设计
控制部分主要继电器的控制,前端选压电路使波形完整。
选压的目的是能够完整的显示出波形,并且能够显示出当前所选电压的值,反映到显示部分,显示出当时的电压。
并且获得当时的峰峰值和频率。
在本设计中要获得稳定的波形,电压部分就要稳定。
在选址的时候就能够达到稳定的波形。
本设计应用的继电器为HRS2,其参数设置为两组常开,两组常闭,两组转换。
能够满足要求设置。
完成触点平移时电压的变动。
HRS2触点在阻性负载时交流120V承受最大1A的电流,直流24V时承受最大1A的电流。
触点的阻性越大时,对大电流的负载越不利,有些应用对压降很敏感,阻性大的继电器触点势必会影响这部分应用的正常工作。
最大切换电压是指由于触点尖隙等物理因素形成的可安全切断的电压,如果触点间距不足,会导致电压直接电离空气直接在触点间跳火而无法断开。
最大切换电流是指触点在接触时能承受的最大电流,它与电流密度有关,当电流密度超过允许的极限时,也就是触点的表面积小于通过电流应有的截面积时,产生的热量可能过高,使触点熔化而导致粘连。
设继电器的的断开状态为触点0,接通状态为1由芯片控制它的开合,它的开合决定了电压的放大倍数和采样衰减倍数。
衰减倍数如表3-1所示:
表3-1衰减倍数表
程序控制一号继电器
衰减倍数
0
0.5
1
0.05
放大倍数如表3-2所示:
表3-2放大倍数表
程序控制继电器
放大倍数
00
1
01
10
10
100
11
1000
3.4键盘功能
在这个系统中设置了5个按钮分别为:
运行与停止,放大倍数增大,放大倍数减小,触发电平上移,触发电平下移。
运行与停止键:
是通过开启和关闭ATmega16ADC转换完毕中断的方式来实现的。
放大倍数的增大与减小:
是通过ATmega16控制模拟开关来实现放大倍数的数字化控制。
CD4051为8通道的模拟开关,所以程控放大器可以有8档。
触发电平的上移与下移:
是通过对采样来的数据进行数字触发时,当数据的二进制值在增加的过程中某个数据的大小刚好与数字触发的二进制数值一样,在此以后的波形数据才存入显示RAM中。
当这5个按键中的某一个被触发,都会置位相应的标志位,以便刷新LCD液晶屏上相应的显示信息。
3.5芯片采集及显示部分设计
本设计经过键控和放大使电压值满足3.3V的要求,能够实现采集和显示波形,数据分析芯片和LCD使能芯片控制波形显示部分。
本设计应用STM32F103VE实现电路功能。
本设计应用STM32F103VE完成使能单片机芯片,模数转换芯片,还能达到数值运算,计数显示等功能。
要比DSP利用多个芯片完成简洁的多。
而且芯片自带通道的去噪效果要比多个芯片搭接去噪效果好得多。
信息采集部分首先要做的就是要把模拟电路转换为数字电路,A/D转换部分之后,就是数据计算以及显示部分。
STM32F103VET6基于Cortex-M3的MCU,一片总线扩展的SRAM(128KB),一片总线扩展的NORFlash(512KB),一片总线扩展的NANDFlash,一片M25PE80SPIFlash,两个RS232连接插座(DB9),通过跳线选择连接两个UART,一个B型USB插座,通过跳线连接USB,一个CAN连接插座(DB9),通过跳线连接CAN,一个SD卡座(标准SDIO方式),通过跳线连接SD卡座,主时钟振荡器8MHz用户可更换振荡器(4~16MHz)和32KHz振荡器。
本设计应用的STM32F103系列的优点包括[7]:
(1)从仅需少量的存储空间和管脚应用到需要更多的存储空间和管脚的应用。
(2)从苛求性能的应用到电池供电的应用。
(3)从简单而成本敏感的应用到高端应用。
(4)全系列脚对脚、外设及软件的高度兼容性,全方位的灵活性。
(5)在不必修改您原始框架及软件的条件下,将应用升级到更多存储空间。
(6)在不必修改您原始框架及软件的条件下,精简到使用更少存储空间或用不同的封装规格。
本设计应用STM32F103系列的以上优点,完成了电路的设置。
借助STM32F103系列芯片速度达20MIPS的高性能内核,抗干扰能力强的优势本设计完成采集。
该芯片拥有领先的130纳米制造工艺,优异的性价比。
程序空间从4K到128K,芯片选择从20脚到80脚,宽范围寻址,提供足够的空间。
系统成本低,内嵌EEPROM和高精度RC振荡器。
开发容易,拥有本地工具支持。
STM32F103系列包含7个定时器[8]:
(1)3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入。
(2)1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器。
(3)2个看门狗定时器(独立的和窗口型的)。
(4)系统时间定时器:
24位自减型计数器。
STM32F103系列包含9个通信接口:
多达2个I2C接口(支持SMBus/PMBus)
多达3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制)
多达2个SPI接口(18M位/秒)
CAN接口(2.0B主动)
USB2.0全速接口
3.5.1采集部分
信号采集最先做的就是就是A/D转换。
若选用芯片AD603,虽然能够达到要求但是它的工作温度比较小,完成这部分还要完成新片所需的温度补偿。
而在STM32系列内部的12位ADC所用的温度跟数据分析部分的温度是一样的。
减少了这部分操作。
ADC使用DMA操作。
模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的阀值时,将产生中断。
由标准定时器(TIMx)和高级控制定时器(TIM1)产生的事件,可以分别内部级联到ADC的开始触发和注入触发,应用程序能使AD转换与时钟同步。
STM32F103系列芯片的ADC部分是12位ADC是一种逐次逼近型模拟数字转换器。
它有18个通道,可测量16个外部和2个内部信号源。
各通道的A/D转换可以单次、连续、扫描或间断模式执行。
ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
STM32F103系列芯片的ADC[9]有以下特点:
(1)12-位分辨率
(2)转换结束,注入转换结束和发生模拟看门狗事件时产生中断
(3)单次和连续转换模式
(4)从通道0到通道n的自动扫描模式
(5)自校准
(6)带内嵌数据一致的数据对齐
(7)通道之间采样间隔可编程
(8)规则转换和注入转换均有外部触发选项
(9)间断模式
(10)双重模式(带2个ADC的器件)
(11)ADC转换速率1MHz
(12)ADC供电要求:
2.4V到3.6V
(13)ADC输入范围:
VREF-≤VIN≤VREF+
(14)规则通道转换期间有DMA请求产生。
3.5.2显示部分
显示部分所应用的是的320×240的LCD屏幕,应用软件对LCD使能使其开启开始画面。
用LCD的优势是它显示的波形稳定能够完整显示。
与传统的CRT相比,LCD不但体积小,厚度薄(目前14.1英寸的整机厚度可做到只有5厘米),重量轻、耗能少(1到10微瓦/平方厘米)、工作电压低(1.5到6V)且无辐射,无闪烁并能直接与CMOS集成电路匹配。
所需为320×640的液晶显示屏,经过连接能够达到波形的显示功能,并能满足完整的波形的显示,峰峰值的计算等。
各个类型的LCD[10]工作原理:
(1)被动矩阵式LCD工作原理
TN-LCD、STN-LCD和DSTN-LCD之间的显示原理基本相同,不同之处是液晶分子的扭曲角度有些差别。
下面以典型的TN-LCD为例,向大家介绍其结构及工作原理。
在厚度不到1厘米的TN-LCD液晶显示屏面板中,彩色滤光片是由红、绿、蓝三种颜色构成的滤片,有规律地制作在一块大玻璃基板上。
每一个像素是由三种颜色的单元(或称为子像素)所组成。
假如有一块面板的分辨率为1280×1024,则它实际拥有3840×1024个晶体管及子像素。
每个子像素的左上角(灰色矩形)为不透光的薄膜晶体管,彩色滤光片能产生RGB三原色。
每个夹层都包含电极和配向膜上形成的沟槽,上下夹层中填充了多层液晶分子(液晶空间不到5×10-6m)。
在同一层内,液晶分子的位置虽