当前位置:首页 > 热点文章推荐(一)
[导读]本文对于波形发生器的介绍,主要在于讲解如何基于CPLD技术和RS-232串口实现任意波形发生器连接设计。如果你对本文即将介绍的内容存在兴趣,不妨继续往下阅读哦。

波形发生器知识较多,学习波形发生器需要循序渐进。若大家想了解波形发生器,可翻阅小编往期文章。本文对于波形发生器的介绍,主要在于讲解如何基于CPLD技术和RS-232串口实现任意波形发生器连接设计。如果你对本文即将介绍的内容存在兴趣,不妨继续往下阅读哦。

任意波形发生器(Arbitrary Wave Generator,以下简称AWG)在通信系统、测试系统等方面得到广泛应用。本文利用自主研制的150 MSPS (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的高频信号。

本装置中,CPLD采用Altera公司的EPM7128AE,其最高工作频率达200MHz。微控制器采用Atmel公司AVR微控制器AT90S8515,其主要特征有:增强型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的编程在QuartusII5.0环境下进行,Quartus的设计输入支持AHDL、VHDL、Verilog HDL等硬件描述语言的程序输入和图形输入,这里采用图形输入的方式。完成设计输入后,依次进行编译、功能仿真、时序仿真。下图三是CPLD取数据到DAC进行转换的时序仿真结果。图中CPLD的工作频率为125MHz,实际工作中最高工作在200MHz,从图中可以看出,每来一个时钟,CPLD从SRAM中取出一个数据送DAC进行A/D转换。最后将结果下载到CPLD内部运行。

软件设计

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

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

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

以上便是此次小编带来的“波形发生器”相关内容,希望大家对本文介绍的内容具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

换一批

延伸阅读

[热点文章推荐(一)] 如何选用pic单片机?pic单片机或运算符如何使用?

如何选用pic单片机?pic单片机或运算符如何使用?

pic单片机对于大家早已不再是琢磨不透的大山,随着pic单片机的使用,大家对pic单片机的认识逐步增加。为进一步增进大家对pic单片机的了解,本文将基于两点对pic单片机予以阐述:1.如何挑选合适的pic单片机,2.pic单片机或运算...

关键字: pic单片机 指数 或运算符

[热点文章推荐(一)] pic单片机效率探讨,打包pic单片机A/D转换数据

pic单片机效率探讨,打包pic单片机A/D转换数据

pic单片机作用宽泛,对于pic单片机,大家已不再像若干年前一样一无所知。随着对pic单片机的使用,大家的pic单片机应用技能逐渐增强、熟练度逐步提高。但是,大家仍会碰到一些pic单片机相关问题。本文中,小编将介绍如何将pic单片机A...

关键字: pic单片机 指数 ad转换数据

[热点文章推荐(一)] 搞定pic单片机难点,pic单片机异步串行口实现

搞定pic单片机难点,pic单片机异步串行口实现

pic单片机是实际使用较多,很多朋友从大学开始便接触pic单片机。在pic单片机使用过程中,我们可能会遇到各种问题。为帮助大家排除pic单片机使用难点,本文将对pic单片机软件异步串行口实现方法加以介绍。如果你对本文内容具有兴趣,不妨...

关键字: pic单片机 指数 异步串行口

[热点文章推荐(一)] 单片机编程软件很简单(18),Keil单片机编程软件对ANSIC的扩展学习

单片机编程软件很简单(18),Keil单片机编程软件对ANSIC的扩展学习

单片机编程软件对于大家并不陌生,想必大家对于IAR单片机编程软件、Keil单片机编程软件等均有所了解。为增进大家对单片机编程软件的认识,本文将对Keil单片机编程软件相关内容予以介绍,主要为Keil C51对标准ANSIC的扩展的...

关键字: keil 指数 单片机编程软件

[热点文章推荐(一)] 单片机编程软件很简单(17),Keil单片机编程软件之编译、链接

单片机编程软件很简单(17),Keil单片机编程软件之编译、链接

单片机编程软件使用较多,诸多朋友大学期间便接触单片机编程软件。因此,大家对于单片机编程软件或多或少有所了解。本文中,将对Keil单片机编程软件加以介绍,主要在于介绍如何在这款单片机编程软件中进行项目设置以及如何进行编译、链接。如果你对...

关键字: keil 指数 单片机编程软件

热点文章推荐(一)

247 篇文章

关注

发布文章

技术子站

关闭