双路信号采集存储装置.docx

上传人:b****6 文档编号:6966292 上传时间:2023-01-13 格式:DOCX 页数:15 大小:311.50KB
下载 相关 举报
双路信号采集存储装置.docx_第1页
第1页 / 共15页
双路信号采集存储装置.docx_第2页
第2页 / 共15页
双路信号采集存储装置.docx_第3页
第3页 / 共15页
双路信号采集存储装置.docx_第4页
第4页 / 共15页
双路信号采集存储装置.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

双路信号采集存储装置.docx

《双路信号采集存储装置.docx》由会员分享,可在线阅读,更多相关《双路信号采集存储装置.docx(15页珍藏版)》请在冰豆网上搜索。

双路信号采集存储装置.docx

双路信号采集存储装置

双路信号采集存储装置

 

研制报告

 

组员:

张志刚武甜甜王永刚(19组)指导教师:

李北明

摘要:

提出一个基于TMS3205402的信号采集与处理系统。

介绍了该系统的总体方案和硬软件设计。

讨论了模/数(A/D)和数/模(D/A)转换电路的设计方法以及如何利用TMS3205402的多通道缓冲接口来实现信号的采集和输出。

实验证明。

所设计的基于DSP的硬件和软件系统是一个很好的信号采集与处理系统。

关键词:

双通道缓冲信号TMS3205402采集系统

1.设计任务

1.1设计任务

●制作一台双路信号采集存储装置,双路信号实时采集

●被采集信号频率成分1KHz~10KHZ

●被采信号为正弦波和方波

●双路信号记录长度8个周期

●有信号回放功能

●显示被采信号波形

●打印、上传等功能自定

1.2技术指标

●双路信号实时采集

●频率成分1~10KHZ,即采集范围在1~10KHZ

●信号记录长度8个周期,信号可回放

1.3题目评析

双路数字信号采集系统要将双路模拟信号进行数字存储并由普通示波器将被测信号显示出来(普通示波器在测试过程中只进行波形显示,不得进行操作和调整)。

由于采用的是数字化的存储方法,而被测信号属于模拟信号,所以需要对被测信号进行调理、量化并将其数字信号(量化的结果)存入(或称为写入)数据存储器;而后再进行显示时从存储器读出数据并恢复为模拟信号,作为普通示波器的Y通道输入,同时还要对通用示波器的X通道加入合适的扫描信号,才能够将被测输入信号显示在其荧光屏上。

为此,此设计的双路数字信号采集系统应该具有A/D、RAM、D/A等主要器件,以便对被测信号进行量化、存储和恢复。

题目要求对双路信号实时采集,被采集信号频率成分1~10KHZ,被采信号为正弦波和方波,双路信号记录长度8个周期,有信号回放功能。

所以该系统要求CPU运算器的速度要很快,在留有软件编程余地的考虑下,操作速率要求在100MIPS左右,故对核心CPU的选择很重要。

在上述分析之后,初步拟定双路数字信号采集系统的组成框图,如图1所示。

在此需要说明一点:

为了变故分析和讨论问题,本设计中将基本要求和发挥部分在可能的情况下做适当的添改。

一、方案比较与论证

根据题目要求,我们初步考虑以下三种方案可供选择:

方案一:

采用大规模集成电路实现(例如复杂可编程逻辑器件CPLD)

  如图2所示,选用可编程逻辑器件作为系统的核心部件,实现控制与处理的功能。

大规模集成电路资源丰富,其间工作速度快,为ns量级。

利用其丰富的门电路,内部高速存储器(RAM)和只读存储器(ROM)及其引脚资源,外接模数转换器(ADC)、数模转换器(DAC),点阵液晶显示器(LCD)等双路信号采集的基本功能。

但此方案有很大局限性:

1、硬件的量大。

2、设计复杂而且难度大,不易实现,可能会影响完成任务的进度。

3、可编程逻辑器件的芯片成本比较昂贵。

综上所述,这种方案只适用于对可能批量生产的项目使用,用于复杂功能设计。

方案二:

仅采用高速SOC单片机作为核心部件的方案

如图3所示,选用一片高速SOC单片机作为系统的核心部件,实现控制与处理的功能。

单片机具有资源丰富、速度快、编程容易等优点。

利用单片机内部的随机存储器(RAM)、只读存储器(ROM)、模数转换器(ADC)和数模转换器(DAC)及其引脚资源,外接点阵液晶显示器(LCD)等双路信号采集的基本功能。

但此方案也有局限性:

1、单片机虽然已经很普及,但高速单片机可选型号却很少,找这样的单片机较难购得。

2、高速SOC单片机开发工具价格昂贵。

3、如果采用流行的普通MCS-51系列8位单片机,其工作的速度取决于其机器的周期,目前12MHZ是中单片机的机器周期为1us,不能胜任1MHZ采样速率。

综上所述,这种方案只能用于对专用芯片的开发应用上。

方案三:

采用数字信号处理芯片(DSP)作为核心部件的方案

  

如图4所示,选用DSP作为系统的核心部件,实现控制与处理的功能。

DSP的突出优点是指令执行速度快,完全可以取代单片机完成信号采集任务,对于本设计要求,例如,完成1~10KHz信号采集,从键盘输入选择采样频率,选择信号调理电路的增益;将存储的数字信号进行数据处理并恢复为模拟信号进行显示,等等,DSP均能完全胜任。

虽然DSP的价格偏贵,但随着DSP的普及,其参考资料和其成熟度几经很高,相对前两种方案具有较高的可行性。

综合以上:

为满足系统设计要求和方案实施可行性,对比三种方案的优缺点,充分考虑系统的需要,我们决定选取方案三,即采用数字信号处理芯片(DSP)作为核心部件的方案。

第二章系统硬件设计与软件实现

第一节系统总方框图设计

由前述方案论证,对于DSP控制的直接数据传输系统实现方案我们作如下图:

输入信号首先经缓冲器被送到A/D转换器,ADC在DSP的控制下工作,将采集到的数据一方面送到RAM中存储,另一方面送往DAC输出至示波器,作为Y轴信号。

X轴输出信号由PDSP内部的一个加一计数器产生,ADC的转换完成中断信号,加一计数器的计数脉冲,ADC每次转换结束时将X轴扫描地址加一。

DSP内部的另一个加一计数器,产生RAM读写的地址,在单片机的控制下,可以将采集到的数据存储在RAM中的400个存储单元中,并且可以回显RAM中任意起点的200个存储单元中的数据。

在DSP的控制下提供ADC的启动信号,置入不同的初值,可改变ADC的采样率。

输入信号采集的起始点受同步信号产生电路产生的同步脉冲控制,当DSP检测到由同步信号产生电路送来的同步脉冲时,才使ADC工作,同时屏蔽此同步中断信号,直到一帧(400点)数据采集完毕才再次开放此同步中断,为下一次采集与显示做准备,采用此技术,可以让信号稳定的显示在示波器上。

另一方面,DSP通过控制中断的初值来控制着系统的采样率,从而选择适应的频率输入信号,使信号在示波器以合适周期范围显示;第三方面,DSP控制计数器不同的起始地址,决定存储数据的显示,从而实现显示信号的水平扩展;第四方面,DSP通过控制程控基准源,改变ADC的参考电压,来决定系统的垂直灵敏度;从键盘输入的控制命令和在LCD显示的系统状态信息,也是由单片机来控制的。

可见,在此系统中,DSP起着中心控制器的作用,用以协调各功能电路的工作.

第二节各功能电路的硬件设计

一缓冲器电路设计

图五

缓冲器主要用于提升本系统的输入阻抗,我们选用运算放大的同相输入电压跟随电路(如图五示),采用此技术可以将输入阻抗提升到1000MΩ以上,在运放的选型上考虑到信号带宽的要求,我们选用宽带低噪放大器LF353。

二同步信号产生电路设计

同步信号产生电路主要用于产生同步脉冲,我们选用运算放大器构成的电平比较器来实现(如图六示),为了适应不同信号幅度,我们将此比较器的比较基准电压设为可调,并将调节电位器至于仪器面板上,调节此电位器即可使信号稳定的显示在示波器上。

为了和单片机接口我们还在这一级的后面增加了电平变换级。

一、ADC电路设计

图七

ADC电路用于完成模数转换,对于本系统要求,我们选用了最高采样频率为MHz的ADC芯片AD9280.芯片资料外围电路如图七示。

四、手控基准源设计

手控基准源主要是为AD提供可变的参考电压,以适应不同幅度的输入信号,改变系统的垂直灵敏度,应用此技术可以降低系统对前端电路的要求(如带宽、增益)。

精密单运放构成,电路详见图八。

图八

五、DAC电路设计

DAC电路主要用于数模转换,对于本设计要求,我们选用了转换速率为100MHz的DAC芯片AD9762。

基本的时钟信号可以来自CPU时钟,也可以来自晶振时钟,这在SRGR2寄存器中的第13位设置。

基本时钟输入后,经CLKGDV(SRGR1的第7位到第0位)所设置的值进行第一次分频,得到位时钟信号(由BCLKX1脚输出)。

值得注意的是,位时钟信号最高为DSP频率的一半。

位时钟信号经FPER(SRGR2的第11位到第0位)和FWID(SRGR1的第15位到第8位)所设置的值进一步分频得到采样时钟信号(由BFSX1脚输出),FPER和FWID分别设置采样时钟信号的低电平和高电平的时间值。

图九,图十外设.时钟如图十一.

 

图九

图十

图十一

六、DSP电路设计

作为DSP高性价比代表的16位定点DSP芯片,'C5402适用于信号采集等实时嵌入应用场合。

与其它'C54X芯片一样,'C5402具有高度灵活的可操作性和高速的处理能力。

其性能特点如下:

操作速率可达100MIPS;具有先进的多总线结构,三条16位数据存储器总线和一条程序存储器总线;40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器;一个17×17乘法器和一个40位专用加法器,允许16位带/不带符号的乘法;整合维特比加速器,用于提高维特比编译码的速度;单周期正规化及指数译码;8个辅助寄存器及一个软件栈,允许使用业界最先进的定点DSPC语言编译器;数据/程序寻址空间为1M×16bit,内置4K×16bitROM和16K×16bitRAM;内置可编程等待状态发生器、锁相环(PLL)时钟产生器、两个多通道缓冲串口、一个与外部处理器通信的8位并行HPI口、两个16位定时器以及6通道DMA控制器且低功耗。

与'C54X系列的其它芯片相比,'5402具有高性能、低功耗和低价格等特点。

它采用6级流水线,且当RPT(重复指令)时,一些多周期的指令就变成了单周期的指令;芯片内部RAM和ROM可根据PMST寄存器中的OVLY和DROM位灵活设置。

这些都有利于算法的优化。

'5402采用3.3V和1.8V电源供电,其中I/O采用3.3V电源供电,芯片的核采用1.8V电源供电。

而实际常用的只有5V电源,所以必须采用电源转换芯片。

选用TPS7301和TPS7333两块电源转换芯片(它们都是TI公司为配合DSP而设计的电源转换芯片),分别接上适当的外围电阻,构成电阻分压器,即可调整两块芯片的输出电压分别为3.3V和1.8V。

八、稳压电源设计

为了减小电压纹波和降低成本,同时考虑到本系统对电源效率要求不高,我们采用集成三端稳压电源形式。

电路详见图十二。

图十二

 

第三节系统软件设计

一、DSP软件设计

软件部分主要包括DSP编程。

DSP程序的主要任务是初始化、管理板上的资源和完成信号的处理算法,可参考有关资料。

PC编程重点则是管理DSP操作和应用层软件编写。

3.1A/D与D/A程序设计

为了在1kHz-10kHz的频段获得优良的信号输出,A/D和D/A的采样频率应该达到48kHz。

要正确编写采样和输出信号的程序,必须对'5402的McBSP相关寄存器(spcr1,spcr2,rcr1,rcr2,xcr1,xcr2,srgr1,srgr2,mcr1,mcr2,rcera1,rcerb1,xcera,xcerb,pcr1)进行正确的设置[1],以满足'C5402和AD9280,AD9762的各种时序要求(位同步、帧同步、时钟信号等)。

为了使TOUT能给外围器件提供时钟信号,就设计到DSP的定时和中断操作,同步中断入口之选择AD采集,然后储存,在输出。

3.2DSP和键盘、液晶显示器的编程

DSP程序首先初始化'C5402和LCD。

在分配好相应的缓冲区和产生相应的中断之后,进行信号处理算法,扫描键盘,然后送出显示,返回扫描,在送出不断的循环.

首先建立起DSP的中断系统,使能信号、采样率数据和回显存储数据时加一计数器所需的计数脉冲。

Dsp承担接收同步中断、查询键盘、通过液晶显示屏显示系统状态的任务。

DSP主要通过两个外部中断控制数据采集,所以中断的处理是关键。

在DSP主程序中,只有扫描键盘和送出显示两个模块,两个外部中断用来指示采集一帧数据的起止点。

当DSP接收到同步中断信号(帧起始信号),启动ADC,内部的分频器,开始一帧数据采集;当DSP接收到溢出中断信号(帧终止信号),便将加一计数器复位,等待下一帧同步中断的到来,开始下一次采集。

从整个程序来看,两个中断处理程序是互索的,并且互为条件,不会发生冲突。

这时DSP处于连续触发方式下工作,当按下存储按键,单片机在当前帧数据采集完毕时,使ADC停止工作,由DSP加一计数器的脉冲,循环回显RAM中的数据(RAM始终处于工作状态,将每一帧数据都保存起来,但后一帧覆盖了前一帧)。

当DSP工作在单次触发方式下时,同步中断被立刻打开,在满足触发条件时,进行一帧数据的采集,并循环回显此帧数据。

程序流程见图十三。

图十三

 

第三章系统组装与调试

第一节系统组装整的电子仪器除了需要好的电路和软件设问题我们也做了相应的考虑。

整个系统按功能分别做于二块电路板上——电源板和采集板。

仪器前面板见图十四。

 

 

附录一:

源程序

DSP部分源程序

;************************

;双路信号采集系统

;***********************

AD.c

Filename:

ADCINT.C

#include“lh092.h”

#include“f5402regs.h”

#defineADF1MASK0x18

voidmain(void)

{

intI;

unsignedinttemp;

InitCPU();

disabie();

watchdog_reset();

IFR=0xffff;

IMR=0X20;

ADCTRL1=0XAE00;

ADCTRL2=0X005;

enable();

while

(1){for(I=0x800;I<0xfff;i++)DAX=i}

voidinterruptINT6_ISR()

{

unsignedinttemp;

if(SYSTVR==0X)

{

while(!

(ADCTRL2&ADF1MASK)){};

TEMP=ADCFIFFO1;

DAY=TEMP>>5;

}

}

DAC1.C

Fileneme:

DA1.C

#include“lh092.h”

#include“f5402regs.h”

intI;

voidmain(void)

{InitCPU();

whine

(1)

{for(i=0;i<4096;i++){DAX=i}

for(I=4096;i>0;I--){DAX=i}

}

附图一:

稳压源单元

 

 

附图二:

同步触发电路单元

 

附图三:

低通输出单元

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1