|
|
| | -文章搜索 - 最新文章 - | |
基于AT90S8515单片机的瞬变信号捕获与存储器 |
| 发布时间:2006年5月19日 点击次数:740 |
| 来源: 作者:苏州大学(215006)徐大诚 |
摘要:介绍一种基于AT90S8515单片机的瞬变信号捕获与存储器。利用该单片机的高速性能,实现与高速A/D的连接,并将捕获信号由X轴、Y轴输出,显示在CRT上,同时实现数据的串口输出。 关键词:AT90S8515单片机 瞬变信号 捕获与存储 当代科学研究的许多领域中,常会遇到如何捕捉单次瞬变信号的问题。对于单脉冲信号捕获、周期信号频谱分析等高速数据采集系统,通常都采用DMA技术实现。不论是由PC机内的DMA控制器芯片实现,还是由单片机结合DMA技术实现, ·可捕获各种单次脉冲,最小脉宽可达1微秒。 ·可将捕获信号通过X轴、Y轴输出,在CRT上显示出来。 ·能实现超低频(1Hz以内)信号的稳定显示。 ·捕获信号的触发电平、宽度均可预置。 该系统已应用于RLC电路暂态分析测量系统。 1 AT90S8515简介 ATMEL公司新推出的0系列单片机,内含高速闪存FLASH,是基于增强精简指令RISC结构的单片机,简称AVR单片机。该系列单片机在吸收PIC及8051单片机优点的基础上,作了重大改进,性能十分优异。AT90S8515是AVR中比较典型的一种, AT90S8515引脚与MCS-51系列单片机的引脚兼容。有PA、PB、PC、PD四个8位并行口,其中PA、PC口具有I/O及AD总线功能,PB、PD口具有I/O及特殊功能复用特点;复位端RESET采用低电平复位,具有良好的抗干扰性能。AT90S8515运用Harvard结构概念,即对程序和数据带有不同的存储器和总线, 通过单一级的流水线可对程序存储器进行访问。当执行某一指令时,下一指令被预先从程序存储器中取回,这使得指令可以在每一个时钟周期内被执行,如图1所示。 AT90S8515有模拟比较器,它对正极PB2引脚(AIN0)和负极PB3引脚(AIN1)的输入值进行比较。当PB2端的电压高于PB3端的电压时,模拟比较器输出(ACO)为1。比较器的输出可独发定时器/计数器T1的输入捕获功能;此外,比较器的输出可触发一个独立于模拟比较器的中断,用户可以选择比较器输出上升、下降沿触发中断。其方框图如图2所示,由ACSR寄存器实现对该比较器的设定。 2 系统构成 系统构成如图3所示。采用AT90S8515单片机,输入信号经A/D转换后通过PA口送入单片机内的SRAM中,同时输入信号经PB3端引入到单片机的模拟比较器的负端,而该模拟比较器的正端(PB2)连到触发电平电位器。 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左右)信号,实现慢扫描示波器的功能。该系统具很高的性价比。 |
|
|
|
|
[自动控制] 相关文章: P89C51RD2的BootROM与ISP功能的实现简介: 摘要: 简单论述P89C51RD2的ISP和IAP功能,给出实现读取其Boot ROM源代码的硬件电路和程序;初步探讨ISP功能中的波特率的自动跟踪技术、命令字的接收格式和执行方式,给出部分源代码。 关键词: ...... DS80C320在高速数据采集中的应用 87C196MC与IPM模块组成的变频调速系统 KeilMonitor-51仿真板的制作与使用 单片机程序设计中运用事件驱动机制 |
|
|
|