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

发布者:温暖拥抱最新更新时间:2021-04-16 来源: eefocus关键字:FPGA  嵌入式数控系统 手机看文章 扫描二维码
随时随地手机看文章

0 引言


现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和可重构设计是目前数控技术领域研究的热点,目的是为了适应技术发展和便于用户开发自己的功能。本文基于ARM和FPGA的硬件平台,采用策略和机制相分离的设计思想,设计了一种具有高开放性特征的嵌入式数控系统。该数控系统不仅具备了以往大型数控系统的主要功能,还具备了更好的操作性和切割性能,而且在开放性方面优势更为突出,使数控系统应用软件具有可移植性和互换性。


1 基于ARM和FPGA的嵌入式数控系统整体方案


基于ARM和FPGA的嵌入式数控系统结构如图1所示。按照模块划分的思想,本文将控制器分为人机交互、插补算法和通信三部分。系统中ARM采用三星公司推出的16/32位RISC微处理器S3C2440A,它采用了ARM920T内核,核心频率高达400MHz。FPGA采用Xilinx公司Spartan 3E系列的XC3S250E。

a.JPG

2 S3C2440A控制系统


ARM作为数控系统的控制核心主要负责对从数据存储器中读取或直接从上位PC或网络获得的零件加工代码和控制信息进行译码、运算、逻辑处理,完成加工数据的粗插补以及人机界面和数据通信。ARM系统是整个数控系统的控制核心,在嵌入式操作系统的管理下,采用分时处理的方式实现整个系统的信息处理和粗插补运算,通过键盘、触摸屏等输入装置输入各种控制指令,对数控系统的实时运行状态通过LCD、指示灯等显示,实现人机友好交互。基于S3C2440A控制器有各种通信接口,包括RS232、RS485、以太网口、USB等接口模块。通过这些接口实现文件传输和网络控制。


嵌入式数控的软件系统总体结构如图2所示。系统的软件结构主要分为两部分:操作系统软件和数控应用软件。由于数控系统是个实时多任务系统,实时性要求很高,为保证各个任务的协调执行,本系统采用了μC/OS-II实时操作系统作为软件平台。

b.JPG

要实现该操作系统在S3C2440A微处理器平台上的正常运行,需要修改与处理器类型有关部分的代码,操作系统移植需要完成的工作是改写三个文件,即改写文件0S_CPU.H、0S_CPU_A.ASM和OS_CPU_C.C。其中0S_CPU.H包括了用#define语句定义的,与处理器相关的变数、宏和类型。0S_CPU_A.ASM中定义了几个汇编语言函数,包括中断服务程序的中断向量地址等。如果某些C编译器允许在C语言中直接插入汇编语言语句,就不一定需要,用户可以把所需的汇编语言代码直接放到OS_CPU_C.C文件中。


3 ARM和FPGA的接口设计


为使系统能够按照预期设计良好工作,首先要从硬件上实现ARM和FPGA之间的可靠通信。本文采用的方案是在FPGA上实现SRAM时序,将FPGA作为一块特殊的内存设备挂接到ARM的内存地址空间。这样在ARM端只需要编写SRAM的驱动程序就可以实现对FPGA端的数据写入和读取。


3.1 SRAM时序


SRAM时序分为读时序和写时序两种。当CPU对SRAM进行读操作时,首先会在地址线上写入正确的地址信号,接着是对SRAM芯片的片选信号,然后是对芯片的读信号,之后经过一定的振荡期后CPU在数据线上读到稳定的有效数据。


当CPU对SRAM进行写操作时,首先会在地址线上写入正确的地址线号,接着是对SRAM芯片的片选信号,然后是对芯片的写信号,在写信号上升沿之前CPU会在数据线上准备好有效数据,以供SRAM芯片在写信号上升沿将数据写入相应的地址单元。


3.2 FPGA端SRAM实现


ARM和FPGA的通信需要的接口信号有地址线A0-A15、数据线D0-D15、片选信号nCS,读信号nRD和写信号new,每次需要实现16位数据的读写。用Verilog硬件语言描述SRAM时序如下:

c.JPG

可知只有在片选信号、读信号都拉低而写信号仍为高的情况下,才在data线上输出地址线上对应单元的数值,其他情况下FPGA都将data线置为高阻态,放弃对data线的控制。


4 基于FPGA的DDA精插补器设计


随着FPGA器件及其开发技术的日臻成熟,采用FPGA实现运动控制的方案显示出巨大的潜力。由于FPGA的设计是并行的、多线程,而且具有在线可编程能力,兼备了速度快和成本低的优点,同时克服了专用处理器灵活性方面的不足。基于FPGA的DDA精插补器相对传统的软件插补具有强大的优势。


4.1 数字积分插补算法


目前比较成熟的数控插补算法有逐点比较法、最小偏差法和数字积分法等,数字积分法又称数字微分分析器(Digital Differential Analyzer,DDA)。采用该方法进行插补,具有运算速度快、逻辑功能强、脉冲分配均匀等特点,可实现一次、二次甚至高次曲线插补,易于实现多轴联动。


数字积分插补算法是将函数的积分运算转换成变量的求和运算。如果所选择的脉冲当量足够小,则用求和运算代替积分所引起的误差可以不超过允许的数值。采用两个寄存器(函数寄存器和累加寄存器)和一个全加器构成数字积分器,将单位周期选得足够小,每单位周期都向累加器累加函数寄存器中的数值,如果累加器溢出,就向外发送脉冲,实时地改变函数寄存器的值,就可以完成步进电机的调速。DDA插补控制器设计的硬件描述语言程序的流程图如图3所示。

d.JPG

4.2 数字积分插补的FPGA实现


采用有限状态机的设计方法,每个轴的数字积分插补均由一个三状态机的积分累加器完成。本系统的FPGA开发环境为Xilinx公司的Xil inx ISE,并结合ModelSim仿真软件对整个系统进行了全面的功能验证。如图4所示为DDA插补模块的顶层RTL级原理图,由图5可知DDA插补模块的输入信号为各轴的起始坐标以及时钟信号和启动信号,输出信号为各轴的脉冲信号和方向信号。

e1.jpg

运用ModelSim仿真软件对DDA插补模块进行仿真验证。测试数据的起点坐标为(0,0,0)终点坐标为(8,15,11),仿真结果如图5所示,显示系统很好的完成了三轴的脉冲分配。


4.3 加减速控制模块


加减速控制是数控系统的关键技术之一,也是实现数控系统高实时性的瓶颈。数控系统中,为了保证机床在启动或停止时不产生冲击、失步、超程或振荡,必须对进给电机的脉冲频率或电压进行加减速控制。即当机床加速启动时,保证加在电机上的脉冲频率逐渐增加;而当机床减速停止时,保证加在电机上的脉冲频率逐渐减小。目前,电机加减速的常用控制方法是梯形加减速控制和S形加减速控制。本次设计采用两种控制方案以适应不同工作场合的要求。


4.3.1 梯形加减速


梯形加减速是指在加减速过程中加速度为常数,速度曲线为梯形的加减速过程。梯形加减速控制算法简单、易于实现,但在加减速过程中加速度曲线不连续会导致驱动机构的振动和冲击。正常情况下梯形加减速运动过程如图6所示分为加速段、匀速段和减速段三个阶段。

e.JPG

图7所示为ModelSim对梯形加减速模块的仿真结果,可以看到插补器输出的脉冲速度曲线呈现梯形,输出脉冲的频率的大小随速度的变化而变化,实现了电机的梯形调速。

f.JPG

4.3.2 S形加减速


S形加减速是指在加减速时,加速度导数为常数,速度曲线为S形曲线的加减速过程。通过控制加速度导数来避免加速度突变,减小加工过程中由于加速度突变引起的机械系统振动。S形曲线速度控制可以得到平滑的速度曲线,但算法复杂,运算时间长。

g.JPG

S形加减速中加速度相对加速度导数的变化规律相当于直线加减速中速度相对加速度的变化规律。如图8所示为S形曲线加减速的曲线图,图中从上到下依次为速度曲线、加速度曲线以及减速度曲线。从图中可以看出,正常情况下S形加减速分为:加加速段、匀加速段、减加速段、匀速段、加减速段、匀减速段和减减速段七个阶段。加速度连续,调速光滑,不会导致驱动机构的振动和冲击。

h.JPG

图9所示为ModelSim对S形加减速模块的仿真结果,可以看到插补器输出的脉冲速度曲线呈现梯形,输出脉冲的频率的大小随速度的变化而变化,实现了电机的S形调速。


5 结束语


本文给出了一种基于ARM和FPGA的开放性的嵌入式数控系统,突破了传统的计算机数控系统架构,采用ARM处理器S3C2440A和FPGA器件XC3S25 0E和μC/OS-II嵌入式实时操作系统组成的数控系统软硬件平台,充分利用了ARM微处理器的高速运算能力与FPGA的快速配置能力,大大减少了系统的外围接口器件,并具有良好的稳定性、模块化、可扩展性、可移植性等特点,有利于实现数控系统的开放化和网络化,有效地降低了系统成本,适合我国数控系统发展的需要,具有广阔的应用前景。


关键字:FPGA  嵌入式数控系统 引用地址:基于ARMS和FPGA的嵌入式数控系统设计

上一篇:ARM Linux中断源码分析(1)——中断初始化与注册
下一篇:快速学ARM--中断向量控制器VIC

推荐阅读最新更新时间:2024-10-25 15:12

基于ARMSFPGA嵌入式数控系统设计
0 引言 现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和可重构设计是目前数控技术领域研究的热点,目的是为了适应技术发展和便于用户开发自己的功能。本文基于ARM和FPGA的硬件平台,采用策略和机制相分离的设计思想,设计了一种具有高开放性特征的嵌入式数控系统。该数控系统不仅具备了以往大型数控系统的主要功能,还具备了更好的操作性和切割性能,而且在开放性方面优势更为突出,使数控系统应用软件具有可移植性和互换性。
[单片机]
基于<font color='red'>ARMS</font>和<font color='red'>FPGA</font>的<font color='red'>嵌入式</font><font color='red'>数控系统</font>设计
基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统
引言 现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和可重构设计是目前数控技术领域研究的热点,目的是为了适应技术发展和便于用户开发自己的功能。本文基于ARM和FPGA的硬件平台,采用策略和机制相分离的设计思想,设计了一种具有高开放性特征的嵌入式数控系统。该数控系统不仅具备了以往大型数控系统的主要功能,还具备了更好的操作性和切割性能,而且在开放性方面优势更为突出,使数控系统应用软件具有可移植性和互换性。 1 基
[单片机]
基于ARM和<font color='red'>FPGA</font>的硬件平台实现了具有高开放性特征的<font color='red'>嵌入式</font><font color='red'>数控系统</font>
基于ARM和FPGA的硬件平台实现嵌入式数控系统
引言 现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和可重构设计是目前数控技术领域研究的热点,目的是为了适应技术发展和便于用户开发自己的功能。本文基于ARM和FPGA的硬件平台,采用策略和机制相分离的设计思想,设计了一种具有高开放性特征的嵌入式数控系统。该数控系统不仅具备了以往大型数控系统的主要功能,还具备了更好的操作性和切割性能,而且在开放性方面优势更为突出,使数控系统应用软件具有可移植性和互换性。 1 基
[单片机]
基于ARM和<font color='red'>FPGA</font>的硬件平台实现<font color='red'>嵌入式</font><font color='red'>数控系统</font>
基于ARM和FPGA嵌入式数控系统设计方案
本文提出了一种基于ARM和FPGA的嵌入式数控系统设计方案。详细介绍了ARM系统的软硬件设计,基于FPGA的硬件精插补实现方法以及数控系统的加减速控制策略。该系统将ARM运行速度快、计算精度高的优点和FPGA内部逻辑的在线可重构性等特点相结合,提高了资源利用率和实时性,增强了数控系统的灵活性。仿真和实践结果表明,整个控制系统具有实时性好、低成本、高性能等优点。 现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、
[单片机]
基于ARM和<font color='red'>FPGA</font>的<font color='red'>嵌入式</font><font color='red'>数控系统</font>设计方案
基于ARM和FPGA嵌入式数控系统设计
   0 引言   现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和可重构设计是目前数控技术领域研究的热点,目的是为了适应技术发展和便于用户开发自己的功能。本文基于ARM和FPGA的硬件平台,采用策略和机制相分离的设计思想,设计了一种具有高开放性特征的嵌入式数控系统。该数控系统不仅具备了以往大型数控系统的主要功能,还具备了更好的操作性和切割性能,而且在开放性方面优势更为突出,使数控系统应用软件具有可移植性和互换
[单片机]
基于ARM和<font color='red'>FPGA</font>的<font color='red'>嵌入式</font><font color='red'>数控系统</font>设计
基于嵌入式ARMS3C2440的裂纹实时测量系统的设计
引 言 在建筑业中,评价墙体裂纹,地面裂纹是评价房屋质量的一项重要指标。一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计
[单片机]
基于<font color='red'>嵌入式</font><font color='red'>ARMS</font>3C2440的裂纹实时测量系统的设计
基于嵌入式ARMS3C2440智能建筑物裂纹实时测量系统开发研究
0 引 言 在建筑业中,评价墙体裂纹,地面裂纹是评价房屋质量的一项重要指标。由于传统的利用手工标尺进行裂纹宽度测量的方法既不准确又不方便,于是将嵌入式应用于自动测量建筑裂纹宽度成为了许多研究者的重要研究内容。 本研究将问题划分为以下两个部分: (1)裂纹宽度测量算法; (2)将以上所开发软件移植到ARM开发板,并优化算法提高软件运行速度。 1 裂纹宽度测量算法 计算裂缝宽度关键是要利用图像分割技术得到裂缝的真正边缘。虽然已有文献介绍了多种分割方法,但是未见有针对裂缝测试仪采集到的裂缝图像进行处理的方法。因此,本文针对裂缝图像,提出了结合OTSU图像分割与Sobel边缘检测的混合算法进行裂纹检测与宽度测量。 1
[单片机]
基于<font color='red'>嵌入式</font><font color='red'>ARMS</font>3C2440智能建筑物裂纹实时测量系统开发研究
基于ARM和FPGA的开放性计算机数控系统
本文提出了一种基于ARM和FPGA的嵌入式数控系统设计方案。详细介绍了ARM系统的软硬件设计,基于FPGA的硬件精插补实现方法以及数控系统的加减速控制策略。该系统将ARM运行速度快、计算精度高的优点和FPGA内部逻辑的在线可重构性等特点相结合,提高了资源利用率和实时性,增强了数控系统的灵活性。仿真和实践结果表明,整个控制系统具有实时性好、低成本、高性能等优点。 现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整体功能日趋复杂,对运动控制系统的体积、成本、功耗等方面的要求越来越苛刻。现有计算机数控系统在运动控制方面逐渐呈现出资源浪费严重、实时性差的劣势。此外,数控系统的开放性、模块化和
[单片机]
基于ARM和<font color='red'>FPGA</font>的开放性计算机<font color='red'>数控系统</font>
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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