FPGA的PCI接口运动控制卡的分析研究(稿)_第1页
FPGA的PCI接口运动控制卡的分析研究(稿)_第2页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、四川大学硕士学位论文题 目 基于 FPGA 的 PCI 接口运动控制卡的研究作者 覃 琴 完成日期 2006 年 5 月 20 日培指专研授予基于PCI的嵌入式运动控制系统的研究控制理论与控制工程专业研究生覃琴指导教师 雷勇制造业是一个国家工业的基础,而制造技术又是制造业的技术支柱,制造 业水平的高低是衡量一个国家工业发达程度的重要标志。以传统机电工业为代 表的制造业,正经历着深刻的变革。在这场革命中,大力发展先进的制造技术 已成为各国最重要的几大技术战略之一,先进制造技术已经是国际竞争与产品 革新的一种重要手段。数控技术是用数字信息对机械运动和工作过程进行控制 的技术,是先进制造技术的基础,

2、是发展新兴高新技术产业和尖端工业的最基 本的装备,是制造业现代化的重要基础,这个基础牢固与否将直接影响到国家 的经济发展和综合国力,关系到国家的战略地位。运动控制器是以中央逻辑单元为核心,以传感器为信号敏感元件,以电机/动力装置和执行单元为控制对象的一种控制装置。对于数控系统来说,最重 要的是控制各个电机轴的运动,这是运动控制器接收并依照数控装置的指令来 控制各个电机轴运动从而实现数控加工的,数据加工中的定位控制精度、速度 调节的性能等重要指标都与运动控制器直接相关。目前对数控系统的研究都集 中在插入PC的NC$制器的研究上, 而其核心部分就是对步进、 伺服电机进行 控制的运动控制卡的研究。

3、对PC-NC来说,运动控制卡的性能很大程度上决定 了整个数控系统的性能,而微电子和数字信号处理技术的发展及其应用,使运 动控制卡的性能得到了不断改进,集成度和可靠性大大提高。本课题通过对运动控制技术的深入研究,并针对国内运动控制技术的研究 起步较晚的现状,结合当前嵌入式领域的具体需要,紧跟当前运动控制技术研 究的发展趋势,吸收了数控技术和相关运动控制技术的最新成果,提出了基于PCI和FPGA勺方案,研制了一款比较新颖的、功能强大的、具有很大柔性的 四轴多功能运动控制卡。本课题的具体研究主要有以下几方面:首先,通过对运动控制卡及嵌入式系统等行业现状的全面调研,和对运动 控制技术的深入学习,在比较

4、了几种常用的运动控制方案的基础上,提出了基于FPGA的运动控制设计方案,并规划了板卡的总体设计其次,根据总体设计,规划了板卡的结构,详细划分并实现了FPGA各部分的功能;利用光电隔离原理设计了数字输入/输出电路。再次,利用FPGA的资源实现了PCI从设备接口,达到跟控制卡通信的目 的,针对运动控制中的一些具体问题,如运动平稳性、实时控制以及多轴联动 等,在FPGA上设计了四轴运动控制电路,定义了各个寄存器的具体功能,设 计了功能齐全的加/减速控制电路、变频分配电路、倍频分频电路和三个功能 各异的计数器电路等,自动降速点运动、A/B相编码器倍频计数电路等特殊功 能。最后,进行了本运动控制卡的测试

5、,实现了全数字测速在本运动控制卡中 的应用,从测试和应用结果来看,该卡达到预期的要求。关键词:PCI数控 运动控制卡FPGAThe Research of Motion Control BoardBased on FPGACandidate:QinQin Supervisor:Lei YongMotion Controller (MC) is a control device that regards its central logic unit as the core,sensor as the sensitive component, and electromotor or executi

6、ve unit as the controlledobject.MC is very important in the ONCS, because it is the most important to control themovement of the motor of each axisin the NC system and the precision of position controland performance of velocity adjusting are directly related to MC. In the present, all of theresearc

7、hes of ONCS focus on that of the PCbased NC control device, whose key is theresearch of Motion Control Board (MCB) which is used to control stepping or servo motor.To PC-NC, in some degree, the performance of MCB decides thatof the whole NC system,further more, the development and application of tec

8、hnology of macroelectronics andDigital Signal Processing continuously improve the performance of MCB and greatlyincrease the level of integration and dependability.During the research,through the overall survey of ONCS and deep study of MotionControl Technology (MCT), facing the behindhand actuality

9、of research of domesticMCT, tomeet the practicalrequirements of the laser carving field, following the developing trend ofthe present MCT, drawing on the new production of the present ONCS and relating MCT,bringing forward the solution based on FPGA, we have developed a four-axismultifunctional MCB

10、which is very original, powerful and flexible.In the paper, there are the following majorcontents:Firstly, through the overall survey of ONCS, embedded system and MCB, and deepstudy of MCT,after comparingthe common solutions ofmotion control, we brought forwardthesolution of motion controlbased on F

11、PGA, and made out the whole design solution ofboard.Secondly, according to the whole design solution, we figured out the wholearchitecture of board, and plotted out and implemented the respective function of FPGA indetail. Further more, we designed digital input/output circuit according to the princ

12、iple ofphotoelectricityisolation, four-channel analog output circuit by the priciple of DAC and putforward effective anti-jammingmeasuresin allusion to common jamming phenomena.Thirdly, in allusion to some prcatical problems in the motion control, such as highspeed, high precision, motionstabilizati

13、on, real-time control and muti-axis contouringcontrol, etc, we designed a four-axis MCB in the FPGA.We defined the functions of all ofthe registers in detail, designed perfect Acceleration/ Deceleration Control Circuit, VariableFrequency Divider Circuit, Multiplication Factor FrequencyDivider Circui

14、t and threedifferent counter circuits, achieved special functions of the S-curve Acceleration/Deceleration Control, Ramping-down Point Counter & Calculation Circuit and A/B encodermulti-frequency circuit, etc.Finally, we made out the test of board and came true the application of fulldigitalmeas

15、ureon the board. The motion control board met anticipative demand according to theresult of test and application.Keywords:FPGA, NumericalControl, Motion Control BoardPCI目录1 绪论 01.1开放式数控及其发展01.1.1开放式数控系统的基本特征01.1.2国内外数控系统技术的发展11.1.3现代数控技术的发展趋势21.2运动控制器及其研究现状31.2.1运动控制器的特点及发展现状31.2.2常见运动控制系统上位控制方案51.2

16、.3基于PC机的运动控制卡常见解决方案61.2.4基于单FPGA的方案71.3本课题的意义及论文的主要内容72 系统总体方案设计 82.1运动系统的控制技术82.1.1连续运动轨迹插补原理92.1.2位置控制技术102.2基于PCI的运动控制卡112.2.1嵌入式系统概念113 运动控制卡硬件设计 123.1可编程逻辑器件简介12MPCO结构示意图14MPC07专接卡结构示意图14功能模块分析14模块114模块2143.4外围电路设计143.4.1光电隔离原理143.4.2数字I/O信号的接线方法15可编程器件的程序设计16程序(或功能)模块1(PCI模块)19功能说明19流程图(C等)/方框

17、图(FPGA 20PCI接口配置空间的实现234 基于 FPGA 的运动控制模块( MCM ) 254.1 MCM总体结构254.2寄存器模块274.2.1寄存器寻址274.2.2参数寄存器274.2.3命令和状态缓冲器294.3速度模式模块334.3.1倍率因子参数344.3.2脉冲频率FL、FH1、FH2344.3.3加速、减速参数寄存器R4、R5344.3.4 S-曲线加速部分寄存器R14354.3.5 S-曲线减速部分寄存器R15354.3.6加/减速时间364.3.7自动降速点364.4输出脉冲产生电路模块394.4.1加/减速控制电路394.4.2变频分配电路424.4.3倍率分频

18、电路434.5编码器模块设计434.6计数器模块电路454.6.1预置计数器454.6.2自动降速点计数器454.6.3当前位置计数器464.7操作模式模块474.7.1连续模式474.7.2预置模式484.7.3回零模式495 基于 PCI 的嵌入式运动控制卡的系统测试5.1 PCI与CPLD的数据交换515.1.1运动控制芯片内的地址空间515.1.2 PC机对寄存器的读写操作515.2 CPLD与FPGA的数据交换525.2.1 FPGA内运动控制模块的内部寄存器5.2.2运动控制函数库535.2.3运动控制卡功能测试545.3全数字转速测量在本卡中的实现555.3.1前言555.3.2

19、 M/T转速测量法工作原理565.3.3全数字转速测量电路575.3.4运行结果与误差分析586 全文总结与展望 596.1全文总结596.2研究展望60参考文献 60声明致谢50521 绪论制造业是国民经济的基础产业,其水平高低是衡量一个国家工业发达程度 的重要标志1。大力发展先进的制造技术已成为世界各国最重要的几大技术战 略之一。数控技术是用数字信息对机械运动和工作过程进行控制的技术,是发 展新兴高新技术产业和尖端工业的最基本的装备,是制造业现代化的重要基础1。要发展先进制造技术,首先必须重视制造单元技术(数控技术、 加工单 元、柔性 制 造单 元等 )。 计 算机 数控 技 术14(Co

20、mputer Numerical Control,简称CNC集传统的机械制造技术、计算机技术、成组技术与现代 控制技术、传感检测技术、信息处理技术、网络通讯技术、液压气动技术、光 机电于一体,是现代制造技术的基础。它的广泛使用给机械制造业生产方式、产业结构、管理方式带来深刻的变化。数控技术是制造业实现自动化、柔性 化、集成化生产的基础,现代CAD/CAM FMS CIMS等也都是以数控技术为基 础。因此数控技术水平的高低已成为衡量一个国家工业自动化的重要标志。数控系统是数控技术的核心,也是数控发展的关键技术,其功能强弱、性 能优劣直接影响着数控设备的加工质量和效能发挥,对整个制造系统的集成控

21、制、高效运行、更新发展都具有至关重要的影响3-4。因此,数控系统技术不 仅作为数控发展的先导技术,而且作为制造业的基础性战略技术,越来越受到 世界各国的重视和发展。1.1 开放式数控及其发展数字控制技术呵(Numerical Control,简称NQ,是近代发展起来的一 种自动控制技术,是使用数字信号对机床的运动及加工过程进行控制的一种方 法。 数控系统(Numerical ControlSystem)是一种控制系统,它能自动完成 信息的输入、译码、运算,从而控制机床的运动和加工过程。数控系统一般包 括数 控装置、可编程控制器(Programmable Logic Controller,简称P

22、LC、伺服驱动系统及进给装置等部分。数控装置是数控机床的核心,它完 成信息的输入、存储、变换、插补运算以及实现各种控制功能。伺服系统及进 给装置接收数控装置的指令,驱动机床执行机构运动。1.1.1开放式数控系统的基本特征根据国际电气和电子工程师协会(IEE E)关于开放式系统的定义:能够在多种不同的平台上运行,可以和其他系统的应用互操作,并能给用户提供一种一致风格的交互方式。开放式体系结构普遍采用模块化、层次化的结构,并通过各种形式向外提供统一的应用程序接口,具有可移植性、可扩展性、互操作 性和可缩放性等特点,即系统组成的内部开放化和系统组成各部件之间的开放 化。开放式系统具有以下基本特征:1

23、.开放性。提供标准化环境的基础平台,允许不同功能和不同开发商的软硬件模块介入。2.可互操作性。通过提供标准化接口、通信和交互机制,使不同的功能模块与标准的应用程序接口运行于系统平台之上,并获得平等的相互操作 能力,协调工作。3.可移植性。系统的功能软件与设备无关,即应用统一的数据格 式、交互模型、控制机理,使构成系统的各个功能模块可来源于不同的开发商 提供的硬件平台之上。4.可扩展性。CNC系统的功能、模块可以灵活设置,方便修改,既可以增加硬件或软件构成功能更强的系统,也可以裁减其功能以适应低端应用。5.可互换性。不同性能、不同可靠性和不同能力的功能模块可以相互替代,而不影响系统的协调运行。1

24、.1.2国内外数控系统技术的发展 数控技术从一诞生起就同其它技术紧密联系在一起,是机械、微电子、自动控制、计算机信息等技术交叉应用的产物。随着计算机技术,特别是微电子 技术的发展,数控技术无论在硬件或软件方面发展都很快,数控系统已经历了 四个发展阶段6-9:1.1956年1974年,专用硬件NC时代这一阶段的数控系统,各种控制功能均由硬件逻辑完成,成为“硬件”数 控,其功能简单,灵活性差,设计周期长,系统可靠性低,因而限制了其进一 步发展和应用。2.1975年1989年,专用计算机数控时代,即微处理器NC时代70年代末、80年代初,随着超大规模集成电路、大容量存储器、CRT的 普及应用,CNC

25、系统得到进一步发展。它虽然仍以微处理器为基础,但控制功 能更为完备,具备了多功能的技术特征,尤其在软件技术方面发展更快,具有 了交互式对话编程,三维图形动显示/校验,实时软件精度补偿等功能。在系 统体系结构上,开始出现了柔性化、模块化的多处理机结构。数控系统产品也 逐步实现了标准化、系列化。3.1990年1995年,高速高精度CNC勺开发与应用阶段32位CPU以其很强的数据处理能力在CNC中得到了应用,使CNC系统进 入了面向高速、高精度的CNC的开发与应用阶段。总结上述数控系统的三个发展历程,NC装置存在着以下局限性:1)不能自由地从信息网上选取信息;2)体系结构不开放,用户接口不完善,机械

26、厂家和用户不能自主地根据需 要对数控系统进行裁剪,用户自身的技术诀窍不能方便地融入,创造出自己的 名牌产品;3)不能充分地利用已有的通用软件资源;4)不能自由地获取外部的工况信息;5)体系结构繁多,不利于批量生产、提高可靠性和降低成本,削弱了市场 供应能力和竞争能力,同时限制了数控技术的发展。4.1996年至今,开始全PC开放式智能化数控新阶段数控系统进入基于PC的CN係统阶段。PC的引入,不仅为CNC提供十分 坚实的硬件资源和极其丰富的软件资源,更为CNC的开放式提供了基础12-14。与国际先进水平相比,我国国内的数控技术和产业经过40多年的发展, 从无到有,从引进消化到拥有自己独立的自主版

27、权,取得了相当大的进步。但 回顾这几十年的发展,可以看到我国在数控领域的进步主要还是按国外一些模 式,按部就班地发展,真正创新的成分不多1。1.1.3现代数控技术的发展趋势 为更好满足市场和科学技术发展的需要,满足现代制造技术对数控技术提出的要求,当今数控技术呈现新的发展趋势,主要体现在以下几个方面:1.加工控制的高速化、高精度化15加工速度和加工精度可靠性是衡量CNC系统性能的主要指标。当今先进的CNC系统都已完成了由16位处理器向32位微处理器的过渡,大大提高了CNC的数据处理能力和程序执行速度。不少系统通过配置多微处理器实现分散处 理,采用实时多任务操作系统进行并行处理的措施,进一步提高

28、系统的数据处 理速度,为高速高精度加工控制指标的实现创造了必要的条件,使得高速进给 运动控制中的自适应平滑升降速控制、自由曲线加工的内部矢量精插补等复杂 算法得以实现,系统的控制指标大幅度提高。2.智能化、开放化、网络化1、柔性化和集成化1)智能化15运用体现在数控系统中以下几个方面:I.为追求加工效率和加工质量方面的智能化,如自适应控制,工艺 参数自动生成;II.为提高驱动性能及使用连接方便方面的智能化,如前馈控制、电 机参数的自适应运算、自动识别负载自动选定模型、自整定等;III.简化编程、简化操作方面的智能化,如智能化的自动编程,智能 化的人机界面等;IV.智能诊断、智能监控方面的内容,

29、方便系统的诊断及维修等。2)数控系统体系结构开放性16-17主要是为了满足数控进线、联网、普及型 个性化,多品种、小批量、柔性化及数控迅速发展的要求。3)柔性化和集成化 柔性化技术的重点是以提高系统的可靠性、实用化为前提,以易于联网和集成为目标,注重加强单兀技术的开拓、完善,使CNC单机易于向咼精度、咼 速度和高柔性方向发展,使数控机床及其构成柔性制造系统能方便地与CAD、CAM CAPP MTS联网,向信息集成方向发展。1.2 运动控制器及其研究现状1.2.1运动控制器的特点及发展现状 运动控制器是以微处理器为核心,以传感器为信号敏感兀件,以电机/动 力装置和执行机构为运动控制对象,以实现预

30、定运动轨迹目标的一种控制装 置。随着自动化技术的进一步发展,运动控制器(步进、交流、直流)的应用 已走出机械加工行业,越来越多地应用于其它工业自动化设备控制。主要数控 技术的发展趋势就是采用“PC运动控制器”的开放式数控系统,它不仅具有 信息处理能力强、开放程度高、运动轨迹控制精确、通用性好等特点,而且还 从很大程度上提高了现有加工制造的精度、柔性和应付市场需求的能力。与传统的数控装置相比,运动控制器具有以下特点:1.技术更新,功能更加强大,可以实现多种运动轨迹的控制,是传 统数控装置的换代产品;2.结构形式模块化,可以方便地相互组合,建立适用不同场合、不同功能需求的控制系统;3.操作简单,在

31、PC机上经简单编程即可实现运动控制,而不一定需要专门的数控软件。以运动控制器作为独立的标准部件可以明显缩短新产品的研制开发周期, 有利于使用者创造自己的品牌产品。目前,由于以DSP为代表的高速、高性能专用微处理器的出现和PC机的广泛普及,开放式运动控制器的发展趋势是以DSP芯片作运动控制处理器,以PC机作为信息处理平台,运动控制器以插卡 形式嵌入PC机,即“PC-运动控制器”的模式。这样将PC机的信息处理能力 和开放式的特点与运动控制器的运动轨迹控制能力有机地结合在一起,具有信 息处理能力强、开放程度高、运动轨迹控制准确、通用性好的特点。1.国外广大的科技人员对基于DSP的运动控制器进行了深入

32、研究,并取得了较好的成绩,主要研究成果7-14有美国Delta Tau公司、NI(美国国 家仪器)和德国MOVTE公司的各种运动控制卡,其中,美国Delta Tau公司 开发出基于DSP的PMA(运动控制卡,可完成插补运算,伺服控制,PLC控制等实时控制功能。具有S曲线加/减速功能,可以实现直线、圆弧、螺旋线等 多种插补方式,提供全新的高性能数字控制技术和WINDOWS台,并且可以方便地加入系统的硬件和软件, 能够根据实际需要扩展功能, 满足用户在自动控 制各领域中的应用。PMAC可同时控制18根轴,每秒可执行500个程序段, 得到较为广泛的应用。2.国内针对运动控制器的研究从近几年开始开展的

33、比较多, 但目前 没有专门用于开放式体系结构的运动控制器,从现有的文献来看主要是各个高 校或科研院所为自己设计的基于PC的数控系统的运动控制卡,并没有形成一 种通用的、系列化供应于市场的产品。1.2.2常见运动控制系统上位控制方案 运动控制器是控制技术和运动系统相结合的产物。在现代电子技术的支持 下, 它通常以微处理器为核心, 综合软件编程、 运动轨迹设计、 控制算法分 析、各运动部件的实时驱动等功能,达到总体运动控制效果。在运动控制中,运动控制器还需对具体的运动速度、加速度、位置误差等进行实时监控,并对 相关情况等作出反应。运动控制器是从主机接收控制指令,从位置传感器接收位置信息,向伺服 电

34、机功率驱动电路输出运动指令。对于伺服电机位置闭环系统来说,它们主要 是完成了位置环作用,可称为数字伺服运动控制器,适用于一切交直流和步进 电机的闭环控制。专用控制器的使用可把主机的轨迹插补与伺服闭环控制分离开来,减少了 主机计算负担,且所有控制参数都可以由程序设定,系统硬件设计简单,位置 环容易调整,有利于提高系统可靠性。运动控制系统的上位控制方案一般有以下几种18:1.单片机系统 采用单片机系统来实现运动控制,成本较低,但开发难度较大,周期长。这种方案适应于产品批量较大、控制系统功能简单、有单片机开发经验的用 户。2.专业运动控制PLC许多品牌的PLC都可选配定位控制模块,有些PLC的CPU

35、单元本身就具有 运动控制功能(如松下FP0)。这种方案一般适用于运动过程比较简单、运动 轨迹固定的设备,如送料系统、自动焊机等。如果需要简单修改少量运动参 数,如速度、位移等,可与工业人机界面配合使用。3.PC机和I/O卡用I/O卡通过PC机也可以输出脉冲和方向信号来控制步进或数字式伺服电机,但所发的脉冲只能由软件编程来实现,所以在运动时发脉冲将占用PC机CPU大量的时间;另外,软件发脉冲受到微机定时器的限制,最大脉冲频率 一般在100KHz左右,在控制伺服电机时会有速度和精度的矛盾问题;再者, 在Windows环境下由于其多任务的机制,若没有深入Windows内核进行底层编基于单片机,如80

36、31、8098,这种方案比第一中要灵活的多,可通过 硬件实现许多功能。以单片机为主控芯片,成本较低输出锁存电路较为复杂,输出放大编码器信号处理及路D/A转换电路等,其控制算法有事先编好的程 序固化在存储器中该方案采用在程序中靠延时来控制发脉冲: 量和频率都受到限制,所以一般用于步进电机控制。图 交流时钟服电机控制卡的硬件总线构框图电路2.一种加上存储器、1.2脉冲波形的质是基于80C196的i 9。上位机总线缓冲电路ISA总图1.2基于8二数据 缓冲器 地址图INT0(IRQ10)IJnf2.MCC1动控制模块通过PCI模块从PC机得到数据,可以控制4轴电机3.FPGA 总的方框图:pcids

37、tajtsioseiexl_aclc(210|w(31-0|ecdjnfad|31:Oled|7:Qext_add|2l:0|inport32O|cuck rst谕创griiramgreCb3.0tr(devsedciatajdioseirnentssl4方框图说明:FPGA通过PCI模块实现与PC机的接口,然后PCI模块提 供一个普通的存储器读写接口可以实现简单的读写就能访问存储器地址或 者IO地址。PCI接口模块根据地址空间为其他模块作地址分配,-PCI总线定义了3种物理地址空间,分别是存储器地址空间、I/O地址空间和 配置地址空间。PCI接口的配置空间将在后面具体描述,这个接口提供的 存

38、储器空间大小为256字节,I0空间大小为512字节,他们的空间大小都 是可以改变的。PCI接口模块的前256字节I0空间提供给4个MC(模块, 每个MC(模块分得64字节的I0空间大小,后256字节的I0空间暂时分给GPIO模块,实现对GPIO的操作,每个MCC莫块可以通过获得分配的64字节I0空间实现和PC机的通信,因此可以实现4个轴的运动控制。另 夕卜,PCI接口模块和GPI0模块集成在一个模块中实现。关于I0空间的分配见下表:地址分配说明备注0X00 0X3F一轴寄存器地址0X40 0X7F二轴寄存器地址0X80 0XBF三轴寄存器地址0XC0 0XFF四轴寄存器地址0X1000X103

39、输入端口地址只读0X1040X107输岀端口地址可读写0X1080X1FF未用可扩展5关于地址的分配用于轴时,关系如下:IO偏移地址+0 x00(轴)、10偏移地址+0 x40(二轴)、10偏移地址+0 x80(三轴)、I0偏移地址+0 xc0(四轴)下面是每轴寄存器地址说明:寄存器地址寄存器名称寄存器说明基地址+0X00R0 ( 32 位读写)预置脉冲数寄存器基地址+0X04R1 (13 位读写)低速寄存器 R1基地址+0X08R2 (13 位读写)高速寄存器 R2基地址+0X0cR3 (13 位读写)变速寄存器 R3基地址+0X10R4 (15 位读写)梯形升速加速度基地址+0X14R5

40、(15 位读写)梯形降速加速度基地址+0X18R6 ( 32 位读写)自动降速点基地址+0X1cR7 ( 20 位读写)倍率因子基地址+0X28R10 (32 位读写)坐标位置寄存器基地址+0X2cR11 (13 位只读)当前脉冲速度基地址+0X30R12 (32 位读写)控制寄存器基地址+0X34R13 (24 位读写)控制寄存器基地址+0X38Comm (32 位读写)控制命令基地址+0X3c读 Status (32 位读)状态寄存器程序(或功能)模块1(PCI模块)功能说明PCI接口模块主要实现PCI从设备协议的接口,通过这个模块可实现控制 卡与PC机通过PCI桥进行数据交换。1.PCI

41、模块占用P(机的10空间为512字节,其中前256字节映射为4个MC的寄 存器访问,后256字节作为GPIO勺访问地址,这些地址只能以32位双字访 问,也就是说必须四字节对齐2.PCI模块占用存储器空间大小为256字节,但是并没有使用,目前仅仅使用10空间流程图(C等)/方框图(FPGA流程图说明:当复位过后程序完成初始化,这时候PC机将对主板上的各种PCI枚举, 当检测到控制卡时候,根据驱动程序分配给控制卡10基地址和大小和存储器基地址和大小,判断是那一种设备,否支持中断,等等,当PC机完成了对控制卡64字节的配置空间的操作后,配置过程就结束了,关于配置下面将专门 开出一小节来具体说明。这个

42、时候PCI模块的读状态机和写状态机都处于空闲状态,当PCI模块根据AD31.O,FRAME和CEB3.O检测到有数据交换的时候,若为读操作(配置读,10读,存储器读),则启动读状态机,若为写(配置写,I0写,存储器写)则启动写状态机,根据状态机的变化作不同操作即可完成一个读写 过程。当完成一个读写过程之后状态机又回到空闲状态准备实现下一次数据交 换。PCI的读写时序可参照下图:I等特地址段I数聶段关于读写状态机:读状机态:cfg_rd_stateis(idle1,dev_st1,cfg_rd_st1,cfg_rd_st2,cfg_rd_st3,stop_st1。读启动,此时侯(配置读,10读,

43、存储器读),这个表格不讨论有除控制卡以外PCI从设备的信号状态,同时这些信号都是刚进入状态机各个状态时第一个CLK上升沿的状态状态机状STFRAMETRDYIRDYDEVIDSCBE3.0AD31.0备注态P 信信号信号信号SELEL号 状状态状态状态信号态Idell111110X可能别的设备在访问dev_st1101101命令地址IDSEL 只在配置读写命令有效cfg_rd_st1101000Xcfg_rd_st2100000协议数据这个状态读数据stop_st1001100cfg_rd_st31 或11100者 o读状态机的各个状态转换图以及状态转换条件如下:i 纵设备城回够数醮4-CLK

44、競备驟蠶乩FRAMEL 腊舸故启-个数据r主设备发救攜绚AD亠OIFC/BEYIOT(叮读根(b)写操地址股I致丽TW: :_ :wDEVSELULVSEL图2 PCI甲数据段读、写时序父质,1WE-Ld-J甞节使能SlittToStatejCmdithKicfsji.staSIOLSH! time2日叩】cfj_rd_Et33cf_rd_st3:愉M41:1145cf| ilitl V:irdr6d#T_stl! :iiirTdsT_stl:irdrSid】创der.stl:CMI PTO. mS cfE r4 itl9idlel10idldlUtl!: ailj ro. jn6 cfE I

45、d s el写状态机:typecfg_wr_stateis(idle2,dev_st2,cfg_wr_st1,cfg_wr_st2,cfg_wr_st3,stop_st2。当写启动时候有可能是(配置写,10写,存储器写),这个表格不讨论有除控制卡以外PCI从设备的信号状态,同时这些信号都是刚进入状态机各个状态时第一个CLK上升沿的状态状态机STOPFRAMTRDYIRDYDEVSEIDSCBE3.0AD31.0备注状态信号E 信号信号信号L 信号EL状态状态状态状态Idel21XXXXXXX可能别的设备在访问总线dev_st2101100命令地址IDSEL 只在配置读写命令有效cfg_wr10

46、1001XX_st1cfg_wr100001协议数据这个状态写数据_st2stop_st20 01101XXcfg_wr1 或者 11101XX_st30写状态机的各个状态转换图以及状态转换条件如下:Froi StateTo SlateConditionicfE wi si2stw.sti1:fiftmt25,tOD 5t23cfE_W_st2cfE_wr_st3;frame4CfE_wr_Et1cfE_wr_st2!: irdy5cfEwt stlCfEwi_stl:iid76dev st2cfE m stl!:irdr7Aev_it2dev_st2:irdrgidle?dev_st2:CO

47、ILPIO.acfE m st3idl蚯10idle2idle2!: con_pio. uikS_cfE_wi _:elPCI接口配置空间的实现配置空间是PCI所特有的一种空间,其目的在于提供一套适当的配置措施,使之满足现行的和可预见的系统配置机构。配置空间是一长度为256字节并且有特定记录结构的地址空间,可以在系统自举时访问,也可在其他时间访 问。该空间分为首部区和设备有关区两部分,设备在每个区中只须实现必要的 和与之相关的寄存器。配置空间的基地址寄存器提供了一种为设备指定存储空间或I/O空间的机制。操作系统在启动的时候要判断系统中有多少存储器、系 统中的I/O设备需要多少地址空间,然后根据

48、得到的结果,自动配置系统的存 储空间和I/O空间,实现设备无关管理。在本设计中, 那些只读的配置寄存器 通过硬件连线到相应的值, 因而不占用宏单元。 通过配置寄存器,配置软件可 了解目标设备的存在、功能及配置要求。(1)厂商ID:此16位的只读寄存器定义 了设备的生产厂商,可以使用MACH芯 片 最 初 的 生 产 厂 商 AMD公 司 的ID值1022。设备ID:该值由生产厂商分配以识别其产品,可为除00000000H和0FFFFFFFFH中 的任 意 值 。(3)命令寄存器:此寄存器控制了设备响应PCI访问的能力。位1、6、8在本设计中被实现。本设计要求实现对存储空间的访问,位1设置为1,

49、则设 备响应PCI对存储器访问;位6控制了设备对奇偶校验错误的响应;当位8被 设置为1时,设备能够驱动SERF线,0则禁止设备的SERR俞出驱动器。在这 里 当 系 统 复 位 后 , 位1、6、8被 设 置 为0。(4)状态寄存器:此寄存器记录了PCI相关事件的信息。在本系统中,位9、10、11、14、15被设计实现。位10:9为设备选择(DEVSEL#定时,00B为慢 速,01B为中速,10B为快速,11B保留。本设计这两位被硬件连线为01B。当 目标设备失败时,位11被设置为1,当发生系统错误时位14置1,发生奇偶 校 验 错 误 时 位15置1。(5)基地址寄存器:该寄存器用来映射设备

50、的存储器地址空间,与设备地址空间大小相应的低位被强制为0,因此在配置写交易中,配置软件通过对这个寄 存器的所有位写1,然后再读出该寄存器的值来决定设备存储器所占用的地址 范围。位0用来定义设备是存储器映射还是I/O映射,在本设计中,位0被设 为 低 以 表 明 目 标 设 备 为 存 储 器 映 射 的 。 如需要256字节的存 储空间 , 配置 软件写 入0FFFFFFFFH, 本设 备送出0FFFFFF00H而配置软件再次写入基地址寄存器的值与本设备的0FFFFFF00H相与的结果就是基地址值,如配置软件再次写入0CD000000H则基地址值为0CD000000H。(6)类代码寄存器:这个

51、24位的只读寄存器用来说明设备的基本功能和它的可编程接口。这里,此寄存器被强制为018000H即设备为大容量存储控制器。(7)首部类型寄存器:这个只读寄存器的位06定义了首部格式,位7说明了设备为单功能还是多功能。首部类型1为PCI-PCI桥定义,首部类型2则用于PCI CardBus桥。在本设计中寄存器被强制为0来显示其为单功能设备且首部 类型为0。另外需要注意的一个信号是PAR它是奇偶校验位,这个位在主设备从控制卡读数据时候必须由控制卡驱动,任何从设备都必须实现这个信号,这个 信号是针对CBE3.0和AD31.0求奇偶校验!写数据的时候4 基于 FPGA 的运动控制模块(MCM )4.1

52、MCM 总体结构本运动控制卡设计为四轴卡,每个轴的所有功能完全相同,即相当于四个完全独立的专用运动控制模块34(Motio n Co ntrol Module),为了叙述方便, 下面以所设计的运动控制模块MC侏介绍一个轴的主要功能。R加减速控制电路(ADCC)CP,CP2 IO一变频分配电路-(VFDC)命令缓冲器状态缓冲器R0R1R2R3R4R5R6R7R10R11R12R13R14R15R16R17脉冲输出电路POUTPDIREC_AEC_BEC_Z倍率因子分频电路(MFFDC)图4.1 MCM总体结构结合图4.1,MCM采用模块化的设计思路,从功能上大致分为以下几部 分:1.寄存器模块选

53、择和读写命令缓冲器、状态缓冲器(写命令、读状态)和参数寄存器;2.速度模式模块在MCM中实现两种加/减速模式:梯形加/减速、S-曲线加/减速模式;3.脉冲产生电路模块包括加减速控制电路ADCC变频分配电路VFDCffi倍率因子分频电路MFFDC4.编码器模块在此模块中,对两相编码器反馈信号EC_A和EC_B进行了详细分析;5.计数器模块设计了三个功能各异的脉冲信号计数器:预置计数器RO_PC自动降速点计数器R6_RD和当前位置计数器R10_PPC6.操作模式模块实现了三种工作模式:连续模式、预置模式、回零模式(只使用回零信号ORG回原点,以及回零信号ORG与编码器EC_Z信号相结合实现高精度回

54、零)。当某个轴片选信号CS= O时,则当前轴MCM被选中,通过接口电路,PC机可以对这个轴进行以下操作:1.写命令或读状态,可以对选中的参数寄存器读写数据;2.根据写入的启动模式命令,可以启动或停止发脉冲,急停或缓 停,以及停止时是否输出中断信号;3.确定运动模式:常速、梯形升降速、S-曲线升降速;4.可以选择运动方向:正向或负向,5.选择输出脉冲频率:FL、FHI或FH2;6.打开或关闭自动降速点计数器和当前位置计数器;7.根据写入的控制模式命令,能够选择回零ORG、减速SD和预置 模式是否有效;8.写入R12和R13的参数,可以确定编码器差分信号EC_A和EC_B的倍率因子、当前位置计数器

55、计数信号类型(输出脉冲或外部输入信号)、在自动降速模式下是否输出中断信号INT、设置的编码器回零信号EC_Z的计数范围、启动计数EC_Z信号的时刻(是打开SD还是ORG的时 刻)、选择回零模式(只用ORG信号、ORG信号与ECZZ信号相配合的高精 度精确回零)等。4.2 寄存器模块4.2.1寄存器寻址表4.1 MCM地址分配寄存器类型A4A3A2A1A0地址范围读写方式位数R01000010H读写32R11000111H读写13R21001012H读写13R31001113H读写13R41010014H读写16R51010115H读写16R61011016H读写32R71011117H读写20

56、R101100018H读写32R111100119H只读13R12110101AH读写24R13110111BH读写24R14111001CH读写24R15111011DH读写13R16111101EH只读或读与24R17111111FH读写32如表4.1所示,寄存器寻址分为两大类:一类是当A4= 0时选择命令 缓冲器和状态缓冲器;另一类是当A4= 1时选择参数寄存器R0R7和R1旷R17。当A4= 1时,具体是哪个参数寄存器再由A3A0译码决定。它 们的具体功能和定义请参考以下两小节。4.2.2参数寄存器参数寄存器用于存储速度参数(脉冲频率、脉冲输出数等)和用于扩展功 能的设置。为了对寄存器

57、进行读写,必须先对地址总线译码来选择寄存器。1.寄存器R0,预置输出脉冲数将输出位置的脉冲数写入寄存器Rd旦输出完预置脉冲数,MCM将停止 发脉冲。2.速度参数寄存器R1、R2R3,脉冲频率FL、FHI、FH2把脉冲频率FL、FHI、FH2所对应的速度参数分别写入寄存器R1、R2、R3寄存器。在变速操作中,频率FL将作为加速的起始值和减速的目标值,而频 率FHI或FH2是加速的目标值,到达高速后按此频率常速运行直到开始减速, 使用启动模式命令选择脉冲频率FH1或FH2。注意,实际的输出脉冲频率等于 寄存器R1、R2 R3与寄存器R7确定的倍率因子的乘积。3.寄存器R4 R5,加/减速频率将加、

58、减速频率分别写入寄存器R4和R5,在变速操作中用作加、减速频 率。注意,如果自动降速点设置功能有效,则将按寄存器R4中的频率来进行 减速。4.寄存器R6,自动降速点将变速或定位操作中的减速起点写入寄存器R6。如果自动降速点设置功能无效,则将减速所需的脉冲数写入此寄存器中;反之,则写入0或偏移量。5.寄存器R7,倍率因子参数将与寄存器R1、R2和R3相乘的倍率因子参数写入寄存器R7,以便确定 输出脉冲频率的大小。6.寄存器R10,当前位置计数器MCM有一个当前位置计数器(控制位置的增/减计数器)。寄存器R10作 为计数器允许对其进行读写。7.寄存器R11,当前脉冲频率监视器此只读寄存器允许监视M

59、CME在输出的脉冲频率的参数。注意,被监视的 值是写入R1、R2和R3寄存器中的参数,而不是这些参数与寄存器R7决定的倍率因子的乘积。8.寄存器R12、R13,扩展功能模式1和扩展功能模式2寄存器R12用于设置当前位置计数器、输出脉冲、降速点INT信号等参 数;寄存器R13用于设置输入ALM信号、Z-相信号精确回零、输入ORG信号 等参数。9.寄存器R14 R15, S-曲线加/减速部分R14的低12位(D11D00)为S-曲线段长的设置值,高10位(D23D14)作 为S-曲线累加器的起始值。如果想在S-曲线加速过程中得到中间直线加速, 则用寄存器R14的低12位(D11D00)在加速的起点

60、和终点设置成S-曲线段。如果想在S-曲线减速过程中得到中间直线减速,则用寄存器R15在减速的起点和终点设置成S-曲线段。10.寄存器R16,命令缓冲监视器用来监视写入到命令缓冲器中的内容。11.寄存器R17此寄存器为空,用于具体领域时再具体设置。4.2.3命令和状态缓冲器命令和状态缓冲器占用相同的地址,写操作是将命令写入命令缓冲器中, 读操作是从状态缓冲器中读出内部的实时工作状态。1.命令缓冲器命令缓冲器共32位,四个轴的低24包括启动模式、控制模式、输出模式 三类命令,每轴的最高8位没有定义,供以后其它应用定义。为了操作MCM需要通过32位数据总线将命令和参数写入到命令缓冲器 和参数寄存器中。MCC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论