现在的位置: 首页CPLD介绍及应用正文

单片机脉冲信号源的CPLD实现方案

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

1 系统组成及工作原理
   脉冲信号源电路核心采用一片可编程逻辑器件EPM7128SLC84—10,它属于Ahera公司MAX7000系列产品,MAX7000系列产品是高密度、高性能的CMOS EPLD,是工业界速度最快的可编程逻辑器件系列,它是在Ahera公司的第二代MAX结构基础上采用先进的CMOS EEPROM技术制造的。MAX7000系列产品包括MAX7000E、MAX7000S、MAX7000A,集成度为600~5 000可用门,有32~256个宏单元和36—155个用户I/0引脚。这些基于EEPROM的器件能够组合传输延迟快至5.0 ns,16位频率为178 MHz。此外,它们的输入寄存器的建立时间非常短,能够提供多个系统时钟且有可编程的速度/功率控制。
   MAX7000S是MAX7000系列的增强型,具有高密度,是通过工业标准4引脚JTAG接口实现在线可编程的,在线编程电压为5 V。EPM7128SLC84—10有128个逻辑宏单元,2 500个门电路,8个逻辑阵列块,68个L/O管脚,速度等级为一6(传输延迟6 ns),最高时钟频率为147.1 MHz。整个信号产生及数码显示控制电路(不包括驱动)集成在一片中。脉冲信号源电路由时钟源、锁存器、计数器、控制电路、驱动电路以及数码管动态扫描显示电路组成。
   时钟电路采用80 MHz有源晶振,它为系统提供时钟信号;锁存器1及锁存器2用于保存频率及占空比数据,为16位计数器提供预置值,锁存器位数为8位,设定的数据通过工控机输入,由于计数器位数为16位,故需分两次打人数据;计数器1及计数器2作为定时器,按锁存器1、2设定的值计时,两个计数器交替工作,即一个计数器工作而另一个计数器不工作。当工作的计数器到达计时时间后,向控制电路发出时间到信号。控制电路接收计数器发出的信号,停止计数器工作,并重新装载计时数据,同时启动另一个计数器工作,从而产生规定频率、占空比的脉冲信号,并输出两路脉冲信号。为了提高信号源带负载能力,输出使用了7417367驱动芯片增加驱动电流。
   其中需要显示的数据代码通过工控机输入。缓冲器74LS244用做多路开关,当选通信号有效时,该路锁存数据有效,数码管显示相应的数据。

2 硬件编程
   开发软件采用Max PlusⅡ10.2,编程采用VHlDL硬件描述语言。
   编程采用层次结构,整个程序采用顶层模块和底层模块。顶层模块,底层模块包括系统包含的各组件。
   整个程序编写完成后进行编译、仿真,编译、仿真通过后都正确,即可通过JTAG接口将程序下载到目标板CPLD中,目标板即可使用。

3 系统控制软件
   系统控制软件采用LabWindows/CVI编写。

4 技术指标
   本脉冲信号源输出脉冲频率:20~700 kHz,占空比:1%~40%,时钟采用80 MHz有源晶振。在700 kHz时频率步进为6 kHz,20 kHz时频率步进为5 Hz。
   由于采用了EPM7128SLC84—10作为脉冲信号源的核心。电路结构简单,频率、占空比可任意设置,准确度高。同时操作简单方便,功能更易扩展。

在线咨询