新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于CPLD的任意波形发生器(05-100)

基于CPLD的任意波形发生器(05-100)

——
作者:时间:2009-02-23来源:电子产品世界收藏

  电路设计

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

  主要负责以高速率(150MHz)从SRAM中取数到DAC,其核心电路是一个13位的计数器。波形数据文件的大小为8Kbytes。如果要扩大波形文件的大小,可以根据需要增加的地址计数器容量。在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内部运行。

  软件设计

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

  和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波形。■


上一页 1 2 3 下一页

关键词: Altera AWG CPLD

评论


相关推荐

技术专区

关闭