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

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

3天内不再提示

基于单片机与CPLD技术的多波形函数信号发生器设计

电子设计 来源:郭婷 作者:电子设计 2019-01-07 09:20 次阅读

1 引言

由于传统的多波形函数信号发生器需采用大量分离元件才能实现,且设计复杂,这里提出一种基于CPLD的多波形函数信号发生器。它采用CPLD作为函数信号发生器的处理器,以单片机和CPLD为核心,辅以必要的模拟数字电路,构成的基于DDS(直接数字频率合成)技术、波形稳定、精度较高的多功能函数信号发生器。

2 系统设计

图1给出系统设计框图,该系统设计主要由CPLD电路、单片机电路、键盘输入液晶显示输出电路以及D/A转换电路和低通滤波器等电路组成。

基于单片机与CPLD技术的多波形函数信号发生器设计

2.1 频率合成器

该系统设计采用直接数字式频率合成DDS(Direct Digital Frequency Synthesis)技术,采用ROM存储所需的量化数据,按照不同频率求出频率控制字。以K为步进对相位累加器进行累加,每累加一次,取出累加器的高8 位数据送至ROM,ROM根据不同的地址取出不同的数据送TLC7524进行转换。再经过滤波即可得到所需要波形。由于DDS具有相对带宽很宽,频率转换时间极短,频率分辨率高等优点。此外,全数字化结构便于集成,输出相位连续,频率,相位和幅度均可实现程控。

2.2 幅度控制模块

幅度控制模块由DAC0832控制,利用其内部电阻分压网络,将其作为数控电位器。将 TLC7524的输出波形作为DAC0832的基准电压源输入,其输出波形为V=(N/256)×Vin,其中N为单片机输入的幅度控制字。通过一简单的电阻分压网络调整运放输出峰一峰值为0~5 V,再送至DAC0832由单片机控制其幅度实现幅度的步进,如图2所示。

基于单片机与CPLD技术的多波形函数信号发生器设计

2.3 后级处理模块

采用二阶巴特沃兹低通滤波器。巴特沃兹低通滤波器的幅度函数是单调下降的,由于n阶低通巴特沃兹低通滤波器的前(2n-1)阶导数在ω=0处为零,所以巴特沃兹低通滤波器也称最大平坦幅度滤波器。由于该设计要求滤除的频率分量主要为由D/A转换器产生的高频分量,与系统所要求保留的频率相差很远,所以滤波器在通频带内的平坦程度比其衰减陡度更为重要,而且巴特沃兹低通滤波器所要的元件值合乎实际情况,不像其他滤波器要求元件值那么苛刻。

3 硬件电路系统设计

3.1 总体设计思路

整个系统以CPLD(EPM7128)、AT89S51、AT28C64(EEP-ROM)为核心。CPLD通过相位累加产生读取ROM的地址。以单片机为系统控制的核心,主要功能:给CPLD送频率控制字,即相位累加器的累加值,以此控制频率;给D/A转换器送幅度控制字D,控制波形幅度;处理红外遥控键盘;送数据给液晶LCD。EEPROM存储已固化好波形的数据。

基于单片机与CPLD技术的多波形函数信号发生器设计

3.2 CPLD模块

该模块通过一个4引脚的工业标准JTAG接口在系统编程(ISP),并且在编程过程中仅需5.0 V单电压供电。编程过程中,I/O引脚处于三态并被上拉,以消除板上冲突。上拉阻值为1 kΩ。因为该器件是在线编程的,为了便于调试,所以把下载口直接做在电路板上。考虑到电源为自制的稳压电源,CPLD受电源纹波干扰影响较大,所以在每个器件旁都加有去耦电容。

3.3 D/A转换及幅度控制

D/A转换采用TI公司的TLC7524,该器件转换速度可达10 M,幅度控制D/A转换采用MAX518,该器件是I2C总线的双D/A转换器,只需很少的端口线就可实现两路幅度的控制,大大节省单片机的端口。图3给出D/A转换电路。

3.4 后级处理模块

低通滤波器对阶梯正弦波进行傅里叶分析。其中若一周期采样点数为N,则其高次谐波能量主要集中在输出频率的(N±1)倍频上,其幅值为基频的 1/(N±1)。低通滤波可以平滑其台阶。另外还需滤除由DAC0832和TCL7524产生的1MHz和10 MHz的高频分量。因此根据设计的要求(输出最大频率为250 kHz,为了保证250 kHz频带内输出幅度平坦,又要尽可能抑制谐波和高频分量,综合考虑选用宽带运放LF351,用EWB仿真表明:截止频率为1 MHz~250 kHz以内幅度平坦。为了保证稳幅输出,选用AD817。该器件是一种低功耗、高速、宽带运算放大器,具有很强的大电流驱动能力。实际电路测量表明:当负载为100 Ω,输出峰-峰值为10 V时,其带宽大于500 kHz,幅度变化小于±1%。

4 软件设计

4.1 波形发生

在CPLD内设置25位相位累加器,高9位为ROM地址,低16 位为产生精确的读ROM的点与点之间的时间间隔而设置的累加寄存器,即:单片机送一频率控制字,由低16位寄存器每个时钟都累加这个值,累加到低16位溢出,然后ROM的地址加1。ROM内的每个地址的数据表示当前波形的幅度,然后连续读出数据并被平滑滤波后得出平滑、稳定的波形。波形产生流程如图4所示。

基于单片机与CPLD技术的多波形函数信号发生器设计

4.2 幅度控制

系统的幅度控制由MAX518完成,利用其内部电阻网络实现数字电位器功能,输出电压作为TLC7524的基准电压。图5为幅度控制流程。

5 电路系统调试与参数测试

调试与测试所用仪器PC机、双踪模拟示波器YUAN-LONG、SS7200通用智能计数器、DT9205三位半数字万用表。在户1 kHz步进为20 mV下,测试电压幅度。表1为电压幅度测试,表2为输出频率测试。

基于单片机与CPLD技术的多波形函数信号发生器设计

6 结论

基于单片机和CPLD的DDS正交信号源,其频率幅度可精密控制,扩展输出频率达300 kHz,增加扫频输出功能。采用红外键盘控制频率和幅度,采用液晶同步显示信号的频率和幅度;输出端产生正弦波、方波、三角波、锯齿波,梯形波、短形波、频率突变的方波、尖脉冲数字信号等,且具有扫频输出的功能。测试结果表明,系统稳定可靠,人机交互界面友好,操作简单方便。

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

    关注

    6032

    文章

    44516

    浏览量

    633030
  • cpld
    +关注

    关注

    32

    文章

    1247

    浏览量

    169217
  • 信号发生器
    +关注

    关注

    28

    文章

    1454

    浏览量

    108652
收藏 人收藏

    评论

    相关推荐

    基于CPLD单片机的多功能信号发生器

    基于CPLD单片机的多功能信号发生器
    发表于 08-25 08:51

    基于CPLD的三相波形函数发生器设计

    介绍了基于可编程逻辑器件CPLD 和直接数字频率合成技术(DDS)的三相波形函数发生器的基本原
    发表于 07-19 16:55 21次下载

    基于CPLD的三相波形函数发生器设计

    摘要: 介绍了基于可编程逻辑器件CPLD和直接数字频率合成技术(DDS)的三相波形函数发生器
    发表于 06-20 15:28 674次阅读
    基于<b class='flag-5'>CPLD</b>的三相<b class='flag-5'>多</b><b class='flag-5'>波形</b><b class='flag-5'>函数</b><b class='flag-5'>发生器</b>设计

    CPLD设计的函数信号发生器

    CPLD设计的函数信号发生器 传统的信号源设计常采用模拟分立元件或单片压控
    发表于 05-11 17:53 2191次阅读
    <b class='flag-5'>CPLD</b>设计的<b class='flag-5'>函数</b><b class='flag-5'>信号</b><b class='flag-5'>发生器</b>

    基于FPGA和51单片机信号发生器设计

    为了降低传统函数信号发生器成本,改善函数信号发生器低频稳定性,本文结合FPGA和51
    发表于 03-22 12:08 125次下载
    基于FPGA和51<b class='flag-5'>单片机</b><b class='flag-5'>信号</b><b class='flag-5'>发生器</b>设计

    基于CPLD的三相波形函数发生器资料

    基于CPLD的三相波形函数发生器资料,有兴趣的同学可以下载学习
    发表于 04-28 14:29 0次下载

    基于单片机波形发生器设计

    基于单片机波形发生器设计大家参考一下吧。
    发表于 05-13 15:35 39次下载

    基于CPLD的三相波形函数发生器

    整个设计采用MAX+ plus II开发平台,VHDL编程实现,基于可编程逻辑器件CPLD设计波形信号发生器。用VHDL编程实现,其设计过
    发表于 10-12 16:51 15次下载

    【论文】单片机函数信号发生器设计

    【小论文】单片机函数信号发生器设计
    发表于 12-11 22:06 16次下载

    基于单片机波形发生器

    基于单片机波形发生器
    发表于 12-11 22:52 21次下载

    基于AT89C52单片机简易函数信号发生器毕业设计

    本次作品是一个基于单片机设计的函数信号发生器函数信号发生器
    发表于 12-10 11:51 175次下载
    基于AT89C52<b class='flag-5'>单片机</b>简易<b class='flag-5'>函数</b><b class='flag-5'>信号</b><b class='flag-5'>发生器</b>毕业设计

    基于DAC0832单片机波形信号发生器的设计

    基于DAC0832单片机波形信号发生器的设计(深圳市村田电源技术有限公司武汉分公司)-文档为基于DAC0832
    发表于 09-17 12:20 56次下载
    基于DAC0832<b class='flag-5'>单片机</b>的<b class='flag-5'>波形</b><b class='flag-5'>信号</b><b class='flag-5'>发生器</b>的设计

    基于51单片机的单电源函数信号发生器Proteus仿真

    T009基于51单片机的单电源函数信号发生器Proteus仿真说明。
    发表于 03-07 16:15 44次下载

    函数信号发生器是否与任意波形信号发生器相同

    原理上是一样的,但是实现方法不一样吧,函数信号发生器是用数学运算的方法实现的,直接但是对单片机的运算能力要求较高,而任意波形
    发表于 03-23 14:03 1406次阅读

    波形信号发生器设计原理分析

    基于CPLD波形信号发生器实现了各种波形的产生,尤其是实现了传统的
    的头像 发表于 06-20 17:35 7021次阅读
    <b class='flag-5'>多</b><b class='flag-5'>波形</b><b class='flag-5'>信号</b><b class='flag-5'>发生器</b>设计原理分析