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,用来支持数控系统的图形显示功能。
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,用来支持数控系统的图形显示功能。
举报