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

发布者:Ziran520最新更新时间:2011-05-30 关键字:ARM  嵌入式数控系统 手机看文章 扫描二维码
随时随地手机看文章

    传统的数控系统通常是在通用计算机或工控机的基础上加装运动控制卡,使用Windows操作系统,并安装昂贵的数控软件构成的。此类系统成本高,功耗大,不太适合中小规模的应用场合。而嵌入式产品具有系统结构精简、功耗低等特点,能弥补传统数控系统的不足。

    目前,嵌入式数控系统主要有两种形式:完全依靠嵌人式处理器控制的系统以及嵌入式处理器和运动控制芯片相结合的系统。与前者相比,后者南于采用了专业的运动控制芯片,在实时性和精度等方面的表现更好,因而成为未来的一个发展方向。本文介绍了一种基于ARM控制器和FPGA运动控制芯片的主从式数控系统,希望能为AR M在嵌入式数控系统中的应用提供一些参考。

1 总体设计

    本系统为主从式结构。上位机以S3C2410 ARM9控制器为核心,移植Linux系统和QT/Embedded图形库,主要实现G代码文件处理、加工位置的显示、手动控制等人机交互功能。下位机以$3C44B0 ARM7控制器为核心,斯迈迪的SM5004 FPGA芯片为运动控制器,实现电机驱动、冷却液开关、紧急停止等机床控制功能。上下位机通过CAN总线通信。

2 硬件设计

2.1CAN接口设计

    由于S3C2410和S3C44B0不带CAN接口,所以必须对其进行扩展。S3C2410的CAN 扩展接El如图1所示,S3CA4B0的CAN接口与其相似。

 

    系统的CAN控制器使用MCP2510芯片。MCP2510的复位引脚RESET与$3C2410的复位引脚nRESET相连,片选引脚CS与S3C2410的GPH0相连。OSC1和OSC2引脚连接一个16M 的晶振作为时钟源。SI、SO和SCK分别与S3C2410的SPI El MOSIO、MISO0和SPICLKO相连。如果SPI口被其它设备占用,也可用其它的I/O El代替,但要编写软件算法来模拟SPI的读写操作。系统采用中断方式读写MCP2510,因此它的INT引脚与S3C2410的外部中断引脚EINT4相连。在外部中断引脚资源比较紧张的情况下,也可使用查询方式读写MCP2510,此时INT可以悬空。

    系统的CAN 收发器使用TJA105O芯片,该芯片的TXD和RXD与MCP2510的TXCAN和RXCAN相连,Rs引脚连接的斜率电阻为1K。

    TJAlOS0输出CANH、CANL差分信号,通过J1001插口接人物理线路。

2.2输入输出接口设计

    S3C44B0 ARM 和SM5004 FPGA芯片提供了很多通用输入输出接口,为了有效的防止干扰进入系统,这里采用了光耦隔离,如图2所示。

    在低速开关量中,由图2(a)可以看出,这里采用贴片低速光耦MOCD217一M。它是Motorola公司的产品,是具有低输入电流的双路光耦。之所以这里在接人输入口之前加入电阻R3,是因为ARM 中的部分I/0 口是开漏式的,防止在输入输出过程中电流过大,将相应口烧坏。如图2(b)在高速开关量中,采用HC—PL0661双路光耦进行扩展,它是Agilent Technologies公司的产品,其开关速率可达到1O M左右,可应用于各种高速脉冲输入输出的场合。[page]

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”,即一个脉冲当量,则:

[page]

    数字积分法插补器的关键部件是累加器和被积函数寄存器,每一个坐标方向就需要一个累加器和一个被积函数寄存器。一般情况下,插补开始前,累加器清零,被积函数寄存器分别寄存X和Y ;插补开始后,每来一个累加脉冲△£,被积函数寄存器里的内容在相应的累加器中相加一次,相加后的溢出作为驱动相应坐标轴的进给脉冲Ax(或Ay),而余数仍寄存在累加器中;当脉冲源发出的累加脉冲数m恰好等于被积函数寄存器的容量2 时,溢出的脉冲数等于以脉冲当量为最小单位的终点坐标,刀具运行到终点。数字积分法插补第1象限直线的程序流程图如图6所示,插补轨迹如图7所示。

 

4 结束语

    ARM 结合FPGA 运动控制芯片的方式,既能发挥ARM 运算速度快、硬件资源丰富的优势,又能利用FPGA出色的运动控制功能。相比与传统的纯ARM 控制的数控系统,在实时性、控制精度等方面更具优势,是未来嵌入式数控系统的一个发展方向。

 

 

关键字:ARM  嵌入式数控系统 引用地址:基于ARM设计的嵌入式数控系统方案

上一篇:嵌入式机器视觉系统中ARM与DSP的数据通信方法
下一篇:基于ARM9在高精度生化分析仪温度控制系统中的应用

推荐阅读最新更新时间:2024-03-16 12:36

基于ARM Cortex-M3的MODBUS协议实现及其应用
漏磁探伤作为非接触式的无损探伤技术,其具有检测速度快、灵敏度高、无需耦合剂、易于实现自动化等特点,是钢轨探伤技术的重点研究方向。为解决漏磁探伤研究中的实验仿真问题,研制了基于嵌入式系统的无损探伤试验仪,通过实现MODBUS协议与变频器通信,以此驱动交流电机与机械试验装置,完成运动控制并进行无损探伤试验。 针对无损探伤试验仪中变频器通信问题,依据MODBUS协议规定,利用RealView MDK开发了基于ARM Cortex-M3微控制器的嵌入式软件,实现了与变频器的MODBUS通信,完成变频调速的运动控制功能。 1 MODBUS协议 1.1 MODBOS协议简介 MODBUS是Gould Ine注册的通讯协议商标,该协议具
[单片机]
基于<font color='red'>ARM</font> Cortex-M3的MODBUS协议实现及其应用
ARM基础知识教程四:ARM存储系统概述
* ARM存储系统的体系结构适应不同的嵌入式应用系统的需要差别很大。最简单的存储系统使用平办事的地址映射机制,就像一些简单的弹片机系统中一样,地址空间的分配方式是固定的,系统各部分都使用物理地址。而一些复杂系统可能包括下面的一种或几种技术,从而提供更为强大的存储系统。 系统中可能包含多种类型的存储器,如FLASH,ROM,RAM,EEPROM等,不同类型的存储器的速度和宽度等各不相同。 通过使用CACHE及WRITE BUFFER技术缩小处理器和存储系统速度差别,从而提高系统的整体性能。 内存管理部件通过内存映射技术实现虚拟空间到物理空间的映射。在系统加电时,将ROM/FLASH影射为地址0,这样可以进行一些初始化处理;当这些初始
[单片机]
机器人会取代人类吗,你错了,它只是玩儿“辅助”的
机器人(Robot)是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它的任务是协助或取代人类工作的工作,例如生产业、建筑业,或是危险的工作。下面就随嵌入式小编一起来了解一下相关内容吧。 机器人会取代人类吗,你错了,它只是玩儿“辅助”的 根据ARM委托第三方针对全球近4000名消费者进行的独立调查显示,仅少数受访者认为人工智能的发展将导致机器人盛行,取代人类就业。 消费者对未来的愿景相当乐观,有61%的受访者认为自动化技术与AI的日渐盛行「会让社会变得更好」。 考虑到人工智能将在未来逐渐融入日常生活,30%的消费者认为这项发展最不利的因素是「人类的工作变少或
[嵌入式]
ARM宣布现任CEO将退休 集团总裁接任
沃伦·伊斯特   新浪科技讯 北京时间3月19日下午消息,英国芯片设计公司ARM周二宣布,该公司CEO沃伦·伊斯特(Warren East)在担任这一职位近12年之后即将退休。   伊斯特将于7月1日卸任,当前的ARM集团总裁西蒙·希加斯(Simon Seagars)将成为ARM的新任CEO。希加斯从1991年开始供职于ARM。   近年来,ARM股价表现强劲,而ARM处理器也被广泛用于智能手机和平板电脑。(李丽)
[嵌入式]
<font color='red'>ARM</font>宣布现任CEO将退休 集团总裁接任
ARM S3C2440 时钟初始化流程
1.设置lock time 2.设置分频系数 3.设置CPU到异步工作模式 4.设置 FCLK 了解 芯片的时钟原理图,以及寄存器的作用 了解芯片的晶振频率,锁相环,分频系数,以及有哪些时钟
[单片机]
ARM与多家合作伙伴共同发起人工智能生态联盟
ARM与多家生态系统合作伙伴发起ARM人工智能生态联盟(ARM AI Ecosystem Consortium,简称AIEC)。联盟旨在联合产业链上下游合作伙伴,围绕以具体应用场景部署为目标,建立以数据、算法、芯片为支撑的互动创新生态体系,拉通云端和终端,加速人工智能产业化。下面就随手机便携小编一起来了解一下相关内容吧。 ARM与多家合作伙伴共同发起人工智能生态联盟 上海市经济信息化委员会主任陈鸣波以及各发起企业代表出席了今天在上海举行的发起仪式。 随着算法、计算能力和大数据这三大人工智能要素的发展,人工智能范式迁移已现端倪,技术和产业两个维度的“奇点时刻”正在临近。IDC预计到 2020 年全球 AI 市场将达到 47
[手机便携]
详解 ARM Linux启动过程分析
ARM Linux启动过程分析是本人要介绍的内容,嵌入式 Linux 的可移植性使得我们可以在各种电子产品上看到它的身影。对于不同体系结构的处理器来说Linux的启动过程也有所不同。本文以S3C2410 ARM处理器为例,详细分析了系统上电后 bootloader的执行流程及 ARM Linux的启动过程。 1、引 言 Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torvalds在1991 年开发出来的,之后在 GNU的支持下,Linux 获得了巨大的发展。虽然 Linux 在桌面 PC 机上的普及程度远不及微软的 Windows 操作系统,但它的发展速度之快、用户数量的日益增多,也是微软所不能轻视的。而近些年来
[单片机]
使用ARM9的心电除颤模拟发生系统设计
随着社会的发展,人们的医疗保健意识越来越强,所以医生的培训也就成为非常重要的环节。心电除颤技术作为医生培训的一个主要方面,若操作规范,动作熟练,往往在紧急关头可以救人于危难之间,在培训的时候,如果能够真实地模拟急救除颤的场景,将会起到良好的学习效果。因此,在急救、有创性临床操作训练上,医学模拟教学日益显示出其成本低、重复性高、教学效率高以及符合医学伦理要求等优势。 除颤模拟发生系统可以任意选择34种状态(包括成人和儿童两大类)时也可以连接医用监护仪,使除颤模拟更加逼真。学员可以进行不同能量的除颤练习,同时这也便于老师检验学员的学习效果。 该系统是根据心电图的有关原理以及监护仪的信号合成原理研制的,严格按照医学的相关规定,产
[单片机]
使用<font color='red'>ARM</font>9的心电除颤模拟发生系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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