×
嵌入式 > 电路设计 > 详情

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

发布时间:2020-05-25 发布时间:
|

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

    关键词: 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 主要特点

    2.1 精确定时

    该信号发生器由于采用了全数字结构,因而可以实现精确定时输出时序。工作时钟频率为100MHz,决定了输出步长为10ns。由于每路基长为256K单元,则最大输出方波间隔为256×1024个步长,即262144×10ns=2.62144ms。也就是说,宽度为10ns的不同两路输出方波信号最小间隔为10ns最大间隔为2.62144ms见图2,两者虽然相差5个数量级,但最小间隔的定时绝对误差与最大间隔的定时绝对误差相同,仅取决于时钟晶振的晃动。本系统时钟采用高精度晶振,时钟晃动仅为十几ps 故定时绝对误差仅为十几ps。

    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可编程数字信号发生器在电子、通讯等各个领域有着广泛的应用前景,尤其是在需要非周期的、能精确定时的数字信号,用以产生测试信号或模拟控制的时序等场合。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Sonics拓展大陆与台湾业务