基于单片机波形采集存储和回放系统
2013-10-27司元雷
张 莹, 司元雷, 张 进
(江苏建筑职业技术学院信息与电子工程学院,江苏 徐州 221116)
0 引言
传统的示波器只能显示信号波形信息,而对于某些某些场合常常需要将单次波形记录下来,实现断电后还能将波形输出。随着微电脑的广泛应用,实现波形的采集、存储和回放输出变为现实[1],本文介绍利用 C8051F020微控制器组成波形信号存储、回放系统和通用的示波器连接起来,构成一个波形采集、存储、回放和显示系统,实现示波器的智能化。
1 C8051F020微控制器和FM25L256存储器
C8051F020微控制器,它的指令以时钟周期为运行单位,大大提高了指令的运行速度,同时也具有高精度的A/D、D/A转换功能,一个增强型SPI接口,每种串行总线完全用硬件实现,都能向CIP-51产生中断。C8051F020有两个 ADC,分别是 12位的ADC0和8位的ADC1,ADC0的最高转换速度为100 k/s,由于第二路输入信号为小信号,需要精确采样。因此选择ADC0来转换信号。
FM25l256是串行铁电随机存储器(FRAM,Ferroelectric Random Access Memory)。其内部结构存储形式为 32K×8位,地址范围为 00000H~7FFFH,采用 16位地址寻址方式,SPI总线方式。FM25L256支持SPI方式0和方式3,具有先进的写保护设计,包括硬件保护和软件保护双重保护功能。FM25L256的数据读写速度能达到25 MHz,可以与当前的告诉RAM相媲美,并具有传统的非易失特性[2]。
由于输入信号频率为 10~10 kHz,最高频率为10 kHz.根据采样定理,为保证回放不失真,在一个周期内必须采两次信号。因此采样频率最大于等于20 kHz,对于本设计,采样频率设置为50 kHz。
2 系统总体结构框图
本系统可以完成两路信号的采集、存储和回放功能。一路为单极性信号,另一路为小信号双极性信号。
系统以C8051F020核心,通过C8051集成的A/D和 D/A完成信号的模数和数模转换[4],正弦波方波或者三角波送入输入电路,完成波形信号波形双单极性的转换,小信号波形的信号放大,目的使信号能够与C8051单片机的A/D转换的信号相匹配[5-6]。完成处理后送入C8051单片机,单片机对键盘电路扫描,完成信号的采集,存储,回放,同时通过液晶显示器显示波形的高低电平及周期[7],经波形输出电路,完成信号的逆处理,输出显示波形原始信号。系统结构框图如图1所示。
图1 系统结构总体框图
3 各单元电路
3.1 单极性信号输入输出电路
由于C8051F020的A/D只能采集0~2 V的电压,因此要对输入信号进行分压,经分压处理后经过电压跟随器输出,得到的信号电压控制在0~2 V,采用电压跟随器,可以增加电路输入阻抗,降低输出阻抗。如图2所示。
图2 单极性信号输入电路
经过C8051F020的D/ A输出来的信号送入运放的同向端,经同相比例运放电路输出,,恢复出原始的信号[8],如图3所示。
图3 单极性信号输出电路
3.2 双极性小信号输入输出电路
由于双极性信号只有100 mV,非常小,为了保证信号能够采集到,首先要对信号进行放大,采用反相比例放大电路对其放大10倍,同理,在信号输出来时,也采用比例放大电路对其缩小 10倍,如图4所示。
图4 双极性信号输入电路
C8051F020的AD转换的参考电压是2 V,输入为单极性信号,而系统信号为双极性信号,为了保证能将信号无损失的采集,将信号抬高至1 V附近,图中,运算放大器的反向端输入为放大10倍双极性小信号,同相端为+5 V的直流电压,经过R5,R6,R3,R4分压之后,R6的电压为1 V,R 6为可调电阻,R6=13.3 kΩ,运放电路和电阻原件构成差分电路Uo=-U1+1,这样可以无失真的进行信号的采集。如图5所示。
经C8051F020的D/ A输出来的信号经过电压跟随器电路,通过电容滤波,滤掉直流分量。
3.3 存储电路
由于FM25L256与其他标准SPI设备一样,可以直接挂在 SPI总线上[3],因此需要额外的片选信号CS,同时也可以通过HOLD控制线达到暂停操作。/WP引脚接高电平不进行硬件写保护,SI信号为串行数据输入,SO为串行数据输出,SCK为串行数据输入时钟。连接图如图6所示。
图5 双极性信号输出电路
图6 MCU与存储器的连接图
4 软件设计
系统上电后,首先完成一些列初始化,包括时钟初始化,I/O口输入输出的设置、SPI的两个控制寄存器的初始化以及开中断允许等。然后从I/O口检测各个按键的状态,当有按键时,进入采集程序,采集结束后,发采集结束信号,置工作标志,进入输出显示程序。同理,如果检测到存储按键按下,通过SPI接口的写入操作,对存储器进行相应的写入操作;断电后,重新进行上电,进行初始化和检测,按下回放键,单片机对存储器进行读操作,结束后,置工作标志,进入显示程序。总体流程图如图7所示。
图7 系统总体流程
5 结语
单片机数据采集、存储和回放系统对于各种周期信号和单次信号可重复稳定的显示,同时可以实现信号的存储和回放,增强了传统示波器的功能,使其性能进一步得到完善,实现了以往难以实现的功能,对于仪器的智能化,具有一定的意义。
[1]黄晓林,马庆卫.在通用示波器上实现波形记忆功能[J].电气应用,1987(07):4-7.
[2]周欣.铁电存储器在风速仪中的应用[J].电器电子教学学报,2009,31(03):62-63.
[3]RAMITRON.FM25L256256KB FRAM Serial 3V Memory Datasheet[M].USA:[s.n.],2005.
[4]王浩,李希友,秦同杰.多通道同步数据采集与处理系统的实现[J].通信技术,2011,44(01):145-147.
[5]汤德荣.浅谈多路数据采集与通信系统设计方案[J].通信技术,2010,43(02):95-97.
[6]吴宇佳,浦伟,周妍,等.Linux下多线程数据采集研究与实现[J].信息安全与通信保密,2012(07):92.
[7]汤德荣.基于 PCI总线的双通道数据采集系统[J].信息安全与通信保密,2010(06):57-59.
[8]胡宴如.模拟电子技术[M].北京:高等教育出版社,2008:225-234.