关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于NiosII的光栅细分电路系统设计

基于NiosII的光栅细分电路系统设计

作者:时间:2010-06-25来源:网络收藏

任务逻辑是自定义组件过程中最重要的部分,主要实现插值芯片输出正交信号的四,同时更新Countnum_reg和Dir_reg的值。如图7所示,正交信号A2/B2的相位关系随着位移传感器运动方向的不同而改变。当读数头正向移动时,A2相信号超前于B2相信号90°,A2/B2两信号的电平变化规律为OO→10→11→01→00。当读数头反向移动时,A2相信号滞后于B2相信号90°,A2/B2两信号的电平变化规律为00→01→ll→10→00。这样,就可以通过判断电平之间的状态变化来决定是否对计数器进行操作。当状态变化为00→10→11 →01→00时,对Countnum_reg进行加1操作,并将Dir_reg置1;而当变化为00→01→ll→10→OO时,则对Countnum_reg进行减1操作并将Dir_-reg置0。若状态保持不变,则计数器和方向值保持不变。其余状态之间的变化,规定为无效。
上述的4个状态之间的转移可以通过有限状态机来实现。主时钟clk选用50 MHz,能够保证正确采样状态之间的变化。该有限状态机由5个状态组成,它们分别是idle、00、01、l1、10。采用one―hot的编码方式,可以有效地避免竞争冒险现象,提高抗干扰能力。其综合生成的无论是在效率还是稳定性方面都能够满足设计要求。任务逻辑模块的仿真结果如图8所示。

本文引用地址:http://www.eepw.com.cn/article/163018.htm


若记录相邻两次Countnum_reg的差值,便可通过以下的公式计算光栅读数头移动的距离:


式中:N为插值芯片的插值因子,d为光栅栅距。
4.3 二次测速组件设计
光栅读数头的移动速度应在一定范围之内,否则会造成丢数等误差。测速组件主要对读数头的移动速度进行实时监控,从而实现过速报警。其设计过程与二次辨向组件类似。移动速度的计算公式如下:

式中:d为光栅栅距,f为插值芯片输出正交信号的频率,
N为插值芯片的插值因子,n为t时间内正交信号的个数。由此可知,只要测出频率f即可求得移动速度。
寄存器描述文件中定义了4个寄存器,如表1所列。


任务逻辑设计采用测周期的方法,即根据Div_reg中的分频因子对待测信号tclk进行分频,在分频后信号的高电平内记录标准信号sclk的个数,并在其下降沿将计数值存到COUnt_reg中。同时,在其低电平内将Countready_reg置1,通知AVaIon主设备计数值已就绪。待测频率的计算公式如下:

该方法可能会产生±1个标准脉冲的测量误差,由于标准频率与待测正交信号相比为高频信号,因此能实现高精度的频率测量。
4.4 LCD控制组件的设计
中使用的LCD为128×64的点阵黑白屏,其内嵌控制器为KS0107/KS0108。该液晶模块的D/I引脚用于指示模块处理数据/命令;R/W引脚控制读/写操作;EN引脚为使能信号,CSl/CS2为屏幕的左右半屏控制器片选信号。
本系统在 IDE开发环境中设计应用程序,其程序流程如图9所示。

5 结论
①与传统的分立元件细分相比,本系统中使用了专用的插值芯片IC―NV,不但提高了系统集成度,而且在简化PCB设计的同时提高了细分数。嵌入式处理器使用,既提高了系统性能,又降低了费用。利用Component Editor工具设计的二次细分辨向模块、测速模块及LCD控制模块,可以随时根据需要更改驱动程序并可重复利用,实现了系统的集成和模块化。
②仿真结果表明,该系统设计简单灵活,稳定性高,实时性强,可通过调节插值芯片的插值数实现高达64倍的细分。

DIY机械键盘相关社区:机械键盘DIY



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭