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

    文章

    1259

    浏览量

    174160
  • 脉冲发生器
    +关注

    关注

    5

    文章

    199

    浏览量

    35633
  • DDS
    DDS
    +关注

    关注

    22

    文章

    688

    浏览量

    156868
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LTC6993系列:多功能单稳态脉冲发生器的设计与应用

    LTC6993系列:多功能单稳态脉冲发生器的设计与应用 在电子工程师的日常设计中,脉冲发生器是一种常见且关键的电路元件。今天,我们就来深入探讨一下凌力尔特(现ADI)的LTC6993系
    的头像 发表于 03-26 11:55 260次阅读

    探索LTC6993:多功能单稳态脉冲发生器的设计与应用

    探索LTC6993:多功能单稳态脉冲发生器的设计与应用 在电子设计领域,单稳态脉冲发生器是一种非常重要的电路元件,它能够在接收到触发信号后产生一个固定宽度的
    的头像 发表于 03-16 15:25 170次阅读

    LTC6993系列单稳态脉冲发生器:功能特性与设计应用解析

    LTC6993系列单稳态脉冲发生器:功能特性与设计应用解析 在电子设计领域,单稳态脉冲发生器是一种常用的电路元件,可用于产生精确的脉冲信号,
    的头像 发表于 03-15 16:35 583次阅读

    探索LTC6993:多功能单稳态脉冲发生器的卓越性能与应用

    探索LTC6993:多功能单稳态脉冲发生器的卓越性能与应用 在电子设计领域,单稳态脉冲发生器是一种至关重要的电路元件,它能在接收到触发信号后产生一个固定宽度的
    的头像 发表于 03-12 17:15 631次阅读

    时间间隔发生器涉及的计量标准及应用,同步脉冲发生器,双脉冲信号发生器

    时间间隔发生器作为时间频率计量领域的核心设备,其输出双脉冲信号的精准度直接决定了导航、通信、科研检测等领域的测量可靠性。同步天下SYN5612型时间间隔发生器凭借最高1ps级高分辨率、宽量程输出等
    的头像 发表于 02-26 16:01 199次阅读

    探索MAX4811:双路单/双极性高压数字脉冲发生器

    探索MAX4810/MAX4811/MAX4812:双路单/双极性高压数字脉冲发生器 在电子设计领域,高压、高频脉冲发生器的性能对于许多应用至关重要。今天,我们就来深入了解一下MAXI
    的头像 发表于 02-04 13:55 435次阅读

    可编程的多路脉冲信号发生器 高速脉冲信号发生器 1hz脉冲信号发生器

    信号发生器
    知道点啥
    发布于 :2026年01月30日 10:24:38

    数字延迟脉冲发生器 脉冲延迟信号发生器 多通道脉冲信号发生器

    信号发生器
    jf_47371611
    发布于 :2026年01月26日 13:54:25

    标准脉冲时间间隔发生器使用场景解析

    关键词:时间脉冲发生器、数字脉冲延迟发生器、标准时间间隔发生器 在现代科技体系中,时间精度是衡量技术水平的核心标尺之一。从计量校准的标准确立
    的头像 发表于 01-16 17:40 1681次阅读
    标准<b class='flag-5'>脉冲</b>时间间隔<b class='flag-5'>发生器</b>使用场景解析

    数字脉冲延迟发生器有什么用 #脉冲发生器 #标准

    发生器
    jf_16650182
    发布于 :2026年01月16日 17:18:16

    脉冲信号发生器

    发生器
    西安同步电子科技有限公司
    发布于 :2025年11月04日 17:24:04

    数字脉冲发生器介绍

    gps信号发生器
    西安同步电子科技有限公司
    发布于 :2025年10月28日 10:33:34

    标准脉冲发生器介绍

    gps信号发生器
    西安同步电子科技有限公司
    发布于 :2025年10月28日 10:32:04