基于CPLD的任意波形发生器

发布者:幸福之星最新更新时间:2013-12-12 来源: eefocus关键字:CPLD  任意波形发生器  AWG 手机看文章 扫描二维码
随时随地手机看文章

       任意波形发生器(AWG)在通信系统、测试系统等方面得到广泛应用。本文利用自主研制的150 MSPS 12位DAC和300MSPS 12位DAC,基于CPLD技术,设计了一种AWG。要产生的波形通过上位机软件设置,然后将波形数据下载到AWG,AWGCPLD的高速控制电路下将波形数据送高速DAC进行转换形成所要的波形。

  任意波形发生器的硬件结构

  AWG的工作过程是,首先接收上位机送来的波形数字信号存储到SRAM,然后启动控制电路从SRAM取出数据送DAC进行数摸转换,转换后的模拟信号送低通滤波器形成波形。如果DAC工作在150MSPS的速度下,可以以150MHz的频率送数据到DAC进行转换,微控制器的晶振输入一般工作在40MHz以下,没有这么高的速度送出数据到DAC,所以考虑采用CPLD构建硬件控制电路。数据首先传送到SRAM,然后在CPLD硬件控制电路的控制下,以150MHz的频率从SRAM中取数送DAC转换。其体系结构如图1所示。如果要形成正弦周期信号,每周期4个点就可以合成一个波形,此时可以输出约38MHz的高频信号。


图1 AWG硬件结构

  CPLD(复杂可编程逻辑器件)是在传统的PAL、GAL基础上发展而来的,具有多种工作方式和高集成、高速、高可靠性等明显的特点,在超高速领域和实时测控方面有非常广泛的应用。与FPGA相比,CPLD比较适合计算机总线控制、地址译码、复杂状态机、定时/计数器、存储控制器等I/O密集型应用,且无须外部配置ROM、时延可预测等。目前的CPLD普遍基于E2PROM和Flash电可擦技术,可实现循环擦写。Altera 公司的MAX7000 CPLD配置有JTAG口,支持ISP编程。用VHDL或Verilog HDL设计的程序,借助EDA工具经过行为仿真、功能仿真和时序仿真后,通过综合工具产生网表,下载到目标器件,从而生成硬件电路。

    本装置中,CPLD采用Altera公司的EPM7128AE,其最高工作频率达200MHz。微控制器采用Atmel公司AVR微控制器AT90S8515。SRAM选用64K x 16的CY7C1021V。


图2 DAC控制电路


图3 DAC控制电路仿真结果


图4 波形数据产生软件[page]


图5 2FSK波形

  CPLD电路设计

  CPLD主要负责以高速率(150MHz)从SRAM中取数到DAC,其核心电路是一个13位的计数器。波形数据文件的大小为8Kbytes。如果要扩大波形文件的大小,可以根据需要增加CPLD的地址计数器容量。在CPLD内部构造的DAC控制电路如图2所示,下面对其控制流程进行分析。

  PA[15:0]接AT90S8515的2个8位并行口;D[15:0]接SRAM的数据线D0-D15;AD[12:0]接SRAM的地址线A0-A12;DB[15:0]接DAC的D0-D11(D12-D15不用);CLK_SEL选择计数器的时钟输入方式;CLK_AVR接MCU的一个I/O端,通过软件编程在CLK_AVR输出脉冲信号作为计数器的时钟;CLK_CPLD接150MHz时钟信号;/WR和 /WE接MCU的I/O端。

  当PC机下载数据时,其控制流程如下:

  ①CLK_SEL=0,选择软件时钟

  ②复位地址计数器

  ③MCU送数据到PA[15:0]

  ④/WR从0变到1,打开从MCU到SRAM的数据缓冲器将数据写入SRAM

  ⑤给CLK_AVR一个脉冲,让计数器增1从而指向SRAM的下一个接收地址单元。

  当数据下载完成后, 启动CPLD从SRAM取数据到DAC,其控制流程如下:

  ①WE=1,打开从SRAM到DAC的缓冲器。

  ②CLK_SEL=1,计数器的输入时钟选择150MHz的外部时钟,

  ③复位地址计数器,外部高速时钟的驱动下地址计数器开始计数,从SRAM中取出数据送到DAC进行数据转换。

  CPLD的编程在Quartus II 5.0环境下进行,Quartus的设计输入支持AHDL、VHDL、Verilog HDL等硬件描述语言的程序输入和图形输入,这里采用图形输入的方式。完成设计输入后,依次进行编译、功能仿真、时序仿真。图3是CPLD取数据到DAC进行转换的时序仿真结果。图中CPLD的工作频率为125MHz,实际工作中最高工作在200MHz,从图中可以看出,每来一个时钟,CPLD从SRAM中取出一个数据送DAC进行A/D转换。最后将结果下载到CPLD内部运行。

  软件设计

  AWG的软件采用CodeVision AVR C编写,AT90S8515支持ISP,程序编译后经JTAG口下载到AT90S8515中。为配合该装置的使用,我们在VB开发环境下设计了上位机软件,其运行界面如图4所示,在该软件中选择要产生的波形,然后下载到AWG

  AWG和PC机采用RS-232串口通信, 上电运行后等待PC传送波形,接收完波形数据后,启动CPLD从SRAM中取出数据送DAC进行D/A转换,经低通滤波器形成输出波形。

  结语

  AWG和PC机通过RS-232串口连接后,运行PC机软件,在PC机上选择要生成的波形,生成波形数据下载到AWG,可以选择线性调制技术的绝对相移键控(BPSK)、相对相移键控(DPSK)、四相相移键控(QPSK)、交错正交相移键控(OQPSK)、p/4偏移差分相移键控(p/4-DQPSK),恒包络调制的二进制频移键控(FSK)、最小频移键控(MSK)、高斯滤波最小频移键控(GMSK),混合线性和恒包络调制技术的M相相移键控(MPSK)、多进制正交幅度调制(QAM)、多进制频移键控(MFSK)等波形,下载到AWG生成所要的波形。图5是DAC工作在125MHz下合成的2FSK波形

关键字:CPLD  任意波形发生器  AWG 引用地址:基于CPLD的任意波形发生器

上一篇:详解ATMEGA8卡(黑卡)写卡步骤
下一篇:如何由单片机升级到DSP

推荐阅读最新更新时间:2024-03-16 13:32

可编程逻辑器件的设计过程
可编程逻辑器件的设计流程如图10-2所示,它主要包括设计准备、设计输入、设计处理和器件编程四个步骤,同时包括相应的功能仿真、时序仿真和器件测试三个设计验证过程。 1.设计准备 采用有效的设计方案是PLD设计成功的关键,因此在设计输入之前首先要考虑两个问题:一是选择系统方案,进行抽象的逻辑设计;二是选择合适的器件,满足设计的要求。 对于低密度PLD,一般可以进行书面逻辑设计,将电路的逻辑功能直接用逻辑方程、真值表状态图或原理图等方式进行描述,然后根据整个电路输入、输出端数以及所需要的资源(门、触发器数目)选择能满足设计要求的器件系列和型号。器件的选择除了应考虑器件的引脚数、资源外,还要考虑其速度、功耗以及结构特点。
[单片机]
<font color='red'>可编程逻辑器件</font>的设计过程
简易通用型PCI接口的VHDL-CPLD设计
  用CPLD设计所构成的CPI接口系统具有简洁、可靠等优点,是一种行之有效的设计途径。很多技术杂志和网站上,都有不少用CPLD设计PCI常规传输系统的文章。但用这些方法在MzxPlusII、Fundition等环境下进行模拟仿真时,其产生的时序往往与PCI规范有很大出入。虽然 Altera 等公司推出PCI核可以直接使用,但这样的内核占用CPLD资源较多,且能适配的器件种类少,同时价格也高,在实际设计应用中有很大的局限性。因此,使用通用型CPLD器件设计简易型PCI接口有很大的现实意义。在Compact接口的CPLD设计中,笔者根据PCI总线传输时序来进行状态机构造,并使用 VHDL语言进行功能模拟和定时分析,从而达到了预期目的
[嵌入式]
基于单片机和CPLD的自动巡线轮式机器人控制系统
1 引言 轮式移动机器人是机器人研究领域的一项重要内容.它集机械、电子、检测技术与智能控制于一体。在各种移动机构中,轮式移动机构最为常见。轮式移动机构之所以得到广泛的应用。主要是因为容易控制其移动速度和移动方向。因此.有必要研制一套完整的轮式机器人系统。并进行相应的运动规划和控制算法研究。笔者设计和开发了基于5l型单片机的自动巡线轮式机器人控制系统。 2 控制系统总体设计 机器人控制系统由主控制电路模块、存储器模块、光电检测模块、电机及舵机驱动模块等部分组成,控制系统的框图如图1所示。 3 主控制模块设计 3.1 CPLD设计 在机器人控制系统中.需要控制多
[单片机]
基于单片机和<font color='red'>CPLD</font>的自动巡线轮式机器人控制系统
基于CPLD的汽油机点火参数测量仪的研制
  点火参数是影响汽油机性能的最重要因素之一。汽油机的点火参数主要有:点火提前角、点火能量、点火电压和点电流。通过对这些参数的测量、研究与优化,能提高发动机的性能,降低油耗,减少有害气体的排放量,改善环境空气质量等。就国内外目前的点火参数测量设备来说,普遍存在着体积庞大、价格昂贵、抗干扰能力差等缺点,甚至有些是采用示波器来观察,人机对话界面不够友好。由于火花塞放电时间大约在200~500μs之间,点火电压的上升时间却只有几到十几μs,为了保证测量精度,采样频率要求在10MHz以上,这个速率就是目前最快的单片机也难以胜任。因此如何有效地实现超高速的数据采集便成了解决问题的技术关键。同时,使高速的数据采集器与低速的控制电路实现可靠地信
[嵌入式]
基于<font color='red'>CPLD</font>的汽油机点火参数测量仪的研制
CPLD实现嵌入式平台上的实时图像增强
摘要:提出了在嵌入式平台上用CPLD实现实时图像增强算法的解决方案,并加以实现。重点讨论了经过改进的图像增强算法以及使用CPLD实现的具体方法,介绍了所采用的嵌入式平台的总体结构。 关键词:嵌入式 CPLD 实时处理 图像增强 通常,在拥有DSP或FPGA的嵌入式平台上,有关图像信号处理的算法部分都由DSP和FPGA完成。但是相对于标准的PC平台来说,嵌入式平台的资源有限得多,而且由于成本的原因,中央处理器的速度也通常无法与PC相比。因此,在PC机上用软件可以轻易实现的图像处理算法,完全移植到嵌入式平台上就要颇费一番周折了。 为了达到实时图像处理的目的,除了最大限度地发挥中央处理器的图像处理能力外,还需要合理地分配任务。DS
[应用]
MCU和CPLD相互作用 变压器系统测试有好招儿
1引言 BX型信号 变压器 ,BG型轨道变压器和ZG型硅整流器作为铁路信号电器设备的前端,其工作的稳定性、准确性直接关系到行车安全,变压器的可靠检测是严抓质量的第一步,对于生产厂家而言,测试流程不允许抽样,且测试结果应留档。本套测试系统用来测试铁路变压器的各种要求参数,包括原边空载电流、次边空载电压、次边带载电压电流,变压器绝缘电阻、原边电压频率,测量结果精度要求3%,测试系统分为上下位机两大部分,下位机运用智能仪表的设计思想,在 MCU 和 CPLD 控制基础上对各种要求测试参数分别进行自动测试,上位机上采用VC++6.0编写软件实现串口通讯,归类统计并判断是否合格,存储打印结果,系统满足操作简单可靠,提高效率,减少误差。
[电源管理]
MCU和<font color='red'>CPLD</font>相互作用 变压器系统测试有好招儿
基于CPLD的单片机PCI接口设计原理
1 PCI接口设计原理 1.1 PCI总线协议简介 这里只讨论PCI总线2.0协议,其它协议仅仅是在2.0的基础上作了一些扩展,仅就单片机与PCI设备间的通信来说,意义不大。PCI总线是高性能局部总线,工作频率0~33MHz,可同时支持多组外围设备。在这里,我们只关心单片机与一个PCI设备间通信的情况,而且是以单片机与CPLD一方作为主控方,另一方作为PCI从设备。这样做的目的是为了简化问题,降低系统造价。 PCI总线上信号线虽多,但并不是每个信号都要用到。实际上PCI设备也并不会支持所有的信号线,比如错误报告信号PERR与SERR在网卡中就不支持。我们可以针对具体的应用选择支持其中部分信号线,还有一些信号线可
[单片机]
基于CPLD/PPGA的出租车计费系统
随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。本文介绍了一个以Altera公司可编程逻辑芯片EPM7128SLC84-15为控制核心、附加一定外围电路组成的出租车计费器系统。 1 系统组成 基于CPLD/FPGA的出租车计费器的组成如图1所示。各部分主要功能如下:(1)A计数器对车轮传感器送来的脉冲信号进行计数(每转一圈送一个脉冲)。不同车型的车轮直径可能不一样,通过“设置1”对车型做出选择,以实现对不同车轮直径的车进行调整。(2)B计数器对百米脉冲进行累加,并输出
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved