基于AT90S8515单片机的瞬变信号捕获与存储器
2009-02-16
作者:徐大诚
摘 要:介绍一种基于AT90S8515单片机的瞬变信号捕获与存储器。利用该单片机的高速性能,实现与高速A/D的连接,并将捕获信号由X轴、Y轴输出,显示在CRT上,同时实现数据的串口输出。
关键词:AT90S8515单片机 瞬变信号 捕获与存储
当代科学研究的许多领域中,常会遇到如何捕捉单次瞬变信号的问题。对于单脉冲信号捕获、周期信号频谱分析等高速数据采集系统,通常都采用DMA技术实现。不论是由PC机内的DMA控制器芯片实现,还是由单片机结合DMA技术实现,其系统结构都比较复杂;若采用通用DSP芯片开发该类仪器仪表,造价过高。故此,研制电路简单、实用廉价的高速数据采集系统是很必要的。本瞬变信号捕获与存储器正是基于以上因素而设计的,它是由AT90S8515单片机直接控制TLC5510高速A/D实现高速数据采集,采样速率高达8MHz,具有如下功能:
·可捕获各种单次脉冲,最小脉宽可达1微秒。
·可将捕获信号通过X轴、Y轴输出,在CRT上显示出来。
·能实现超低频(1Hz以内)信号的稳定显示。
·捕获信号的触发电平、宽度均可预置。
该系统已应用于RLC电路暂态分析测量系统。
1 AT90S8515简介
ATMEL公司新推出的90系列单片机,内含高速闪存FLASH,是基于增强精简指令RISC结构的单片机,简称AVR单片机。该系列单片机在吸收PIC及8051单片机优点的基础上,作了重大改进,性能十分优异。AT90S8515是AVR中比较典型的一种,它用32个快速存取RISC寄存器代替累加器,避免了传统的累加器与存储器间的数据传送;可在一个时钟周期内执行一条指令来访问两个独立的寄存器,代码效率比常规CISC微控制器快十倍;片内具有8K字节的Flash ROM存储器,是8位单片机中第一种真正的RISC单片机。
AT90S8515引脚与MCS-51系列单片机的引脚兼容。有PA、PB、PC、PD四个8位并行口,其中PA、PC口具有I/O及AD总线功能,PB、PD口具有I/O及特殊功能复用特点;复位端采用低电平复位,具有良好的抗干扰性能。AT90S8515运用Harvard结构概念,即对程序和数据带有不同的存储器和总线,通过单一级的流水线可对程序存储器进行访问。当执行某一指令时,下一指令被预先从程序存储器中取回,这使得指令可以在每一个时钟周期内被执行,如图1所示。
AT90S8515有比较器" title="模拟比较器">模拟比较器,它对正极PB2引脚(AIN0)和负极PB3引脚(AIN1)的输入值进行比较。当PB2端的电压高于PB3端的电压时,模拟比较器输出(ACO)为1。比较器的输出可触发定时器/计数器T1的输入捕获功能;此外,比较器的输出可触发一个独立于模拟比较器的中断,用户可以选择比较器输出上升、下降沿触发中断。其方框图如图2所示,由ACSR寄存器实现对该比较器的设定。
2 系统构成
系统构成如图3所示。采用AT90S8515单片机,输入信号经A/D转换后通过PA口送入单片机内的SRAM中,同时输入信号经PB3端引入到单片机的模拟比较器的负端,而该模拟比较器的正端(PB2)连到触发电平电位器。SRAM中存放的采集数据从PC口送出经74LS273锁存后由D/A输出至Y轴。PC口亦送出X轴扫描信号,该信号通过另一片74LS273锁存后经D/A输出至X轴,如图4所示。每片锁存器的锁存是通过对PD6端的置位、复位而产生高低电平切换时的上升、下降沿触发实现的。通过PD0、PD1端与MAX232连接,由MAX232扩展出RS232串行通信口,该口可把每次采集的数据送入PC机。通过PB、PC口亦设计了采集时长调整等控制界面。
3 硬件组成
·单片机芯片
采用ATMEL公司的AT90S8515,片内有8K字节FLASH ROM和512字节SRAM。设计使用工作时钟频率为16MHz,可以有60纳秒以下的指令周期。
· A/D转换器
采用TI公司的TLC5510芯片,转换精度8位并行输出,采集速率为20MSPS。采用模拟比较器触发中断,触发定时器T1,确定采集时长。
· 静态RAM
静态RAM采用片内512字节SRAM。
· 串行口电路
采用MAXIM公司的MAX232扩展出串行通信口。
·D/A转换器
采用NS公司的电流输出型DAC0832芯片,其电流稳定时间为1微秒。它把74LS273的锁存数据经数模转换后在X轴、Y轴输出。
4 工作原理
4.1 脉冲信号的捕获
单片机系统开机运行后,根据捕获信号的幅度大小,调整好捕获触发电平的值,再调整好捕获时长。当信号的幅度高于触发电平时,通过AT90S8515的模拟比较器产生中断请求,触发启动A/D转换器,并通过PA口将转换结果存入片内SRAM内。A/D转换的采样时间长短是由定时器T1的初始值设定,T1的时长可通过控制界面设定在20μs~1s之间,这样就保证了瞬变信号能完整捕获。
4.2 采样数据的存放
每次A/D转换后的数据存放在片内512字节RAM中。利用512字节中的400字节作为存放A/D转换的数据区。定时器T1确定的采样时长是由操作界面设定的,当在1s采样时,采集400个点数据;1ms时采集200个点;20μs时采集数据的点数为100个点。根据采样定理与实际情况,若以采样5个点就可分辩出一个信号的特征计算,当采集时长设定在20μs、采集100个点时,可分辨、捕获瞬变信号的细微脉宽在1μs以下。实际运行结果也验证了这样的分辨率。
4.3 X轴、Y轴输出
为了实现捕获信号的观察与测量,将X轴、Y轴输出送至普通示波器的示波管后瞬变信号就能稳定地显示出来,这时也能稳定观测超低频(小于1Hz)信号。X轴信号由R16、R17自动累加产生,其值的变化范围为0~400。捕获时长是1s、1ms、20μs,采集的数据长度分别为400、200、100个字节时,寄存器R16、R17的累加步长应为1、2、4。这样就实现了X轴扫描信号与Y轴捕获信号显示的线性性。X轴、Y轴信号的读出由T0定时器通过中断触发,其读出速度由T0定时器的时长确定,本系统选取1kHz的读出速度,且T1的中断优先级高于T0。这样就保证了信号捕获时段不受XY输出的干扰。捕获信号也可通过PD0、PD1端扩展的串口传送至PC机内进行进一步分析。
5 软件设计
AT90S8515单片机有32个通用寄存器,在程序设计时很灵活地使用了R0~R31寄存器,实现了程序设计结构简单、目标代码少(小于2K字节)的目的。主程序流程图见图5。利用本设计研制的瞬变信号捕获与存储器达到了预先的指标。可用普通示波器的示波管观察所捕获信号的特征;同时也可方便地观察超低频(1Hz左右)信号,实现慢扫描示波器的功能。该系统具有很高的性价比。
参考文献
1 耿德根,宋建国.AVR高速嵌入式单片机原理与应用.北京:北京航空航天大学出版社,2001
2 Texas Instruments INC. TLC5510 User's Manual.2000