本帖最后由 Flower1 于 2018-4-3 11:15 编辑
单片机的存储器数据绘图设计
本文提出了一种从存储器导出数据,并运用MATLAB进行数据进制转换、绘图的方法,绘制的图形能很好地复现模拟信号源信号,对单片机调试分析具有一定帮助。
1 理论分析
A/D转换器是连接模拟信号与数字信号的桥梁,现有单片机芯片通常都内置有ADC模块,A/D采样值通常以字节的形式存储在片内存储器中。对RAM或Flash中的A/D采样数据绘图,调试过程中先在存储结束处设置断点,然后把存储的数据以记事本形式导出到PC,设计MATLAB软件将记事本中的十六进制数据转换为十进制处理,最后绘图。将绘制图形和示波器测试模拟源图形进行比较,检验绘制的图形能否准确地复现原始信号。
2 系统硬件设计
系统结构框图如图1所示。整个系统以MSP430单片机为核心进行设计,该方法对其他16位单片机具有通用性。系统由片内A/D转换器进行采样并存储到RAM区,然后设置调试断点,借助IAR调试平台将数据以字节形式存储至PC,经过MATLAB转换成十进制数据,绘图分析,并与示波器测量的模拟信号源的波形进行比较。
本系统采用TI公司的单片机MSP430F5438作为本系统的核心,其特点如下: ◆精简指令集CPU内核。 ◆12位的片上SAR ADC,可编程转换速率最高为200 kbps。 ◆16 KB内部数据RAM和256 KB Flash存储器。 ◆3个带比较捕获功能的16位计数器、SPI及4个通用串行通信接口。 ◆功耗低,活动模式下达165μA@8 MHz,多种节电休眠和停机方式。
3 系统软件设计
3.1 A/D采样存储程序
本系统选用A/D模块设置查询工作方式,采样率配置为4 ksps,转换分辨率为12位,内部参考电压为2.5 V。由于工业现场环境恶劣,采集到的信号没经过处理往往不能直接用,因此对采集到的A/D值进行均值滤波处理,防止采样值抖动。采样值每16个值作均值处理,存储至RAM区起始地址为3000H的区域。存储157个数,数据存储完毕后转入其他数字信号处理流程。A/D采样存储程序流程如图2所示。
通过IAR调试平台运行程序,设置断点,将存储到RAM的数据以记事本文件存入PC,数据格式如图3所示。数据以字格式存储,即两个字节为一个A/D转换值,低字节在前,高字节在后。
3.2 A/D采样值数据格式转换绘图程序
运用MATLAB软件对数据格式进行转换并绘图,绘制的图形如图4所示。直接测量模拟信号源的示波器截图如图5所示。
通过比较图4和图5可以发现,经过A/D采样数据转换的值能正确复现原始模拟信号。该设计方法不但弥补了单片机调试平台对存储器内数据不能直接绘图的不足,而且能缩短单片机系统调试周期,为后续数字信号处理打下了基础。
结语
本文讨论了单片机调试过程中对存储在RAM或Flash的A/D采样数据进行绘图处理的技术,弥补了单片机调试平台存储区数据不能直接绘图的不足。以MSP430单片机为例进行了测试,测试结果表明该设计方法在工程实践中是可行的,具有较高的实用价值。
|