摘 要: 选取Altera公司Cyclone II系列EP2C8Q208芯片作为新型高速数字喷墨印刷机控制系统的开发平台,以μC/OS-II作为印刷机控制的实时系统,通过Nios II 11.0 Eclipse,运用Nios II软核处理器技术来生成μC/OS II实时操作系统模块,通过系统编程来实现新型数字喷墨印刷机控制系统。通过软硬件测试,验证了该系统的稳定性和可操作性。
关键词: 喷绘机;FPGA;Nios II;状态机;控制系统
随着我国经济的快速增长,加速了我国印刷业的发展。由于数字喷墨印刷发展平缓,尤其是价格上却比传统的喷墨印刷机高出很多,导致传统的喷墨印刷机仍然占据相当大的市场。针对上述情况,对于新型数字喷墨印刷机的研究是十分必要的。
1 系统硬件设计
在设计中,采用Altera公司的Cyclone II系列[1]芯片EP2C8Q208为核心芯片,结合Nios II软核来产生系统处理器,并利用可编程电路导出外围电路。设计中采用SoPC Builder[2]来构建。这里选用μC/OS-II系统来调度整个任务,因为μC/OS-II是源代码完全开源的,具有可剥夺实时内核,同时其执行效率高,占用的空间小,系统中仅仅包含了任务调度、任务管理、时间管理、内存管理和任务间通信以及同步机制等功能。
如图1所示,设计中以FPGA为核心,协同Nios II[3-4]软核工作。首先通过CY7C68013的USB芯片,从上位机上或者SD卡中获取待喷印的文件内容,并实时下发。通过NiosII软核的控制与处理,输送到数据传输/变换模块中,通过同步模块来实现文件内容的实时传输以及针对文件的内容,调整运动控制中的运动喷绘位置,来精确地实现运动控制,同时获得反馈状态信息以及同步输送控制命令。在此期间,喷绘机的机械参数存放在24C02的存储芯片中。通过LCD接口,结合GUI的界面以及按键接口,实现人机交互,在项目实现中,通过JTAG口以及UART串口进行调试。
Nios II软核是由中央处理单元、配套组件以及外围设备所组成的,并通过Avalon总线连接构成的处理器系统。这里通过Altera的SoPC Builder软件来配置Nios II CPU,并利用自动形成的Avalon总线将这些模块连接在一起。这里采用的RISC架构,同时根据实际的板级时钟设置为50 MHz,设置了相应的地址信息。
2 系统软件设计
2.1 总体任务框架
在整个软件架构中,由于存在低速设备与高速设备的不匹配问题,所以需要严格划分各个任务。在主控的调度下,首先通过高速输入ISR获得高速数据,经过处理后,由高速数据输出通道输出,并实时喷印。针对命令以及一些机械参数、状态等低速数据,则通过低速数据输入ISR的通道进入,并进行相应的处理。当进行离线文件喷印时,则可直接对SD卡操作,SD是通过SPI总线来与主控之间通信。必要时,一部分的参数也可以存放在EEPROM,这部分主要通过IIC来与主控通信,存放的内容则用于校准机器。另外通过LCD上的GUI,配合KEY来实现实时的人机交互。具体过程如图2所示。
2.2 ISR任务间通信机制的设计
本设计中,通过以μC/OS-II系统为平台,在其之上运行诸多任务,根据任务的特性,不同任务之间也采用不同的通信机制。ISR任务间通信机制的设计如图3所示。
(1)按键消抖任务通过KEY_ISR的全局变量来识别出上报的键值,同时转换成相应的命令,通过μC/OS-II的邮箱通信机制KEY_BOX传送给主控任务。
(2)低速设备输入的任务通过低速数据ISR的全局变量来控制,经过USB传输进来的数据同样通过μC/OS-II的邮箱通信机制KEY_BOX,实现和主控任务的通信。
(3)EEPROM的读写是通过IIC的协议来操作的。首先会收到主控的EEP_REQ_BOX邮箱消息,通过这条请求中包含读写控制字,主控开始实现对EEPROM的读写,当主控读写完毕时,则通过EEP_ACK_BOX的邮箱消息通知其读写完毕,完全根据IIC的协议来进行操作。类似的方式也适用于SD的读写中。
(4)低速设备由于是CPU来控制的,所以这里则只需要CPU关注速度匹配问题即可。
(5)高速数据的传输根据方向分为输入与输出,在输入上,由于是CPU来控制的,所以直接采用DMA的方式,通过一个DMA_TC的事件即可。而对于输出而言,底层需要有块设备的驱动支持,之后直接通过DMA的控制器向主控发送DMA_TC_SEM来实现传输,传输中的同步问题,则采用SY_O_SEM以及SY_I_SEM来完成。
3 系统总控状态机[5]
系统的总体状态图如图4所示,是系统在不同时刻的状态切换过程。通过箭头的走向,以及箭头上方相应的条件,来切换状态机的状态。刚开始上电时,系统的主窗口状态为00000,之后可以选用打印的方式,通过人机交互的方式,进而切换到不同的状态,从而灵活地调度与切换各个状态。
本文针对喷墨印刷机的控制系统做了很大的改进,提高了打印的速度以及精度,线条也更加圆滑,曲线的锯齿也有很大的提高,并能满足大幅面的喷墨需求。但是还存在一定的问题,例如纵向马达在速度控制上还不是很平稳。传输速度上,USB2.0的速度还是比较慢,急切需要USB3.0的合入来解决大数据传输问题。喷墨的温压曲线部分还有待提高,从而确保图像的美感度。总之,该控制系统具有很好的应用前景。
参考文献
[1] 崔桂梅,崔巍,庞海静,等.基于SoPC的硬件直线插补控制器设计[J].微特电机,2011,39(5):56-57.
[2] 刘延飞.基于Alter FPGA/CPLD的电子系统设计及工程实践[M].北京:人民邮电出版社,2009.
[3] 周润景.基于Quartus II的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社,2007.
[4] 孟芳,于立佳.基于Nios II的SOPC系统设计分析[J].无线电通信技术,2012,28(1):73-76.
[5] 李春霞.有限状态机的VHDL描述及综合[J].计算机工程与应用,2005(6):111-113.
[6] 徐艺文,魏云龙.利用μC/OS任务调度算法实现嵌入式数据管理[J].单片机与嵌入式系统,2011(5):25-27.