显示电路图,如图4所示,其中需要显示的数据代码通过工控机输入。缓冲器74LS244用做多路开关,当选通信号有效时,该路锁存数据有效,数码管显示相应的数据。

频率及占空比数据按如下方式计算:

设要输出的频率为f,占空比为D,则锁存器1、2要设定的值分别为

其中fOSC为系统时钟,C1、C2采用2进制补码。由式(1),式(2)式可得到频率及占空比计算式

由上式可以看出信号源最高输出频率取决于系统时钟频率,最高频率为系统时钟频率的一半(C1、C2均为1),要提高信号源输出频率必须提高系统时钟频率,既采用高频晶振或倍频电路。占空比取决于C1与C1+C2的比值,输出频率为最高频率时,占空比为50%;同样最小步进也取决于系统时钟频率,提高系统时钟频率,就可使步进缩小。

如果要信号源输出频率为500 kHz,占空比为0.5的脉冲波,则按式(1)、式(2)可以算出,C1=C2=HB0(16进制数)。将C1、C2通过工控机置入CPLD中。如果C1、C2为小数,则需取整,取整后需按式(3)、式(4)重新计算频率和占空比,算出的值为实际的频率与占空比。

2、 硬件编程

开发软件采用Max PlusⅡ10.2,编程采用VHlDL硬件描述语言。

编程采用层次结构,整个程序采用顶层模块和底层模块。顶层模块,如图4所示。底层模块包括系统包含的各组件。

整个程序编写完成后进行编译、仿真,仿真结果,如图5所示。编译、仿真通过后都正确,即可通过JTAG接口将程序下载到目标板CPLD中,目标板即可使用。

3、 系统控制软件

系统控制软件采用LabWindows/CVI编写,为了给锁存器置数,可采用如下程序实现: