新闻中心

EEPW首页>模拟技术>设计应用> 光栅电子细分电路设计

光栅电子细分电路设计

作者: 时间:2013-11-25 来源:网络 收藏
XT-TRANSFORM: none; TEXT-INDENT: 0px; MARGIN: 0px 0px 20px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 14px/25px 宋体, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">


3.4 差值电路的实现
IC—NV是IC—HAUS公司的单片A/D转换芯片,能够对输入的sinθ/COSθ信号进行插值,从而输出增量的正交编码信号。IC—NV芯片的内部结构及外围电路如图5所示。其内部集成了高速的比较器和毛刺滤波器,以保证信号的高速转换和完整性;输入/输出引脚具有ESD防护,且与TTL、CMOS电平兼容,接口简单可靠。


sinθ/cosθ信号首先进入芯片内部的前置仪表放大器。其增益取决于输入信号的电平及SG0、SGl引脚的状态。通过将SGO、SGl置为高、低电平或开路来选择不同的增益值,以适应峰峰值为20 mV~1.3 V的差分信号输入(单端信号峰峰值可达2.6 V)。本系统中,sinθ和cosθ信号使用单端输入方式,峰峰值为2 V,直流偏置为2.5V。因此在使用时需将NS和NC引脚与VREF(2.5 V)相连,以消除直流偏置。
前置仪表放大器输出的信号经过高速转换核心和转换间距控制单元后进入后端信号处理单元。该单元根据不同的插值因子(Interpolat-ion Factor,IPF)输出相应的方波信号。9种不同的插值因子可以通过SF0和SFl引脚来配置,最高可以实现每个输入信号周期的64倍细分。

4信号处理电路的FPGA实现
4.1 NioslI处理器及其硬件平台
NioslI处理器是A1tera公司在2004年推出的第二代软核CPU。NiosII软核处理器基于哈佛总线结构,采用32位RISC单周期指令集、32位数据总线及流水线技术,支持32个外部中断和可配置的MMU/MPU。NiosII有3个型号:e型、s型、f型。它们分别是针对不同应用要求优化的:e型的面积最小,只需550个LE(逻辑单元);f型的性能最高,最大性能可达200DMIPs以上;s型又叫标准型,其面积与性能介于e型与f型之间。
NiosII处理器通过AvaIon总线与外设进行连接。Avalon接口规范定义了主端口和从端口所需的信号和时序。它能以最少的逻辑资源来实现数据总线复用、地址译码、等待周期产生、地址对齐、中断优先级产生及仲裁等操作。用户可以根据主从端口的规范在SOPC Builder中创建各种自定义组件,并挂到Avalon总线上。NiosII处理器支持多达256条用户定制指令,极大地提高了软件的执行效率。这些优势使得NiosII系统成为可裁剪、可调整、可扩展的系统,更使其成为软硬件紧密融合的系统。
系统中选用CycloneII系列的FPGA EP2C5Q208,并且扩展了64 Mb SDRAM HY57 V641620和16 Mb Flash AMD29LVl60来构建NiosII系统。 EP2C5系列FPGA内部拥有4 608个Le和119 808位的RAM,并提供2个PLL和158个用户引脚,完全能够满足本系统设计的需求。系统选用主动串行配置芯片EPCS1,该非易失性芯片具有1 Mb的内部容量,远大于EP2C5Q208所支持的最大配置文件的大小。当系统上电时,EPCS就可将配置数据重载到FPGA的配置RAM中。
4.2 二次细分辨向组件设计
二次细分辨向组件的设计包括组件逻辑的硬件描述文件和软件文件的设计。其中,硬件描述文件由任务逻辑模块、寄存器描述模块和Avalon接口模块组成。软件文件由HAL驱动文件的源文件(my_avalon-quadrature.c)、头文件(my_avalon_quadrature.h)和寄存器访问的头文件(my_avalon_quadrature_regs.h)组成。这些文件的组织结构如图6所示。


使用SOPC Builder中的Component Editor工具添加相应的硬件描述文件、信号接口和软件文件,便可以方便地将用户自定义组件集成到系统元件库中去。为了实现NiosII处理器与自定义组件之间交换数据,首先需要定义一组寄存器,并对寄存器进行地址分配,同时根据Aval-on总线的时序对寄存器进行存取操作。本组件中定义的脉冲计数寄存器Countnum_reg[31:0]和方向寄存器Dir_reg均为只读寄存器,且相对地址分别为O和1。

任务逻辑设计是自定义组件设计过程中最重要的部分,主要实现插值芯片输出正交信号的四细分,同时更新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所示。



关键词:光栅电子细分电路设计

评论


相关推荐

技术专区

关闭