1、基于STM32的示波器的设计开题报告开题报告:1.本课题研究的目的、意义:随着电子行业的发展,示波器在实际生活生产中占据的地位越来越重要,其实用之广泛和发展速度之快都远远超过其他测量仪器,已经广泛应用于国防、科研、学校以及工农商业等各个领域和部门。而在由芯片控制的数字示波器已经逐步成为示波器市场上的主要产品。目前国内市场上出现的高精度数字示波器普遍存在着价格昂贵、不便于户外的测量等等缺点。本课题研究的意义是通过本课题的研究,能够开发出一款价格较低,功能较齐全、体积较小而又不影响测量精度的手持式数字示波器,以求弥补国内市场在这方面的空缺。本课题采用STM32为主控芯片,采用LCD液晶屏作为显示设
2、备,通过外部A/D对输入信号采集和处理,最终将波形信息显示在液晶屏上,以此完成一款手持式数字示波器的设计。使用单片机是本专业学生需要掌握的一项基本技能,本课题的主要目的是通过对单片机的应用,进一步加深单片机硬件电路的连接以及软件的编程。可以达到学以致用,把理论与实践相结合,学会如何应用自己的所学的知识,学会在设计的过程中发现问题、解决问题的能力,掌握设计的技巧,为以后工作打下基础,并完成一个能够基本满足需求的手持式数字示波器。2.国内外研究现状 数字示波器经过多年的飞速发展,其自身的各种性能、功能和价格已经完全可与模示 波器相媲美,而且集捕获、显示、测盘、分析、存储于一体。它的实时带宽已达2G
3、Hz,测量精度Y轴达土1%十2%、X轴达十0.01%。这种示波器显示屏幕一般比模拟示波器显示屏幕要大,通常为7英寸和9英寸。彩显CRT数字示波器价格下跌,过去普遍用于1GHz示波器,现已开始用于40MHz的数字示波器。过去独占示波器鳌头约50年的模拟示波器虽也有很大进步,但还是退出了长期一统示波器天下的局面。经过较量之后,带宽1GHz的模拟 示波器已全部让给等效和实时采样数字示波器,10MHz500MHz也已基本让给了实时采 样数字示波器,只有在100MHz以下的示波器中大约还能占到近一半的份额。各示波器生产厂商纷纷倒向数字示波器的生产。继80年惠普公司的示波器全部转至数字示波器生产后,泰克公
4、司相继放弃7000系列1GHz、400MHz模拟示波器的生产,结束了长期独家占领1GHz模拟示波器市场的局面,全力转至数字和数字取样示波器的研制和生产。经过前一时期的发展,CRT存储示波器已不复存在,取样示波器已改为数字(惠普公司)或数字取样(泰克公司)示波器、DSO已全部(惠普公司)归到数字示波器或部分(泰克公司)归到数字示波器之中。3.拟采取的研究路线: 欲完成此设计,首先应查阅相关的资料、文献,对所需的芯片和器件的规格、结构、性能进行了解,并选取芯片,本设计拟选用意法半导体生产的STM32F103系列单片机。然后对电路的硬件部分进行构思,因为考虑到测量精度的问题,首先在输入端加入一个阻抗
5、匹配电路,并对信号进行放大处理。然后对采样信号进行AD转换,并将转换后的数字信号送入LCD显示,这样就实现了波形的显示,另外将键盘接入后就能实现波形大小、采样间隔等控制。为了能够便于手持,还可以加入一个电源控制电路,采用充电式锂电池供电。软件部分应用C语言编程,C语言是在国内外广泛使用的一种语言。是单片机编程应用最为广泛的编程语言之一。使用C语言编程的优点在于程序编写方便、可读性强、便于模块化及有益于维护和升级。整体思路是对单片机的ADC模块、LCD显示模块、键盘模块和USB接口部分进行编程。 系统电路的焊接与调试工作都需要在实验室中进行,通过调试, 不断优化程序代码, 对程序中的问题及时更正
6、修改, 使系统的性能得以提高,工作状态更加稳定。在测试的过程中可以修正电路中元器件的参数等,以避免理论分析与实际状态的差距引起的波形显示效果不佳以及显示中噪声的影响。4.进度安排:文献综述: 前言 为了完成本课题的设计任务,本人查阅了相关资料。目前世界范围内,数字示波器已经逐步代替模拟示波器,其优点为精度高、功能齐全、操作简单。但国内市场上高精度数字示波器的价格往往较高,并且不易携带,往往不能满足日常生活生产的需要。本课题采用STM32F103单片机作为主控芯片,由于其供电电压较低,故考虑使用充电式锂电池作为供电设备,这样更易于实现随身携带。在信号采集时加入一个保护放大电路,这样会增加测量精度
7、。采用TFT-LCD液晶屏作为显示设备,可以使显示更加清晰。以上为总体思路的确定,下面对系统的各个部分进行详细的描述。1.硬件部分:硬件部分共分为:信号采集处理部分、键盘控制部分、LCD显示部分和电源管理部分。(1).信号采集处理部分:对于低速数据采集, 由于信号反射对信号的传输过 程影响微乎其微, 所以低速数据采集 系统良好的高阻抗性能,对提高系统的测量精 确度有很大的意义。本设计中采用电压跟随器实现阻抗变换, 数据采集阻抗变换电路的设计方如图所示, 其输入阻抗为10M。信号放大电路主要采用具有可变增益的数字程控放大器AD8260。AD8260是AD公司生产的一款大电流驱动器及低噪声数字可编
8、程 可变增益 放大器。 该器件 增益 调节范围为 - 6 dB + 24 dB , 可调增益的-3dB带宽为230MHz,可采取单电源或双电源供电。主要用于数字控制自动增益系统、收发信号处理等领域,本设计主要使用其数字控制自动增益功能。AD转换部分使用的STM32F103芯片的数模转换ADC模块。阻抗变换电路(2).键盘控制部分 加入键盘控制的主要目的是为了能够实现波形显示时幅值,频率间隔等控制,键盘就采用STM32F103自带键盘,通过软件编程来实现对波形的各项参数的控制。由于这部分主要依赖软件编程,所以在硬件连接部分不再做多余赘述,将于软件部分对此项进行具体说明。(3).LCD显示部分LC
9、D液晶显示器是Liquid Crystal Display的简称,LCD的构造是在两片平行的玻璃当中放置液态晶体,两片玻璃中间有许多垂直和水平的细小电线,通过通电与否来控制 杆状水晶分子改变方向,将光线折射出来产生画面。LCD的主要技术参数有:对比度:LCD制造时选用的控制IC、滤光片和定向膜等配件,与面板的对比度有关,对于一般用户而言,对比度能够达到350:1就足够了,但在专业领域这样的对比度还不能满足用户的要求。对比值定义是最大亮度值(全白)除以最小亮度值(全黑)的比值。亮度:LCD是一种介于固态与液态之间的物质,本身是不能 发光的,需要借助于额外的光源才行。因此,灯管数目关系着液晶显示器
10、亮度。液晶显示器的最大亮度,通常由冷阴极涉嫌管来决定,亮度值一般都在200250cd/m2间。可视面积:液晶显示器所表示的尺寸就是与实际可以使用的屏幕范围一致。可视角度:当背光源通过偏极片、液晶和去向层之后,输出的光线变具有了方向性。也就是说大多说光都是从屏幕中 垂直射出来的,所以从某一个较大的角度观看液晶显示时,便不能看到原来的颜色,甚至是只能看到全白或者全黑。为了解决这个问题,制造商们也着手开发广角技术,到目前为止有三种比较流行的技术,分别是:TN+FILM、IPS和MVA。色彩度:任何一种色彩都是由红、绿、蓝三种基本色组成的。LCD面板上是由480272个像素点组成现象的,每个独立的像素
11、色彩是由红、绿、蓝(R、G、B)三种基本色来控制。(4).电源管理部分: 与普通示波器不同的是,充电电池采用锂电池,它具有能量密度高的特性,较镍镉电池而言,这种充电电池具有重量轻、体积小、容量大和无记忆效应等优点。充电管理模块采用的是LTC4054芯片,该芯片是可编程的独立的线性的锂电池充电器,可通过USB接口进行充电,所以我们自然也配备了USB接口,对锂电池进行充电,充分满足了户外现场测试的需要。LTC4054简洁的应用电路非常适合用于便携式电子设备中。其组成的充电电路非常简单,充电的所有功能均由单个芯片实现,结构紧凑可靠。2.软件部分:软件部分采用C语言编程。系统软件设计采用模块化设计方法
12、, 整个程序主要由初始化 程序、人机交互菜单程序、键盘扫描程序、电源管理程序、触发程序、显示程序和数据采集及频率控制程序组成。键盘扫描:利用4个按键K1,K2,K3,K4来选择波形的放大和缩小,按键采用外部中断方式。其中通过K1和K2来调整波形显示的高度比例,通过K3和K4来改变采样间隔增加或减少一个周期内采样点数,达到控制水平扫描速度,使低频率波形能完整显示。当检测到K1时,波形幅度系数置为2,当检测到K2时,波形幅度系数置为1/2,否则波形幅度系数为1,以此控制幅度的放大和缩小。当检测到K3、K4时,采样函数中分别加入不同的延时函数来拉长或缩短波形。显示及数据采集:该部分程序主要有LCD初
13、始化,AD转换过来的数据转换成显示数据。用数组连续存储AD转换结果,存满后依次在LCD上显示,依次循环。显示过程中由于STM32处理器频率较低,导致显示一屏的时间较长,从而使刷屏速度较慢,效果不好。这里采用每次刷一列的的算法,即每次显示下一列点之前将此列初始化为屏幕底色,从而改善视觉效果。电源管理:采用内部电池供电和外部USB供电两种方式。外部USB供电时,同时自动对内部电池进行充电。在内部电池供电时,会概略显示内部电池的剩余电量,包括FULL(充足)HALF(一半)FEW(很少)和EMPTY(空)四种状态。系统流图如下:参考文献:1.周萍,陈毅华,陆毅.基于STM32的掌上型数字存储示波器的
14、研制.江苏技术师范学院学报.2.周富相, 陈德毅, 刘培国, 魏政霞. 基于STM32数字示波器的设计与实现. 山西电子技术.3.丁昊,宋杰,关键.基于TFT彩屏液晶的便携数字存储示波器. 现代电子技术.4.李维提. 液晶显示技术.电子工业出版社.5.李健,田航.锂电池线性充电管理芯片LTC4054及其应用. 重庆教育学院学报6.谭浩强.C程序设计教程.清华大学出版社7.李静.快速学通51单片机C语言程序设计.人民邮电出版社外文文献:规格说明STM32F103x8和STM32F103xB增强型系列使用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器
15、(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:多达2个I2C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。STM32F103xx中等容量增强型系列产品供电电压为2.0V至3.6V,包含-40C至+85C温度范围和-40C至+105C的扩展温度范围。一系列的省电模式保证低功耗应用的要求。 S TM32F103xx中等容量增强型系列产品提供包括从36脚至100脚的6种不同封装形式;根据不同的封装形式,器件中的外设配
16、置不尽相同。下面给出了该系列产品中所有外设的基本介绍。这些丰富的外设配置,使得STM32F103xx产品容量增强型系列微控制器适合于多种应用场合:电机驱动和应用控制、医疗和手持设备、PC游戏外设和GPS平台。工业应用:可编程控制器(PLC)、变频器、打印机和扫描仪、警报系统、视频对讲、和暖气通风空调系统等。概述ARM的Cortex-M3核心并内嵌闪存和SRAMARM的Cortex-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。ARM的Cortex-M3是32位的RISC处理器,提供额
17、外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。STM32F103xx增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。内置闪存存储器64K或128K字节的内置闪存存储器,用于存放程序和数据。CRC(循环冗余校验)计算单元 CRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。在EN/IEC 60335-1标准的范围内,它提供了一种检测闪存存储器错误的手段,CRC计算单元可以用于实时地计算软件的签名,并与在链接和生成该软件时产生的签名对比。内置S
18、RAM 20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。嵌套的向量式中断控制器(NVIC)STM32F103xx增强型产品内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex-M3的中断线)和16个优先级。 紧耦合的NVIC能够达到低延迟的中断响应处理 中断向量入口地址直接进入内核 紧耦合的NVIC接口 允许中断的早期处理 处理晚到的较高优先级中断 支持中断尾部链接功能 自动保存处理器状态 中断返回时自动恢复,无需额外指令开销该模块以最小的中断延迟提供灵活的中断管理功能。外部中断/事件控制器(EXTI) 外部中断/事件控制器包含19个边沿检测器,
19、用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。时钟和启动 系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的416MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。多
20、个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。参考图2的时钟驱动框图。自举模式 在启动时,通过自举引脚可以选择三种自举模式中的一种: 从程序闪存存储器自举 从系统存储器自举 从内部SRAM自举自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。更详细的信息,请参考应用笔记AN2606。供电方案 VDD= 2.03.6V:VDD引脚为I/O引脚和内部调压器供电。 VSSA,VDDA= 2.03.6V:为ADC、复位模块、RC振荡器和PLL的模拟
21、部分提供供电。使用ADC时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS。 VBAT= 1.83.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。供电监控器 本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。器件中还有一个可编程电压监测器(PVD),它监视VDD/VDDA供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时产生中断,中断处理程序可以发出警告信息或将微控
22、制器转入安全模式。PVD功能需要通过程序开启。电压调压器 调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式 主模式(MR)用于正常的运行操作 低功耗模式(LPR)用于CPU的停机模式 关断模式用于CPU的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于零消耗状态(但寄存器和SRAM的内容将丢失) 该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。低功耗模式STM32F103xC、STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。 睡眠模式:在睡眠模式,只有C
23、PU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。 停机模式:在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V部分的供电,PLL、HSI的RC振荡器和HSE晶体振荡器被关闭,调压器可以被置于普通模式或低功耗模式。可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出、RTC闹钟或USB的唤醒信号。 待机模式:在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的供电被切断;PLL、HSI的RC振荡器和HSE晶体振荡器也被关闭;进入
24、待机模式后,SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。从待机模式退出的条件是:NRST上的外部复位信号、IWDG复位、WKUP引脚上的一个上升边沿或RTC的闹钟到时。在进入停机或待机模式时,RTC、IWDG和对应的时钟不会被停止。DMA 灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。DMA可以用于主要的外设:SPI、I2C、U
25、SART,通用、基本和高级控制定时器TIMx和ADC。RTC(实时时钟)和后备寄存器 RTC和后备寄存器通过一个开关供电,在VDD有效时该开关选择VDD供电,否则由VBAT引脚供电。后备寄存器(10个16位的寄存器)可以用于在关闭VDD时,保存20个字节的用户应用数据。RTC和后备寄存器不会被系统或电源复位源复位;当从待机模式唤醒时,也不会被复位。实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和阶段性中断功能。RTC的驱动时钟可以是一个使用外部晶体的32.768kHz的振荡器、内部低功耗RC振荡器或高速的外部时钟经128分频。内部低功耗RC振荡器的典型频率
26、为40kHz。为补偿天然晶体的偏差,可以通过输出一个512Hz的信号对RTC的时钟进行校准。RTC具有一个32位的可编程计数器,使用比较寄存器可以进行长时间的测量。有一个20位的预分频器用于时基时钟,默认情况下时钟为32.768kHz时,它将产生一个1秒长的时间基准。定时器和看门狗中等容量的STM32F103xx增强型系列产品包含1个高级控制定时器、3个普通定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。高级控制定时器(TIM1) 高级控制定时器(TIM1)可以被看成是分配到6个通道的三相PWM发生器,它具有带死区插入的互补PWM输出,还可以被当成完整的通用定时器。四个独立的通道可以用于:
27、输入捕获 输出比较 产生PWM(边缘或中心对齐模式) 单脉冲输出配置为16位标准定时器时,它与TIMx定时器具有相同的功能。配置为16位PWM发生器时,它具有全调制能力(0100%)。在调试模式下,计数器可以被冻结,同时PWM输出被禁止,从而切断由这些输出所控制的开关。很多功能都与标准的TIM定时器相同,内部结构也相同,因此高级控制定时器可以通过定时器链接功能与TIM定时器协同操作,提供同步或事件链接功能。通用定时器(TIMx) STM32F103xx增强型产品中,内置了多达3个可同步运行的标准定时器(TIM2、TIM3和TIM4)。每个定时器都有一个16位的自动加载递加/递减计数器、一个16
28、位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多12个输入捕获、输出比较或PWM通道。它们还能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。在调试模式下,计数器可以被冻结。任一标准定时器都能用于产生PWM输出。每个定时器都有独立的DMA请求机制。这些定时器还能够处理增量编码器的信号,也能处理1至3个霍尔传感器的数字输出。独立看门狗独立的看门狗是基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40kHz的RC振荡器提供时钟;因为这个RC振荡器独立于主时钟,所以它可运行于停机和待机模式。它
29、可以被当成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过选项字节可以配置成是软件或硬件启动看门狗。在调试模式下,计数器可以被冻结。窗口看门狗窗口看门狗内有一个7位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式下,计数器可以被冻结。系统时基定时器这个定时器是专用于实时操作系统,也可当成一个标准的递减计数器。它具有下述特性: 24位的递减计数器 自动重加载功能 当计数器为0时能产生一个可屏蔽系统中断 可编程时钟源I2C总线 多达2个I2C总线接口,能够工作于多主模式或从模式,
30、支持标准和快速模式。I2C接口支持7位或10位寻址,7位从模式时支持双从地址寻址。内置了硬件CRC发生器/校验器。它们可以使用DMA操作并支持SMBus总线2.0版/PMBus总线。通用同步/异步收发器(USART) USART1接口通信速率可达4.5兆位/秒,其他接口的通信速率可达2.25兆位/秒。USART接口具有硬件的CTS和RTS信号管理、支持IrDA SIR ENDEC传输编解码、兼容ISO7816的智能卡并提供LIN主/从功能。所有USART接口都可以使用DMA操作。串行外设接口(SPI) 多达2个SPI接口,在从或主模式下,全双工和半双工的通信速率可达18兆位/秒。3位的预分频器
31、可产生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。所有的SPI接口都可以使用DMA操作。控制器区域网络(CAN) CAN接口兼容规范2.0A和2.0B(主动),位速率高达1兆位/秒。它可以接收和发送11位标识符的标准帧,也可以接收和发送29位标识符的扩展帧。具有3个发送邮箱和2个接收FIFO,3级14个可调节的滤波器。通用串行总线(USB)STM32F103xx增强型系列产品,内嵌一个兼容全速USB的设备控制器,遵循全速USB设备(12兆位/秒)标准,端点可由软件配置,具有待机/唤醒功能。USB专用的48MHz时钟由内部主PLL直接产生(时钟源必须是一个HSE晶体振荡器)。通用输入输出接口(GPIO)每个GPIO引脚都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或复用的外设功能端口。多数GPIO引脚都与数字或模拟的复用外设共用。除了具有模拟输入功能的端口,所有的GPIO引脚都有大电流通过能力。在需要的情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,以避免意外的写入I/O寄存器。在APB2上的I/O脚可达18MHz的翻转速度。ADC(模拟/数字转换器)STM32F103xx增强型产品内嵌2个12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,可以实现单次或扫描转换。在
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1