找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[电源技术] 单片机脉冲信号源的CPLD实现方案

[复制链接]
admin 发表于 2014-4-2 12:21:47 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  单片机产生的脉冲信号源由于是靠软件实现的,所以输出频率及步进受单片机时钟频率、指令数和指令执行周期的限制。文中介绍了一种以CPLD为核心的脉冲信号源,脉冲信号源的参数(频率、占空比)由工控机通过I/O板卡设置,设定的参数由数码管显示,这种脉冲信号源与其它脉冲信号发生电路相比具有输出频率高、步进小(通过选用高速CPLD可提高频率及缩小步进)、精度高、参数调节方便、易于修改等优点。

     1系统组成及工作原理
     脉冲信号源电路核心采用一片可编程逻辑器件EPM7128SLC84-10,它属于Ahera公司MAX7000系列产品,MAX7000系列产品是高密度、高性能的CMOSEPLD,是工业界速度最快的可编程逻辑器件系列,它是在Ahera公司的第二代MAX结构基础上采用先进的CMOSEEPROM技术制造的。MAX7000系列产品包括MAX7000E、MAX7000S、MAX7000A,集成度为600~5000可用门,有32~256个宏单元和36-155个用户I/0引脚。这些基于EEPROM的器件能够组合传输延迟快至5.0ns,16位频率为178MHz。此外,它们的输入寄存器的建立时间非常短,能够提供多个系统时钟且有可编程的速度/功率控制。
     MAX7000S是MAX7000系列的增强型,具有高密度,是通过工业标准4引脚JTAG接口实现在线可编程的,在线编程电压为5V。EPM7128SLC84-10有128个逻辑宏单元,2500个门电路,8个逻辑阵列块,68个L/O管脚,速度等级为一6(传输延迟6ns),最高时钟频率为147.1MHz。整个信号产生及数码显示控制电路(不包括驱动)集成在一片中。脉冲信号源电路由时钟源、锁存器、计数器、控制电路、驱动电路以及数码管动态扫描显示电路组成,电路框图,如图l所示。  
    20121112052102345264431.jpg
     时钟电路采用80MHz有源晶振,它为系统提供时钟信号;锁存器1及锁存器2用于保存频率及占空比数据,为16位计数器提供预置值,锁存器位数为8位,设定的数据通过工控机输入,由于计数器位数为16位,故需分两次打人数据;计数器1及计数器2作为定时器,按锁存器1、2设定的值计时,两个计数器交替工作,即一个计数器工作而另一个计数器不工作。当工作的计数器到达计时时间后,向控制电路发出时间到信号。控制电路接收计数器发出的信号,停止计数器工作,并重新装载计时数据,同时启动另一个计数器工作,从而产生规定频率、占空比的脉冲信号,并输出两路脉冲信号,如图2所示。为了提高信号源带负载能力,输出使用了7417367驱动芯片增加驱动电流
    20121112052102376544432.jpg
    20121112052102548594433.jpg
     显示电路图,如图4所示,其中需要显示的数据代码通过工控机输入。缓冲器74LS244用做多路开关,当选通信号有效时,该路锁存数据有效,数码管显示相应的数据。  
    20121112052102673714434.jpg
     频率及占空比数据按如下方式计算:
     设要输出的频率为f,占空比为D,则锁存器1、2要设定的值分别为  
    20121112052102767564435.jpg
     其中fOSC为系统时钟,C1、C2采用2进制补码。由式(1),式(2)式可得到频率及占空比计算式
    20121112052102814484436.jpg
     由上式可以看出信号源最高输出频率取决于系统时钟频率,最高频率为系统时钟频率的一半(C1、C2均为1),要提高信号源输出频率必须提高系统时钟频率,既采用高频晶振或倍频电路。占空比取决于C1与C1+C2的比值,输出频率为最高频率时,占空比为50%;同样最小步进也取决于系统时钟频率,提高系统时钟频率,就可使步进缩小。
     如果要信号源输出频率为500kHz,占空比为0.5的脉冲波,则按式(1)、式(2)可以算出,C1=C2=HB0(16进制数)。将C1、C2通过工控机置入CPLD中。如果C1、C2为小数,则需取整,取整后需按式(3)、式(4)重新计算频率和占空比,算出的值为实际的频率与占空比。
     2硬件编程
     开发软件采用MaxPlusⅡ10.2,编程采用VHlDL硬件描述语言。
     编程采用层次结构,整个程序采用顶层模块和底层模块。顶层模块,如图4所示。底层模块包括系统包含的各组件。  
    20121112052102861404437.jpg
    20121112052102939604438.jpg
     整个程序编写完成后进行编译、仿真,仿真结果,如图5所示。编译、仿真通过后都正确,即可通过JTAG接口将程序下载到目标板CPLD中,目标板即可使用。
     3系统控制软件
     系统控制软件采用LabWindows/CVI编写,为了给锁存器置数,可采用如下程序实现:
    20121112052102986524439.jpg
     4技术指标
     本脉冲信号源输出脉冲频率:20~700kHz,占空比:1%~40%,时钟采用80MHz有源晶振。在700kHz时频率步进为6kHz,20kHz时频率步进为5Hz。
     由于采用了EPM7128SLC84-10作为脉冲信号源的核心。电路结构简单,频率、占空比可任意设置,准确度高。同时操作简单方便,功能更易扩展。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 18:29 , Processed in 0.067315 second(s), 13 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表