(机械电子工程专业论文)基于dsp的运动控制卡的软件设计.pdf_第1页
(机械电子工程专业论文)基于dsp的运动控制卡的软件设计.pdf_第2页
(机械电子工程专业论文)基于dsp的运动控制卡的软件设计.pdf_第3页
(机械电子工程专业论文)基于dsp的运动控制卡的软件设计.pdf_第4页
(机械电子工程专业论文)基于dsp的运动控制卡的软件设计.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着微电子技术、自动控制技术、微机应用技术的发展,“p c + 运动控制器+ 步进电机”的开放式结构的机电产品日益成为能实现精准运动控制的理想选择。 基于p c 总线的以d s p 作为核心处理器的开放式运动控制器,能够充分利用d s p 的 计算能力,进行复杂的运动规划、实现高速实时多轴插补,使得运动控制精度更 高、速度更快、运动更加平稳,这类运动控制器己成为市场应用的主要方向。 本文以基于t i 公司的1 6 位定点d s p 芯片t m s 3 2 0 l f 2 4 0 7 a 的运动控制卡为研 究对象,简单介绍了其硬件组成,并对该运动控制卡的软件设计进行了详细阐述。 运动控制系统的软件结构分为上位p c 机端和d s p 端两个层次。 运动控制的应用场合是多种多样的,在上位机开发运动控制函数库,用户通 过调用函数库中的函数就可以实现对底层d s p 的控制。d s p 端主要实现运动控制 的所有细节,包括位置控制、速度控制、插补算法等。上位机与d s p 通过双口r a m 进行通讯,需要对双e ir a m 及d s p 进行底层规划。这种通讯方式接口简单,能够 满足p c 机与d s p 之间大量的数据交换需要,增强了数据传输的实时性。 根据控制功能需要,软件设计分为四个部分:对双口r a m 及d s p 进行统一的 底层规划;上位机的运动函数库设计;速度控制算法设计;插补算法设计。 通过对程序的仿真调试,运动控制卡能够实现两轴联动中的梯形曲线的加减 速控制、s 形曲线加减速控制、直线插补和圆弧插补。该运动控制卡有良好的性 能,表明该软件设计方案是切实可行的。 关键词:运动控制;d s p ;最小偏差法 a b s t r a c t a b s t r a c t w i t ht h ed e v e l o p m e n to fm i c r o e l e c t r o n i c s ,a u t o m a t i cc o n t r o la n dm i c r o c o m p u t o r a p p l i c a t i o nt e c h n o l o g y , t h eo p e ne l e c t r o m e c h a n i c a lp r o d u c t o f “p c + m o t i o nc o n t r o l b o a d + s t e p p e rm o t o r i sb e c o m i n gt h ei d e a lc h o i c eo fh i g hp r e c i s i o na n dn i c e t y m o t i o nc o n t r o li n c r e a s i n g l y t h eo p e nm o t i o nc o n t r o lb o a r di sb a s e du p o np cb u s ,a n d i tu s e sd s pa si t sc o r ep r o c e s s o r i tc a nc o n t r o lt h ec a l c u l a t i o n a lf u n c t i o no fd s p s u f f i c i e n t l y , d o i n gc o m p l i c a t e dp r o g r a m m i n g ,i m p l e m e n th i g hs p e e d m u l t i - a x i s i n t e r p o l a t i o ni nr e a l t i m e h i g hp r e c i s i o n ,h i g hs p e e d a n ds t e a d ym o v e m e n tm a k et h i s k i n do fm o t i o nc o n t r o lb o a r db et h ed o m i n a n to r i e n t a t i o nn o w a d a y s t h i st h e s i st a k e sam o t i o nc o n t r o lb o a r da sr e s e a r c ho b j e c t t h eb o a r di sb a s e d o n 16 - b i tf i x e dp o i n td s pc h i pt m s 3 2 0 l f 2 4 0 7 a ,w h i c hw a sp r o d u c e db yc o m p a n y t i a f t e rm a k i n gab r i e fi n t r o d u c t i o no fi t sh a r d w a r es t r u c t u r e ,t h ea r t i c l ee x p a t i a t e so n t h es o f t w a r ed e s i g n t h es o f t w a r ed e s i g no fm o t i o nc o n t r o ls y s t e mi n c l u d e st w op a r t s :p cs o f t w a r e d e s i g na n dd s p s o f t w a r ed e s i g n t h e r ea r ev a r i o u sa p p l i c a t i o ns i t u a t i o n so fm o t i o nc o n t r 0 1 c o m p i l i n gl i b r a r y f u n c t i o no fm o t i o nc o n t r o li np c t h e nu s e r sc o u l du s et h el i b r a r yf u n c t i o nt oc o n t r o l d s e t h ew h o l ed e t a i l so fm o t i o nc o n t r o la r er e a l i z e di nd s p , i n c l u d i n gp o s i t i o n c o n t r o l ,v e l o c i t yc o n t r o l ,i n t e r p o l a t i o na l g o r i t h m ,e t c u s i n gd u a l - p o r tr a m t or e a l i z et h e c o m m u n i c a t i o nb e t w e e np ca n dd s p , a n dw en e e dt om a k eab o r o mp l a n n i n ga tf i r s t t h ei n t e r f a c eo ft h i sc o m m u n i c a t i o nm o d ei ss i m p l ea n di ti sa b l et om a k eag r e a td a t a e x c h a n g e i ta l s oe n h a n c e t h er e a l t i m ed a t ae x c h a n g e a c c o r d i n g t ot h ec o n t r o ld e m a n d s ,s o f t w a r ed e s i g n i n gi sd i v i d e di n t of o u r m o d u l e :b o t t o mp l a n n i n gb o t hi nd u a l p o r tr a m a n dd s p ;l i b r a r yf u n c t i o nd e s i g n i n g i np c ;v e l o c i t yc o n t r o la l g o r i t h md e s i g n i n g ;i n t e r p o l a t i o na l g o r i t h md e s i g n i n g w i t ht h ee m u l a t o r , t h em o t i o nc o n t r o lb o a r dc o u l dr e a l i z et - m o d es p e e d u pa n d s p e e d d o w nc o n t r o l l i n g ,s m o d es p e e d u pa n ds p e e d d o w nc o n t r o l l i n g ,b e e l i n e i n t e r p o l a t i o na n da r ci n t e r p o l a t i o n t h em o t i o nc o n t r o lb o a r dh a sag o o d p e r f o r m a n c e ,a n di ti n d i c a t e st h a tt h es o f t w a r ed e s i g ns c h e m ei sf e a s i b l e k e yw o r d s :m o t i o nc o n t r o i :d s p :i e a s td e v i a t i o na i g o r i t h m i i i 独创性声明 独创性声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是我个人在 导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以 标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,不包 含本人或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明,并表示了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论 文成果归广东工业大学所有。 申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。 指导教师签字: 论文作者签字: 沙辟乡月6 日 6 7 第一章绪论 1 1 引言 第一章绪论 步进电机运动控制器以步进电机作为电力传动装置,由这种控制器构成的运 动控制系统通常是开环的,即没有对被控量的测量、反馈和校正环节“1 。因为步 进电机在不失步的情况下,其脉冲频率是良好的速度指示,而脉冲计数是良好的 位置指示,其位移精度取决于步进电机的步距角及传动机构的精度等。相对于闭 环控制系统而言,其最大的特点是结构相对简单,制造成本低。 步进电机二维运动控制器能同时控制两台步进电机,既可以对每台步进电机 单独控制,也可以对两台步进电机联动控制,使其协调运动。各种复杂的多维运 动控制器都是在二维运动控制器的基础上开发出来的,其基本思想是相似的。故 本文主要讨论步进电机的二维控制方法。 目前,国内的运动控制器生产厂商提供的产品大致可以分为三类乜,: ( 1 ) 以单片机或微处理器作为核心的运动控制器 这类运动控制器由于器件本身执行速度的限制,速度较慢,位控周期长,控 制轴数少,精度不高,成本相对较低。其主要应用在一些只需要低速点位运动控 制和对轨迹要求不高的轮廓运动控制场合。 ( 2 ) 以专用芯片( a s i c ) 作为核心处理器的运动控制器 这类运动控制器结构比较简单,但这类运动控制器大多数只能输出脉冲信 号,工作于开环控制方式。这类控制器对单轴的点位控制场合是基本满足要求的, 但对于要求多轴协调运动和高速轨迹插补控制的设备不能满足要求。由于这类控 制器不能提供连续插补功能,也没有前瞻功能,特别是对于大量的小线段连续运 动的场合,如模具雕刻,不能使用这类控制器。另外,由于硬件资源的限制,这 类控制器的圆弧插补算法通常都采用逐点比较法,圆弧插补的精度也不高。 ( 3 ) 基于p c 总线的以d s p 和f p g a 作为核心处理器的开放式运动控制器。 从9 0 年代开始,d s p 技术和f p g a 芯片技术得到高速发展,市场上出现了大批 高性能低成本的d s p 。这些d s p 的主要特性是兼容性好,浮点运算速度快。采用d s p 技术使得多轴运动控制系统能够浓缩到一块p ci s a p c i 控制板上,而f p g a 技术使 得通过软件来更新硬件成为可能,这就使得传统的单纯以单片机为基础的运动控 广东工业大学工学硕士学位论文 制系统发生了重大变化。利用现有的操作系统和资源,可以进一步降低系统的成 本,并增强系统的通用性。这类开放式运动控制器以d s p 芯片作为运动控制器的 核心处理器,以p c 机作为信息处理平台,运动控制器以插卡形式嵌入p c 机,即 “p c + 运动控制器的模式。 本文的研究对象即基于i s a 总线的以d s p 和f p g a 作为核心处理器的开放式 运动控制卡。该运动控制卡将p c 机的信息处理能力和开放式的特点与运动控制 器的运动轨迹控制能力有机地结合在一起,具有信息处理能力强、开放度高、运 动轨迹控制准确、通用性好的特点。其充分利用了d s p 的高速数据处理能力,可 进行位置控制、速度控制、插补运算等,增强了开发的灵活性,易于控制多轴联 动,同时也可以保证高实时性。同时,采用f p g a 技术来进行硬件设计,便于设 计出功能完善、性能优越的运动控制器。将多轴运动控制卡插在工控机的i s a 扩 展槽上,组成高精度的运动控制系统,极大地提高了运算速度和控制响应速度, 将工控机的资源从繁琐的数据采集和计算中解放出来,从而可以更好地对整个控 制系统进行管理。 1 2 运动控制卡的硬件组成 1 2 1 t m s 3 2 0 l f 2 4 0 7 a 的特点和功能 本课题采用1 6 位定点d s p 芯片t m s 3 2 0 l f 2 4 0 7 a 作为运动控制器的核心。该 芯片是一个高性价比的d s p 器件,它不但具有高速信号处理和数字控制功能所必 需的体系结构,而且有为电机控制应用提供单片解决方案所必需的外围设备。它 具有支持电机的转向、指令的产生、控制算法的处理、数据交流和系统监控等功 能h ,。其主要特征表现在: ( 1 ) 采用高静态c m o s 技术,使供电电压降为3 3 v ,减小了控制器的功耗; 3 0 m i p s 的执行速度使得指令周期缩短到3 3 n s ( 3 0 m h z ) ,提高了控制器的实时控 制能力。 ( 2 ) 哈佛结构。程序存储器空间和数据存储器空间分开,各自有独立的地址 总线和数据总线,取指和读数可以同时进行,从而具有高速运算能力。 ( 3 ) 采用流水线技术,取指令、译码和执行指令等操作可以重叠进行。 2 第一章绪论 ( 4 ) 有专用的硬件乘法器,可以在单周期内完成乘法操作。 ( 5 ) 特殊的d s p 指令。 ( 6 ) 包含j t a g ( j o i n tt e s ta c t i o ng r o u p ) 标准测试接口,便于对d s p 作片上 的在线仿真和程序的烧写陋,。 如图1 1 所示,t m s 3 2 0 l f 2 4 0 7 a 可分为三部分:d s p 内核,存储器和外围 设备,可以把扩展的外部r a m 作为数据地址空间,地址从0 0 0 0 h f f f f h 呻,。 图1 1t m s 3 2 0 l f 2 4 0 7 ad s p 控制器结构图 f i g 1 - 1b l o c kd i a g r a mo f t m s 3 2 0 l f 2 4 0 7 ad s p d s p 内核是d s p 的核心,它担负着数据运算、信号处理的任务。它包括了 累加器、中央算术逻辑单元c a l u 、状态寄存器、辅助寄存器、乘法器、移位器、 临时寄存器t 和乘积寄存器p 。 存储器包括了3 2 k 的f l a s h 程序存储器,5 4 4 字双口r a m ( d a r a m ) 和 2 k 字的单口r a m ( s a r a m ) 。 外围设备指的是d s p 芯片中集成的除内核以外的功能模块,它包括事件管 理器、a d c 转换器、s p i 和s c i 串行接口、c a n 接口等。 3 广东工业大学工学硕士学位论文 d s p 有两个事件管理器,它们分别是e v a 和e v b 。每个事件管理器包括两 个1 6 位通用定时器、8 个1 6 位的脉冲调制( p w m ) 通道、3 个捕获单元、片内 光电编码器接口电路。它们能够实现三相反相控制、p w m 的对称和非对称波形 产生等功能。当外部引脚p d p i n t x 出现低电平时,快速关闭p w m 通道。可编 程的p w m 死区控制可以防止电机驱动器电路中的上下桥臂同时导通。事件管理 器模块的独特构造和特点,使其成为该运动控制卡控制发出脉冲,从而控制步进 电机的重要单元,也是本课题的重点研究对象之一。 1 2 2 运动控制卡的硬件框图 运动控制卡的硬件组成如图1 2 所示盯j ,。 它包括了电源转换模块、d s p 外围电路、扩展存储器电路、脉冲输出电路、 编码器信号采集和处理电路、d a 输出电路和d s p p c 机通信电路等。上位机通 过双口r a m 把运动控制指令或控制参数传递给运动控制卡的d s p ,d s p 根据p c 机的指令,通过位置控制和速度控制算法,将计算出的脉冲信号经脉冲驱动送电 机驱动器,从而控制电机运动。 扩展r a mj t a g 下载口 j 七j 芒 n hn j 、上 一广1 a - i 电源转换 嘧浦控14 路脉冲信号输出、, 朋、f t l 爻h 模块 d s p 硼m s 3 2 0 l f 2 4 0 7 a : 爿d a 转换l 四路模拟电压输出 1 4 路码盘接口 1 8 路限位开关输入 p c 机 1 r 叫a m 乇i o 接口心光 i s a 总线 4 路原点信号输入电 隔 7 1 1 6 路通用数字输入 离 m a xi i5 7 0 译码,编码器处理电路 1 6 路通用数字输出 、 i 图1 - 2 运动控制卡的硬件框图 f i g 1 - 2h a r d w a r ed i a g r a mo ft h em o t i o nc o n t r o lb o a r d 4 第一章绪论 该运动控制卡利用了d s p 对数字信号的高速处理能力,能够实时完成复杂的 轨迹运算,使多轴运动控制系统能够在一块插在p c 机i s a 接口上的运动控制卡上 实现。将d s p 和p c 机结合起来,充分利用了p c 机现有的操作环境和资源,使p c 机从大量复杂的运算中解脱出来做其它工作。 1 2 3f p g a 的作用 运动控制卡选用a l t e r a 公司的可编程逻辑器件m a xi ie p m 5 7 0 实现数字逻 辑电路设计,增强了设计灵活性呻”,。它的在线可编程特性可以使得数字逻辑设计 的硬件设计如同软件设计一样简便。f p g a 功耗低,主频高,可以使输出脉冲频 率达到几十甚至上百兆赫兹;同时,f p g a 内部还有大量的r a m 区,可以存储大 量的需要实时处理的数据。 f p g a 对主机通过i s a 传送来命令的地址进行译码,根据地址和需求的不同, 对d s p 进行中断,以通知d s p ,主机有命令到达侧。 m a xi ie p m 5 7 0 在本运动控制卡的作用主要是: ( 1 ) 对本运动控制卡所占用的上位机i o 空间进行译码,并根据不同的命令中 断d s p 。例如:上位机写数据,m a xi ie p m 5 7 0 对写入地址进行比较译码,若 是对本运动控制卡操作,则执行相应操作,完成译码,产生d s p 中断。 ( 2 ) 对双口r a m 占用的d s p 的i o 地址空间进行译码,判断d s p 是否是对 双口r a m 进行操作。例如:d s p 写数据,m a xi ie p m 5 7 0 对写入地址进行比 较译码,若是对双口r a m 操作,则执行相应操作,完成译码。 1 3 本课题的研究意义及主要内容 全自动i c 芯片焊线机,是广东工业大学机电学院目前正在开发中的一套微电 子封装设备。整个焊线机的控制系统包括一台工控机、电机运动控制模块、模拟 数字信号转换与处理模块、图像处理卡以及电源模块n “。以上各部分中,工控机 为整个焊线机的核心控制单元,完成整个系统的管理、调度以及人机交互等功能。 电机运动控制模块以运动控制卡的形式体现,对电机发出脉冲方向控制信号、 接收并处理各电机轴上的限位开关信号和编码器信号,它与主c p u 之间通过i s a 总线相连,其运动控制部分是本课题的研究重点。 5 广东工业大学工学硕士学位论文 焊线机的运动控制部分总共包括8 个轴的运动控制,运动控制系统的控制精 度、稳定性,对于硅片的焊接质量和可靠性至关重要。因此,自主研制适合焊线 机使用的运动控制卡及插补算法,对满足焊线质量,降低设备成本具有重要意义。 在充分分析目前运动控制卡的现状以及市场需求的基础上,本课题以基于 d s p 的运动控制卡为研究对象,围绕该运动控制卡的软件设计而展开。在首先对 运动控制卡的硬件组成及其原理做了简要介绍后,详细阐述了系统控制软件的整 体设计、模块划分、软件间通讯等,同时给出了一些主要软件模块的实现细节。 本文各章节内容安排如下: 第一章绪论。介绍课题的来源和背景,简要说明运动控制卡的硬件组成及 原理,列出本文的任务和结构安排。 第二章运动控制卡的底层规划。详细阐述双d r a m 及d s p 中的底层规划。 第三章库函数设计。依据运动控制卡的功能要求开发了上位机库函数。 第四章d s p 中的软件设计。详细介绍了d s p 中的主程序设计,中断程序设 计,速度控制算法设计,插补算法设计及其在d s p 中的实现。 6 第二章运动控制卡的底层规划 第二章运动控制卡的底层规划 2 1 双口r a m 概述 在具有主从结构且需要数据通讯的多机系统中,常用通讯方式有以下几种: ( 1 ) 串行方式:结构简单,但数据传输率低,适用于通信量不是很大的场合: ( 2 ) 并行方式:应用起来也比较简单,但要注意时序的配合; ( 3 ) 分时总线方式:采用一个存储器作为主从处理器的共享存储器,主从处 理器分时对其寻址访问,但不可以同时访问,通讯量受到了限制; ( 4 ) 双口r a m 方式:用双口r a m 作为主从处理器的共享处理器,利用双口 r a m 的特殊结构,简化通讯接口电路的设计,适用于主从处理器之间大量的数 据交换,能够增强控制卡的实时性“。 本运动控制卡的通讯部分要求具有实时的数据处理能力,且要完成大量数据 的交换和运动参数计算等工作,综合比较,双口r a m 的通讯方式更适合本系统。 运动控制卡选用美国i d t 公司生产的双口r a m 芯片i d t 7 1 v 3 2 1 ,它是 2 k x s b i t 高速静态双口r a m ,存取速度为3 5 n s ,其时序与d s p 的时序相配合, 特别适用于d s p 与p c 机之间的大量数据高速双向传送。该芯片提供两个带有自 身的控制、地址和i o 引脚的独立端口,它允许独立地读写存储器中的任何单 元n “。 双口r a m 带有片内硬件端口仲裁电路,可以允许双机同步地读或写存储器 中的任何单元,同时保证数据的完整性。它的竞争原则是:左右两端口的地址信 号同时到达,那么谁的片选信号先到,慢的一方b u s y 线下拉,直到快的一方 访问完毕;左右两端口的片选信号同时到达,访问地址信号先到者先访问,慢的 一方b u s y 线下拉,直到快的一方访问完毕。 如图2 1 所示,将双口r a m 的一侧信号按普通接法和d s p 相接n ”。当d s p 发出读写双口r a m 的命令时,双口r a m 锁存该侧的db u s y l 信号,将此信 号送到d s p ,若db u s y l 信号为l ,则表示d s p 刚才读双口r a m 不存在冲突, 读写有效;若为0 ,则说明d s p 刚才对双口r a m 的读写存在冲突,本次读写 无效,d s p 要重新操作。 7 广东工业大学工学硕士学位论文 卜 d 7 - d 0d 7 d o 器 d 7 r d o rd 7 l - d o l 1 a l o a o a l o r a o ra 1 0 l a o l a l o a o i d t 7 1 v 3 2 l i :n t r心兀:1 i s a 10 e r 令 ic s r ir 、v r ib u s y r e 御5 7 0 do e l 卜 dc s l d s p y dr ,、7 n t m $ 3 2 0 l f 2 4 0 7 a db u s y l a 1 5 a 1 l 卜 a 1 5 a 1 l | r e1 0 w 卜 r d1 0 r 图2 1 双口r a m 通讯示意图 f i g 2 - ld i a g r a mo fd u a l p o r tr a m c o m m u n i c a t i o n 这种设计通过双口r a m 实现了p c 与d s p 之间的数据缓冲和交换,能够提 高数据传输的效率和可靠性。 双口r a m 在运动控制卡中的主要作用是数据缓冲,即上位机和d s p 进行数 据通讯时的数据缓冲,它同时占用d s p 和i s a 的i o 空间。 2 2 双口r a m 底层规划 根据本运动控制卡的功能需求,在双口r a m 的底层规划中设置了1 4 个寄 存器,仅占用2 8 个8 位的双口r a m 空间,由于占用空间少,选择i s a 的连续 空间即可满足要求,不必进行空间扩展。i s a 槽从0 1 7 0 h 0 3 7 0 h 是可供用户开 发板卡占用的连续地址空间,选择其中0 2 0 1 h 0 2 1 c h 的连续地址为双口r a m 的接入地址,并对其进行寄存器定义。通过寄存器的设置,能够实现上位机与 d s p 的实时通讯,完成d s p 的控制功能。如表2 1 所示,各寄存器地址由低到 高依次排列。 8 第二章运动控制卡的底层规划 表2 1 双口r a m 寄存器总体规划表 i s a 槽地址寄存器i s a 槽地址寄存器 0 2 0 l命令寄存器w r 0l0 2 0 f主状态寄存器r r 0l 0 2 0 2命令寄存器w r 0h0 2 1 0主状态寄存器r r 0h 0 2 0 3u 轴模式寄存器w r ll0 2 1 1u 轴状态寄存器r r ll 0 2 0 4u 轴模式寄存器w r lh0 2 1 2u 轴状态寄存器r r lh 0 2 0 5z 轴模式寄存器w r 2l0 2 1 3z 轴状态寄存器r r 2l 0 2 0 6z 轴模式寄存器w r 2h0 2 1 4z 轴状态寄存器r r 2h 0 2 0 7y 轴模式寄存器w r 3l0 2 1 5y 轴状态寄存器r r 3l 0 2 0 8y 轴模式寄存器w r 3h 0 2 1 6 y 轴状态寄存器r r 3h 0 2 0 9x 轴模式寄存器w r 4l0 2 1 7x 轴状态寄存器r r 4l 0 2 0 ax 轴模式寄存器w r 4h0 2 1 8x 轴状态寄存器r r 4h 0 2 0 b写数据寄存器w r 5l0 2 1 9读数据寄存器r r 5l 0 2 0 c写数据寄存器w r 5h 0 2 1 a 读数据寄存器r r 5h 0 2 0 d写数据寄存器w r 6l0 2 1 b读数据寄存器r r 6l 0 2 0 e写数据寄存器w r 6h0 2 1 c读数据寄存器r r 6h 下文将介绍这些寄存器各位的定义及具体用法。 1 命令寄存器w r 0 命令寄存器w r 0 用来进行各轴设定和命令寄存。它包括高8 位的指定轴设 定和低8 位的命令字设定。 当上位机向此寄存器写入轴设定字和命令字后,d s p 读取w r 0 值,并在 d s p 中执行相应的命令程序。某些命令在写入w r 0 之前,应先写入数据寄存器 w r 5 和w r 6 。w r 0 的结构如下 00 保留 ouzy l x i d 1 5 保留:为以后系统的扩展准备。 d l l - d 8 指定轴设定。 0 :命令不针对该轴 1 :将轴的相应位置1 ,表示对该轴进行操作。1 0 h 表示x 轴,2 0 h 表示y 轴,4 0 h 表示z 轴,8 0 h 表示u 轴。多个轴可以用相同的命令同时指定或写入 相同的参数,但只有1 轴能被指定进行轴有关的数据计算操作。 d 7 d o 设置命令字。 9 广东工业大学工学硕士学位论文 在主机与控制卡的通讯中,控制卡通过控制字判断上位机的指令类型,读取 数据完成相应功能。控制字及其功能如表2 2 所示: 表2 2 控制字及其功能 t a b l e2 2c o m m a n dw o r da n df u n c t i o n 控制字功能 o x 2 h设置轴加速度a c c 0 x 3 h 设置轴减速度d e c 0 x 4 h 设置起始速度s t a r t 0 x 5 h 设置最高速度s p e e d 0 x 6 h 设置步数s t e p 0 x 7 h 设置圆- t , c e n t e r o x 8 h 设置正向逻辑位置h p 0 x 9 h 设置负向逻辑位n i p 0 x a h 设置软件正向限位c o m p h 0 x b h 设置软件反向限位c o m p l 0 x 1 0 h 正向快速定长驱动 0 x 1 1 h 反向快速定长驱动 0 x 1 2 h 正向恒速定长驱动 0 x 1 3 h 反向恒速定长驱动 0 x 1 4 h 正向连续驱动 0 x 1 5 h 反向连续驱动 0 x 2 0 h 两轴直线插补 o x 2 1 h 两轴圆弧插补 2 模式寄存器w r l ( u ) w r 2 ( z ) w r 3 ( y ) w r 4 ( x ) 四个轴都有各自的模式寄存器,w r l 为u 轴的模式寄存器,w r 2 为z 轴的 模式寄存器,w r 3 为y 轴的模式寄存器,w r 4 为x 轴的模式寄存器。各个模 式寄存器w r 2 、w r 3 、w r 4 、w r 5 结构如下: d 1 5d 1 4d 1 3d 1 2d 1 l d 1 0d 9d 8i 保留保留保留保留 i 保留保留保留保留 d 7d 6d 5 i d 4d 3d 2d 1 d o 保留保留 保留 保留s l m ts a c cd s n d e 保留 d 3s l m t 使c o m p 寄存器的内容变成软件超程限位。 o :不超程,正常运行; 1 :软件超程。当计数器值超过软件限位时,该位置1 ,运动轴将减速至停 1 0 第二章运动控制卡的底层规划 止。此时写入任何指令都不再起作用。 d 2s a c c 梯形s 曲线加减速模式设定。 0 :梯形曲线加减速模式;1 :s 曲线加减速模式,加速度率必须先设定。 d 1d s n d e 加减速参数设置 0 :加速值与减速值相同;l :加速值与减速值不同,它们应分别设置。 当使用自动减速时,该位必须为0 ;当使用手动减速时,该位必须置1 。 3 写数据寄存器w r 5 w r 6 数据寄存器在操作与数据相关的命令时使用。命令写入w r 0 之前,应将数 据写入w r 5 和w r 6 。w r 5 用来存放数据的低字( d 1 5 - d 0 ) ,w r 6 用来存放 数据的高字( d 3 1 d 1 6 ) 。当复位后,w r 5 愚佩6 的内容是随机的。w r 5 脚r 6 结构如下: w r 5 :低字 d 1 5d 1 4d 1 3d 1 2d 1 1d 1 0d 9d 8 w d l 5、v d l 4、v d l 3w d l 2、v d l l、v d l 0、v d 9w d 8 d 7d 6d 5d 4d 3d 2d 1d o w d 7w d 6w d 5w d 4w d 3w d 2w d lw d o w r 6 :高字 d 1 5 d 1 4d 1 3 d 1 2d 1 1 d 1 0 d 9 d 8 w d 3 1w d 3 0w d 2 9w d 2 8w d 2 7w d 2 6w d 2 5w d 2 4 d 7d 6 d 5 d 4d 3d 2d 1 d o w d 2 3w d 2 2w d 2 lw d 2 0w d l 9w d l 8w d l 7w d l 6 4 主状态寄存器r r 0 该寄存器用来显示各轴的插补状态和驱动状态。r r 0 的结构如下: d 1 5d 1 4d 1 3d 1 2d 1 1d l od 9d 8 保留保留保留保留保留保留保留保留 d 7d 6d 5d 4d 3d 2d 1d 0 u d r v cz d r v c y d r v cxd r v cud r vzd r vyd r vxd r v d 7 一d 4nd r v c 某轴是否处于插补模式( n _ i7 z y x ) 0 :该轴未处于插补模式 1 :该轴正处于插补模式 d 3 d 0n d r v o :该轴停止 广东工业大学工学硕士学位论文 1 :该轴正输出驱动脉冲 5 轴状态寄存器r r l ( u ) r r 2 ( z ) r r 3 ( y ) r r 4 ( x ) 每个轴都有状态寄存器。设置r r l 为u 轴的状态寄存器、r r 2 为z 轴的状 态寄存器、r r 3 为y 轴的状态寄存器、r r 4 为x 轴的状态寄存器。哪个状态寄 存器被读取,取决于写入d s p 的指令,可由命令寄存器w r 0 的高位得知。状态 寄存器的结构如下: d 1 5d 1 4d 1 3d 1 2d 11d 1 0d 9d 8 l 保留保留保留保留保留保留保留保留 i d 7d 6d 5d 4 d 3d 2d 1d o c o m p +c o m p 保留 保留保留 d s n dc n s ta s n d d 7 c o m p + 显示逻辑位置计数器与c o m p + 寄存器的关系。 o :逻辑位置计数器小于c o m p + 寄存器 1 :逻辑位置计数器大于等于c o m p + 寄存器 d 6c o m p 显示逻辑位置计数器与c o m p 寄存器的关系。 0 :逻辑位置计数器大于c o m p 寄存器 1 :逻辑位置计数器小于等于c o m p 寄存器。 d 2d s n d 减速时变为1 。 d 1c n s t 常速时变为1 。 d o a s n d 加速时变为l 。d 2 、d 1 、d o 与加减速对应关系如图2 2 所示。 f 图2 2 各位与加减速对应关系 f i g 2 2r e l a t i o n s h i pb e t w e e n b i ta n ds p e e d 6 读数据寄存器r r s r r 6 r r 5 和r r 6 是数据寄存器,对应于相应的数据读取命令。r r 5 存放低1 6 位 1 2 第二章运动控制卡的底层规划 ( d 1 5 - - - - d 0 ) ,r r 6 存放高1 6 位( d 3 1 一- d 1 6 ) 。 所有数据都是二进制的。负值以二进制补码形式表示。i 汛5 结构下: r r 5 :低字 d 1 5d 1 4d 1 3 d 1 2 d 1 1 d 1 0 d 9 d 8 r d l 5r d l 4r d l 3r d l 2r d l lr d l or d 9r d 8 d 7 d 6d 5d 4d 3d 2d ld 0 r d 7r d 6r d 5r d 4r d 3r d 2r d lr d 0 r r 6 :高字 d 1 5d 1 4d 1 3d 1 2d 1 1d 1 0d 9d 8 r d 3 1 r d 3 0r d 2 9r d 2 8r d 2 7r d 2 6 r d 2 5 r d 2 4 l d 7d 6d 5d 4d 3d 2d 1d 0 r d 2 3r d 2 2r d 2 1r d 2 0r d l 9r d l 8r d l 7r d l 6 2 3d s p 中的底层规划 根据d s p 的硬件组成和软件设计要求,在d s p 中设置自定义寄存器,并为 其分配地址。d s p 中的自定义寄存器包括与双口r a m 底层规划相对应的1 4 个 寄存器,每个运动轴的1 9 个写命令寄存器( 四轴共7 6 个) 和每个轴的4 个读命 令寄存器( 四轴共1 6 个) ,总共1 0 6 个自定义寄存器。 设置t m s 3 2 0 l f 2 4 0 7 ad s p 的片内r a m 配置控制位为0 ,即c n f = 0 ,则 d s p 的片内双口r a m ( d a ra m ) 块b 0 被映射到数据存储空间n 们。d a r a m 的b 0 块的容量为2 5 6 字,在d s p 中占用地址0 2 0 0 h 0 2 f f h 。选择d a r a mb 0 块的部分地址分配给1 0 6 个寄存器,具体地址分配如表2 3 所示。 表2 3d s p 中的地址分配 t a b l e2 3a d d r e s sd i s t r i b u t i o ni nd s p d s p 中的地址分配寄存器 0 x 0 2 0 0 0 x 0 2 0 d与双口r a m 规划对应的寄存器 0 x 0 210 0 x 0 2 2 2x 轴的写命令寄存器 0 x 0 2 3 0 0 x 0 2 3 3x 轴的读命令寄存器 0 x 0 2 4 0 0 x 0 2 5 2y 轴的写命令寄存器 0 x 0 2 6 0 0 x 0 2 6 3y 轴的读命令寄存器 0 x 0 2 7 0 0 x 0 2 8 2 z 轴的写命令寄存器 0 x 0 2 9 0 0 x 0 2 9 3z 轴的读命令寄存器 0 x 0 2 a 0 0 x 0 2 8 2u 轴的写命令寄存器 0 x 0 2 c o 0 x 0 2 c 3u 轴的读命令寄存器 1 3 广东工业大学工学硕士学位论文 与双口r a m 对应的1 4 个寄存器在d s p 中的地址分配如表2 4 所示。 表2 4 与双口r a m 对应的寄存器在d s p 中的地址分配 t a b l e2 - 4a d d r e s sd i s t r i b u t i o ni nd s pc o r r e s p o n d i n gt od u a l p o r tr a m 寄存器地址寄存器地址 命令寄存器w r 0 o x 0 2 0 0u 轴状态寄存器r r l0 x 0 2 0 8 u 轴模式寄存器w r l 0 x 0 2 0 1z 轴状态寄存器r r 2 0 x 0 2 0 9 z 轴模式寄存器w r 20 x 0 2 0 2y 轴状态寄存器r r 30 x 0 2 0 a y 轴模式寄存器w r 30 x 0 2 0 3x 轴状态寄存器r r 40 x 0 2 0 b x 轴模式寄存器w r 4 0 x 0 2 0 4数据读寄存器r r 50 x 0 2 0 c 数据写寄存器w r 5 0 x 0 2 0 5数据读寄存器r r 60 x 0 2 0 d 数据写寄存器w r 60 x 0 2 0 6 主状态寄存器r r 0o x 0 2 0 7 如表2 5 所示,以x 轴为例,阐述了1 9 个写命令寄存器在d s p 中的地址分 配。其他轴的设置与x 轴类似,把相应的x 改为y 、z 、u 即可,地址分配如表 2 3 所示,不再赘述。 表2 5x 轴写命令寄存器在d s p 中的地址分配 t a b l e2 - 5a d d r e s sd i s t r i b u t i o no fa x i sx w r i t i n gc o m m a n dr e g i s t e ri nd s p 寄存器地址 寄存器 地址 数据范围设定 0 x 0 2 1 0 手动减速点设定 rx ld px h 0 x 0 2 1 a 数据范围设定 rx h 0 x 0 2 1 1圆心设定cx lo x 0 2 1 b s 曲线d h i 减速度变化率 0 x 0 2 1 2圆心设定cx ho x 0 2 1 c 设定kx 逻辑位置计数器设定 加速度设定ax 0 x 0 2 1 30 x 0 2 1 d l px l 逻辑位置计数器设定 减速度设定dx o x 0 2 1 40 x 0 2 1 e l px h 正比较寄存器设定 初始速度设定s vx o x 0 2 1 5 0 x 0 2 1 f c px l 正比较寄存器设定 驱动速度设定vx0 x 0 2 1 60 x 0 2 2 0 c px h 输出脉冲数设定插补负比较寄存器设定 结束点设定px l 0 x 0 2 1 70 x 0 2 2 1 c mx l 输出脉冲数设定插补负比较寄存器设定 结束点设定px h o x 0 2 1 80 x 0 2 2 2 c mx h 手动减速点设定 d px l 0 x 0 2 1 9 1 4 第二章运动控制卡的底层规划 如表2 - 6 所示,以x 轴为例,阐述了4 个读命令寄存器在d s p 中的地址分 配。其他轴的设置与x 轴类似,把相应的x 改为y 、z 、u 即可,地址分配如表 2 3 所示,不再赘述。 表2 - 6x 轴读命令寄存器在d s p 中的地址分配 t a b l e2 - 6a d d r e s sd i s t r i b u t i o no fa x i sx r e a d i n gc o m m a n dr e g i s t e ri nd s p 寄存器地址 读取逻辑位置计数器l px lr d 0 x 0

温馨提示

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

评论

0/150

提交评论