位置:51电子网 » 技术资料 » 接口电路

基于USB的高速硬件精插补器设计

发布时间:2008/6/3 0:00:00 访问次数:440

  摘要:介绍了一种基于usb通讯的高速硬件精插补器的设计,设计中采用fpga实现精插补,并通过usb接口实现与上位pc机的高速数据通讯。该精插补器具有设计简单、易于实现、插补速度高等特点,可适用于高速数控系统的开发。
  关键词:usb通讯;fpga;精插补器

前言

  数控系统发展到90年代后,基于个人计算机(pc)的数控系统(简称pcnc)成为cnc发展的主要方向[1]。目前pc和nc的连接主要采用两种形式,一是通过pc机的串口、并口,这种方式接口简单、连接方便,开发费用低,但由于传输速度低,已不能满足现代数控系统的实时性要求。二是采用isa和pci插卡的形式,nc功能插卡化,并将其插入pc机的标准isa/pci插槽,可方便实现与用户接口、主机系统通讯的开放化,这是pcnc系统的一种主流形式,但pci总线接口复杂,驱动程序、硬件接口开发难度大,开发成本较高,开发周期也较长,而isa总线由于速度较慢已随着计算机的发展逐渐被淘汰。

  随着计算机总线结构的变革,必将影响数控系统的体系结构,串行总线的应用将极大地改变现有的传统数控系统的结构形式。串行总线连接引脚数量少,连接简单,成本较低,系统可靠性高,usb作为一种新的通用串行总线标准,应用越来越广泛[2]。usb总线具有较强的纠错能力、速度快、不占用系统资源、驱动程序开发简单的特点,较好地满足了现代数控系统的要求,因此,本文把usb这种新型接口和通讯方式应用到数控系统,设计了一种基于usb通讯的硬件高速精插补器。

1硬件精插补器的工作原理

  硬件精插补器通过usb接口从上位pc机获取粗插补数据,由fpga实现高速精插补输出。精插补器主要由usb接口芯片、微控制器、数据缓存、fpga等部分组成,如图1所示。各部分功能如下:

  ·微控制器通过usb从上位pc机获取粗插补数据和机床控制信息,通过数据缓存传送给fpga;

  ·usb接口芯片负责处理所有与usb总线事务有关的任务,如总线唤醒、数据接受/发送、打包、crc校验等;

  ·fpga通过微控制器获取粗插补数据及机床控制信息,实现精插补输出;

  ·数据缓存用于缓存粗插补数据,以协调微控制器和精插补控制器的速度差异。

  精插补器通过微控制器的固件程序和上位pc机应用程序及驱动程序的协调处理,完成高速的数据通讯。


2 硬件设计

2.1 usb通讯接口设计

  usb 外围接口芯片采用philips公司的支持usb1.1协议的芯片pdiusbd12(以下简称d12), 该芯片性价比高,集成了320字节的fifo内存、sie(serial interface engine)、收发器以及电压调整器, 主端点有双缓存配置,增加吞吐量,容易实现实时数据传输[3]。由于其为纯粹的usb外设接口芯片仅处理usb总线相关事务,必须有一个外部微处理器来进行协议处理和数据交换,设计中采用philips公司内核基于8位80c51单片机增强型派生产品p89c58x2fn ,它完全保留了80c51指令系统和硬件结构的大框架,而且它在多个方面进行了加强、扩展和创新。如片上的flash eprom扩展到32kb,满足当今用嵌入式高级语言对片上大存储容量的需要;6个中断源和4个中断优先级满足数控系统的多级中断要求;速度高达33m有利于提高对d12的读写速度。

  d12采用数据/地址总线复用方式和p89c58x2fn相连接,d12相当于一位(两个地址)的外部ram,对d12的操作就像对外部ram操作一样,低位地址线p0.0通过373地址锁存后与d12的a0相连,高位p2.5产生片选信号,这样d12的地址为2000h和2001h, d12的通信采用这样的方式:一个偶数地址表示送往d12的是读/写数据,一个奇数地址表示往d12 写入一个命令,这是由d12的内部逻辑来实现的,即d12的数据地址为2000h,命令地址为2001h。d12的中断引脚接p89c58x2fn的外部中断1,要注意的是中断只能采用电平触发方式,低电平有效。

2.2 fpga设计

  随着集成度高、速度快的可编程门阵列fpga(filed rogramable gate array)的出现和eda工具的完善,使得硬件电路的设计过程大大简化,并可通过波形仿真工具验证电路的功能正确性,有效地缩短了电路的开发周期,提高了设计的灵活性,可弥补传统硬件插补器的缺点。因此,本文采用fpga来实现精精插。具体设计中采用了altera公司的fpga芯片epf10k10lc84-4,可实现三轴直线、两轴圆弧联动精插补,产生进给序列脉冲,用于三轴步进或伺服电机的驱动控制。

2.2.1 精插补原理

  精插补器的功能是接收通过粗插补计算得到的一个插补周期内各轴的进给量(微段直线),并将其转化成频率均匀的进给脉冲,输出给各轴的位置伺服控制器。脉冲转换常用的方法是采用计数器和分频器,其主要优点是频率均匀,但存在脉冲截断误差。本文采用了基于dda(数字微分分析器)插补

  摘要:介绍了一种基于usb通讯的高速硬件精插补器的设计,设计中采用fpga实现精插补,并通过usb接口实现与上位pc机的高速数据通讯。该精插补器具有设计简单、易于实现、插补速度高等特点,可适用于高速数控系统的开发。
  关键词:usb通讯;fpga;精插补器

前言

  数控系统发展到90年代后,基于个人计算机(pc)的数控系统(简称pcnc)成为cnc发展的主要方向[1]。目前pc和nc的连接主要采用两种形式,一是通过pc机的串口、并口,这种方式接口简单、连接方便,开发费用低,但由于传输速度低,已不能满足现代数控系统的实时性要求。二是采用isa和pci插卡的形式,nc功能插卡化,并将其插入pc机的标准isa/pci插槽,可方便实现与用户接口、主机系统通讯的开放化,这是pcnc系统的一种主流形式,但pci总线接口复杂,驱动程序、硬件接口开发难度大,开发成本较高,开发周期也较长,而isa总线由于速度较慢已随着计算机的发展逐渐被淘汰。

  随着计算机总线结构的变革,必将影响数控系统的体系结构,串行总线的应用将极大地改变现有的传统数控系统的结构形式。串行总线连接引脚数量少,连接简单,成本较低,系统可靠性高,usb作为一种新的通用串行总线标准,应用越来越广泛[2]。usb总线具有较强的纠错能力、速度快、不占用系统资源、驱动程序开发简单的特点,较好地满足了现代数控系统的要求,因此,本文把usb这种新型接口和通讯方式应用到数控系统,设计了一种基于usb通讯的硬件高速精插补器。

1硬件精插补器的工作原理

  硬件精插补器通过usb接口从上位pc机获取粗插补数据,由fpga实现高速精插补输出。精插补器主要由usb接口芯片、微控制器、数据缓存、fpga等部分组成,如图1所示。各部分功能如下:

  ·微控制器通过usb从上位pc机获取粗插补数据和机床控制信息,通过数据缓存传送给fpga;

  ·usb接口芯片负责处理所有与usb总线事务有关的任务,如总线唤醒、数据接受/发送、打包、crc校验等;

  ·fpga通过微控制器获取粗插补数据及机床控制信息,实现精插补输出;

  ·数据缓存用于缓存粗插补数据,以协调微控制器和精插补控制器的速度差异。

  精插补器通过微控制器的固件程序和上位pc机应用程序及驱动程序的协调处理,完成高速的数据通讯。


2 硬件设计

2.1 usb通讯接口设计

  usb 外围接口芯片采用philips公司的支持usb1.1协议的芯片pdiusbd12(以下简称d12), 该芯片性价比高,集成了320字节的fifo内存、sie(serial interface engine)、收发器以及电压调整器, 主端点有双缓存配置,增加吞吐量,容易实现实时数据传输[3]。由于其为纯粹的usb外设接口芯片仅处理usb总线相关事务,必须有一个外部微处理器来进行协议处理和数据交换,设计中采用philips公司内核基于8位80c51单片机增强型派生产品p89c58x2fn ,它完全保留了80c51指令系统和硬件结构的大框架,而且它在多个方面进行了加强、扩展和创新。如片上的flash eprom扩展到32kb,满足当今用嵌入式高级语言对片上大存储容量的需要;6个中断源和4个中断优先级满足数控系统的多级中断要求;速度高达33m有利于提高对d12的读写速度。

  d12采用数据/地址总线复用方式和p89c58x2fn相连接,d12相当于一位(两个地址)的外部ram,对d12的操作就像对外部ram操作一样,低位地址线p0.0通过373地址锁存后与d12的a0相连,高位p2.5产生片选信号,这样d12的地址为2000h和2001h, d12的通信采用这样的方式:一个偶数地址表示送往d12的是读/写数据,一个奇数地址表示往d12 写入一个命令,这是由d12的内部逻辑来实现的,即d12的数据地址为2000h,命令地址为2001h。d12的中断引脚接p89c58x2fn的外部中断1,要注意的是中断只能采用电平触发方式,低电平有效。

2.2 fpga设计

  随着集成度高、速度快的可编程门阵列fpga(filed rogramable gate array)的出现和eda工具的完善,使得硬件电路的设计过程大大简化,并可通过波形仿真工具验证电路的功能正确性,有效地缩短了电路的开发周期,提高了设计的灵活性,可弥补传统硬件插补器的缺点。因此,本文采用fpga来实现精精插。具体设计中采用了altera公司的fpga芯片epf10k10lc84-4,可实现三轴直线、两轴圆弧联动精插补,产生进给序列脉冲,用于三轴步进或伺服电机的驱动控制。

2.2.1 精插补原理

  精插补器的功能是接收通过粗插补计算得到的一个插补周期内各轴的进给量(微段直线),并将其转化成频率均匀的进给脉冲,输出给各轴的位置伺服控制器。脉冲转换常用的方法是采用计数器和分频器,其主要优点是频率均匀,但存在脉冲截断误差。本文采用了基于dda(数字微分分析器)插补

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!