嵌入式数控系统软硬件体系结构
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 结语
本文提出的这种开放的嵌入式数控系统体系结构,在硬件上,标准的总线屏蔽了各功能部件差异,不同功能的数控硬件通过标准的信号规范来定义。在软件上,嵌入式实时操作系统为数控应用软件提供了系统接口,屏蔽硬件细节,提供实时、可靠、多任务的运行环境。软件体系结构总体上分层,使得体系结构清晰明了;层内按功能模块化,尽量减少模块耦合,使得软件复用性很好,有利于数控系统功能裁减和系统维护。既保证了硬件平台的开放性和稳定性,也使得软件移植和设计更加方便。
- 多核体系结构的发展(03-06)
- 从体系结构的演变看高性能微处理器的发展趋势(03-14)
- 阵列处理器系统芯片的发展(06-12)
- 嵌入式处理芯片设计的新动向和新设计方式(02-04)