基于现场总线的加工中心用六轴数控系统
符、1位数据类型、1位远程发送请求、4位该帧内数据段数据长度、0~8字节数据段、16位循环冗余码CRC、2位应答位和1位帧结尾组成。 CAN标识符的分配在设计通信系统应用层协议时非常重要,它决定了信息和相关的优先权及信息的等待时间,同时也影响了信息滤波适用性、合理的通信结构适用性和标识符使用的效率。报文标识符中包含有优先标记、目标地址、源地址、帧类型、帧号、保留位、结束标记,其格式如表2所示。 其中,优先标记(1位)是用来标记当前帧的优先级别。对于正常信息,该位置为1,对于紧急信息(如报警信息、紧急断电等),将该标记置0。该标记先于其他帧占用总线,在最短的时间内到达目的地址; 目标地址(7位):指定该帧数据或信息所要到达的目的地; 源地址(7位):指定该帧数据或信息的来源地址;在数控系统中,对每个CAN模板都设定一个地址号,用来区分不同的设备。CAN总线上的节点个数主要取决于总线驱动电路,目前最多可达110个。本文采用了长度为7位的目标地址和源地址,可以有128个编码地址,完全满足系统需要。 帧类型(1位):用来标记该帧数据场中的内容是要传输的数据内容还是通讯协议的控制信息; 帧号(8位):是用来标记数据拆分后的帧块序号;由于每个邮箱最多可存放8字节即64位的数据,而消息的大小不定,CNC运动控制器侧输入信号有32位,可以直接传输给,刀库表信息和梯形图程序段却远远超过64位,需要分段传输。在传输超过8字节长度的数据时,按照每块8字节对数据进行拆分,根据数据的先后顺序,指定相应的帧号,从0递增。帧号采用8位表示,取值范围为0~255,用这种方式完全满足本控制系统的通信需求。 保留(4位):用作扩展,可以根据功能扩展的需要增加其他功能; 结束标记(1位):是用来标记该数据包传输过程的结束。 CAN通信报文数据段要传送的数据包括MST代码、I/O信息、当前刀盘位置信息、梯形图程序、刀库表信息以及远程操作面板信号。 3 数控系统CAN安全通信软件设计 TMS320F2812数字处理器上集成了增强型CAN(eCAN)总线通信接口,完全支持CAN2.0B总线规范。同时,带有32个完全可配置的接收/发送邮箱,支持消息的定时邮递功能,最高通信速率可以达到1Mbps。另外,eCAN模块能够实现灵活稳定的通信,且使用起来非常方便,只要对位时序配置寄存器、屏蔽寄存器、邮箱配置寄存器等相关寄存器进行配置就可以使用。为了增强CAN总线节点的抗干扰能力,DSP的CAN接口发送和接收线路并不是直接与PCA82C250的TXD和RXD相连,而是在中间加入了一级高速光耦6N137,UC101、UC103为光耦6N137,这样就很好地实现了总线上各CAN节点间的电气隔离。另外,CAN接口电路采用的双线差分驱动,极大地抑制了工业现场干扰信号的影响,保证了数控系统通信的可靠性。具体电路如图3所示。 选用了飞利浦公司的CAN通信收发器PCA82C250作为F2812的CAN控制器和物理总线间的接口,以实现对总线的差动发送和接收功能。将PCA82C250引脚8接地,在高速模式下发送器输出级晶体管以最快速度启动或者关闭,以保证了数据发送的实时性。 设计的CAN安全通信软件包括:CAN模块初始化模块、数据发送模块、数据接收模块等。在使用CAN接口进行通信之前,必须先对其进行初始化,并仅当DSP处于初始化模式下时才能进行初始化。接口初始化结束后,还需要进行邮箱的初始化。邮箱的初始化包括对邮箱属性域、控制域和数据域的设置。邮箱初始化完毕,只要满足一定的条件,相应的邮箱就能进行正常的发送和接收操作。 3.1 数据发送过程 使用发送邮箱发送消息,发送请求寄存器(CANTRS)被置1,启动消息发送,CAN模块处理CAN消息的发送。成功发送消息后,CAN模块将发送响应标志位TA置位为1。成功发送或中止发送后,模块将TRS标志复位为0。同一个邮箱为了进行下一次发送,必须将发送响应标志清零,即置TA为1。使用同一个邮箱发送其他消息,需要刷新邮箱的数据区。等待TRS为1,启动下一个发送。写入邮箱RAM的数据可以是半字(16位s)或整字(32位s),但CAN模块总是返回一个32位的数据,CPU必须接收所有32位或32位中的一部分。 3.2 数据接收过程 使用接收邮箱接收消息,当接收到一个消息时,接收消息挂起寄存器(CANRMP)中相应的标志位就会被置位,并产生一个中断,CPU可以从邮箱中读取消息。在CPU从邮箱RAM中读取数据之前,应该先清除RMP位。在读取数据后,CPU还需要验证RMP有没有再次被模块置位。如果RMP被置1,说明数据已经被损坏。当CPU读取旧的消息时,由于接收到新的消息,CPU要重新读取数据。
图3 CAN总线接口电路图
4
现场总线加工中心六轴数控系 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)