本文在分析电脑横机功能要求和控制系统的实现方式的基础上,介绍一种基于嵌入式技术开发的全自动电脑横机控制系统,提出采用32位处理器ARM和FPGA作为嵌入式全自动横机的主控制和从控制,基于此设计思路的电脑横机控制系统性价比和集成度都比较高,具有较好的使用价值。
关键字: 电脑横机 ARM FPGA
全自动电脑横机是针织行业中技术含量较高的机械,它集成了大量的数字开关量控制、电子驱动、机械机构、电机驱动等技术,可以编织非常复杂的手摇横机无法完成的衣片组织 。随着电脑针织的普及,具有高性价比和高集成度的电脑横机越来越受到青睐,随之,此类产品的需求量也越来越大。但是目前市场上的电脑横机控制器大多数采用单片机做主处理器或者以工业控制计算机为基础开发而来,还有采用32位处理器ARM和群组单片机组成的控制系统。采用单片机做主处理器,有集成度不高、稳定性不好等缺点。以工业控制计算机为基础开发而来的电脑横机控制系统,主程序在工控机上运行,处理速度快,运行稳定,但正常工作时,由于前端控制点所需要的信息量很大,要求反应时间极短,控制精度不高,体积庞大等缺点也相应的暴露出来并且成本较高。采用32位处理器ARM和群组单片机组成的控制系统,虽然简化了电脑横机控制系统的结构,使用了多种外围芯片集于一体的ARM芯片,提高了系统的稳定性和可靠性,但多单片机的协调工作问题及工业场合的抗干扰问题一直未得到很好的解决,系统的平均无故障时间仍有待于进一步提高。我们在分析电脑横机功能要求和控制系统的实现方式的基础上,提出采用32微处理器ARM和FPGA作为该控制系统的主控制和从控制,基本解决了上述问题。在该系统中ARM作为上位机主要实现加工数据的管理,FPGA解释并执行上位机送来的命令及监控个子系统的运行情况,发现异常时向上位机报警。
控制系统框架如图1所示
图1控制系统框架图
1电脑横机控制系统的要求
电脑横机控制系统主要包括,选针控制模块、导纱控制模块、三角控制模块、密度调节控制模块、机头传动控制模块、牵拉卷取控制模块、压脚控制模块、横移控制模块、现场同步与故障信号预处理模块等部分。而横机控制系统的核心就是通过电磁铁、步进电机、交流伺服电机等执行设备配合检测单元产生的同步信号来完成编织所需的各个特定动作的,因此其基本控制对象即为电磁铁和电机。其中:被控制的电机包括2套交流伺服电机、18套步进电机和8套直流卷布电机:①1套交流伺服电机作为主传动电机,通过皮带带动机头运动;②1套交流伺服电机作为摇床电机,针织过程中控制摇床动作;③8套直流电机,控制卷布牵拉机构;④8套步进电机,调节压针密度;⑤4套步进电机控制压脚;⑥6套步进电机用于完成剪刀剪线动作;被控制的电磁铁有160个之多,主要分为:①纱嘴选择电磁铁2组,每组8套电磁铁;②三角控制电磁铁4组,每组6套电磁铁;③选针器控制器8组,每组10套电磁铁。横机控制信号如表1所示。
2硬件系统设计
电脑横机控制系统是一个在线实时控制系统,设计时要同时考虑控制的可靠性及其性价比。如前所述,由于单片机和工业控制计算机分别存在着诸如集成度不高、稳定性不好和成本较高等方面的缺点。因此,我们选用ARM作为本系统的主处理器,由于电脑横机共有265路输入输出信号,对不同信号的处理要求遵循特定的时序和逻辑,并且系统有多路中断信号和控制信号,但是主处理器的I/O口资源有限,因此在ARM作为主处理器的基础上扩展了三片Cyclone系列FPGA芯片作为从处理器。
本系统选用SAMSUNG公司的S3C44BOX作为主处理器,这是一款16/32 位ARM 7TDMI RISC 处理器(66MHz) , 提供了丰富的内部设置包括,8KB cache,内部SRAM,LCD控制器,带自动握手的2通道UART,4通道DMA,系统管理器,代用PWM功能的5通道定制器等[2]。三片FPGA选用Altera公司Cyclone系列的EP1C6Q240,它采用0.13um的工艺制造,内部具有锁相环、RAM块、逻辑容量为5980个LE,最大用户I/O有185个。内部RAM块只有M4K一种,可以实现真正双端口、简单双端口和单端口的RAM,可以支持移位寄存器和ROM方式。共有8个内部全局时钟网络,支持DDR存储器接口,支持高速LVDS接口[3]。
ARM作为主处理器负责LCD显示及键盘处理实现良好的用户界面,并且通过数据总线、地址总线和控制总线(包括中断请求线和读写控制线)给FPGA写入命令,传输/读取数据,同时FPGA收集外部众多检测信号,进行相应的处理,并将重要的信号反馈给上位机进行实时显示。三片FPGA以从处理器的模式配合主处理器工作,作为主控制系统与底层执行器的直接对话部分,实现对多路电机、电磁铁的驱动和控制。具体来说,FPGA(A)完成3路用户输入(启动、停止和点动)、8套直流电机、2套交流伺服控制及29路检测信号的监听工作,包括8路位置传感信号、7路故障报警信号、11路零位置传感信号及3路位置计数信号,充分反映了横机当前的工作状态;FPGA(B)、FPGA(C)用于控制18套步进电机(密度控制、压脚控制、剪刀控制)及160路电磁铁(纱嘴选择、三角控制、选针器控制)的吸合与弹开。
由于FPGA驱动能力有限,因此我们使用LVC245来增强电路的驱动能力,最大电流可达100毫安。另外,本控制系统有多路电源,强弱电信号必须经过隔离,我们选用的是光电耦合器2501来实现隔离的功能。系统硬件结构如图2所示。
图2系统硬件结构图
3软件系统设计
电脑横机控制信息的流程一般可归纳如下:从输入设备取得花型图像,该花型图像经花型准备系统处理后,转换成花型数据文件,该文件不仅包含花型本身的信息,还包含选针数据和其他控制数据,通过信息载体输出到电脑横机控制器的上位机模块,经上位机模块的预处理,传送给下位机各子模块,由下位机各子模块根据现场信号进行实时处理,然后将控制信号输出给各个子控制的执行单元,从而完成整个控制任务。
通过对上述过程分析,该电脑横机控制系统的软件包括底层设备驱动程序、应用程序、工艺执行程序等。针织控制程序基于设备驱动接口实现针织过程的软件控制。驱动服务程序包括自动配置和初始化子程序,服务于I/O请求的子程序和中断服务子程序。由于工艺执行部分有29路检测信号接入到FPGA上,通过FPGA的中断管理模块进行集中收集并向上位机申请中断,当应中断时,中断服务程序被执行。服务于I/O请求的子程序,通过一系列入口函数,控制电磁铁和电机的动作。
我们采用Borland C/C++进行软件开发。上位机程序包括初始化、主程序面板管理子程序、花型信息处理子程序、中断服务子程序通讯子程序等。当系统启动时,设置一些参数,对各种电机及电磁铁电路自检并复位,确保机头在机器两端,然后进人花型信息处理程序的主控模块。在编织之前,通过USB接口读入U盘中设计好的花型数据文件。然后设定针床原点,再对输入/输出信号进行测试,测试正确后,调用编织模块中的试编织子模块试编织一行数据,最后才开始正式编织。
大多数复杂的嵌入式系统中都采用实时操作系统,我们选用UC/OSⅡ作为该控制系统的操作系统。UC/OSⅡ是一种源码开放(C 代码) 的嵌入式实时操作系统,简单易学,提供了嵌入式系统的基本功能,其核心代码短小精悍,如果针对硬件进行优化,还可以获得更高的执行效率[2 ] 。UC/OSⅡ在本控制系统中主要负责各个功能任务管理和调度,是整个控制系统的软件运行环境。利用UC/OSⅡ的任务调度和邮箱消息传递可实现各部分功能之间的通讯和任务级调度,实现横机各个复杂部件控制的协调配合。
4结束语
本文所研究的是基于ARM和FPGA的新型电脑横机控制系统。它具有处理速度快,运行稳定且实时性好等特点,使得以单片机和工控机为处理器的横机控制系统所带来的问题得到了很好地解决。对比传统的控制系统设计方法,本课题设计的系统在缩短前端控制时间的基础上提高了控制精度,也能使现庞大的控制系统的体积缩小。