位置:51电子网 » 技术资料 » 可编程技术

基于FPGA的可重构测速模块设计

发布时间:2007/8/20 0:00:00 访问次数:467

1 基于FPGA的可重构原理
FPGA(现场可编程门阵列)是一种可编程逻辑器件,他是在PAL,GAL等逻辑器件的基础上发 展起来的。同以往的PAL,GAL等相比,FPGA的规模大得多,而单位逻辑门的成本却低得多,多容量、低成本为FPGA在印花系统的应用创造了条件。利用FPGA可以实现I/O处理,脉冲发生、计数,数学运算等功能,可以大大简化数控系统的设计。FPGA最大的特点就是他的内 部逻辑的在线可重构性。目前主流的FPGA都是基于查找表结构的,查找表(160kUP Table)简称为LUT,LUT本质上就是一个RAM。如图1所示。在CMOS分离逻辑电路设计当中,通常采用图1(a)的方法实现反相器。但是在FPGA中,却是使用LUT来实现这一功能,如图1(b)所示。MUX的控制输入SEL被作为逻辑输入,而IN1,IN2则是反向器的查找表。这样做的原因有2点:
1) LUT是通用的,可以实现任何逻辑。
2) LUT可以高效地在硅片上实现。
由于SRAM的易失性,在系统上电后需要对FPGA进行配置,才能使FPGA进入工作状态。配置信息通常存放在PROM或者FLASH存储器当中,但是也可以使用其他设备,比如CPU完成这个工作。因此可以利用CPU对FPGA进行配置,将配置信息存储在CPU系统的存储器内,不但降低了成本,而且可以根据实际需要选择不同的配置信息。由于配置过程时间很短,通常在几百毫秒 内,因此可以在系统工作过程中重新对FPGA进行配置,实现实时可重构。


 
2 光电编码器的输出波型及其测速方法
光电编码器通常输出相差为90°的两路方波A相和B相,按照转向的不同,A相或者超前B相。在使用光电编码器测速时需要完成误计数抑制、鉴向和测速3大功能。
在误计数抑制方面,有模拟方式和数字方式。模拟的方法[1]采用RC电路将编码器传送来的方波信号转换为脉冲信号。数字方式多采用D触发器[2,3,4]对方波信号进行延迟之后再将经过延迟的波形进行逻辑运算,并根据两路波型之间相差90°的逻辑关系,消除因抖动或干 扰而可能带来的误计数,消除因振荡或电路干扰产生的毛刺的影响。其中D触发器使用的级数对误计数的抑制有直接关系[2]。在干扰严重的情况下,可以选择具有长线驱动接口的编码器,他将A、B相信号用RS 422(差动方式)分为A、A和B、B四根信号线传输。这样可以有效地抑制共模干扰,提高传输距离。
测速功能的算法主要有M法、T法、M/T法、M法和T法都简单容易实现,但是精度受速度的影 响。M/T法具有较高精度,M/T法和变M/T法是目前公认的高精度测速方法。 
 在测速实现方法上主要有纯硬件、纯软件、软硬件结合等方法。纯硬件方法[2,5]的优点是不需要CPU的干预自动完成,缺点是外围器件较多、只能实现M法和T法。纯软件[6]方法光电编码器的信号线与CPU中断输入和I/O口相连。优点是外部器件使用较少,缺点是占用CPU时间过多且测量精度不高。例如80C196,时钟频率为12 MHz,经过分频,T1定时器的基准频率是0.75 MHz,无论采用M法、T法、M/T法,精度都受到基准频率的限制,无法进一步提高。但是FPGA则可以大大提高基准频率,可以在本质上提高测速的精度。软硬结合的方法[3,4]是误计数抑制、鉴相的功能由外部硬件电路完成,而计数的功能由CPU完成,是以上2种方法的折衷,但是精度仍然受到限制。
3 采用FPGA的可重构设计
综上所述,利用FPGA内部可编程、可重构的特点,可以将以往分离设计的逻辑电路,利用FP GA内部丰富的逻辑资源,以及VerilogHDL具有语言门级电路描述强的特点,集成到系统内部 。可以根据应用的要求实现各种测速方法且不需要CPU的干预,将他作为一个功能 模块嵌入在系统当中,且可以根据不同的需要,选择不同的测速方法,而不需要修改硬 件电路,实现重构造。
1) M法可重构设计的实现 
 模仿传统的D触发器+计数器的结构,如图2所示。通过VerilogHDL构造了两个4级D触发器串联的误差抑制电路(图2中encode模块)和鉴向电路,同时利用Quarts提供的Mega Fu nction功能实现一个16位同步可逆计数器(图2中lpm_couter模块),以及一个16位的锁存器(图2中d模块)完成对编码器脉冲的M法测速逻辑电路。


 
仿真结果如图3所示,CHA,CHB信号进入FPGA,在分别经过第三、第四个触发器延时后的波 行为A3,A4和B3,B4,经过鉴向以后得到DIR和REV信号,且这两路信号是原来A相或者B相频 率的4倍。为了说明方便,图3的计数器仅测量了一个信号(DIR或REV)周期的时钟数。 由于 每次测量完成以后计数器的数值都会被复位,因而必须将计数器的数值进行锁存,这样CPU读出的才是有效的速度(图2的d模块)。从图3中可以看到,在经过d模块以后,speed_ou t信号稳定输出。此例中基准时钟信号CLOCK的频率为50 MHz。
2) M/T法可重构的实现
由于结合了M法和T法的优点,测速比较准确,缺点是需要扩展大量的外围芯片和占用单片机 中

1 基于FPGA的可重构原理
FPGA(现场可编程门阵列)是一种可编程逻辑器件,他是在PAL,GAL等逻辑器件的基础上发 展起来的。同以往的PAL,GAL等相比,FPGA的规模大得多,而单位逻辑门的成本却低得多,多容量、低成本为FPGA在印花系统的应用创造了条件。利用FPGA可以实现I/O处理,脉冲发生、计数,数学运算等功能,可以大大简化数控系统的设计。FPGA最大的特点就是他的内 部逻辑的在线可重构性。目前主流的FPGA都是基于查找表结构的,查找表(160kUP Table)简称为LUT,LUT本质上就是一个RAM。如图1所示。在CMOS分离逻辑电路设计当中,通常采用图1(a)的方法实现反相器。但是在FPGA中,却是使用LUT来实现这一功能,如图1(b)所示。MUX的控制输入SEL被作为逻辑输入,而IN1,IN2则是反向器的查找表。这样做的原因有2点:
1) LUT是通用的,可以实现任何逻辑。
2) LUT可以高效地在硅片上实现。
由于SRAM的易失性,在系统上电后需要对FPGA进行配置,才能使FPGA进入工作状态。配置信息通常存放在PROM或者FLASH存储器当中,但是也可以使用其他设备,比如CPU完成这个工作。因此可以利用CPU对FPGA进行配置,将配置信息存储在CPU系统的存储器内,不但降低了成本,而且可以根据实际需要选择不同的配置信息。由于配置过程时间很短,通常在几百毫秒 内,因此可以在系统工作过程中重新对FPGA进行配置,实现实时可重构。


 
2 光电编码器的输出波型及其测速方法
光电编码器通常输出相差为90°的两路方波A相和B相,按照转向的不同,A相或者超前B相。在使用光电编码器测速时需要完成误计数抑制、鉴向和测速3大功能。
在误计数抑制方面,有模拟方式和数字方式。模拟的方法[1]采用RC电路将编码器传送来的方波信号转换为脉冲信号。数字方式多采用D触发器[2,3,4]对方波信号进行延迟之后再将经过延迟的波形进行逻辑运算,并根据两路波型之间相差90°的逻辑关系,消除因抖动或干 扰而可能带来的误计数,消除因振荡或电路干扰产生的毛刺的影响。其中D触发器使用的级数对误计数的抑制有直接关系[2]。在干扰严重的情况下,可以选择具有长线驱动接口的编码器,他将A、B相信号用RS 422(差动方式)分为A、A和B、B四根信号线传输。这样可以有效地抑制共模干扰,提高传输距离。
测速功能的算法主要有M法、T法、M/T法、M法和T法都简单容易实现,但是精度受速度的影 响。M/T法具有较高精度,M/T法和变M/T法是目前公认的高精度测速方法。 
 在测速实现方法上主要有纯硬件、纯软件、软硬件结合等方法。纯硬件方法[2,5]的优点是不需要CPU的干预自动完成,缺点是外围器件较多、只能实现M法和T法。纯软件[6]方法光电编码器的信号线与CPU中断输入和I/O口相连。优点是外部器件使用较少,缺点是占用CPU时间过多且测量精度不高。例如80C196,时钟频率为12 MHz,经过分频,T1定时器的基准频率是0.75 MHz,无论采用M法、T法、M/T法,精度都受到基准频率的限制,无法进一步提高。但是FPGA则可以大大提高基准频率,可以在本质上提高测速的精度。软硬结合的方法[3,4]是误计数抑制、鉴相的功能由外部硬件电路完成,而计数的功能由CPU完成,是以上2种方法的折衷,但是精度仍然受到限制。
3 采用FPGA的可重构设计
综上所述,利用FPGA内部可编程、可重构的特点,可以将以往分离设计的逻辑电路,利用FP GA内部丰富的逻辑资源,以及VerilogHDL具有语言门级电路描述强的特点,集成到系统内部 。可以根据应用的要求实现各种测速方法且不需要CPU的干预,将他作为一个功能 模块嵌入在系统当中,且可以根据不同的需要,选择不同的测速方法,而不需要修改硬 件电路,实现重构造。
1) M法可重构设计的实现 
 模仿传统的D触发器+计数器的结构,如图2所示。通过VerilogHDL构造了两个4级D触发器串联的误差抑制电路(图2中encode模块)和鉴向电路,同时利用Quarts提供的Mega Fu nction功能实现一个16位同步可逆计数器(图2中lpm_couter模块),以及一个16位的锁存器(图2中d模块)完成对编码器脉冲的M法测速逻辑电路。


 
仿真结果如图3所示,CHA,CHB信号进入FPGA,在分别经过第三、第四个触发器延时后的波 行为A3,A4和B3,B4,经过鉴向以后得到DIR和REV信号,且这两路信号是原来A相或者B相频 率的4倍。为了说明方便,图3的计数器仅测量了一个信号(DIR或REV)周期的时钟数。 由于 每次测量完成以后计数器的数值都会被复位,因而必须将计数器的数值进行锁存,这样CPU读出的才是有效的速度(图2的d模块)。从图3中可以看到,在经过d模块以后,speed_ou t信号稳定输出。此例中基准时钟信号CLOCK的频率为50 MHz。
2) M/T法可重构的实现
由于结合了M法和T法的优点,测速比较准确,缺点是需要扩展大量的外围芯片和占用单片机 中

相关IC型号

热门点击

 

推荐技术资料

电动吸锡烙铁
    用12V/2A的电源为电磁阀和泵供电,FQPF9N50... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!