STM32 波形采集、存储与回放
- 格式:doc
- 大小:287.21 KB
- 文档页数:25
数字示波器中的波形存储、录制与回放郑涛;杨拴科;金印彬【摘要】波形存储、录制与回放是数字示波器的重要功能.在此采用闪速存储器( FLASH Memory)存储重要的波形数据,方便用户事后调出观察、分析和对比.每段波形存储的长度固定,根据存储波形的序号、大小、起始地址等建立波形存储索引表,通过查询波形索引表可选择要回放的波形.还可以通过波形录制功能把信号波形录制到静态数据存储器(SDRAM)中,然后回放波形,寻找并观察自己需要的波形.通过直接存储(DMA)方式实现将显示缓冲区存储的波形搬移到波形录制的缓存中去,实现了数据的高速存储.在手持式示波表的研制过程中实现了此波录制和回放方法达到了预期的效果.%Waveform storage, recording and playback are the important functions of a digital oscilloscope (DSO). The FLASH memory is adopted to store the important waveform data. It is convenient for users to call out the waveform informa-tion to observe, analyze and compare. Since the length of each stored waveform is fixed, and the index table of the stored waveforms is established according to their serial numbers, sizes and starting addresses, the waveform that is needed to play-back can be found by querying the index table. Signal waveforms can be also recorded in the static data memory (SDRAM) by the waveform recording function, and then users could find and observe the required waveform by waveform playback. The waveform data stored in display buffer can be moved to the recording buffer though the way of DMA to achieve the high-speed data storage. Waveform storage, recording and playback havebeen implemented during the development of the handheld oscil-loscope. The desired result was achieved.【期刊名称】《现代电子技术》【年(卷),期】2011(034)018【总页数】4页(P149-152)【关键词】数字示波器;波形存储;波形录制;波形回放【作者】郑涛;杨拴科;金印彬【作者单位】西安交通大学电气工程学院,陕西西安710049;西安交通大学电气工程学院,陕西西安710049;西安交通大学电气工程学院,陕西西安710049【正文语种】中文【中图分类】TN919-34;TM9330 引言自然界的信号大多都是瞬时变化的一过性信号,采用示波器的触发功能可以捕获符合触发条件的信号,一些重要的信号需要存储并做进一步的观察和分析。
stm32adc采样原理STM32是一个基于ARM Cortex-M处理器的32位微控制器,拥有广泛的应用场景,其中ADC(模拟数字转换器)是其中一个重要的功能。
ADC通常被用于将外部的模拟信号转换为数字信号,以便交给微控制器处理,本文将着重介绍STM32ADC的采样原理。
1. STM32 ADC的概述STM32 ADC是一种高精度、高性能的模拟信号采集器。
它能够将外部的模拟信号转换成数字信号,然后进行数字信号处理。
STM32 ADC采用的是逐次逼近式转换(SAR)技术,这种技术的采集速度相比其他采样技术更快,动态性能更高。
逐次逼近式转换的工作原理是:在一次采样中,逐个比较模拟信号与基准电压的大小,然后根据大小关系输出1或0,最后把这些二进制串拼接起来,得到的数字就是模拟信号的数字化表示。
具体过程以一个12位ADC为例:(1)设置参考电压和采样周期时间;(2)将AD输入端连接的模拟信号与0V的电平进行比较,如果比0V高,则输出1,否则输出0;(3)将该二进制数与参考电压作比较,如果小于参考电压,则在原有数字的基础上加上2^11,输出结果;(4)逐位采样比较,直到得到最后的二进制结果,即为数字化的采集结果。
STM32 ADC采样是很复杂的过程,需要经过以下四个流程:首先,从参考电压引脚或内部参考电压源(VREFINT)获取参考电压。
ADC的参考电压决定着测量精度的上限。
其次,设置通道和采样时间。
通道决定了要采集的模拟信号,采样时间则必须足够长,以确保模拟信号稳定,信噪比达到最佳状态。
然后,启动ADC转换并等待结果返回。
在STM32F4系列中,转换器在最短的时间内完成转换,并将结果存储在ADC_DR寄存器中。
最后,通过DMA或中断机制读取ADC_DR寄存器中的数据。
(1)使能ADC时钟,可使用RCC_APBxPeriphClockCmd函数中的宏定义参数。
(2)将ADC的输入信号与其引脚连接,一种常见的连接方式是使用ADC_InitTypeDef 结构体中的ADC_ChannelConfig函数。
泰克示波器上位机保存波形的指令全文共四篇示例,供读者参考第一篇示例:泰克示波器是一种用于显示波形信号的仪器,可以通过上位机保存波形数据。
在实际应用中,保存波形数据是非常重要的,可以用于后续分析和记录。
本文将介绍如何使用泰克示波器上位机保存波形数据的指令。
为了保存波形数据,我们需要连接泰克示波器和上位机。
可以通过USB接口或者网口连接两者,确保连接稳定。
然后打开上位机软件,并选择连接到泰克示波器。
在连接成功后,就可以开始保存波形数据了。
保存波形数据的指令通常包括以下几个步骤:1.选择波形通道:如果泰克示波器支持多通道显示,需要首先选择要保存的波形通道。
在软件界面上,找到相关的通道选择按钮,选择需要保存的通道。
2.设置采样率:在保存波形数据之前,需要设置采样率。
采样率表示每秒对信号进行采样的次数,通常以赫兹(Hz)为单位。
较高的采样率可以更准确地还原原始信号,但也会占用更多的存储空间。
3.设置保存格式:泰克示波器上位机通常支持多种波形数据保存格式,如CSV、MAT等。
选择合适的保存格式,以便后续的数据处理和分析。
4.设置保存路径:在保存波形数据之前,需要选择保存路径。
可以自定义保存路径,将数据保存在指定的文件夹中,方便后续管理和使用。
5.保存波形数据:接下来就是保存波形数据的最关键步骤了。
在软件界面上找到保存按钮或者保存命令,点击保存即可将当前显示的波形数据保存在指定路径中。
保存波形数据的指令执行完毕后,可以在保存路径中找到对应的波形文件。
可以使用数据分析软件打开这些文件,进行进一步的分析和处理。
保存波形数据是对泰克示波器测量数据的保障,也是对测量结果的重要记录。
在保存波形数据时,需要注意以下几点:1.保存时尽量选择高质量的保存格式,以确保数据的完整性和准确性。
2.保存后需要及时备份数据,以防止数据丢失或损坏。
3.保存时可以设置文件名,以便后续查找和识别。
保存波形数据是泰克示波器上位机的重要功能之一,能够帮助用户方便地记录和分析测量数据。
基于单片机信号采集与回放系统的设计与实现*吴宁1,李斌2,柴世文3(1.兰州工业高等专科学校电气工程系,甘肃兰州730050;2.兰州石化公司研究院,甘肃兰州730060)摘要:重点介绍了一种基于89C52单片机为控制核心的信号采集与回放控制系统。
该系统结合ADC0809、DAC0832数据采集模块,实现对两路外部信号进行采集、存储及回放。
系统模拟部分主要包括信号调节电路和A/D模块等:软件部分主要由主程序和子程序模块组成,主要实现了A/D转换器的启动与及对采样数据的存储,频率及幅值的计算,按键及显示屏的控制。
该系统经过测试实验,能耗低,性价比高,具有较高的实际应用价值。
关键词:信号采集与存储;信号复现;信号调节;回放系统中图分类号:TM13文献标识码:A文章编号:1007-4414(2011)06-0121-03The design and implementation of signal acquisition and playbacksystem based on microcontrollerWu Ning1,Li Bin2,Chai Shi-wen3(1.Electrical engineering department,Lanzhou polytechnic college,Lanzhou730050,China;2.Research institute of Lanzhou petrochemical corporation,Lanzhou730060,China;3.Gansu academy of mechanical science,Lanzhou Gansu730030,China)Abstract:This paper proposed a signal acquisition and playback control system based on89C52as the control unit.The sys-tem associated with ADC0809and DAC0832to achieve the two external signal acquisition,storage and playback.The analog section of the system included signal adjusting circuit and A/D module.The function of software modules consisted of main program and subroutine.It realized the start of the A/D converter,the sampling data storage,the calculation of the frequency and amplitude,the control of the buttons and display.The system has been tested to prove low energy consumption,cost-ef-fective and high practical value.Key words:signal capture and storage;signal reproduction;signal conditioning;playback system1引言很多工业现场中的电气设备在发生故障时,由于环境限制或是故障原因复杂,无法有效对系统故障进行在线的分析和判别,如果能够记录下故障设备产生的信号,再通过网络进行专家判别,将更利于系统的快速恢复与故障排除。
用STM32内置的高速ADC实现简易示波器2010-06-22 00:38:32| 分类:STM32 | 标签:|字号大中小订阅这几周一直在埋头学习STM32,在论坛上学到了不少知识,得到了大家的帮助,这里衷心的向大家表示感谢,尤其是特别要感谢论坛上GRANT_JX大大:)正是有幸得到了他热心相赠的STM32F103VB芯片以及评估版的PCB,我才能够顺利开展我的STM32学习之旅啊。
经过一段时间的学习实验终于对STM32有了点初步的了解,有点入门了,呵呵。
并汇报下几周来学习STM32的小作品:用STM32内置的1MspsADC进行数据采样,并通过ENC28J60以太网接口发送到PC上波形显示,实现了低频数据采集及简易示波器功能。
刚刚初步实验有所收获,高兴啊,呵呵,特地帖上来跟大家分享下:)做一个数字采样示波器一直是我长久以来的愿望,不过毕竟这个目标难度比较大,涉及的方面实在太多,模拟前端电路、高速ADC、单片机、CPLD/FPGA、通讯、上位机程序、数据处理等等,不是一下子就能成的,慢慢一步步来呗,呵呵,好歹有个目标,一直在学习各方面的知识,也有动力:)由于高速ADC涉及到采样后的数据存储问题,大量的数据涌入使得单片机无法承受,因此通常需要用外部高速RAM加CPLD配合,或者干脆用大容量的FPGA做数据存储处理等,然后通知单片机将数据发送出去。
这部分实在是难度比较大,电路非常复杂,自己是有心无力啊,还得慢慢地技术积累。
正好ST新推出市场的以CORTEX-M3为核心的STM32,内部集成了2个1Msps 12bit的独立ADC,并且内部高达72MHZ的主频,高达1.25DMIPS/MHZ 的处理速度,高速的DMA传输功能,灵活强大的4个TIMER等等,这些真是非常有吸引力,何不用它来实现一个低频的数字示波器功能呢,我的目标是暂时只要定量定性地分析20KHZ以下的低频信号就行了,目标不高吧,用STM32可以方便地实现,等有了一定经验之后慢慢再用FPGA和高速ADC搞个100Msps 采样的示波器!说来也真是幸运,得到了GRANT兄相赠的STM32F103VB以及评估版的电路板,这些日子一直在学习STM32,不断地做实验,也算是稍微有点入门了,真是了解越多越喜欢这个芯片,呵呵。
基于Qt的虚拟示波器的软面板设计汪思静;程志强;熊菡【摘要】为了解决用户无法自定义示波器界面的缺陷,文中以实际示渡器为模型,使用可视化图形编程环境-Qt平台,开发设计了虚拟示波器的软面板.以实际示波器需要的功能为基础,通过组件化的方式,实现对测试数据的存储、波形显示、回放及仪器界面控制等功能.结果达到了预期效果,设计出的虚拟示波器操作简单、功能强大,同时可以根据用户需要,重组组件设计出更为形象直观的界面,具有很强的可扩展性与可移植性.虚拟示波器势必成为当代示波器发展的方向.%In order to solve the defects that users can not customize the oscilloscope's interface,take the real oscilloscope as a model and use a visual graphical programming environment-Qt to develop and design the virtual oscilloscope soft panel.All functions are based on the real oscilloscope,which exists as components,to achieve the functions such as data storage,waveform displaying and oscilloscope's interface controlling.The results achieve the desired effects.What's more,the users can design the beautiful and intuitive interface through restructing components according to their needs,it has strong scalability and portability.The virtual oscilloscope will be bound to become the developing direction of the contemporary oscilloscope.【期刊名称】《计算机技术与发展》【年(卷),期】2013(023)007【总页数】5页(P222-225,229)【关键词】虚拟示波器;软面板;Qt【作者】汪思静;程志强;熊菡【作者单位】武汉科技大学计算机学院,湖北武汉430065;武汉科技大学计算机学院,湖北武汉430065;武汉科技大学计算机学院,湖北武汉430065【正文语种】中文【中图分类】TP3110 引言在电子领域,示波器是最常用的测量仪器之一,主要用于测量信号的波形,频率及相关参数,但它存在着一个性能缺陷,界面由厂家定义,用户无法改变其模式。
STM32和OV2640的嵌入式图像采集系统设计引言随着电子产品向低功耗、低价格、智能化的方向发展,利用视频传感器采集图像成为研究热点,如可视门铃、安全监控[1]、赛车自动循迹[23]、烟叶图像采集[4]、草本叶子图像采集[5]等。
本文根据在线采集、分析、存储图像的需求,设计了嵌入式图像采集系统,运用嵌入式芯片STM32对图像信息进行采集、显示和存储。
1系统结构与功能图像采集系统以基于ARM公司的CortexM3内核的STM32F103RBT6(以下简称STM32)处理器为,配合OV2640摄像头和TFT液晶显示器,是一款采集像素多、实时性好且成本低廉的图像采集系统。
系统的硬件结构框图如图1所示,系统通过JLink口实现程序在STM32上的仿真、在线调试,利用JLINK仿真编程器将编译之后的二进制文件烧写到Flash中,系统每次上电时便可从Flash启动文件系统,图像采集系统采用OV2640摄像头模块,输出显示采用2.4英寸TFT液晶显示屏,可将采集到的数据保存在SD卡中。
当存储按键按下时,系统接收中断,同时将从OV2640摄像头采集到的数据显示在液晶显示屏上2硬件设计2.1CPU处理器本系统用的是32位的CortexM3内核的STM32芯片STM32F103RBT6,支持Thumb2指令集,STM32F103RBT6内部的Flash有128K,SRAM大小为20K,有64个增强I/O口、2个USART、2个12位的A/D转换器[6]。
它的供电电压为2.0~3.6V,拥有省电模式,可以保证低功耗需求。
CPU 主频可以达到72MHz。
2.2OV2640摄像头OV2640具有体积小、工作电压低、兼容I2C总线接口等特点。
通过SCCB总线控制,支持RawRGB、RGB(GRB4:2:2、RGB565/555/444)、YUV(4:2:2)和YCbCr(4:2:2)输出格式,可以输出整帧、二次转换分辨率、取特定区域等方式的各种分辨率的8位或10位的图像帧数据,UXGA (1632×1232)图像达到15fps。
波形采集、存储与回放系统设计摘要本设计是基于数字示波器的原理,以STM32-cortex-m3作为控制芯片,把波形采集分为A、B两个通道,对A通道的输入信号进行衰减,对B通道的输入信号进行放大,然后采用内部集成的高速AD对信号进行实时采样,方式为上升沿内触发,可以实现波形的单次和多次触发存储和回放显示,以及频率、周期、峰-峰值的测量和显示,并具有掉电存储功能。
由信号采集、数据处理、波形显示,控制面板等功能模块组成,整个系统分成A/D转换部分、D/A转换部分、波形存储部分、键盘输入控制四大部分,系统操作简便,输出波形可以在示波器输出显示,此存储示波器即具有一般示波器实时采样实时显示的功能,又可以对某段波形进行即时存储和连续回放显示,且界面友好,达到了较好的性能指标。
具体设计原理以及过程在下面章节中详细说明。
关键字:STM32、波形采集、波形存储、波形回放AbstractThe design is based on the principle of digital oscilloscope, withSTM32-cortex-m3 as the control chip, the waveform acquisition is divided into A, B two channel, the A channel input signal attenuation on B channel, the input signal is amplified, then using the internal integration of high-speed AD on real time data sampling, as rising edge trigger, can achieve waveform of single and multiple triggers the storage and playback and display, frequency, cycle, peak to peak value measurement and display, and power failure memory function. The signal acquisition, data processing, waveform display, the control panel and other functional modules, the system is divided into A/D transformation, D/A converting part, waveform storage, keyboard input control system four parts, simple operation, the output waveform can be output in the oscilloscope display, this storage oscilloscope namely has the common oscilloscope real-time sampling real time display function, can be a real-time storage and continuous playback waveform display, and friendly interface, has achieved good performance. The design principle and process are described in detail in the following sections.Keywords: STM32, waveform acquisition, storage, waveform waveform playback模拟路灯控制系统设计目录一、总体方案思路及其设计 (4)1.1、采样方式 (4)1.2、双踪示波器显示方式 (5)1.3、控制部分方案的设计 (5)1.4、显示方式 (5)二、系统理论分析与功能模块设计 (5)2.1 、最小系统及A/D,D/A电路 (5)2. 2、单元电路 (6)三、软件设计....................................................................................................错误!未定义书签。
3.1、软件流程...................................................................................................错误!未定义书签。
3.2:软件子程序.......................................................................................错误!未定义书签。
四、测试方案与测试结果................................................................................错误!未定义书签。
五、结束语 (10)附件1:系统程序 (10)一、总体方案思路及其设计1、根据题目要求进行相关指标分析根据题目要求A通道只是对单极性(高电平为4V,低电平为0V,频率为1KHZ)的信号进行采集、存储和连续回放;B通道需要对双极性(电压峰峰值为 100mV、频率为 10Hz~10kHz)的信号进行处理。
对信号的采集要通过前置电路接到AD转换器,把方波、正弦波和三角波的大小和周期转化成数字量让STM32-cortex-m3单片机进行处理。
对数据的存储和连续回放由单片机的内部程序来实现。
2、方案比较与分析1.1、采样方式方案一:实时采样。
实时采样是在信号存在期间对其采样。
根据采样定理,采用速率必须高于信号最高频率分量的两倍。
对于周期的正弦信号,一个周期内应该大于两个采样点。
为了不失真的恢复原被测信号,通常一个周期内就需要采样八个点以上。
由于实时采样对波形逐点进行采集,可以实时显示输入信号的波形因此适合任何形式的信号波形,重复或者不重复的,单次的或者连续的。
由于所采集的信息是按时间顺序的,因而易于实现波形的显示功能。
方案二:等效时间采样法。
采用中高速模数转换器,对于频率较高的周期性信号采用等效时间采样的方法,即对每个周期仅采样一个点,经过若干个周期后就可对信号各个部分采样一遍。
而这些点可以借助步进延迟方法均匀地分布于信号波形的不同位置。
其中步进延迟是每一次采样比上一次样点的位置延迟△t时间。
只要精确控制从触发获得采样的时间延迟,就能够准确地恢复出原始信号。
等效采样可以实现很高的数字化转换速率。
其基本原理就是通过多次触发,多次采样而获得并重建信号波形。
前提是信号必须是重复的。
等效采样通过多次采样,把在信号的不同周期中采样得到的数据进行重组,从而能够重建原始的信号波形。
等效时间采样虽然可以对很高频率的信号进行采样,可是步进延迟的采样技术与电路较为复杂。
再者,它只限于处理周期信号,而且对单次触发采样无能为力。
实时采样可以实现整个频段的全速采样,因此本设计采用方案一。
1.2、双踪示波器显示方式方案一:每个通道都有一套独立的ADC和存储器,双踪显示时,只需轮流选择不同通道的波形数据,就可以实现两路波形的同时显示。
方案二:只使用一片ADC,一片存储器和一片DAC,在采样的时候,用存储器地址的最低位控制模拟开关。
通过切换两路模拟信号,将采集到的数据分别存储到存储器的奇地址和偶地址上,双踪显示时通过扫描存储器中的数据即可将两路波形同时显示出来。
方案二使用的硬件电路较少,故我们选择方案二。
1.3、控制部分方案的设计方案一、单片机STM32Cortex-M3完成对其他各部分控制。
方案二、采用单片机STC90C51作为控制部分。
方案论证:方案一STM32Cortex-M3是一种高速/低功耗/性价比高的单片机可完成对其他各部分的控制。
内部具有强大的存储空间且能够实现各种复杂的控制功能。
方案二STC90C51的功耗比较大,数据传输速率比较低,要实现比较复杂的控制功能较困难。
故本设计采用STM32Cortex-M3单片机。
1.4、显示方式方案一、采用传统数码管作为显示。
方案二、采用液晶屏作显示。
方案论证:方案一采用数码管显示虽然控制简单,亮度大,价格便宜。
缺点是功耗较大,显示不清晰,操作不方便。
方案二液晶显示器则具有耗电少、配置简单灵活、安装方便、耐振动、使用寿命长、美观等优点。
同时可以显示菜单等复杂的界面,更易于操作。
本设计系统采用LCD显示器。
二、系统理论分析与功能模块设计2.1 、最小系统及A/D,D/A电路图1 2. 2、单元电路1)数据存储电路图 3 2)按键电路图43)电压比较器电路图5 3、12864显示五、结束语经过四天三夜的辛勤努力,本设计实现了题目的全部要求。
但由于时间紧,任务重,系统还存在许多可以改进的地方,比如电路布局、抗干扰性等方面还有很大的提升空间,经过改进,相信性能还会有进一步的提升。
本次竞赛极大的锻炼了我们各方面的能力,虽然我们遇到了很多困难和障碍,但总体上成功与挫折交替,困难与希望并存,我们将继续努力争取更大的进步。
参考文献[1] 周航慈.单片机应用程序设计技术.北京航空航天大学出版社[2] 胡汉才.单片机原理及其接口技术.清华大学出版社[3] 康华光.电子技术基础(数字部分).高等教育出版社,2001附件1:系统程序1602.c文件#include"1602.h"#include "delay.h"#include "stm32f10x_it.h"#define LCD_RS1 GPIO_SetBits(GPIOE,GPIO_Pin_3) // 指令数据选择#define LCD_RS0 GPIO_ResetBits(GPIOE,GPIO_Pin_3)#define LCD_RW1 GPIO_SetBits(GPIOE,GPIO_Pin_4) //#define LCD_RW0 GPIO_ResetBits(GPIOE,GPIO_Pin_4)#define LCD_EN1 GPIO_SetBits(GPIOE,GPIO_Pin_2) //#define LCD_EN0 GPIO_ResetBits(GPIOE,GPIO_Pin_2)void write_code(u16 a){LCD_RS0; // 写指令LCD_RW0; //写LCD_EN0;GPIOE->BSRR =(a<<8 )& 0xff00; //将数据送到P0口GPIOE->BRR = (~(a<<8)) & 0xff00;delay_ms(5);LCD_EN1;//送入1602delay_ms(5);LCD_EN0;}void write_data(u16 a){LCD_RS1; // 写数据LCD_RW0; //写LCD_EN0;GPIOE->BSRR =(a<<8) & 0xff00;//置GPIOD->BSRR低16位的某位为'1',则对应的I/O 端口置'1';而置GPIOD->BSRR低16位的某位为'0',则对应的I/O端口不变。