一种简易数字波形存储器的实现
摘要:给出了采用类似DMA的设计思路以及使用双口RAM、快速逻辑电路和CPU(AT89C51)组成的数字波形存储系统的整体电路,从而解决了波形数据的快速采集和输出显示问题。
关键词:DMA;双端口;RAM;存储器;AT89C51GAL
随着信号处理技术的发展,波形存储变得日益重要,各种类型的波形存储装置也越来越多。相对于其它波形存储装置,本文给出的设计的最大特点是速度快,可进行DMA存储,且不占用CPU时间来对信号进行处理。
1系统的总体设计
由于本设计采用了双口RAM和DMA思想,而且数据的采集、存储与输出均由逻辑电路控制,因此,提高了数据示波器的采样速度,同时易于实现“实时显示”,并可在“伪”实时处理时对数据进行操作。此外,数据的实时显示和“伪”实时处理可通过“DMA允许”来控制,其总体设计方案如图1所示。
1.1输入电路
本设计的输入电路实际是一个可调增益电路,主要完成对信号的放大。本设计设置有0.01/div、0.1/div和1/div三档垂直灵敏度,可分别对输入信号进行1倍、10倍和100倍的放大。具体可采用以下两种方案:
(1)采用可编程增益运放来实现1、10、100的放大倍数。由于采用集成运放,因而精度较高,调试方便,但造价也较高。
(2)采用三级放大,第一级为跟随器方式,后两级的放大倍数均为10,每一级放大后都有一个输出抽头。具体连接如图2所示。
1.2A/D转换器的选择(1)
A/D转换器是波形存储的关键部件。它决定了示波器的最大采样速率以及分辨率。目前常用的A/D转换器的输出形式有并行和串行两种,其转换方式有逐次逼近型ADC、积分型ADC、∑-Δ型ADC与流水线型ADC。
对本设计来说,显然应该选择高速A/D。综合考虑各方面的因素,笔者选用了8位CMOS、20MSPS模拟-数字转换器(ADC)TLC5510。
如果需要进一步提高存储示波器输入信号的频率,可考虑并行A/D,即用两片A/D对一路信号进行分时采样,因为这样可在不提高器件频率特性的基础上将输入信号的带宽提高一倍。以此类推,可并联多块A/D以使输入信号的带宽进一步得到提高(本设计中不涉及此项,有兴趣的读者不妨一试)。
1.3存储器的选择
笔者在本设计中选用了两片双口4kB的RAMIDT7134(4kB)。它在双路使用时,一路对应一个存储器。使用双口RAM便于对波形进行实时处理和“伪”实时处理。
1.4触发电路的设计
触发电路在设计时有三种方案,其一是采用可调电阻。因为该输入信号处在一个连续的范围内,即触发电平可以连续变化,因此采用可调电阻能简化电路。其二是选用数字电位器代替模拟电阻。该方案虽然可实现程序控制,但触发电平不能连续可调,且会增加系统的控制任务。其三是由D/A转换器组成的触发电路,如图3所示。在该电路中,触发电平与Di输入的关系为:
V=VREFDi/2n
式中,n为D/A的位数,VREF为基准电压。
利用D/A触发电路能满足触发电平可调的要求,但会增加系统的复杂度。因此,应综合考虑以上三个方案。
1.5GAL和控制电路
a.GAL器件
GAL?2?器件通常采用E2CMOS工艺制造,E2CMOS工艺的特点是可试验性、低功耗、高速和立即可擦写。目前最常用的GAL器件有GAL16V8和GAL20V8两种系列,它们最多有8个输出端(也可编程输入),分别有16和20个输入端。
GAL器件的特点如下:
●方便
编程,编程单元和逻辑配置可重复进行编程;
●高性能的E2CMOS工艺使得器件的功耗很低(最大运行功耗为45mA),速度高(存取速度为15~25ns);输出逻辑宏单元的配置使设计具有更大的灵活性;
●具有保密单元,可对程序进行加密以保护知识产权。
除此之外,GAL器件还具有输出寄存器的预加载功能以及锁定保护、输入缓冲和加电复位等技术特性和功能。
笔者选用GAL16V8来完成图4所示的逻辑功能。其GAL输入输出端口的逻辑关系为:
(abel语言)
Aout=(A0#A1#A2#A3);
Bout=!(B0#B1);
Cout1=!(C1);
Cout0=(C0&!S0#!C1&S0#!C2&S0) 《一种简易数字波形存储器的实现》
本文链接地址:http://www.oyaya.net/fanwen/view/173142.html
关键词:DMA;双端口;RAM;存储器;AT89C51GAL
随着信号处理技术的发展,波形存储变得日益重要,各种类型的波形存储装置也越来越多。相对于其它波形存储装置,本文给出的设计的最大特点是速度快,可进行DMA存储,且不占用CPU时间来对信号进行处理。
1系统的总体设计
由于本设计采用了双口RAM和DMA思想,而且数据的采集、存储与输出均由逻辑电路控制,因此,提高了数据示波器的采样速度,同时易于实现“实时显示”,并可在“伪”实时处理时对数据进行操作。此外,数据的实时显示和“伪”实时处理可通过“DMA允许”来控制,其总体设计方案如图1所示。
1.1输入电路
本设计的输入电路实际是一个可调增益电路,主要完成对信号的放大。本设计设置有0.01/div、0.1/div和1/div三档垂直灵敏度,可分别对输入信号进行1倍、10倍和100倍的放大。具体可采用以下两种方案:
(1)采用可编程增益运放来实现1、10、100的放大倍数。由于采用集成运放,因而精度较高,调试方便,但造价也较高。
(2)采用三级放大,第一级为跟随器方式,后两级的放大倍数均为10,每一级放大后都有一个输出抽头。具体连接如图2所示。
1.2A/D转换器的选择(1)
A/D转换器是波形存储的关键部件。它决定了示波器的最大采样速率以及分辨率。目前常用的A/D转换器的输出形式有并行和串行两种,其转换方式有逐次逼近型ADC、积分型ADC、∑-Δ型ADC与流水线型ADC。
对本设计来说,显然应该选择高速A/D。综合考虑各方面的因素,笔者选用了8位CMOS、20MSPS模拟-数字转换器(ADC)TLC5510。
如果需要进一步提高存储示波器输入信号的频率,可考虑并行A/D,即用两片A/D对一路信号进行分时采样,因为这样可在不提高器件频率特性的基础上将输入信号的带宽提高一倍。以此类推,可并联多块A/D以使输入信号的带宽进一步得到提高(本设计中不涉及此项,有兴趣的读者不妨一试)。
1.3存储器的选择
笔者在本设计中选用了两片双口4kB的RAMIDT7134(4kB)。它在双路使用时,一路对应一个存储器。使用双口RAM便于对波形进行实时处理和“伪”实时处理。
1.4触发电路的设计
触发电路在设计时有三种方案,其一是采用可调电阻。因为该输入信号处在一个连续的范围内,即触发电平可以连续变化,因此采用可调电阻能简化电路。其二是选用数字电位器代替模拟电阻。该方案虽然可实现程序控制,但触发电平不能连续可调,且会增加系统的控制任务。其三是由D/A转换器组成的触发电路,如图3所示。在该电路中,触发电平与Di输入的关系为:
V=VREFDi/2n
式中,n为D/A的位数,VREF为基准电压。
利用D/A触发电路能满足触发电平可调的要求,但会增加系统的复杂度。因此,应综合考虑以上三个方案。
1.5GAL和控制电路
a.GAL器件
GAL?2?器件通常采用E2CMOS工艺制造,E2CMOS工艺的特点是可试验性、低功耗、高速和立即可擦写。目前最常用的GAL器件有GAL16V8和GAL20V8两种系列,它们最多有8个输出端(也可编程输入),分别有16和20个输入端。
GAL器件的特点如下:
●方便
编程,编程单元和逻辑配置可重复进行编程;
●高性能的E2CMOS工艺使得器件的功耗很低(最大运行功耗为45mA),速度高(存取速度为15~25ns);输出逻辑宏单元的配置使设计具有更大的灵活性;
●具有保密单元,可对程序进行加密以保护知识产权。
除此之外,GAL器件还具有输出寄存器的预加载功能以及锁定保护、输入缓冲和加电复位等技术特性和功能。
笔者选用GAL16V8来完成图4所示的逻辑功能。其GAL输入输出端口的逻辑关系为:
(abel语言)
Aout=(A0#A1#A2#A3);
Bout=!(B0#B1);
Cout1=!(C1);
Cout0=(C0&!S0#!C1&S0#!C2&S0) 《一种简易数字波形存储器的实现》