嵌入式数控系统论文(共12篇)
嵌入式数控系统论文 篇1
摘要:ARM微处理器和嵌入式Linux操作系统以其高性能、高可靠性、低成本等优势, 在现代的工业控制领域中得到了越来越广泛的应用。基于ARM的嵌入式数控系统的设计开发, 涉及计算机技术、嵌入式技术与数控技术等多方面内容, 设计了基于UTS3C6410目标板的嵌入式数控平台, 分析了Linux内核及必要库文件等的配置移植过程, 并在此基础上开发了支持Qt/Embedded库的一个人机交互界面。
关键词:人机界面,ARM,Linux,Qt/Embedded,交叉编译
0 引言
数控系统中一个重要组成部分就是优秀的人机界面模块。数控系统中, 应用程序是特定的, 要求编译工具必须定制;硬件资源有其有限性、专用性的特点, 要合理分配和管理;人机交互的方式上, 需要设计有针对性的交互软件。
本文就高性能处理器S3C6410, 利用开源嵌入式Linux操作系统, 对数控系统中人机交互系统进行了一定研究及开发, 主要完成了嵌入式UI开发环境的搭建、输入输出设备的驱动移植、人机交互界面的设计, 其中UI开发环境的搭建又包括两方面内容:PC开发环境搭建, 即PC主机上交叉编译环境及Qt开发环境的建立;嵌入式系统运行环境搭建, 即开发板上内核移植、文件系统、Qt应用库文件及环境变量配置等内容。
本设计主要在操作系统层、用户程序层进行论述, 对嵌入式操作系统移植、文件系统制作、驱动程序加载等方面做了一定的分析与实践。同时基于硬件及操作系统环境将Qt库移植到开发板上, 然后在Qt库的基础上设计与实现交互程序, 如图1所示。
其中作为软件载体的UT-S3C6410目标板为基于ARM内核技术的运算和信息处理平台。嵌入式Linux操作系统则以其精简、稳定、开源等诸多优点, 在顺利运行Qt程序的同时使得开发过程简便许多。最终搭建的系统最突出的特点在于其可移植性强、开放性强。
1 PC开发环境搭建
设计的主要开发任务是在PC主机上完成的, 而嵌入式平台仅是目标测试平台。PC主机上的开发环境主要包括交叉编译工具和Qt开发环境。为了对嵌入式系统进行交叉编译, 并考虑到兼容性等问题, 在PC主机上安装Linux操作系统 (此为Ubuntu10.10) , 主要的搭建工作都在Linux环境下完成。
交叉编译即一种计算机环境中运行的编译程序编译出在另外一种环境下运行的代码的编译过程。要实现针对特定两种计算机的交叉编译, 特制的交叉编译工具必不可少。建立针对ARM的交叉编译链, 与其他的体系结构相类似, 过程大致有以下几个步骤[1]:
(1) 下载源文件 (包括binutils、gcc、glibc、linux kernel) 、补丁和建立编译的目录
(2) 建立内核头文件
(3) 建立二进制工具 (binutils)
(4) 建立初始编译器 (bootstrap gcc)
(5) 建立c库 (glibc)
(6) 建立全套编译器 (full gcc)
通过交叉编译工具制作得到合适的编译工具之后, 还需要在PC主机Linux系统下安装该编译工具并修改环境变量使之生效, 可以使用export指令查看添加是否成功。
完成交叉编译工具的安装之后, 就可以开始安装需要使用到的开发工具了, 本设计主要的开发工具为开源的Qt界面开发套件。Qt工具的安装包括了Qt Creator、Qt Designer和Qt/Embedded的安装, 其中Qt/Embedded的编译比较复杂, 但它提供了将应用程序使用于目标嵌入式平台的编译工具和必要支持库, 所以必须在主机上安装。
首先进入主机工作目录, 在Linux终端下修改使用的交叉编译工具, 然后对Qt/Embedded的源代码进行交叉编译:
2 嵌入式运行环境搭建
如图2所示, 一个完整的嵌入式Linux系统组成包括:bootloader、boot parameters、kernel、root filesystem。嵌入式运行环境的搭建包括内核配置、根文件系统制作、库文件移植等内容。嵌入式系统上电启动直至进入内核文件系统的过程中, 我们从启动装载程序 (bootloader) 开始逐一搭建。
嵌入式系统运行平台千差万别, 必须要使用适合于自身平台的内核及工具软件。本设计中建立开发环境使用到的部分工具如下[2]:
(1) 交叉编译器:cross-4.2.2-eabi
(2) 内核版本:linux2.6.28
(3) Bootloader版本:u-boot-1.1.6
(4) 根文件系统:yaffs2
Bootloader代码是芯片复位后进入操作系统之前执行的一段代码, 主要用于完成由硬件启动到操作系统启动的过渡, 从而为操作系统提供基本的运行环境, 如初始化CPU、堆栈、存储器系统等, 其功能类似于PC机的BIOS程序, 本设计中选用比较流行的u-boot版本。而Linux从技术上来说是一个内核 (kernel) , 提供硬件抽象层、磁盘及文件系统控制、多任务等功能, 向外部提供了对计算机设备的核心管理调用。Linux是开源的, 其内核源码可以在www.kernel.org网站上下载到。
制作适用于目标平台的bootloader和kernel同样需要使用到之前安装的交叉编译工具。内核制作时, 可根据自身平台的资源和应用要求修改内核配置参数 (本设计主要须添加LCD) 。最后将编译得到的二进制映像文件烧写到目标平台中。
之后还须制作必要的根文件系统。文件系统是包括在一个磁盘 (包括光盘、软盘、闪盘及其它存储设备) 或分区的目录结构[3]。Linux引入了虚拟文件系统VFS (Virtual File System) , 为各类文件系统提供一个统一的操作界面和应用编程接口, 它将低层数据结构映射到高层数据结构, 决定目录项中存储文件的哪些信息等。Linux启动时, 第一个必须挂载的是根文件系统, 之后可以自动或手动挂载其他的文件系统。
通过借助Busybox工具可以完成文件系统的制作, 大致步骤如下:
(1) 配置Busybox, 配置制作的文件系统
(2) 编译Busy Box, 生成bin、sbin、linuxrc文件夹
(3) 创建文件系统其它目录 (boot、dev、etc、home、lib、mnt、proc、root、sys、tmp、var、usr)
(4) 建立、复制文件系统所需的文件 (包括console和null节点文件、fstab和inittab文件、rc S文件)
(5) 复制lib库文件, 完成文件系统制作
制作完成文件系统之后还须将文件系统烧写到目标平台的存储设备内, 并设置启动参数使之开机后能自动加载该文件系统。
最后需要将程序在目标平台运行必要的支持库文件下载到目标平台中。本设计中将编译好的tslib库和Qt Embedded-arm下/lib、/plugin文件夹下载到目标平台文件系统相同路径下, 同时修改目标平台的环境变量, 包括库链接路径、触摸屏设备、字体文件等。
3 Qt交互界面设计
Qt/Embedded是著名的Qt库开发商Troll Tech发布的面向嵌入式系统的Qt版本。同样基于客户/服务器体系结构, Qt/Embedded延续了Qt在X上的强大功能, 在底层摒弃了X lib, 针对高端嵌入式图形领域的应用而设计, 仅采用Framebuffer作为底层图形接口, 支持键盘、GPM鼠标、触摸屏以及用户自定义的设备等。Frame Buffer是出现在Linux 2.2.xx内核当中的一种驱动程序接口, 而Qt/Embedded就是采用Framebuffer作为底层图形接口的。
Qt包含了许多支持嵌入式系统开发的工具, 其中有两个完全集成在一起实用工具:qmake和Qt designer (图形设计器) [4]。qmake是一个为编译Qt/Embedded库和应用而提供的Makefile生成器。它能够根据一个工程文件 (.pro) 产生不同平台下的Makefile文件。qmake支持跨平台开发和影子生成, 易于在不同的配置之间切换。Qt图形设计器可以使开发者可视化地设计对话框而不需编写代码, 图3所示为Qt开发流程图。
如图4所示, 信号和插槽机制是Qt的核心机制[5]。信号和插槽是Qt自行定义的一种通信机制, 它独立于标准的C/C++语言, 因此要正确地处理信号和插槽, 必须借助一个称为moc (Meta Object Compiler) 的Qt工具, 该工具是一个C++预处理程序, 它为高层次的事件处理自动生成所需要的附加代码。所谓GUI就是要对用户的动作做出响应, 程序中必须把事件和相关代码联系起来, 这样才能对事件做出响应。信号与插槽机制则是一种强有力的对象间通信机制, 完全可以取代原始的回调和消息映射机制。在Qt中信号和插槽取代了函数地址指针, 使得通信程序更为简洁明了, 而且不会像回调函数那样产生core dumps。
一般情况下, 数控系统人机界面需要实现对特定类型文件的读取, 将其以图形形式显示, 并且能够提供基本图形来组建比较复杂的图形来满足用户的加工需求。同时, 通过交互界面, 数控切割机的运行参数情况可以由用户来设置保存以及实时显示。针对这些基本需求, 如图5所示, 本设计中在主界面下创建4个子界面入口, 分别为:
文件导入:该子界面下可以选择打开指定格式的文档, 将文档中指定的图形在绘图区域绘制出来, 并提供了运行管理界面的入口;
图形选择:此界面提供直线、弧线、矩形等六种基本图形作为构图元素, 可以设置这些基本图形的参数来绘制所需要的图形, 也提供了运行界面的入口;
参数设置:数控系统中所需设置的参数众多, 此界面中罗列了三块十余个可设置参数, 并可以将设置好的参数保存, 下次启动时将自动载入保存过的参数设置;
运行管理:此界面主要设计用来启停数控切割机的运行, 目前为对模拟运行的操作, 其中将部分参数显示出来, 并将所要切割的图形显示出来, 返回显示走线过程中当前坐标的位置, 如图6所示。
4 结束语
本文在ARM11高性能处理器的基础上, 使用嵌入式Linux操作系统平台, 详细地阐述了嵌入式开发平台的构建过程, 包括交叉编译环境、PC主机平台、嵌入式应用平台和嵌入式应用程序支持库等。最后依靠Qt/Embedded工具, 初步完成了一款针对数控系统的人机界面的实现。
参考文献
[1]孙纪坤, 张小全.嵌入式Linux系统开发技术详解——基于ARM[M].北京:人民邮电出版社, 2006.[2]UT-S3C6410开发板Linux使用手册[Z].深圳市友坚恒天科技有限公司, 2009.[3]鸟哥.鸟哥的Linux私房菜基础学习篇[M].北京:人民邮电出版社, 2010.[4]Jasmin Blanchette, Mark Summerfield.C++GUI Programming with Qt4[M].New Jersey:Prentice Hall, 2008.[5]蔡志明.精通Qt4编程[M].北京:电子工业出版社, 2008.
嵌入式数控系统论文 篇2
嵌入式操作系统(一)Windows系统
,
Source:
MILY: Arial“>RTOS Basics: The Task Model (Multitasking)
嵌入式系统浅探 篇3
关键词:嵌入式系统;技术特点;发展前景
中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30793-01
Simple Discussing the Embedded System
LI Xing-cai
(Guangzhou University Songtian College,Guangzhou 511370,China)
Abstract: This thesis firstly expounds the definition and sort of the embedded system, and then recounts the characteristics of the embedded system. Finally, it analyzes the development prospects of the embedded system.
Key words: Embedded system;Technical characteristics;Development prospects
1 嵌入式系统概述
1.1 嵌入式系统的定义
嵌入式系统是以应用为中心,以计算机技术为基础,将应用程序和操作系统与计算机硬件集成在一起,并且软硬件均可裁减,能够满足应用系统对功能、可靠性、体积、成本、功耗等方面有严格要求的专用计算机系统。简单地说,就是系统的应用软件与系统的硬件一体化。广义上可以认为,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。从狭义上讲,更加强调那些使用嵌入式微处理器构成独立系统,具有自己的操作系统,并且具有某些特定功能的系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能,它通常是一个包含机械、电子、计算机等多种工作部件的综合系统,嵌入在主要设备中运行。
1.2 嵌入式系统的分类
根据嵌入式系统的复杂程度,一般可以将嵌入式系统分为以下四类:
(1)单个微处理器
这类系统可以在小型设备中(如温度传感器、烟雾和气体探测器及断路器)找到。这类设备是供应商根据设备的用途来设计的。
(2)不带计时功能的微处理器装置
这类系统可在过程控制、信号放大器、位置传感器及阀门传动器等中找到。
(3)带计时功能的组件
这类系统可见于开关装置、控制器、电话交换机、电梯、数据采集系统、医药监视系统、诊断及实时控制系统等。它们是一个大系统的局部组件,由它们的传感器收集数据并传递给该系统。这种组体可同PC机一起操作,并可包括某种数据库(如事件数据库)。
(4)在制造或过程控制中使用的计算机系统
对于这类系统,计算机与仪器、机械及设备相连来控制这些装置的工作。这类系统包括自动仓储系统和自动发货系统。在这些系统中,计算机用于总体控制和监视,而不是对单个设备直接控制。过程控制系统可与业务系统连接(如根据销售额和库存量来决定定单或产品量)。
2 嵌入式系统的特点
2.1 嵌入式系统的技术特点
嵌入式系统是集软件、硬件于一体的高可靠性系统。嵌入式系统麻雀虽小,五脏俱全,软件除操作系统外,还需有完成嵌入式系统功能的应用软件;硬件除了CPU外,还需有微处理器、微控制器、嵌入式DSP 处理器等外围电路的支持。嵌入式系统和具体应用有机地结合在一起,嵌入式系统的发展离不开应用,应用的共同要求是系统资源开销小。由于嵌入式系统技术日益完善,各种高性能嵌入式应用系统层出不穷,它已是资源开销小的高性能价格比的一类应用系统。为了满足系统资源开销小、高性能、高可靠性的要求,大多使用Flash Memory。嵌入式系统是功能强大、使用灵活方便的系统,嵌入式系统应用的广泛性,要求该系统通常是无键盘、无需编程的应用系统,使用它应如同使用家用电器一样方便。嵌入式系统的最终目的就是要把一切变得更简单、更方便、更普遍、更适用。
2.2 嵌入式系统软件的特点
嵌人式处理器的应用软件是实现嵌人式系统功能的关键,对嵌人式处理器系统软件和应用软件的要求也和通用计算机有所不同。嵌入式系统系统软件的主要特点是:
(1)软件要求固态化存储;
(2)软件代码高、可靠性高;
(3)系统软件的高实时性是基本要求;
(4)需要实时多任务操作系统开发平台(RTOS)。
3 嵌入式系统的发展前景
3.1 技术水平越来越高
在嵌入式微控制器设计上采用了各种可靠性的新技术:
(1)EFT(ElectricalFastTransient)抗干扰技术
它是指在振荡电路的正弦信号受到外界干扰时,其波形上会迭加各种毛刺信号,如果使用施密特电路对其整形,则毛刺会成为触发信号干扰正常的时钟,在交替使用施密特电路和RC滤波电路时,就可以消除这些毛剌,否则令其作用失效,从而保证系统的时钟信号正常工作。这样,就提高了嵌入式微控制器工作的可靠性。
(2)低噪声布线技术及驱动技术
在传统的嵌入式微控制器中,电源及地线是在集成电路外壳的对称引脚上,一般是在左上、右下或右上、左下的两对对称点上。这样,就使电源噪声穿过整块芯片,对嵌入式微控制器的内部电路造成干扰。现在,很多嵌入式微控制器都把地和电源引脚安排在两条相邻的引脚上。这样,不仅降低了穿过整个芯片的电流,另外还在印制电路板上容易布置去耦电容,从而降低系统的噪声。
(3)采用低频时钟
高频外时钟是噪声源之一,不仅能对嵌入式微控制器应用系统产生干扰,还会对外界电路产生干扰,令电磁兼容性不能满足要求。对于要求可靠性较高的系统,低频外时钟有利于降低系统的噪声。在一些嵌入式微控制器中采用内部琐相环技术,则在外部时钟较低时,也能产生较高的内部总线速度,从而保证了速度又降低了噪声。
另外,嵌入式系统的集成度越来越高,在片上集成大容量存储器,系统部件越来越多,且追求更低功耗,更宽工作电压范围,更先进的工艺和更小的封装,同时更多嵌入式微系统采用多核结构处理器以满足并行高速的特殊需求。
3.2 网络化
为适应嵌人式分布处理结构和计算机网络应用技术的发展,面向21世纪的嵌人式系统要求配备标准的一种或多种网络通信接口。针对网络通信的要求,嵌人设备必需配有通信接口,相应需要TGP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌人式设备还需具备IEEE 1394,USB,CAN,Blue tooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。
3.3 人性化
在信息时代的今天,对用户来说能以最简单最快捷的方式获得所需信息是最重要的,因此简化操作是嵌人式设备所面临的挑战之一。人们与信息终端交互要求以GUI屏幕为中心的多媒体界面。手写文字输人、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。目前一些先进的PDA在显示屏幕上已实现汉字写人、短消息语音发布,但离掌式语言同声翻译还有很大距离。这些有赖于人们对人工智能及生物科技信息领域的进一步研究。总之,要尽量降低对用户的门槛,向傻瓜化发展,尽可能方便用户使用。
3.4 向ESOC发展
SOC全称在片系统(system on chip )。它的主要特点是将各种功能模块结合在一个芯片上。各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。例如要设计一个GSM通信模块,传统的做法是将微处器内核(如DSP)和GSM通信接口做在一块电路板上,而SOC则是将微处器与GSM通信上,构成SOC嵌人式系统(FSOC)。这种“多功能单芯片”模式,可以减小体积,降低功耗,精简对外管脚数,也有利于提高系统稳定性及抗干扰能力。
4 结束语
嵌入式系统的应用范围日渐扩大,已经深入到工业、农业、教育、国防、科研以及日常生活等各个领域中,对各行业的技术改造和自动化发展起着非常重要的推动作用。今后,嵌入式系统将会持续迅速发展,以满足各行各业的发展需要。
参考文献:
[1] 张晶,曾宪云. 嵌入式系统概述[J]. 电测与仪表, 2002,(4).
[2] 李林功,李华玲. 嵌入式系统的构成与特点[J]. 电测与仪表,2003,(5).
嵌入式数控系统硬件平台的研究 篇4
随着嵌入式技术的发展, 以ARM为首的嵌入式微处理器已经广泛的应用到人们生活的各个控制领域。将嵌入式技术应用到工业控制领域在国内还不多见, 特别是数控机床这些高端技术领域。数控机床既是高新技术专业不可缺少的基础装备, 又是传统产业更新换代的重要手段。嵌入式数控系统兼备嵌入式技术和数控技术结合的巨大优势, 必将符合新一代数控系统的各项性能要求。本文提出了一种基于韩国三星公司ARM9微处理器S3C2410和DSP专业运动控制器MCX314As的嵌入式数控系统的方案。通过在处理器中移植Linux操作系统, 可以很好的满足数控系统的多任务调度和实时性要求。该数控系统能充分发挥ARM与DSP专用运动控制芯片MCX314As各自的优势, 是对一种新的高性能的嵌入式数控系统的尝试。
1 基于ARM的嵌入式数控系统模型
基于ARM的嵌入式数控系统模型如图1所示:
从图1中可以看出该嵌入式数控系统的模型有三部分组成。其中最底层是ARM微处理器和运动控制芯片组成的数控系统硬件平台。设计采用ARM处理器为主CPU, DSP运动控制芯片为从CPU, ARM对运动控制芯片发出加工控制指令, 专业运动控制芯片可以很好的完成各种复杂的加工运算。中间层为操作系统层, 通过对Linux内核进行相应的裁剪, 移植到数控系统中, 大大的提高了数控系统的多任务处理能力和实时性。最上层是运动控制系统的匹配软件, 主要包括编写的各种控制函数, 如运动控制芯片的控制库函数等。
2 嵌入式数控系统的硬件结构
系统硬件平台由ARM9的S3C2410主控板和MCX314As运动控制板组成, 这样分开设计有利于使整个数控系统的硬件体系结构及各个模块的接口模块化和标准化。为将来模块或者系统的硬件维护和升级带来极大的方便。控制系统的硬件结构图如图2所示。
S3C2410是韩国三星 (Samsung) 公司设计的32位RISC嵌入式处理器。该处理器为手持设备和一般性应用提供了一个高性价比、低功耗、高性能的解决方案。该芯片基于ARM920T内核, 采用五级流水线和哈佛结构, 主频高达200MHz。ARM920T具有全性能的内存管理单元MMU (Memory Management Unit) 、独立的16KB指令和数据Cache以及高速AMBA总线接口。为了减少应用系统设计的成本, S3C2410集成了众多的常用资源, 例如:LCD控制器、NANDFlash控制器、SDRAM控制器、系统片选逻辑以及一些常用的通讯接口等资源, 这使它广泛的应用于工业控制领域。
MCX314As日本NOVA电子有限公司研制的DSP运动控制专用芯片, 性能优良、接口简单、编程方便、工作可靠, 可广泛应用于数控机床、机器人等领域的运动控制。MCX314As是以单一芯片而可控制4轴的脉冲序列输出驱动伺服马达、步进马达的运动控制芯片, 可以进行各轴独立的定位控制、速度控制, 另一方面亦可在4轴中任意的选择2轴或是3轴来进行圆弧、直线、位模式插补。在ARM9主控板上设计有一个总线接口电路, 这个电路已经把S3C2410芯片上的一些信号线包括16位数据线、12位地址线、片选信号和一些读写控制信号线引出来, 方便用户扩展应用电路。运动控制芯片MCX314As与S3C2410处理器的连接就是通过这个标准的总线接口电路, 把两者的数据线、地址线、读写控制线、片选信号和中断等信号连接起来。从图2中可以看出, 除了数控装置采用了上下位分机的设计方法, 在ARM9的主控板的设计上也采用了ARM9核心板和ARM9主控用户板的这种分开的模块化结构。核心板是ARM9处理器的最小系统, 只包括简单的S3C2410芯片、RAM和ROM存储器;而用户板可以灵活剪裁设计, 根据实际需要可以在板上设计LCD接口、USB接口、以太网接口、IIS接口、UART接口、ADC模数转换接口以及GPRS等外部硬件接口[3]。核心板与用户板两者以标准的接口连接, 有利于用户的升级或二次开发, 用户可以在不改变核心部分的情况下需只修改剪裁用户板, 或者在不改变用户板的情况下更换核心板, 就能够开发升级嵌入式数控系统数控装置的硬件。
总之, 整个嵌入式数控系统的硬件体系结构属于典型的运动控制系统, 使用基于ARM9和MCX314As处理器作为数控系统控制核心, 尽量使得系统的各功能部分模块化, 接口标准化, 有利于系统的开放性的提高, 易于维护和升级。
3 结论
MCX314As是高集成度的运动控制专用芯片能实现四轴三联动的位置、速度、加速度控制和直线、圆弧、位元3种模式的连续插补和位置闭环控制。而ARM处理器具有强大的32位RISC性能, 体积小、功耗低, 是一款高性能的处理器。基于ARM与专业运动控制芯片能大大减轻研发任务, 加快研发速度, 可以在较短时间内得到控制性能优异的嵌入式数控系统。
摘要:嵌入式技术已经广泛的应用到工业控制领域, 将嵌入式技术应用到数控领域必将对数控机床的发展产生深远的影响。本文提出了一种基于ARM9微处理器与DSP运动控制芯片MCX314As构建的数控系统硬件平台方案。该数控系统具有成本低、实时性好、精度高等优点, 对开放式经济性数控的研究具有很好的推动作用。
关键词:嵌入式数控系统,研究
参考文献
[1]叶佩青, 汪劲松, MCX314运动控制芯片与数控系统的设计, 北京航空航天大学出版社, 2002
[2]余张国, 基于ARM和MCX314A的嵌入式运动控制器, 微计算机信息, 2005, 21卷9-2, 76-78
[3]广州友善之臂科技有限公司.SBC2410X使用手册Version0.9.
[4]于明, ARM9嵌入式系统设计与开发教程, 电子工业出版社, 2006
嵌入式数控系统论文 篇5
作者: WuYJ@263.net.cn
摘要:设计一种能够在典型嵌入式环境下应用的线性文件系统,为嵌入式系统Flash空间的管理提供一种非常有效的手段。它包装和通用文件系统类似的API接口,设计的实现独立于实时操作系统(RTOS)和具体的Flash典型,可方便移植到不同的嵌入式应用中。
在嵌入式系统中,为了便于对闪存(Flash)空间进行管理,会采用文件的形式来访问Flash。目前,可以购买到的Flash文件系统一般都是兼容DOS的文件系统(Flash File System,FFS),这对需要一个具有复杂的目录层次,并且DDS文件兼容的系统来说是必要的;但是对大多数的嵌入式应用来说,这种文件系统太过奢侈。笔者在参与嵌入式系统项目的时候,设计了一种线性文件系统,它适用于大多数的嵌入式应用对Flash文件系统的需求。
线性文件系统设计基于三个目标:一是提供给应用程序通过文件名而不是物理地址访问系统Flash的能力;二是文件系统的设计独立于实时操作系统(RTOS),这样可以很容易移植到不同的嵌入式应用中;三是设计统一的底层接口,适应不同的Flash类型。本文设计的线性文件系统为典型的嵌入式系统提供了所需的类文件系统能力。需要注意的是,本文件系统不支持复杂的Flash扇区擦写次数均衡算法,没有目录层次,并且和其它的文件系统不兼容。
1 线性文件系统
线性文件系统的设计思路是这样的:文件分为文件头和文件数据区两个部分,每个文件按照顺序存放在Flash中,以单向链表来链接文件。文件的起始部分是文件头,包含文件的属性、指向下一个文件头的指针、文件头和文件数据区的32位循环冗余校验和(CRC32)等。文件头用一个32位的字来表示文件属性,每位表示一种属性,如数据文件或者是可执行文件,是否已删除的文件等,具体可以根据应用的需要来定义文件的属性;文件头和文件数据区维护独立的CRC32校验,使文件系统能更精确检测文件的完整性。文件的起始地址没有特殊需求,分配给文件系统的Flash大小限制了文件的大小。另外,线性文件系统作为嵌入式系统的一个功能模块,它为应用程序提供与标准文件系统类似的API接口,如:read()、write()、open、close()、stat()和seek()等。对于同时在多片Flash的系统而言,每片Flash相当于一个目标,文件都可存储在任何一片中(当然受物理空间限制),但不能跨片存储。
图1 Flash文件系统空间
在第一个文件创建之前,必须进行初始化,将所有分配给文件系统的`Flash空间擦除。当创建第一个文件时,起始位置从文件系统的起始地址开始,文件头指针指向下一个空文件的起始位置(链表尾部);第二个文件的位置从当前的链表尾部开始,同时文件头中的链表指针指向新的尾部。删除文件时,仅仅是简单地把文件头的标识位中的活动文件标识位置0,表示删除。这样,在经过多次删除之后,就有必要运行碎片整理模块来进行文件系统Flash空间的碎片整理。碎片整理模块还需要在文件系统Flash空间尾部留一个扇区来数据备份,以便当碎片整理被打断时(如下电或者复位)可以恢复文件系统。这个保留的扇区称空闲扇区。它必须放在文件系统空间之后,这样可以保证文件系统的所有文件在所占用的Flash空间是连续的。整个文件空间的分配如图1所示。
阴影部分是文件头,数据结构如下:
struct hdr{
unsigned short hdrsize; /*文件头字节数*/
long filsize; /*文件头版本*/
long filsize; /*文件大小*/
long flags; /*描述文件的标识*/
unsigned long filcrc; /*文件数据的CRC32的值*/
unsigned long hdrcec; /*文件的最后修改时间*/
struct hdr *next; /*指向下一个文件头的指针*/
char name[NAMESIZE]; /*文件名*/
char info[INFOSIZE]; /*文件描述信息*/
};
碎片整个记录区包含两种数据类型:碎片整理文件头信息表defraghdr和文件区扇区整理前后的CRC值备份表sectorcre。具体的地址分配从空闲扇区的起始地址减1开始,往前分配文件系统扇区数乘以4字节作为sectorcrc的空间;从sectorcrc起始地址减1开始,往前分配活动文件个数乘以64字节作为碎片整理文件头信息表。这两个结构定义如下:
struct defraghdr{
struct hdr *ohdr; /*文件头的原始位置指针*/
struct hdr *nextfile; /*指向下一个文件的指针*/
long filsize; /*文件大小*/
unsigned long crc; /*这个头的CRC32值*/
unsigned long ohdrcrc; /*原始文件头CRC32值的拷贝*/
long idx; /*碎片整理表头的索引*/
long nesn; /*新的文件尾的扇区号*/
long neso; /*新的文件尾的扇区偏移量*/
char *nda; /*新的文件起始地址*/
char fname[NAMESIZE]; /*文件名*/
};
struct sectorcrc{
unsigned long precrc; /*碎片整理前扇区数据CRC32的值*/
unsigned long postcrc; /*碎片整理后扇区数据CRC32的值*/
};
从上面介绍可知,除了文件数据之外,文件系统还需要如下4种额外的开销。
①文件头:这是每个文件必须的开销,如果文件名和信息域各24字节,那么整个文件头共76字节。
②碎片整理文件头信息表:每个活动(非删除)的文件在进行碎片整理时在这个表里创建一个表项,每个表项64字节。
③碎片整理前后的扇区CRC32值表:保存文件整理前后的CRC32值,总的字节数约为文件所占扇区数的4倍。
④空闲块:用来在碎片整理过程中备份当前整理扇区数据。它必须不小于文件系统其它所有扇区。
可以用下面方程计算系统开销的总和:
overhead=(FTOT*(HDRSIZE+64))+SPARESIZE+(SECTORCOUNT*8)
其中:
FTOT是总的文件数;
HDRSIZE是文件头字节数(目前为76字节);
SPARESIZE是空闲块的大小;
SECTORCOUNT是分配给文件系统的Flash扇区数,不包括空闲块。
图2 文件碎片整理
2 碎片整理
创建新文件需要占用文件系统空间;但是,由于Flash的底层技术不允许Flash中的任意地址空间被删除,而是按照扇区为单位删除,为此在删除一个文件的时候,暂时没有把整个文件所占的空间删除,仅仅是在文件头的标识里作一个删除标识,并保留在Flash中。这样,被删除文件积累到一定的数量时,就会占用相当大的空间。因此,需要整理文件系统Flash空间,使被删除文件占用的空间重新使用。图2显示了碎片整理过程。文件F1、F2和F5已经被删除,并且在碎片整理之后从Flash中被清除。
进行碎片整理的方法可以有多种。对于嵌入式系统来说,选择哪种方法,衡量的依据是复杂性和功能之间的平衡。下面讨论两种不同的方法:第一种方法相当简单,但是有缺陷;第二种方法功能强大得多,笔者在线性文件实现中即采用这种方法。当然,存在更加复杂的解决办法,但通常的情况是,所添加的复杂性会使整个文件系统的实现更加复杂。目标是保持文件存储的简单和线性,保证所有的文件都是以连续的空间存储在Flash中。
最简单的方法是将活动的文件备份在RAM中,删除分配给文件系统的Flash空间,然后将RAM中备份的所有文件拷贝回Flash。这种方法很简单,并且不需要分配一个扇区作为空闲区;但问题是,需要有一整块和分配给文件系统的空间一样大的RAM来完成这项工作。更糟的是,如果此时系统被复位,或者在删除扇区内容却还没有将文件拷贝回Flash的时候被断电,文件系统将会崩溃。因为RAM中的内容会随之选择,文件内容会被破坏掉。
我们在文件系统实现设计了一种碎片整理方法,可以防止在碎片整理过程中系统复位导致文件崩溃的情况。采用这种方法,不需要大块的RAM,但是需要预选先分配给碎片整理过程一个Flash扇区作为备份区。这个扇区的字节数不小于任何分配给文件系统的扇区。在整个文件系统中,这个扇区位于分配给文件系统最后一个扇区的下一个扇区。因为扇区可能比需要分配给非删除文件的备份的空间要小,所以它必须逐个扇区进行处理,而不是一下就把所有的碎片整理完。采用备份扇区的好处是,在碎片整理过程中,无论断电或者复位都不会破坏文件系统。当下次系统重新恢复时,会根据在碎片整理前记录的每个扇区碎片整理前后CRC值,来判断当前的文件碎片整理状态。如果上次文件整理没有完成,就会继续上次的整理。这种技术的一个缺陷是空闲扇区的擦写次数会较多。这样空闲扇区就可能因为达到擦写寿命而失败。达到这一点的关键依赖于使用的Flash、所分配给文件系
统的扇区数、文件删除和重建的频率。一个可行的解决办法采用电池备份的RAM来替换空闲扇区,可以增加Flash的整体寿命,但是对那些预算紧张的应用来说太过奢移。
具体的碎片整理过程是,首先建立碎片整理区。①为每个扇区建立2个CRC32表项;第一个CRC32是这个扇区在碎片整理前的CRC值;第二个CRC32值是计算出来的碎片整理后的CRC32值。这些CRC是当碎片整理过程被打断时,用来重新恢复整理用的。②创建碎片整理文件头信息表,每个活动的文件占用一个表项。③计算①和②的CRC值,并保存。①~③的数据保存在图1中的碎片整理记录区。第二步是文件重定位;遍历文件系统的每个扇区,处理重新定位后存储空间和该扇区相覆盖的文件。在每个扇区被重写之前,扇区原来的信息被保存在空闲扇区里。第三步,擦除Flash;遍历未使用的扇区,确认所有的扇区被删除。第四步,完整性检测:对新的文件进行检测,保证所有重定位的文件都是完整的。
3 应用分析
Flash的扇区有最大擦写次数。当前的Flash芯片一般支持10万~100万次的擦除。文件系统的应用各不相同,所以这里不能下结论说采用线性文件系统Flash的寿命会有多长。下面解释文件系统访问Flash的方法。这样用户可以根据应用来判断Flash的预期寿命。
我们所设计的线性文件系统并不进行扇区删除次数均衡,以延长Flash的使用寿命。如果所需要的文件系统频繁修改并需要扇区删除次数均衡,可以购买现成的Flash文件系统。扇区删除均衡算法大大增加了底层实现的复杂性,并且超出本文的讨论范围。一般来说,通过文件系统来管理Flash的需求远大于对Flash扇区擦写次数均衡的需求,特别是现在越来越多的Flash扇区都支持100万次的擦写。
如上面所提到的,文件系统本身提供给编程者的接口API与标准OS提供的接口类似。这可能误导开发者认为文件系统可以看作是一个硬盘,以任意的频率进行读写操作。事实并不是这样,线性文件系统碎片整理同制并没有进行擦写次数均衡,这意味着空闲扇区可能会是最早损坏的Flash扇区。因为在碎片整理过程中,空闲扇区被用作其它所有扇区的暂时存放扇区。例如在设计里,有13个扇区Flash用来作线性文件系统区,有1个扇区作为空闲扇区。假设对于最坏情况的碎片整理(13个扇区都影响到),如果每天进行1次碎片整理,对于100 000次擦写次数的Flash而言,可用期能够超过(100 000/13/365=21)。20年是基于每天进行1次碎片整理,并且所有扇区都影响到的情况。碎片整理的频率和整理所影响到的扇区数受应用程序使用文件的限制。用户可以根据文件系统的应用来估算Flash扇区的磨损情况,并作相应的处理。
下面讨论文件系统是如何使用扇区的。Flash扇区仅仅在碎片整理时候才被擦除。当删除文件的时候,只是简单地作一个标识(文件头的一个位)。如果一个存在的文件以写的方式打开,实际的修改步骤是,删除原有的文件,并在当前文件系统的最后一个文件之后重写该文件。最后,这个过程会使文件系统的Flash空间被耗尽,这要就需要运行碎片整理程序。碎片整理程序会使已被删除文件所占用的空间被清除,所有活动的文件在Flash中的位置以连续的方式存放。每个扇区的整理过程是,扇区被拷贝到空闲扇区作备份,然后原来的扇区被删除,计算出该扇区在文件整理后的内容,写入扇区,之后删除空闲扇区的备份。文件系统从头到尾每个扇区重复这样作。在碎片整理时,如果一个扇区不需要进行碎片整理,碎片整理程序就不会动这个扇区因此,受碎片整理程序影响的扇区数目依赖于当前被文件系统占用的Flash扇区数和被删除文件在Flash中的位置。
在一个典型的嵌入式应用里,文件系统中的可执行文件本身就是应用程序。可执行文件一般是最大的文件,也是最不可能经常改变的文件。这意味着执行文件所占用的空间是相对固定的,将会减少空闲扇区因为碎片整理而进行的擦写次数。另外一方面,如果有任何文件需要定期改动,碎片整理将会更加频繁运行。
结语
嵌入式系统的分类及特点 篇6
【关键词】嵌入式系统、嵌入式系统发展趋势、嵌入式系统特点
【中图分类号】TP368.1 【文献标识码】A 【文章编号】1672-5158(2013)04-0079-01
一、引言
嵌入式系统(Es)是计算机技术、通信技术、半导体技术、微电子技术、语音图象数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品。嵌入式系统不仅和一般的PC机上的应用系统不同,就是针对不问的具体应用而设计的嵌入式系统之间差别也很大。嵌入式系统一般功能单一、简单,且在兼容性方面要求不高,但是在大小,成本方面限制较多。
二、嵌入式系统的分类
嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然足一个技术密集、资金密集、高度分散、不断创新的知识集成系统。目前根据其发展现状,嵌入式计算机可以分成下面几类:
1.单个微处理器
这类系统可以在小型设备中(如温度传感器、烟雾和气体探测器及断路器)找到。这类设备是供应商根据设备的用途来设计的,这类设备受Y2K影响的可能性不大。
2.不带计时功能的微处理器装置
这类系统可在过程控制、信号放大器、位置传感器及阀门传动器等中找到。这类设备也不太可能受到Y2K的影响。但是,如果它依籁于一个内部操作时钟,那么这个时钟可能受Y2K问题的影响。
3.带计时功能的组件
这类系统可见于开关装置、控制器、电话交换机、电梯、数据采集系统、医药监视系统、诊断及实时控制系统等。它们是一个大系统的局部组件,由它们的传感器收集数据并传递给该系统。这种组体可同PC机一起操作,并可包括某种数据库(如事件数据库)。
4.在制造或过程控制中使用的计算机系统
对于这类系统,计算机与仪器、机械及设备相连来控制这些装置的工作。这类系统包括自动仓储系统和自动发货系统。在这些系统中,计算机用于总体控制和监视,而不是对单个设备直接控制。过程控制系统可与业务系统连接(如根据销售额和库存量来决定定单或产品量)。
三、嵌入式系统的特点
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
1.嵌入式系统通常足面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁农、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。
4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
四、主流嵌入式操作系统的基本概况及应用范围
1.VxWorks
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时陛被广泛地应用在通信、军事、航空、航天等高精尖技术及实时l生要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
2.Windows CE
WindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows 95/98,但Windows CE是基于WIN32 API重新开发、新型的信息设备的平台,绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。
3.嵌入式Linux
这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近几年来成为研究热点,据IDG预测嵌入式Linux将占未来几年的嵌入式操作系统份额的50%。
由于其源代码公开且免费,人们可以任意修改,以满足自己的应用,并且查错也很容易。嵌入式Linux稍加修改后应用于用户自己的系统,有大量的免费的优秀的开发工具,且都遵从GPL,是开放源代码的。有庞大的开发人员群体,无需专门的人才,只要懂Unix/Linux和c语言即可。嵌入式Linux和普通Linux并无本质区别,PC上用到的硬件嵌入式Linux几乎都支持。而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来很大方便。
4.μC/OS—Ⅱ
μC/OS—Ⅱ是一个免费的、源代码公开的实时嵌入式内核,μC/OS—Ⅱ实际上是一个实时操作系统内核,只包含了任务调度、任务管理、时间管理、内存管理和任务间的通信与同步等基本功能,没有提供输入/输出管理、文件系统及网络之类的额外服务。但是由于C/OS-Ⅱ的可移植性和开源性,用户可自己添加所需的各种服务。
5.Symbian
Symbian OS是代表全球智能手机行业标准的操作系统,目前已经被很多世界领先的手机制造商所采用,包括摩托罗拉、诺基亚、三星、西门子、和索尼爱立信等公司。
6.Enea OSE Systems
OSE是具有性能高、代码小和可确定性实时操作系统(RTOS)。OSE专门针对移动计算应用进行了优化,支持从基于DSP的基带处理到RISC的应用处理,覆盖了所有成本低、功能丰富的3G手机设计的各个方面。Enea OSE Systems公司的客户广泛分布在电讯、数字通讯、程序控制、汽车工业、国防、生物医学技术和消费类电子业。OSE是一个在市场上迅速成长的操作系统,每年增长率高达100%,现在OSE已经成为世界范围内电讯系统领域最广泛地被接受的实时解决方案。
7.道系统(DeltaSystem)
中国完全自主研发的最成熟的嵌入式强实时多任务操作系统该操作系统已应用于飞机导航、核动力控制、雷达终端录取平台等军用与民用领域。该操作系统已应用于飞机导航、核动力控制、雷达终端录取平台等军用与民用领域。
8.Hopen操作系统
Hopen操作系统为凯思集团自主研制开发的嵌入式操作系统,是中国第一个实现手机自主软件产业化的操作系统。它由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心HopenKernel一般为10KB左右大小,具有实时、多任务、多线程的系统特征。该系统可广泛应用于:移动计算平台(PDA)、家庭信息环境(机顶盒,数字电视)、通讯计算平台(多媒体手机)等领域。
结束语
目前,绝大部分嵌入式系统的硬件平台还掌握在外国公司的手中,国产的嵌入式操作系统在技术含量、兼容性、市场运作模式等方面都落后于国外的先进技术,我们应该在跟踪国外嵌入式操作系统的最新技术的同时,坚持自主产权,探索出一条自己的发展道路。21世纪,以信息家电为代表的嵌入式系统,其应用广泛、领域特色突出,发展空间巨大,嵌入式系统将在我国将有美好的发展前景。
参考文献:
[1]卞正才.嵌入式系统原理、设计与应用.北京:清华大学出版社,2012-7
[2]吴国伟.嵌入式操作系统原理与应用.北京:清华大学出版社,2011-11
[3]孙红波.ARM与嵌入式技术.北京:电子工业出版社,2007.
嵌入式数控系统论文 篇7
从20世纪中期开始,数控技术经历了6代的发展历程[1],进入了当前的以工控微机为控制核心的计算机数控时代。工控微机的硬件电路针对通用的数据处理和文件管理而设计,CPU适合于复杂指令集,具有很强的数值计算、逻辑处理和控制功能,但结构复杂,在专用的控制系统中产生了不必要的硬件冗余,多余电路无法裁剪,功耗很大,结果是工作可靠性降低,数控系统的平均无故障时间(MTBF)不能达到正常的生产指标要求[2,3]。此外,工控微机的硬件不是针对实时控制设计的,不能很好地满足实时控制需要[4]。
近年来,以ARM、MIPS等为代表的基于精简指令集(RISC)的新一代32位嵌入式微处理芯片,体积小、功耗低、主频高、实时性强、片上资源丰富、支持多数嵌入式操作系统,实现了嵌入式系统的片上集成(SoC),其特点是软硬件可裁剪,具有多级指令执行流水线,处理速度快,具有硬件浮点运算功能等,大大增强了嵌入式系统的实时计算与控制能力,将之取代工控微机,作为数控系统的控制核心,能显著提高数控系统的可靠性和控制性能。
本文研究嵌入式数控系统的体系结构,基于英特尔Xscale PXA275的ARM10微控制器,结合开源的嵌入式Linux操作系统,通过软硬件自主开发,操作系统和系统模块的裁剪设计,控制多台交流伺服电动机伺服进给和系统辅助信号等的功能控制[5,6,7],实现具有自主知识产权的嵌入式多轴联动数控系统的设计。
2 嵌入式数控系统的体系结构
2.1 硬件结构
根据数控系统的功能水平,可将嵌入式数控系统分为如下两种结构。
1.基于单微控制器的嵌入式数控系统
单微控制器嵌入式数控系统,使用单个嵌入式系统,全部功能操作,通过集中控制、分时处理的方式执行。结构框图如图1所示。
6个硬件模块的功能如下:
(1)嵌入式数控装置。
它是系统的控制核心,在嵌入式微控制器上建立有嵌入式操作系统,完成信息处理和实时控制,实现人机交互。在嵌入式操作系统的管理下,处理输入程序、执行译码、刀具补偿和速度处理,进行插补运算和位置控制;执行M、S、T等辅助功能指令,将逻辑控制信号发送给嵌入式PLC,实现系统的功能控制;在系统管理上,还要进行程序开发、调试、监控和诊断等工作。
(2)嵌入式伺服模块。
接受数控核心发出的电动机伺服控制信号,如进给脉冲和方向信号等,通过驱动电路,进行电流环、速度环和位置环的精确控制,驱动伺服电动机,实现多轴联动的轨迹控制。
(3)嵌入式主轴模块。
实现主轴调速和控制主切削运动,采用嵌入式PLC实现主轴的启动和停止,配合主轴驱动电路完成主轴的定位和伺服运动,实现系统的C轴驱动及换刀等功能。
(4)嵌入式PLC模块[8]。
实现系统的开关量控制和各种逻辑控制。数控系统的开关量信号很多,包括机床控制面板(MCP)、刀位等控制信号,一般有上百至几千个开关量,仅靠嵌入式微控制器的接口扩展,资源不能满足要求,需要通过PLC的扩展模块得以实现。此外,采用PLC可以实现模/数、数/模转换,实现对模拟量的控制,易于实现伺服进给与主轴转速的倍率控制等。
(5)显示与输入模块。
通过键盘、触摸屏、手摇脉冲发生器等输入装置,输入控制指令;数控系统的实时运行状态通过LCD、指示灯等显示,实现人机友好交互。
(6)通信模块。
主要指RS232、RS485、以太网口、USB等接口模块。嵌入式系统是借助宿主微机来开发其系统软件与应用程序的,一般通过RS232接口进行超级终端显示,通过以太网进行网络文件系统(NFS)的挂载,实现嵌入式操作系统的建立和软件开发。因此通信模块对于嵌入式系统的程序输入与软件开发尤为重要。此外有了以太网口,可方便与局域网、互联网的连接,便于远程操作,实现网络化控制。
单微控制器的嵌入式数控系统,由于只有一个中央处理单元,难于处理较为复杂的控制任务,因此控制轴数有限,响应速度较慢,一般适合于不超过4轴的经济型数控系统的控制应用。
2.基于多微控制器的嵌入式数控系统
多微控制器嵌入式数控系统,使用多个嵌入式系统,各个系统能并行处理信息,适应高速度、高效率和多轴控制等的需要,一般在系统的主要功能模块和处理部件上分别采用独立的嵌入式MCU来实现,各个MCU之间通过现场总线或通信接口进行信息交换,按照每个模块承担任务的重要程度,预先安排优先顺序,优先级较高的MCU能够优先占用系统的现场总线,实现优先控制。基于多微控制器和现场总线结构的嵌入式数控系统的结构框图如图2所示。
从图2可知,基于多微控制器的嵌入式数控系统的基本结构仍是由6个模块组成,只是主要模块之间的通信采用了工控现场总线进行,这就组成了基于现场总线结构的分布式系统,其中以嵌入式数控模块为核心,作为分布式系统的上位机,负责数控系统中主要的信息处理、实时控制和人机交互等工作,伺服、PLC以及主轴模块作为下位机实现系统的控制功能。
由此可知,各个控制模块分别有各自的CPU,扩展有统一的总线接口,实现上下位机之间的通信;而显示与输入模块可以根据需要分别设计在各个模块上,且每个模块所具有的显示及输入接口可以根据需要有所不同,上位机的主界面上需要有完整的显示和输入接口,而下位机上的显示界面和输入接口可以较简单些;PLC接口板可以根据所需的开关量数扩展输入输出点数,全部的开关量由PLC板上的CPU统一调度和处理,然后通过现场总线与上位机通信。
由于嵌入式系统的软硬件结构允许裁剪,因此在上述各个组成模块中可以根据功能需要的不同,分别配置各自的嵌入式系统结构,组成结构优化的嵌入式数控系统[9]。
2.2 软件结构
嵌入式数控系统的系统控制软件和应用程序是建立在嵌入式操作系统之上通过设计开发产生的,因此数控软件模块与嵌入式操作系统的软件模块共同构成了嵌入式数控系统的软件结构,如图3所示。
如图3所示,建立在嵌入式微控制器硬件平台之上的首先是引导程序BootLoader,用于对硬件进行初始化设置,执行时钟设置、内存映射、栈点设置、中断设置等操作,然后将嵌入式操作系统的内核映像zImage解压缩到工作内存RAM区,并启动嵌入式操作系统,此后的控制权交由嵌入式系统执行[10]。嵌入式硬件结构精简优化,需要裁剪嵌入式系统中冗余的硬件引导,禁止相应的内核模块,以提高系统的实时性能,这是嵌入式数控系统与基于工控微机的数控系统的主要区别之一。
基于嵌入式MCU建立起来的数控硬件,是专用于数控功能模块的结构,需要编制各自的驱动程序,通过加载,添加到嵌入式系统的内核空间中,形成嵌入式数控系统的设备驱动。
文件系统是嵌入式操作系统的组成部分,用于存储和管理嵌入式数控系统的文件。所有的系统程序和数控应用中开发的用户程序,都由文件系统管理。在嵌入式系统中,文件系统与操作系统内核一般都以压缩文件的形式,烧写在FLASH内存中,在系统引导启动时,被解压并复制到RAM区运行。
网络接口在嵌入式系统中有重要的作用,嵌入式系统本身的软件经过定制,已经非常紧凑,没有冗余的资源用于系统软件开发,因此一般是借助于宿主微机进行程序设计,在宿主微机上开发的程序,通过交叉编译,形成映像文件,烧写到嵌入式系统的存储介质中,然后才能在嵌入式环境中运行。在宿主微机上开发数控程序时,需要经常挂载到嵌入式目标系统中,进行动态调试,这就需要结合网络接口电路,设计网口驱动程序并建立通信协议。此外,结合硬件电路,还需要开发相应的包括RS232、USB和现场总线在内的接口软件,实现功能优越的嵌入式数控的通信系统。
数控系统是多任务工作系统,有实时性很强的插补与位置控制任务,也有诊断、显示、代码编程等非实时的管理任务,要求有多进程的管理界面,因此嵌入式数控系统的图形用户界面的设计凸显重要,决定着数控系统的操作难度和实际应用。图形用户界面的开发软件能够将嵌入式操作系统及其低层的硬件驱动加以抽象,提供给应用编程接口以抽象化的硬件接口函数,便于嵌入式数控系统的管理与控制软件的设计。目前有多种面向实时嵌入式操作系统的GUI开发软件,如:MiniGUI、MicroWindows以及Qt/Embedded等系统可供使用[11],可根据实际的应用场合选择一款合适的GUI软件实施开发。
在数控系统应用编程中,还有加工代码宏指令的设计和嵌入式PLC程序设计[12,13]。这是建立在一般高级编程语言(如C语言)之上的编程语言,符合ISO标准编程代码和PLC梯形图或语句表,作为宏指令,需要由高级编程语言解释,解释成嵌入式系统中常用的C/C++语言,然后编译成嵌入式MCU可执行的机器代码,实现加工控制。数控应用编程需要做好宏代码编译器的设计工作,一般包含词法分析、语法分析、中间代码生产、代码优化以及目标代码生产5个环节。
嵌入式数控系统是光机电综合系统,随着控制功能水平的不断增加,其软硬件的体系结构会逐步复杂,其涉及技术面广,软硬件的设计工作量很大,在嵌入式数控系统中,可通过定制和裁剪,逐步加以完善。
3 系统设计
根据嵌入式系统的技术特点,基于Intel Xscale PXA275的ARM10微控制器,设计一套基于CAN高速现场总线的分布式多微处理器控制结构的嵌入式数控系统如图4所示。
3.1 上位机结构设计
上位机采用基于工控应用场合的ARM10微控制器的芯片PXA275 (工作主频为520MHz)作为控制核心,结合相应器件扩展各个模块如下:
(1)结合DM9000接口芯片,在总线上扩展RJ45网口电路,实现网络连接。
(2)引出ARM10的DN0与DP0引脚信号,与+5V电源引脚及地线,组成USB接口电路。
(3)采用芯片MAX3232电路,在总线上扩展RS232接口电路,实现串口通信。
(4)ARM10芯片的输出引脚上设计有驱动LCD显示的FrameBuffer控制信号线,将之引出,与LCD显示屏的对应引脚相连,即可实现图形显示;而且,在该连接插座上,可以增加连接MCU的nYPON、nXPON、XPOS、YPOS、XMON、YMON信号线的驱动电路,即可实现触摸屏的输入功能。
(5)基于ARM10芯片的IIC总线,结合ZLG7290键盘扩展芯片,可扩展出8×8的键盘输入接口,用于上位机的功能指令和程序输入。
以上是上位机的基本模块设计,其余模块可以通过通过嵌入式系统的功能扩展,给予增减。在嵌入式系统中,每一模块的增减,都需要设计相应的驱动软件,才能使增减的模块实现功能操作。
3.2 下位机结构设计
下位机可以有多种功能控制模块,在嵌入式数控系统中,主要有伺服电动机驱动模块、主轴驱动模块和嵌入式PLC扩展模块等。
(1)伺服电动机驱动模块。
对ARM10微控制器的接口进行扩展,设计交流伺服电动机的双闭环调速电路和位置控制电路,实现多轴联动复杂曲线的联动控制。为了提高位置控制的实时响应能力,引入FPGA硬件插补电路[14],结合交流伺服电动机的功放电路,提高伺服控制功能水平。
(2)主轴驱动模块。
从ARM10引出控制信号,设计变频调速电路,实现主轴速度输出和主轴编码器信号输入,控制电主轴,实现主轴变频调速。
(3)嵌入式PLC控制模块。
在ARM10微控制器的内部总线上,扩展FPGA电路[15],定义相应的I/O接口点数,每条I/O线经过功率放大,转换为工作电压为24V的接口线,供标准的PLC控制信号使用。在该PLC接口板上,还可以设计A/D、D/A转换电路,满足包括倍率控制在内的数控功能控制需要。
以上每一模块都需要设计高速总线接口,确保上下位机相互间可靠通信。
3.3 现场总线CAN通信模块
上下位机之间的通信通过CAN总线进行[16],这是一种多主方式的串行通信总线,使用独特的位仲裁技术,通过报文滤波即可实现点对点、点对多点以及全局广播等方式收发数据,信号使用差分方式传送,具有高抗干扰能力,通信速率可达1MB/s,报文信息带有优先级和节点标志,可满足不同的实时要求。
使用ARM10微控制器芯片上的SPI总线,可以连接CAN总线控制器MCP2515,产生收发信号,通过CAN总线收发器MCP2551,即可将成帧的报文信号传送的CAN总线上,实现实时通信。
以上的各个模块电路,需要设计相应的驱动程序,加入到嵌入式操作系统的硬件驱动中,然后在应用程序中,通过硬件驱动来调用。
3.4 软件架构设计
基于嵌入式Linux操作系统,在上述硬件设计及其驱动开发基础上,采用MiniGUI图形用户界面开发软件,将操作系统及底层的硬件驱动通过可移植层给以抽象,上层的数控应用编程接口就可以通过MiniGUI提供的API以及ANSI C库实现数控软件的程序设计。
采用基于进程机制的MiniGUI运行模式,可以实现数控系统的多任务控制。同时运行数控加工代码的编辑、编译,伺服进给,I/O信号的PLC逻辑控制,加工状态的实时显示以及故障的监控与诊断等。
3.5 样机与调试
将上述设计研制的嵌入式数控系统,连接4台伺服电动机的驱动电路,再与作者自主研制的4轴数控工具磨床的机械结构连接,构成4轴嵌入式数控工具磨床原型机如图5所示。
在研发的嵌入式数控工具磨床上,进行性能测试和试磨运行,实验证明系统运行平稳,主频高,脉冲响应快,结合FPGA硬件插补技术可使信号实时响应能力达2ms水平,可适应速度达30~40m/min的多轴联动伺服进给控制要求,适应较高功能水平要求的数控应用要求。
4 结论
本文将数控技术与嵌入式系统相结合,提出了嵌入式数控系统的体系结构,采用ARM10嵌入式微控制器设计了基于CAN现场总线的多轴联动嵌入式数控系统,并应用于4轴工具磨床的伺服控制,设计和测试结果表明:
嵌入式数控系统具有优越的系统资源可配置性能,通过软硬件裁剪,可获得无冗余结构的高集成度数控系统。
嵌入式微控制器,主频高,基于精简指令集工作,功耗低,片上资源丰富,支持多数的嵌入式操作系统,控制功能强,结合FPGA硬件插补技术,能达到2ms的响应能力,确保嵌入式数控系统中实时而又可靠的功能控制。
基于工控应用场合的ARM10微控制器PXA-275,目前市场推广价格,已与单片机相当,组成的嵌入式数控系统性能价格比高,有推广价值。
基于源码开放的Linux系统,采用通用的C/C++结合ARM汇编语言,结合嵌入式系统的驱动开发,能够充分利用联网资源,具有开放性,设计出的多轴联动的数控系统,拥有自主知识产权。
嵌入式系统的未来方向:智能系统 篇8
智能系统:下一个机遇
从能够识别驾驶员的汽车, 到能够实现客流量统计的数字安全监控系统, 以及能够无缝安全地与现有企业和通信基础架构集成的智能网络, 甚至于具备社交功能的健身设备, 具有计算体验的智能设备如今已是无处不在。
英特尔中国区智能系统事业部曾明总监指出, 智能系统必须具备三大要素:互联性、安全性和可管理性。它们可以自主地连接互联网、执行本地或基于云的应用以及对所收集的数据进行分析。这意味着, 传统的嵌入式系统必须采用包括微处理器、图形处理器和硬件加速器等在内的高性能与高度可编程异构架构, 将所有这些都集成至一个系统芯片 (So C) 当中。
传统的嵌入式系统向智能系统的转变, 为整个电子行业带来了前所未有的发展机遇。据市场调查公司IDC预测, 从2011年到2016年, 全球智能系统设备的数量将从230亿台激增至460亿台, 行业总体收入将从1.3万亿美元攀升至2.3万亿美元。2016年, 智能系统设备的出货量将占所有出货电子系统设备的37.1%以上。
在这种转变过程中, 可以发现几个关键的发展趋势。第一, 传统的嵌入式系统将获得类似于PC、服务器、智能手机和平板电脑等通用系统所具备的智能性, 而智能系统在未来的发展速度将远远超过这些通用系统。第二, 这种转变将成为不可阻挡的潮流。自然友好的用户界面、安全技术和传感器技术将变得至关重要, 将确保用户在智能设备上也能够获得在PC和智能手机上一致的消费电子和计算体验。第三, 这种转变的实现有赖于大规模的跨行业协作。第四, 功能日益强大的处理器将满足智能网络不断增长的需求, 能够同时满足物理端口和虚拟机的计算需求。第五, 随着大量移动设备被连接至互联网和云中, 企业和服务提供商网络的安全性问题将日益凸显, 这将是未来向更加智能系统迁移的关键因素。
体验推动智能系统发展
各行业不断变化的用户需求, 是推动智能系统在更加广泛的领域应用的内在驱动力。以数字标牌和英特尔公司为例, 英特尔智能系统事业部数字标牌市场营销全球总监Raj Maini称, 现代智能互动数字标牌能够带给消费者沉浸式的体验、互动性, 同时保证匿名性。这些对计算能力的要求较高。英特尔在此的贡献是:AIM套件及酷睿第三代处理器。数字标牌主要应用在九大垂直行业, 40%是定制的, 鉴于数字标牌的多样性, 英特尔正和中国的厂商合作, 提供交钥匙的软硬件数字标牌方案, 使客户很快上手应用。英特尔还提出了OPS (开放式可插接规范) , 使不同的厂商播放器模块/板卡能够接入到不同规格的平板显示器上, 受到了很多面板生产商和硬件厂家的支持, 例如, 国内最大的主板厂商——深圳智微智能科技公司的副总经理刘迪科称, 已经有50家以上的电视厂家、数字标牌厂家的产品带OPS接口。
从智能标牌的出现及发展可见, 良好的用户体验, 是智能系统时代的动力之源。
参考文献
[1]王莹.2015年, 中国的数字标牌将占全球40%. (2012-7-18) .http://www.eepw.com.cn/article/134757.htm
嵌入式网络数控技术与系统 篇9
1.1 嵌入式系统模型
图1显示的主要是嵌入式系统的模型结构。
如果从物理层面的角度对其进行一定程度上的分析, 可以将嵌入式计算系统理解成一个专用的电子系统, 一般情况下, 这一专用的电子系统都处于一个非电子系统环境之下, 且这一系统环境具有一定的复杂性。至于这两种系统的关系, 可以对其进行一定程度的抽象化处理, 即具有复杂性的非电子系统是嵌入式系统的外部环境, 我们将其称为被嵌入的系统。就一般状况而言, 整个系统之中所包含的嵌入式系统为多个, 同时, 嵌入式系统能够与外界进行直接的通信。
对于嵌入式系统而言, 它能够提供一个专门的服务给被嵌入系统, 这一服务主要表现为两个方面:一方面, 这一服务可以表现为对外界输入的响应;另一方面, 这一服务也可以是对被嵌入系统或者与之相邻的嵌入式系统数据的响应。就如现代机电控制系统, 对于这一系统而言, 它是一种分布式的系统, 在这种系统环境之下, 各个处理单元都是通过网络进行一定程度上的连接的。图2显示的主要是基于网络的嵌入式系统结构。
1.2 嵌入式系统的可重构功能
对于嵌入式系统而言, 其中央处理单元一般都是对精简指令集计算技术进行一定程度上的采用, 通过对专用芯片方法以及微处理机方法进行一定程度上的对比分析, 人们更希望探索出一套针对性较强且行之有效的新路线与新方法, 使其兼备专用芯片方法以及微处理机方法的优点, 即既能够表现出专用芯片的高性能、高速度以及高可靠性, 同时又具备微处理机的强大编成功能。
对于可重构而言, 它主要指的是在软件控制的环境之下, 通过对可重用资源进行一定程度上的利用, 并由此来对计算平台进行有效的重构与重组, 这样一来, 就能够对各种不同的需求进行有效的实现。可重用资源在可重构之中有着基础性的地位与作用, 较早的可重构计算系统采用的主要是重组的方式, 在这一系统环境之下, 重用资源主要担当的是功能部件的角色;但是, 当FPGA出现之后, 重用资源的身份发生了一定程度上的改变, 重用资源由原先的功能部件变成最为基本的门和线, 通过对文件进行一定程度上的配置, 就可以对每个门的性质以及线的连接进行有效的定义, 由此来实现对于硬件功能的改变。从广义的范围来看, 这种功能包含了硬件软件的可重构。而对于嵌入式系统而言, 它具有可重构功能, 除此之外, 其硬软件又具有一定程度的可剪裁特点, 这样一来, 就为网络数字控制技术与系统的设计与实现提供了便利。
2 嵌入式新型网络数控系统体系结构
2.1 硬件体系结构
图3显示的主要是嵌入式新型网络数控系统的硬件结构。
从图3中, 我们可以发现它主要包含了如下模块。
(1) 显示及输入装置:通过对显示及输入装置进行一定程度上的使用, 能够对现场人机交互、输入操作命令、手摇脉冲输入、加工状态显示等功能进行有效的实现。
(2) 嵌入式数控单元:嵌入式数控单元在整个数控系统之中有着十分重要的地位与作用, 因为它是整个数控系统的中央控制单元, 能够对如下功能进行有效实现:显示装置与输入装置的连接、完成人机交互、编辑并获取相关的加工代码等。
(3) 嵌入式PLC:这一部分的主要作用是对数控系统的逻辑控制进行有效实现。这一模块通过异步串行总线与中央数控单元进行一定程度上的连接, 并对MODBUS协议进行运用, 并由此来接受控制命令。
(4) 以太网。对于以太网而言, 它在系统之中的主要作用是对同车间网、企业网乃至是互联网进行有效连接。通过对以太网接口进行一定程度上的使用, 可以进行加工程序的传送、远程操作、状态监控和故障诊断等。
2.2 软件体系结构
嵌入式网络数控系统的软件体系结构见图4所示。
(1) 组态软件模块:只所以要对这一模块进行一定程度上的设计, 主要是为了满足一些特定的功能。在这设计的过程之中, 对标准接口以及约束开发的通用性设计进行了参考。主要包含如下几个模块:加工代码编译模块、插补计算模块、人/机交互模块、运动控制模块等。
(2) 辅助设计系统:对于辅助设计系统而言, 其主要作用是数控单元、PLC单元和伺服控制单元软件、代码的辅助开发以及代码的自动生成。
(3) 控制仿真系统:控制仿真系统能够提供一个仿真环境, 即通过将嵌入式硬件嵌入到软件仿真环境或软、硬件仿真混合环境进行一定程度上的仿真。
摘要:随着经济的迅速发展以及科学技术水平的不断提高, 我国的数字控制技术取得了较大程度上的进步, 为我国国民经济的发展以及工业水平的提高做出重要贡献。就数字控制技术的发展历程来看, 它已经经历了多个阶段, 主要有分立元件系统阶段、专用计算机系统阶段以及通用计算机系统阶段。单就目前使用较为光广泛的通用计算机系统而言, 它存在着一定程度的弊端, 主要表现为系统资源与需求不匹配、操作系统难以与实时控制相适应等。针对这一情况, 本文提出了一种嵌入式网络数字控制技术, 并对其进行研究与分析。
关键词:网络数字控制,嵌入式体系结构,数字信号处理器
参考文献
[1]周凯.数控系统体系结构研究[J].中国机械工程, 2002, 13 (5) :406-409.
[2]杨晓京, 陈子辰.微机数控系统开发体系结构的研究[J].组合机床与自动化加工技术, 2003 (5) :29-30, 32.
[3]杨晓京, 张仲彦, 李浙昆, 等.几种开放式微机数控系统比较[J].制造自动化, 2002, 24 (1) :18-21.
嵌入式网络数控技术与系统 篇10
在数控技术飞速发展的过程中, 数控系统自身开始朝着更为先进的嵌入式方向进行发展。而嵌入式系统的出现, 为数控系统带来了较大的革新, 起到了极其重要的作用。嵌入式系统自身主要是把实际应用作为核心内容, 将现代化的先进计算机技术作为功能实现的基础, 无论是软件还是硬件都能够根据实际情况来进行选择, 以此来使得嵌入式系统能够完全符合个别对于系统成本、体积、性能等方面有着极其严格的计算机系统。下文主要针对嵌入式系统进行了全面深入的研究, 以期能够找到利用数控系统来对嵌入式系统进行更为良好的控制方式。
2 嵌入式数控系统总体结构设计
嵌入式系统主要是通过几个不同的主要模块所组合而成, 不同的模块都是通过高速串行协议、I/O以及一些其他的方式来进行相互的联系。在大量的组成模块中, 主要由管理模块、人机交互装置、嵌入式运动模块、I/O、伺服控制设备等。
(l) 人机交互装置。这一装置中主要包括了液晶显示器、键盘以及一些相关的操作按键, 通过人工的方式来对这些构成部分进行操作, 例如对设备进行NC代码进行输入、编辑、通过手动操作的方式来对当前机床的实际运行状态进行显示。
(2) 嵌入式数控操作和管理模块。该模块是数控系统之中极其重要的组成部分, 这一模块直接对整个设备的所有人机交互工作进行处理, 而整个机床设备的相关参数设定、NC相关代码的编译、存储、传输、移动储存设备、系统故障等各个不同的工作都必须要通过嵌入式数控操作和管理模块来进行操作。
(3) 嵌入式数控运动控制模块。机床逻辑运动控制的核心, 利用逻辑运算能力, 负责送料机运行轨迹的计算、插补、反向间隙补偿、信号采集、主轴及开关量控制等实时性强的运算和控制。
3 嵌入式数控系统的设计与实现
3.1 硬件设计
本论文所设计的嵌入式数控系统硬件系统结构构成原理如下所示: (1) ARM微处理器模块。ARM处理器是系统的控制核心, 负责运行数控系统控制软件。本系统选用SAMSUNG公司的S3C44B0X处理器。本模块还包括时钟电路、复位电路和实时时钟RTC (Real Time Counter) 电路。 (2) 存储器模块。存储器主要是嵌入式系统中一个极其重要的组成部分, 该模块主要用于机床存储程序以及相关数据使用。在系统之中, 包含多种不同的存储硬件, 来存储不同的文件, 例如EPROM是存放机床系统的存储硬件;SDRAM是对系统在运行的过程中所产生的一定数据和程序进行存储;SRAM则是为机床停电的时候提供数据瞬间存储的存储设备;NAND-Flash这一存储方式主要是对用户所定制的相应加工程序进行存储。 (3) 电源模块。新型的CPU和FPGA的内核电压一般都是2.5V或以下的, I/O电压一般都是3.3V。所选择的开关电源可以提供5V, ±12V, 24V电源, 其中±12V用于主轴模拟信号模块电路, 24V用于光电隔离电路, 因此, 需要使用低压差线性稳压器产生3.3V和2.5V的电压, 供CPU、FPGA和CPLD使用。为了保证微处理器稳定而可靠地运行, 还需要配置电压监控电路。 (4) 人机交互模块。人机交互模块包括键盘及指示灯模块和液晶显示模块。键盘及指示灯模块负责键盘的扫描并读取键值, 同时负责LED的显示控制。液晶显示模块实现数控系统用户界面。 (5) 通信接口模块。通信接口模块包括JTAG接口、RS-232串行接口和USB接口。JTAG接口与PC通讯, 实现系统运行程序的仿真调试;RS-232串行接口与PC通讯, 实现NC文件的上传与下载;USB接口实现对U盘NC文件的读写。
3.2 软件设计
该系统内部所嵌入使用的是μClinux操作系统, 利用这一系统能够作为数控系统上的软件控制平台, μClinux系统内部的源代码完全开放, 内核较小, 能够适应微处理器的嵌入, 同时, μClinux还能够兼容TCP/IP协议, , 在TCP/IP协议的支持之下, 能够发挥出良好的网络性能, 此外, 该系统还能够完成多任务同时运行的任务, 但需要事先对系统进行多任务编程。通过该系统能够为系统提供更为良好的性能和可靠性, 这主要是源自于多任务独立运行的功能。并且该系统在后期有需要进行升级的情况下, 可以随时进行维护和升级。此外, μClinux系统还能够为有图形需要的用户提供了相应的GUI接口, 在有视图接口的情况下, 该系统便能够利用键盘、触屏屏幕或者液晶显示屏进行相应的人机交互工作。
(1) 调度任务的划分。软件平台设计中, 采用嵌入式实时操作系统μClinux对系统多任务进行调度及管理。基于实时多任务操作系统的应用程序中, 实时性取决于对任务及中断的处理。用户根据需要调用μClinux的任务调度函数, 调度函数从就绪任务中寻找优先级最高的任务, 并进行任务切换操作。μClinux把任务分为各不相同的优先级 (唯一) , 已经准备就绪的高优先级的任务可以剥夺正在运行的低优先级对CPU的使用权, 所以正确的任务划分及优先级分配可以充分体现嵌入式实时操作系统任务调度算法的效率, 从而提高整个系统的实时性能。 (2) 软件功能设计。加载程序负责在加电后对微处理器进行必要的硬件设置, 初始化内存, 并把u Clinux内核映像从Flash中复制到内存, 把控制权交给内核, 使内核运行, 最终使应用程序运行。u Clinux内核作为应用程序控制系统硬件的接口, 提供应用程序对硬件的间接访问, 在具体设计中, 对微处理器中内置A/D转换器的操作、对键盘的操作以及对LCD的操作由在u Clinux下编写的设备驱动程序完成, 这些驱动被编译进u Clinux的内核。系统任务的实现由两个不同的进程实现:加工程序和网络服务程序, 分别用来完成数控系统的工件加工、计算的功能及网络服务的功能。
结束语
综上所述, 数控系统已经成为了现代制造工业中极其重要的核心生产技术, 同时也是辨识一个国家自动化生产技术的是否先进的重要标志。数控系统已经受到了全球各个国家的重视, 尤其是对于发达国家来说, 已经把数控系统当做提升生产行业国际竞争力的一种重要手段。但就目前来说, 我国的数控系统自主产权还较为有限, 一些尖端系统仍然是从国外引进, 因此, 加大我国中高档数控系统技术水平提升的力度对于我国数控系统的有着极其重要的意义。而嵌入式数控系统便是我国对数控系统研究的一个初步成果, 并且也展现出了极为优秀的效果, 这是值得进一步推广进行深入研究的, 能够对数控系统的发展起到极大的促进作用。
摘要:制造行业中的数控系统应用水平的高低以及先进与否, 能够直接反映出某个国家当前工业生产过程中的自动化控制生产水平是否优秀, 下文将以往传统的数控技术与嵌入式的系统相结合, 以此来对嵌入式系统的设计工作进行深入的研究, 不仅要从硬件上进行设计还要从软件设计的角度上对嵌入式数控系统的设计工作制定相应的方案, 这对于提升现代嵌入式数控系统在我国的应用水平以及研究来说有着极其重要的意义。
关键词:嵌入式系统,数控系统,系统设计
参考文献
[1]田泽.嵌入式系统设计开发与应用[M].北京:北京航空航天大学出版社, 2005.
[2]石宏, 蔡光启, 史家顺.开放式数控系统的现状与发展[J].机械制造, 2005, 43 (6) :18-21.
嵌入式系统指令集检测策略 篇11
关键词:嵌入式系统;指令集;指令选择
嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。嵌入式系统几乎包括了生活中的所有电器设备。嵌入式系统的一个重要特点就是软硬件可裁减,也就是对系统芯片的软硬件架构进行重置,但是重置后的系统兼容性如何则是影响整个系统运行效率的重要考量,本文正是探讨了系统兼容性的一个重要方面,指令集兼容问题。
一、指令集问题的产生
作为嵌入式芯片的主要特点就是软硬件可裁减性,即根据具体应用的不同,对芯片的软件和硬件进行裁减,以达到嵌入式系统的要求。
而这样的技术,需要实现包括系统时钟和总线等的各种功能,必然要对芯片的软硬件架构进行相应的修改,具体来说主要是对芯片原有的指令集进行一定的修改,从而形成一套新的指令集。
指令集的产生有两种方法:
指令集综合(instruction set synthesis):这种指令集产生方法的指令集是根据应用需要来生成的,它的指令集数量也是由根据特定应用来确定其使用频率来确定的。对于使用这种技巧来产生指令集的各种设计方法来说,它们之间的区别在于指令构造的不同上。
指令选择(instruction selection):在这种技巧中,存在一个基本指令集组,在这个基本指令集组的基础上,再根据参考结构的约束选择它的派生指令集组以满足性能需要。
但是,这样的应运而生的指令集与原芯片的兼容性如何,实际应用中在开发板的运行情况是否正常,这些问题是关系到整个嵌入式系统的可靠性和稳定性的。
二、指令集构成
现行的指令集是在原有的8051或FPGA芯片指令集的基础上,根据嵌入式系统设计时的具体应用进行相应的裁减和修改形成的。指令集按照具体的功能应用可以分为四类。
(一)数据传送指令
数据传送时计算机中最基本的操作,它将源操作数送到目的操作数。数据传送指令主要有:内部数据传送指令,外部数据存储器传送指令,查表指令,进栈指令,出栈指令,数据交换指令和位操作指令。
(二)算数运算指令
算术运算指令主要是对8位无符号二进制数进行加,减,乘,除四则运算以及加1,减1,压缩BCD码加减运算等。不带进位的加法指令,带进位的加法指令,加1指令,减法指令,减1指令,乘法指令,除法指令和十进制调整指令。
(三)逻辑运算指令和控制转移指令
逻辑运算指令主要用于对8位数进行逻辑"与"、"或"、"异或"、取反、清零以及循环移位等操作。与指令,或指令,异或指令,求反指令,清除指令,循环左移指令,循环右移指令,带进位循环左移指令和带进位循环右移指令。
控制转移指令主要有绝对转移指令,两数不等转移指令,调用子程序指令,空操作指令(程序计数器PC+1)和结束指令。
三、指令集检测策略
首先对准备测试的指令集有一个总体的了解,并依据其功能应用将其进行划分,即形成不同的类别。
其次根据指令运行的复杂程度和具体应用,将各种类别的指令进行排序,简单的指令放在检测序列的前面。
现在可以开始检测了:
第一步先确定一个已知的指令集合,这个集合中的指令是已经得到验证的或免测的。
然后按照已经确定的顺序将待测的指令提出,并以它和已知集合中的指令为基础进行编程。
将所编写的程序编译,调试,运行通过后即证明待测指令是正确的。
这时将待测指令加入到已知的指令集合。
按照这样的步骤继续测试下去,已知集合中的指令会不断增加,如果已知集合的指令包含了整个待测指令集,则检测完毕。
验证通过。
四、结束语
嵌入式系统之所以能够成为各种智能设备普遍采用的核心系统,正式由于其相对简单的架构,较低的功耗,多样化的管理模式,尤其是灵活的系统组成。但随之而来的就是系统的稳定性和可靠性问题,指令集的兼容性问题正是其中一个重要的发面。因此指令集的检测之于嵌入式系统的构建就显得尤为重要了。本文正是基于的这样的考量对指令集兼容性问题进行了一定的探讨,并提出相应的指令集检测策略,而检测平台的搭建还需要进一步的研究和论证。希望通过本文的努力能够为嵌入式系统指令集检测体系的发展做出应有的贡献。
参考文献:
[1]许海燕,付炎.嵌入式系统技术与应用[M].北京:机械工业出版社,2002.
嵌入式数控系统论文 篇12
数控机床管理人员了解主轴和程序运行时间等信息, 可改进提高机床效率, 维修人员了解电机温度和电流等机床状态信息, 可为机床故障诊断和预知维修提供依据。为此开发SINUMERIK 840D系统嵌入式管理维护界面, 提取NC和PLC信息并加工成对机床使用人员有用信息, 并把这些信息以画面方式清晰显示。
840D系统具有HMI Programming Package、Wiccflexible和用户扩展接口等开发界面工具。前几种方法开发的界面, 调试时较困难, 可移植性差, 基本需要一设备一调试。用户扩展接口是840D系统的附加工具, 开发不需另外软件和额外费用, 用它开发的界面可以和数控界面无缝融合, 在各个机床之间可移植性强。用户扩展接口以数控界面为基础, 通过调用一系列指令, 实现用户界面定制、外部图像导入以及变量定义。用户界面可方便嵌入到840D系统界面中, 使用者可在加工中随时了解机床维修信息。1个扩展用户接口界面包含表头 (Header) 、标题行 (Display line) 、屏幕窗体元素 (Form element) 、对话行 (Dialog line) 、图表 (Graphic) 、水平8个软键、垂直8个软键等元素。用户可通过编程对这些元素进行定制, 接口界面中的变量可接受来自NC、PLC的信息。多个界面可嵌套定义, 形成树形结构, 界面之间切换非常方便。
二、管理维护界面的定制
50分厂数控机床多为切屑机床, 管理者主要关注主轴切屑时间、程序运行时间以及机床辅助工作时间等信息;主轴电机温度、电流和负载变化情况则是机床维护者关注信息。下面以这些信息作为对象, 介绍开发管理维护界面。
1. 文件的存放位置和文件名的确定
定义新界面的数据被存储于1个配置文件中, 它以.COM作为文件后缀, 此文件被系统自动解释和执行, 结果自动在屏幕显示。文件名的确定不是任意的, 而是具有一定规则, 这和机床工作方式相关, 如要将界面嵌入到840D手动工作方式 (JOG方式) 界面中, 那么定义新界面的数据应该存放在MA_JOG.COM中, 如要将界面嵌入到自动工作方式界面中, 数据应存放在MA_AUTO.COM中。同理, 文件还可存放在MA_MDI.COM、MA_PARA.COM等文件中。为随时查看界面中的信息, 该项目决定把界面同时嵌入到手动、自动工作界面中, 这样就同时需要两个配置文件MA_JOG.COM和MA_AUTO.COM。
2. 界面的定制
(1) 软键的定义。定义840D数控界面中的空白键, 给它赋予新的键名。按下此键时, 进入设计界面, 软键定义编程如下。
(2) 屏幕窗体的设计。包括窗体名称的确定, 窗体主体位置的确定 (窗体距屏幕顶部、左端的距离) , 窗体宽度、高度的确定, 窗体中插入图表的名称及位置确定, 窗体内分栏数的确定。定义窗体的指令格式M (Identifer/[Header]/[Graphic]/[Dimension]/[System or user variable]/[Graphic position]/[Attributer]) , 即M (标识符/[窗体标题]/[待插入图表名]/[窗体位置]/[用NC或PLC变量获取光标位置]/[待插入图表的位置]/[定义显示的栏数]) , 其中带[]的参数为可选项。
(3) 屏幕窗体元素的设计。包括窗体元素名称、位置和色彩的确定, 窗体元素数据类型的确定, 与窗体元素相关的NC/PLC变量的确定, 输入、输出区域位置和色彩的确定等项目。定义窗体元素的指令格式DEF Identifer= (Variable type/[limit values or toggle field or table identifer]/[Default]/[Texts]/[Attributes]/[Help display]/[System or user variable]/[Position of short text]/[colors]/[Help]) , 即DEF标识符= (变量类型/[变量的极限值]/[缺省]/[文本]/[属性]/[帮助显示]/[系统或用户变量]/[短文本位置]/[输入输出区域位置]/[输入输出区域色彩]/[帮助]) , 其中带[]的参数为可选项。
根据项目需求, 管理维护界面定制的程序代码如下, 管理维修界面效果见图1。
三、PLC程序编制
界面定制完成后, 需要选择与界面中变量相关的信号, 将它们加工成有用信息在界面显示。管理信息必须根据用户要求, 选用相应信号, 通过编制PLC程序来实现监控。主轴运转时间监控, 选用驱动信号DB36.DBX61.4和DB36.DBX94.4, 将它们的非信号相与作为采样信号。程序运行时间监控, 选用通道信号DB21.DBX35.0作为采样信号。辅助工作时间定义为主轴不运转, 程序不运行, 选用信号DB36.DBX61.4、DB36DBX94.4和DB21.DBX35.0为采样信号。要求上述3个时间能长期统计, 断电后统计结果不丢失, 开机后能继续累加。但是STEP7软件计时器最大计时为2h46min30s, 不能进行累加计时。该项目通过编制时间片脉冲程序与PLC系统计数功能SFB1相配合, 计时范围可达216h。机床状态信息纷繁复杂, 这些信息显示可根据具体项目采用不同方法。电机电流、负载和功率显示, 可在定义变量时, 通过编程的方法直接读入;电机温度的检测, 可通过STEP软件的FB2功能块把这些参数读入到PLC中, 然后转换成能在界面中显示的数据。为实现上述功能, 编制以下PLC程序块: (1) FC200——产生连续的时间脉冲; (2) SFB1——系统功能块, 用于时间段的计数; (3) FC201——统计主轴运行时间、程序运行时间和辅助工作时间; (4) FC205——读取NC参数信息; (5) DB121、DB122和DB123——调用SFB1时的背景数据块; (6) DB132——调用功能块FB2时所需的背景数据块; (7) DB128、DB133——HMI与PLC交换数据的接口。相关PLC程序在此略去。
四、调试和备份
程序编制完成以后, 实测各项目, 要达到精确计时, 就要观察变量中间值。观察24h内变量MW6、MW7的中间值与理论值的差值, 误差为6s, 误差率=12/ (24×3600) =0.007%, 可满足设备精确计时要求。读取机床主轴信息时, 初次引用的机床变量为$AA_LOAD[AX6] (AX6是主轴的驱动编号) , 变量[AX6]引用不正确, 界面显示“SPINDLE_LOAD########%”, 这是由于控制系统找不到$AA_LOAD[AX6]对应的参数, 用默认符号#填充对应的数值位。通过正确的引用主轴变量$AA_LOAD[SP], 界面中子项目“主轴负载百分比”显示“SPINDLE_LOAD 12.14637%”, 正确显示。
调试完成后, 需要备份系统, 分别备份MMC和PLC, 也可对PLC备份以后, 对硬盘作整体备份。画面制作程序存储在F:DHCUS.DIR目录下的MA_JOG.COM、MA_AUTO.COM文件中。这样若硬盘损坏, 只需更换硬盘, 然后将备份的数据恢复即可, 而不用重新编制HMI界面程序和PLC控制程序。
较之传统的加装外部计时器的方法, 该方法能根据系统相关信息, 精确统计出机床运行效率, 而且计时时间长、不需额外投资, 可在使用SINUMERIK 840D系统的设备间方便互相移植。
摘要:在SINUMERIK 840D数控系统, 利用用户扩展接口的方法, 开发嵌入式管理维护界面, 介绍编制PLC程序, 现场调试效果良好。
【嵌入式数控系统论文】推荐阅读:
主从嵌入式系统论文08-05
嵌入式通信系统论文09-10
嵌入式系统启动分析论文06-12
嵌入式GUI系统论文07-01
关于嵌入式系统的论文01-20
多DSP嵌入式系统论文12-23
嵌入式系统智能快递柜设计研究论文11-09
《嵌入式系统原理及应用》结课论文格式模版07-22
基于嵌入式平台的网络化OTDR模拟训练系统设计论文08-19
嵌入式数控02-23