0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于嵌入式PC和LINUX操作系统的嵌入式数控系统的设计

电子设计 来源:智能机器人 作者:朱志红,杨凡,周 2021-01-19 10:33 次阅读

作者:朱志红,杨凡,周会成

嵌入式技术迅速发展,已经被广泛地应用于各行各业。将嵌入式技术和数控技术结合起来产生了很多理论和应用成果。但是,随着机床加工零件复杂程度越来越大,建立嵌入式数控系统一致的体系架构越来越迫切。没有体系结构提供通用的方法指导,将各式各样的软硬件模块集成到数控系统中将是非常繁重且容易出错的工作。嵌入式数控系统体系结构就是要为各个模块提供集成规则和接口规范,通过这些集成规则和接口规范,不同的开发者能够构建出通用的模块。利用通用的模块和通用的集成规则,可以构建不同的嵌入式数控系统,由数控系统集成到工控站,由工控站再到工控网络乃至更复杂的系统。嵌入式数控体系结构能够提高系统的灵活性、可靠性、安全性和开放性。美国国家技术标准化组织(NIST)就致力于为各种机械控制系统建立一种参考体系结构。本文研究了嵌入式数控系统的硬件体系结构和软件体系结构,并结合所做工作,介绍了这种体系结构的一种实例。

1 嵌入式数控系统硬件体系结构

嵌入式数控系统硬件体系结构如图1所示。

基于嵌入式PC和LINUX操作系统的嵌入式数控系统的设计

图1嵌入式数控系统硬件体系结构

嵌入式数控系统必须包含一个可编程计算部件,也可以包含多个,构成多CPU系统。嵌入式处理器控制器种类很多,比较常用的有ARM、嵌入式X86、MCU等,处理器是整个系统运算和控制中心,它的架构越来越趋向于采用RISC指令集Harvard架构。可编程计算部件,若干年前还是单指处理器或微控制器,而现在却增加了如FPGA等其它可编程计算资源。

数控系统要和操作人员交互,必须有一个显示硬件,可以是CRT显示器,但是一般嵌入式处理器中集成LCD控制器,它提供与DSTN(Dual-Layer Super Twist Nematic,双扫描扭曲向列液晶屏)或TFT(Thin Film Transistor,薄膜晶体管液晶屏)显示器的接口,通过这个接口可以直接驱动液晶显示屏。

随着USB移动存储设备使用的推广,平台通过USB主控制器实现对USB设备的支持和控制。处理器中也可能集成了USB客户端控制器,方便实现USB客户端接口,一般通过这个接口进行上位机与平台间的应用软件调试。

串口用来实现上下位机通信,在有些伺服驱动装置中也提供串口连接,因此,也可以通过串口与驱动连接。

外部存储器总线接口支持各种外部存储器:SDRAM、RAM和闪存储器,内存一般选用SDRAM,闪存是一类非易失性存储器,在电源关闭后仍能保持片内信息,这里用来存储数控系统程序及配制数据。

进给轴接口是数控系统和进给伺服系统的桥梁。就现阶段经常使用的伺服控制系统而言,进给控制接口一般有串行式接口、脉冲式接口、模拟式接口等等。

主轴控制接口连接数控系统与主轴驱动单元,它包含两个部分:主轴速度控制输出和主轴编码器输入。

在数控系统内集成的PLC属于内置式,它有设计灵活、结构紧凑、针对性强等特点,主要完成主轴转速的S代码、刀具功能的T代码以及控制主轴正反转与启停、主轴换档、冷却液开关、卡盘松紧等M代码。

传感器接口用来检测机床位置信息,实现各种控制算法的计算输入。

现代制造工程的发展要求数控系统间应该能够通过网络互连,传递命令和数据信息,并行完成数控任务。因此加入以太网模块,以便在需要时实现数控系统的联网。

上述各功能模块通过标准总线连接,实行统一的总线接口规范。该体系结构中有些功能模块不是每一个嵌入式数控系统都必须的,可根据具体要求裁减。

2 嵌入式数控系统软件体系结构

嵌入式数控系统软件体系结构如图2所示:

图2嵌入式数控系统软件体系结构

嵌入式数控系统软件体系结构分为系统平台和应用软件两大部分。上层应用软件分数控应用程序接口(NCAPI)和操作界面组件两个层次,以分别实现对机床厂和用户这两个层次的开放。

底层模块除了PLC之外的部分是不对外开放的,非系统开发者可以通过NCAPI使用底层的功能。底层模块完成插补任务(粗插补,微直线段精插补,单段, 跳段, 并行程序段处理);PLC任务(报警处理,MST处理,急停和复位处理,虚拟轴驱动程序,刀具寿命管理,突发事件处理);位置控制任务(齿隙补偿, 螺距补偿,极限位置控制,位置输出);伺服任务(控制伺服输出、输入)以及公用数据区管理(系统中所有资源的控制信息管理)。因此必须具有多任务的处理能力,即;任务建立;撤消;调度;唤醒;阻塞;挂起;激活;延时的处理能力;创建信号量;释放信号量;取信号量值的能力。

上层软件负责零件程序的编辑、解释,参数的设置,PLC的状态显示,MDI及故障显示、加工轨迹、加工程序行的显示等,通过共享内存、FIFO和中断与底层模块进数据交换。上层软件模块包括:解释器模块,MDI运行模块,程序编辑模块,自动加工模块,参数编辑模块,PLC显示模块,故障诊断模块等等。

数控应用软件开发接口(NCAPI)是为针对不同的机床和不同的要求而提供的通用接口函数,在此之上可以方便地开发出具体的数控系统,如华中I型铣床数控系统,世纪星车床数控系统等。NCAPI与原华中I型提供的API接口保持一致。统一的API保证系统的可移植性和模块的互换性;系统开发集成环境中的配置功能可以通过配置不同的软件模块实现系统性能的伸缩性,系统性能的伸缩性则通过更换系统硬件得以保证。

3 应用实例

按照上述嵌入式体系结构的层次划分,本文开发了基于嵌入式PC和LINUX操作系统的嵌入式数控系统。

CPU采用嵌入式PC单元,通过PC104总线嵌入到数控主板中。在数控主板上,继承了开关量接口电路,MCP、MDI键盘接口电路,进给轴接口电路以及主轴接口电路。各接口电路由核心器件FPGA芯片集中控制。为满足CNC装置对开放性的要求,数控主板采用双FPGA设计。一个FPGA芯片负责控制开关量接口电路,MCP、MDI键盘接口电路,主轴接口电路,串行口伺服驱动装置接口电路;另一个FPGA芯片负责控制脉冲量伺服驱动装置或步进电机驱动装置接口电路,模拟量伺服驱动装置接口电路。两个FPGA芯片通过PC/104总线嵌入式PC机控制。利用FPGA芯片的灵活性,在不改变硬件电路的情况下,通过改变FPGA芯片的固件,以及两个FPGA芯片灵活搭配,可以构造出不同配置的数控装置。

操作系统是通过改造Linux内核使其成为实时操作系统。具体方法是:在Linux操作系统中嵌入一个硬件抽象层,接管所有中断和对硬件的操作。由于Linux采用整体式的模块化结构,数控系统任务中需要实时响应的任务做成数控实时模块,嵌入到Linux内核中,这些任务包括:伺服监控、PLC、位置控制等周期任务和插补这个非周期任务,刀补、译码和网络基本功能打包成数控应用程序接口。

在实时Linux软件平台的基础上,应用软件平台包含的离散点I/O控制API、传感器API、位置控制器API等接口为通用API接口。应用程序层包含的过程控制、人机界面及系统集成与配置支撑环境三部分只需要用实时Linux操作系统相关系统API替换相应的模块通信接口即可,上层应用模块可以不做修改。同时,应用软件平台具备良好的开放性,用户可自定义API来扩充系统功能支持,本文在应用平台层自定义了一个数控图形库API,用来支持数控系统的图形显示功能。

4 结语

本文提出的这种开放的嵌入式数控系统体系结构,在硬件上,标准的总线屏蔽了各功能部件差异,不同功能的数控硬件通过标准的信号规范来定义。在软件上,嵌入式实时操作系统为数控应用软件提供了系统接口,屏蔽硬件细节,提供实时、可靠、多任务的运行环境。软件体系结构总体上分层,使得体系结构清晰明了;层内按功能模块化,尽量减少模块耦合,使得软件复用性很好,有利于数控系统功能裁减和系统维护。既保证了硬件平台的开放性和稳定性,也使得软件移植和设计更加方便。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18265

    浏览量

    288214
  • 操作系统
    +关注

    关注

    37

    文章

    6274

    浏览量

    121859
  • 数控系统
    +关注

    关注

    5

    文章

    230

    浏览量

    23890
收藏 人收藏

    评论

    相关推荐

    关于嵌入式操作系统PC机的操作系统

    我想问下PC操作系统嵌入式操作系统的区别?如果,也许这个问题很幼稚,PC机可以外接硬盘装系统
    发表于 01-24 13:53

    【转】嵌入式系统原理及应用教程- -嵌入式Linux操作系统移植

    嵌入式系统原理及应用教程- -嵌入式Linux操作系统移植
    发表于 12-02 22:14

    Linux嵌入式操作系统有什么优势?

    嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作
    发表于 08-20 07:42

    嵌入式Linux系统基础概念讲解

    )等等。嵌入式Linux系统-- 引导程序,即Bootloader和PC的BIOS程序有些类型,最大的作是用来安装系统,就像刚买的
    发表于 12-25 16:37

    嵌入式操作系统μC/OS-Ⅱ在数控系统应用怎么改进?

    嵌入式操作系统μC/OS-Ⅱ是一个可裁剪、源码开放、结构小巧、抢先的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高,占用空间小,
    发表于 03-11 06:47

    Linux作为嵌入式操作系统的优势是什么?如何建立嵌入式Linux

    Linux作为嵌入式操作系统的优势是什么如何建立嵌入式Linux?当前流行的几种嵌入式
    发表于 04-27 06:34

    嵌入式Linux操作系统

    ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2
    发表于 10-27 10:22

    什么是嵌入式操作系统? 

    、INTEGRITY、OSE、C ExecuTIve  什么是嵌入式操作系统 嵌入式操作系统是一种支持嵌入式
    发表于 10-28 07:35

    嵌入式Linux之Android操作系统

    嵌入式LinuxLinux内核的改编版,用于嵌入式系统嵌入式
    发表于 11-04 08:18

    嵌入式Linux操作系统

      嵌入式Linux在新兴的嵌入式操作系统领域内也获得了飞速发展和广泛应用。而对于那些希望尽快进入嵌入式行业从事产品研发的朋友们,选择
    发表于 11-05 08:47

    嵌入式Linux操作系统学习规划

    嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux
    发表于 11-05 06:45

    嵌入式Linux操作系统的使用

    这是第一次接触嵌入式设计课程,课程设计内容目标如下:1、了解嵌入式技术;2、掌握嵌入式Linux操作系统的使用;(命令)3、掌握
    发表于 11-08 06:43

    基于Linux嵌入式操作系统

    2.2 实时操作系统的评价指标三、基于Linux嵌入式操作系统3.1 ARMLinux简介3.2 uCLinux简介四、嵌入式
    发表于 11-08 09:05

    Linux嵌入式操作系统移植

      如果就“Linux嵌入式操作系统移植”打个比喻,那么“Linux嵌入式操作系统移植”就像是给
    发表于 12-16 07:18

    嵌入式linux、arm嵌入式操作系统的相关资料分享

    嵌入式linux、arm嵌入式操作系统嵌入式系统应用领域嵌入
    发表于 12-27 07:35