一种微型存储测试系统的设计
扫描二维码
随时随地手机看文章
摘要:在进行某武器系统检测时,由于受测试空间和测试环境的限制,难以利用传统测试仪器检测。为解决这一问题,设计了一种基于MSP4 30单片机的微型存储测试系统,有效利用单片机内置的多种资源解决系统微型化的关键问题;采用大容量存储器实现系统的大数据量本地存储;通过对系统采样存储策略的优化设计,确保了数据的完整性与准确性;开发了基于LabWindows/CVI的上位机处理软件。实验结果表明,该系统稳定可靠,能够准确有效地进行信号采集与存储,并获取相应参数。
关键词:存储测试;MSP430单片机;大容量存储;LabWindows/CVI
在空间受限、环境恶劣和无法实时传输数据的情况下,传统测试技术受到很大限制,必须使用存储测试方法。该方法是在不影响被测对象或影响在允许范围内的情况下,将微型存储测试系统置入被测体内,现场实时完成信息的快速采集与存储,并回收存储器,由计算机处理,再现被测信息的一种动态测试技术。本文设计的微型存储测试系统是基于MSP430F149单片机,结合大容量串行FLASH存储器Multimedia Card(MMC),通过对单片机内部资源的优化利用、外设的开发、采样与存储策略设计,实现了系统的微型化、低功耗、多路数据采集和大数据量本地存储设计。针对该系统开发了基于LabWindows/CVI的专用测试平台,用于对收回数据进行分析处理,有效解决了在测试空间和环境受限的情况下对该武器系统的测试问题。该系统理论上可以对多达16×8路模拟量进行采集、处理和存储,并可继续开发为具有故障诊断性质的存储测试系统。
1 系统总体方案设计
微型存储测试系统总体结构如图1所示。它由外部传感器、多路模拟量采集电路、大容量存储器、MSP430F149单片机以、各接口电路以及外围辅助电路组成。不同的被测信号经调理后经模拟量多路开关MAX396输入单片机,利用内置AD模块转换成数字信号,交由单片机进一步处理。存储测试系统的存储模块主要有两部分组成,即单片机内部的FLASH ROM和外部MMC卡,分别用于存储被测武器系统初始状态的数据和执行任务状态的数据。系统通过RS 232接口电路与上位机进行通信,接收上位机传来的控制指令,并可将采集结果上传至上位机进行相关数据处理。
2 系统各模块设计
2.1 数据采集模块设计
数据采集系统以MSP430F149单片机为核心,MSP430F149的A/D模块ADC12的内核是一个带有采样与保持功能的12位转换器,采样所得结果具有12位转换精度,1位非线性微分误差,1位非线性积分误差。模块内部的参考电压发生器,同时有1.5 V和2.5 V两种参考电压值可供选择。为获得较高的精度,故选用2.5 V内部参考电压,基准电压负端为地电平。输入模拟量VIN与转换结果NADC之间的关系为:
根据测试任务,需要掌握两方面数据资料。一是被测武器系统进入执行任务状态前的系统状态;二是被测武器系统处于执行任务状态时的系统状态。为了有效提高了单次测试的可靠性,最大限度提高了系统的可利用性,提出分别采用正负延迟触发的采样策略,将这2种信号触发方式分别作为两路信号采集的触发信号。图2为该采集方法的电路原理图。
图2中通路1用来采集被测武器系统进入执行任务状态前的系统状态各项数据,采用了正延时触发方式,其触发信号由外部中断控制电路给出。外部中断控制电路可以很方便地通过两个电阻串联来实现,如图3所示。引出电阻R2与地线之间的连线作为中断控制线,并将其固定于运动机构。当被测武器系统启动时,运动机构拉断中断控制线,中断控制电路产生一个上升沿的中断信号,微控制器捕捉到中断信号后立即开始对通路1进行信号采集。通路2用来采集被测武器系统处于执行任务状态中的系统状态各项数据,采用负延迟触发方式,由被测信号触发,通过比较采样值的大小是否达到所设阈值来控制采样过程。当通路2所测值的大小超过预设阈值时,微控制器捕捉到中断信号后立即开始对通路2进行信号采集。这两路采集通路的选通是由单片机控制模拟量多路开关MAX396实现的。根据此采样策略进行数据采集,保证了测试数据的完整性。
为了保证采集数据的准确性,对同一通道连续采集8次,然后对A/D转换结果用中位值平均滤波算法进行处理,即首先用中值滤波算法滤掉采样值中的脉冲干扰,再把剩余的各采样值进行递推平均滤波,即得到一个极为准确的数据。
2.2 教据存储模块设计
系统数据存储模块主要有内部FLASH ROM和外部MMC卡2部分。由通路1采集的数据存入FLASHROM。当中断信号出发时启动片内A/D,对输入的模拟信号进行转换,转换的结果存入FLASH ROM。同时启动计数器,计数器溢出表明存储器已满。这时由FLASH控制寄存器控制,对最先写入的数据进行整段清除(对FLASH存储器的擦出必须整段进行),然后将其它段数据依次上移,通路1继续进行数据采集,经A/D转换的结果存入最底段。当再次产生溢出中断时,将最上段数据清除,然后其它段数据再次依次上移。如此循环,直至被测信号发出中断,通道1关闭,通道2打开。这样被存入FLASH的数据是被测武器系统进入执行任务状态前的系统状态数据,完成第一项测试任务。由通道2采集的数据存入外部MMC卡,其容量为1 GB。使用MMC卡进行数据存储,必须严格遵守一定的时序。首先,要使MMC卡进入SPI时序模式,必须进行初始化,由于对MMC卡的写操作是以块为单位进行的,每块的大小为512 B,因此在进行数据写入操作时,必须先判定该地址是否为512的整数倍以及随后可写的长度。数据写入MMC卡的具体流程如图4所示。
2.3 接口模块设计
2.3.1 MSP430F149与MMC卡接口设计
MMC卡读写端口可以在MMC和SPI两种通信协议下工作。MMC协议为默认协议,传输速度较快,但协议复杂;SPI协议为可选协议,传输速度相对较慢,但简单易用、可靠性高,且MSP430F149自带SPI通信模块,接口方便,故本设计采用SPI通信协议。MMC卡与MSP430F149的连接是将相应的串行总线连接至MSP430F149的SPI总线上,连接方法如图5所示。
2.3.2 串行通信接口设计
MSP430F149单片机内部含有2个异步串行接口,与传统的串行通信相比,它可以用低时钟频率实现高速通信。它除了分频因子寄存器外,还有1个分频因子调整寄存器。
利用分频因子加以调整的方法,使每一个字节内各位有不同的分频因子,以对每位数据利用3次采样多数表决的方法取值,在低时钟频率时实现高波特率通信。RS 232与单片机之间的电平逻辑关系不同,因此采用MAX3221芯片在单片机与RS 232之间进行电平和逻辑关系的双向转换,如图6所示。设计的RS 232通信接口,帧格式为8位数据位,1位停止位,无奇偶校验,波特率设为9 600,实现了系统测试数据的传输。
3 实验验证
针对该微型存储测试系统,开发了基于LabWindows/CVI的专用测试平台。为验证系统的准确性和可靠性,采用频率成分复杂的扫描频率信号作为模拟信号源,进行采集与存储。实验结果如图7所示,符合理论结果,达到设计要求。
4 结语
该微型存储测试系统充分利用MSP430F149单片机片内资源,结合外部大容量存储器,实现了系统的微型化设计和大数据量本地存储。优化的采样存储策略确保了数据的完整性和准确性。实际应用表明,该系统具有体积小、功耗低、性能稳定、可靠性高等优点,较好的满足了测试任务的需要。