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

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

3天内不再提示

浅谈关于CPLD的多路可控脉冲发生器设计

电子工程师 来源:《微型机与应用》 作者:骆国庆,俞建定, 2021-04-07 11:18 次阅读

摘 要: 针对伺服电机控制系统中的脉冲发送需求问题,提出了一种利用DDS技术,以单片机和CPLD硬件基础的脉冲输出频率、个数可控的脉冲发生器设计方案。利用Quartus II软件进行了波形仿真并分析了结果。研究结果表明,采用该方案实现的脉冲发生器具有体积小、成本低和可靠性高等特点,而且该脉冲发生器控制简单,输出脉冲频率控制精度高,满足了伺服电机控制系统中的脉冲发送需求。

随着工业自动化的发展,伺服电机的应用越来越广泛。伺服电机主要靠脉冲来定位,其基本的工作原理是伺服电机接收到1个脉冲,旋转1个脉冲对应的角度来实现位移,而脉冲的频率会影响电机旋转速度[1]。同时,自动化过程中,常常需要多个伺服电机的联合运动。因此,研究能够输出多路频率、脉冲数可控的脉冲发生器就很有必要。由于复杂可编程逻辑器件(CPLD)具有I/O口多、设计灵活、集成度高和稳定性好的优点[2],因此,本设计以CPLD为硬件平台,实现了一种脉冲频率、脉冲个数都可控的脉冲发生器。

1 脉冲发生器整体系统框图

001.jpg

根据要求所需,设计了图1所示的脉冲发生器系统。上位机发送脉冲频率、个数等命令,通过RS485通信单片机,单片机再将命令通过数据总线传递给CPLD,CPLD的I/O输出多路可控脉冲信号。本设计中,CPLD为整个脉冲发生器系统的核心所在。

2 脉冲发生器的设计原理

002.jpg

CPLD部分的硬件结构如图2所示。设计所用的CPLD芯片Altera公司的EPM1270T144,采用VHDL语言,外部晶振时钟频率为25 MHz。CPLD内部有预分频、地址译码模块、输入缓冲、DDS分频模块及计数器模块,数据、地址复用总线位宽8位。

2.1 地址译码模块

CPLD中设计了三路脉冲输出,这就使得计数模块、分频模块需要多组寄存器来存储相应的数据。因此,设计了地址译码模块方便单片机与之数据通信。14、24、34(十六进制)分别对应计数器模块内三个脉冲个数寄存器的地址,可读写寄存器的值;10、20、30(十六进制)分别是DDS分频模块内三个频率控制字M的寄存器地址,可写入寄存器的值;地址96(十六进制)对应的寄存器低三位控制三路脉冲输出使能。

2.2 输入输出缓冲

为构成芯片内部的总线系统,使数据的写入读出都能正确,输入输出缓冲采用双向端口的总线电路。设计程序如下:

entity bustri is

port

datain:in std_logic_vector(7 downto 0);

rd_en:in std_logic;

wr_en:in std_logic;

tridata:inout std_logic_vector(7 downto 0);

dataout:out std_logic_vector(7 downto 0));

end bustri;

architecture one of bustri is

begin

process(wr_en,tridata)

begin

if wr_en=′0′ then

dataout《=tridata;

else dataout《=“ZZZZZZZZ”;

end if;

end process;

process(rd_en,datain)

begin

if(rd_en=′0′)then

tridata《=datain;

else tridata《=“ZZZZZZZZ”;

end if;

end process;

单片机先通过数据、地址复用总线给CPLD输入地址,地址译码模块将地址译码,使对应的寄存器输入使能;再通过输入输出缓冲写频率、脉冲个数数据给对应的寄存器;然后将脉冲输出使能,即可使脉冲输出。

2.3 DDS分频模块

DDS分频模块用来控制输出脉冲的频率。DDS技术是一种从相位概念出发直接合成所需波形的频率合成技术[3]。DDS分频模块由相位累加器、正余弦波形查找表ROM存储器、D/A转换器和低通滤波器构成,其基本原理框图如图3所示。相位累加器在系统时钟控制下产生正余弦波形查找表ROM的地址,相位溢出频率即正余弦波输出频率。

通过改变频率控制字的大小就可以改变输出信号的频率。记频率控制字为M,正余弦波相位寄存器为N位,系统时钟为fc,则输出信号的频率fout可表示为fout=M·fc/2N。它的频率精度是由相位累加器或者是调整字的比特数决定的,即输入的参考频率除以2N,就决定了DDS所能够实现的频率精度[4],因此其频率分辨率为fmin=fc/2N。同时,通过给相位累加器额外加一个相位控制字K,可以控制输出信号的初始相位。

图3中,外部晶振fc为25 MHz,通过预分频模块进行四分频,变为6.25 MHz,作为DDS分频模块的输入时钟fc。频率控制字M为15位,相位寄存器21位。查找表内存放方波数据。因此,可根据上述公式计算得出输出脉冲频率的精度为3 Hz,变化范围约为3 Hz~100 kHz。DDS模块内有三个相同的频率控制模块,每个模块设计框图如图4所示。

004.jpg

图4中,设计的频率控制字查找表是256×15的ROM存储器,存放了在3 Hz~100 kHz范围内均匀采样256个离散点的频率,所对应的频率控制字M的值。其地址范围为00~FF(十六进制),低地址对应小的M值,M值随地址的增大而增大。M字的位宽为15位,数据总线8位,如正常写数据需要写两次,利用频率控制字查找表可以更加方便地设置频率控制字,写一次数据就可以改变M字的值。方波查找表内存放的是256×1的方波数据。单片机写入地址10、20、30(十六进制)后,通过8位的数据线写00~FF(十六进制)值给频率控制字查找表,查找表将对应的M字传给频率控制字M的寄存器。经过相位累加器累加,累加器的高8位作为地址送入方波查找表,查找表就可以输出频率不同的脉冲信号给计数器模块。

2.4 计数器模块

计数器模块用来控制输出脉冲的个数。计数器模块内有三组8位的脉冲个数寄存器。脉冲个数寄存器需要被赋予目标脉冲个数;待其他寄存器设置好后,单片机发送使能脉冲输出;DDS分频模块发送频率不同的脉冲送入计数器模块;计数器模块内部计数变量会根据输出的脉冲个数进行累加,当计数变量累加到目标脉冲数后,计数变量停止累加,并且脉冲输出也会被停止。

3 脉冲发生器总体仿真结果分析

本设计利用Quartus II软件进行波形仿真,仿真结果如图5所示。

005.jpg

图5中,XOSC为外部晶振时钟25 MHz;ale为地址使能,下降沿有效;rd为读使能,低电平有效;wr为写使能信号,低电平有效;AD为数据总线,显示方式为十六进制;MYA为三路脉冲输出;地址14对应的脉冲个数寄存器及地址10对应的频率控制字M的寄存器,控制MYA(0)的脉冲输出,地址24、20对应的寄存器控制MYA(1)输出,地址34、30对应的寄存器控制MYA(2)的脉冲输出。

由图5可以看出,地址14对应的脉冲个数寄存器写入的值是10,转换成十进制为16,MYA(0)输出脉冲个数即为16;地址24对应的脉冲个数寄存器写入的值是05,转换成十进制为5,MYA(1)输出脉冲个数即为5;地址10对应的频率控制字M的寄存器写入的值是FF,对应的M值最大,即输出频率应为100 kHz,而图5中,时间长度从230 ?滋s~270 ?滋s间,MYA(0)输出完整脉冲4个,计算出MYA(0)输出脉冲的周期约为10 ?滋s,对应频率即为100 kHz;地址20对应的频率控制字M的寄存器写入的值是7F,对应的M值为最大的一半,即输出频率应为50 kHz,由图5可以看出,MYA(1)输出的脉冲波形频率为MYA(0)的一半,对应即为50 kHz。使能脉冲输出后,通过写地址30改写MYA(2)的频率控制字M的值由47变为21,MYA(2)的脉冲输出频率正确改变。由上述分析可得,脉冲发生器产生的脉冲个数、频率均能随着指令的改变而正确改变。仿真结果验证了该方案的可行性。

本文介绍了一种利用DDS技术,通过单片机和CPLD来实现的脉冲输出频率、个数可控的脉冲发生器设计方案,且通过软件仿真验证了该方案的可行性。该方案在伺服电机的控制中也得到了实际应用,效果良好。采用该方案实现的脉冲发生器不仅具有CPLD的体积小、成本低、功耗低、集成度高、系统稳定性和可靠性高等特点,而且结合了DDS技术的特点及优势,控制简单,输出脉冲频率控制精度高,满足了伺服电机控制系统中的脉冲发送需求。

参考文献

[1] 刘树聃,王琳。基于MCU和CPLD的脉冲发生器[J]。微计算机信息,2012,28(9):121-122.

[2] 宋万杰,罗丰,吴顺君.CPLD技术及其应用[M]。西安:电子科技大学出版社,1999.

[3] 张楠,张根栋。基于DDS技术的全数字QPSK调制器的设计[J]。工矿自动化,2009(7):105-107.

[4] 李涛,高德远.DDS直接数字合成研究及其CPLD实现[J]。计算机工程与应用,2000,36(12):72-73

[5] 王强,陈阳。可调多脉冲时序发生电路的数字化设计[J]。电子测量技术,2009,32(8):28-31.

[6] 耶晓东。基于单片机的简易机械手的设计[J]。微计算机信息,2009,25(5-2):230-231.

[7] Altera Corpration. MAX 7000 Programmable Logic Device Family[Z]。 USA:Altera Corpration,2003.

[8] 金西.VHDL与复杂数字系统设计[M].西安:西安电子科技大学出版社,2003.

[9] 游志宇,董秀成,杜杨,等.单片机与FPGA/CPLD总线接口逻辑设计[J].微计算机信息,2008(29):121-123.

[10] 梁中华,肖丹,杨霞。一种基于CPLD的SPWM控制波形生成方法[J]。沈阳工业大学学报,2005,27(2):187-191.

[11] 秦继荣,沈安俊。现代直流伺服控制技术及其系统设计[M]。北京:机械工业出版社,1993.

[12] 赵正新,高超。脉冲信号源的CPLD实现方法[J]。电子科技,2009,22(2):47-50.

编辑:jq

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

    关注

    32

    文章

    1248

    浏览量

    169338
  • 脉冲发生器
    +关注

    关注

    5

    文章

    177

    浏览量

    34164
  • DDS
    DDS
    +关注

    关注

    21

    文章

    633

    浏览量

    152641
收藏 人收藏

    评论

    相关推荐

    安捷伦8110A 脉冲码型发生器

    8110A脉冲码型发生器,具有精密的边沿定位和仿真真实世界所产生数字信号的能力,适于和Keysight示波器或逻辑分析仪配合使用。 您可在工作台上验证设计,在使模拟成为不确定的频率下迅速得到可靠
    的头像 发表于 11-25 14:22 185次阅读

    泰克信号发生器脉冲模式应用

    泰克信号发生器在工程和科学领域得到了广泛的应用,其高精度和灵活性使其成为实验室和生产环境中的重要工具之一。在各种应用中,泰克信号发生器脉冲模式应用尤其值得注意。本文将探讨泰克信号发生器
    的头像 发表于 10-22 17:00 165次阅读
    泰克信号<b class='flag-5'>发生器</b><b class='flag-5'>脉冲</b>模式应用

    可编程按钮、脉冲检测脉冲发生器解决方案

    电子发烧友网站提供《可编程按钮、脉冲检测脉冲发生器解决方案.pdf》资料免费下载
    发表于 09-18 11:22 0次下载
    可编程按钮、<b class='flag-5'>脉冲</b>检测<b class='flag-5'>器</b>和<b class='flag-5'>脉冲</b><b class='flag-5'>发生器</b>解决方案

    脉冲发生器的用途有哪些

    脉冲发生器作为一种重要的电子设备,在多个领域发挥着至关重要的作用。其用途广泛,涵盖了科学研究、工业检测、医学诊断、雷达信号处理、通信调制以及自动化控制等多个方面。
    的头像 发表于 08-12 17:25 904次阅读

    脉冲发生器的工作模式是什么

    脉冲发生器作为一种重要的电子设备,在科学研究、工业检测、医学诊断、雷达应用以及通信领域等多个方面发挥着关键作用。其工作模式复杂而精细,涉及多个组件的协同工作。
    的头像 发表于 08-12 17:17 453次阅读

    信号发生器如何输出单脉冲信号?

    信号发生器是一种电子设备,用于生成具有特定特性的电信号,如正弦波、方波、脉冲等。在测试和测量电子系统中,信号发生器用于提供已知的输入信号。
    的头像 发表于 05-30 17:45 2391次阅读

    脉冲信号发生器的主要功能和作用

    脉冲信号发生器,作为一种关键的电子测试设备,在现代科研、工业生产和军事领域中发挥着不可替代的作用。其独特之处在于能够产生各种频率、宽度和幅度的脉冲信号,为各种电子设备和系统的测试提供了强有力的支持。本文将对
    的头像 发表于 05-20 18:26 2053次阅读

    脉冲信号发生器的主要原理和组成结构

    脉冲信号发生器,作为一种重要的电子测试设备,在通信、雷达、电子测量等多个领域发挥着关键作用。它能够产生具有特定频率、幅度、占空比等参数的脉冲信号,为各种电子系统的测试、校准和验证提供了有效的手段。本文将详细探讨
    的头像 发表于 05-15 14:52 2264次阅读

    是德科技为手持射频分析仪新增脉冲发生器选件

    是德科技近日宣布,其备受赞誉的FieldFox手持射频(RF)分析仪产品系列又迎来了一项重要更新。公司发布了全新的357脉冲发生器选件,这一可下载的应用软件进一步丰富了FieldFox的功能,使其能够覆盖到脉冲
    的头像 发表于 05-15 11:00 630次阅读

    多路信号发生器的设计与优化

    模块在多路信号发生器中起到关键作用,它能够将振荡输出的信号进行频率分割,生成多路不同频率的信号。
    的头像 发表于 04-30 12:47 1076次阅读

    脉冲发生器输出的是什么信号 脉冲信号发生器原理

    脉冲发生器的主要作用是产生一种特定参数的电脉冲信号,为实验、测试、计量和控制等方面提供稳定而精确的时序基准。它的输出信号可以是方波、矩形波、三角波和锯齿波等多种波形。
    的头像 发表于 04-27 10:40 2306次阅读
    <b class='flag-5'>脉冲</b><b class='flag-5'>发生器</b>输出的是什么信号 <b class='flag-5'>脉冲</b>信号<b class='flag-5'>发生器</b>原理

    脉冲发生器的分类 脉冲发生器的怎么设置参数

    脉冲发生器(Pulse Generator)是一种电子仪器,用于生成特定形状和特征的脉冲信号。它通常用于电子测试、实验室研究以及其他需要控制脉冲信号的应用中。
    的头像 发表于 04-27 10:39 2370次阅读

    详细讲解高压脉冲发生器

    电路脉冲发生器
    深圳崧皓电子
    发布于 :2024年03月18日 07:50:45

    函数发生器与示波器的调节方法一样吗

    函数发生器的核心部分是任意波形发生器,方波和脉冲的产生是在任意波形发生器的基础上增加一些外围电路构成,
    发表于 02-08 07:30 692次阅读
    函数<b class='flag-5'>发生器</b>与示波器的调节方法一样吗

    浅谈任意波形发生器及通道合并功能

    浅谈任意波形发生器及通道合并功能  任意波形发生器(AWG)是一种能够产生各种复杂波形的信号发生器。它可以通过调节其输出信号的幅值、频率、相位等参数,生成任意形状的波形,包括正弦波、方
    的头像 发表于 01-19 15:54 645次阅读