基于CPLD的任意波形发生器.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CPLD的任意波形发生器

基于CPLD的任意波形发生器 [日期:2006-09-20] 来源:电子产品世界? 作者:倪卫宁 肖宛昂 石寅 [字体:大 中 小] 引? 言 ??? 任意波形发生器(Arbitrary Wave Generator,以下简称AWG)在通信系统、测试系统等方面得到广泛应用。 ??? 本文利用自主研制的150MSPS(Million Sampling Per Second)12位DAC(Digital?Analog Converter)和300MSPS 12位DAC,基于CPLD技术,设计了一种AWG。要产生的波形通过上位机软件设置,然后将波形数据下载到AWG,AWG在CPLD的高速控制电路下将波形数据送高速DAC进行转换形成所要的波形。下面先分析AWG的硬件结构。 ? 任意波形发生器的硬件结构 ??? AWG的工作过程是,首先接收上位机送来的波形数字信号存储到SRAM,然后启动控制电路从SRAM取出数据送DAC进行数摸转换,转换后的模拟信号送低通滤波器形成波形。如果DAC工作在150MSPS的速度下,可以以150MHz的频率送数据到DAC进行转换,微控制器的晶振输入一般工作在40MHz以下,没有这么高的速度送出数据到DAC,所以考虑采用CPLD构建硬件控制电路。 ??? 数据首先传送到SRAM,然后在CPLD硬件控制电路的控制下,以150MHz的频率从SRAM中取数送DAC转换。其体系结构如图一所示。如果要形成正弦周期信号,每周期4个点就可以合成一个波形,此时可以输出约38MHz的高频信号。 ? 图一 AWG硬件结构 ??? CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)是在传统的PAL、GAL基础上发展而来的,具有多种工作方式和高集成、高速、高可靠性等明显的特点,在超高速领域和实时测控方面有非常广泛的应用。 ??? 与FPGA相比,CPLD比较适合计算机总线控制、地址译码、复杂状态机、定时/计数器、存储控制器等I/O密集型应用,且无须外部配置ROM、时延可预测等。目前的CPLD普遍基于E2PROM和Flash电可擦技术,可实现循环擦写。Altera公司的MAX7000 CPLD配置有JTAG口,支持ISP编程。用VHDL或Verilog HDL(Hardware Description Language,硬件描述语言)设计的程序,借助EDA工具经过行为仿真、功能仿真和时序仿真后,通过综合工具产生网表,下载到目标器件,从而生成硬件电路。 ??? 本装置中,CPLD采用Altera公司的EPM7128AE[4],其最高工作频率达200MHz。微控制器采用Atmel公司AVR微控制器AT90S8515[2],其主要特征有:增强型RISC体系结构CPU,8K Flash,512字节EEPROM,512字节Internal SRAM,UART,SPI,宽电压范围:2.7-6.0V。SRAM选用64K x 16的CY7C1021V。 ??? 下面对CPLD控制电路进行分析。 CPLD电路设计 ??? CPLD主要负责以高速率(150MHz)从SRAM中取数到DAC,其核心电路是一个13位的计数器。波形数据文件的大小为8Kbytes。如果要扩大波形文件的大小,可以根据需要增加CPLD的地址计数器容量。在CPLD内部构造的DAC控制电路如图二所示,下面对其控制流程进行分析。 ??? 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的编程在

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档