0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用ARM的串口传送实现数控系统G代码的高速处理

电子设计 来源:郭婷 作者:电子设计 2018-12-31 08:37 次阅读

一、 引言

现代数控加工都是先采用 CAD/CAM 软件画出零件的加工草图,然后根据草图做适当的属性设置,生成G 代码,生成G 代码之后通过某种方式将G 代码传送给数控系统进行解释转化成实际的轴运动。但是由于实际生成的G 代码数据量相对于ARM 嵌入式数控系统存储资源而言很大,不可能将G代码全部传给ARM数控系统存储起来之后再一条一条来解释、加工,因此在数据传输的过程中应该有一个流量控制的问题。虽然PC 机G 代码到ARM 数控系统代码传送方式很多,但ARM 的串口相对而言,操作方便,因此本设计采用串口来传送数据。虽然串口方便操作,但是在数据传送过程中也存在一些问题,比如说,PC 机向ARM传送9 个数据,却只收到8 个,如果数据传送的很大,就会丢失的更多,并且如果数据量大,就需要传送的波特率大,但是波特率大不仅会使数据产生遗漏,而且会使传送过来的G 代码得不到数控系统的及时处理,如果波特率太低,传送的时间肯定会很长,降低了加工效率。

出现这么多问题是什么原因呢,经过分析,提出一种方法,能够保证数据正确的情况下提高数据传输速度和数控系统代码处理能力。以 LPC 系列为主的32 位ARM 控制器具有速度快,容量大,性能稳定,在线调试方便等优点,ARM 作为智能控制器应用于工业控制领域具有广阔的前景。ARM 在工控领域的应用中,与上位机软件进行数据传输和处理是经常需要解决的问题。

二、ARM 串口初始化设置及中断服务程序

LPC2292 处理器有两个串口,每个串口有16 字节接收FIFO 和16 字节发送FIFO,寄存器位置符合I6C550 工业标准,接收器FIFO 触发点可以设置成为1、4、8、14 字节触发,内置波特率发生器。有四种中断:数据可用中断,字符接受超时中断,THRE 中断,Rx 线状态中断。串口在进行数据接受的时候,设计了一个缓冲队列用来存储接收到的数据。

(1)数据缓存队列数据结构设计

利用ARM的串口传送实现数控系统G代码的高速处理

其中QUEUE_DATA_TYPE 代表传输的数据类型,每当有数据从串口传入ARM的时候,通过In 指针使数据入队列,有数据需要处理的时候,利用Out 指针来出队列,至于队列大小,要根据波特率的大小、串口中断频率等因素决定。还需要实现两个函数 uint8 QueueWrite(void *Buf, QUEUE_DATA_TYPE Data),和uint8QueueReadQUEUE_DATA_TYPE *Ret, void *Buf),主要是用来往数据队列里写数据和从数据队列里取数据,采用的是先进先出(FIFO)的方式.

(2)串口初始化程序:

利用ARM的串口传送实现数控系统G代码的高速处理

U0IER = 0x05; /* 允许接收和发送中断 */

}

(3)中断服务程序

中断处理函数具体实现

1.数据可用中断处理

For(i=0;i<8;i++) //因为串口初始化是8 字节中断

{QueueWrite (Buf,UARBR); }

2.数据超时中断处理:

While(1)

{

If (UALSR&0x00000001= =1)

{QueueWrite (Buf,UARBR);}

Else Break;

}

3.理论上可以屏蔽THRE 中断,但是同样也可以处理中断,处理方法是往FIFO 中填充数据

For(i=0;i<16;i++)

{

QUEUE_DATA_TYPE data;

QueueRead(&data, Buf)

U0THR = data;

}

4.同样线中断也可以屏蔽,当然也可以处理,处理的方法只需要读U0TSR 寄存器Data=U0TSR;

中断服务程序中处理了超时中断,因此设置串口中断触发字节可以设置的大些,这样可以保证数据不会丢失,同时减少系统中断次数,减小系统负荷,提高处理器的处理速度。

利用ARM的串口传送实现数控系统G代码的高速处理

图 1 中断服务程序流程图

三、上位机软件和ARM 串口数据传送软件设计

ARM 系统中开辟了一个串口数据接收队列缓存区,因此就要求上位机串口发送软件能够配合ARM 处理能力对数据发送进行流量控制。

利用ARM的串口传送实现数控系统G代码的高速处理

图2 上位机软件和ARM 数据传送流程图

程序中NUM 表示文件的总字符数,在开始传送代码数据的时候作为开始发送文件的一个信号传送给ARM,同时作为文件传送结束判断依据。SUM 表示代码已经传送的字符数。其初始化值为0。

四、结论:

串口设置为:波特率 115200,8位数据位,1为停止位,无奇偶校验,无流控制。通过串口调试助手,选择发送文件,发送PC机上CAM 软件CAXA 制造工程师生成的加工文件(大小182K)。通过串口发送给ARM 数控系统处理,系统能够很好的保证ARM 数控系统正确处理G 代码的情况下,高速传送G 代码数据。

测试表明:数控系统的大量G 代码可以很好的完成加工,并且已经应用到了数控系统设计当中,实践检验该方法可以提高数控系统的加工效率。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9045

    浏览量

    366802
  • 代码
    +关注

    关注

    30

    文章

    4744

    浏览量

    68345
  • 数控系统
    +关注

    关注

    5

    文章

    258

    浏览量

    24208
收藏 人收藏

    评论

    相关推荐

    基于ARM和FPGA的嵌入式数控系统设计

    本文提出一种基于ARM和FPGA的嵌入式数控系统设计方案。该系统ARM运行速度快、计算精度高的优点和FPGA内部逻辑的在线可重构性等特点相结合,提高了资源
    发表于 05-31 15:45 6334次阅读
    基于<b class='flag-5'>ARM</b>和FPGA的嵌入式<b class='flag-5'>数控系统</b>设计

    怎么建立开放数控系统模型?

    “NC嵌入PC”的开放式数控系统结构模型,充分利用了PC机的丰富资源(内存空间大、硬盘容量大和高速运算功能的CPU),使这种结构模式成为开放数控系统的主流设计。DSP因其
    发表于 08-26 07:03

    深圳四元数数控示教型数控系统有什么特点?

    ,操作简单可靠;6、U盘在线升级,终身免费维护;7、ARM9处理器,全工业级设计,运行稳定,启动速度极快;8、网络接口,实现物联网,便于设备通信与监控。以上就是深圳四元数小编给你们介绍的深圳示教型
    发表于 03-02 17:06

    ARM数控系统高速处理串口数据的研究

    数控实际加工先采用CAD/CAM 软件画图,根据图形生成G 代码,然后将G 代码传送
    发表于 10-12 14:40 44次下载

    基于ARM数控系统的PC104总线设计

    根据基于ARM 处理器的数控系统的需要,通过对EP9315 开发板的研究与实验,提出一种在ARM 数控系统
    发表于 01-07 14:03 30次下载

    利用RCS库实现数控系统模块间的通信

    采用层次化的设计思想,对数控系统进行模块划分,数控系统对实时性要求很高,尤其是运动控制模块,因此如何实现各个模块间的通信就显得十分重要。介绍了RCS 库的原理,以
    发表于 01-11 14:27 14次下载

    利用RCS库实现数控系统模块间的通信

    采用层次化的设计思想,对数控系统进行模块划分,数控系统对实时性要求很高,尤其是运动控制模块,因此如何实现各个模块间的通信就显得十分重要。介绍了RCS库的原理,以及利用RCS库
    发表于 07-13 15:30 21次下载

    ARM数控系统高速处理串口数据的研究

    数控实际加工先采用CAD/CAM软件画图,根据图形生成G代码,然后将G代码传送
    发表于 07-13 15:35 9次下载

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

    摘要:本文介绍了基于ARM的嵌入式数控系统。该系统为主从式结构,上位机以ARM9为核心,实现人机交互,下位机以
    发表于 07-21 15:00 1524次阅读
    基于<b class='flag-5'>ARM</b>设计的嵌入式<b class='flag-5'>数控系统</b>方案

    基于ARM与FPGA的嵌入式数控系统设计

    基于ARM与FPGA设计了嵌入式数控系统。其ARM芯片采用Samsumg公司的基于ARM9的 S3C2410 , FPGA采用Altera公司的Cyclone系列的EP1C20。介绍了
    发表于 07-25 18:22 74次下载
    基于<b class='flag-5'>ARM</b>与FPGA的嵌入式<b class='flag-5'>数控系统</b>设计

    开放数控系统模型的建立及实现

    本文在开放数控模型的基础上,提出了一个经济、高速的开放数控系统结构模型。该数控系统在软硬件平台体现出了良好的开放性,能控制多种电机四轴联动,符合开放
    发表于 08-28 18:02 1536次阅读
    开放<b class='flag-5'>数控系统</b>模型的建立及<b class='flag-5'>实现</b>

    基于ARM和DSP的可重构数控系统

    基于ARM和DSP的可重构数控系统
    发表于 09-25 08:16 8次下载
    基于<b class='flag-5'>ARM</b>和DSP的可重构<b class='flag-5'>数控系统</b>

    基于ARM的嵌入式数控系统方案研究与应用

    基于ARM的嵌入式数控系统方案研究与应用
    发表于 10-25 09:20 5次下载
    基于<b class='flag-5'>ARM</b>的嵌入式<b class='flag-5'>数控系统</b>方案研究与应用

    基于ARM和FPGA的开放性计算机数控系统

    本文提出了一种基于 ARM 和 FPGA 的嵌入式 数控系统 设计方案。详细介绍了ARM系统的软硬件设计,基于FPGA的硬件精插补实现方法以
    发表于 04-23 10:45 1040次阅读
    基于<b class='flag-5'>ARM</b>和FPGA的开放性计算机<b class='flag-5'>数控系统</b>

    数控系统除了直线插补还有什么

    方式,包括圆弧插补、螺旋插补、抛物线插补等。 一、数控系统概述 1.1 数控系统的定义 数控系统是一种利用计算机技术对机床进行控制的系统。它
    的头像 发表于 07-01 11:33 612次阅读