0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CPLD技术与RS-232串口通信实现任意波形发生器的连接设计

电子设计 来源:郭婷 作者:电子设计 2019-05-23 08:08 次阅读

任意波形发生器(ArbitraryWaveGenerator,以下简称AWG)在通信系统、测试系统等方面得到广泛应用。本文利用自主研制的150MSPS(MillionSamplingPerSecond)12位DAC(DigitalAnalogConverter)和300MSPS12位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技术与RS-232串口通信实现任意波形发生器的连接设计

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

本装置中,CPLD采用Altera公司的EPM7128AE,其最高工作频率达200MHz。微控制器采用Atmel公司AVR微控制器AT90S8515,其主要特征有:增强型RISC体系结构CPU,8KFlash,512字节EEPROM,512字节InternalSRAM,UART,SPI,宽电压范围:2.7-6.0V。SRAM选用64Kx16的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技术与RS-232串口通信实现任意波形发生器的连接设计

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

基于CPLD技术与RS-232串口通信实现任意波形发生器的连接设计

软件设计

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

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

基于CPLD技术与RS-232串口通信实现任意波形发生器的连接设计

结语

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

基于CPLD技术与RS-232串口通信实现任意波形发生器的连接设计


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpld
    +关注

    关注

    32

    文章

    1248

    浏览量

    169233
  • 通信
    +关注

    关注

    18

    文章

    5981

    浏览量

    135880
  • 计数器
    +关注

    关注

    32

    文章

    2254

    浏览量

    94378
收藏 人收藏

    评论

    相关推荐

    如何采用CPLD和单片机实现任意波形发生器的设计?

    请问如何采用CPLD和单片机实现任意波形发生器的设计?
    发表于 04-22 06:29

    RS-232串口通信具有哪些特征?

    RS-232串口通信具有哪些特征?
    发表于 02-16 07:16

    RS-232串口通信电子教程

    RS-232串口通信电子书内容有串口通信基础知识,用汇编语言开发串口
    发表于 12-13 12:56 209次下载
    <b class='flag-5'>RS-232</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>电子教程

    RS232串口通信实

    RS232串口通信实验 一. 实验目的利用单片机的TXD、RXD
    发表于 09-22 16:42 1.2w次阅读
    <b class='flag-5'>RS232</b><b class='flag-5'>串口</b><b class='flag-5'>通信实</b>验

    基于CAN总线的RS-232串口设备远程通信

    基于CAN总线的RS-232串口设备远程通信 阐述了CAN总线在232串口设备远程通信或自组
    发表于 09-27 16:07 1441次阅读
    基于CAN总线的<b class='flag-5'>RS-232</b><b class='flag-5'>串口</b>设备远程<b class='flag-5'>通信</b>

    RS232-RS485串口通信详解

    RS232-RS485串口通信详解,很不错的东东
    发表于 08-09 15:08 28次下载

    rs232串口是什么,RS232串口介绍

     串口是计算机上一种非常通用的设备通信协议。串口的电气特性:1)RS-232串口通信最远距离是5
    发表于 11-01 10:32 20.7w次阅读
    <b class='flag-5'>rs232</b><b class='flag-5'>串口</b>是什么,<b class='flag-5'>RS232</b><b class='flag-5'>串口</b>介绍

    在计算机应用3种扩展出RS-232串口的方法介绍

    计算机扩展串口的三种方法现在的计算机,特别是笔记本计算机基本上没有带RS-232串口了,但是在许多工业通信的场合需要用到RS-232
    的头像 发表于 01-14 08:05 3878次阅读

    计算机扩展RS-232串口的三种方法和区别及应用

    计算机扩展串口的三种方法现在的计算机,特别是笔记本计算机基本上没有带RS-232串口了,但是在许多工业通信的场合需要用到RS-232
    的头像 发表于 01-21 17:14 1.2w次阅读

    RS-232RS-485串口通讯调试应用程序免费下载

    本文档的主要内容详细介绍的是RS-232RS-485串口通讯调试应用程序免费下载
    发表于 01-13 08:00 8次下载
    <b class='flag-5'>RS-232</b>和<b class='flag-5'>RS</b>-485<b class='flag-5'>串口</b>通讯调试<b class='flag-5'>器</b>应用程序免费下载

    实现RS232串口通信的资料合集

    本文档的主要内容详细介绍的是实现RS232串口通信的资料合集包括了:MAX232和PL2303与max485芯片的数据手册,
    发表于 07-17 08:00 38次下载
    <b class='flag-5'>实现</b><b class='flag-5'>RS232</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>的资料合集

    RS-232串口RS-485串口的区别

    RS232串口是计算机和通信行业应用最广泛的串口类型。该系统采用全双工制,要求有三种线路:地线、发送线和接收线。只有RS232才能
    的头像 发表于 05-06 16:04 7379次阅读

    RS-232串口通信起始位,数据位,停止位怎么区分?

    RS-232串口通信起始位,数据位,停止位怎么区分? RS-232是一种常用的串口通信协议,它在
    的头像 发表于 09-12 16:04 6884次阅读

    什么是RS-232串口?消费级电脑通常没有232串口的主要原因

    什么是RS-232串口?消费级电脑通常没有232串口的主要原因  RS-232串口是一种标准的串
    的头像 发表于 01-09 13:52 1087次阅读

    RS232串口通信协议详解

    在计算机硬件和通信领域,RS-232串口通信协议是一个历史悠久且广泛使用的标准。它允许计算机通过串行接口与各种外部设备进行通信,如调制解调
    的头像 发表于 11-21 09:24 337次阅读