APP下载

嵌入式横机控制系统通信设计*

2012-11-24唐小琦

组合机床与自动化加工技术 2012年10期
关键词:机头主站嵌入式

付 强,宋 宝,唐小琦

(华中科技大学国家数控系统工程技术研究中心,武汉 430074)

0 前言

嵌入式横机是纺织机械中机电一体化、自动化程度较高的一种产品,主要由机械本体、花型设计软件和整机控制系统等部分组成[1-2]。国内对横机控制系统的研究起步较晚,相对于国外先进的控制技术,还处于消化、吸收、仿制阶段。随着电子技术,特别是嵌入式系统控制技术的发展和普及,国内对控制系统的研究发展迅速,已经形成成熟产品。目前国内横机控制系统大多采用分布式结构,主控制层负责人机交互、实时控制以及向机头驱动层发送控制指令,而机头控制层负责机头部分对控制对象的控制[3]。主控制层与机头控制层之间采用串行总线通信方案[4]。

横机在编织过程中是以针信号为同步信号[5]的,每经过一针控制系统需解析该针对应的花型文件,然后控制相应的选针器、电磁铁等控制对象工作。因为横机针距很小,同时为了提高生产效率对机头运行的速度要求也非常高。以12针/寸的机型为例,当编织速度为1.2m/s时,可计算得出针响应时间为1.76ms。在横机高速多功能的发展需求下,针响应时间则会更短。因此,对于控制系统通信来说实时性要求非常高。

本文提出采用ARM作为主控制器,FPGA作为机头从控制器,主控制层与机头驱动层之间采用NCUC-Bus现场总线通信设计方案。利用FPGA的可编程、设计灵活的特点,将NCUC-Bus协议集成于FPGA内部。不仅实现横机主、从控制器间高速通信,而且硬件结构简单,可灵活设计通信周期和存储器的大小。NCUC-Bus支持数据双向传输[6],具有传输速率高、传输距离远、抗干扰能力强和较高的实时性和高可靠性等特点[7],满足横机控制系统高速同步通信的要求。

除本节外,本文结构安排如下,首先介绍NCUCBus现场总线通信机制和横机控制系统通信需求及结构设计,其次讨论了通信接口的硬件设计,然后详细介绍FPGA内部电路及通信流程设计,最后给出测试方法及结果。

1 系统通信结构设计

NCUC-Bus现场总线,是由武汉华中数控、大连光洋、广州数控、沈阳数控、浙江中控5家公司联合研发的具有自主知识产权的强实时现场总线协议。NCUC-Bus网络是一种主从式的现场总线网络,环路中拥有一个主站设备(主站)和多个从站设备(从站)。通信由NCUC-Bus主站发起,由从站依次进行通信数据再加工,转发相邻从站,最终回到主站[8]。

如图1所示,本文设计采用在主控制器上扩展一块协处理器FPGA芯片,ARM通过数据地址总线访问FPGA内置存储器的方案实现了ARM存储器地址的无缝连接。对标准NCUC-Bus协议进行适当裁减,配置为一主一从模式,并将主控制器中FPGA设为NCUC主站,伴随机头作往复运动的从控制器FPGA设为NCUC从站,分别集成裁剪后的总线协议程序。横机在进行工作时,主控制器通过NCUC主站下传当前机头的位置信息,从站计针定位模块由机头位置计算得出当前的针数,选针控制模块及时地获取对当前机头所处这一针出针状态的数据描述,从而控制选针器作相应的操作。

图1 系统通信结构图

目前NCUC-Bus通信协议中有两种数据类型:周期数据和非周期数据。

对于周期性通信的数据帧,数据链路层将各个从站的数据信息依次封装,组成一个数据帧;各从站根据数据流向各个站点的有效数据信息的长度,以及站点的有据信息长度就可以从周期性数据的数据帧中获得自己站点有效数据的内容,从而实现数据的帧寻址和识别。

非周期数据通信支持两种传输方式,分别为广播和单地址传输通信。NCUC-Bus进行广播传输时,通信帧被数据链路中所有的从站接收,从站依次接收通信帧,向下一个从站转发通信帧,直到最后一个从站将数据传回NCUC-Bus主站;NCUC-Bus单地址传输通信帧仅对通信链路中某一从站实现数据传输。

周期数据有效数据位10Byte/每周期,非周期数据有效数据位30Byte/每周期。周期数据发送数据量小,因此使用周期数据下传机头位置、状态控制命令等信息,同时上传报警信号,状态反馈,数据请求等信息。使用非周期数据来下传大量数据。配置NCUC-Bus网络周期为0.25ms,则周期通信数据最大传输速度可达120 Byte/ms满足横机高速实时通信需求。

2 系统通信流程设计

整个系统结构可以分成应用层,驱动层,协议层,NCUC-Bus数据链路层,如下图2所示:ARM负责人机交互接口响应、应用层数据封装,系统状态管理等。FPGA负责NCUC-Bus现场总线接口处理,为通信构建一条畅通的通信链路,实现数据正确发送或接收,保证执行模块能够及时获得相应数据,同时产生状态标志和反馈信息供给ARM查询。

图2 系统通信结构及流程图

通信流程设计如下:在通信周期内,ARM检查发送缓存,若为空,则按顺序将数据填写到发送缓存中。从站检查发送队列,若有队列为空,则向主站请求数据;主站收到数据请求,按顺序将数据发出,发送完后将缓存情况反馈给ARM,等待数据写入;从站收到数据存入发送队列,等待发送。ARM通信流程及主、从站通信流程如图3。

图3 通信流程图

3 FPGA接口设计

硬件平台采用ARM+FPGA+PHY结构,如图4所示,主要部件包括主控制器ARM,辅控制器 FPGA和光纤端口。ARM选用三星公司的S3C2440A。该芯片采用基于ARM920 T为核心的高速缓冲体系结构,最高工作频率为400MHz,集成了多种通用系统外设。NCUC主站及从站FPGA分别选用ALTERA公司的CycloneⅡ系列的EP2C8Q208C8N和CycloneⅢ系列的 EP3C16Q240C8。EP2C8Q208C8N芯片是具有8256个逻辑单元,最高工作频率可达 260MHz。EP3C16Q240C8芯片具有15408个逻辑单元,最高工作频率可达402MHz。

图4 通信接口原理图

图4 中,DATA[15..0]为数据总线,ARRR[15..1]为地址总线的一部分,ARM通过读写控制总线(WR、RD、CS)实现对FPGA的读写控制。协控制器FPGA作为现场总线和以太网通信链路接口的控制核心,构建基于NCUC-Bus现场总线的数据链路,完成数据链路的建立和维持,实现数据的检错和纠错功能。

4 FPGA软件设计

双系统嵌入式横机有8组选针器,每组8个刀片,四系统横机中选针器数量更多。

由于每一针数据须包括所有选针器的编号和状态,每针数据信息量比较大。为满足机头控制实时性要求,必须在机头从控制器FPGA中建立数据队列。ARM发送缓存和机头数据队列都采用双缓存结构,进行乒乓操作提高系统效率。

主控制器中FPGA内部通信程序模块主要有:ARM的接口模块,NCUC-Bus通信接口模块,系统状态管理模块,缓存状态控制及读缓存模块,模块间连接图如图5所示。从控制器FPGA内部通信模块与之类似,不再叙述。

图5 FPGA内部程序模块结构图

系统状态机主要功能为响应系统的命令,完成系统状态切换。向NCUC从站下传状态控制命令、实时位置以及接收其上传报警信息等。ARM发送缓存采用双缓存(BUF)结构,缓存状态管理模块切换双缓存的数据地址总线和控制信号。在自动模式下BUF1和BUF2会被交替选中,默认的顺序为BUF1->BUF2->BUF1…。读缓存模块负责将数据从BUF中读出,将读出的非周期数据和发送标志位送给NCUC接口模块。BUF为FPGA内嵌存储器模块“altdpram”具有两套完全独立的数据线、地址线和读写控制线并可以根据需要灵活设置其大小[9]。采用双口RAM作为ARM和FPGA通信模块的数据交换接口,实现了高速、可靠的数据交换,且具有更强的抗干扰能力[10]。

NCUC-Bus通信接口模块,构建基于NCUC-Bus的数据链路,主要实现对NCUC网络的状态控制,包括等待初始化命令、编址、识别、配置和初始化完成状态。在编址,识别和配置3个状态时NCUC主站下发网络管理帧,初始化完成后下发周期数据帧和非周期数据帧。模块不断响应NCUC主站的中断信号,进行周期数据帧和非周期数据帧的封装和解析,将下发数据帧写入发送缓冲区,同时将解析后的数据上传给系统。NCUC网络状态机见下图6。

图6 NCUC网络状态机

5 系统测试

将本设计运用到嵌入式横机控制系统中,见图7。在FPGA内部模块电路仿真正确的基础上,实现主控制器和从控制器的联机调试,通过横机控制系统测试来验证整个通信设计的正确性及可靠性。

图7 嵌入式横机控制系统

主、从控制器按照NCUC-Bus协议采用光纤连接主站和从站,实现总线通信。利用FPGA编译环境quartusⅡ内置的signaltap工具捕获和显示实时信号。NCUC-Bus从站接口模块各信号的时序图如下图8所示。可灵活设计通信周期和存储器的大小,满足不同应用场合的需求。实验表明该通信系统能够满足横机控制系统主控制器与从控制器之间的通信需求。

图8 NCUC-Bus从站接口时序图

ARM对主站的模式进行配置后使系统处于自动运行模式下,通过串行接口将系统运行过程显示在电脑超级终端界面上。如图9所示,系统进行初始化,光纤完成初始化系统运行,依次向两个缓存发送数据,从站收到数据后控制选针器和步进电机的动作。

图9 系统运行测试图

6 结束语

本文以基于ARM和FPGA的主从式控制系统为硬件平台,采用NCUC-Bus现场总线协议的通讯设计方案,利用 FPGA的可编程、设计灵活的特点,将NCUC-Bus协议集成于FPGA内部,不仅满足嵌入式横机控制系统数据传输实时性要求,而且硬件结构简单,

[1]吕建飞.基于嵌入式ARM全自动横机的控制系统[J].纺织学报,2005,26(6):101-103.

[2]黄元顺.新型电脑横机控制机构设计分析[J].针织工业,2003(1):58-59.

[3]张丹.高速多功能横机控制系统研制[D].杭州:浙江理工大学,2009.

[4]范德和,皮佑国,等.基于DSP和FPGA的运动控制器高速串行通信设计[J].组合机床与自动化加工技术2011(9):58-61.

[5]吕建飞,傅建中.新型电脑横机的开发研制[J].针织工业,2005(5):13-15.

[6]陈明,宋宝,唐小琦,等.基于DSP和FPGA的网络转换网关[J]. 计算机应用,2011,10(31):2617-2620.

[7]王志成,于东,张晓辉,等.数控系统现场总线可靠通信机制的研究[J]. 机械工程学报,2011,47(3):152-158,165.

[8]数控系统现场总线(NCUC-Bus)数据链路层规范和服务定义(草案).

[9]陈琼,潘礼,黄松,等.FPGA系统设计与实践[M].北京:北京电子工业出版社,2005.

[10]徐向民.数字系统设计及VHDL实践[M].北京:机械工业出版社,2007.

猜你喜欢

机头主站嵌入式
烧结工序机头电除尘效率提升改造技术研究
放疗中小机头角度对MLC及多靶区患者正常组织剂量的影响
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
县级配电自动化主站系统的设计
747-400F货舱机头门系统原理及故障分析