APP下载

基于FPGA的开放式数控系统硬件配置设计

2014-07-18黄昕龙倪霞林

机械制造与自动化 2014年2期
关键词:选择器数控系统寄存器

黄昕龙,倪霞林

(福州大学 机械工程及自动化学院,福建 福州 350108)

基于FPGA的开放式数控系统硬件配置设计

黄昕龙,倪霞林

(福州大学 机械工程及自动化学院,福建 福州 350108)

根据开放式数控系统的配置要求,在PC+可编程I/O卡的体系结构的基础上,总结分析硬件可配置的可实现背景,采用模块化的思想提出并建立了基于FPGA平台的硬件可配置模型。利用硬件编程语言完成重要模块的设计,分析了仿真结果验证设计的可行性与有效性。在自行研制的开放式数控系统上完成了四轴配置的验证,达到了开放式数控系统硬件可配置的要求。

开放式数控系统;FPGA;硬件可配置

0 引言

开放式数控系统最重要的特点之一是它能够适应不同的生产条件与生产情况,从而完成自身的重构与配置。系统配置可分为软件配置与硬件配置。软件配置主要是研究基于运动控制卡的配置,如美国Delta Tau公司的PMAC多轴运动控制卡,集成刀补,插补算法,位置控制等实时控制,开发者只是通过完成软件层的独立配置程序的编写来实现系统的重构;硬件配置则是充分利用可编程逻辑器件的硬件可重构性,构造数控系统的控制内核,利用硬件编程语言实现数控系统的配置。目前,国外在配置结构上面的最新研究主要采用软硬件协同设计,基于多主体(Multi-Agent)结构的硬件平台,通过多片FPGA完成多功能的实现,最后在软件层的调用下完成相应的配置[1]。该体系结构具备良好的协调性与灵活性,但所占资源较大。国内提出的软硬件协同重构主要通过软件层调用程序与硬件层配置文件的重复下载完成系统的配置[2-3],灵活度不高。

针对以上问题,提出基于PC+可编程I/O卡的体系结构的系统可配置设计。其核心思想是依据任务的实时性划分软硬件功能,将硬件功能集成在单片FPGA上,并研制软硬件的协同配置。本文主要介绍基于一定软件配置功能的硬件配置方案及具体实现。

1 硬件配置总体结构

1.1 硬件可配置实现模型的提出

基于PC+可编程I/O卡的体系结构,由PC进行粗插补运算,并将获得的周期数据交予可编程I/O卡,完成最终的精插补。针对粗精插补模块传输问题,文献[4]提出了基于离线粗插补的数据采样插补法,并采用双缓存机制与动态插补等技术保证插补的连续性与可靠性,图1为该异步插补法的结构图。在此基础上,如何实现开放式数控系统的重构,并配合PC软件层实现硬件的可配置性将作为本文研究的出发点。

图1 异步插补结构图

1.2 硬件可配置实现模型的建立

1.2.1 配置信息下载

硬件可配置通常分为静态配置和动态配置。前者是指数控系统在开机初始或者系统升级时,FPGA通过对配置信息的获取与下载,实现系统的快速配置;后者是指在系统运行过程中,依据不同的任务需要动态调用功能模块,通过对配置信息的下载,迅速地实现系统的局部配置。

FPGA芯片本身不具备断电存储功能,因此每次开机初始前都需要对配置信息进行重新下载,本文基于静态配置的构想,提出PC在线下载的方法进行配置信息的下载,即将配置信息存放在PC机上,每次开机初始化时进行默认配置信息的重新下载(软件层所需要保证的),只有当系统更换升级时才更改配置信息。该途径优势在于可以方便存储与更改配置信息,将系统配置中的重复配置操作交予PC,简化了硬件平台的设计,并提高了硬件卡的工作效率。但只能限制在系统运行前配置,对于还处在工作状态的系统,该配置方法容易造成系统的不稳定。

1.2.2 配置机制

上面提到采用在线PC的方式将配置信息载入可编程I/O卡内的配置寄存器,对配置寄存器设立相应的偏移地址,将配置数据直接写入配置寄存器,并在此基础上提出配置中断。若配置寄存器为空,则由寄存器向接口控制模块发送一个配置空信号,表明编程卡未完成软件的配置,并由该信号产生一个中断,从而激活上层配置信息的传输;若已完成配置,则产生一个已准备好信号。

若配置寄存器已完成配置信号的转换,则发送给各个轴单独设立的数据逻辑选择模块,控制周期插补数据满足配置输出。其中,数据逻辑选择模块的功能是:轴使能信号控制选通寄存器,实现使能轴插补数据阻通;联动轴信号控制输入寄存器,实现数据独立或者联动传输,若为联动轴,则插补数据将存入锁存器中,等待联动脉冲解锁,否则,直接送入精插补模块。图2为硬件配置结构图。

图2 硬件配置结构图

2 硬件配置电路设计及验证

本文采用单片FPGA作为可编程I/O的主控芯片,所选芯片型号为CylcloneⅢ系列的EP3C16Q240CN8,该芯片同时具备集成度高、开发成本低、设计周期短以及具备可重构能力等优点,保证了其在电路设计中的强大优势,因此可以满足本文数控系统的硬件可配置需要。

2.1 配置寄存器

配置寄存器主要实现配置信号的接受与转换,即硬件卡在系统开机时对控制模式配合命令进行接收处理。这里的控制模式配置命令包含了软件层对硬件平台的配置要求,具体有轴使能数据、联动轴组合方式数据、轴运动形式数据和联动轴数数据。从硬件角度出发,配置信息将转换成以下几种使能信号发送给各个轴设立相应的数据逻辑选择器:

1) 轴使能信号。当该信号有效时,使能轴的插补数据能够完成精插补运算;否则,插补数据无效。

2) 联动轴信号。当该信号无效时,使能轴独立进行精插补运算;否则,使能轴实现联动。

3) 轴运动形式信号。当该信号有效时,使能轴为旋转轴;否则,使能轴为直线轴。

为了保证配置信息的可靠性,采用发送配置空标示信号的方式,产生一个配置中断。已知PCI总线单周期传输完成一个I/O读过程需要7个时钟周期,CPU响应时间约为14us。因此,设计一个空信号发生器,判断配置信息是否写入,若无写入则每隔8个时钟周期向设备接口控制器发出空信号,否则保持低电平。接口控制器内部逻辑产生配置中断并发送给PC,PC软件驱动层随即响应中断调用最上层软件层发送配置数据。图3、图4分别为开发的配置寄存器IP封装图和Modelsim-Altera时序仿真图。从时序图可以看出:rstn信号转为无效后的第8个周期,配置模块检测到配置寄存器为空,则置空信号empty0和empty1为高电平。其中empty0和empty1分别对应轴使能寄存器与联动使能寄存器。若配置信号转换成功,则至高配置准备好信号crdy并发送给数据读取逻辑单元。

图3 配置寄存器IP封装图

图4 配置寄存器时序仿真图

2.2 数据逻辑选择器

数据逻辑选择器主要是根据配置信息以及轴号对插补数据进行相应的逻辑选择。其内部由三个部分组成,包括数据分配模块、数据输出模块及状态机模块。分配模块主要完成轴号及轴使能信号对插补数据的筛选;输出模块则是根据对应的输出使能信号选择联动或者非联动输出;有限状态机(FSM)是逻辑选择器设计的核心,状态机接收来自模块外部(配置模块)的控制信号,分析处理后,对是否轴使能以及是否联动做出正确的响应,以保证模块对周期插补数据逻辑选择的正确完成。图5为逻辑选择器所采用的状态机转换图,将数据逻辑选择划分为五种状态,具体定义为:type m_state is (idle,lchst,hldst,ulst1,ulst0)。各个状态在使能信号的控制下输出的情况如下:

1) 在idle状态下,数据输出皆为高阻态;

2) 在lchst状态下,内部信号latch转为有效(高电平),进行数据锁存,并保持到idle状态来临前;

3) 在hldst状态下,数据保持,直到联动时基脉冲来临;

4) 在ulst0状态下,内部信号data_out0转为有效(高电平),实现联动轴数据解锁输出,保持到idle状态来临前;

5) 在ulst1状态下,内部信号data_ou1转为有效(高电平),在保证联动使能信号低电平时,实现非联动轴数据直接输出,保持到idle状态来临前。

图5 逻辑选择状态机转换图

其中,data_en信号为数据使能信号,b信号为联动使能信号,clkin信号为联动时基脉冲。

图6、图7分别为开发的数据逻辑选择器IP封装图和Modelsim-Altera时序仿真图。从时序图可以看出:假设缓冲单元向逻辑选择单元连续写入三个不同轴号的数据,并设定该单元对应1号轴;当data_en信号有效时,开始锁存数据,直到clkin信号有效后的第一个时钟上升沿完成相应数据的输出;输出数据时存在一些毛刺,但持续时间都不超过半个时钟周期,并在上升沿来临时维持稳定。

图6 数据逻辑选择器IP封装图

图7 数据逻辑选择器时序仿真图

3 结论

文中的方案主要是通过配置模块冗余实现不定轴数的配置,通过核心模块的对配置信息的读取完成轴使能与轴联动功能在硬件上的重构。基于该配置结构的可编程卡已经应用于自主研制的开放式软数控系统上,通过加载Linux操作系统上的设备驱动程序完成了对数控铣床的调试,初步验证了硬件配置电路的可行性与有效性。本文的设计方案具备如下优点:1) 不需要一般用户操作硬件配置信息的下载,只需要在PC机用户界面完成整个系统的配置初始化;2) 自主开发硬件层的配置结构,不依赖任何专用的运动控制卡,相对于高级用户更具灵活性。但在硬件资源分配的灵活性上仍存在缺陷,根据板卡内部资源暂定配置的最大轴数为八轴。

[1] Luis Morales-Velazquez,Rene de Jesus Romero-Tronocoso,etal. Open-architecture system based on a reconfigurable hardware-software multi-agent platform for CNC machines.Journal of Systems. Architecture, 2010.56:407-418.

[2] Wang Tao,Wang Liwen.Research on software-hardware co-design of reconfigurable CNC system. Advanced Materials Research,2011.204-210: 458-463.

[3] 王文,秦兴.基于可编程逻辑器件的可重构数控系统研究[J].计算机集成制造系统,2002,8(7):565-569.

[4] 任志英,陈剑雄.基于离线粗插补的数据采样插补法[J].机床与液压,2009,37(3):47-49.

Design of Hardware-reconfigurability Based on FPGA for Open CNC System

HUANG Xin-long, NI Xia-lin

(School of Machine Engineering and Automation, Fuzhou University, Fuzhou 350108, China)

According to the reconfigurable requirement of open CNC system. this paper sums up and analyzes the feasibility of the hardware-reconfigurability based on the architecture of PC+ programmable I/O board. Meanwhile, the modular design based on FPGA is used to estabish its module. According to hardware description language, the main modules are designed.The open CNC system is verified through the simulation software and its application.This system meets the requirement of the hardware reconfigurability.

open CNC system; FPGA; hardware-reconfigurability

黄昕龙(1988-),男,福建福州人,助教,硕士,研究方向为精密仪器控制技术。

TH12;TP273

B

1671-5276(2014)02-0189-03

2013-02-28

猜你喜欢

选择器数控系统寄存器
Lite寄存器模型的设计与实现
74151在数据选择和组合逻辑电路中的灵活应用
DIV+CSS网页布局初探
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
四选一数据选择器74LS153级联方法分析与研究
分簇结构向量寄存器分配策略研究*
双四选一数据选择器74HC153的级联分析及研究