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

发布者:绿意盎然最新更新时间:2016-09-13 来源: e-works关键字:数控系统  串口数据  ARM 手机看文章 扫描二维码
随时随地手机看文章
一、 引言

  现代数控加工都是先采用 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;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 串口数据传送软件设计

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

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

四、结论

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

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

关键字:数控系统  串口数据  ARM 引用地址:ARM数控系统高速处理串口数据的研究

上一篇:STM32单片机的具体介绍和技术知识
下一篇:stm32之CAN总线基础

推荐阅读最新更新时间:2024-03-16 15:09

基于ARM S3C2440的太阳跟踪系统设计
基于计算机视觉原理,以ARM微控制器为核心构建嵌入式图像处理平台,实现了对太阳的实时跟踪。系统采用CMOS图像传感器采集太阳图像,通过微控制器计算太阳角度,通过串口控制转台,实现对太阳的高精度跟踪。同时,与视日运动规律相结合,保证系统的可靠性。试验表明,该系统在降低系统能耗的同时,能可靠有效地跟踪太阳运动。 随着社会的发展和进步,环保节能已经成为人类可持续发展的必要条件。目前,再生能源的开发和利用越来越受到人们的关注。太阳能由于其普遍、无害、无限、长久等特点,成为最绿色、最理想、最可靠的替代能源。但太阳能同时存在分散,不稳定,效率低等特点,太阳能光伏系统为解决这一问题提供了条件。 就目前的太阳能光伏系统而言,如何最大限度提
[单片机]
基于<font color='red'>ARM</font> S3C2440的太阳跟踪系统设计
嵌入式系统开源软件的回顾和展望
  回顾过去20年嵌入式系统在国内各行各业蓬勃发展,其中有两项重要技术对此贡献很大:一是ARM,二是开源软件,尤其是Linux和与Linux相关的开源软件。对于ARM,今天业内热议的ARM上网本现在看只是_二个桥头堡。进攻胜利了,ARM即刻大举占领利润丰厚的PC市场,退一步也可以保住自己的移动终端和已经牢牢把握的嵌入式市场。ARM要想成功,必然要仰仗开源软件;指望微软是不行的,微软有太多的历史包袱和既得利益,在windows 7是否支持ARM架构这件事情上一直摇摆不定。另一方面,Linux在经历了漫长和痛苦的桌面市场的博弈之后,发现了移动计算这片领域,开始是智能手机、MID,到现在的上网本(netbook),还有未来的智能本(一种
[嵌入式]
一种基于ARM和FPGA的嵌入式高速图像采集存储系统设计与实现
  现代化生产和科学研究对图像采集系统要求日益提高。传统图像采集系统大都是基于PC机上,而在一些特殊的场合,尤其是在实时性要求较高时,普通的PC机显然无法满足应用要求。它主要包括图像采集模块、图像处理模块以及图像存储模块等。    1 系统结构及工作原理   本系统的结构模型,如图1所示。图像采集模块负责采集原始图像,并将原始图像数据送给FPGA,采用了可编程视频输入处理器SAA7113H。一帧图像采集完成后,ARM将图像数据通过FPGA取出,进行必要的处理,并形成图片文件存到CF卡中,本系统选用了Philips公司的LPC2214。   图像采集芯片将原始图像数据传到FPGA,FPGA将图像原始数据暂存于SRAMl中,
[单片机]
一种基于<font color='red'>ARM</font>和FPGA的嵌入式高速图像采集存储系统设计与实现
Mentor携手Arm优化下一代 IC的功能验证
Mentor, a Siemens business 近日与 Arm® 深化合作,帮助集成电路 (IC) 设计人员优化基于Arm设计的功能验证。通过此次合作,Arm的设计评审计划 (Design Reviews program) 可以为客户提供Mentor功能验证工具的专业知识,助其优化基于Arm的芯片级系统 (SoC) 设计。 Arm与Mentor合作推出的 RTL 验证设计评审 (Verification Design Review) 服务,能够帮助IC设计团队在 RTL层级为其Arm IP实现质量、高级功能和成本之间的适当平衡,帮助客户增强包括信号连接、系统一致性、正确实现和系统性能等在内的关键设计元素。 “Ment
[半导体设计/制造]
C51通用串口收发数据C语言程序
#include reg52.h //C51通用串口收发数据C语言程序模块 #define uchar unsigned char #define uint unsigned int uchar shu; bit i; sbit led1=P0^0; void delayms(uint xms) //1ms; { uint i,j; for(i=xms;i 0;i--) for(j=110;j 0;j--) ; } /************************************************************************/ void UART_ini
[单片机]
ARM寄存器小结
ARM 微处理器支持7种运行模式,分别为: 1. 用户模式(usr): ARM 处理器正常的程序执行状态; 2. 快速中断模式(fiq):用于高速数据传输或通道管理; 3. 外部中断模式(irq):用于通用的中断处理; 4. 管理模式(svc):操作系统使用的保护模式; 5. 数据访问终止模式(abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护; 6. 系统模式(sys):运行具有特权的操作系统任务; 7. 未定义指令中止模式(und):当未定义指令执行时进入该模式,可用于支持硬件协处理器的软件仿真 ARM 体系结构的存储器格式有如下两种: 大端格式:字数据的高字节存储在低地址中,字数据的低字
[单片机]
基于MAX194芯片在ARM单片机系统中的设计
描述了 MAX194 的工作过程,给出了一段A,D转换的具体程序。  引言     为了实现计算机的自动测量与控制,越来越多的领域采用了A/D转换技术。随着大规模集成电路芯片技术的发展,速度更快、精度更高、使用更方便的集成电路芯片层出不穷。本文介绍了一种笔者使用后取得良好效果的新型A/D转换芯片—MAX194。另外,由于32位处理器的价格不断下降,用户已可以大量使用,而32位RISC处理器则更是受到青睐,并将在某些领域替代原来的8位单片机。其中,ARM嵌入式微处理器系列处于领先地位。笔者所介绍的数据采集系统中采用的是PHILIPS公司生产的以ARM7处理器作为内核的LPC2104单片机。 1    MAX194简介     M
[单片机]
基于ARM和Linux交叉开发环境的搭建
摘要:交叉开发环境是嵌入式Linux开发的基础.后续的开发过程几乎都是基于此环境的。而ARM作为一种高性能、低成本的嵌入式RISC微处理器。已成为应用最广泛的嵌入式处理器。本文内容包括基于32位ARM920T核“GEC2410”开发板的硬件结构和嵌入式Linux交叉开发环境的概念和配置.开发工具的使用以及交叉调试器制作的方法。利用虚拟机在Windows操作系统下,为“GEC2410”开发板搭建了一个嵌入式Linux的运行平台。 关键词:交叉开发环境;ARM;Linux 0 引言 目前,随着ARM技术的日益成熟和广泛应用,基于ARM核的微处理器已经成为嵌入式市场的主流。而建立面向ARM构架的嵌入式操作系统也就成为当前研究
[工业控制]
基于<font color='red'>ARM</font>和Linux交叉开发环境的搭建
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved