欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

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

    • 资源ID:3394284       资源大小:16.50KB        全文页数:3页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    利用ARM的串口传送实现数控系统G代码的高速处理一、 引言现代数控加工都是先采用 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)数据缓存队列数据结构设计其中QUEUE_DATA_TYPE 代表传输的数据类型,每当有数据从串口传入ARM的时候,通过In 指针使数据入队列,有数据需要处理的时候,利用Out 指针来出队列,至于队列大小,要根据波特率的大小、串口中断频率等因素决定。还需要实现两个函数 uint8 QueueWrite(void *Buf, QUEUE_DATA_TYPE Data),和uint8QueueReadQUEUE_DATA_TYPE *Ret, void *Buf),主要是用来往数据队列里写数据和从数据队列里取数据,采用的是先进先出(FIFO)的方式.(2)串口初始化程序:U0IER = 0x05; /* 允许接收和发送中断 */(3)中断服务程序中断处理函数具体实现1数据可用中断处理For(i=0;iQueueWrite (Buf,UARBR);Else Break;3理论上可以屏蔽THRE 中断,但是同样也可以处理中断,处理方法是往FIFO 中填充数据For(i=0;iU0THR = data;4.同样线中断也可以屏蔽,当然也可以处理,处理的方法只需要读U0TSR 寄存器Data=U0TSR;中断服务程序中处理了超时中断,因此设置串口中断触发字节可以设置的大些,这样可以保证数据不会丢失,同时减少系统中断次数,减小系统负荷,提高处理器的处理速度。图 1 中断服务程序流程图三、上位机软件和ARM 串口数据传送软件设计ARM 系统中开辟了一个串口数据接收队列缓存区,因此就要求上位机串口发送软件能够配合ARM 处理能力对数据发送进行流量控制。图2 上位机软件和ARM 数据传送流程图程序中NUM 表示文件的总字符数,在开始传送代码数据的时候作为开始发送文件的一个信号传送给ARM,同时作为文件传送结束判断依据。SUM 表示代码已经传送的字符数。其初始化值为0。四、结论:串口设置为:波特率 115200,位数据位,为停止位,无奇偶校验,无流控制。通过串口调试助手,选择发送文件,发送机上CAM 软件CAXA 制造工程师生成的加工文件(大小182K)。通过串口发送给ARM 数控系统处理,系统能够很好的保证ARM 数控系统正确处理G 代码的情况下,高速传送G 代码数据。测试表明:数控系统的大量G 代码可以很好的完成加工,并且已经应用到了数控系统设计当中,实践检验该方法可以提高数控系统的加工效率。

    注意事项

    本文(利用ARM的串口传送实现数控系统G代码的高速处理.doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开