任意波形发生器(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(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,其最高工作频率达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)波形。
权威认证 丨 数明半导体隔离驱动产品通过VDE增强隔离认证
探讨物联网M2M市场、联网标准与产品设计
东莞华为扩展坞批发产品数码革命的首款
爱普特重磅发布功耗低至1uA的通用型MCU APT32F110X,加码工业控制市场
电子系统中的电磁干扰射频干扰和电磁脉冲的抑制方法解析
基于CPLD技术与RS-232串口通信实现任意波形发生器的连接设计
arm架构的虚拟化是什么
锐龙ThreadRipper处理器曝光 加速频率达到4.17GHz
NCP1421设计的升压型LED手电筒电路
小米MIX2概念图曝光:后置双摄像头 屏占比接近100%
该如何抓住可穿戴设备市场痛点
低阻抗麦克风放大器的电路图分享
兰和科技中标武汉理工大学智能门锁管理系统项目
以DSP和FPGA技术为基础的伺服控制系统设计详解
巨控GRM-OPC-SMS组态短信报警方案
美格信-骨传导单体振子测试
前端总线频率是什么?
关于夜狼安防总线型防盗报系统产品的特点和优势分析
微型空气质量监测仪的功能特点及技术参数
AR产品平台公司杭州灵伴科技(Rokid)成为新晋独角兽企业