新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM设计的嵌入式数控系统方案

基于ARM设计的嵌入式数控系统方案

作者: 时间:2010-12-14 来源:网络 收藏

3 软件

31人机交互与G代码解释

人机交互界面如图3所示。陔界面是用QT/Embedded嵌人式罔形库的。QTEmbedded 是由-rroll—tech公司的GUI开发T具,控件丰富,并且支持虚拟帧缓冲。通过该界面可以实现编辑G代码,语法检查、预览加1 轨迹、与下位机通信等功能。

G代码解释的原理如同4所示。程序中定义了两个数据结构PreGCode和GCode分别用来保存语法检查后的中间结果和数据分析后生成的G代码类型、节点坐标、圆弧半径等数据,供仿真和加工使用。

3.2CAN通信

本系统使用CAN控制器MCP2510完成CAN总线帧的发送和接收任务。通信数据分为命令帧和数据帧两种。通信协议利用了CAN总线的29位扩展标识符保存了一些协议中必要的信息,如表1所示。由于CAN支持多主机和多从机模式,所以为源设备和目的设备地址分配了ID,以区分数据的来源和目的地。数据帧的数据量较大,必须分批传送,所以标识符里还包含了数据包分组号,用来排序。

系统使用中断模式传输数据,共开启4项中断,分别为错误消极中断、错误报警中断以及发送中断和接收中断。如果为前两种中断,程序将复位MCP2510芯片。如果为发送中断,则表示发送完毕,程序将置位发送中断标志位以通知主程序。如果为接收中断,程序将检查标识符的ID28一ID21,判断该帧的类型,然后根据帧的类型分别进行处理。

3.3插补算法

SM5004芯片是斯迈迪公司的一款高性能运动控制FPGA芯片,能够实现4轴联动,驱动脉冲频率高达5MPPS,插补精度高达0.5I SB,单次输出脉冲数高达2G,支持4种插补模式:直线插补、圆弧插补、连续插补和位模式插补。

对于直线和圆弧,SM5004有自己的插补算法,只要提供终点坐标、速度等插补所需的参数,SM5004就能自动完成插补。

位模式插补是把高位CPU计算的插补数据以数据包的方式接收后,以指定的驱动速度连续输出插补脉冲。位模式插补的原理是在每个寄存器上2轴或3轴的+/一方向驱动脉冲设定为1位1脉冲,输出驱动脉冲时设定为1,不输出脉冲时设定为0。位模式插补提供了一种灵活的插补机制,用户可以自己编写直线、圆弧、样条曲线、函数曲线等各种曲线的插补算法。程序使用数字积分的方法实现了直线和二次曲线的插补。数字积分插补(又称DDA插补)的原理如图5所示。通过将积分区间[a,b]分割成足够小的区间△f,将函数y=f(t)的积分运算变为变量的求和运算,即

数字运算时,At一般取最小单位“1”,即一个脉冲当量,则:

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭