历史上的今天
返回首页

历史上的今天

今天是:2026年01月30日(星期五)

正在发生

2023年01月30日 | 基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

2023-01-30 来源:elecfans

引言

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


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

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

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

2 S3C2440A控制系统

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


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

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

要实现该操作系统在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时序如下:

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

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


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

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


4.1 数字积分插补算法

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


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

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

4.2 数字积分插补的FPGA实现

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

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

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


4.3 加减速控制模块

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


4.3.1 梯形加减速

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

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

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

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

4.3.2 S形加减速

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

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

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

基于ARM和FPGA的硬件平台实现了具有高开放性特征的嵌入式数控系统

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


5 结束语

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


推荐阅读

史海拾趣

芯朋微电子(chipown)公司的发展小趣事

随着技术的不断进步和市场需求的增长,芯朋微电子逐步将产品线拓展至标准电源和工业驱动领域。2013年,公司推出工控功率芯片产品,这些芯片广泛应用于电机、基站、智能电表等行业领域,进一步扩大了公司的市场份额。

ddm hopt + schuler GmbH & Co KG公司的发展小趣事

进入21世纪后,ddm hopt + schuler公司紧跟数字化浪潮,积极推动数字化转型和智能制造。公司引入先进的物联网、大数据和人工智能技术,对生产线进行智能化改造和升级。通过实时数据监控和分析,公司能够更准确地预测市场需求、优化生产计划、提高生产效率。同时,智能制造也为企业带来了更高的灵活性和更低的成本。

Comus_International公司的发展小趣事

随着市场的不断变化和客户需求的日益多样化,Comus International并没有满足于现状。公司开始着手新产品的开发,不久便推出了金属汞开关,并最终成功研发了获得专利的无汞开关。这些创新产品不仅进一步巩固了公司在市场上的地位,也拓展了其业务范围,为公司的长远发展注入了新的活力。

Efficient Power Conversion公司的发展小趣事

随着EPC公司氮化镓技术的不断完善和成熟,其产品开始受到市场的广泛认可。无线电源传送、全自动汽车、高速移动通信等领域的企业纷纷采用EPC公司的氮化镓功率半导体器件,以提高其产品的性能和效率。EPC公司的市场份额逐渐扩大,成为氮化镓功率管理技术领域的领军企业。

Gould Ami公司的发展小趣事
注意用电安全,确保电源线路连接牢固、电压稳定,避免发生触电或火灾等事故。
CLANDELL公司的发展小趣事

随着国内市场的饱和,CLANDELL公司开始寻求国际化发展。公司通过市场调研和合作伙伴的建立,逐步拓展海外市场。在国际化的过程中,CLANDELL公司不仅提升了自身的品牌影响力,也学习到了国际先进的管理经验和市场策略,为公司的长远发展奠定了坚实基础。

问答坊 | AI 解惑

论文 源码公开的mcs-51单片机的宏汇编器

论文 源码公开的mcs-51单片机的宏汇编器…

查看全部问答>

USB开发板 开发板 usb开发板 USB2.0开发板

更多详细资料请登陆:http://www.huanor.com 淘宝网址:http://shop36289907.taobao.com QQ:565408662或者871001268 手机:13466617480或者15801405586 座机:010-82534219 Email:huanor_sales@hotmail.com 地址:北京市海淀区中关村大街28-1 ...…

查看全部问答>

如何用红外发射接收控制继电器来使光驱弹开闭合

红外发射,有物体挡住,反射接收,输出信号控制继电器,继而控制光驱  请各位大虾会的帮帮忙 画出电路图~~~…

查看全部问答>

STM32的中断嵌套问题?

1:我使用的是STM32F103VET6,现在用到了定时器中断和外部中断。这两个中断单独都能使用。但是在外部中断中调用定时器中断,则定时器不进行中断。猜测是在进入外部中断后关闭了总中断,从而定时器中断不响应。请问我查看了汇编代码,在进入中 ...…

查看全部问答>

求st7 cosmic 16K版本编译器,谢谢,特急!!!

公司有个项目要用到st7的芯片,但是能下到的只是cosmic 4K的版本,听说以前是可以申请16K版本的,现在完全没有申请不到了,求助有这个编译器的人给我一个吧,谢谢了。michael.ou@logyi.com…

查看全部问答>

均值滤波 ---- 欢迎讨论

在数字电源中,用到均值滤波。传统的滤均值滤波方法是, 设对16个采样时间的值进行均值滤波,则将16个值相加,然后除16(右移四位)。 对于使用F28035,它的并行乘法、加很棒,且有倒数指令。对于均值滤仍采用传统的方法,显得笨拙且耗时, &nbs ...…

查看全部问答>

c28x下使用定点和浮点计算乘加操作需要的Cycle

; C28x 32位定点计算需要14个Cycle; ;Y1=(M1*X1)>> Q + B1MOVL XT,@M1IMPYL P,XT,@X1QMPYL ACC,XT,@X1ASR64 ACC:P,#QADDL ACC,@B1MOVL @Y1,ACC; Y2=(M2*X2)>> Q + B2MOVL XT,@M2IMPYL P,XT,@X2QMPYL ACC,XT,@X2ASR64 ACC:P,#QADDL ACC,@B2 ...…

查看全部问答>

modelsim编译ise库

使用win7 32bit系统,ise13.4,为什么每次运行ise——tools下的Simulation Library Compilation Wizard总提示_compxlibgui.exe已停止工作。。。…

查看全部问答>

[转]逐次逼近型 ADC:确保首次转换有效

逐次逼近型 ADC:确保首次转换有效 逐次逼近型架构 逐次逼近型ADC由4个主要子电路构成:采样保持放大器(SHA)、 模拟比较器、参考数模转换器(DAC)和逐次逼近型寄存器(SAR)。 由于 SAR 控制着转换器的运行,因此,逐次逼近型转换器一般 称 ...…

查看全部问答>