最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

多轴联动高速运动控制网络的设计与实现

发布时间:2013-04-28 作者:张建华 葛红宇 李宏胜 方力  来源:万方数据
参考商业化运动控制网络Synqnet,提出一种适于数控领域的多轴联动高速运动控制网络结构,完成了相关的网络通信协议、主从节点控制芯片的逻辑设计并给出了其VHDL实现方法。采用Latrice的FPGA器件LFXP2—5实现了主从节点控制芯片,主节点采用S3C2410嵌入式处理器实现了网络硬件。最后通过实验验证了所设计的网络。

  2.2.2发送时序逻辑设计

  发送电路遵从IEEE802标准,响应发送时钟TXC发送数据。根据两类封包的数据格式,发送模块设置芯片的10个状态,分别对应设置封包与数据封包各数据的发送过程,如表2。

表2发送过程控制芯片状态字

  如果FIFO不空,主节点控制芯片根据FIFO读写指针计算待发数据长度(以字为单位),进人参数设置段,启动一次传送过程。而后,在发送时钟TXC下降沿上,控制芯片检测芯片状态与网络传输状态,若传输正常,根据状态依次送出起始字及校验码、设置数据及校验码、结束字及校验码,同时依次修改芯片的相应状态。发送过程中,检测到网络传输出错,芯片重置空闲状态S0,清出错标志,重复上述过程,重发设置封包。

  数据传送段,控制芯片首先送出起始字与校验码,启动数据封包发送,校验无误,从FIFO中取一字(2字节)作为发送数据的高16位,同时计算16位循环冗余码作为发送数据的低16位,从高到低,依次从发送数据中截取4位,在TXC下降沿上送至TXD。数据发送中,接收端出错,芯片转状态S6,在下一个TXC降沿重发数据封包起始字“1000”,重新开始数据封包的传送。

  数据发送结束,模块发送结束字“1001”及其校验码“0110”,完成整个数据封包的发送,实现一次完整的数据发送过程。

3 从节点控制逻辑设计

  3.1 从节点控制芯片的逻辑结构

  从节点控制电路的逻辑结构如图3,它主要完成数据接收、插补控制及节点开关控制等功能,通过专用的从节点控制芯片实现。

图3从节点控铡芯片的逻辑结构

  从节点控制芯片由数据转换、接收、校验、FIFO及存取控制、插补控制、节点输入/输出控制等模块构成。芯片接收来自运动控制网络的指令数据,而后进行16位转换与循环冗余码校验。接收数据出错,则置位通信出错标志位,同时向主控芯片发出重发请求。反之,数据接收无误,存入FIFO供插补控制或开关控制模块读取。取到轨迹控制指令,插补控制模块初始化运动参数,启动相应的圆弧或直线插补功能,送出指令脉冲给相应驱动器;取到开关控制指令,开关量控制逻辑通过节点输入/输出控制模块送出要求的开关量。

  3.2数据接收逻辑设计

  与前述发送过程相对应,数据接收过程分为参数与数据接收两个阶段。根据两阶段网络所传输的数据及传输过程,接收电路同样设定电路的10个相应状态,如表3。

表3数据接收过程控制芯片状态宇

  网络数据接收过程中,控制芯片响应接收时钟RXC的上升沿,从RXD接收数据,进行4—16位数据转换,取得数据及其校验码。空闲状态下,数据接收模块收到传送起始字及其校验码,根据FIFO的读写指针计算芯片中的的空余存储空间,进人参数设置段。而后,接收16位设置数据及校验码,校验无误,取设置数据高8位作为本次传送地址,低8位作为数据封包长(以字为单位),若取得本机地址,接收模块等待结束字及校验码,完成参数设置封包的接收;若非本机地址,接收电路恢复芯片空闲态S0,不作任何处理。校验出错,从节点错误标志位置‘1’,节点状态监控模块发送重传请求“1010”及校验码“0101”,请求发送端重发设置封包,从节点状态转空闲态S0。

  参数设置段结束,接收电路等待数据封包起始字“1000”及校验码“0111”。而后响应RXC上升沿,按照先高后低的顺序,依次读人8组4位数,得到16位的数据及循环冗余码。校验无误,继续传输过程直至数据传送完成。与参数设置段类似,传输中数据出错,节点错误标志位置位,节点状态监控模块发送重传请求,节点状态转S6,等待数据封包起始字与校验码,重新开始数据段的传送。

  数据传送结束,模块等待传送结束字“1001”及其校验码“0110”,收到后调整接收队列的读写指针,恢复各信号与寄存器,准备接收新的传送请求。

本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。