基于PC运动控制板卡的交流伺服控制系统.ppt
5 5 基于基于PCPC运动控制板卡的运动控制板卡的交流伺服运动控制系统交流伺服运动控制系统5.15.1 开放式运动控制系统开放式运动控制系统5.25.2 PMACPMAC运动控制器运动控制器5.35.3 PCIPCI运动控制卡设计运动控制卡设计基于基于PCPC的伺服运动控制系统是一种开放式结构的伺服运动控制系统是一种开放式结构的系统,可以充分利用的系统,可以充分利用PCPC机的资源和第三方软件机的资源和第三方软件资源资源完成用户应用程序的开发,将生成的应用程完成用户应用程序的开发,将生成的应用程序指令通过序指令通过PCPC并行总线传送给运动控制器,运动并行总线传送给运动控制器,运动控制器根据来自控制器根据来自PCPC机的应用程序命令,按照设定机的应用程序命令,按照设定的运动模式,向驱动器发出运动指令,完成相应的运动模式,向驱动器发出运动指令,完成相应的实时运动规划。的实时运动规划。5.1 5.1 开放式运动控制系统开放式运动控制系统5.1.15.1.1 开放式数控系统开放式数控系统一般数控系统由一般数控系统由3部分部分组成:组成:1,MMC:人机接口人机接口2,CNC:运动控制部运动控制部分,分,包括伺服部分,但一般包括伺服部分,但一般主轴在主轴在PLC部分。部分。3,PLC:机床的顺控机床的顺控部分部分人机接口人机接口NC控制器控制器伺服驱动器伺服驱动器数控机床数控机床传感器传感器机床强电机床强电MMCCNCPLC5.1 5.1 开放式运动控制系统开放式运动控制系统1 1、传统数控系统、传统数控系统数控系统软件功能模块数控系统软件功能模块数控装置数控装置控制模块控制模块管理模块管理模块电电机机运运动动控控制制位位置置运运动动控控制制插插补补计计算算刀刀补补计计算算速速度度处处理理G功功能能处处理理监监控控处处理理中中断断处处理理PLC处处理理误误差差补补偿偿数控软件功能模块数控软件功能模块电机运动控制电机运动控制插补计算插补计算刀补计算刀补计算监控处理监控处理中断处理中断处理匀匀速速控控制制加加/减减速速控控制制直直线线、圆圆弧弧插插补补螺螺旋旋线线、空空间间插插补补刀刀具具半半径径补补偿偿刀刀具具长长度度补补偿偿键键盘盘处处理理显显示示处处理理报报警警处处理理急急停停处处理理部分控制模块功能部分控制模块功能 随着数控技术的发展,数控系统变得越来越复杂,暴露随着数控技术的发展,数控系统变得越来越复杂,暴露出许多自身固有的缺陷。出许多自身固有的缺陷。最大的问题是,这些数控系统都最大的问题是,这些数控系统都是专门设计的是专门设计的,它们具有不同的编程语言、非标准的人机,它们具有不同的编程语言、非标准的人机接口、多种实时操作系统、非标准的硬件接口等,这些缺接口、多种实时操作系统、非标准的硬件接口等,这些缺陷造成了数控系统使用和维护的不便,也限制了数控技术陷造成了数控系统使用和维护的不便,也限制了数控技术的进一步发展。的进一步发展。为了解决这些问题,人们提出了为了解决这些问题,人们提出了“开放式数控系统开放式数控系统”的的概念。这个概念最早见于概念。这个概念最早见于19871987年美国的年美国的NGC(Next NGC(Next Generation Controller)Generation Controller)计划,计划,NGCNGC控制技术通过实现基于相控制技术通过实现基于相互操作和分级式的软件模块的互操作和分级式的软件模块的“开放式系统体系结构标准开放式系统体系结构标准规范(规范(SOSASSOSAS)”找到解决问题的办法。找到解决问题的办法。一个开放式的系一个开放式的系统体系结构能够使供应商为实现专门的最佳方案去定制控统体系结构能够使供应商为实现专门的最佳方案去定制控制系统。制系统。2 2、开放式数控系统、开放式数控系统(1 1)开放式数控系统的定义)开放式数控系统的定义IEEEIEEE关于开放式系统的定义:关于开放式系统的定义:一个开放式数控系统应能够在多平台上运行,能一个开放式数控系统应能够在多平台上运行,能够与其他系统进行操作,并能够给用户提供一够与其他系统进行操作,并能够给用户提供一致的交互界面致的交互界面 ;1.1.系统互换性;系统互换性;2.2.可伸缩性;可伸缩性;3.3.可移植性;可移植性;4.4.互操作性;互操作性;5.5.可扩展性;可扩展性;6.6.不依赖于硬件、模块化;不依赖于硬件、模块化;(2 2)开放式数控系统的结构形式:)开放式数控系统的结构形式:PC PC连接型连接型NCNC即将现有原型即将现有原型CNCCNC与与PCPC用通用串行线直接相连的一用通用串行线直接相连的一种组成形式种组成形式:DNC:DNC PC PC嵌入型嵌入型NCNC即在传统的专用数控机床中嵌入即在传统的专用数控机床中嵌入PCPC技术,技术,PCPC与与CNCCNC之间用专用总线连接。之间用专用总线连接。系统。系统。运动控制器运动控制器+PC+PC型型即在通用即在通用PCPC的扩展槽中插入运动控制卡,完全采用以的扩展槽中插入运动控制卡,完全采用以PCPC为硬件平台的数控系统。为硬件平台的数控系统。PMACPMAC运动控制器运动控制器 全软件型全软件型NCNC即完全采用即完全采用PCPC的全软件形式的数控系统。的全软件形式的数控系统。NCNC的全部的全部功能处理全由功能处理全由PCPC进行,并通过装在进行,并通过装在PCPC扩展槽中的扩展槽中的接口卡等进行控制。接口卡等进行控制。STEP-NC STEP-NC(3 3)PCPC嵌入型嵌入型NCNC即在传统的专用数控机床中嵌入即在传统的专用数控机床中嵌入PCPC技术,技术,PCPC与与CNCCNC之间用专用总线连接。其优点是原型之间用专用总线连接。其优点是原型CNCCNC几乎可以不加改动的使用,且数据传送速度快、几乎可以不加改动的使用,且数据传送速度快、系统响应快。其目的是增加数控系统的计算机功系统响应快。其目的是增加数控系统的计算机功能,实现联网和大规模数据处理。如能,实现联网和大规模数据处理。如FANUCFANUC公公司的司的150/160/180/210150/160/180/210系统、系统、Siemens840DSiemens840D系统、系统、Num1060Num1060系统、系统、AB9/360AB9/360等数控系统。等数控系统。(4 4)软件数控)软件数控它的它的CNCCNC软件全部装在计算机中,而硬件部分软件全部装在计算机中,而硬件部分仅是计算机与伺服驱动和外部仅是计算机与伺服驱动和外部I/OI/O之间的标准化通之间的标准化通用接口。目前由于存在着操作系统的实时性标准统用接口。目前由于存在着操作系统的实时性标准统一性及系统稳定性等问题,这种系统目前正处于探一性及系统稳定性等问题,这种系统目前正处于探求阶段,还没有大规模投入到实际的应用中。目前求阶段,还没有大规模投入到实际的应用中。目前全软件型全软件型NCNC的典型产品有美国的典型产品有美国MDSIMDSI公司的公司的Open Open CNCCNC、德国、德国Power AutomationPower Automation公司的公司的PA8000 NTPA8000 NT等。等。常用的运动控制器主要包括常用的运动控制器主要包括PLCPLC、PC-BasedPC-Based运动运动控制卡、专用系统和驱动器集成运动控制。控制卡、专用系统和驱动器集成运动控制。运动控制卡是一种运动控制卡是一种PC-BasedPC-Based的运动控制器,的运动控制器,主要厂商包括主要厂商包括Delta TAU(PMAC)Delta TAU(PMAC)、GALIL(DMC)GALIL(DMC)、BardorBardor、TrioTrio(英国翠欧)、(英国翠欧)、NINI、AdvantechAdvantech、AdlinkAdlink、GoogolGoogol(固高)、雷赛、众为兴、成都步进、摩信(固高)、雷赛、众为兴、成都步进、摩信等。等。PMACPMAC在高端市场表现最好,在高端市场表现最好,GALILGALIL也表现不错。也表现不错。从数量上讲,国内的厂商的出货量更多,但是主要从数量上讲,国内的厂商的出货量更多,但是主要针对低端市场。针对低端市场。(5 5)基于运动控制卡的开放式数控系统)基于运动控制卡的开放式数控系统计算机计算机运动控制器运动控制器基本模块基本模块I/O模块模块PCI总线总线数控系统数控系统(运动控制器)(运动控制器)伺服伺服驱动器驱动器开关量开关量I/O其它其它I/O伺服辅助控制信号伺服辅助控制信号运动控制运动控制指令指令位置反馈位置反馈伺服电机伺服电机主轴主轴驱动器驱动器5.1.25.1.2基于运动控制器的数控系统(功能概图)基于运动控制器的数控系统(功能概图)5.1.25.1.2基于运动控制器的数控系统(基于运动控制器的数控系统(PCIPCI总线)总线)数控装置数控装置控制模块控制模块管理模块管理模块电电机机运运动动控控制制位位置置运运动动控控制制插插补补计计算算刀刀补补计计算算速速度度处处理理G功功能能处处理理监监控控处处理理中中断断处处理理PLC处处理理误误差差补补偿偿5.1.25.1.2基于运动控制器的数控系统(软件系统)基于运动控制器的数控系统(软件系统)PMAC-Programmable PMAC-Programmable Multi-Axis Multi-Axis ControllerController是是可编程多轴运动控制器,也称运动控制计算机可编程多轴运动控制器,也称运动控制计算机.它它主主要要由由MOTOROLA MOTOROLA DSP DSP CPUCPU与与DELTA DELTA TAUTAU公公司司开开发和特制的用户门列发和特制的用户门列ICIC组成组成.主要功能主要功能:1.1.控制伺服轴控制伺服轴 2.2.PLC PLC 3.3.数据采集数据采集5.25.2PMACPMAC运动控制器运动控制器1 1、PMACPMAC运动控制器结构运动控制器结构基于基于PC(它本身也是一台计算机)(它本身也是一台计算机)可可控控制制各各类类电电机机步步进进,交交/直直流流服服,线线性性电电机机,液液压压伺伺服服.可可接接受受各各类类反反馈馈增增量量绝绝对对码码盘盘,光光栅栅尺尺,激激光光干干涉涉仪仪,电位计,磁致伸缩传感器,旋转变压器等电位计,磁致伸缩传感器,旋转变压器等.多总线结构多总线结构PC,VME,STP,PCI,104,MACRO.一卡可同时控制一卡可同时控制8个轴,可扩展到个轴,可扩展到128个轴连动个轴连动.后台后台PLC可扩展到可扩展到1024点点.可独立运行可独立运行RS-232,422由主机通过接口或总线发送指令由主机通过接口或总线发送指令在板在板DPRAM选项选项在板在板A/D转换选项转换选项32位在板位在板I/OPWM,DAC 输出模式输出模式2 2、PMACPMAC的开放式结构的开放式结构3 3、PMACPMAC系列运动控制器系列运动控制器20MHz Motorola DSP 56001系系列数据信号处理器列数据信号处理器8路(数模转换)路(数模转换)16位位DAC输出输出16个码盘通道输入个码盘通道输入16个通用个通用I/OI/O扩展端口扩展端口越程极限,回原点,伺服放大越程极限,回原点,伺服放大器报警,使能标志信号接口器报警,使能标志信号接口LCD和和VFD显示端口显示端口Bus and/or RS-422通信通信脱机运行脱机运行G-Code 编程(可自定义)编程(可自定义)PMAC 1 PMAC 1 的标准配置的标准配置线性,圆弧,线性,圆弧,三次轨迹计算,三次轨迹计算,样条插补样条插补256个运动程序存储能力个运动程序存储能力64个异步个异步PLC程序存运行程序存运行超大程序的实时下载执行功能超大程序的实时下载执行功能64位位置计数范围位位置计数范围位置环,速度环,电流环三环位置环,速度环,电流环三环矢量控制能力矢量控制能力曲线加减速控制曲线加减速控制自定义伺服算法能力自定义伺服算法能力电子齿轮电子齿轮先进的先进的PID及扩展伺服算法及扩展伺服算法 一、执行运动程序一、执行运动程序1.PMAC 1.PMAC 在某一时间执行一个运动在某一时间执行一个运动,并执行有关运动的所有计算并执行有关运动的所有计算2.PMAC 2.PMAC 总是在实际运动之前总是在实际运动之前,正确地调和即将执行的运动正确地调和即将执行的运动二、执行二、执行PLCPLC程序程序1.1.以处理器允许的时间尽可能快的扫描以处理器允许的时间尽可能快的扫描PLCPLC程序程序2.PLC2.PLC适用于某些异步于运动程序的运动过程适用于某些异步于运动程序的运动过程三、伺服环更新三、伺服环更新1.1.对于每一个电机,对于每一个电机,PMACPMAC都以一个固定频率(都以一个固定频率(2KH2KH左右)自动对其进行左右)自动对其进行伺服更新伺服更新2.2.伺服环根据运动的设计者编写程序公式,从当前的实际位置和指令位置伺服环根据运动的设计者编写程序公式,从当前的实际位置和指令位置增加指令的数值增加指令的数值 四、换相更新四、换相更新1.PMAC 1.PMAC 以以9KHZ9KHZ的频率自动进行换向计算和控制;的频率自动进行换向计算和控制;2.PMAC 2.PMAC 测量并估算测量并估算 转子的磁场定向,然后处理电机的相之间的指令转子的磁场定向,然后处理电机的相之间的指令1 1)PMAC PMAC 的功能的功能五、资源管理五、资源管理1.1.常规管理常规管理定期自动执行资源管理功能,以确认谁正常定期自动执行资源管理功能,以确认谁正常2.2.报警报警跟随误差限制、跟随误差限制、硬件超程限制、软件超程限制、硬件超程限制、软件超程限制、放大器报警放大器报警3.3.看门狗的更新看门狗的更新在每个在每个PLCPLC扫描之间扫描之间,PMAC,PMAC 执行上述任务保证自身的正常更新,如果这些执行上述任务保证自身的正常更新,如果这些功能不能在最小的频率内检测,卡上的看门狗将报警功能不能在最小的频率内检测,卡上的看门狗将报警六、与主机通信六、与主机通信1.1.随时与随时与上位机实时通讯上位机实时通讯,甚至在一个运动序列中间;,甚至在一个运动序列中间;2.2.将命令放入一个程序缓冲区以便以后执行;将命令放入一个程序缓冲区以便以后执行;3.3.如果命令非法则将向如果命令非法则将向上位机上位机主机报错。主机报错。七、任务优先级七、任务优先级1.1.任务是按照优先级电路组织起来,使应用程序以最优化、高任务是按照优先级电路组织起来,使应用程序以最优化、高效、效、安全的安全的运行运行2.2.优先级是固定的,但是他们的频率时可以由用户控制的优先级是固定的,但是他们的频率时可以由用户控制的1 1)PMAC PMAC 的功能的功能 1.1.机床机床-磨床磨床/车床车床/铣床铣床/电加电加工工/攻丝攻丝2.2.检验检验-半导体半导体/机械机械3.3.喷涂喷涂-混合涂料和喷涂混合涂料和喷涂4.4.焊接焊接-机械机械/半导体半导体5.5.印刷印刷-快速印刷快速印刷6.6.张力控制张力控制-织物处理织物处理7.7.食品加工食品加工-混合混合/分切分切/处理处理8.8.包装包装-塑料塑料/食品食品9.9.材料处理材料处理-半导体贴片加工半导体贴片加工10.10.车辆控制车辆控制-汽车汽车/电车电车/叉车叉车11.11.摄像控制摄像控制-远距离控制远距离控制12.12.机器人机器人-3-3到到 6 6轴抓举和搬轴抓举和搬运运13.13.通用自动化通用自动化-输运带输运带/同步同步控制控制2 2)PMAC PMAC 的应用领域的应用领域AmplifierMotorPMACABCinterfaceABCEnc.HallsSoftwareInterfaceMachineI/O工业现场总线驱动受控机械对象功率放大3 3)PMAC PMAC 的典型开放式应用的典型开放式应用硬件硬件软件设置及定义软件设置及定义系统编程系统编程接线判断连接M变量内存图定义坐标系设计程序结构编写和调试程序4 4)PMAC PMAC 的应用系统建立的应用系统建立5 5)PMAC PMAC 的指令的指令w 初始化和变量设置初始化和变量设置w 提前定义其含义提前定义其含义 w 有的影响卡的全局有的影响卡的全局w 有的是电机的定义有的是电机的定义w 有的是坐标系的定义有的是坐标系的定义w 有的是编码器的定义有的是编码器的定义1.I-变量变量 (1024)w 用户定义的变量用户定义的变量w 48-bit 浮点格式浮点格式w 全局存取全局存取(与坐标系无关与坐标系无关)2.P-变量变量(1024)6 6)受控制电机的运动方式)受控制电机的运动方式Ix20 加速时间(Jog,Home)Ix21 S-曲线加速时间(Jog,Home)Ix20 加速时间(Jog,Home)Ix21 S-曲线加速时间(Jog,Home)6 6)受控制电机的运动方式)受控制电机的运动方式Ix20 加速时间(Jog,Home)Ix21 S-曲线加速时间(Jog,Home)6 6)受控制电机的运动方式)受控制电机的运动方式7 7)通过设置)通过设置 I I变量可以控制以下典型变量可以控制以下典型 P.I.D P.I.D 伺服环伺服环FollowingError跟随误差CommandedPosition指令位置ActualPosition实际位置=-P(proportional gain比例增益)Ix30 Spring刚性,刚度I(integral gain积分增益)Ix33D(derivative gain微分增益)Ix31 Shock Absorber 减震,吸收8 8)重要)重要P P变量及其功能变量及其功能P P变量是用户全局变量,可用于变量是用户全局变量,可用于PMACPMAC编程中的计算编程中的计算w 48位浮点形式w 1024 P变量从 P0 to P1023可用于可用于:1.1.计算计算 P100=P101*(sin(45)P100=P101*(sin(45)2.2.软件触发软件触发 IF(M1!=1 AND P10=0)IF(M1!=1 AND P10=0)利用利用P P变量及变量及DSPDSP进行大量运算进行大量运算OPEN PROG 1 CLEARWHILE(1=1)IF(P10)P2=SIN(P1)+COS(P1)p3=2 IF(P13)P2=SIN(P1)+COS(P1)P3=2 w w w w IF(P199)P2=SIN(P1)+COS(P1)p3=99 ENDIF w w w w ENDIF ENDIF X2000 P1=P1+1ENDWHILECLOSE8 8)用户定义坐标系)用户定义坐标系允许定义的轴允许定义的轴:X,Y,Z,U,V,W,A,B,CX,Y,Z:传统上的主要直线轴传统上的主要直线轴U,V,W:传统上的第二直线轴传统上的第二直线轴A,B,C:传统的旋转轴传统的旋转轴u(A 围绕 X,B 围绕 Y,C 围绕 Z)u位置翻转(Ix27)将电机和坐标轴绑定#1-X#2-Y#3-Zu笛卡尔坐标轴可以是直线轴电机的组合:#1-A11X+A12Y+A13Z+B1#2-A21X+A22Y+A23Z+B2#3-A31X+A32Y+A33Z+B3这样允许坐标系旋转和平移,可推广到更多轴的方式9 9)编写)编写PMACPMAC运动程序运动程序n运动指令运动指令X1000 Y2000 Z3000U(P1*3.14159)V(20*SIN(Q6)DWELL,DELAYn模态指令模态指令ABS,INC,FRAX,NORMALLINEAR,RAPID,CIRCLEn,SPLINEn,PVTTA,TS,TM,Fn变量赋值变量赋值variable=expressionn逻辑控制表达式逻辑控制表达式N,O,GOTO,GOSUB,CALL,RETURNG,M,T,D(special CALL statements)IF,ELSE,ENDIF,WHILE,ENDWHILEn辅助表达式辅助表达式 COMMAND,SEND,DISPLAYENABLE PLC,DISABLE PLCnLogic Operators逻辑操作符逻辑操作符&(bit by bit AND)|(bit by bit OR)(bit by bit Exclusive OR)Comparators比较符比较符=(equal to)!=(not equal to)(greater than)!(not greater than;less than or equal to)axis scalingaxis;绑定电机于坐标系OPEN PROG n CLEAR;打开(新建)一个程序 电机运动命令及数学运算,逻辑判断CLOSE;程序结束从内存中删除一个程序从内存中删除一个程序OPEN PROGn CLEARCLOSE9 9)编写)编写PMACPMAC运动程序运动程序Example:*Set-up and Definitions*DEL GAT;Erase any defined gather buffer&1;Coordinate System 1CLOSE;Make sure all buffers are closed#1-X;Assign motor 1 to the X-axis-1 program unit;of X is 1 encoder count of motor#1*Motion Program Text*OPEN PROG 1;Open buffer for program entry,Program#1CLEAR;Erase existing contents of bufferLINEAR;Blended linear interpolation move modeABS;Absolute mode-moves specified by positionTA500;Set 1/2 sec(500 msec)acceleration timeTS0;Set no S-curve acceleration timeF5000;Set feedrate(speed)of 5000 units(cts)/secX10000;Move X-axis to position 10000DWELL500;Stay in position for 1/2 sec(500 msec)X0;Move X-axis to position 0CLOSE;Close buffer-end of programTo run this program:&1 B1 R;Coord.System 1,point to Beginning of Program 1,Run9 9)编写)编写PMACPMAC运动程序运动程序1010)PMACPMAC运动程序执行运动程序执行PMACPMAC程序的运行模式程序的运行模式:u在线命令方式执行在线命令方式执行PMACPMAC运动指令运动指令(命令行方式命令行方式)u下载到下载到PMACPMAC缓冲区内缓冲区内,再发送运行命令方式再发送运行命令方式开始一个程序开始一个程序u指向一个坐标系,用在线指令:&nu用在线指令指向程序:Bnu用在线指令运行:R or 停止程序停止程序u用在线指令指向坐标系:&nu用在线指令:Q,S,A,or ,CNC的任务通常可分为两大类:。管理任务主要承担系统资源管理和系统各子任务的调度,负责系统的程序管理、显示、诊断等子任务;控制任务主要完成CNC的基本功能:译码、刀具补偿、速度预处理、插补运算、位置控制等任务。CNC装置在工作中这些任务不是顺序执行的,而往往需要多任务并行处理。如:如:1111)实时操作系统)实时操作系统管理任务和控制任务a)CNCa)CNC的操作系统的操作系统(1)当机床正在加工时(执行控制任务),要实时显示加工状态(管理任务)。这是控制任务与管理的并行;(3)在控制任务中更是如此,为了保证加工的连续性,刀具补偿、速度处理、插补运算以及位置控制必须同时不间断执行。(2)在管理任务中也是如此,当用户将程序送人系统时,需要实时显示输入的内容;一般地,CNC装置通常采用循环调度和优先抢占调度相结合的方法来解决上述问题的。假定某CNC装置软件将其功能仅分为三个任务:位置控制、插补运算和背景程序。位置控制优先级最高,插补运算其次,背景程序相对最低。系统规定:位置控制任务每4ms执行一次,插补运算8ms执行一次,则两个任务都由定时中断激活。当位置控制和插补运算都不执行时便执行背景程序,正因为如此才称其为“背景”程序。系统的运作是:在完成初始化后,自动进入背景程序,在背景程序中采用循环调度的方式,轮流反复地执行各个子任务。优先级高的任务(如位置控制或插补运算任务)可以随时中断背景程序的运行。同样位置控制也可中断插补运算的运行。初始化初始化显示显示译码译码刀补刀补I/OI/O循环调度优先抢占调度b)Windows OS b)Windows OS 的限制的限制l非实时非实时(非决策非决策)l应用程序不能进入应用程序不能进入I/O层面层面l有时驱动不稳定有时驱动不稳定(不适用于工业使用不适用于工业使用)虽然real-time与快速反应看似相同但不同。其区别在于固定的时间之内是否可能一定完成被预定的处理。虽然,经过使用高速CPU,OS的轮转时间(反应速度)被改善,它却不一定意味着它接近real-time控制。real-time是在固定的时间之内,所有的100个任务可完成100次.如果它能完成99次,但1次没完,它不能叫作real-time。实际上,既使在低速CPU上,real-time控制仍可实现,因此OS结构比CPU速度更重要。c)INtimec)INtime的结构的结构Pentium级级Windows执行执行Windows内核内核Windows硬件抽像化硬件抽像化层Win32程序程序Win32APIsWindows硬件任务硬件任务实时内核实时内核实时硬件任务实时硬件任务实时优先级实时优先级NT优先级优先级最高级最高级最低级最低级最高级最高级最低级最低级实时程序实时程序INtimeAPIs用户模式用户模式-ring3内核模式内核模式-ring0d)PMACd)PMAC的任务调度的任务调度PMAC TasksPMAC Tasks As an example,a 40 MHz PMAC could perform the As an example,a 40 MHz PMAC could perform the following tasks with the estimated percentage of following tasks with the estimated percentage of the total computational power as indicated:the total computational power as indicated:PLCPLCPLCPLC主机命令响应主机命令响应安全检测安全检测/看门狗看门狗主机命令响应主机命令响应安全检测安全检测/看门狗看门狗1818轴运动规划轴运动规划1818轴伺服更新轴伺服更新1818轴电流换向轴电流换向低优先级低优先级高优先级高优先级1 1、总线的分类与层次、总线的分类与层次 1)1)系统总线:是微处理器芯片对外引线信号的延伸或映系统总线:是微处理器芯片对外引线信号的延伸或映射,是微处理器与片外存储器及射,是微处理器与片外存储器及I/0I/0接口传输信息的通接口传输信息的通路。系统总线信号按功能可分为三类:路。系统总线信号按功能可分为三类:地址总线(地址总线(WhereWhere):指出数据的来源与去向。地址总):指出数据的来源与去向。地址总线的位数决定了存储空间的大小。线的位数决定了存储空间的大小。数据总线(数据总线(WhatWhat)提供模块间传输数据的路径,数据)提供模块间传输数据的路径,数据总线的位数决定微处理器结构的复杂度及总体性能。总线的位数决定微处理器结构的复杂度及总体性能。控制总线(控制总线(WhenWhen):提供系统操作所必需的控制信号,):提供系统操作所必需的控制信号,对操作过程进行控制与定时。对操作过程进行控制与定时。5.3.1 PC机与运动控制卡的信息交换5.35.3 PCIPCI运动控制卡设计运动控制卡设计MPURAMRAMROMROMI/OI/O接口接口外设外设ABDBCB地址总线地址总线ABAB、数据总线、数据总线DBDB、控制总线、控制总线CBCB 2)2)扩充总线:亦称设备总线,用于系统扩充总线:亦称设备总线,用于系统I/OI/O扩充。与系统总线扩充。与系统总线工作频率不同,经接口电路对系统总统信号缓冲、变换、隔工作频率不同,经接口电路对系统总统信号缓冲、变换、隔离,进行不同层次的操作(离,进行不同层次的操作(ISAISA、EISAEISA、MCA)MCA)3)3)局部总线:扩充总线不能满足高性能设备(图形、视频、局部总线:扩充总线不能满足高性能设备(图形、视频、网络)接口的要求,在系统总线与扩充总线之间插入一层总网络)接口的要求,在系统总线与扩充总线之间插入一层总线。由于它经桥接器与系统总线直接相连,因此称之为局部线。由于它经桥接器与系统总线直接相连,因此称之为局部总线(总线(PCIPCI)。)。2 2、PCIPCI总线主要性能总线主要性能 总线时钟频率:总线时钟频率:33.3MHz/66MHz33.3MHz/66MHz 带宽:带宽:时钟频率时钟频率33.3MHz33.3MHz 位宽位宽3232位时为位时为133MB/s133MB/s,位宽,位宽6464位时为位时为266MB/s266MB/s 时钟频率时钟频率66MHz66MHz 位宽位宽3232位时位时 为为266MB/s266MB/s,位宽,位宽6464位时为位时为532MB/s532MB/s 总线宽度:总线宽度:3232位(位(5V5V)/64/64位(位(3.3V3.3V)时钟同步方式时钟同步方式 独立于处理器与独立于处理器与CPUCPU及时钟频率无关及时钟频率无关 支持突发式读写方式,提供首地址即可顺序读写数据。支持突发式读写方式,提供首地址即可顺序读写数据。支支持持并并发发操操作作,CPUCPU和和PCIPCI可可并并行行工工作作。PCIPCI控控制制器器能能自自动动执执行行数数据据缓冲区到外设的传输,无须缓冲区到外设的传输,无须CPUCPU干预。干预。支支持持总总线线主主控控技技术术。允允许许主主控控部部件件(智智能能设设备备或或多多处处理理器器中中任任一一处处理器)取得总线控制权,加速数据传输。理器)取得总线控制权,加速数据传输。具有自动配置功能,支持即插即用。具有自动配置功能,支持即插即用。3 3、PCIPCI总线的引脚总线的引脚 PCI PCI总线支持总线支持3232位和位和6464位接口卡,位接口卡,6464位卡有位卡有9494个接个接插点,插点,3232位卡仅有接插点位卡仅有接插点162162 -|PCI Component Side(side B)|optional|_ mandatory 32-bit pins 64-bit pins _|_|-|-|b01 b11 b14 b49 b52 b62 b63 b94PCIPCI总线引线示意图总线引线示意图“#”:表示低电平有效,否则为高电平有效:表示低电平有效,否则为高电平有效系统信号系统信号CLK:CLK:系统系统时钟信号时钟信号。为所有处理提供定时,。为所有处理提供定时,在时钟的上在时钟的上升沿采样总线上各信号线的信号升沿采样总线上各信号线的信号。CLKCLK的频率称为的频率称为PCIPCI总线的总线的工作频率工作频率,为,为33MHz33MHz。RST#:RST#:复位信号复位信号。用来使。用来使PCIPCI所有的所有的特殊寄存器、定序器特殊寄存器、定序器和信号恢复初始状态。和信号恢复初始状态。地址和数据信号地址和数据信号 AD31AD31:00:00 地址和数据共用地址和数据共用相同的相同的PCIPCI引脚。引脚。FRAME#FRAME#有有效时是地址期,效时是地址期,IRDY#IRDY#与与TRDY#TRDY#同时有效时是数据期同时有效时是数据期。一个。一个PCIPCI总线传输事务总线传输事务包含了一个地址信号期和接着的一个包含了一个地址信号期和接着的一个(或多或多个个)数据期数据期。C/BE3:0 C/BE3:0 总线命令和字节使能多路复用信号。总线命令和字节使能多路复用信号。在地址期在地址期,定义总线命令定义总线命令;在数据期在数据期,用作字节使能用作字节使能。PAR PAR 奇偶校验信号。它通过奇偶校验信号。它通过 AD31:00 AD31:00 和和C/BE3:0C/BE3:0进行进行奇偶校验。奇偶校验。接口控制信号接口控制信号 FRAME#:FRAME#:当一个主控设备请求总线时,当一个主控设备请求总线时,采样采样FRAME#FRAME#、IRDY#IRDY#,若,若均为无效电平,并且同一时钟的均为无效电平,并且同一时钟的上升沿上升沿GNT#GNT#为有效电平,就认定以获得总为有效电平,就认定以获得总线控制权。在主控设备发起传输时,将线控制权。在主控设备发起传输时,将FRAME#FRAME#驱动为有效电平驱动为有效电平,并,并一直保一直保持持,直到开始传输最后一个数据时将,直到开始传输最后一个数据时将FRAME#FRAME#驱动为无效电平。驱动为无效电平。IRDY#:IRDY#:主设备准备好信号主设备准备好信号。当与当与TRDY#TRDY#同时有效时同时有效时,数据能完整传数据能完整传输输。在写周期。在写周期,IRDY#,IRDY#指出数据已在指出数据已在AD31:00AD31:00上上;在读周期在读周期,IRDY#,IRDY#指示主控指示主控器准备接收数据。器准备接收数据。TRDY#:TRDY#:从设备准备好信号从设备准备好信号。预示从设备准备完成当前的数据传输。在。预示从设备准备完成当前的数据传输。在读周期读周期,TRDY#,TRDY#指示数据变量已在指示数据变量已在AD31:0AD31:0中中;在写周期在写周期,指示从设备准备好接指示从设备准备好接收数据。收数据。STOP#:STOP#:从设备从设备要求主设备停止要求主设备停止当前数据传送。当前数据传送。LOCK#:LOCK#:锁定信号。用于锁定目标存储器地址。锁定信号。用于锁定目标存储器地址。IDSEL:IDSEL:初始化设备选择。在参数配置读写传输期间初始化设备选择。在参数配置读写传输期间,用作设备配置用作设备配置寄存器的片选信号。寄存器的片选信号。DEVSEL#:DEVSEL#:设备选择信号。该信号有效时设备选择信号。该信号有效时,表明总线上某设备被选表明总线上某设备被选中中。仲裁信号仲裁信号 REQ#:REQ#:总线占用请求信号。任何主控器都有它自己的总线占用请求信号。任何主控器都有它自己的REQ#REQ#信号。信号。GNT#:GNT#:总线占用允许信号总线占用允许信号,指明总线占用请求已被响应。任指明总线占用请求已被响应。任何主设备都有自己的何主设备都有自己的GNT#GNT#。F总线命令总线命令 总线命令在总线命令在地址期地址期 C/BE3:0#C/BE3:0#线有效时被译码,线有效时被译码,表明事务的类型表明事务的类型0000 0000 中断确认中断确认 中断识别命令中断识别命令 0001 0001 特殊周期特殊周期 提供在提供在PCIPCI上的简单广播机制上的简单广播机制 0010 I/O0010 I/O读读 从从I/OI/O口地址中读数据口地址中读数据 0011 I/O0011 I/O写写 向向I/OI/O地址空间写数据地址空间写数据0110 0110 存储器读存储器读 从内存空间中读出数据从内存空间中读出数据 0111 0111 存储器写存储器写 向内存空