《电子设计自动化(EDA)技术》课件-第7章_第1页
《电子设计自动化(EDA)技术》课件-第7章_第2页
《电子设计自动化(EDA)技术》课件-第7章_第3页
《电子设计自动化(EDA)技术》课件-第7章_第4页
《电子设计自动化(EDA)技术》课件-第7章_第5页
已阅读5页,还剩187页未读, 继续免费阅读

下载本文档

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

文档简介

第7章工业控制专用集成电路7.1单轴交流伺服驱动控制7.2两轴联动控制电路设计7.3高速数据采集专用控制电路习题与思考

7.1单轴交流伺服驱动控制

7.1.1控制原理与功能分析

1.交流伺服驱动原理与控制方法交流伺服电机及驱动电路是运动控制系统的主要构成单元,其性能指标决定运动控制系统本身品质的好坏。相应的,交流伺服及其驱动控制也是运动控制系统的主要控制任务之一。

交流伺服电机的控制模式与方法有很多种,包括模拟电压方式、总线方式、指令脉冲结合方向信号方式等。相对于其他方式,指令脉冲方式具有接线、调试简单方便、易于实现等特点,在运动控制领域的应用相对广泛。工作于指令脉冲方式时,其与传统的步进电机控制具有一定的类似性,交流伺服电机的驱动信号包括驱动脉冲与方向信号。其中,指令脉冲的频率决定伺服电机的转速,脉冲频率越高,转速越快;频率越低,转速越慢。方向信号的电平状态决定电机的旋转方向,在不同的高低电平状态作用下,电机分别按照逆时针或顺时针方向旋转。

2.梯形加减速控制

受到电机功率、输出扭矩等条件的影响,实现伺服控制时,还需要对电机的加加速度、加速度、速度等进行规划。运动控制常用的速度规划方法包括S曲线加减速、梯形曲线加减速等方法,其中梯形加减速运算简单、易于实现,在多种运动控制系统中得到广泛应用,其加速度、速度曲线如图7.1所示。

在图7.1所示的加减速过程中,根据运动控制系统的速度特征,可以将梯形加减速的运动曲线划分为加速段、匀速段与减速段3个工作段,分别为图中的0~t0、t0~t1、t1~t2这3个时间段。假定运动控制系统在时刻t时的即时加速度、即时速度分别为a(t)、v(t),则瞬时时间t时的加速度参数由公式(7-1)确定:

(7-1)

图7.1运动控制系统梯形加减速的加速度及速度曲线

在图7.1所示梯形加速度控制中,瞬时时间t时的速度参数由公式(7-2)确定:

(7-2)

为便于梯形加减速的数字实现,本例中的速度计算利用递推公式获取。假定速度、加速度的采样时间为Δt,时刻k-1的速度、加速度采样值分别为vk-1、ak-1,则采样时刻k时的速度vk由递推公式(7-3)确定。

(7-3)

3.器件实现原理与功能结构

根据前文描述的控制原理与方法,本例的单轴交流伺服驱动控制电路可采用图7.2所示的逻辑功能结构。

图7.2单轴交流伺服控制器件的逻辑功能结构

4.器件的进程结构

参照图7.2中的伺服控制器件的逻辑功能结构,本例通过多进程结合结构化描述实现相应的伺服驱动控制电路逻辑。结合器件各构成单元的功能与数据处理过程描述,分别设计专用集成电路的并行接口写进程、并行接口读进程、状态转换与控制、基准时钟控制、驱动脉冲输出控制等进程,各进程间的输入/输出与启动关系如图7.3所示。

图7.3单轴交流伺服控制器件的进程结构与启动关系

7.1.2电路的VHDL描述

结合电路的实际应用状况,在实现电路时,分别设计电路的匀速运动、升速运动与降速运动3种工作模式,并分模式加以实现。其中,匀速运动的参数曲线如图7.1所示;在升速运动模式下,运动按指定初始速度开始,以指定加速度升至终止速度,运动到指令位移结束;降速运动按指定初始速度开始,以指定加速度降至指定的终止速度,运动到指令位移结束。

1.顶层实体MtDrv设计

顶层实体MtDrv提供16位双向数据端口D、3位地址输入端A与器件片选端CS。同时,器件提供数据写入端WR、读出端RD,均为低电平有效。器件使用地址00H~05H存储运动指令参数,分别为指令位移Dis、平均速度SpdA、初始速度SpdS、终止速度SpdE、加速度ACC与运动模式Md。为便于仿真观测,电路中设置了相关的专用端口xSpd、XSpdCnt与XDisCur,以观察电路运行时的瞬时速度、瞬时速度计数值与瞬时位移的变化情况。生成电路时,可删除该部分端口及相关赋值语句,删除后器件逻辑与功能不受影响。

为便于理解与描述器件电路,在编程实现时,程序的所有端口、变量、信号定义以及进程设计与前文的逻辑结构、进程描述严格一致,顶层实体电路MtDrv的VHDL实现程序如下。

例7-1-1单轴交流伺服控制器件顶层实体MtDrv的VHDL描述:

顶层实体MtDrv的数据写进程WrProc响应写信号WR的上升沿。片选信号CS有效时,WrProc根据地址A的取值,分别将指令位移、平均速度、初始速度等运动参数写入相关寄存器备用。模式控制字Md仅使用8位数据端口D的低2位,取值00H~02H分别对应于匀速运动、升速运动与降速运动3种模式;实体中的基准时钟进程Ck10MP对100

MHz基准时钟CLK进行10分频,产生10

MHz的控制时钟Ck10M用于采样周期、驱动脉冲等的实现。

本例的速度、位移、加速度参数分别采用计量单位“步/s”、“步”与“mm/s2”描述,电机步当量为0.01

mm,即1

mm = 100步。运动采样时间Δt设定为10 μs,即每过10 μs,实体MtDrv的进程StaCon执行一次运动参数运算。为便于程序描述,StaCon利用公式(7-3)的变体公式(7-4)计算运动速度,式中的多项式Int(10-3Σak)为速度积分ΣakΔt的整数部分,多项式Rm(10-3Σak)是速度积分ΣakΔt的余数部分。

(7-4)

在电路的实际运行过程中,进程StaCon响应电路的门控信号G,若信号G输入低电平,进程初始化速度变量iSpd、加速度积分iSigmaA等运动参数,将信号CPEn置为低电平,禁止脉冲发生电路U0。当门控G变为高电平时,StaCon对控制时钟Ck10M的上升沿进行计数,计至十进制数“99”时,10

μs的运动采样时间结束。此时,StaCon获取Div24元件U1的24位速度计数值,取其低16位计算16位速度计数值SpdCnt,供脉冲计数元件U2产生驱动脉冲使用。然后,StaCon执行加速度积分运算,求取Σak即程序中的16位变量iSigmaA。最后,进程StaCon利用iSigmaA除以1000求取速度增量,从而得到当前运动速度值。

工作于模式0时,电路执行匀速运动,整个运动被划分为加速段(iSec = 0)、匀速段(iSec

= 1)与减速段(iSec = 2)。在加速段内,若速度达到指令速度SpdA或当前位移达到指令位移一半,电路将当前位移DisCur存入减速度位移iRmDis,供减速段使用,之后进入匀速段(iSec = 1);在匀速段内,电路利用指令位移Dis减去当前位移DisCur计算剩余位移量,若剩余位移量小于iRmDis,运动进入减速段;在减速段内,电路比较指令位移与当前位移,若二者一致,StaCon禁止驱动脉冲发生PGen元件U2,结束运动。

电路工作于模式1时,电路执行加速运动,整个运动过程仅包括梯形加减速的加速段与匀速段。在加速段内,若速度增至终止速度SpdE,运动进入匀速段;在匀速段内,若指令位移与当前位移一致,则禁止驱动脉冲发生PGen元件U2,结束运动。

工作于模式2时,电路执行减速运动,运动仅包括减速段与匀速段。在减速段内,若速度减至终止速度SpdE,运动进入匀速段;在匀速段内,若指令位移与当前位移一致,StaCon禁止脉冲发生元件U2,结束运动。

需要特别说明的是,由于不存在小于1步的位移量,即运动速度vk为整型数,在每个运动采样时刻速度计算完毕后,iSigmaA除以1000的整数部分被清零,余数被保留,以备下一采样时刻使用。为便于程序实现,程序中除以1000的运算通过取iSigmaA的高6位实现。

顶层实体MtDrv的数据读进程RdProc响应并行接口读信号RD,当CS有效且地址选中“110”时,RdProc将当前位移DisCur送至数据总线D。

除了上述进程,实体MtDrv定义并例化了元件U0、U1与U2,分别用于驱动脉冲的产生、速度计数值计算以及当前位移的计算。

2.实体PGen设计

实体PGen接收驱动脉冲参数与使能控制,产生符合指定条件的电机驱动脉冲。电路预定的脉冲发生功能通过进程mPGen实现,描述程序如下。

例7-1-2驱动脉冲发生电路PGen的VHDL描述:

实体PGen描述程序中,端口Cnt为16位脉冲计数值输入端口,端口G为脉冲电路的使能控制,端口Clk为脉冲发生电路的基准控制时钟,Clk与顶层实体MtDrv中进程Ck10MP送出的10

MHz基准控制时钟信号Ck10M是同一个信号;端口CP送出得到的电机驱动脉冲信号。

描述程序的进程mPGen响应基准控制时钟Clk(实体MtDrv得到的时钟Ck10M)、使能信号G与脉冲计数值Cnt的变化,G端变为低电平时,脉冲发生中止,计数变量tmp清零,脉冲输出iCP清零;反之,G端变为高电平时,mPGen对Clk的上升沿计数,计至脉冲计数值Cnt后,输出脉冲端口iCP反相。不断重复上述过程,便能获得与计数值Cnt相对应的等距方波。

mPGen的使能端G由顶层实体MtDrv的信号CPEn控制,在电路运行时,实体MtDrv的StaCon进程不断检测并比较指令位移Dis与当前位移,若二者一致,则StaCon清除CPEn,从而将G端置为低电平,禁止进程mPGen启动。

3.实体DisCon设计

实体DisCon实现的功能包括对驱动脉冲计数、计算当前位移DisCur以及电路忙闲状态的输出。DisCon向顶层实体MtDrv返回电路的忙闲状态iBsy与当前位移DisCur,其描述程序如下。

例7-1-3位移计算与控制电路DisCon的VHDL描述:

实体DisCon的端口Cnt为16位指令位移,G为门控端口信号,端口Clk为顶层实体MtDrv元件U0输出的电机驱动脉冲,DisCur返回当前位移,标志Bsy返回电路忙闲状态。

在上述程序描述中,进程mPCnt响应门控信号G,若G为低电平,电路执行初始化,将端口Cnt送入的指令位移送入计数变量tmp;若G为高电平,则忙标志iBsy置“1”,mPCnt对驱动脉冲Clk的下降沿计数,计数变量tmp进行减计数,当前位移iDisCur进行加计数。当tmp计至“0”时,忙标志iBsy清零。

4.实体Div24设计

实体Div24用于顶层实体MtDrv中24位速度计数值tSpdCnt的计算,通过24位的除法器实现,在顶层实体MtDrv中,16位运动速度Spd与16位速度计数值SpdCnt满足关系式(7-5)。

(7-5)

这里,速度单位为步/s,基准控制时钟频率为

10 MHz,由此可以得到速度计数值SpdCnt的计算公式(7-6)。

(7-6)

计算上式时,5 × 106可采用24位无符号数4C4B40H表述,因此此处设计24位除法器以求取速度计数值。实体MtDrv调用该除法器U1时,在16位数值Spd的左侧并置8位的00H,将其扩展成24位,相应的结果tSpdCnt也为24位数据;使用时,取其低16位送入SpdCnt。24位除法器描述程序如下。

例7-1-4速度计数运算电路Div24的VHDL描述:

上述程序响应24位除数、被除数A与B的变化,若A或B发生变化,除进程DivProc执行一次。DivProc通过循环DivL按照由高到低的顺序依次获取被除数A的各数据位,并执行减运算,求得除结果各数据位以及余数。最后,DivProc将24位除结果iRs送至端口Rs并返回给顶层实体信号tSpdCnt,由顶层实体MtDrv的进程StaCon截取低16位,得到16位的速度计数值SpdCnt。

7.1.3电路实现

1.项目创建与编译

在单轴交流伺服控制电路的VHDL描述程序中,实体MtDrv、PGen、DisCon与Div24的描述程序分别命名为MtDrv.vhd、PGen.vhd、DisCon.vhd与Div24.vhd。利用上述程序创建项目,设置实体MtDrv作为项目顶层实体,项目名称与顶层实体名称一致,也设置为MtDrv。根据程序复杂程度,结合电机控制中的实时性要求,初选MAXII系列CPLD作为电路的实现器件,具体器件根据编译结果由开发系统指定。采用上述方法,单轴交流伺服控制器件MtDrv的实现项目及其编译结果如图7.4所示。

图7.4单轴交流伺服控制器件MtDrv的项目实现及编译结果

2.器件、引脚分配

根据编译结果及后续制版、布线等情况,本例电路引脚与器件分配情况如图7.5所示。

图7.5单轴交流伺服控制器件MtDrv的引脚与器件分配

从编译结果可以看出,器件EPM2210F256C3可以满足本例原定的交流伺服电机驱动控制要求,宏单元占有率、端口占用率等基本满足要求;所选PLD为低功耗器件,FBGA封装面积小,C3速度等级较高。因此,本例为项目最终指定的器件为EPM2210F256C3。

图7.5中带阴影引脚为已分配信号的引脚,按逆时针顺序,引脚上分配的信号依次为片选CS、写信号Wr、读信号Rd、3位地址信号A、并行接口的16位双向数据端口D、驱动脉冲输出端口CP、控制电路忙状态标志Bsy、100M基准时钟CLK、电机驱动门控信号G。信号与实现器件引脚之间的具体对应关系如表7.1所示。

7.1.4电路测试及分析

1.功能仿真

图7.6所示为单轴交流伺服驱动控制器件MtDrv的仿真输入波形文件,图中的仿真栅格大小设置为20

ns,仿真总时长设置为280

ms。

图7.6单轴交流伺服控制电路MtDrv的仿真输入

图中的仿真输入涵盖控制电路三种工作模式下的运动过程仿真,即均速控制、升速控制与降速控制。在均速控制下,运动速度由0加至指令速度,然后做匀速运动,最后减速并到达指令位移,运动结束;在升速模式下,电机以初始速度开始,升至终止速度后保持匀速运动,直至运动结束;在降速模式下,电机以初始速度开始,降至终止速度后保持匀速运动,直至运动指令结束;图中信号D为并口数据总线的数据设置情况,DATA为仿真运行中数据总线D的实际信号变化。在做升速运动时,指令参数写入时的集成电路MtDrv的仿真结果如图7.7所示。

图7.7模式1的指令参数写入过程仿真

执行升速运动时,外部控制计算机通过并行接口向地址“000”写入数值“150”,设置指令位移为150步;向地址“010”写入数值“500”,设置初始速度为500步/s;向地址“100”写入数值“2800”,设置加速度为2800步/s2;向地址“011”写入数值“3000”,设置运动终止速度为3000步/s;向地址“101”写入数值“1”,设置电路工作于模式1,执行升速运动;图7.8为上述条件下,升速运动的仿真结果。

图7.8模式1升速段运动过程仿真

在图示运动中,指令加速度Acc为2800步/S2,指令位移Dis为150步,初始速度SpdS与终止速度SpdE分别为500步/S、3000步/s,工作模式Md设置为模式1,与写入值严格一致。在运动过程中,驱动脉冲CP周期逐渐变小,最终趋于恒定,对应的运动速度持续增加至3001步/s后进行匀速运动,直至运动结束。实际的终止速度与指令存在1步/s的误差。图7.9所示为指令执行期间,外部计算机读取当前速度的仿真结果。

图7.9运动速度读取仿真

在图示运动段中的时刻4.01406

ms处,RD、CS相继产生下降沿从而生效,器件的地址端口A上送出当前位移寄存器地址“110”,电路MtDrv获取当前位移XDisCur的取值“4”并将其送上数据总线DATA。均速运动的参数写入仿真如图7.10所示。

图7.10模式1的指令运动参数写入仿真

在图示的指令写入过程中,外部计算机通过端口“000”向指令位移寄存器Dis写入指令位移150步,通过地址“001”向指令平均速度寄存器SpdA写入指令平均速度3000步/s,通过地址“101”向模式控制字寄存器Md写入模式字“0”,电路工作于均速运动模式。运动过程仿真如图7.11。

图7.11模式0的运动控制过程仿真

图示仿真结果中,随时间推移,驱动脉冲CP的周期逐渐减小,然后保持恒定;持续一定时间后,CP周期持续增大,直至运动结束。在运动的结束阶段,电路输出两个低频驱动脉冲,补足位移量。与之相对应,在起始阶段,运动速度持续增大,直到增至指令速度3000步/s,完成加速段;然后,运动速度保持在3000步/s,实现匀速段;在运动的最后阶段,速度持续减小至100步/s,完成减速段。当速度减至100步/s后,电路继续输出两个低频脉冲,实现最终的150步指令位移。工作于模式0时,电路的加速段工作过程仿真如图7.12所示。

图7.12模式0加速段工作过程仿真

在模式0的加速段内,运动段iSec取“0”值,加速度积分每10 μs执行一次,积分值iSigmaA执行叠加运算,运动速度xSpd由100步/s开始持续上升,速度计数值XSpdCnt则随速度增大由数值50000持续减小。结合实际应用,在实现原定的电机驱动过程时,对最低速度进行了限定,限定为100步/s。模式0的减速度运动过程仿真如图7.13所示。

图7.13模式0减速段工作过程仿真

在模式0的减速段内,加速度积分重启,积分值iSigmaA随之重启进行叠加运算,运动速度xSpd由匀速段的实际速度3001步/s开始持续减小,对应的速度计数值XSpdCnt随积分运行持续减小。当运动速度降至100步/s后保持不变,走完预定的指令位移,从而实现指令的运动过程。电路工作于模式2时的指令参数写入过程仿真如图7.14所示。

图7.14模式2的指令参数写入过程仿真

在上图的参数写入过程中,外部计算机向地址“000”、“010”、“100”、“011”与“101”分别写入指令的目标位移、起始速度、加速度、终止速度与工作模式参数,将各参数依次设置为150步、3000步/s、2800步/s2、1500步/s与工作模式2。模式2的减速段工作过程仿真如图7.15。

图7.15模式2的减速段工作过程仿真

在工作模式2的减速段内,门控G变为高电平,开始减速运动,加速度积分启动,iSigmaA执行叠加运算,运动速度xSpd由初始速度3000步/s开始持续减小,速度计数值由初值1666开始依次减小。减速指令的完整执行过程如图7.16所示。

图7.16模式2的减速指令的执行过程仿真

2.时序分析

单轴伺服电机控制电路执行时序分析如图7.17所示。

选中图中的按钮Start,启动时序分析,然后选择按钮Report,得到本例单轴伺服电机控制电路的各时间参数。其中,数据建立时间tsu的最大值为 -0.342 ns,时钟输出延迟时间tco的最大值为17.098 ns,输出延迟时间tpd的最大值为5.570 ns,数据保持时间th的最大值为3.728

ns。

图7.17单轴伺服电机控制电路的时序分析

7.2两轴联动控制电路设计

7.2两轴联动控制电路设计

1.轮廓控制原理轮廓运动及其控制是运动控制系统,尤其是数控系统的关键功能,其性能直接决定运动控制系统品质的优劣。

1)直线轮廓控制

在运动控制系统中,二维直线的轮廓控制原理如图7.18所示。假定图中的直线OE为指令轮廓,运动起点O落在坐标原点上,终点E的坐标为(xE,

yE),位置N为运动执行过程中的当前位置。

图7.18运动控制系统的二维直线轮廓插补原理

在图7.18中,当前位置N与理想轨迹OE存在3种几何关系:在OE轮廓上、在OE上方N

″位置、在OE下方N

′位置。实现指令轮廓OE时,电机持续向轮廓误差减小的方向运动,即:N落在N

″上或OE轮廓上,X轴电机执行一个脉冲当量的运动;N落在N

′上,Y轴电机执行一个脉冲当量的运动。假定动点N的坐标为(xi,yi),考察上述3种状况,有公式(7-7)成立:

(7-7)

定义函数,公式(7-8)演变为:

(7-8)

执行轮廓运动时,需要首先计算函数F,然后根据F的取值状况,产生X或Y轴电机的驱动信号并产生相应轴的运动,从而实现预定的理想轮廓OE。为便于电路实现,采用递推公式计算运动的F参数。假定当前运动时刻为i,F参数为Fi;下一运动时刻为i+1,则F参数Fi+1的递推公式为式(7-9):

(7-9)

根据上述的控制策略,二维直线轮廓运动通过以下步骤实现:

(1)终点判别。比较当前位置与终点坐标,判别运动是否结束。

(2)驱动选择。根据F参数,判定运动轴。若F≥0,X轴电机使能;若F<0,

Y轴电机使能。

(3)进给运动。产生驱动信号并驱动运动轴,执行轮廓运动。

(4)

F参数计算。调用公式(7-9),计算下一时刻的F参数备用。

2)圆弧轮廓控制

图7.19所示为运动控制系统的第1象限逆圆弧轨迹运动实现原理,图中的圆弧轮廓OE为指令运动轨迹,圆心落在坐标原点上,运动起点S的坐标为(xS,yS),运动终点E的坐标为(xE,yE)。同样假定位置N为轮廓运动实现过程中的当前位置。

图7.19运动控制系统的第1象限逆圆弧轮廓插补原理

与直线轮廓运动相似,执行图中的圆弧轨迹运动时,根据当前运动点N的位置确定X与Y轴的动作与否。若动点N落在指令圆弧SE内部的N

″ 位置,则Y电机执行一个脉冲当量的运动;若动点N落在指令圆弧SE轮廓上或外部的N

′ 位置,则X电机执行一个脉冲当量的运动。假定动点N的坐标为(xi,yi),考察上述状况,有公式(7-10)成立:

(7-10)

实现圆弧轮廓时,定义参数,利用F参数判别各个时刻的运动轴,实现理想的圆弧轮廓。对运动过程离散化,假定当前运动时刻为i,对应的F参数为Fi,下一运动时刻为i+1,对应的F参数为Fi+1,则参数Fi+1可由下式(7-11)确定:

(7-11)

结合上述的圆弧运动控制策略,可以得到运动控制系统第1象限逆圆弧轨迹的实现过程:

(1)终点判别。比较当前动点位置与圆弧轮廓终点坐标,判别圆弧轨迹是否完成。

(2)驱动选择。根据当前的F参数,选择运动轴。若F≥0,则X轴电机使能;若F<0,则Y轴电机使能。

(3)进给运动。产生驱动信号并驱动运动轴,实现预定的圆弧轨迹运动。

(4)

F参数计算。调用公式(7-11),计算下一时刻的F参数备用。

第1象限顺圆弧的轮廓控制与逆圆弧类似,只是控制规则略有不同,当参数F≥0时,若当前运动点落在指令圆弧外部,Y电机负向走一步;反之,当参数F≤0,若当前运动点落在指令圆弧内部,X电机正向走一步。F参数的递推公式(7-12)如下:

(7-12)

在上述过程中,分别介绍了第1象限直线、逆圆弧轮廓的轨迹控制及实现方法,同时上述方法中并不包含电机方向实现的方法。使用上述方法实现四象限直线及圆弧时,需首先根据运动指令的类型及起/终点坐标,确定X、Y轴电机的方向控制信号;然后,取各坐标绝对值,将其他象限的直线、圆弧轮廓转换为第1象限轮廓轨迹处理,从而得到相应的驱动脉冲。该方法的正确性可自行证明,此处不再介绍。

2.器件实现原理与功能结构

根据前文所述的轮廓控制原理与过程,本例中的两轴联动运动控制集成电路采用如图7.20所示的逻辑功能结构。

图7.20两轴联动运动控制电路的逻辑功能结构

电机旋向控制获取指令起/终点坐标信息及工作模式控制字Md,根据各坐标值与模式字计算并判别X/Y轴的运动方向,同时求取各坐标值的绝对值,把四象限直线与圆弧轮廓运动转换为第1象限的直线或顺/逆圆弧轨迹控制;圆弧轨迹控制与直线轮廓控制接收电机旋向控制求取的坐标绝对值,接受驱动、状态及使能控制电路送出的使能控制,实现指令圆弧或直线轮廓需要的驱动脉冲;驱动、状态及使能控制的工作主要有:①根据工作模式Md与电路使能信号En求取圆弧/直线轨迹控制电路的使能信号;②计算指令轮廓所在的象限与当前位移;③输出运动状态与驱动脉冲。

3.器件的进程结构

参照图7.20中的两轴联动控制器件逻辑功能结构,本例利用多进程描述结合结构化描述的方法,来实现相应的两轴联动运动控制逻辑。结合前文对联动控制各构成电路的功能与数据处理过程描述,本例分别设计两轴联动控制专用器件的并行接口写进程、并行接口读进程、电机旋向控制进程、直线轨迹驱动脉冲控制、圆弧轮廓驱动脉冲控制等进程,状态、使能与I/O控制通过并行条件赋值语句实现,器件的进程输入/输出与启动关系如图7.21所示。

图7.21两轴联动运动控制器件的进程结构与启动关系

7.2.2两轴联动控制器件的VHDL描述

参照图7.21所示的进程结构与启动关系,在电路描述中分别设计实体DAxis、ArcMt与LnMt实现预定的两轴联动控制逻辑。其中,实体ArcMt实现圆弧轮廓的驱动脉冲控制,实体LnMt实现直线轨迹的驱动脉冲控制;实体DAxis为顶层实体,用于实现坐标参数输入、运动模式设定、即时坐标值的获取、电机旋向控制、I/O与状态控制等功能。同时,顶层实体DAxis调用并使能圆弧运动ArcMt的元件U0与直线运动LnMt的元件U1,输出指令要求的圆弧/直线轨迹驱动脉冲。

1.顶层实体DAxis的VHDL描述

考虑到嵌入式CPU的应用现状、运动指令参数等情况,执行顶层实体DAxis的逻辑描述时,将器件并行接口的数据总线D设置为16位双向数据端口,地址A占用3位输入端口,设置片选信号CS,写、读信号则分别定义为WR、RD,均为低电平有效。为便于程序描述,程序中所有的端口、变量、信号定义与器件的结构、功能以及进程关系描述一致,顶层实体DAxis的VHDL描述程序如下。

例7-2-1两轴联动运动控制电路顶层实体DAxis的VHDL描述:

根据前文所述的电路进程结构,顶层实体DAxis的描述程序实现的进程包括并口写进程WrProc、读进程RdProc,电机旋向控制进程MtDir以及状态、使能与I/O控制Sta&En&IO子电路,器件地址“000”~“101”依次被分配给起/终点坐标iXS、iYS、iXE、iYE、当前X坐标与当前Y坐标。进程WrProc响应写信号WR的上升沿,获取指令坐标数据。当CS有效且地址A为“000”~“011”时,进程分别写入起终点的坐标,坐标取值范围为 -32 768至32 767,计量单位为电机的步当量。

实体DAxis的读进程RdProc响应读信号RD、地址位A与片选信号CS,当RD、CS有效且地址为“100”时,RdProc送出X坐标当前值;当运动发生在第1或第4象限时,X坐标取正值,RdProc将寄存器xCurBuf直接送上数据总线D;当运动发生在其他象限时,RdProc将寄存器xCurBuf取反后送上数据总线D;当RD、CS有效且地址为“101”时,RdProc送出Y坐标当前值;当运动发生在第1或第2象限时,Y坐标取正值,RdProc将寄存器yCurBuf直接送上数据总线D;当运动发生在其他象限时,RdProc将寄存器yCurBuf取反后送上数据总线D。

进程MtDir根据运动模式Md,比较指令坐标,判断X/Y轴电机的转向。若端口Md变为低电平,执行直线轨迹,此时,如果运动轴的相应终点坐标大于零,则电机逆时针旋转,相应方向口拉低;反之,方向口变为高电平。若端口Md变为高电平,则执行圆弧轮廓运动,此时,如果运动轴的终点坐标大于起点坐标,则电机逆时针旋转,相应方向口变为低电平;反之,方向口变为高电平。除了上述功能,MtDir还能够求取各坐标值的绝对值,将所有运动变换至第1象限处理。

状态、使能与I/O控制Sta&En&IO子电路包括从结构体内关键字“Begin”开始的条件赋值语句以及元件例化语句。Sta&En&IO子电路根据运动模式Md与使能信号En激活圆弧轮廓控制元件U0或直线轨迹控制元件U1,同时获取当前坐标值。此外,Sta&En&IO还计算运动所在象限,根据运动模式选择输出驱动脉冲XP、YP及运动状态Bsy。

2.直线轨迹控制电路LnMt的VHDL描述

电路LnMt接收MtDir求得的指令坐标绝对值,实现直线运动轨迹的驱动脉冲。根据前文所述的电路进程结构,直线轨迹控制进程LnMt-mPGen由底层实体LnMt实现,电路的描述代码如下。

例7-2-2直线轨迹控制子电路LnMt的VHDL描述:

在实体电路LnMt的描述程序中,进程mPGen产生X/Y轴的脉冲使能信号iXEn与iYEn,二者与轮廓控制基准脉冲执行“与”运算,获得最终的电机驱动脉冲信号XCk、YCk。执行直线运动时,顶层实体的状态、使能与I/O控制Sta&En&IO子电路根据运动模式Md与使能信号En发出使能信号sLnEn,将sLnEn置为高电平,启动LnMt元件U1。

U1元件的进程mPGen响应轮廓控制基准脉冲Clk、门控信号G与使能信号AxisEn(即顶层实体信号sLnEn),G端变为低电平时,子电路U1执行运动初始化,清零F参数iFac、使能端iXEn、iYEn、当前坐标iXCur、iYCur与BSY忙标志。当Clk下降沿来临时,mPGen执行终点判别,未到轮廓终点时,进程判别F参数,根据F参数取值状况来使能对应的iXEn与iYEn信号并执行坐标运算。最后,进程mPGen调用公式(7-9),重新计算F参数iFac,等待下一个轮廓控制时钟Clk的下降沿。

循环重复上述处理过程,直至直线轮廓运动完成。最后,进程清除所有相关标志及信号,结束指令。

3.圆弧轮廓控制电路ArcMt的VHDL描述

圆弧轮廓控制电路ArcMt接收顶层实体进程DMtDir求得的指令起/终点坐标的绝对值,产生圆弧轮廓需要的电机驱动脉冲。根据电路的进程结构描述,圆弧轮廓控制进程LnMt-mPGen通过底层实体LnMt实现,电路的VHDL程序描述如下。

例7-2-3圆弧轮廓运动控制电路实体ArcMt的VHDL描述:

与直线轨迹控制类似,实体电路ArcMt利用自身的进程mPGen产生X/Y轴的脉冲使能信号iXEn与iYEn,二者与轮廓控制脉冲Clk执行“与”运算,获得驱动信号XCk与YCk。实现圆弧轮廓时,顶层实体DAxis的Sta&En&IO子电路发出使能信号sArcEn,启动ArcMt元件U0。

ArcMt元件U0的进程mPGen监测轮廓控制脉冲Clk、门控G与使能信号AxisEn(即顶层实体信号sArcEn),当信号G变为低电平,mPGen执行初始化,获取圆弧起点坐标并清零运动各参数。当G端变为高电平且Clk的下降沿来临时,mPGen判别轮廓终点,若未到终点,则进程mPGen根据起终点坐标判断圆弧运动的顺逆方向,根据F参数iFac的取值状况使能相应的iXEn与iYEn信号并执行坐标运算。最后,进程mPGen根据圆弧轮廓运动的顺/逆圆方向,调用公式(7-12)或公式(7-11),重新计算F参数iFac,等待下一个轮廓控制时钟Clk的下降沿。

7.2.3电路实现

1.项目创建与编译

采用上节的VHDL程序描述两轴联动控制电路的各个构成进程,图7.22所示为两轴联动轮廓控制电路DAxis的实现项目及编译结果。

图7.22两轴联动运动控制器件的项目实现及编译

2.器件、引脚分配

根据编译结果,器件EPM1270T144C3能满足预定的两轴联动控制功能,同时其较低的逻辑单元占有率与端口占用率,容许在以后进行适当修改,以增强系统性能,实现系统的在线升级。EPM1270T144C3为3.3

V低功耗器件,封装面积、速度等级等较为理想。兼顾后续制版、布线等操作,本例中的两轴联动控制电路引脚分配与器件指定如图7.23所示。

图7.23两轴联动运动控制器件的器件选择与引脚分配

图中带阴影的引脚为已分配信号引脚,按照逆时针顺序,从器件的引脚1到引脚143,端口上已分配的信号依次为16位双向数据端口D、读信号RD、写信号WR、片选信号CS、地址信号A、门控信号G、运动模式Md与使能控制En、轮廓控制基准时钟Clk与Y轴电机驱动脉冲YP、Y轴电机方向信号YD、X轴电机驱动脉冲XP、X轴电机方向信号XD、运动忙标志Bsy。各信号与实现器件引脚之间的详细对应关系如表7.2所示。

7.2.4电路测试及分析

1.功能仿真

图7.24所示为两轴联动运动控制电路的仿真输入波形,图中的仿真栅格设置为10

ns,仿真总时长设置为8.8 μs。

图7.24两轴联动运动控制器件的工作过程仿真输入

第1、2象限的直线运动控制时序模拟如图7.25所示,图7.26所示为第3、4象限的直线运动控制仿真。

图7.25第1、2象限的直线运动控制过程仿真图7.26第3、4象限的直线运动控制过程仿真

图7.27所示为前述四象限直线轨迹控制得到的仿真轨迹与理想轨迹,图(a)~(d)对应第1~4象限的运动。其中,带箭头折线为器件实现的实际轮廓,无箭头实线为指令的理想轨迹。

图7.27四象限直线运动轨迹仿真

图7.28所示为第1象限的顺/逆圆弧轮廓控制过程仿真。时间段2.1~2.8

μs为顺时针圆弧轮廓运动控制,时间段2.9~3.8

μs为逆时针圆弧轮廓运动控制。

图7.28第1象限的顺/逆圆弧轮廓控制过程仿真

图7.29所示为第2象限顺/逆圆弧轮廓控制过程仿真,图7.30所示为在第1、2象限圆弧运动的实际轨迹与理想轮廓。

图7.29第2象限顺/逆圆弧轮廓控制过程仿真图7.30第1、2象限顺/逆圆弧轮廓轨迹仿真

图7.31所示为第3象限圆弧轮廓的运动控制过程仿真,第4象限圆弧轮廓的运动控制如图7.32所示。

图7.31第3象限的顺/逆圆弧轮廓控制过程仿真图7.32第4象限的顺/逆圆弧轮廓控制过程仿真

在图7.31所示的第3象限圆弧轮廓控制仿真中,器件获取顺圆端点(-6,-8)与(-10,0),计算XD、YD得到取值“1”、“0”,之后将轮廓转至第1象限,按第1象限轮廓控制方法实现轴脉冲;逆圆控制时,器件比较端点(-10,0)、(-6,-8)得到XD、YD取值“0”、“1”,将轮廓转至第1象限,实现驱动脉冲。

执行图7.32所示的第4象限顺圆弧轮廓运动时,运动控制器件DAxis首先比较顺圆端点(10,0)、(6,-8)坐标值,得到X、Y轴电机方向端口信号XD、YD的取值“1”、“0”。然后,器件计算端点各坐标的绝对值,将第4象限轮廓转变为第1象限轨迹处理。逆圆轮廓运动的处理方法与顺圆轮廓基本类似,相异之处仅在于方向口XD、YD取值不同。

第3、4象限圆弧轮廓运动的实际轨迹如图7.33所示。图中带箭头直线及实线圆弧分别为运动实际轨迹与理想轮廓,与控制原理预定的过程一致。

图7.33第3、4象限的直线运动控制过程仿真

2.时序分析

图7.34所示为Quartus时间分析工具ClassicTimingAnalyzerTool得到的两轴联动运动控制器件时序分析结果。图中的窗口ClassicTimingAnalyzerTool详细给出了两轴运动控制器件DAxis的输出延迟时间tpd、数据建立时间tsu、时钟输出延迟时间tco与信号保持时间th等参数。

选择窗口ClassicTimingAnalyzerTool中的按钮Start,启动电路时序分析,然后选择按钮Report,得到两轴联动控制器件的各个时间参数的极端值,如图中的窗口CompilationReport-TimingAnalyzerSummary所示。

根据图7.34所示的时间分析结果,两轴联动控制器件DAxis的数据建立时间tsu的最大值为12.334

ns,时钟输出延迟tco的最大值为16.858

ns,输出延迟tpd的最大值为12.152ns,数据保持时间th的最大值为1.713ns,控制时钟CLK的最高容许频率为80.53

MHz。

图7.34两轴联动运动控制器件时序分析

7.3高速数据采集专用控制电路

7.3.1逻辑功能与分析

1.电路功能与逻辑结构高速数据采集及其控制是工业控制、现代农业、航空航天等领域中高性能系统的常用电路。本节在高速数据采集系统中选用常用的高速模数转换芯片ADS7816,设计专用采集控制集成电路,实现能自主运行的高速数据采集电路。

ADS7816是一种12位微功耗的典型模数转换集成电路,采样频率为200

kHz,休眠功耗为3

μW,采样频率为200

kHz时功耗为1.9

mW,采样频率为12.5

kHz时功耗仅为150

μW。器件模拟输入端 +In与 -In接收差分输入的模拟量,数字输出采用串行接口,串行数据接口的信号CS与DCLOCK端口分别接收片选与串行数据的时钟输入,DOUT端口串行输出AD转换得到的12位数字量,器件的工作时序如图7.35所示。

图7.35常用高速模数转换器件ADS7816的工作时序

ADS7816的数据采集与模数转换通过片选端CS启动。CS产生下降沿,器件执行一次采集转换任务。经过1.5~2个数据周期TDCLOCK的采样时间,器件串行数据端DOUT响应串行数据时钟CLK,依次送出起始位以及由高到低的12位转换数据D11~D0。然后,如果CS持续生效,ADS7816的数据端DOUT继续反序(由低位到高位)送出12位转换数据。

本例实现的自主运行高速数据采集系统的功能结构如图7.36所示。其中,虚线框内所示的构成电路为高速采集控制器件的逻辑结构。

图7.36高速数据采集系统结构及采集控制专用器件的逻辑构成

图中的采集控制专用器件自主产生ADS7816需要的CS、DCLOCK信号,将转换数据直接存入器件内部的采集数据片内存储单元,数据采集任务自主完成,无需外部干预。同时,采集控制专用器件提供SPI标准接口,便于外部计算机获取采集到的数据序列。

在图中的专用采集控制器件内,采集驱动控制电路负责发出AD驱动信号CS,启动采集转换,并提供符合ADS7816数据通信协议的接口获取转换数据;存储控制将转换数据从采集数据缓冲送入片内采集数据存储单元;SPI收发控制获取控制计算机发出的数据请求,根据请求启动存储控制,将采集数据片内存储单元的相应数据送上SPI总线。

2.实现原理

参照采集控制专用器件的逻辑结构,本例通过多进程,描述逻辑结构中的各个控制逻辑,各进程间的输入/输出关系与启动关系如图7.37所示。

图7.37采集专用控制电路的进程结构与启动关系

7.3.2电路的VHDL描述

根据上述的器件逻辑功能结构与进程关系,采用VHDL描述采集控制器件。为便于电路描述,在器件的编程实现时,程序中的所有端口、变量、信号定义以及进程命名、设计与图7.37中的描述一致,电路的VHDL描述程序如下。

例7-3-1

高速数据采集专用控制电路的VHDL描述:

描述程序的实体名称设置为AdSys,电路采用标准SPI接口协议,端口信号包括MOSI(MasterOutputSlaveInput)、MISO(MasterInputSlaveOutput)、串行数据时钟Sck与从机片选端nSS。此外,器件端口还包括ADS7816的数据输入端DOUT、串行数据时钟Dck、片选端CS,器件的门控端G、基准时钟

温馨提示

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

评论

0/150

提交评论