而本次实验并没有选取周期为2的方波作为计数器的时钟,这是因为1S需要太久的仿真时间,至少要1个小时。此处我做了等比例的缩减,待测信号频率和计数信号的时钟频率都做了等比例的缩减,当然这并不影响技术的结果,此处只是为了模拟仿真方便,并无其它目的。
3 系统软件实现形式与仿真
3.1 电机的使用与其形成的脉冲信号在示波器上的显示
首先查阅了电机e6b2-cwz6c(见下图3.1.1)的相关接口信息与使用方法,将其中保护端接地,再将其一输出接到示波器上,给电机供电,在示波器上会稳定的显示出等间隔的脉冲信号【 】,如下图3.1.2,从图上我们可以看出脉冲的间隔为两个大格多点,我且认为是两个大格,即50ms。这样算来脉冲的频率就是20HZ。
图3.1.1 电机e6b2-cwz6c
图3.2 示波器上的电机转数脉冲频率
3.2 分频模块
分频模块为系统提供时钟信号,是系统中必不可少的一步。本次试验有500分频模块,100分频模块和40分频模块。500分频和100分频的具体模块如下图3.2.1:【 】
图3.2.1 系统时钟分频
3.2.1 模块输入、输出定义
以100分频模块为例,见图3.2.1.1:
图3.2.1.1 100分频模块
图3.2.1.1.中:clkin为输入信号,输入需要分频的信号,
clkout为输出信号,输出分频后的信号【 】。
3.2.2 模块原理
分频的原理:本电路中,我取的系统时钟频率是100MHZ,根据实验的要求,我需要得到20HZ频率的时钟。因此我分别作了500分频和100分频,这样100MHZ的时钟频率经过一次500分频和两次100分频,就得到了20HZ频率的信号,此频率便为我需要的待测信号的频率,也是电机转速的频率。
以100分频为例, 在输入信号的上升沿到来时,计数器开始计数,当计数器计数到49时,此时当信号的上升沿再次到来的时候,将新定义的输出信号反转,如此循环,每50个时钟信号上升沿到来后,输出信号就反转一次,这样时钟信号的半个周期就相当于原信号整个周期的50倍,这样就得到了100分频【 】。
3.2.3 制作模块小结
分频模块为系统提供需要的各种频率时钟信号,信号从clkin输入,从clkout输出想要频率的时钟信号,作为其它模块的时钟。
本设计开发采用Alter公司的Quartus Ⅱ软件的进行编译仿真的100分频和500分频的结果如图3.2.3.1和图3.2.3.2。
图3..2.3.1 100分频的仿真结果
图3.2.3.2 500分频的仿真结果
从图上我们可以明显的看出,100MHZ频率的时钟经过100分频后,变成周期为1000ns的信号,而经过500分频变为周期为5000ns的周期信号,所以本次分频的结果十分准确,仿真的结果也十分满足设计的要求。100分频和500分频任务得到圆满完成。 VHDL基于FPGA的电机测速系统设计+文献综述(5):http://www.youerw.com/zidonghua/lunwen_3670.html