77
基基PCI 基USB基基基基基基基基基基基基基 基 开开开开开开 开开开开开开开开开开开开开开 开开开开开开开开开 开开 PC开开开开 开开开开 开开开开开 开开开开开开开开开开开开开开开开开开开开 开开开开开开开开开开开开开开开开开开开开 开开开开开开开 开开开 ,,、 开开开开开 开开开开开 开开开开开开开开开开 、、、。 开开PC开开开开DSP开CPLD/FPGA开开开开开开开开开开开开开开开开开PC开开开开开开开开开开开 开开开开开开开开开开开开开开开开开开开开开开开开开 开开 开开开开开开开开开开 开开开开开开 开开开开开开开开 一,、、 开开开开开开开 开开开开开开开 ,。 开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开PCI开开开开开 ISA开开开开开开开开开开开开开开开开开USB开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开开 开开开开 开开开开开开开开开开开 开开开开开开开开开 开开开开开开开 一,、, USB开开 开开开 开开开开开 、一 开开开 开开开DSP开开TMS320LF2407开开开开开 开开开开 PCI开 USB开开开开开开开开开开开开开开开 开开开 PCI 9052开ISP-1581开开开开开开开开PC-DSP开开 开开 开开 CPLD开开EPM7128开开开开QEP开开开开开开开开开开开开开开开开开 开开开开开开开开开开开开 开开开开开开开开开开开开开开开开开开开开开开开DSP开开开开开开开开开开开 开开开开开开开开开开开开开 开开 ,, 开开开开开开开PID开开开开 开开开开开开 开开开开开开开开开开 开开 /开开/NURBS开开开开开 开开开 。, 开开开开开开开开开开开开开开开开开开开 开开开开 开开开开开开开开开 开开开开开开开开开开 开开 开开开开开 开开开开开开开 开开开开开开 开开开开开开开开开开 。,,,,。 基基基 开开开开开开开开USB 2.0开开PCI开开NURBS开开DSP -I-

哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

基 于 PCI 和 USB 总 线 的 开 放 式 运 动 控 制器 开 发 摘 要

开放式数控系统已成为当今数控技术的发展方向,目前的开放式数控系统多以PC 机为基础,配上各种开放式运动控制器。运动控制器的应用已走出机械加工行业,越来越多地应用于其它工业自动化设备控制,如机器人控制、电子机械、木工机械、纺织机械、印刷机械等诸多行业。

基于PC 总线的以DSP和CPLD/FPGA 作为核心处理器的开放式运动控制器将PC 机的信息处理能力和开放式的特点与运动控制器的运动轨迹控制能力有机地结合在一起,具有信息处理能力强、开放程度高、运动轨迹控制准确、通用性好等优点,因此发展迅速。今后基于计算机标准总线的开放式运动控制器仍然是市场发展的主流。PCI 总线解决了ISA 总线的响应速度较慢的瓶颈,近几年,基于USB总线的设备也因其优点而得以迅速发展。

针对国内外开放式运动控制器存在的一些缺点,诸如国外产品价格太高、技术支持相对较差,国内产品不支持USB总线、存在一些技术上的不足等,本文以DSP芯片TMS320LF2407 作为处理器,分别基于PCI 和USB总线开发了多轴开放式运动控制器,并采用PCI 9052 和ISP-1581 作为接口芯片构建PC-DSP 通讯电路,利用CPLD 器件EPM7128构建两路QEP信号处理电路并辅助完成译码等功能,同时开发了接口卡负责完成控制卡与外部器件的互联并进行光电隔离和电平转换。

DSP除了完成与上位机的通讯,内部还嵌入了许多控制算法,包括基于前馈补偿的PID 控制算法、参数曲线的自适应时间分割插补算法、直线/ 圆弧/NURBS 插补算法等。同时,提供了丰富的动态链接库函数供用户调用,并在此基础上开发了测试软件。实验和仿真结果表明,系统设计合理,具有实时性好,跟随误差小,加工精确度高等优点。关键词 开放式运动控制器;USB 2.0 协议;PCI 总线;NURBS 插补;

DSP

-I-

Page 2: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

Development of Open-Type Motion Controller Based

on PCI and USB Bus Abstract

The open-type numerical control system has become the development trend of NC technology nowadays, and the present NC systems are mainly based on PCs (personal computers) with various motion controllers. The application of motion controllers has extended out of the machine-processing field; more and more are applied in control of other industrial automation devices, such as robot control, electronic machinery, woodworking machinery, textile machinery, printing mechanism, and so on.

The open-type motion controller has developed rapidly, which uses DSP and CPLD/FPGA as core processors and combines the information-handling capacity and the open-type characteristic of PC with the controller’s motion path control ability, having many advantages such as strong information-handling capacity, good open-type characteristic, precise motion path, good versatility. From now on, the development of open-type motion controllers based on computer standard bus is still the market mainstream. The PCI bus solves the problem of low response velocity of ISA bus, and in recent years, equipments based on USB bus have also developed rapidly because of the merits of USB.

Aiming at the shortcomings of domestic and foreign open-type motion controllers, for example, the overseas product price is high, the technical support is relatively weak, and the domestic product does not support USB bus, existing some technical flaws. this thesis develops multi-axis motion controllers based on PCI bus and USB bus respectively with TMS320LF2407 as their processors. PCI 9052 and ISP-1581 chips are adopted to construct the PC-DSP communication channel; CPLD component EMP7128 is used to achieve the functions of two groups of QEP signal processing and address decoding; at the same time, the auxiliary I/O card is also developed to connect the controller and external components after photo-electricity isolation and level transformation.

Besides the communicating with PCs, the DSP has also been embedded many control algorithms, including the PID control algorithm with feed-forward

-II-

Page 3: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

compensation, the parameter curve auto-adapted time-division interpolation algorithm, the line/circle /NURBS interpolation algorithm, etc. A lot of dynamic link library functions are also provided for the users, and test software is developed with the functions. Experiment and simulation result indicates that the system is designed reasonably, with many advantages such as good real-time performance, little following error and high processing precision.

Key words open-type motion controller; USB 2.0 protocol; PCI bus; NURBS interpolation; DSP

-III-

Page 4: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

目 录摘要...............................................................................................................................IAbstract........................................................................................................................II

第 1章 绪论..................................................................................................................11.1 开放式运动控制技术概述................................................................................1

1.1.1 开放式数控系统.........................................................................................11.1.2 基于 PC机的开放式运动控制器...............................................................2

1.2 开放式运动控制器研究现状、不足及发展趋势............................................41.2.1 运动控制器的分类.....................................................................................41.2.2 国内外开放式运动控制器的研究现状.....................................................51.2.3 目前基于 PC的运动控制器存在的不足...................................................61.2.4 基于 PC的开放式运动控制器的发展趋势...............................................7

1.3 课题来源及主要研究内容................................................................................8第 2章 伺服系统控制关键技术研究..........................................................................9

2.1 运动系统的控制技术概述................................................................................92.2 伺服电机控制原理............................................................................................9

2.2.1 交流伺服电机介绍.....................................................................................92.2.2 交流伺服电机的控制模式.......................................................................102.2.3 伺服电机的 PID调节方案.......................................................................11

2.3 参数曲线的时间分割插补算法......................................................................142.3.1 时间分割插补原理...................................................................................142.3.2 参数曲线自适应插补算法.......................................................................14

2.4 NURBS插补原理............................................................................................172.4.1 NURBS插补介绍.....................................................................................172.4.2 三次NURBS曲线的数学描述................................................................172.4.3 NURBS曲线插值原理.............................................................................19

2.5 本章小结..........................................................................................................21第 3章 PCI和USB总线规范与操作.......................................................................22

3.1 PCI总线...........................................................................................................223.1.1 PCI总线的基本概念................................................................................22

Page 5: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

3.1.2 PCI总线的特点........................................................................................223.1.3 PCI局部总线信号定义............................................................................233.1.4 PCI总线协议基础....................................................................................24

3.2 USB总线..........................................................................................................273.2.1 USB的优点...............................................................................................273.2.2 USB系统的分层结构...............................................................................273.2.3 USB数据通讯结构...................................................................................293.2.4 USB的控制传输与中断传输...................................................................303.2.5 USB软件编程基础...................................................................................33

3.3 本章小结.........................................................................................................34第 4章 PC机与DSP通讯电路设计.........................................................................35

4.1 运动控制器硬件电路总体设计方案..............................................................354.2 DSP 芯片 TMS320LF2407介绍......................................................................364.3 PCI总线与DSP通讯电路设计......................................................................37

4.3.1 PCI总线接口电路实现方法....................................................................374.3.2 PCI总线接口芯片选择............................................................................384.3.3 PCI 9052的主要特点...............................................................................384.3.4 PCI 9052的工作原理...............................................................................394.3.5 E2PROM的配置........................................................................................404.3.6 PCI-DSP通讯电路....................................................................................41

4.4 USB总线与DSP通讯电路设计.....................................................................434.4.1 USB接口芯片选择...................................................................................434.4.2 ISP-1581的特性.......................................................................................434.4.3 ISP-1581的引脚介绍...............................................................................444.4.4 ISP-1581相关寄存器简介.......................................................................454.4.5 USB-DSP通讯电路设计..........................................................................47

4.5 本章小结..........................................................................................................48第 5章 运动控制器硬件电路设计............................................................................49

5.1 DSP辅助电路..................................................................................................495.1.1 JTAG测试接口电路.................................................................................495.1.2 供电电路...................................................................................................505.1.3 时钟电路...................................................................................................50

5.2 存储器扩展电路..............................................................................................51

Page 6: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

5.3 控制电压转换电路..........................................................................................515.4 CPLD处理电路...............................................................................................52

5.4.1 地址译码...................................................................................................535.4.2 正交编码脉冲处理及计数.......................................................................535.4.3 中断逻辑...................................................................................................56

5.5 接口卡电路分析..............................................................................................565.5.1 差分信号处理电路...................................................................................565.5.2 输入输出信号处理电路...........................................................................57

5.6 运动控制器硬件开放性的实现......................................................................595.7 本章小结..........................................................................................................59第 6章 运动控制器软件开发及调试........................................................................60

6.1 控制器软件开发概述......................................................................................606.2 DSP底层程序开发..........................................................................................60

6.2.1 USB控制器的固件(Firmware)编程...................................................616.2.2 DSP核心程序...........................................................................................64

6.3 设备驱动程序开发..........................................................................................696.4 动态链接库函数开发......................................................................................70

6.4.1 动态链接库函数及其优点.......................................................................706.4.2 动态链接库的设计...................................................................................716.4.3 用DLL实现运动控制器的开放式功能..................................................72

6.5 测试软件开发..................................................................................................736.6 本章小结..........................................................................................................76结论............................................................................................................................77参考文献....................................................................................................................78攻读学位期间发表的学术论文................................................................................81致谢............................................................................................................................82

Page 7: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

第1章 绪论1.1 开放式运动控制技术概述1.1.1 开放式数控系统

数控(NC)或计算机数控(CNC)系统作为制造形状复杂、高质量、高精度产品所必备的基础设备,已成为当今先进制造技术的一个重要组成部分。然而,FANUC、SIMENS等常规 CNC系统为专用结构 CNC,其组成的硬件模块和软件结构绝大多数是专用的、互不兼容的系统,各模块间的交互方式、通信机制也各不相同,这就造成了不同厂家控制系统的相对独立,彼此封闭。随着技术的进步,市场竞争的加剧,这种专用体系结构的数控系统越来越暴露出其固有的缺陷。一方面,各控制系统间互连能力差,影响了系统的相互集成,风格不一的操作方式以及专用件的大量使用,不但使用户培训费用增加,还给数控设备用户(NC系统的最终用户)带来很多不便;另一方面,系统的封闭性使它的扩充和修改极为有限,造成数控设备制造商(NC系统中间用户)对系统供应商的依赖,并难以将自己的专门技术、工艺经验集成入控制系统并形成自己的产品特点,这将不利于提高主机产品的竞争力。此外,专用的硬软件结构也限制了系统本身的持续开发,使系统的开发投资大、周期长、风险高、更新换代慢、不利于数控产品的技术进步。总之,数控系统的这一现状已不能适应当今制造业市场变化与竞争,也不能满足现代制造业向信息化、模块化和敏捷制造模式发展的需要。

开放式数控系统已成为当今数控技术的发展方向[1],研究开发开放式数控系统的主要目的是解决变化频繁的需求与封闭控制系统之间的矛盾,从而建立一个统一的可重构的系统平台,增强数控系统的柔性。通俗地讲,开放的目的就是使 NC控制器与当今的 PC机类似,使整个系统构筑于一个开放的平台之上,具有模块化组织结构,允许用户根据需要进行选配和集成,更改或扩展系统的功能,迅速适应不同的应用需求,而且,组成系统的各功能模块可以来源于不同的部件供应商并相互兼容。

- 1 -

Page 8: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

开放式运动控制系统的研究始于 1987年,美国空军在美国政府资助下发表了著名的 NGC(下一代控制器)研究计划,提出了开放体系结构控制器的概念和开放系统体系结构标准规格(OSACA)。自 1996年开始,美国几个大的科研机构对NGC计划分别发表了相应的研究内容[2],如美国国际标准研究院提出了 EMC(增强型机床控制器);由美国通用、福特和克莱斯勒三大汽车公司提出和研制了OMAC(开放式模块化体系结构控制器),其目的是用更开放、更加模块化的控制结构使制造系统更加具有柔性、更加敏捷,该计划启动后不久便公布了一个名为 OMAC APT的规范,并促成了一系列相关研究项目的运行。

开放式数控系统能够在多种平台上运行,可以和其他系统互操作,并能给用户提供一种统一风格的交互方式。开放式数控系统应具有以下基本特征:

1.可互操作性。通过提供标准化接口、通信和交互机制,使不同功能模块能以标准的应用程序接口运行于系统平台之上,并获得平等的相互操作能力。

2.可移植性。系统的功能软件与设备无关即应用统一的数据格式,交互模型控制机理,使构成系统的各功能模块可来源于不同的开发商,并且通过一致的设备接口,使各功能模块能运行于不同供应商提供的硬件平台之上。

3.档次皆宜性。CNC系统的功能和规模可以灵活设置、方便修改,既可增加硬件或软件构成功能更强的系统,也可以裁减其功能以适应低端应用。

4.可互补性。指构成系统的各硬件模块、功能软件的选用不受单一供应商的控制,可根据其功能、可靠性及性能要求相互替换,而不影响系统整体的协调运行。1.1.2 基于 PC 机的开放式运动控制器

目前的开放式数控系统多以 PC机为基础,配上各种开放式运动控制器,如图 1-1所示,这是一个非常典型的开放式数控系统模型[3]。

- 2 -

PC机 运动控制器 驱动器及接口 伺服电机、编码器

编码器反馈 图 1-1 典型的开放式数控系统模型

Fig.1-1 Typical model for open-type NC system

Page 9: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

运动控制器是通过由电机驱动的执行机构对设备进行运动控制,以实现预定运动轨迹目标的装置,它是数控系统中的重要部件。由于它具有极大的灵活性和良好的运动轨迹控制能力,从而使许多工业生产设备焕发出勃勃生机,它是广义上的数控装置。数控技术的发展趋势就是采用运动控制器的开放式的数控系统。随着自动化技术的进一步发展,运动控制器的应用已走出机械加工行业,越来越多地应用于其它工业自动化设备控制,如机器人控制、电子机械、木工机械、纺织机械、印刷机械等诸多行业。计算机技术的发展在工业控制领域导致了技术面貌的迅速改变。工业控制

机,特别是采用 PC技术的工业 PC机的大量涌现,大大的推动和促进了开放式运动控制系统的发展。基于工业 PC的运动控制器可以利用 PC强大的软件环境和技术支持,摆脱专用封闭式控制系统的束缚和不便,树立运动控制系统的新概念。

PC机技术引入运动控制领域,可以从两方面来考虑其对于开放式运动控制技术发展所带来的作用:

1.软件方面,利用计算机的高效运算功能、管理与监控能力以及丰富的软件资源,可以实现高级的控制算法、轨迹插补算法以及补偿算法,改善运动控制软件,提高伺服扫描速度和系统的分辨率,实现最小的移动单位和最大的进给速度,便于用微小的程序段连续以高速度、高精度实现轨迹形状复杂曲线和曲面运动,使控制单元精细化,利用其提供的标准应用程序接口,可以方便的实现数控系统的移植性和互操作性。

尤其是在需要大量轨迹插补运算的运动控制系统中,具有 PC总线的计算机系统由于其丰富的软件资源而得到越来越广泛的应用。在这类系统中,坐标变换、轨迹规划、粗插补运算等由 PC机完成,而多轴伺服电机的实时控制由运动控制器实现。

2.硬件方面,利用 PC通用平台,可以建立开放式的模块化结构的伺服运动控制系统,同时伺服控制器的模块化为直接利用计算机做伺服控制算法的研究和实时监控提供了方便,也为多轴联动参数匹配设计提供了方便,在高性能的硬件支持下,为进一步研制开发更高性能的智能型伺服模板打下基础,也为运动控制系统的级联运行及并入网络构成 FMC、FMS与 CIMS 创造了条件。

- 3 -

Page 10: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

1.2 开放式运动控制器研究现状、不足及发展趋势1.2.1 运动控制器的分类

目前,运动控制器生产厂商提供的运动控制器主要包括如下 3 类[4]:1.基于通用微处理器型。以 8031、8088等通用微处理器为核心器件,外

加存储器、编码器信号处理电路及 D/A转换电路等组成控制系统。其位置、速度等控制由事先编好固化在存储器中的程序实现。此方案成本相对较低,但速度较慢,精度不高,采用的元器件较多,可靠性低,体积比较大,而且控制参数不易更改,软硬件设计工作量大,在一些只需要低速点位运动控制和对轨迹要求不高的轮廓运动控制场合应用。

2.以专用芯片(ASIC)作为核心处理器的运动控制器。常用的专用电机控制芯片有 LM628、MAX314、HCPL1100等,用一个芯片即完成速度曲线规划、PID 伺服控制算法、编码器信号的处理等多种功能。一些需要用户经常更改的参数如电机位置、速度、加速度、PID参数等均在芯片内部的 RAM 区内,可由 PC机用指令很方便的修改。但由于数据传输速度、运算速度的限制,复杂的控制算法和功能很难实现。这类控制器对单轴的点位控制场合是基本满足要求,但对于要求多轴协调运动和高速轨迹插补控制的设备,这类运动控制器不能满足要求。另外,由于硬件资源的限制,这类控制器的圆弧插补算法通常都采用逐点比较法,插补的精度也不高,特别是对于如模具雕刻这样的需要大量的小线段连续运动的场合,不能使用这类控制器。

3.基于 PC总线的以DSP和 CPLD/FPGA作为核心处理器的开放式运动控制器。以 PC机作为信息处理平台,运动控制器以插卡形式嵌入 PC机,即 PC+运动控制器的模式。这样将 PC机的信息处理能力和开放式的特点与运动控制器的运动轨迹控制能力有机地结合在一起,具有信息处理能力强、开放程度高、运动轨迹控制准确、通用性好的特点。这类运动控制器通常都能提供多轴协调运动控制与复杂的运动轨迹规划、实时的插补运算、误差补偿、伺服滤波算法,能够实现闭环控制。由于采用 CPLD/FPGA技术来进行硬件设计,方便运动控制器供应商根据客户的特殊工艺要求和技术要求进行个性化的定制,形成独特的产品。能同时控制多轴,有的还包含了运动轨迹插补算法及包含有前馈补偿功能的 PID算法,这为多轴的伺服电机的控制带来极大的方便。

- 4 -

Page 11: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

1.2.2 国内外开放式运动控制器的研究现状在国内外,已有多种商品化的开放式运动控制器,较著名的有美国的

PMAC、Galil等运动控制器,国内最成熟的是深圳固高公司的系列控制器。这些运动控制器的特点是:

1.均以 PC机为基础,具有 ISA总线、PCI局部总线通讯功能;2.控制器均可在Windows平台下工作,可使用 VB、VC++、Delphi等高

级语言进行编程控制;3 .通过采用特殊的中断方式,一般都具有很好的实时性,并具有

Windows系统的多任务性;4.均为多轴联动系统,具有直线和圆弧插补功能;5.均可进行位置及速度控制,在启动和停止阶段具有加速度控制,使系

统具有较好的动态响应特征;6.可对交、直流伺服电机及液压伺服马达进行控制。美国 Delta Tau Data System 公司推出的 PMAC系列伺服控制器比较有代表

性。PMAC以Motorola 公司的 DSP56001为微处理器,主频 20/30 MHz,60/40微秒/轴的伺服更新率,36位(64千兆)位置计数范围,16位 DAC 输出分辨率,10/15MHZ 编码计数率,每秒可处理多达 500 条程序,可以完成直线或圆弧插补,“S-曲线”加速和减速,三次轨迹计算、样条曲线计算。利用 DSP强大的运算功能单卡可实现 l~32轴多轴实时伺服控制。PMAC控制器本身就相当于一个完整的计算机系统。依靠集成在卡上 ROM 中的程序,它能独立完成实时、多任务控制,而无需主机介入。PMAC控制器配有较强的命令、函数库,用户可用制造商提供的编程语言(类似 QBASIC)调用这些命令和函数,编程较为方便。另外制造商还提供 PCOMM、PTALK等函数库作为开发工具,用户可用高级语言调用自己所需的函数,完成控制软件的开发。PMAC系统的开放性特征允许 CNC系统通过 ODBC(开放数据库连接)、OLE(目标连接和嵌入)、DDE(动态数据交换)等运行专门设计的第三方软件程序。对于OEM(原始设备制造商),Delta Tau Data System 公司提供 PMAC软件库的C++ 源 代码许可证,允许整个系统全部用户化。 PMAC 主要利用ISA、PC104、EVM、PCI 及 USB等总线方式与上位机交换信息[5][6]。八五期间,我国广大科研工作者也成功开发了两种数控平台和华中型、蓝

天型、航天型、中华型等 4种基本系统,这些系统采用模块化、嵌入式的软硬件结构,其中以华中型较具代表性,它采用工业 PC机上插接口卡的结构,运行

- 5 -

Page 12: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

在 DOS平台上,具有较好的模块化、层次化特征,有一定扩展性和伸缩性,但从整体来说这些系统是数控系统,不是独立的开放式运动控制器产品。我国在开放式运动控制器产品开发方面相对落后,1999年固高科技有限公司在深圳成立,是国内第一家专业开发、生产开放式运动控制器产品的公司。其后,国内又有其他几家公司涉足该领域,但实际上,大多是在国内推广国外生产的运动控制器产品,真正进行自主开发的公司较少。

固高公司的运动控制器以 ADSP2181数字信号处理器为核心,可以通过ISA、PCI和 PC104总线与 PC机通讯。其 GT-800-SV-PCI运动控制器最多可以实现 8轴的控制,通过 PCI总线与 PC机通讯。其主要特点为:可编程伺服采样周期,最小插补周期为 200 微秒,单轴点位运动最小控制周期为 25 微秒;支持单轴点位运动、直线插补、圆弧插补、速度控制、电子齿轮等运动方式;可编程梯形曲线规划和 S曲线规划,在线刷新运动控制参数;所有计算参数和轨迹规划参数均为 32位,具有连续插补功能;提供 4K底层循环程序缓冲区存储用户运动信息;支持外部输入中断、事件中断(包括位置信息、特殊运动事件等)以及时间中断;具有 PID(比例-积分-微分)数字滤波器,带速度和加速度前馈,带积分限值、偏差补偿和低通滤波器 ;硬件捕获原点开关和编码器Index信号,实现高精度机器原点位置锁存[7]。1.2.3 目前基于 PC 的运动控制器存在的不足虽然国外的运动控制器产品在性能方面具有许多优势,但它们也具有很多

不足之处,。以 PMAC运动控制器为例,其不足主要表现在以下几方面:1.价格昂贵。一个四轴的 PMAC-Lite运动控制器价格约为 14 500 元,加

上其它一些辅助设施可达到 20 000 元左右;2.使用不方便。运动控制器虽然功能强大,但软硬件复杂,参数众多,

学习周期特别长;3.售后服务及技术支持相对较差。PMAC运动控制器可以从国内的代理

商中购买,但是缺乏有控制器底层开发经验的技术人员的技术支持,控制器出现在实用过程中故障也无法及时得到修复。

国内的固高运动控制器在一定程度上解决了 PMAC存在的不足,例如其四轴控制器 GT-SV-400-ISA 及配套接口板的价格较低,一共 9 000 元左右,能提供良的技术支持和售后服务,但是仍存在着一些不足,技术方面有待于进一步完善,例如:

- 6 -

Page 13: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

1.尚未提供基于USB总线的运动控制器产品;2.在梯形曲线模式下,如果频繁改变电机的运行速度,在运动完成时电

机会剧烈震动;3.在速度控制模式下,控制器位置计数器采用 32位计数,计满数后没有

进行相应处理,电机将不受控制,无法满足单方向长期运行的需要;4.固高运动控制器在动态连接库函数中缺乏相应的软件滤波处理,有时

会出现数据传输出错的问题。1.2.4 基于 PC 的开放式运动控制器的发展趋势今后基于计算机标准总线的开放式运动控制器仍然是市场发展的主流 [4]。

这种运动控制器的优点是:硬件组成简单,把运动控制器连接到 PC总线,连接信号线就可组成系统;可以使用 PC机已经具有的丰富软件进行开发,运动控制软件的代码通用性和可移植性较好;可以进行开发工作的工程人员较多,不需要太多培训工作。早期 PC机通过 ISA总线实现对电机的控制。ISA总线是一种 8位或 16位

的非同步数据总线,工作频率为 8MHz,数据传输率在 8位时为 8MB/s,16位时为 16MB/s 但是 ISA总线的响应速度较慢,并且在多任务的操作环境下占用太多的系统资源,这成为限制 ISA总线发展的瓶颈。其后出现的 PCI总线,解决了这一瓶颈。PCI总线是一种同步的独立于 CPU的 32位或 64位局部总线,最高工作频率 33MHz,数据传输率为 132MB/s,并且 PCI总线上的外围设备可与 CPU并行工作,提高了系统的整体性能。近几年,USB总线因其有着即插即用、支持热插拔、性价比高、可扩展多

达 127个被控设备等诸多 ISA和 PCI总线所不及的优点而得以迅速发展[8]。文献[9]介绍了基于 USB 1.1协议的运动控制器开发。USB 2.0接口的最高传输速率由 12Mb/s提高到了 480Mb/s,能够更好地支持数据实时传输。

PC机的 CPU利用其丰富的软、硬件资源,可以专注于人机界面、输入输出、预处理,发送指令,故障诊断等功能;插补、补偿处理、速度控制、位置控制则由挂接在 PCI或 USB总线上的运动控制系统中的微处理器来实现,而无需占用 PC机的资源。开发研制基于 PC机的开放式运动控制器,不但要开发出必要的硬件电路

板,而且要开发出大量的与底层硬件电路及其接口直接发生关系的动态链接库函数,这些程序可在WINDOWS等系统中直接调用。同时,这些程序功能强

- 7 -

Page 14: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

大,可直接实现大部分运动控制或数控系统所需要的功能,具有极强的柔性。用户在使用运动控制器时,无须与复杂的硬件接口和电路直接打交道,只需根据自己的运动要求,利用 VC++、VB或者 Delphi等高级语言方便的调用这些库函数,进行二次开发,实现自己预定的功能,编制良好的接口界面,在Windows 环境下方便的实现对数字电机(包括步进电机、直流伺服电机、交流伺服电机和液压伺服系统)的位置和速度以及加减速的控制。1.3 课题来源及主要研究内容本研究课题来源于哈尔滨市青年科学研究基金项目,项目编号为 2004AFQ

XJ0 49。这是一前沿性的课题,涉及电力电子、电机驱动、自动控制、测试技术、计算机控制等现代化跨学科综合性高新技术。这项课题的研究成功,具有重要的意义,对推进国家的科技进步,高新技术产品的商业化、国际化有着重大的直接的经济效益和社会效益。本课题基于课题组购买的两套松下交流伺服电机及配套的驱动器和光电码

盘、DSP仿真器和以美国 TI 公司生产的用于电机控制的芯片 TMS320LF2407A为核心的 EVM 板、PCI 硬件及驱动程序开发套件、USB2.0实验开发板,分别开发出基于 PCI局部总线和 USB总线的多轴交、直流伺服电机运动控制器及相应的接口卡,并进行其底层运动控制函数和上位机动态链接库函数的深入开发。具体研究内容为:

1.伺服系统控制的关键技术研究,包括伺服电机的控制模式及 PID调节方案、NURBS曲线及一般参数曲线的插补控制原理等。

2.对 PCI局部总线规范及 USB 2.0总线协议进行研究并选择相应的通讯接口芯片;

3.基于 DSP核心处理芯片和 CPLD器件进行控制器的硬件电路开发,并开发相应的接口卡;

4.利用 CCS软件编写DSP底层驱动程序,包括通讯驱动及控制程序,分别用于进行 PCI/USB通讯和进行底层的速度控制、位置控制、PID调节、圆弧插补、NURBS插补等。

5.开发上位机设备驱动程序、动态链接库函数和测试软件。

- 8 -

Page 15: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

第2章 伺服系统控制关键技术研究2.1 运动系统的控制技术概述在军事自动化(MA)、工业自动化(FA)、办公自动化(OA)和家庭自动化

(HA)中,大量存在对运动机构进行精确控制的任务,运动控制技术作为自动控制的重要分支,在这里大显身手,正是由于运动系统能够实现对运动轨迹、运动速度、重复定位精度的精确控制,在各类控制工程中有着广泛应用前景,因此运动控制系统目前已成为控制科学应用领域中一个很有意义的研究方向。 在运动控制系统中,按机械运动的轨迹分类,可分为点位、直线、轮廓控

制等。点位控制又称为点到点控制,是一种从某一位置向另一位置移动时,不管中间的移动轨迹如何,只要最后能正确到达目标位置的控制方式,可以通过多轴协调运动来实现。直线控制又称为平行控制,这类运动除了控制点到点的准确位置之外,还要保证两点之间移动的轨迹是一条直线,而且对移动的速度也要进行控制。轮廓控制又称为连续轨迹控制,这类运动能够对两个或两个以上运动坐标的位移及速度进行连续相关的控制,因而可以进行曲线或曲面的运动,可以通过直线、圆弧插补、NURBS曲线插补等实现。现代数控机床及机器人绝大多数具有两个坐标或两个坐标以上联动的功能,如 6轴(或自由度、维)控制的机械手,其运动可以给定在空间的任意方向。 在运动控制系统中,按执行部件的类型分类,可分为开环、闭环和半闭环

伺服系统。通过步进电机控制的开环系统由于没有位置反馈和校正控制,其位移精度取决电机的步距角及传动机构的精度等。而闭环和半闭环伺服系统具有位移测量和位置比较环节,这样可达到比开环系统更高的精度和运行速度。通过编码器将电机的位置信号反馈到控制系统可构成半闭环系统,如果将光栅尺等测量的实际位置作为反馈即可构成闭环系统。

- 9 -

Page 16: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

2.2 伺服电机控制原理2.2.1 交流伺服电机介绍

交流伺服电机一般由永磁同步电机、转子位置传感器、速度传感器组成,交流伺服电机和它的驱动器组成一个伺服系统。早期的交流伺服系统是一个典型的速度闭环系统,伺服驱动器从主控制系统接收电压变化范围为 ~

的速度指令信号。电压从 变化到 的过程中,伺服电机可实现从反转最高速变化到零,然后再变化到正转最高速。但是,这种交流伺服系统只能实现对速度的闭环控制,还不能直接实现对位置的闭环控制。要实现对位置的闭环控制,必须在电机和控制系统之间构成一个位置环。为了适应数字化控制的发展趋势,国外一些厂家在九十年代初相继推出了

带位置环的全数字式交流伺服系统。不仅可以进行位置的闭环控制,还使得交流伺服电机可以象步进电机一样易于控制,上位控制器可以是运动控制器、PLC或者直接是 PC机等。2.2.2 交流伺服电机的控制模式以日本 Panasonic 公司的MINAS系列交流伺服系统为例,介绍这种交流伺

服系统的控制原理。这种伺服系统可在驱动器中由参数 Pr02设置为位置、速度和转矩三种控制模式,现分述如下。2.2.2.1 位置控制模式(Pr02=0) 当伺服系统处于位置控制时,控制系统给伺服驱动器的信号是脉冲和方向信号。这一点和步进电机的控制方式类似。其接口电路如图 2-1所示。

- 10 -

PULS1

PULS2

SIGN1

SIGN2

脉冲输入

方向输入

驱动器内部

驱动器 内部

图 2-1 交流伺服系统位置控制接口电路Fig.2-1 Step control interface circuity of AC servo system

Page 17: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

指令脉冲的输入方式可分为以下三种:

1.正交脉冲指令频率相同但相位相差 90°的 A、B 两相脉冲分别从 PULS1、PULS2 和

SIGN1、SIGN2送入伺服驱动器。A、B两相脉冲的频率控制电机转速;脉冲数控制电机的角位移。

2.CW/CCW脉冲指令即单脉冲工作方式。脉冲信号通过 PULS1、PULS2进入驱动器,则电机

按 CW方向旋转。若通过 SIGN1、SIGN2进入驱动器,则电机按 CCW方向旋转。脉冲频率控制电机的旋转速度,脉冲数控制电机的角位移。

3.脉冲+方向指令脉冲信号从 PULS1、PULS2进入驱动器,脉冲频率控制电机转速,脉冲

数控制电机的角位移。方向信号从 SIGN1、SIGN2进入驱动器,高低电平控制电机的转向。

2.2.2.2 速度控制模式(Pr02=1) 在速度控制模式中,上位控制系统通过SPD、GND引脚给伺服驱动器输入一个-10V~+10V的模拟电压,即可控制电机实现从负向最大转速到正向最大转速之间的速度变化。电机转速 和指令输入电压 之间呈线性关系。速度指令除了可以由外部模拟电压来输入外,还可以在驱动器内部用四个

参数设置四种内部速度。通过驱动器的两个开关输入信号的四种状态组合选择其中一种。驱动器可由内部参数 Pr52对外部速度指令进行零漂调整。本文中的运动控制器就是采用速度控制方式对伺服驱动器进行控制的。

2.2.2.3 转矩控制模式(Pr02=2) 通过外加-10V~+10V的电压,即可控制电机的转矩,与速度控制相似。电机的额定转矩和输入电压之间呈线性关系,直线斜率可用驱动器内部参数设置。伺服电机工作在转矩控制模式时,应限制其最大转速,以免驱动器产生过速报警。

2.2.3 伺服电机的 PID 调节方案图 2-2是运动控制器采用的 PID调节原理框图,虚线框中的速度调节器和

电流调节器的功能由电机驱动器完成。电流环用来提高系统的动态响应指标,增强系统抗干扰能力。速度环用于根据指令速度调节伺服电机的实际转速,在

- 11 -

Page 18: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

Panasonic 伺服电机中,参数 Pr11和 Pr12分别设置其速度环增益和积分时间常数、位置环包括位置 PID调节和速度、加速度前馈,由运动控制器底层程序完成,可根据位置偏差调节电机的指令速度,实现精确定位、回零等;输出饱和控制主要在软件中实现,可保证输出电压不会超过设定范围;静差补偿则可以消除由于放大器的零点漂移带来的偏差。速度环和电流环分别在速度控制模式和转矩控制模式下发挥作用,因此在运动控制器采用的速度控制模式中,主要由速度环和位置环构成双闭环。

设 为D/A转换器的指令速度输出值, 为第 个采样时刻的位置偏差,为第 个采样时刻的指 令位置, 为第 个采样时刻实际位

置, 为第 个采样时刻累积误差值, 为当前目标速度, 表示当前目标加速度, 表示电机静差补偿,则:

(2-1)

(2-2)

其中, 分别表示比例增益、积分增益、微分增益、速度前馈增益和加速度前馈增益。控制作用的强弱取决于比例增益,它相当于系

- 12 -

图 2-2 PID调节原理框图Fig.2-2 Functional block diagram for PID modulation

Page 19: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

统的刚度,比例增益越大,调节速度越快,但会增加系统的超调。积分调节的作用是消除系统输出的静差,但会降低系统响应速度,增加系统输出的超调。微分调节的作用是阻止偏差的变化,偏差变化越快,微分调节器的输出也越大,因此微分作用的加入将有助于减小超调,克服振荡,使系统趋于稳定。速度前馈和加速度前馈可以提高系统的跟踪性能,减小跟随误差。图 2-3是用在有前馈和无前馈的情况下用Matlab进行的圆弧插补跟随误差比较。可以看出,在无前馈的情况下,电机跟随误差从开始的 63个脉冲在 0.137秒后上升到 114个脉冲,随后作类似余弦曲线的变化。引入前馈后,跟随误差从开始的 63个脉冲迅速上升到 109个脉冲,然后逐渐下降,在大约 0.2秒后稳定在±2个脉冲之间。速度和加速度前馈的引入大大减小了系统的跟随误差。

编码器可以把机械转角变成电脉冲,主要分为光电式、接触式和电磁感应式。数控系统中主要使用体积小、精度高、工作稳定可靠的光电脉冲编码器。光电脉冲编码器分为增量式脉冲编码器和绝对式脉冲编码器。绝对式脉冲编码器结构复杂、价格昂贵,实际应用中,增量式脉冲编码器应用更为广泛。

增量式脉冲编码器一般产生 A+、A-、B+、B- 、C+、C-、三对差分信号,差分信号处理电路可以将三对信号进行整形、放大转变成 A、B、C 三相信号。每转产生一个 C相(Index)脉冲,用来产生机床的基准点。通常,数控机床

- 13 -

图 2-3 跟随误差比较Fig.2-3 Comparison of following error

Page 20: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

的机械原点与各轴的脉冲编码器发 C脉冲的位置是一致的,通过 Home+Index回零实现。A相和 B相信号则由两组近似正弦波、相差为 °的信号转变成两组相差为 90°的正交编码脉冲,相角超前与滞后对应电机的转向,频率对应电机的转速,脉冲数对应电机的角位移。正交编码脉冲由 4倍频电路产生 4倍频脉冲信号,再通过增减计数器对 4倍频脉冲信号进行计数,可以方便得获取电机的实际位置。同时,通过 M/T测速法,根据在一个伺服周期 (s)内电机转过的脉冲数 (pulse)可以计算得到电机的转速。如对于一个 2500pulse/r的增量编码器的伺服电机,其速度 (RPM)计算方法为:

(2-3)

2.3 参数曲线的时间分割插补算法2.3.1 时间分割插补原理时间分割插补又称为数据采样插补,是现代数控机床高、中档 CNC系统

及运动控制器常用的插补算法。它基于粗、精二次插补的原理实现轨迹控制,其中粗插补由上位机系统的用户软件完成,精插补由运动控制器实现。设 为参数曲线上任一点的位置矢量,参数曲线的形式为:

(2-4)在运动控制器中,软件插补以一定的采样周期(伺服周期)进行工作,在

第 个伺服周期中,实时计算出第 个伺服周期中各轴的运动分量 ,并满足指定的进给速度要求,即:

(2-5)式中 为第 个伺服周期中的瞬时进给量,也称插补步长。若插补周期为

,指令进给速度为 ,则 。因此,参数曲线的时间分割插补即由运动控制器在每个伺服周期中实时地

插补出满足式(2-4)、(2-5)的运动轨迹 ,完成整条曲线的加工,其本质是以一段段弦长 逼近实际曲线。与传统的 CAM离线编程中的逼近方法相比,曲线的实时插补不仅编程简便而且轨迹插补时是以插补步长直接逼近,其步长只取决于加工速度和系统的插补周期,是原理上的最

- 14 -

Page 21: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

短直线,因此可以获得最高的曲线加工精度。在曲率半径 mm的外形上用时间分割原理进行插补,以 m/min的高速加工,伺服周期为 ms,则插补步长 mm,弓高误差仅为 。2.3.2 参数曲线自适应插补算法参数曲线的插补涉及到两个坐标空间,即一维的参数空间和三维的轨迹空

间。因此,现有插补方法将插补计算分两步完成:1.参数插补。将轨迹空间的进给步长 映射到参数空间,求出相应的参

数增量 及参数坐标 ;2.轨迹计算。将得到的参数空间坐标值映射到轨迹空间,得到相应的映

射点 ,即为所求插补轨迹的新坐标点。在参数空间,曲线轨迹参数 的插补计算可由二阶泰勒级数表示,即

(2-6)其中 和 分别为参数 对时间 的一阶和二阶导数,可推导得出[10]:

(2-7)

式中, 和 分别为坐标 对参数 的一阶和二阶导数, iy 、 iy 、 和 的意义与之类似。利用公式(2-7)求得得插补参数 ,代入曲线方程即可得到新插补点,根据新插补点的坐标即可得到各坐标轴的插补量,从而获得第 个伺服周

期中各个电机的位置增量。由于插补中以短直线逼近实际曲线,所以存在工高误差;另外,插补中采用曲线的弧长速度代替实际进给的弦长速度,也会引起进给速度的偏差。上述算法缺乏对这两种误差的必要控制,并且计算过程复杂,因此采取基于参数递推预估、误差控制、参数校正的插补算法[11]。其基本思路是在插补中实时监控插补弓高误差的大小,当误差在允许误差范围内时,仍按瞬时进给速度计算进给步长 ,若误差超出了允许范围,则按允许误差求取约束插补步长 。这样,插补进给能随曲线曲率的变化自适应调整进给步长,确保插补的轮廓误差控制在允许的范围内。此外,针对插补的进给速度偏差主要来源于以弧长速度代替弦长速度,为了获得更好的速度稳定性,应直接以弦长

- 15 -

Page 22: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

速度为控制目标。下面给出基于时间分割插补原理的参数曲线自适应插补步骤:1.利用插分代替微分,代入二阶泰勒展开公式(2-6),可得到插补点的

参数递推估算公式(2-8),根据该公式进行参数递推预估。 (2-8)

2.将预估参数 代入曲线方程求得预估插补点,并根据公式(2-9)计算预估插补步长:

( 2-9)

3.设允许轮廓误差为 ,参数预估插补弓高误差为 ,计算满足误差控制条件的最大插补步长[11]:

。 (2-10)由于插补步长一般很小,不妨取曲线段 的中点 ,弦 的中点,用 间的距离 近似表示本段曲线的插补弓高误差,即

(2-11)4.设插补周期为 ,指令进给速度为 ,根据下式计算满足误差约束

条件的实际插补步长: (2-12)

5.确定参数插补点[10](为允许偏差,例如 ):

(2-13)

6.将 代入曲线方程求取插补点 ,计算各轴进给量,为第 个伺服周期中各电机的位置 PID调节计算做好准备。对于直线插补,不存在工高误差,参数插补速度完全由 决定。圆弧由

于具有恒定的曲率半径,只要根据工高误差约束条件算出最大插补速度,保证小于该最大速度的情况下,参数插补步长只与 有关。在 恒定的情

- 16 -

Page 23: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

况下可以进行等参数插补,参数插补步长由插补速度和工高误差约束条件确定。因此可以进行参数插补步长的预处理,编程方便,并可以提高程序运行速度。设圆弧的参数表达式为:

(2-14)

则参数插补步长为:

(2-15)而对于一般的参数曲线,则要根据步骤 1~6进行插补处理。

2.4 NURBS 插补原理2.4.1 NURBS 插补介绍近年来,以 NURBS (Non-Uniform Rational B-Spline 非均匀有理 B样条)

为内部描述的曲线曲面造型技术得到重视并日益发展成熟。NURBS曲线不仅能够精确的统一表示标准解析曲线和自由曲线,而且它的形状控制能力也十分强大、灵活。1991年国际标准化组织将 NURBS方法规定为 STEP(工业产品模型数据交换标准)标准中定义工业产品几何形状的唯一数学方法。

NURBS在 CAD 领域已得到较为成功的应用,但在 CNC 中的应用却相对滞后。与具备NURBS曲线曲面描述功能的 CAD软件强大的复杂曲面的设计功能相比,对外形复杂工件的数控加工却不尽人意。因为目前只有FANUC、Siemens、三菱等的部分数控系统支持 NURBS插补,大多数数控系统仅仅具有直线、圆弧或抛物线插补的功能,所以不能直接加工自由曲线曲面。解决的办法是由 CAM系统对由 CAD系统生成的复杂曲线曲面进行离线插值处理,用大量的微小直线段来近似代替原来的复杂曲线,然后根据这些微小直线段编制数控加工程序,进行数控加工。这种方式存在诸多缺点,例如存在二次插补问题,加工精度降低;代码量急剧膨胀,数据传输和存储成为瓶颈;速度变化不连续,为防止机床过冲,进给速度受到限制;以直代曲引起加工面起棱

- 17 -

Page 24: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

等[12][13]。因此,研究 NURB曲线的实时插补算法,提高数控系统的轨迹功能,使之能直接接受 NURBS曲线信息,对 CNC系统整体性能的提高都极为关键。相对于传统的插补方法,NURBS插补具有诸多优点:程序代码传输量少,进给速度均匀,加工精确度高、可进行高速加工等[14][15][16]。2.4.2 三次 NURBS 曲线的数学描述一条 k 次 NURBS曲线可以表示为一分段有理多项式函数:

(2-16)

其中 为控制点,每个控制点有一个权因子 。称为节点矢量, 为 次规范 B样条基函数(对于本文

涉及的三次 NURBS曲线, ),是关于节点矢量的函数,其递推公式[17]: (2-17)

可见,一条 NURBS曲线完全由控制点、权因子和节点矢量三类参数确定。本文采用三次 NURBS曲线进行插补,即 。下面介绍三次 NURBS曲

线的矩阵表示形式。引入记号, ,对于节点矢

量 ,可生成 。对于 ,令,则 。第 段曲线可写成如下的矩阵形

式[18]:

- 18 -

Page 25: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

(2-18)

(2-19)

为了减少运算量,提高插补速度,对 NURBS曲线公式(2-18)进行变量离处理。令

(2-20)

- 19 -

Page 26: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

于是可得: (2-21)

2.4.3 NURBS 曲线插值原理在实际插补计算中,用户很容易确定要加工的曲线上的各个型值点,却难

以直接给出能够保证 NURBS曲线通过这些型值点的控制点。为方便使用,只要给出一组型值点 即可,由插补程序根据型值点确定出控制点和相应的节点矢量,同时根据用户设定的或程序中默认的权因子构造通过这些型值点的NURBS曲线。

由公式(2-18)可以看出,由 个控制点和与其对应的具有 个元素的节点矢量,可以得到得到 个区间段的 NURBS曲线。因此,要生成经过个型值点的 段 NURBS曲线,需要 个控制点和对应的具有 个元素

的节点矢量。1.计算节点矢量 目前,有许多数据的参数化法,如等距参数化法、弦长

参数化法、向心参数化法等。考虑到简便性和有效性,这里采用了弦长参数化法之一的里森费尔德方法。控制多边形近似为曲线外接多边形,顺序两个节点值差与对应顶点间距离成比例,分段连接点与多边形顶点或边对应。这里我们用累加弦长法确定节点矢量,若构造 NURBS 曲线,其节点矢量为:

(2-22)其中, 。根据三次 NURBS曲线的定义式可知,其定义区间不包括节点矢量构成的

前三个和后三个参数区间。因此在端点采用四重节点: (2-23)

如此选取节点矢量的好处是可使节点矢量与弦长有良好的对应关系,同时也使得对每个型值点所产生影响的控制点不会完全相同,保证了最后方程必有唯一解。

2.确定权因子矢量 文献[19]中提供了根据控制点和形状约束条件获得初

- 20 -

Page 27: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

始权因子的方法。因本曲线插值方案需要根据权因子求控制点,能够保证曲线通过型值点,因此对权因子要求并不严格。程序中默认为各权因子为 1,也可在调用 DLL函数时进行相应设定。对应每个控制点都有一个权因子,因此,

。3 . 反 求控制点 根 据 公式(2-18),第 段 三 次 NURBS 曲线为

,根据插补要求可得: (2-24)

记 ,将 代入公式(2-18),得( 2-

25) 令 ,由上式可得 个方程:

(2-26) 由于有 个控制点,即 个未知数,因此还要根据边界切矢条件,补充两个方程[20]:

(2-27)令 ,

,由公式(2-22)、(2-23)可得到包含个方程的线性方程组(公式 2-24),用追赶法解之可得相应控制点。

(2-28)

4.插补参数预处理 将已经求得的控制点、权因子及节点矢量代入公式(2-20),求得第 段 NURBS曲线的各个系数。由于这些系数和参数无关,可在插补前预先算出,代入公式( 2-21)将第 段 NURBS 曲线化简为

形式,为时间分割插补做好准备。插补时只需计算参数增加值 ,并将参数值计算出插补点坐标。

- 21 -

Page 28: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

粗插补及数学处理在 PC机中完成后将 的相关系数传给 DSP进行精插补,减小了DSP的运算量,提高了控制的实时性。2.5 本章小结本章详细地分析了日本 Panasonic 公司生产的的MINAS 交流伺服电机的控

制原理,介绍了其位置、速度和扭矩三种控制模式,并在此基础上介绍了位置PID调节方案;介绍了参数曲线的时间分割插补,给出了参数曲线基于参数预估、误差控制的自适应控制步骤;最后,研究了 NURBS曲线插补理论,提出了根据型值点进行 NURBS曲线插值的算法。本章的研究为运动控制器的硬件电路设计和软件开发提供了理论指导。

- 22 -

Page 29: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

第3章 PCI 和 USB 总线规范与操作3.1 PCI 总线3.1.1 PCI 总线的基本概念

PCI总线的英文全称为 Peripheral Component Interconnect,即外设部件互连。PCI 总线的概念是由 Intel 公司联合 Compaq、AST、Epson、HP、NEC 等多家公司提出的。发布的第一个技术规范 1.0 版本于 1992 年 6 月 22 日面世,2.0 版本于 1993 年 4 月发布,2.1 版本于 1995 年第一季度发布。制定 PCI总线的目标是建立一个工业标准的、低成本的、允许灵活配置的、高性能局部总线结构[21]。

PCI总线是局部总线,是来自处理器的延伸线路,与处理器同步操作。外部设备如果直接挂在局部总线上,就可与高速地 CPU总线相匹配,从而打破了数据 I/O地瓶颈,外设能以 CPU的速度运行,使高性能 CPU的功能得以充分发挥。由于局部总线有极高的数据传输率,因此在 CPU与高速缓冲存储器(Cache)、CPU与高速图形卡等需要高速传输信息的场合得到了广泛的应用。从 1993年 PCI局部总线标准推出到现在,PCI总线以其优异的性能逐步取代了ISA、EISA等总线,成为了当今总线发展的主流。3.1.2 PCI 总线的特点

PCI局部总线主要具有以下特点[22]:1.高性能。采用 32 位或 64 位数据总线,以 33MHz 或 66MHz 的时钟频

率操作,可支持多组外围部件及附加卡。在时钟频率为 33MHz 的情况下,其数据传输速率高达 132MB/s,远远高出标准 ISA总线 5MB/s的速率。

2.支持线性猝发传输。所谓猝发传输即若有一块地址连续的数据要传送时,只在开始时只有数据块第一个数据段的地址会出现,接下来的数据将不会跟有地址周期,外围设备一般会由内存某个地址顺序接受数据,这种线性顺序的寻址方式,意味着可以由某一个地址读写大量数据,然后每次只需要将地址自动加 1,便可以接受数据流内下一个字节的数据如此就极大地提高了传送速

- 23 -

Page 30: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

度。线性突发传输能够更为有效地运用总线的带宽去传输数据,以减少无谓的地址操作。

3.极小的存取延误。支持 PCI的设备存取延误小,能够大幅度减少外围设备取得总线控制所需的时间。

4.采用总线主控和同步操控。总线主控目的是让任何一个具有处理能力的外围设备暂时接管总线,以加速执行高吞吐量、高优先级的任务。PCI 独特的同步操作功能可保证微处理器能够与这些总线主控同时操作,不必等待后者的完成。

5.不受处理器限制。PCI 独立于处理器的结构,形成一种独特的中间缓冲器的设计方式,将中央处理器子系统与外围设备分开。有了缓冲器的设计方式,用户可以随意添外围设备,以扩展电脑系统而不必担心在不同时钟频率下会导致性能的下降。

6.兼容性强。由于 PCI局部总线是要辅助现有的扩展总线的标准,因此它与 ISA、EISA等总线完全兼容。

7.低成本、高效益。PCI的芯片将大量系统功能高度集成,节省了逻辑电路,占用较小的线路板空间,成本降低,PCI部件采用地址/数据复用,减少了 PCI部件的引脚数。3.1.3 PCI 局部总线信号定义

下面对控制器开发中用到的 PCI总线信号进行介绍[23]。1.系统信号定义CLK:系统时钟信号,对于所有 PCI设备都是输入信号。其频率可高达

33MHz/66MHz,这一频率也称为 PCI的工作频率。RST#:复位信号,用来使 PCI 专用特性寄存器、配置寄存器、定序器、

主设备、目标设备及输出驱动器恢复到初始状态。2.地址和数据信号AD[31: 0]:地址/数据多路复用的输入/输出信号。在 FRAME#有效时,是

地址期;在 IRDY#和 TRDY#同时有效时,是数据期。一个 PCI总线的传输中包含了一个地址信号期和接下来的一个或多个数据期。地址期为一个时钟周期,该周期中 AD[31: 0]线上含有一个物理地址。对于 I/O 操作,它是一个字节地址。在数据期,AD[7: 0]为最低字节,AD[31: 24]为最高字节。

C/BE[3: 0]#:总线命令和字节使能多路复用信号线。在地址期,这四条信- 24 -

Page 31: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

号线上传输的是总线命令;在数据期内,它们传输的是字节使能信号,用来表示在整个数据期中,AD[31: 0]上哪些字节为有效数据。

3.接口控制信号FRAME#:帧周期信号。由当前主设备驱动,表示一次访问的开始和持续

时间。FRAME#的有效预示着总线传输的开始;在其有效期间,先传地址后传数据;FRAME#失效后,是传输的最后一个数据期。

IRDY#:主设备准备好信号。该信号的有效表明发起本次传输的设备能够完成一个数据期。

TRDY#:从设备准备好信号。该数据有效表示从设备已作好完成本次数据传输的准备工作,也就是说,可以进行相应的数据传输。

STOP#:停止数据传送信号。当它有效时,表示从设备要求主设备终止当前的数据传送。该信号由从设备发出。

LOCK#:锁定信号。当该信号有效时,表示驱动它的设备所进行的操作可能需要多次传输才能完成。也就是说,对此类设备的操作是具有排他性的。

IDSEL:初始化设备选择信号,在参数配置读写传输期间用作片选信号。DEVSEL#:设备选择信号,该信号有效时,表示驱动它的设备已成为当

前访问的从设备。换言之,它的有效说明总线上的某一处设备已被选中。4.错误报告信号PERR#:数据奇偶校验错误报告信号。对于每个数据接受设备,如果发现

数据有错误,将在数据接受到后的两个时钟周期内将 PERR#激活。SERR#:系统错误报告信号。该信号的作用是报告地址奇偶错,以及其他

可能引起灾难性后果的系统错误。5.中断信号PCI局部总线中共有四条中断线,分别是为 INTA#、INTB#、INTC#和

INTD#,均为漏极开路。中断线用以请求一个中断,对于单功能设备,只有一条中断线 INTA#,而多功能设备最多可有四条中断线。3.1.4 PCI 总线协议基础

PCI 总线传 输机制是猝发成组数据 传 输,一个分组 由一个地址节拍(Address phase)和一个或多个数据节拍(Data phase)组成。基本的 PCI 传输,都是由 FRAME#、IRDY#和 TRDY#三个信号控制。PCI总线是地址/数据复用总线,一个地址节拍由 FRAME#信号从非激活状态(高电平)转换到激活状态

- 25 -

Page 32: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

(低电平)的时钟周期开始。在地址节拍,总线主设备通过 C/BE[0: 3]端发送命令,如果是总线命令,紧接着地址节拍的时钟周期叫总线转换周期,在该时钟周期内,AD[31: 0]既不被主设备驱动也不被从设备驱动,以避免总线冲突。对于写操作,就没有总线转换周期,总线直接从地址节拍进入数据拍[24]。3.1.4.1 PCI 总线上的读操作 图 3-1表示了总线上的一次读操作信号变化情况。

从图中可以看出,一旦 FRAME#信号有效,地址期就开始,并在时钟 2的上升沿稳定有效。在地址期,AD[31: 0]上包含有效地址,C/BE[3: 0]#上含有一个有效的总线命令。数据期从时钟 3的上升沿处开始,在此期间,AD[31: 0]传送的是数据,而 C/BE#上的信息却指出数据线上哪些字节是有效的。无论是读操作还是写操作,从数据期开始一直到传输完成,C/BE#的传输缓冲器必须始终保持有效状态。

图中的 DEVSEL#信号和 TRDY#信号是由地址期内所发地址选中的设备(从设备)提供,但要保证 TRDY#在DEVESEL#之后出现。而 IRDY# 信号是发起读操作的设备(主设备)根据总线的占用情况自动发出的。数据的真正传输是在 IRDY#和 TRDY#同时有效的时钟前沿进行的,这两个信号的其中之一无效时,就表示需要插入等待周期,此时不进行数据传输。

在读操作中的地址期和数据期之间,AD线上要有一个交换期,这需要由- 26 -

图 3-1 PCI总线读交易时序Fig.3-1 Reading transaction sequential of PCI bus

Page 33: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

从设备利用 TRDY#强制实现(也就是 TRDY#的发出必须比地址的稳定有效晚一拍)。但在交换期过后并且有DEVSEL#信号时,从设备必须驱动AD线。在时钟 7处尽管是最后一个数据期,但由于主设备因某种原因不能完成最

后一次传输(具体表现是此时 IRDY#无效),故 FRAME#信号不能撤消。只有在时钟 8处,IRDY#变为有效后,FRAME#信号才能撤消,以向目标设备支出这是最后一个数据期。3.1.4.2 PCI 总线上的写操作 图 3-2表示了总线上的一次写操作的时序关系。

由图可知,总线上的写操作与读操作类似,也是 FRAME#信号的有效预示着地址周期的开始,且在时钟 2的上升沿处到达稳定有效。整个数据期也与读操作基本相同,只是在第三个数据期中由从设备连续插入了三个等待周期。时钟 5处传输双方均插入了等待周期。

FRAME#信号撤消必须要以 IRDY#发出为前提。另外,主设备在时钟 5处因撤消了 IRDY#而插入等待周期,表明要写的数据延迟发送,但此时,字节使能信号不受等待周期的影响,不得延迟发送。

- 27 -

图 3-2 PCI总线写交易时序Fig.3-2 Writing transaction sequential of PCI bus

Page 34: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

3.2 USB 总线USB是 Universal Serial Bus的缩写,即通用串行总线。它是一种电缆总线,

是电脑系统连接外围设备的新的输入/输出标准,而USB协议是USB总线的通信协议。目前,USB总线己经成为 PC机主板上的标准配置,USB作为一种新型的接口以其较快的传输速率和方便的连接等优势受到用户的青睐。到目前为止,USB 己经在 PC机的多种外设上得到应用[25]。

3.2.1 USB 的优点USB的优点主要包括以下几个方面: 1.即插即用,支持热插拔和操作系统的自动配置。当 USB设备第一次接

入 PC时,操作系统可以自动检测到该设备的接入,并进行配置,如果是 HID等设备接入 PC系统甚至可以自动为其安装驱动程序。

2.广泛的软硬件支持。软件和操作系统对于 USB的支持越来越强大,Windows, Linux等操作系统对USB的各种设备的支持越来越完备,硬件和半导体厂家所能提供的USB解决方案和外设产品越来越多。

3 . 可 选择的多种速度模。USB2.0 协议提供了三种速度模式: 低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。低速设备可以用在鼠标,键盘等对传输速度要求不高,却严格要求低成本的外设产品上。高速设备则可以在大容量移动硬盘,光驱和视频传输等等领域内大显身手,成本也略微高一些。而全速设备则可以用在更为广阔的领域内。

4.多种设备类。从音频设备、大容量存储设备Mass Storage 到人机接口设备HID等等,几乎各种计算机外设都可以在USB 中找到相应的支持。

5.硬件结构标准化。USB协议规定了 A 型和 B 型 2种标准的接插件,其中 A 型是下行端口,而 B 型则用于上行端口。这样,不同的 USB设备之间就有了统一的硬件接插件,为整个USB拓扑结构的实现奠定了基础。3.2.2 USB 系统的分层结构

USB 规 范参照网 络 中的 OSI 模 型(Open System Interconnect Reference Model,开放系统互联参考模型)的分层结构,也采用了分层描述 [26]。USB 规范把USB系统分为三层,即接口层、设备层和功能层,如图 3-3所示。

- 28 -

Page 35: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

USB总线接口层涉及的是具体的物理层,主要实现物理信号和数据包的交互,也就是在主机端的 USB主控制器和设备端的 USB总线接口之间传输实际的数据流。USB主控制器芯片提供 USB的收发物理层,实现 USB电缆上差模信号和数字信号的转换并提供端点的物理存储机制,还能根据 USB 传输机制自动管理各个端点的存储与数据交换。设备层主要提供 USB基本的协议栈,执行通用的 USB的各种操作和请求

命令,从逻辑上讲,就是 USB系统软件与 USB逻辑设备之间的数据交换。USB系统软件包括 USB核心驱动程序和主控制器驱动程序。核心驱动程序负责解释 USB设备驱动程序发来的命令并将其划分为一系列的 USB 事务,然后发送给主控制器驱动程序;主控制器驱动程序负责最底层的驱动任务,控制和管理硬件底层,负责将 USB 事务发送给 USB主控制器芯片,并最终将数据发送到电缆上。这两种驱动程序由支持 USB的操作系统提供。USB逻辑设备的功能一般由 USB接口芯片完成。功能层提供每个 USB设备所需的特定功能,主机端包括用户软件和设备

驱动程序,设备端的功能由功能单元来实现,他们之间的联系看作是逻辑上的数据流。

由上述分析可知,对于运动控制器的开发,需要自己开发的主要有用户软件,设备驱动程序和用于实现设备端功能的下位机程序。

- 29 -

用户软件和 USB设备驱动程序 功能单元

USB系统软件 USB 逻辑设备

USB主控制器 USB总线接口

功能层

设备层

接口层

主机 互连 物理设备

实际数据流 逻辑数据流图 3-3 USB系统的分层结构

Fig.3-3 Structure of USB system

Page 36: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

3.2.3 USB 数据通讯结构在串行通信中,由于信息在一个方向上传输,只占用一根(根据数据编码

的不同,可能采用两根或多根)通讯线,因此这根线既作数据线又作联络线,也就是说要在一根传输线上既传输数据信息,又传输联络控制信息,这是串行通信的首要特点。为了在串行传输的数据流中识别出哪一部分是联络信号,哪一部分是数据

信号,需要引入串行通行的一系列约定,即通行协议。因此串行通信的第二个特点就是他的信息格式有固定的要求。3.2.3.1 传输(Transfer) USB 规范定义传输为产生和执行一个通信请求的过程。应用程序可以调用一个标准 API函数(如WriteFile, ReadFile)来向 USB设备驱动程序请求传输数据,启动一个传输。传输请求被 USB 组织成 IRPs(I/O Requests,I/O请求包)的形式往下传递给 USB系统软件,最后由主机控制器把IRPs 划分为事务送到总线上去执行。最后的执行结果返回给系统软件,再由系统软件返回给应用程序。共有四种传输类型:控制传输、中断传输、批量传输、和同步传输。传输

由事务组成,事务由包组成,包又由域组成。他们之间关系如图 3-4所示。3.2.3.2 事务(Transaction) 每一个传输包括一个或多个事务。USB 规范定义事务为到一个设备终端的服务传递。共有三种事务类型: IN 事务、OUT 事务和 SETUP 事务。

- 30 -

传输

输出事务 设置事务输入事务

数据包 令牌包握手包

数据域 校验域标识域

图 3-4 传输、事物、包和域之间的关系Fig.3-4 Relation among transfer, transaction, packet and field

Page 37: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

SETUP 事务发送控制传输请求给一个设备,只能用于控制传输;IN 事务从一个设备接收数据到主机,OUT 事务从一个主机发送数据到一个设备他们可用于所有的传输类型。每个事物都包含一个设备地址和终端地址。每个事务包括识别、错误检测、状态和控制信息,还有要被交换的数据。

一个事务是一个单个通信,他必须被无中断的完成。3.2.3.3 包(Packet)和域(Field)每个事务由一个或多个包组成。包共有四种类型,即令牌包、数据包、握手包和特殊包。每个包有多个域组成。域可分为七种类型:同步域、标识域(PID)、地址域、端点域、桢号域、数据域和校验域。每个包都以同步域开始,后面是一个包含了识别信息的 PID开始,根据事

务类型,在 PID 之后可能是一个地址、端点、数据、状态信息或一个帧的编号,还有错误校验位(CRC位)。表 3-1是四类十种包及其标识域信息。其中,USB 的数据包是按DATA0/1 的顺序交替发送的。

表 3-1 包的类型及其标识域信息Table 3-1 Type of packets and PID information

数据包类型 数据包名称 标识域值

(十六进制) 标识域意义

令牌包

输出包(OUT) 0x87启动一个方向为主机到设备的数据传输,并且包含了设备的地址和端点号

输入包(IN) 0x96启动一个方向为设备到主机的数据传输,并且包含了设备的地址和端点号

桢起始包(SOF) 0xA5表示一个桢的开始,并且包含了相应桢号

设置包(SETUP) 0xB4启动一个通过控制管道进行设置的数据传输,并且包含了设备的地址和端点号

数据包 数据包 0(DATA0) 0xC3 偶数据包数据包 1(DATA1) 0xD2 奇数据包

握手包确认包(ACK) 0x4B 接收到没有错误的数据包无效包(NAK) 0x5A 接收端无法接收或发送端无法发送数据错误包(STALL) 0x78 端点被禁止或不支持控制管道请求

特殊包 前导包(PRE) 0x3C 启动下行端口的低速设备的数据传输

- 31 -

Page 38: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

3.2.4 USB 的控制传输与中断传输用 USB四种传输方式可以完成各种类型的数据传输。比如不可间断的数

据流的传输主要用同步传输方式来完成,大容量的数据传输可以用批量传输方式进行,像鼠标等数据传输量小的设备采用中断传输方式,控制传输是 USB枚举阶段最主要的数据交换方式。当 USB设备初次连接到主机后,就是通过控制传输来交信息、设备地址和读取设备的描述符。这样主机才能识别该设备并安装相应的驱动程序,其余三种传输方式才能够应用。通过对几种传输方式性能的比较,在控制器中除了用控制传输外,采用中断传输进行上下位机之间信息的传递。下面主要对这两种传输方式进行介绍[27]。3.2.4.1 中断传输 中断传输(Interrupt Transfer)由 IN 事务或 OUT 事务组成。这里“中断”的意义只是表示传输要在规定时间内尽快完成,因此可以保证传输的实时性。中断传输支持错误检测和处理,中断传输也使用数据循环校验,确保没有数据丢失,可以保证传输的准确性。其结构如图 4-5所示。

1.令牌包阶段。主机通过发送输入包 IN来启动一个 IN 事务;发送输出- 32 -

中断读 中断写令牌包阶段

IN OUT

数据包阶段NAK STALL

握手包阶段ACK STALLNAKACK

空闲

空闲

空闲

数据错误

由主机发送 由设备发送

DATA0/DATA1

DATA0/DATA1

图 3-5 中断传输 IN、 OUT 事务结构Fig.3-5 IN/OUT transaction structure of interrupt transfer

数据错误

Page 39: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

包OUT,启动一个OUT 事务。2.数据包阶段。IN 事务中,设备首先对接收到的令牌包进行解析,并有

可能进行三种动作:如果设备没有准备接受新的数据,返回无效包 NAK,事务就提前结束了,总线进入空闲状态,主机将不断地重试这个事务;如果相应的设备端点被禁止,设备就发送错误包 STALL,事务也提前结束,总线直接进入空闲状态;如果设备端点正常,并且设备准备新的中断处理,则设备就会按主机的要求发送所需的数据。OUT 事务中主机将紧接着按照DATA0和DATA1数据包交替触发的顺序来发送数据。

3.握手包阶段。IN 事务中,如果主机正确的接受到了数据,那么就会给设备发送 ACK;如果数据包在传输过程中被破坏了,那么设备就直接将总线转入空闲状态,等待下一次传输。OUT 事务的握手包阶段较为复杂,同 IN 事务的数据包阶段相似。3.2.4.2 控制传输 控制传输的核心是 SETUP 事务,USB 定义了较为复杂的控制传输的结构,将其分为初始设置步骤、可选数据步骤和状态信息步骤。这三个步骤按顺序依次进行,“可选数据步骤”是可选的,如果没有数据需要发送该步骤省略。后两个步骤都是进行数据的传输,其原理与中断传输类似,下面重点介绍初始设置步骤,其结构如图 3-6所示。

令牌包阶段:主机发送 SETUP 令牌包。数据包阶段:主机发送固定为 8个字节的 DATA0包,并且有确定的结构。

通过这些命令信息,主机就能够通知设备提供哪些数据,依次来进行配置。这些命令有些是要发送给设备数据的,比如设置地址信息;有些是要从设备读取数据,比如读取设备的提取电流属性;有些则不需要读取读/写数据,而这些读/写的数据都是要在接下来的“可选数据步骤”中来交换的。

- 33 -

Page 40: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

握手包阶段:设备在接受到主机的命令信息后,返回 ACK。此后,总线进入空闲状态,并准备“可选数据步骤”的开始。3.2.5 USB 软件编程基础3.2.5.1 标准 USB 设备请求命令 控制传输的“初始设置步骤”中包含了 1个 8字节的 DATA0数据包,这个数据包是主机用来发送控制阶段中的请求命令的,这些请求命令是主机配置 USB设备的关键。将这 8个字节分配给 5种命令信息,即 1 个字节的请求命令 类 型 bmRequestType、 1 字节的请求命令 代码bRequest、2字节的命令信息 wValue、2字节的索引信息 wIndex和 2字节的传输数据大小信息wLength。标准USB设备请求命令共有表 3-2所示的 11种。

表 3-2 标准USB设备请求命令及其意义Table 3-2 Standard USB device request commands and their meaning

请求命令名称 bRequest值 命令意义GET_STATUS 0 返回特定接收者如端点、接口等的状态信息CLEAR_FEATURE 1 清除或禁用端点、接口等接受者的特定信息SET_FEATURE 3 启用或激活命令接受者的的某些特性SET_ADDRESS 5 主机给设备分配地址GET_DESCRIPTOR 6 主机获取设备的特定描述符

- 34 -

控制读 /写

令牌包阶段数据包阶段握手包阶段

DATA0

ACK

空闲

空闲由主机发送 由设备发送

SETUP

图 3-6 控制传输的“初始设置步骤”结构Fig.3-6 “Initial setup step”structure of control transfer

Page 41: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

SET_DESCRIPTOR 7 主机修改设备中的描述符或增加新的描述符GET_CONFIGURATION 8 主机获取设备当前的配置值SET_CONFIGURATION 9 主机指示设备采用要求的配置GET_INTERFACE 10 主机获取当前某个接口的描述符编号SET_INTERFACE 11 主机要求设备用某个接口描述符描述接口SYNCH_FRAME 12 用于设备设置和报告一个端点的同步桢3.2.5.2 标准 USB 描述符 描述符是描述USB 设备的格式化的信息块,被保存在设备的某一存储区域里。USB 设备有多种标准描述符:设备、配置、接口、端点和字符串描述符等。在设备的枚举过程中,主机要用 Get_Descriptor 命令请求这些描述符,根据这些描述符中的信息对设备进行配置[28]。所有的USB 设备必须响应主机对标准描述符的请求。

USB 设备只有一个设备描述符。设备描述符从总体上描述设备的基本信息,它是设备连接上后主机读取的第一个描述符。设备描述符包括设备描述符本身的信息(描述符长度和类型)、设备信息(USB 版本号、销售商 ID、产品ID、设备发布号、设备序列号等)、配置信息(支持的配置数、终端 0 的最大包大小)、类信息(设备类、设备子类、协议号)等。一个设备可使用多个配置,每个配置有一个配置描述符。主机可以用

Set_Configuration 请求来选择一个配置,用 Get_Configuration 读取当前使用的配置。配置描述符包括配置信息、电源使用信息等。接口是一组 端点的集合。每个配置必须至少支持一个接口主机用

Set_Interface 请求来申请一个新接口,并用Get_Interface 来读取当前接口值。除了端点 0,每个在接口描述符中指定的端点都有一个端点描述符(设备

描述符中已经包含了端点 0 的全部信息)。端点描述符包含端点地址、传输类型、最大包大小、查询间隔等端点信息。字符串描述符包含了文本信息。

3.3 本章小结本章介绍了 PCI总线和 USB总线的规范与操作,其中 PCI总线部分主要

包括 PCI的基本概念、特点、信号定义和读写操作的协议基础;USB总线部分介绍了 USB的优点、分层结构、通讯结构、控制传输与中断传输原理以及标

- 35 -

Page 42: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

准USB设备请求命令和描述符,为以后的系统设计做了很好的知识储备。

- 36 -

Page 43: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

第4章 PC 机与 DSP 通讯电路设计4.1 运动控制器硬件电路总体设计方案运动控制器由基卡和接口卡组成,如图 4-1所示。单卡可以同时控制 1-4

轴伺服电机的运动。基卡集成了 PC机与DSP通信电路,DSP辅助电路,存储器扩展电路,CPLD译码、中断、正交编码处理电路,控制电压转换电路等。接口卡通过 62针接头与基卡相连。伺服使能、报警清除等输出信号经过光电隔离后通过 25针接头对电机进行控制或者连到 I/O 端子排进行输出;伺服电机编码器反馈信号经过差分处理和光电隔离后输入基卡,伺服使能、伺服报警信号,回零信号、限位信号和通用 I/O信号等也通过光隔进行输入输出。运行过程中,PC机把粗插补的数据通过 PC机与 DSP通讯电路传递给

DSP进行时间分割精插补。在每一个伺服周期中,CPLD器件 EPM7128和DSP各处理两路反馈的正交编码信号进以获取实时位置和速度,DSP进行参数曲线的自适应插补计算出理论插补位置,并与实际位置进行比较获取偏差值,以此作为输入基于速度和加速度前馈进行 PID调节,计算获得速度控制量,产生的输出信号经 DAC7625进行数模转换及放大电路放大后将模拟电压量送伺服驱动器以控制电机。外部的伺服报警信号、通用输入信号、回零信号、限位输入信号在 CPLD 中进行逻辑运算后输入 DSP的 XINT1,只要有一个信号输入就引起中断,由中断处理程序进一步判断后做出相应处理。

- 37 -

DSP TMS320LF2407

核心处理芯片

扩展 RAM

伺服电机×4

CPLD译码、中断 编码器处理电路

JTAG 下 载口 电 源 管理 / 时钟

图 4-1 控制器原理框图Fig.4-1 Principle block diagram of controller

PC-D

SP

通讯电路

控制器基卡

差分信号处理

光电隔离电平转换

电源输入 控制电压转换

62针接头

62针接头

25针接头×4

I/O 端子排

通用I/O

限位信号 回零信号

外部电源 接口卡

Page 44: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

4.2 DSP 芯片 TMS320LF2407 介绍随着微处理器、微控制器和数字信号处理器(DSP)的性价比的提高,它

们越来越多地在运动控制系统中得到应用。现在,工程师们可以利用不断发展的控制技术和高性能的处理器设计数字控制系统,这种控制理论和实现手段的并行发展使得许多复杂而有效的控制算法能迅速地用到实际生产过程中。尤其是 DSP器件的优越性能,以及各 DSP 厂商不断推出针对运动控制的 DSP芯片,使得DSP成为复杂运动控制系统和高性能运动控制器中的首选器件。

TMS320LF2407器件是美国 TI 公司开发的面向电机控制的低成本、高性能的 DSP器件,是本运动控制器的核心。其指令周期只有 33ns,可以很好地满足系统的实时性要求,能够实现复杂的控制算法[29]。它在单片处理器中集成了高性能的 TMS320CxLP DSP内核(运算能力为

30 MIPS)、为电机控制而优化的事件管理器及 PWM 输出接口、可同时完成采样的双工 A/D转换器、并行的电机电流读数转换与通讯、Flash存储器或ROM程序存储器,还包括同步、异步串行外设接口、比较单元、通用定时器及与光电编码器接口的编码单元等资源。这种高度集成的单片数字控制方案比现存的多片方案具有更高的电机驱动能力及更低的系统费用[30]。与本运动控制器相关的的 TMS320LF2407 资源介绍如下[31][32]:1.采用高静态 CMOS技术,使得供电电压降为 3.3V,减小了控制器的功

耗;30MIPS的执行速度使得指令周期缩短到 33ns(30MHz),从而提高了控制器的实时控制能力。

2.基于 TMS320C2xxDSP的 CPU核保证了 TMS320LF240X系列 DSP 代码和 TMS320系列 DSP 代码兼容。

3.片内高达 32K字的 FLASH程序存储器,高达 1.5K字的数据 /程序RAM,544字双口 RAM(DARAM)和 2K字的单口 RAM(SARAM)。

4.两个事件管理器 EVA和 EVB,每个包括:两个 16位通用定时器;8个16位的脉冲调制(PWM)通道。它们能够实现:三相反相控制;PWM的对称和非对称波形;当外部引脚 PDPINTx出现低电平时快速关闭 PWM通道;可编程的 PWM死区控制以防止上下桥臂同时输出触发脉冲;3个捕获单元;片内光电编码器接口电路;16通道 A/D转换器。事件管理器模块适用于控制交流感应电机、无刷直流电机、开关磁阻电机、步进电机、多级电机和逆变器。

5.扩展的外部存储器(LF2407)总共 192K字:64K字程序存储器;64K

- 38 -

Page 45: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

字数据存储器;64K字 I/O寻址空间。6.看门狗定时器模块(WDT)。7.基于锁相环的时钟发生器。8.高达 40个可单独编程或复用的通用输入/输出引脚(GPIO)。9.5个外部中断(电机驱动保护、复位和两个可屏蔽中断)。

电源管理器包括 3种低功耗模式,并且能独立将外设器件转入低功耗模式。4.3 PCI 总线与 DSP 通讯电路设计4.3.1 PCI 总线接口电路实现方法

PCI总线接口电路大体有两种实现方法。1.用可编程逻辑器件 CPLD或 FPGA实现通用 PCI接口。这样做也有两

种选择。一个是买 IP宏,并根据应用的需要来裁剪 IP宏并与相关应用电路烧入 CPLD或 FPGA 中。另一种是采用类似于 QuickLogic 公司的一次性可编程芯片来处理,每片可编程芯片内都内嵌 PCI接口电路,也可根据应用的需要来裁剪烧写,但只能烧写一次。采用可编程逻辑器件的优点主要有:PCI接口可以根据插卡功能进行最优化的电路设计,而不必实现所有的 PCI总线的功能,节约系统的逻辑资源;可以将 PCI插卡上的其它用户逻辑与 PCI 接口逻辑集成在一块芯片上,实现紧凑的系统设计;当系统升级时,只需对可编程逻辑器件重新进行逻辑设计,而无须更改 PCB 板。但是,采用可编程逻辑器件由于要买IP宏,而一个 IP宏少则几千美元多则更贵,并且一般的小规模的 CPLD的免费开发软件不支持对 IP宏的开发所以用户有可能还要花几万元买大规模的CPLD或 FPGA设计软件,因此用户的开发前期投入很大;同时用户需具备一定可编程逻辑设计的功底以及扎实电路设计基础,要有一定深度的 VHDL的开发能力,开发周期较长。

2.采用专用芯片实现 PCI总线接口。专用芯片可以实现完整的 PCI主控模块和目标模块的接口功能,将复杂 PCI 总线接口转换为相对简单的用户接口。厂商对 PCI 总线接口进行了严格的测试,用户只要设计转换后的总线接口即可。这样,用户可以集中精力于应用设计,而不是调试 PCI 总线接口,明显的缩短了开发周期。它的缺点是用户实际只用到了部分的 PCI 接口功能,这样造成一定的逻辑资源浪费,对于大批量生产的产品不易降低成本。

- 39 -

Page 46: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

为了缩短开发周期,本运动控制器采用第二种实现方法,即选用专用 PCI总线接口芯片来设计 PCI总线接口电路。4.3.2 PCI 总线接口芯片选择目前市场上提供的专用芯片主要是AMCC、PLX和 CYPRESS等公司的系

列产品。各个型号的 PCI接口芯片的比较如表 4-1所示。表 4-1各公司 PCI接口芯片比较

Table 4-1 Comparation of PCI interface chips made by different corporations

生产公司 主要特点 驱动开发 价格 技术资料AMCC

内置 FIFO接口,适于设计数据采集卡,使用简

单,性能好有DOS 下的驱动程

序范例较昂贵

较为全面,提供评估板板图

CYPRESS

内置 DRAM,可以替代外部缓存,有效降低性

能成本有VXD 范例 便宜 技术文档比较全

面PLX 有较多型号可供选择 提供 SDK,降低工

作量多种选择

有价值的资料在RDK 中出售

从市场情况来看,PLX是 PCI接口芯片的行业巨头,该公司提供多个系列的产品,例如主设备接口芯片 9060、9080、9054 等,从设备接口芯片9030、9050、 9052等,分别支持“主控”和“从控”两种模式。所谓“主控”就是 PCI接口芯片可以让用户电路控制 PC机资源,即主动对目标设备发读写信号。“从控”就只能让 PC机来控制用户电路工作,而用户电路只能被动接受,像 ISA总线一样。支持该模式的芯片中,9030为嵌入式专门设计,支持CompactPCI;9050 专门为 ISA设备转 PCI总线接口而设计;9052是 9050的升级版本。这些芯片价格低廉,不支持 DMA,适合于设计基于 PCI总线的以中断、查询方式与主机交互的系统。

经过比较,PLX 公司的 9052技术成熟,价格适中,能够满足系统要求,所以决定采用该芯片作为 PCI接口的运动控制卡的接口芯片。4.3.3 PCI 9052 的主要特点

PCI9052是 PLX 公司继 PCI9050 之后推出的低成本 PCI总线目标接口芯片,

- 40 -

Page 47: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

符合 PCI 2.1 规范,采用 CMOS工艺,低功耗,PQFP 160 pins 封装。其主要特点如下[33]:

1.包括一个 64Byte的写 FIFO存储器和一个 32Byte的读 FIFO存储器,可实现高性能的突发式数据传输;

2.ISA 模式下支持 PCI 总线到 ISA 总线的单周期存储器(8 位或 16位)读写和 I/O 访问,实现 ISA 总线到 PCI 总线的平滑过渡;

3.支持两个来自局部总线的中断,可生成一个 PCI 中断,利用软件写内部寄存器位也可以达到同样的目的;

4.PCI9052的局部总线与 PCI总线的时钟相互独立运行,局部总线的时钟频率范围为 0~40MHz,TTL电平,PCI的时钟频率范围为 0~33MHz,两种总线的异步运行方便了高低速设备的兼容;

5.可编程的局部总线配置,支持复用或非复用模式的 8、16或 32位的局部总线;

6.串行 E2PROM提供 PCI总线和局部总线的部分重要配置信息;7.4个局部设备片选信号,各设备的基址和地址范围及其映射可由串行

E2PROM或主机编程实现;8.5个局部地址空间,基址和地址范围及其映射可由串行 E2PROM或主

机编程实现;9.可对局部总线的预取计数器编程为 0(非预取)、4、8、16或连续

(预取计数器关闭)预取模式;10.PCI锁定机制,PCI主控设备可以通过锁定信号独占对 PCI9052的访

问。4.3.4 PCI 9052 的工作原理

PCI9052 包含了四个接口部分:PCI 总线接口、串行 EEPROM 接口、局部总线接口和 ISA 总线接口。其中局部总线接口与 ISA 总线接口的引脚是复用的。PCI9052 就相当于一个桥,连接 PCI 控制的局部总线芯片到 PCI 总线上,将 PCI 指令(如读写某个寄存、内存、I/O)翻译到局部总线。PCI9052 内部提供了两种配置寄存器:PCI 配置寄存器(PCI Configuration Registers)和局部配置寄存器(Local Configuration Registers),为总线接口的实现提供了较大的灵活性。PCI 配置寄存器提供了 6 个基地址寄存器(BASE0-BASE5),这些基地址都是在系统中的物理地址,其中 BASE1和 BASE2 都是用来访问局部配置寄

- 41 -

Page 48: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

存器的基地址,BASE1 是映射到内存的基地址,BASE2是映射到 I/O 的基地址,所以可以通过内存和 I/O 来访问局部配置寄存器。BASE2-BASE5 四个空间提供了访问局部端所接的 4 个芯片,它们将局部端的芯片通过局部端地址(在局部配置寄存器中设置)翻译成 PCI 总线的地址,也就是将本地的芯片影射到系统的内存或 I/O 口。这样使用程序操作这一段内存(或 I/O)实际上就是对本地的芯片操作了。这些寄存器的内容必须在芯片复位时通过串行 E2PROM 进行加载,正确配置 E2PROM 的内容是使用 PCI9052 的关键。上电时,PCI9052的内部寄存器由 PCI总线的 RST#信号复位,在局部总线

上输出 LRESET#信号。复位后,PCI9052尝试去读串行 EEPROM来判断其是否存在。如果 E2PROM的第一个字不是 0FFFFH,则 PCI9052假定设备非空并且继续读。PCI总线上的主控设备也可以应用软件通过置 CNTRL[30]=1,使PCI9052的寄存器复位,但是主设备只能访问配置寄存器,而不能访问局部总线。当 CNTRL[30]=0时,清除 PCI9052的复位状态。提供 PCI 总线到 ISA 总线之间的简单转换模式也是 PCI9052 的特色之一,

只要设置相应的使能位并进行必要的配置即可,虽然只能用于单次数据传输,却为基于 ISA 总线的产品向 PCI 总线转移提供了极大的方便。ISA 模式的配置既可以通过编程器对串行 E2PROM 预先编程来实现,也可以通过 PCI 总线在线配置。4.3.5 E2PROM 的配置实验室已经开发了基于 ISA总线和 DSP的四轴伺服运动控制器。为了从

ISA 总线的接口电路顺利而平稳过渡到 PCI 总线的接口卡上去,减少软硬件开发的工作量,新开发的运动控制器基于 PCI转 ISA总线模式,采取 I/O寄存器映射方式。

PCI的即插即用(PnP)方式是由于每块支持 PnP的板卡上都有一组成为配置空间的寄存器,在这些寄存器中保存有自己对系统资源的需求参数,当系统启动时,其 BIOS 引导程序首先读出这些参数,然后综合每块板卡对资源的需求,统一对整个系统的资源进行分配,从而避免用户的干预。为了 BIOS 引导程序能正确地对板卡所需的资源进行动态配置,其配置空间寄存器中存储的是物理空间大小等相对信息,而不是绝对的物理地址[34]。PCI设备在计算机中的硬件资源是系统动态分配的,PCI9052寄存器的初始值由串行 E2PROM提供,在PCI9052加电后读取 E2PROM必须采用支持连读功能的芯片,本系统采用 PLX

- 42 -

Page 49: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

公司推荐的 93LC46B。E2PROM各个寄存器的意义再文献[33]中有详细描述。下面控制器中用到

的一些关键寄存器值的确定。1 . 00H :设备 ID 为 0x9050,制造商 ID 为 0x10B5,寄存器值为

0x9050105B,如果设置错误,则 PCI9052 不能工作。2 . 04H : 级联号码器存器, PCI9052 数据手册推荐分别设置为

0x06800000。要,。子系统 ID、制造商 ID 3.08H:子系统 ID和制作商 ID,由用户自己任意定义,以此标识 PCI 板

卡的制造商,也设定为 0x9050105B。4.0CH:中断控制状态寄存器,设定为 0x00001000,表示不使用中断,

其中位 12为1 表示 I/O映射使能。5.14H:LAS1 范围寄存器,设定为 0x0FFFFFFF1,表示映射 16个字节

的 I/O 空间。因为原来的 ISA总线控制器只用了 16个字节的地址空间,可以通过拨码开关选择基地址,默认的地址空间为 0x220-0x23F。

6.3CH:LAS1特性进存器,设定为 0x00400022,其中位[23: 22]为 00表示 LAS1的数据总线宽度为 8位。第 1位和第 5位为 1分别表示 LDRYi#输入使能和预取的字数使能。

7.50H:CS1配置寄存器,与 LAS1对应,设置为 0x00000009,最后一位为 1表示使能 CS1,第 3位为 1表示地址位于 0x220-0x23F 之间时,片选信号CS1有效。

8.60H:控制寄存器,设定值为 0x00454492。4.3.6 PCI-DSP 通讯电路

PC机通过 PCI总线与DSP与的通讯电路如图 4-2所示。由于 DSP与 PC机之间需要高速地传送大量的数据,为了提高两者之间的

通讯速度,在 PCI 9052与 DSP 之间加入了双口 RAM。双口 RAM作为一种特殊的 RAM芯片,在高速数据采集处理系统中得到广泛的应用。它具有两个独立的端口,各自均有一套独立的数据总线、地址总线和控制总线,允许两个端口独立地对存储器中的任何单元进行存取操作。当两个端口同时对存储器中的同一单元进行存取操作时,可由其内部仲裁逻辑决定优先权。双口 RAM芯片的型号为美国 IDT 公司生产的 IDT7132 [35],它是 2K×8bit

高速静态双口 RAM,存取速度 35ns,在数字信号处理领域应用已经比较普遍。- 43 -

Page 50: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

它的时序与DSP的时序相配合,特别适用于 DSP与 PC机之间的大量数据高速双向传送。该芯片均提供两个带有自身的控制、地址和 I/O 引脚的独立端口,它允许独立地读写存储器中的任何单元。IDT7132 带有片内硬件端口仲裁电路可以允许双机同步地读或写存储器中的任何单元,同时保证数据的完整性。它的竞争原则是:左右两端口的地址信号同时到达,首先处理 CE片选信号先到的一端,慢的一方 BUSY线下拉,直到快的一方访问完毕;左右两端口的片选信号同时到达,首先处理访问地址信号先到的一端,慢的一方 BUSY线下拉,直到快的一方访问完毕。采用双口 RAM作为 TMS320LF2407与 PC主机之间的通讯接口不但可以简化通讯接口电路的设计,而且提高了数据交换的速度,增强了控制卡的实时性。由于只用到了双口 RAM的 16个地址,DSP的地址线A[10: 4]与 IS#信号进入 CPLD进行译码对双口 RAM片选。LRDYi信号和两侧的 BUSY#信号也进入双口 CPLD进行相应的逻辑判断。由于双口 RAM的数据信号电平为 5V,在与 3.3V的 DSP 之间进行数据传输时需要 74LVTH245进行电平转换。

- 44 -

Page 51: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

4.4 USB 总线与 DSP 通讯电路设计4.4.1 USB 接口芯片选择按芯片的构架来划分,市面上的 USB控制器芯片可以分为不需要外接微

处理器的和需要外接微处理器的两类芯片。内嵌通用微控制器的 USB控制芯片,一般是在通用微控制器的基础上扩展了 USB功能,其优点是开发者熟悉这些通用微控制器的结构和指令集,相关资料丰富,易于进行开发。如Cypress基于 8051的 EZ-USB系列,Microchip基于 PIC的 16C7x5,Motorola基于 68HC08系列的 68HC08JB8,Atmel基于AVR的AT76C711等USB控制芯片。需要外接微控制器的芯片,只处理与 USB相关的通信工作,而且必须由

- 45 -

AD[31: 0]

C/BE[3: 0]#

FRAME#PAR

EESK

ISAA[1: 0]

CLK

IRDY#TRDY#STOP#

DEVSEL#

PERR#SERR#

RST# INTA# LOCK#

PCI 9052

PCI 总线

IDT

7132 DR

AM

TM

S320LF2407

DSP

IDSEL

CPLD 芯片 EPM7128 地址译码

R/W#L

LA[10: 2]

LAD[7: 0]

CS1#

IORD#

IOWR#

LRDYi

OE#L

CE#L

I/OL[7: 0]

AL[10: 2]

AL[1: 0]

CE#R

OE#R

R/W#R

I/OR[7: 0]

AR[10: 0]

EEDO

EECSEEDI

96LC

46BE2PR

OM

SKDOCSDI

BUSY#L BUSY#R

A [10: 0]

D [7: 0]74LVTH245

A [10:4]IS#

RD#R/W#

图 4-2 PCI-DSP通讯电路图Fig.4-2 Communication diagram between PCI bus and DSP

Page 52: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

外部微控制器对其控制才能正常工作,这些芯片必须提供一个串行或并行的数据总线与微控制器进行连接。其优点是芯片价格便宜,而且便于用户使用自己熟悉的微控制器进行开发。如 Philiphs 公司的 PDIUSBD12和 ISP-1581。按传输速度高低,可分为支持 USB 1.1协议的低速系列、全速系列和支持

USB 2.0协议的高速系列。PDIUSBD12属于前者,而 ISP-1581属于后者。由于运动控制器选用高性能的DSP处理器作为核心,对数据传输的实时性

和传输速度有较高的要求,因此选用 Philiphs 公司的 ISP-1581接口芯片。4.4.2 ISP-1581 的特性

ISP-1581是 Philiphs 公司在原有 PDIUSBD12芯片的基础上开发的又一款高速 USB接口芯片[36]。其 64 引脚封装的芯片功能模块如图 4-3所示。运动控制器主要涉及的 ISP-1581芯片的特性如下:

1.高性能的USB接口器件,集成了串行接口引擎(SIE、PIE、FIFO存储器、数据收发器和 3.3V的电压调整器;

2.支持USB2.0的自检工作模式和USB1.1的返回工作模式;3.7个 IN 端点,7个OUT 端点和 1个固定的控制 IN/OUT 端点;4.集成 8K字节的多结构 FIFO存储器;5.端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输;6.同大部分的微控制器/微处理器有单独的总线接口;7.集成了 PLL的 12MHZ晶体震荡器,有着良好的 EMI特性;

- 46 -

Page 53: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

8.集成了 5V 到 3V的内置电压调整器;9.可通过软件控制与USB总线的连接(Softconnect);10.符合ACPI,OnNOW和USB电源管理的要求;11.可通过内部上电复位和低电压复位电路复位,也可通过软件复位。

4.4.3 ISP-1581 的引脚介绍ISP-1581芯片的 64个引脚按照功能分为电源供给引脚、扩展总线引脚、

系统相关引脚、系统时钟引脚、外扩总线控制信号和外中断输入引脚等 6 类。1.电源供给引脚:ISP-1581电源共占用 13 引脚,其中 Vcc(5.0)为外部供电;

VCCA,及 VCC(3.3)为内部供电,不能用来驱动外部器件;DGND为数字地;AGND为模拟地,。在所有的供电引脚上增加一个去耦电容(0.1uF),同时并联一个 0.01uF的电容以得到得到良好的 EMI性能。

2.扩展总线引脚:AD[7: 0]在通用处理器模式下用作地址总线,在断开总线模式下用作复用地址 /数据总线,微控制器利用它来控制 ISP-1581。DATA[15: 0]在通用处理器模式下用作 DMA总线和系统总线,通过它来控制 ISP-1581。但是,在断开总线模式下 DATA[15: 0]仅用作DMA总线。

3.系统相关引脚:这些是与系统配置和调试相关的其他引脚。包括系统- 47 -

图 4-3 ISP-1581芯片的功能模块Fig.4-3 Function module of chip ISP-1581

Page 54: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

复位引脚 RESET、系统出厂时测试引脚 TEST。4.系统时钟引脚:晶体振荡器输入 XTAL1,连接一个基本的并联振荡电

路或一个外部时钟源(此时 XTAL2悬空);晶体振荡输出 XTAL2,连接一个基本的并联振荡电路,当XTAL1 连接一个外部时钟源时该管脚悬空。

5.外扩总线控制信号和外中断输入引脚:包括选择总线结构引脚 BUS-CONF/DA0、ALE/A0功能选择引脚 MODE1、读 /写功能选择引脚 MODE0/DA1、外部中断输入引脚 INT、读选通引脚(R/W)/RD、写选通引脚 DS/WR。

6.其它引脚:D-、D+数据线连接外部数据通信,INTRQ为 ATA/ATAPI外设的中断请求,CS0、CS1为 ATA/ATAPI设备的输出片选,CS为片选输入,WAKEUP唤醒输入。 4.4.4 ISP-1581 相关寄存器简介

ISP-1581拥有地址寄存器、方式寄存器、中断配置寄存器等诸多寄存器,对这些寄存器的理解与操作对于软件开发中建立 USB与 DSP的通讯具有重要的意义。下面对其中一些比较重要的寄存器进行简要介绍。

1.地址寄存器(地址:00H) 这个寄存器用来设置 USB的分配地址并激活 USB设备。它的各位分配如表 4-2所示。只要出现总线复位、上电复位和软件复位三者之一, DEVEN 和 DEVADDR 清零。为响应标准 USB 的SET_ADDRESS请求,固件必须先将设备地址写入地址寄存器,再发送一个空包给主机。当主机识别空包后,这个新设备被激活。

表 4-2 地址寄存器的位分配Table 4-2 Bit allocation of address register

位 7 6 5 4 3 2 1 0

符号 DEVEN DEVAADDR[6:0]

复位 0 00H

表 4-3 方式寄存器的位分配Table 4-3 Bit allocation of mode register

位 7 6 5 4 3 2 1 0

符号 CLKON SNDRSU GOSUS SFRST GLNTN WKPCS RSRVD SFTCT

复位 0 0 0 0 0 0 0 0

- 48 -

Page 55: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

2.方式寄存器(地址:0CH) 这是一个单字节的寄存器,其位分配见表4-3。在 16位总线模式下对其进行访问时忽略高字节。方式寄存器控制着重新开始、挂起和唤醒行为、中断活动、软件复位、时钟信号和软件连接操作。

3.中断配置寄存器(地址:10H) 这是单字节寄存器,决定了 INT 输出的动作和极性。位分配见表 4-4。当 USB的 SIE接受或产生一个 ACK、NAK或 STALL,就根据以下三种调试方式位域来产生中断:(1) CDBGMOD[1:0]:控制端点 0 中断。(2) DDBGMODIN[1:0]:端点 1 到 7的DATA IN 中断。(3) DDBGMODOUT[1:0]:端点 1 到 7的DATA OUT 中断。CDBGMOD、DDBGMODIN和DDBGMODOUT的调试方式允许用户分别

进行设置,操作时 ISP-1581将向外部微处理器发送一个中断请求。寄存器的 INTPOL位控制 INT 输出的信号极性(高/低电平有效,上升沿/

下降沿)。若选择电平触发方式,INTLVL必须为 0。若 INTLVL设置为 1将产生一个 60ns的脉冲(边沿触发)触发产生中断。

表 4-4:中断配置寄存器的位分配Table 4-4 Bit allocation of interrupt configuration register

位 7 6 5 4 3 2 1 0

符号 CDBGMOD[1:0] DDBGMODI [1:0] DDBGMODO [1:0] INTLVL INTPOL

复位 03H 03H 03H 0 0

4.中断使能寄存器(地址:14H) 这个寄存器用来激活/禁止单个中断源。寄存器中的 IEPnRX或 IEPnTX位可以屏蔽所有的中断。当 USB SIE在USB总线上接收或产生一个ACK或 NAK,就产生一次中断。中断的产生还依赖于位域 CDBGMOD、DDBGMODIN和DDBGMODOUT调试方式设置。所有数据的 IN处理通过位 DDBGMODIN控制的发送缓冲区(IX)来实现。

所有数据的 OUT处理则是通过位 DDBGMODOUT控制的接收缓冲区来实现。而位 CDBGMOD用于控制端点 0的传输(IN、OUT和 SETUP)。

由 USB 总线上的事件(SOF,假 SOF,挂起,重新开始,总线复位,Setup和高速状态)所产生的中断也能被分别控制。除位 IEBRST(总线复位)控制的中断之处,总线复位信号可以将所有激活的中断禁止。总线复位时IEBRST的值不变。中断使能寄存器包含 4个字节

5.端点索引寄存器(地址:2CH) 端点寄存器是一个字节的寄存器,它

- 49 -

Page 56: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

为微控制器对寄存器的访问提供了目标端点。位分配如表 4-5所示。以下是被编入了索引的寄存器:端点 MaxPacketsize,端点类型,缓冲区长度,数据端口,短包,控制功能。例如,向端点索引寄存器引入了 02H,就可通过数据端口寄存器对端点 1

的OUT数据缓冲区进行访问。表 4-5:端点索引寄存器的位分配

Table 4-5 Bit allocation of endpoing index register

位 7 6 5 4 3 2 1 0

符号 保留 EP0SETUP ENDPIDX[3:0] DIR

复位 - - 0 00H 0

6.端点类型寄存器(地址:08H) 该寄存器用于设置索引端点的端点类型:同步,批量或中断。它还可以使能端点和设置双缓冲区,并可通过位NOEMPKT 使一个长度为 0的 TX缓冲器空包的自动产生禁止。该寄存器包含2个字节,它的位分配如表 4-6所示。

表 4-6 端点类型寄存器的位分配Table 4-6 Bit allocation of endpoing type register

位 15 14 13 12 11 10 9 8

符号 保留 保留 保留 保留 保留复位 - - - - - - - -

位 7 6 5 4 3 2 1 0

符号 保留 NOEMPKT ENABLE DBLBUF ENDPTYP[1:0]

复位 - - - 0 0 0 00H

4.4.5 USB-DSP 通讯电路设计USB-DSP通讯电路示意图如图 4-4所示。

- 50 -

Page 57: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

由于 TMS320 LF2407 DSP 具有单 独的数据总线和地址总线,将BUS_CONF接高电平,使 ISP-1581工作于通用处理器模式,在该模式下,AD [7: 0]为单独的 8 位地址总线,DATA [15: 0]为 16 位数据线。MODE0/ DA1和MODE1 引脚也接高电平,此时 ISP-1581工作 8051 类型,其 和 信号分别为写有效和读有效。ISP-1581的寄存器映射到 DSP的外部数据存储器空间,地址为 8000H~80FFH,CPLD器件 EPM7128进行地址译码后通过 USB_CS信号对其进行选通。将中断信号 INT接到 DSP的 XINT2 端用于启动中断进行输入输出传输处理。RREF 引脚通过 12.0K的精密电阻接地,提供精确的镜电流。RPU 引脚与D+相连,1.5K的电阻对其上拉。4.5 本章小结本章提出了 4轴伺服运动控制卡的硬件总体设计方案,概述了 DSP芯片

TMS320LF2407A在电机控制方面的特点和功能,然后分别对 PCI总线和 USB总线的接口芯片进行选择,并在此基础上设计了两种总线与DSP的通讯电路,建立了 PC机与DSP的通讯。

- 51 -

图 4-4 USB-DSP通信电路示意图Fig.4-4 Sketch map for USB-DSP communication

Page 58: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

第5章 运动控制器硬件电路设计论文的第 4章介绍了运动控制器的总体设计方案,并分别设计了 PC机通

过 PCI总线 USB总线与运动控制器中 DSP芯片进行通讯的电路。在本章中,将对控制器基卡其余部分及接口卡的硬件电路设计进行详细分析介绍。5.1 DSP 辅助电路5.1.1 JTAG 测试接口电路在 TMS320LF2407A 上设置有符合 IEEEll49 标准的 JTAG( Joint Test

Action Group)标准测试接口及相应的控制器。不但能控制和观察多处理器系统中的每个处理器的运行、测试每块芯片,还可以通过这个接口来载入程序。控制卡上设置了一个 14针的 JTAG接口。在运动控制器的硬件调试及软件开发过程中,闻亭公司提供的 XDS510-USB仿真器接通 JTAG接口,在 PC上编译软件并下载到 DSP 中进行控制,开发好的程序也可以通过该接口烧录到 DSP的 Flash 程序存储器中。和 JTAG测试口同时工作的还有一个分析模块,它支持断点设置和程序存储器、数据存储器、程序的单步运行和跟踪以及外部中断计数等。 JTAG 与 TMS320LF2407 的接口电路图如图 5-1 所示,EMU0 和 EMU1信号加上拉电阻的目的是为了保证信号上升时间小于 10us[37]。

- 52 -

图 5-1 JTAG接口电路图Fig.5-1 Diagram of JTAG interface circuitry

Page 59: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

5.1.2 供电电路TMS320LF2407是低功耗芯片,必须采用 3.3V供电,采用美国 TI 公司生

产的电源管理芯片的 TPS7333将 5V电压转换为 3.3V为 DSP和 CPLD 器件EPM7128等需要 3.3V电压的元件供电,电源管理电路如图 5-2所示。IN 端是电压输入端,输入电压可以是 4.3V—10V 之间,OUT 端是电压输出端,在25℃时的典型值是 3.3V,在-40℃~125℃之间,输出电压最小为 3.23V,最大为 3.37V。TPS7333具有极低的静态电流,典型值为 285 微安,输出电流可达500mA,具有 Power Good(电源好)指示功能[38]。

5.1.3 时钟电路TMS320LF2407A上集成有 PLL(锁相环)时钟模块,可以为 DSP芯片及

外设提供所需的时钟信号。PLL 可提供 4种时钟信号:供 CPU内核、片内寄存器、片内设备使用的 CPUCLK;系统时钟 SYSCLK,一般为 CPUCLK的 1/2或1/4;供模拟模块使用的 ACLK,一般为 1MHZ;,供WATCHDOG计数/实时中 断 模 块 使 用 的 WDCLK , 一 般 为 16KHZ 。 PLL 模 块 可 以 按 照4、2、1.33、1、0.8、0.66、0.57、0.5的倍率进行倍频或分频[39]。

这里的时钟信号由外部提供,由于 TMS320LF2407A 的速度达到30MIPS,所以选择 15MHZ的晶振,从 XTALI/CLXIN 输入,经 PLL和 PLL22

- 53 -

图 5-2 电源管理电路Fig.5-2 Power management circuitry

Page 60: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

倍频成 30MHZ信号,供DSP 使用,管脚 XTAL2悬空。5.2 存储器扩展电路对于运动控制器的存储器扩展电路,选择具有较高存取速度的外部存储器

非常重要。如果不考虑速度问题,可使用 READY信号和片内等待状态发生器来产生等待状态,满足DSP与慢速器件之间的通讯问题。而对于本系统,终端部分的数据处理量比较大,数据处理速度要求快,因此需要高速的存储器接口。因此,我们选用 CYPRESS 公 司 生产的 CY7C102x—12ZC[40]是高速静态 RAM,它的特点:高速的存取速度 TAA=12us、低功耗、高字节和低字节的存取独 立控制等, 3.3v 供电,VCC 接 3.3v ,其 和 接地, 接TMS320LF2407A的 信号, 接 TMS320LF2407A的 信号。

TMS320LF2407 有 1.5K 字 的 数 据 / 程 序 RAM , 544 字 双 口RAM(DARAM)和 2K字的单口 RAM(SARAM)。但是考虑到控制器的程序量比较大,相关的数据较多,需要的数据储存空间较大,因此在外部用一片CY7C1020V 扩展了 32Kx16位的数据存储器,地址空间为 8000H~0FFFFH。数据存储空间用来保存采集的实时数据、处理过的数据和运算过程中的许多中间变量,当 TMS320LF2407A访问片内数据存储器时,外部存储器信号 和

处于高阻状态,在 EPM7128内,地址线的最高位 取非后与 信号相或,其输出与外部数据存储器的 连接进行片选,当 TMS320LF2407A访问外部数据存储器时,一个有效的 信号表明外部总线正被数据存储器占用,处于低电平。 在基于USB总线的控制器中,外部数据空间的 8000H-80FFH

被映射到 ISP-1581的寄存器,因此需要对数据存储器的 A14地址线进行相应的译码处理,使数据空间映射到 0C000H~0FFFFH。

TMS320LF2407还提供了 32K字节的 Flash程序存储器,可以将编译好的程序烧录进去运行。但是,程序在 ROM 中运行速度较慢,最好是在DSP上电复位后将程序搬运到 RAM 中运行以提高执行速度。同时,在进行程序调试时,也是通过跳线将 引脚置为高电平,使程序在外部存储器中执行。因此利用 CY7C1021芯片扩展了 64K×16bit的片外程序存储器。当访问片内程序存储器时,外部存储器信号 和 处于高阻态, 信号直接和外部 RAM的

连接,一个有效的 信号表明外部总线正被程序存储器占用。

- 54 -

Page 61: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

5.3 控制电压转换电路要实现对电机转速的控制,需要将 DSP 中计算所的的数字量转化为-10 V

~+10V的控制电压。控制器中采用了 BURR-BROWN 公 司 生产的 12 位 4 路 D/A 转换芯片

DAC7625将数字量转化为模拟量送到电机驱动器。它接收 12位并行的输入数据,有双缓冲的 DAC 输入逻辑,并提供一个内部输入寄存器的反馈模式,它有低功耗 12mW。DAC7625能在单极电源+5V或双极电源 下工作。每个DAC的低功耗、小体积使 DAC7625特别适合于闭环伺服控制系统。采用MC1403作为基准电源,它提供了一个+2.5V的基准电压作为供给 DAC7625的参考电压。电路原理图与文献[41]中的类似。采用单极电源方式,DAC7625的Vrefh 接+2.5V,Vrefl 接地,Vdd 接+5V,Vss 接地,输入范围 0~+2.5V, DAC76525 四 个 通 道 在 DSP 中 的 IO 地 址 为 :0000H,0001H,0002H,0003H,DAC 更新的地址为 0004H,其片选信号由CPLD器件进行逻辑运算后获得。由于DAC7625是 5V供电,DAC7625与DSP之间通过 74LVTH245的电压转换芯片传输数据。

DAC7625的四个通道输出信号的电压范围为 0~+2.5V,需要将其进行处理,将其转化为-10V~+10V。图 5-3是放大电路原理图。经过运算放大器的第一级运放后得到的电压范围是-2.5~0V,然后经过运算放大器的第二级运放后得到的电压范围是-10V~+10V,与数字量 0x000H~0x0FFF相对应。

- 55 -

图 5-3 电压放大电路Fig.5-3 Voltage amplifying circuitry

Page 62: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

5.4 CPLD 处理电路CPLD部分主要完成以下三方面的功能:地址译码;QEP(正交编码脉

冲)处理及计数,对两个电机的正交编码输入四倍频后进行计数,反馈给

DSP,为这两个电机的速度和位置测量提供数据;外部中断逻辑判断,即对限位信号、报警信号和回零信号的处理,产生时向 DSP申请中断。CPLD器件的内部功能框图如图 5-4所示。

Altera 公司的 EPM7128是基于先进的MAX架构的 CPLD器件,传播最小延时为 3.5ns,可以实现速度高于 200MHz的计数,支持在系统编程[42]。假设电机的最大转速为 3000r/min,对于 2500P/r 增量式编码器,经四倍频后每个脉冲的周期为 2000ns。我们采用的 CPLD器件型号为 EPM7128SLC84-15,Speed Grade 为 15ns,完全可以满足系统的实时性要求。5.4.1 地址译码

这一部分的功能主要包括对 DAC7625的片选,即 D/A转换通道的选择;在 USB-PC通讯电路中实现对 ISP-1581的片选或者在 PCI-PC通讯电路中对双

- 56 -

16位计数器锁 存器

译码处理、逻辑判断

正交编码输入DSP地址、控制信号

中 断信号

通道选择三态缓冲

使能、清零信号

通道选择输出使能

D/A

通道选择

片选信号

限位、回零等输入

QEP处理电路

图 5-4 CPLD器件功能框图Fig.5-4 Functional block diagram of CPLD

Page 63: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

口 RAM的两侧进行读写使能;产生定时、锁存、清零和读写信号对 CPLD内部构建的QEP电路计数器进行操作。具体功能在各相关部分进行介绍。5.4.2 正交编码脉冲处理及计数正交编码脉冲电路的功能是把两路正交编码脉冲产生一路方向信号和一路

四倍频后的脉冲信号。这些信号进入计数器进行增减计数,以确定电机转过的脉冲数。最后将电机的方向信号和计数器计数值反馈到 DSP芯片进行处理。5.4.2.1 正交编码脉冲电路 图 5-5是正交编码脉冲处理电路功能框图。ref-clk是参考时钟,QEP1和 QEP2 经异或后从器件 qep_encode的 QEP_IN 输入,输出为 QEP_CLK,完成了四倍频。器件 DIR_CONFIRM为方向检测逻辑部分,送给 CPLD内部的计数器,QEP_DIR则是电机的转向信号。图 5-6是它的仿真波形图。

方向检测器件DIR_CONFIRM用VHDL 编写。检测的原则为:当QEP1为低电平而QEP2为上升沿时电机正转,当QEP2为下降沿时则电机反转。

由于电机转速的不确定性导致编码器的脉冲宽度的不可预知性,所以要实- 57 -

图 5-5 QEP处理电路功能框图Fig.5-5 Functional block diagram of QEP circuitry

图 5-6 QEP电路仿真波形图Fig.5-6 Simulation wave diagram of QEP circuitry

Page 64: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

现占空比为 1: 1的 QEP_CLK是很困难的,并且 QEP1和 QEP2 经异或后相当于二倍频输入到 QEP_IN 端,因此最好是在 QEP1和 QEP2的每个跳变沿产生一个上升沿信号,保证计数器能够计数,即在每个跳变沿,QEP_CLK 输出高电平,保持一定的时间然后变为低电平,在下一个跳变沿再变为高电平。这样,既解决了脉冲宽度的一致性问题,同时和异或电路一起完成了四倍频。图 5-7是 qep_encode电路框图。

电路中的 short_timer是一个一位的计数器,也可以设定为两位或者更多位以保证足够的脉冲宽度;ref_clk作为 short_timer的时钟;cnt_en是计数器的计数允许信号;aclr是异步清零信号,由 TFF 够成 型触发器。此电路保证在输入方波信号 qep_in的跳变沿产生上升沿信号,由 qep_out 输出。5.4.2.2 计数器电路 此部分包括两个 16位的增/减计数器,分别对两个电机四倍频后的正交编码脉冲进行增减计数,增减控制由 DSP_DIR来控制,输出计数器的值的同时,输出计数器溢出信号。DSP对两个计数器进行使能控制,由DSP地址译码部分产生定时、锁存、清零和读信号,分别读取两个计数器的值,进行速度和位置的测量。此部分的原理框图如图 5-8所示。

其中,dir_con是计数器的增减控制信号,qep_clk是四倍频后的正交脉冲,这两个个信号都来自正交编码脉冲逻辑电路。cnt_en是计数器的使能信号;cnt_aclr是计数器的异步清零信号,此信号为低电平时将计数器清零; load是

- 58 -

图 5-7 qep_encode电路图Fig.5-7 Diagram of qep_encode circuitry

Page 65: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

计数器的异步置数信,此信号为低电平时将 reload 常量的值加载到计数器的计数寄存器中;latch是计数器的锁存信号,上升沿时将计数器的值锁存到相应的锁存器中;rd读信号,cnt_rd_sel是对计数器的选择信号,这两个信号控制对两个不同计数器值的读取。这几个信号都来自DSP的地址译码电路部分。两个个计数器的溢出信号和 16位计数器数据输出分别送给 DSP的外部中断引脚和16位数据线。

5.4.3 中断逻辑每个轴都有正负限位信号、回零信号和报警信号,四轴共计 16个信号,

对它们的处理要求很高的实时性,如果DSP采用查询方式不断扫描这些信号的状态,将占用大量的时间。因此,将它们输入到 EPM7128,相或后产生中断逻辑接入 DSP的 XINT1 引脚,任一个输入都将引起中断,再由中断函数确定引起中断的具体信号并进行相应处理。

5.5 接口卡电路分析为提高运动控制器的扩展性,增强其在硬件上的地开放性,开发了通用的

- 59 -

图 5-8 计数器电路原理框图Fig.5-8 Theory block diagram of counter

Page 66: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

接口卡,辅助完成基卡与外部的通讯。除了进行反馈信号等的传输外,还提供了电机的限位、回零、伺服报警、伺服使能等信号和 8路通用 I/O的接口。5.5.1 差分信号处理电路

交流伺服电机的编码器信号直接接入到电机驱动器中,驱动器提供三对差分信号 C+、C-、A+、A-、B+、B-作为反馈。这三对信号由于受到驱动器内部大电源的干扰,在电机旋转时,所发出的信号会出现许多毛刺,直接接到 DSP中会引起误判断,所以三对信号经过差分电路转化为单路信号 C、A、B。差分电路由 DS 公司的 AM26LS32构成,该电路的功能是将输入的一对极性相反的编码器反馈信号转化为单极性的无毛刺的方波信号。布板时保证差分信号线平行进入AM26LS32芯片,取得了较好的反馈效果,为了提高精度,码盘上安装了四对同样的透光装置,所以码盘的输出信号是实际信号的四倍。

A、B两路为正交编码脉冲,C路每转产生一个低电平脉冲,用于回零时的精确定位。各路信号经 HP 公司的高速光电藕合器件 6N137进行光电隔离,对应的输出信号 AA,BB,CC接入控制卡,通过 74LVTH245将电平由 5V转化为 3.3V后接入DSP或 CPLD。6N137的平均输入驱动电流为 50mA,平均输出驱动电流为 5mA,可直接驱动 TTL电路;耐受 3000V高压和 5KV/us的瞬时高压。第一轴电机的差分信号处理及光电隔离电路如图 5-9所示。

5.5.2 输入输出信号处理电路为防止外界信号干扰,保证控制器的可靠性和安全性,输入输出信号都经

- 60 -

图 5-9 差分信号处理电路Fig.5-9 Circuitry for disposint differential signals

Page 67: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

由 TLP521进行光电隔离。输入信号主要包括限位开关信号、回零信号和伺服报警信号。每个控制轴

有正反方向的两个限位开关,各产生两个限位信号,4个轴共 8个限位信号: limit1+、 limit1-、 limit2+、 limit2-、 limit3+、 limit3-、 limit4+、 limit4-,其中“+”表示正限位,“-”表示负限位。报警信号为 ALARM1~ALARM4,回零信号为 HOME1~HOME4。它们进入 DSP的信号经过光电合理后电平由 12V变为 3.3V,信号名称分别为 LIM1+~LIM4-,ALM1~ALM4,HM1~HM4,进入 DSP的 PB、PE和 PF通用 I/O口。当 EPM7128检测到这些输入并引起DSP的中断后,DSP确定具体触发的信号,限位信号触发则立即停止对应电机该方向的运动,直到限位消除电机才能在该方向继续运动;回零信号触发则电机等待 Index信号的输入后立即让电机反向运行用户设定的回零距离作为机械零点;伺服报警信号输入时,程序立即停止该电机的运动,直到用户将报警清除。输入光电隔离电路图如图 5-10所示。同时,还提供四路通用输入信号。

输出信号主要包括伺服电机的伺服使能信号、报警清除信号和 4路通用输出信号,分别由 PA、PB、PE等口输出。与上述的输入输出对应,在程序中,需要将 DSP的通用输入/输出口进行

配 置 , 在 初 始 化 程 序 中 的 配 置 主 要 为 :MCRA=0X001C,MCRB=0X0FE03,MCRC=0X0180,PADATDIR=0X0C3C3, PBDATDIR=0X0000 , PCDATDIR= 0X3C3C,PEDATDIR=0X0000,PFDATDIR=0X0C0C。

- 61 -

Page 68: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

- 62 -

图 5-10 输入信号光电隔离电路图Fig.5-10 Photoelectricity isolation circuitry of input signal

图 5-11 输出信号光电隔离电路图Fig.5-11 Photoelectricity isolation circuitry of output signal

Page 69: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

5.6 运动控制器硬件开放性的实现接口卡的设计采用了模块化思想,每一个电机都通过自己的 25针接头与

控制卡相连接,各电机的编码器信号处理电路等也相对独立。因此,可以通过合理配置接口卡资源,实现对 1~4轴电机的控制,保证了资源的优化配置。同时,基于 PCI和 USB总线的运动控制器可以通过动态链接库函数很方

便的实现级联,例如将 2 块控制卡级联可以实现对 8轴伺服电机的控制。因为USB总线具有完备的总线拓扑结构,通过设定不同地址能够支持 127个外设同时工作;而 PCI总线与 ISA总线相比,具有更丰富的资源并且可以进行动态配置,因此不像基于 ISA总线的设备那样受 I/O口数目的限制。5.7 本章小结本章详细的设计了运动控制卡和接口卡的各个模块功能电路,包括 DSP的

JTAG测试接口电路、供电电路、时钟电路,存储器扩展电路,控制电压转换电路,接口卡的输入输出光电隔离电路和编码器反馈信号处理电路等,并对CPLD电路的功能进行仿真测试,为进一步的软件设计调试打下了良好基础。

- 63 -

Page 70: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

第6章 运动控制器软件开发及调试6.1 控制器软件开发概述运动控制软件的开发主要包括DSP底层程序开发、设备驱动程序开发、动

态链接库函数开发和用户软件开发。电机控制是快速的实时控制,所以它的软件必须是实时性控制软件。因此

需要在DSP的 Flash ROM里面固化大量的底层算法,在运动控制过程中,DSP能够调用这些算法直接与底层硬件打交道,而不用经过 PC机,可以极大地提高控制的实时性。同时,DSP程序还要负责与上位机进行通讯,对于 PCI控制器通讯建立比较简单,但对于 USB总线控制器,DSP 需要进行复杂的处理,根据 USB的协议完成复杂的配置和通讯。设备驱动程序也就是 PC机发现第一次连接的控制器后提示用户安装的驱

动程序,对于建立上下位机之间的通讯是必不可少的。为了提高运动控制器的开放性,还应提供丰富的 DLL(Dynamic Link

Library动态联接库)函数,这些函数可以被 VB、VC、Delphi等高级语言方便地调用,无须直接操作底层硬件便可以实现复杂的功能。用户在进行自己的应用软件开发时,正是通过对这些函数的调用来完成对自己需要的控制功能。

另外,还需要提供一定的测试软件,以便于用户对控制器的性能进行测试,同时还可以方便快速的掌握其用法。测试软件实际上是一种用户软件,也是通过调用上述动态链接库函数来开发完成的。6.2 DSP 底层程序开发电机控制是快速的实时控制,DSP具有运算速度快的优点,在其 Flash

ROM里面固化了大量程序,负责与上位机的通讯和电机的实时控制。控制过程中,DSP直接与底层硬件通讯,保证了运动控制的实时性。通讯方面,对于基于 PCI总线的运动控制器,主要是对双口 RAM的读写,操作比较简单,而基于 USB总线的通讯需要在 DSP 中处理复杂的通讯协议,因此要进行固件编程。固化的控制算法包括基于前馈补偿的位置 PID算法,NURBS插补、直线插补和圆弧插补算法,梯形曲线算法,多轴协调运动算法,伺服报警、限位、

- 64 -

Page 71: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

回零处理函数,编码器信号处理函数等。6.2.1 USB 控制器的固件(Firmware)编程6.2.1.1 固件编程思想 USB接口芯片 ISP-1581完全符合 USB 2.0协议,使用时不必过多地操作硬件,仅仅需要操作 ISP-1581的内部控制寄存器就可以了。由于选择的 USB接口芯片 ISP-1581仅能处理 USB通信,需要一个外部微处理器来进行协议处理和控制数据交换。对于微处理器控制程序,目前没有任何厂商提供自动生成固件的工具,因此必须手工编制,即为固件编程。固件程序设计的目的就是使 ISP-1581在 USB上达到最大的传输速率。外围设备可使用 ISP-1581在 USB上传输数据,设备的 CPU要忙于处理许多设备控制和数据处理等任务, ISP-1581 的固件设计成完全的中断驱动。当 CPU 处理前台任务时,USB的传输可在后台进行,这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。在本运动控制器中,固件程序即 DSP底层程序的一部分,用于建立运动控制器与 PC机之间的通讯。

ISP-1581上电设置过程:初始化 ISP-1581特殊寄存器(设置模式寄存器0CH,设置中断配置寄存器 10H,设置中断使能寄存器 14H);初始化 ISP-1581 端点(选择端点索引 2CH,设置端点最大包字节数 04H,选择端点索引2CH,设置端点类型 08H);设置默认地址有效 00H;设置 softconnect有效 0CH;正常枚举 。

ISP-1581的读数据操作过程:选择端点索引 2CH;写入发送数据缓冲区字节数寄存器 1CH,1DH;写入发送数据 20H;等待发送完毕标志。数据接收过程与读数据操作过程类似。

USB是一种主机到从机的结构,设备不能启动任何传输过程,只能对主机的请求做出响应。在这种结构下固件总是一直在等待主机命令,再根据命令去执行相应的程序。固件程序主要包括如下文件:

1.Main.c:主程序,循环扫描 USB 事件启动设备和系统的工作;2.ISR.c:中断服务程序,对中断进行判定并将信息传递给其它程序;3.Chap_9.c:协议层程序,包含标准 USB命令用于在设备主机之间建立

基本连接; 4.vendor.c:包含厂商定义命令处理厂商请求; 5.Init.c:初始化DSP和 ISP-1581芯片。

- 65 -

Page 72: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

6.2.1.2 中断服务程序(ISR.c) 后台 ISR(中断服务)程序和前台主循环程序之间的数据交换通过事件标志和数据缓冲区来实现。当 ISP-1581 从 USB收到一个数据包,那么就对DSP产生一个中断请求,DSP 立即响应中断。在 ISR 中,固件将数据包从 ISP-1581 内部缓冲区移到循环数据缓冲区并在随后清零

- 66 -

ISR

读取 ISP-1581 中断寄存器判断中断类型

总线复位 设置总线复位标志

挂起改变

控制读

控制写

普通读

普通写

设置挂起改变标志

控制读中断子程序

控制写中断子程序

普通读中断子程序

普通写中断子程序

ISR 结束

是否

图 6-1 ISR 程序流程图Fig.6-1 Flowchart of ISR program

Program

Page 73: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

ISP-1581的内部缓冲区以使之能够接收新的数据包。这部分代码处理由 ISP-1581产生的中断,它将数据从 ISP-1581的内部 FIFO取回到 CPU存储器并建立正确的事件标志以通知主循环程序进行处理,程序流程图如图 6-1所示。6.2.1.3 协议层程序(Chap_9.c) 议层处既负责处理标准的 USB器件请求(清除特征请求,获得状态请求,设置地址请求,获得配置请求,获得描述符请求,设置配置请求,获得/设置接口请求,设置特征请求),还可以处理特殊的厂商请求(设备读、写等)。USB标准请求命令用如下的函数指针数组定义,其中的变量 get_status等便是标准请求的函数名。code void (*StandardDeviceRequest[])(void) ={

get_status, clear_feature, reserved, set_feature, reserved, set_address, get_descriptor, reserved, get_config, set_config, get_interface, set_interface,reserved, reserved, reserved, reserved

};

6.2.1.4 主循环程序(Main.c)主循环检查事件标志,并进入对应的子程序进行进一步处理。在主循环程序中,DSP进行轮询,当轮询到检测 SETUP包时,它确认建立标志在之前是否被中断服务程序所置位。如果建立标志置位,它将向协议层发送一个器件请求进行处理。主循环主要代码如下:void Main(void){

unsigned char time_send;Init_Main();D14_Cntrl_Reg.D14_MODE.BITS.SOFTCT = 1;do{

USB_Debug_Mode(); //chap_9.c 中定义if(USB_Int_Flag.BITS.EP1RX==1) //接收数据

{ diable(); //关中断

read_endpoint(2,16,Endpt_FIFO); USB_Int_Flag.BITS.EP1RX=0; enable(); //开中断

- 67 -

Page 74: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

}} while(1);

}

6.2.2 DSP 核心程序对 TMS320LF2407 的软件开发,是在 CC’C2000的软件开发环境下完成的。

在该开发环境下,既可以采用汇编语言来写程序,也可以采用 C 语言编写程序。在实际的软件开发过程中,既要兼顾程序的运行效率,又要兼顾程序的开发效率,因此我们采用了 C 语言和汇编语言混合编程的方式进行软件开发。CC’C2000的编译器包括汇编语言编译器和 C 语言编译器。其中,C 语言编译器是一个功能齐全的优化编译器,它的主要功能是把标准的 ANSI C语言程序转换成 TMS320LF2407能够识别执行的汇编语言代码。由于用 C 语言编写的程序具有代码简洁、运行效率高和开发时间短的优点,所以大部分代码都是用 C 语言编写[43][44]。6.2.2.1 文件配置 在 CC’C2000开发环境下,各种文件都是以工程(project)的形式来进行管理 [45]。用 C 语言进行软件开发的工程中主要包括四种类型的文件[46]:*.h头文件;*.cmd命令文件;*.asm 中断向量文件和名称为*.c的 C 源程序文件。其中,可以在 C 程序中嵌入汇编代码[47],也可以用汇编语言写子程序供 C 程序调用。所以, DSP 的软件开发具有很大的灵活性。各种工程文件中都包含 REGS2407.H、ctr.cmd和 vectors.asm等文件,对于不同的工程,程序代码需要在 TI 公司提供的标准程序的基础上做一些改动,完成自己的配置。下面是基于USB总线的控制器的 ctr.cmd文件的配置:MEMORY{ ……

PAGE 1: ……SARAM : origin = 0800h , length = 0800h /* SARAM 块 */USBREG : origin = 8000h , length = 0FFh /*ISP-1581寄存器*/EXT : origin = 0C000h , length = 04000h /* 外部存储器*/

}

- 68 -

Page 75: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

SECTIONS{

…….bss : { } > EXT PAGE 1.const : { } > SARAM PAGE 1.stack : { } > EXT PAGE 1 /* 堆栈*/

}同时,用到了 INT1和 INT2 中断,因此,vectors.asm的配置如下:

.title "vectors.asm"

.ref _c_int0, nothing, _INT1, _INT2, _nothing

.sect ".vectors" reset: b _c_int0INT1: b _INT1 INT2: b _INT2INT3: b _nothing……

6.2.2.2 主控制程序开发 配置完成后便可以进一步进行主控制程序开发。对于PCI控制器,DSP的主循环程序不断检测双口 RAM的是否有命令输入,如果有,则进行相应的运动控制处理或返回速度、位置、电机状态等参数。对于USB控制器,除了完成和 PCI总线控制器相同的处理功能外,还要在底层程序中融合固件程序来建立 PC机与 DSP的通讯。上位机定义了 16个字节的命令格式,对于 PCI控制器,第一个字节为新命令标志,其值为 1时表明DSP尚未处理该命令,上位机不能发送新命令,命令信息被取出后DSP将其清零,允许发送新命令;第二个字节为命令的字节总数;第三个字节为命令代码,DSP 就是根据这些代码来进行相应的控制的;其余字节为命令参数。对于 USB总线控制器,由于 ISP-1581内部提供了 FIFO存储器,因此无须担心一个命令未被执行而有新的命令到来会改变以前的数据,所以不需要新命令标志字节,其余的协议格式与 PCI总线的控制器一致。用于建立 USB-DSP通讯的固件程序已经介绍,在此以 PCI总线控制器的底层程序为例介绍底层控制程序,这两部分程序的融合即是 USB控制器的 DSP程序。主控制程序主要组成为:main主函数程序、中断服务子程序 1、中断服务子程序 2和控制函数。

- 69 -

Page 76: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

1.主函数程序 main主函数在程序复位期间进行初始化设置(GPIO设置、中断设置、QEP电路初始化、定时器初始化等,然后与 PC机不断进行通讯,接收并执行上位机命令,并将相关数据反馈回上位机。主要代码如下:main(){

Initial(); //B0配置、符号位扩展、时钟倍频、GPIO与中断等的设置Pid_Initial(pPID _Axis1);Pid_Initial(pPID _Axis2);

Pid_Initial(pPID _Axis3);Pid_Initial(pPID _Axis4); //四个轴电机的 PID参数初始化QEPINT(); //QEP电路初始化Timer1Intial(); Timer3Intial(); //定时器 1、3初始化 T1CON=T1CON|0X0040;T3CON=T1CON|0X0040; //定时器使能enable(); //中断使能while(1){ Delay(20); //延时读数 i=Ram_Flag&0x00ff; //获取 220H 端口新命令标志 if(i) //有新命令

{ j= Command1 //获取 221H 端口命令字节数 for(int k=0; k<j-2;k++) buffer[k]=Byte[k]; //获取 222H-22FH地址的数据

command=Byte[0]&0x00ff; switch(command)

{ ……

case 8: a=(Byte[0]&0x00ff)<<8; a=a|(Byte[1]&0x00ff);

HRI_SetKp(a); //设定 Kp值,int 类型 break;

- 70 -

Page 77: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

…… default: break;

} Ram_Flag=0x0000;

}}

2.中断服务子程序 中断服务子程序包括 INT1和 INT2两部分程序,前者包括处理外部输入信号的 XINT1(PIVR值为 0x0001)和处理 USB通讯的XINT2(PIVR 值为 0x0011),后者包括进行伺 服 周 期 更 新的定时中断T1CINT(PIVR值为 0x0028)和 T3CINT(PIVR值为 0x0030)。在中断函数内部,通过 PIVR值判断具体的中断源。程序代码如下:void interrupt INT1() //外部中断 1{

switch(PIVR){case 0x0001: //XINT1,外部输入信号处理

…… else if(PBDATDIR&0X0008) //一号电机报警清除输入{

PADATDIR=PADATDIR&0x0fffd; //报警清除 Delay(10); //延时PADATDIR=PADATDIR&0x0002;

} ……

break; case 0x0011: //只存在于USB控制器中,USB 中断的处理

USB_INT(); // USB 中断处理程序break;

default:break;

XINT2CR=0x8005; //中断清除}

- 71 -

Page 78: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

void interrupt INT2() //定时中断{ if(EVAIFRA&0x0080) //定时器 1 中断,进行 1、2轴伺服更新 {

EVAIFRA=0x0080; //清除定时器 1 周期中断 if(!(PADATDIR&0x0001)) // 1号电机伺服使能

{ switch move_mode: /*运行模式,包括速度跟踪、梯形曲

线、直线插补、圆弧插补、NURBS插补、多轴协调运动*/ { …… case 5: NURBSXY(pPID_Speed_Axis1);

/*调用 NURBS参数曲线插补函数,与 PID调节相关的数据都存放在结构体指针变量 pPID_Speed_Axis1 中*/

break; ……

}DAC1=PIDCalc(pPID_Speed_Axis1); //PID调节Delay(10);LDAC=0x0000; //数据装载

EVAIFRA=0X0080; //清除定时器 1 周期中断 }

if(EVBIFRA&0X0080) //定时器 3 中断,处理 3、四轴电机{……}

return; //返回}

3.控制函数 这部分函数是控制器控制的核心,负责具体执行上位机的动态链接库函数发出的命令,函数名称与动态链接库函数对应,可以参考该部分内容。许多供这些函数调用的底层控制算法也包含其中,主要有基于前馈补偿的 PID调节函数 PIDCalc()、参数曲线的时间分割插补函数 TimeInterp ()等。

- 72 -

Page 79: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

6.3 设备驱动程序开发PCI/USB 设 备 驱 动 程 序 的 设 计 基 于 WDM ( Windows Diver

Model,Windows 驱动模型)。WDM 采用分层驱动程序模型,可以分为总线驱动程序和功能驱动程序。总线驱动程序是由操作系统提供的,它位于功能驱动程序的下面,负责与实际的硬件打交道,实现繁琐的低层通信。功能驱动程序即是由设备开发者编写的设备驱动程序,它位于总线驱动程序的上面,不与实际的硬件打 交道,而是通过向总线驱动程序发送 IRP( I/O Request Packet,I/O 请求包),来实现对设备信息的发送与接收[48]。设备驱动程序的开发工具有 Windows DDK,RFTech 公 司的 WinDriver, Numega 公司的Driver Studio等。其中 DDK功能强大,但是要求开发人员对操作系统比较熟悉,开发的难度比较大;WinDriver 使用非常方便,开发周期短,但程序的效率低,不能满足性能较高设备的需求;Driver Studio 使用比较方便,功能强大,是比较理想的开发工具。选用 Driver Studio来开发运动控制器的驱动程序。Driver Studio提供了完善的源代码生成工具以及相应的类库,类似于 MFC 编程,由库代码自动处理例行的底层繁杂操作。图 6-1是 USB运动控制器的驱动程序信息。

- 73 -

图 6-1 USB运动控制器驱动信息Fig.6-1 Drive information of USB motion controller

Page 80: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

驱动程序的入口函数是DriverEntry,所有对各种 IRP的处理例程都在此入口函数中做出定义。若应用程序想对设备进行 I/O 操作,它便使用 Windons API 函数(如

DeviceIoControl函数)对WIN32子系统进行WIN32调用。此调用由 I/O系统服务接收并通知 I/O 管理器,I/O 管理器将此请求构造成一个合适的 I/O请求包(I/O Request Packet,IRP)并把它传递给功能驱动程序。功能驱动程序接收到这个 IRP 以后, 根据 IRP 中包含的具体操作代码,构造相应的请求块并将其放到一个新的 IRP 中,然后把此 IRP 传递到总线驱动程序,总线驱动程序根据IRP 中所含的请求块执行相应的操作(如从设备读取数据),并把操作结果通过 IRP返还给功能驱动程序。功能驱动程序接收到此 IRP后,将操作结果通过IRP返还给 I/O 管理器, 最后 I/O 管理器将此 IRP 中操作结果返还给应用程序,至此应用程序完成对设备的一次 I/O 操作。功能驱动程序除负责处理应用程序的 I/O请求外,还要处理 PnP 管理器发

送给它的 PnP请求(如设备启动请求 IRP_MN_START_DEVICE,设备删除请求 IRP_MN_REQUEST_DEVICE等)。通过对这些 PnP请求的处理,USB功能驱动程序可支持设备的热插拔和即插即用功能。6.4 动态链接库函数开发6.4.1 动态链接库函数及其优点

DLL是组成Windows系统的最重要的元素。Windows将构成其系统的大部分程序代码、数据以及经常用到的资源以二进制文件的形式,存储在磁盘里。DLL就是允许用户的应用程序共享代码和资源的可执行模块,这种分享能力存在于应用程序模块之间或不同的应用程序之间,同一个动态链接库里的同一个函数可同时被不同应用程序调用。

DLL实质上是Windows环境下的一个特殊的可执行模块,它内含一系列的函数或资源,供一般的应用程序或动态链接库调用。简单的说, DLL 是Windows和Windows应用程序可以使用的资源库,这些资源是共享的。仅当应用程序被装入内存开始运行时,在Windows 的管理下,才在应用程序与相应的DLL之间建立链接关系。当要执行所调用的DLL中的函数时,根据链接时产生的重定位信息,Windows 转去执行DLL中相应的函数代码,而不是简单的复制

- 74 -

Page 81: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

或提取。使用DLL,特别是在大的应用程序中使用DLL,有4个明显的优点,这些

优点是静态链接库所没有的。一是明显减少应用程序的磁盘空间;二是减少应用程序所需内存;三是修改应用程序更容易;四是这种函数库可以被Windows下的多种编程语言调用,使系统具有更强的适应性和柔性。6.4.2 动态链接库的设计动态链接库的正确创建是开发的关键,采用 VC++ 6.0 集成开发环境,通

过以下步骤完成动态链接库的创建[49]:1.建立动态链接库 C/C++源文件。2.用户定义输出的库函数和仅供内部调用的辅助函数;3.建立动态链接库资源描述文件(可选);4.建立动态链接库模块定义文件(.DEF);5.动态链编生成动态链接库。以控制器的伺服使能函数为例介绍动态链接库函数的开发方法。首先,

HRI_SV_USB.h头文件中增加对导出函数的说明,代码如下:#define DllExport _declspec(dllexport)extern "C" DllExport void HRI_AxisOn (void);然后,在源代码文件HRI_SV_USB.CPP 中添加代码:#include "stdafx.h"#include "HRI_SV_USB.h "#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif//Note!部分省略 unsigned char buffer[16];extern "C" Dll Export void HRI_AxisOn() //使当前轴伺服使能{

buffer[0]=3; buffer[1]=6;buffer[2]=axis_no; //3个字节,命令代码为 6Ex_WriteData(1, buffer,3,50); //发送数据

- 75 -

Page 82: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

} 同时,HRI_ SV_USB.DEF文件中作如下声明:LIBRARY " HRI_SV_USB "DESCRIPTION ' HRI_SV_USB Windows Dynamic Link Library'EXPORTS; Explicit exports can go here

HRI_AxisOn() @6;Buffer[16]为16个字节的缓冲区,用于存放发送的命令。其中第一个字节

是总共的字节长度,第二个字节是命令编号,后边的字节为命令的相关参数值。6.4.3 用 DLL 实现运动控制器的开放式功能对硬件设备的控制,实质上也就是从外设上读取设备状态,把控制信息传

送到外部设备。在微机和系统控制接口插卡之间实现数据传送和交换的过程,这其中包括很多复杂的对底层控制电路的操作及读写,对于一个专业的接口开发人员来说,这项工作可能不算太难,但对于一个用户来说,这些操作将会非常复杂和繁琐,而且容易出错。因此,采用模块化的思想,将所有的控制按照功能编制成动态链接库并进行封装,供用户二次开发或调整系统功能时直接调用,大大的方便了用户,实现了软件的开放式功能[50]。

动态链接库函数主要包括初始化函数、单轴运动函数、直线 /圆弧/NURBS插补函数、多轴协调运动函数函数 4 大类五十多个函数。

1.初始设置函数 这些函数主要用于进行运动控制器复位,设置电机的PID 参数、伺 服 周 期,使能或禁能当前电机、电机位置清零等。如HRI_Reset()、HRI_SetKi()、HRI_SetKp()、HRI_GetKp()、HRI_SetKvff()、HRI_SetServTime() 、 HRI_Get ServTime()、HRI_AxisOn()、HRI_AxisOff()、HRI_ZeroPos()等函数。

2.单轴运动函数 利用这些函数可以设置当前轴的运动模式(速度跟踪或梯形曲线控制模式)、目标位置、运动速度加速度等,平滑停止或者急停各电机 、 获 取 当 前 轴 的 速 度 、 位 置 、 加 速 度 等 参 数 。 如HRI_SetModeT() 、 HRI_SetModeV() 、 HRI_ SetPos() 、 HRI_SetVel() 、 HRI_SetAcc() 、 HRI_Smth Stp()、HRI_AbrptStp()、HRI_GetVel()、HRI_GetPos()、HRI_GetRealPos()、HRI_GetRealVel()等。

- 76 -

Page 83: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

3.多轴协调运动函数 这些函数主要完成的功能有:进行不同平面的直线/圆弧/NURBS插补,设定运动的合成速度、合成加速度,进行多轴协调运动控制,进行单位换算坐标映射等。利用这些函数不仅可以完成复杂曲面的加工,还可以完成像机器人控制那样多个关节同时运动的控制。函数名称如HRI_LnXY()、 HRI_LnYZ()、 HRI_LnXYZ()、 HRI_ArcXY()、 HRI_NURBS XY()、HRI_SetSynAcc()、HRI_ SetSynVel()、HRI_GetSynVel()、HRI_Move XYZA()、HRI_MapAxis()等。

下面是一个动态链接库函数调用的实例:void main()

{ HRI_Axis(1);HRI_AxisOn(); //1轴使能HRI_Axis(2);HRI_AxisOn(); //2轴使能HRI_SetSynAcc(1); //设定合成速度HRI_SetSynVel(0.1); //设定合成加速度HRI_LnXY(2000,1000); //设定目标位置,进行直线插补

}

4.状态监测函数 利用这些函数,可以实时返回输入端口状态、限位开关状态、电机运动状态,进行回零处理,清除伺服报警等状态位。主要包括如下函数:HRI_ExInput()、HRI_ExOutput()、HRI_CaptHome()、HRI_Get Capt()、 HRI_Get Sts()、HRI_ClrSts()、等。6.5 测试软件开发

调用开发的动态链接库函数,开发了运动控制器测试软件 [51][52],图 6-2是测试软件的主界面。利用该测试软件,可以实现运动控制器的大部分功能。例如设置 PID参数,设定运动速度、目标位置等以进行速度模式控制、梯形曲线模式控制,设定目标位置,进行直线插补、圆弧插补和 NURBS插补,并能实时显示电机运行的状态、限位开关状态和外部 I/O状态等。

通过“图形显示”菜单可以调用 PID调节、速度模式测试、梯形曲线模式测试和插补测试的子窗口进行调节和测试,如图 6-2~6-6所示。

- 77 -

Page 84: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

- 78 -

图 6-2 控制器测试软件主界面Fig.6-2 Main interface of motion controller test software

图 6-3 PID调节显示Fig.6-3 Display of PID modulation

Page 85: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

- 79 -

图 6-4 梯形曲线运动测试界面Fig.6-4 Interface of T-curve motion test

图 6-5 四叶玫瑰线插补测试Fig.6-5 Interpolation test for four roses line

Page 86: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

6.6 本章小结本章中主要介绍了运动控制器的软件开发,包括DSP底层程序的开发(分

为通讯程序和控制程序两部分)、基于WDM的设备驱动程序开发、动态链接库函数的开发和测试软件开发。利用这些软件,可以方便的完成对运动控制器的测试,迅速掌握其使用方法,进而开发出符合自己要求的用户软件。

- 80 -

图 6-6 圆弧插补和NURBS插补测试结果Fig.6-6 Test result for circle interpolation and NURBS interpolation

Page 87: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

结论由于数控技术的发展对运动控制系统的开放性、实时性、加工速度、精确

度等性能指标提出了越来越高的要求,本文针对国内外开放式运动控制器存在的一些问题,以 DSP芯片 TMS320LF2407作为处理器,分别基于 PCI和 USB总线开发了四轴开放式运动控制器及其相应的接口卡,单卡可以实现 1-4轴的控制,同时支持多卡级联。主要包括以下研究内容:

1.开发了基于 PCI和 USB总线的运动控制器硬件电路板及接口板,最大限度的利用了芯片 TMS320LF2407A的运动控制功能。设计了多种有效电路,实现了 PC机与 DSP的通讯,完成了编码器反馈信号处理、输出电压转换、输入输出信号处理等功能。接口卡地模块化设计和控制卡的可级联性保证了硬件的开放性。

2.利用 C语言和汇编语言编制了大量的底层算法,基于前馈补偿的 PID控制算法、参数曲线的自适应时间分割插补算法、直线/圆弧/NURBS插补算法等,并且进行了封装,既保证了技术的保密,又方便了用户使用。

3.开发了驱动程序,并利用VC++语言进行动态链接库函数开发。采用了流行的模块化设计方法和面向对象技术,利用了 WINDOWS 操作平台下 DLL动态链接库的核心技术,设计了相对独立、可操作性强的控制模块,通过动态链接库的动态链接,实现了软件的开放式的功能。

4.对控制器及接口卡进行硬件和软件调试,利用Matlab、MaxPLUS等软件进行理论仿真分析,并用两个 Panasonic 伺服电机进行了大量实验。结果表明,系统设计合理,具有实时性好,跟随误差小,加工精确度高等优点。

由于时间的限制,现阶段本运动控制器处于实验阶段,要应用于工业生产中,需要进行更加深入的研究,在软件和硬件方面都需要不断改进和完善,不断提高控制卡的稳定性、可靠性,增强抗干扰能力。在具体的技术方面,可以考虑以下改进:用 CPLD 开发 PCI 总线接口电路,这样不仅能够掌握 PCI 总线技术、充发挥 PCI 总线的性能,还能极大地降低成本;用 DDK 来开发运动控制器的驱动程序,以此来提高驱动程序的运行效率;开发嵌入式运动控制器。希望后来的师弟师妹们能够取得更辉煌的成果,特别希望他们不断跟踪技术的最新发展动态,充分利用现代化的芯片技术,使我国在运动控制技术方面达到世界先进水平。

- 81 -

Page 88: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

参考文献1 王永章.机床数字控制技术[M].哈尔滨工业大学出版社,1995:11~152 Wright P. K. Open Architecture Manufacturing: The Impact of Open Computer

Systems on Self Sustaining Machinery and the Machine Tool Industry [C]. Proceeding of the Manufacturing International ’90-Part2: Advance in Manufacturing Systems, Atlanta, GA. Mar. 1990: 41~47

3 富丽春,董春,相欣.基于 PC总线的四轴电机运动控制器.电器传动,1998,(5):35~37

4 吴宏,蒋仕龙等.运动控制器的现状与发展.制造技术与机床,2004,(1):24~27

5 PMAC Software Reference [Z]. Delta Tau Data System Inc., 1988: 5~186 PMAC User’s Manual [Z]. Delta Tau Data System inc., 1998: 3~127 GT系列运动控制器用户手册.固高科技深圳有限公司,2003:19~378 张广立,谈世哲等.基于Windows NT的开放式机器人控制系统[J].机器人,2002,24 (5):443~446

9 方沛昱,李兴根:基于 USB总线的电机控制方案 [J].微特电机,2004 (3):28~29

10 游有鹏,王珉,朱剑英.参数曲线的自适应插补算法[J].南京航空航天大学学报,2000,32 (6):667~668

11 周 凯,陆启建.样条曲线采样插补技术.组合机床与自动加工技术,1998,(4):18~21

12 边玉超,张莉彦,戴莺莺,陈虎.CNC系统中 NURBS曲线实时插补算法研究.机械制造与自动化[J].2003,12 (6):36~39

13 赵鸿,袁哲俊,卢泽生.NURBS曲线插补技术的应用[J].制造技术与机床,1999,(12):44~46

14 王雅,叶友东.高速加工 NURBS曲线插补技术分析与应用[J].煤矿机械,2004,(9):74~76

15 黄翔,曾荣,岳伏军,廖文和.NURBS插补技术在高速加工中的应用研究[J].南京航空航天大学学报,2002,34 (1):82~85

16 游有鹏,王珉,朱剑英.NURBS曲线高速高精度加工的插补控制[J].计算机辅助设计与图形学学报,2001,13 (10):943~947

- 82 -

Page 89: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

17 施法中.计算机辅助几何设计与非均匀有理 B样条[M].北京航空航天大学出版社,1994:158~160

18 B. K. Choi, et al. Matrix Representation for NURBS Curves and Surfaces [J]. CAD, 1990, 22 (4): 235~240

19 王兴波,李圣怡.自动计算 NURBS 初始权因子的方法[J].航空学报, 2001,22 (2):184~186

20 陈绍平.三次 NURBS曲线的插值与应用[J].机械科学与技术,2001,20 (5):692~964

21 李贵山,戚德虎.PCI局部总线开发者指南.西安电子大学出版社,1997:181~185

22 李贵山,陈金鹏.PCI局部总线机器应用.西安电子科技大学出版社,2003,2:103~106

23 Tom Shanley, Don Anderson. PCI System Asrchitecture [Z]. MindShare Inc., 1999: 55~62

24 PCI Special Interest Group. PCI Local Bus Specification [Z]. 1999: 107~11325 马伟编著.计算机USB系统原理及其主/从机设计[M].北京航空航天大学出版社,2004:219~236

26 USB Implementer’s Forum. USB Specification Rev 2.0. 2000: 69~81 27 National Semiconductor Inc. Open Host Controller Interface Specification for

USB [Z]. 2002: 13~1528 张宏.USB接口设计[M].西安电子科技大学出版社,2002:124~13229 TMS320LF2407A, 16-bit fixed point DSP with Flash [Z]. Texas Instrument,

2001, 121~12730 3.3V DSP for Digitial Motor Control. Texas Instrument, 1999: 65~7831 TMS320LF2xx User's Guide. Texas Instrument Inc., 1990: 222~24532 TMS320F20x/F24x DSP Embedded Flash Memory Technical Reference Texas

Instrument, 1998: 76~7933 PCI 9052 PCI Bus Target Chip with Glueless ISA Interface Logic for Low Cost

Adapters [Z]. PLX Inc., 1997: 24~2834 刘宇,罗安.基于双端口 RAM的 PCI总线与DSP的接口设计[J].计算技术与自动化,2004,23 (1):77~81

35 High-Speed 2K×8 Dual-Port Static RAM-IDT7132SA [C]. March, 1999: 3~736 ISP-1581 Hi-Speed Universal Serial Bus Interface Device Product Data [Z].

- 83 -

Page 90: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

Philips Semiconductors, 2003: 2~637 TMS320LF24x DSP Reference Set, Volume4: Application Guide (literature

number SPRU173).Texas Instrument Inc., 1997: 255~35438 TMS320LF2407 DSP Controllers Evaluation Module Technical Reference [Z].

Texas Instrument, 1999: 17~2839 TMS320LF24x Fixed-Point Digtial Signal Processerors. (literature number

SPRU137). Texas Instrument Inc., 1996: 26~2840 Cypress Semiconductor Corporation. CY7C1021V 64K x 16 Static RAM[Z],

April, 1998: 1~541 李长峰,王明宇,尤波.基于DSP芯片的机器人运动控制卡设计[J].哈尔滨理工大学学报,2003,8 (5):51~54

42 Altera Corporation. Max 7000 Programmable Logic Device Family Data Sheet [Z], 2003: 24~31

43 TMS320C2X/5X Optimizing C Complier User's Guide. Texas Instrument, 1994: 10~18

44 Texas Instrument. Using C to Access Data Stored in Program Space Memory on the TMS320C24x DSP[Z], 2002: 23~31

45 Texas Instrument. TMS320C2xx/TMS320C24x Code Composer User's Guide [Z], 2000: 8~15

46 刘和平,王维俊等.TMS320LF240x DSP C语言开发应用.北京航空航天大学出版社,2002:240~249

47 Texas Instrument Inc. TMS320LF24x DSP Assembly language Tool User’s Guide (literature number SPRU131) [Z]. 1997: 15~21

48 武安河、邰铭、于洪涛.Windows2000/XP WDM设备驱动程序开发.电子工业出版社,2003:201~207

49 虞鹤松等.利用动态链接库开发Windows 环境下的实时工业控制软件.电气自动化.1998 (4):28~35

50 沈兵,黄健.基于 Windows9x的数控系统实时控制研究.微型机与应用,2002:59~63

51 谭浩强.C程序设计.清华大学出版社,1998:96~12252 王士元.C高级实用程序设计.清华大学出版社,1996:308~314

- 84 -

Page 91: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

攻读学位期间发表的学术论文1 丁亮,尤波等.基于 USB-DSP的开放式运动控制器研究开发.电机与控制学报录用

2 You Bo, Ding Liang, etc. Research and Development on Control System of Multicoil Inside Solidification Combined Winding Machine. Materials Science Forum. Vol. 505~507 (2006), pp. 463~468(SCI & EI indexed)

3 You Bo, Ding Liang, etc. Development on Low Temperature Protecting Device with Theft-proof Function for Cars. Conference Proceedings of ICEMI’ 2005, Vol. 7 (2005), pp. 496~501 (ISTP indexed)

4 于振中,尤波,丁亮:高压玻璃钢管道组合机床控制系统设计.机电一体化. 2005 (5):52~54

5 彭子龙,尤波,丁亮:基于 IPC的数控火焰切割机经济型数控系统开发. 哈尔滨理工大学学报录用

- 85 -

Page 92: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

致谢本文的选题、论证、课题研究及撰写工作均是在导师尤波教授(博

导)直接关怀和悉心指导下完成的。在攻读硕士学位期间,尤波老师严谨的治学态度、敏捷的思维、渊博的知识使我受益终身;同时,尤老师在生活上也给予了我无微不至的关怀,并对个人的未来发展给与了无私的帮助和指导。在此,谨向尤老师致以崇高的敬意和衷心的感谢。

在本课题进行的过程中,实验室的许家忠老师、贾德利老师给与了大力支持和帮助,同时还得到了程宁波、肖永强等同学的热情协助。

在此,对所有指导、帮助过我的老师和同学表示最衷心的感谢。

- 86 -

Page 93: 哈尔滨理工大学硕士毕业论文模板 - gongkongdownload.gongkong.com/file/company/1249/lunwen/... · Web view基于PCI 和USB总线的开放式运动控制器开发 摘 要

- 87 -