嵌入式数控系统软件总体设计研究

上传人:鲁** 文档编号:396427148 上传时间:2024-02-07 格式:DOC 页数:4 大小:18KB
返回 下载 相关 举报
嵌入式数控系统软件总体设计研究_第1页
第1页 / 共4页
嵌入式数控系统软件总体设计研究_第2页
第2页 / 共4页
嵌入式数控系统软件总体设计研究_第3页
第3页 / 共4页
嵌入式数控系统软件总体设计研究_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《嵌入式数控系统软件总体设计研究》由会员分享,可在线阅读,更多相关《嵌入式数控系统软件总体设计研究(4页珍藏版)》请在金锄头文库上搜索。

1、嵌入式数控系统软件总体设计研究 摘要:随着计算机和微电子技术的飞速开展,嵌入式系统作为计算机应用的一个重要领域,己深化到社会的方方面面。本文在arm9硬件平台的根底上,加强操作系统的实时性,设计满足数控磨床加工需求的软件系统。 关键词:嵌入式芯片;软件设计 一、嵌入式软件开发方式 绝大多数的linux或软件开发都是以native方式进展的,即本机开发、调试,本机的方式。这种方式通常不合适于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足资源在本机(即板子上系统)运行开发工具和调试工具。通常的嵌入式系统的软件开发采用穿插编译调试的方式。简单的说,穿插编译就是在一个平台上生成另一个平台上的可

2、执行代码,如在x86的pc机上生成arm平台的可执行代码。 穿插编译调试环境建立在宿主机(即一台pc机)上,对应的开发板叫做目的板。开发时使用宿主机上的穿插编译、汇编及连接工具形成可执行的二进制代码,(这种可执行并不能在宿主机上执行,而只能在目的板上执行。)然后把可执行文件下载到目的机上运行。穿插开发技术己成为嵌入式软件开发的主要方式。其开发步骤如下:在宿主机平台上面编写程序代码;)使宿主机与目的机连接,如使用穿插网线;使用穿插编译器等工具编译、连接应用程序,生成可执行代码;目的机挂载(mount)宿主机的方式(或将可执行代码下载到目的机):开发人员使用穿插调试器进展调试;假如程序调试没有发现

3、异常,那么转至第(10)步;调试程序时发现错误,那么利用穿插调试器定位错误;修改错误代码;重复(3)(9)步;将目的机程序固化至目的机上。LOCalhoST 二、数控系统软件任务研究 控软件的功能大致可分为两种,一种是控制功能,另一种是管理功能。其中,管理功能包括信息的输入功能、输出输入输出的处理功能、显示功能和诊断功能,控制功能包括译码功能、刀具补偿功能、速度控制功能、和位置控制功能。 从任务的特征来看,与通用实时系统相比,数控系统有以下特点: 数控系统是一个混合任务系统,其任务按是否具有实时性要求和周期性要求可分为:实时周期性任务、实时突发性任务和非实时任务。实时周期性任务是指严格以定长时

4、间间隔定时触发,并且在规定的时间内必须完成处理的任务。在数控系统中主要指加工过程中的插补控制、位置控制、数据采样等需快速响应的机床逻辑状态;实时突发性任务的发生是时间的随机函数,要求有很高的实时性,它包括机床紧急停顿、系统故障中断等;非实时性任务是指实时性要求很低的任务,如:人机界面监控,这类任务对于机床运行和加工质量的影响较小,其主要作用是让操作者理解机床运行状况,增强机床的易操作性。 任务之间具有相关性。数控系统的实时任务除了自身的时限要求以外,任务之间通常也不是完全独立的,一般存在时序约束、资源约束等约束关系。 系统在某一确定时刻的并发任务数量不多,与通用实时操作系统不同,数控系统的功能

5、单一,因此调度程序几乎不需要处理较大数量的并发任务。 三、需求分析 数控控制系统通过良好的人机交互界面,完成显示工作状态、操作人员进展参数设定等任务,主要有以下几个方面的综合要求: 系统界面要求:图形用户界面可以实时显示加工状态、当前时间、开机时间、加工时间、各个轴的坐标位置,正在运行的关键g代码程序段等信息; 系统功能要求:操作人员可以在符合国际标准的条件下,无需理解嵌入式数控系统的专用编程代码,直接使用符合国际标准的g代码和m代码,即可编制数控程序; 系统的运行要求:操作人员可以根据需要点击触摸屏和键盘或机床面板按钮,随时监控数控系统的工作状态;还可以通过参数设置实现对电机的控制,如电机的

6、启停,正反转等等; 异常处理要求:在正常消费条件下,每天运行16小时,数控系统的无故障率p(t)99%,这要求其mtbf值(数控系统的平均无故障时间,是衡量可靠性的重要指标)大于3万时;在硬件不受损坏的情况下,系统软件要有较强的容错才能。 将来可能提出的扩展要求:如能实现远程的联网控制、故障自诊断等、加工仿真、重要数据的备份、中英文界面切换等。 把上述提出的直观需求转化为详细的软件功能需求,即为: 完成电机的启动,制动和换向控制,实现加工过程中的主轴、近给速度实时调整。实现六轴的高精度联动,并通过插补,完成工件的加工、磨削;在可以满足一定精度的前提下,实现自由曲线的粗插补和精插补; 图形用户界

7、面要求:实现参数的图形菜单输入,加工过程的仿真,并实时显示加工图形和各轴坐标值,用户可以通过触摸屏和键盘进展参数设置,实现对电机的控制;实现伺服信号、开关量信号、和辅助信号的宏指令控制,且符合g代码和m代码功能定义; 实现各功能电路的plc控制,包括机床面板功能实现、主轴的起停、自动光滑控制以及过载、超载、碰撞、掉电等紧急情况的处理; 为了方便用户操作,还应提供操作提示和帮助文档,同时,系统具有一定的抗干扰才能,即使受到干扰使系统控制失灵或程序运行异常时,也可以从错误或故障中恢复,保证系统的正常工作。 从以上功能需求分析得知,一个功能满足六轴数控磨削系统根本需要的系统,必须包括以下几个模块:电

8、机 【1】【2】控制、图形界面、译码、plc、can通讯、硬件驱动等。 四、模块划分 模块划分的一条原那么是尽量降低软件模块间的祸合度,高祸合度的系统是很难维护的。一处的修改引起另一处甚至更多处的变动。藕合度低的软件可以很容易被重用、维护和扩大。另一条原那么是进步软件的内聚性,假如一个软件的模块只实现一个功能,那么该模块具有高内聚性。高内聚性的软件更容易维护和改良。判断一个模块是否有高的内聚性,是看能否用一个简单的句子描绘它的功能。假如用了一段话或者需要使用类似“和,“或等连词,那么说明需要将该模块细化。只有高内聚性的模块才可能被重用。遵循上述原那么,将系统软件划分为如图1所示的子模块。 嵌入

9、式操作系统是嵌入式系统的灵魂,它的出现大大进步了嵌入式系统开发的效率,减少了系统开发的总工作量,而且进步了嵌入式应用软件的可移植性。 本系统采用了嵌入式操作系统:linux。系统各模块在linux的统一控制管理下有效的协调的工作。由图1可知,本系统软件主要由以下几个功能模块组成: 设备驱动模块、译码模块、图形界面模块等。这些模块在操作系统的管理调度下协调一致的运行。 五、软件初始化及总程序流程 本系统采用s3c2410(arm9核)作为控制核心,在用户的应用程序之前,需要有一些专门的代码完成对系统的初始化。由于这类代码直接面对arm9处理器内核和硬件控制器,一般都使用汇编语言完成。系统上电或复

10、位后,程序从位于地址0x0的reset exception vector处开场执行(这里放置bootloader的第一条指令:bresethandler),跳转到标号为resethandler处进展第一阶段的硬件初始化,主要内容为:关看门狗定时器,关中断,初始化pll和时钟,初始化存储器系统。执行完以上程序后,系统进展堆栈和存储器的初始化。系统堆栈初始化取决于用户使用了哪些中断,以及系统需要处理哪些错误类型。一般情况下,管理者堆栈必须设置,假如使用了irq中断,那么irq堆栈也必须设置。假如系统使用了外设,那么需要设置相关的存放器,以确定其刷新频率、总线宽度等信息。然后是初始化有特殊要求的端口

11、和设备,初始化应用程序的运行环境。最后是调用主应用程序: importc_entry . b c_entry 数控系统的应用程序初始化流程如图2所示: 系统初始化以后,程序的大体流程为:首先加载g/m代码解释器、初始化参数,然后创立人机界面,g/m代码经解释后,再调用响应的例程完成i/o控制、插补、位置控制等,最后调用底层硬件的控制例程,完成对电机的控制。 参考文献 【1】刘艳霞,李淑芬.基于arm的嵌入式数控系统.微计算机信息.2022,22 【2】武汉理工大学.基于arm和dsp的嵌入式数控系统.中华人民共和国国家知识产权局,202210124742.0,2022-03-28 【3】金展,傅建中,陈子辰基于arm的嵌入式数控系统设计.机电工程,2022,22(2) 【1】【2】

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号