新闻中心

EEPW首页 > 测试测量 > 设计应用 > 100MHz可编程数字信号发生器

100MHz可编程数字信号发生器

作者:时间:2006-05-07来源:网络收藏

摘 要: 介绍一种基于ISA总线的可编程数字信号发生器,其特点是:工作时钟100MHz,用可编程逻辑器件EPLD作为核心元件,信号输出多达16路,用LabWindjows/CVI软件设计的PC机虚拟仪器面板,界面友好,操作方便。并给出了硬件原理框图。

本文引用地址:http://www.eepw.com.cn/article/255634.htm

关键词: ISA总线 可编程 数字信号发生器 虚拟仪器

在通讯、电子、自动控制中,经常需要非周期的、能精确定时的数字信号,用以产生测试信号或模拟控制的时序。国内现有的可程控信号发生器输出信号频率较低(几kHz~几MHz)、输出路数较少(一般为两、三路)且结构复杂、操作不方便,难以满足现代电子技术发展的需要。

为此,我们开发了一种各路输出的波形可独立地任意编辑、最小输出方波步长为10ns、信号输出多达16路、每路信号基长为256K单元的可编程数字信号发生器。该仪器的核心元件为ALTERA公司的EPLD,以ISA总线插卡插入计算机,工作时钟频率为100MHz。用LabWindjows/CV软件设计了虚拟仪器面板,界面友好,操作方便。该仪器已在中国科学技术大学、北京化学研究所等多家实验室广为应用,效果很好。

1 系统原理

在PC机上将编辑好的16路波形数据通过ISA总线写入高速静态RAM。电路首先要对ISA总线的I/O口地址以及读写控制等进行译码,再驱动一个18位的地址发生器(计数器)寻址256K×16bit RAM。PC机将写入的数据读回比较,若正确则允许触发输出信号(可以软件触发、外加脉冲触发、手动按钮触发)。 输出的信号首先要经过74F574锁存,再经过74F245驱动输出,输出为TTL电平,每路最大驱动电流为64mA。256K RAM内容可单次触发输出完停止,也可循环多次输出,并且带有触发指示灯LED。

译码、地址发生器、片选及各种控制逻辑都在一片ALTERA的EPM7128SLC84-7片内实现。这比用分立元件可靠性大为提高,尤其在100MHz 时钟频率下,信号质量明显改善。EPM7128SLC84-7片内可编程逻辑门有2500个,宏单元有128个,可用I/O片脚为68个。支持在线编程ISP(in-system programmability),不用将芯片拔下重新烧录,通过PC机标准串行口即可将编译好的逻辑数据文件烧录进片内,方便逻辑调试。开发工具软件为Altera`s MAX+PLUS II,该软件是基于WINDOWS,具有逻辑编辑、编译、功能仿真、时序仿真、时序分析等功能。

本系统采用了16片ISSI公司的高速静态RAM :IS61C256AH-8(32K×8bit)地址建立时间(address access)为8ns,数据保持时间(data hold time) 为2ns, 片选建立时间(CE access time)为8ns。

PC机I/O口地址可以在电路板上灵活设置以避免与别的I/O设备地址冲突,设置范围为0320H~033FH。

系统硬件原理示意框图见图1。

2 主要特点

100MHz可编程数字信号发生器2.2 波形任意

各路可以独立编辑生成各种周期波和非周期波。步长是由时钟频率决定的,固定为10ns,但周期波的周期、占空比可调,非周期方波宽度和间隔可调。都是可以以10ns的整数倍任意调制的。图3示意几种编辑生成的波形。

3 技术难点

本系统的时钟频率是100MHz,锁存器的锁存信号是100MHz 所有的数据线信号频率是50MHz,最低位地址线信号频率是50MHz。在这种高速电路设计中,必须要考虑信号的反射、串扰、衰减等因素,这是同普通低速电路不同的。为此,我们采用了以下的措施:

· 为防止信号串扰及保证传输线阻抗均匀(终端阻抗匹配技术只对均匀阻抗有效),采用了四层电路板结构,中间两层是电源层和地层,上下两层是信号层。

· 为防止信号反射,对高速信号线(50MHz以上)都采用了阻抗匹配技术。对100MHz信号线还采用了伪同轴电缆技术。

· 由于本系统是采用了16片RAM,地址线及数据线的驱动问题就显得非常突出。为此,将16片RAM分为四组,地址线每组由两片74F245驱动,数据线每组由一片74F245驱动。18位地址线的低15位用来直接寻址RAM,最高3位地址线经138译码逻辑来产生片选信号。

· IS61C256AH-8的地址建立时间是8ns,数据保持时间是2ns。虽然从原理上讲有4ns的时间范围可供锁存数据,但由于地址驱动芯片74F245的传输延迟时间(propagation time)范围较大(1.5~6.5ns),虽经筛选但实测有效锁存数据时间范围仍不到2ns。这就要求精确调整锁存器74F574的锁存时序。当然,为确保片选、使能、读写正确也要仔细调整各时序。

· 在逻辑设计时,为确保第一和最后一个波形正确而采取了一些特殊措施。因为ALTERAEMP7128SLC-7的逻辑门延时为7.5ns,对于信号输出完即停止方式,为确保第一个波形正确必须提前一个周期启动地址发生器,为确保最后一个波形正确必须提前一个周期关闭地址发生器。所有时序调整主要是在EPLD片内完成,用Altera`s MAX+PLUS II的时序仿真来确定。

4 虚拟仪器软件实现

所谓虚拟仪器就是用软件来实现以往通用仪器才能完成的功能。现在有很多工具软件可以用来设计虚拟仪器。本系统采用美国国家仪器公司提供的LabWindjows/CV工具软件设计。该软件采用可视化编程,各种常用仪器面板库功能强大,还可以直接调用ANSI C、VISUAL C等标准库函数,实现各种复杂算法。

本虚拟仪器操作面板主要包括:I/O口地址选择、波形编辑、波形输入、触发输出、波形显示、复位、退出等。

波形编辑:对256K个单元定义波形不可能逐一定义,本软面板采用解析式来方便波形编辑。可以对单个通道单独编辑,也可以对16个通道统一编辑(16个通道波形相同)。每个通道的波形定义都以文件保存。波形定义分为规则波形和不规则波形两种。

规则波形定义:只需指定 起始点,终止点,高电平个数、低电平个数。可以将256K分为若干段分别定义为不同的规则波,也可以将256K定义为单一规则波。

例:ch_def1.dat ;通道1波形定义文件

g ;规则波形标志符

1 ;1表示首先是高电平,接着是

低电平;0 则相反

2,100,1,1 ;表示第2~100范围,由若

干个1个高电平(每个10ns)

;和1个低电平每个10ns组成;

即:1H1L1H1L1H1L......

101,2000,1,3 ;表示第101~2000范围,由若干

个1个高电平(每个10ns)

;和3个低电平每个10ns组成

;即:1H3L1H3L1H3L......

;其余全是低电平。

不规则波形定义:只需指定 高电平(或低电平),起始点,终止点。

例:ch_def2.dat ;通道2波形定义文件

U ;不规则波形标志符

1 ;1表示是高电平;0 则相反

5,6 ;表示第5~6范围,全是高电平。

200,202; 表示第200~202范围,全是高电平。

;其余全是低电平。

波形显示:可以在计算机显示器上预览16个通道的波形。这样,可以直观地检验用解析式编辑的波形是否满足要求。

总之,设计一个工作时钟100MHz、16路输出信号、每路信号基长256K单元、波形编辑方便的可编程数字信号发生器还是有一定的技术难度的。本信号发生器的输出信号用400MHz观察,波形正确无误。经采用终端阻抗匹配技术后,信号反射(上冲、下冲)均小于5%。事实证明,该仪器的软硬件设计是成功的。100MHz可编程数字信号发生器在电子、通讯等各个领域有着广泛的应用前景,尤其是在需要非周期的、能精确定时的数字信号,用以产生测试信号或模拟控制的时序等场合。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭