引言
单片机A/D采样数据值绘图分析是单片机系统调试过程中的一项重要工作。采样值通常以十六进制形式存储在片内RAM或Flash中,而现有单片机软件平台不具备将数据立即绘图的能力。本文提出了一种从存储器导出数据,并运用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所示。