摘 要: 选用FPGA来控制织机监测系统的外围电路,以Altera公司的Cyclone EP1C12Q240作为核心芯片,EPCS4作为系统的配置芯片,在SoPC上集成了软核CPU、锁相环、存储器、I/O接口及可编程逻辑,并在Quartus II和Nios II IDE平台上运行。通过在某纺织厂现场系统调试,实现了对织机的实时监测,达到了预期的目的。
关键词: 织机;监测系统;FPGA;数据采集;SoPC
纺织业是劳动密集程度高、对外依存度较高的产业,它对我国国民经济建设发挥着不可替代的支柱性作用。纺织企业生产车间的特点是多机生产,少则几十台,多则几百台织机,因此,织机监测系统具有不容忽视的意义。本设计针对某纺织厂目前的织机监测现状进行了改进,该厂目前采用单片机控制外围电路,然而单片机的时钟频率较低,很难满足高速数据采集的需求。经分析研究,若选用DSP来控制外围电路,可以实现高速数据采集,但成本颇高。因此,采用FPGA作为主控芯片,应用Nios II处理器控制外围电路,在满足高速数据采集和处理的同时,有利于系统的不断升级。
1 系统总体设计
织机的远程监测主要完成基本功能和辅助功能。基本功能包括织机主要工作状态参数的监测;辅助功能主要由上位机完成,包括友好美观的人机界面、记录每班的生产效率和织机各种状态下的动态变化、能够供管理员或用户随时查询及打印报表。
系统工作过程为:上电后,首先对FPGA的主控模块进行初始化,FPGA的主控模块采集织机的各种状态数据并进行处理。在这一过程中,织机自带的显示屏会即时显示各工艺参数。当上位机向CAN总线发送读取每个节点织机状态参数的命令后,FPGA的主控模块将织机机台号、引纬率、产量及停机时数等主要工作参数写入CAN控制器的发送缓冲区内,启动发送命令传送给上位机进行相应处理。总体系统结构如图1所示。
2 系统硬件设计
FPGA的主控系统实际是一个基于Nios II处理器的SoPC系统,主要完成数据采集工作,包括织机的产量、运转率、引纬率和停机时数等。其硬件平台主要以Altera公司的Cyclone系列EP1C12Q240 FPGA为核心芯片,由系统存储设备SDRAM和Flash、系统时钟、串行配置芯片、I/O口、FPGA配制接口组成等。系统硬件结构如图2所示。其中,Flash存储器采用4 MB的Am291V320D;SDRAM采用HY57V283220T;串行配置芯片采用Altera的EPCS4;具有JTAG接口和AS接口,通过AS接口直接对EPCS4器件进行快速编程;采用有源晶体振荡电路产生50 MHz的系统时钟;电源有5 V、3.3 V和1.5 V。
2.1 外部存储器
2.1.1 Flash电路
在FPGA器件实现的Nios II嵌入式处理器可以使用Flash存储器作为通用只读存储器和大容量非易失性存储器,用户可以将基于Nios II嵌入式处理器的应用程序通过编程器烧写到Flash中,在程序运行前将Flash中的代码复制到其他速度更快的非易失性存储器SDRAM中,然后执行。
本系统选用的Flash是Am291v320,它是1 M×16 bit的CMOS工艺的Flash存储器,采用48脚TSOP封装,其工作电压为3.3 V。Flash存储电路如图3所示,其中10脚、11脚、13脚和24脚均接有4.7 k?赘上拉电阻,因此Am291v320不采用字节方式。
2.1.2 SDRAM接口电路
在SoPC系统实际应用中,由于FPGA片内的RAM容量一般不能满足需要,都需要外接SDRAM。SDRAM成本低、容量大,但需要实现刷新操作、行列管理、不同延时和命令序列等逻辑。SDRAM的操作都是由时钟作为同步,可以理解为一个电容,总是倾向于放电,为了避免数据丢失,必须定时刷新。因此,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。
本系统中选用的SDRAM是HY57V283220T,存储容量为1 M×32 bit×4 Banks,4个Bank间可以通过Bank地址来选择,其工作电压为3.3 V。一个片锁相环常被用于SDRAM控制器核与SDRAM芯片之间的时钟相位调整。SDRAM接口电路如图4所示。
2.2 串行通信接口
UART是通用串行收发器,UART串行通信接口是嵌入式系统最常用的接口,完成与上位机或其他外部设备的数据通信。Altera公司的UART IP核至少有2个I/O口,即RXD和TXD。RXD为输入引脚,用来接收数据;TXD为输出引脚,用来发送数据。UART IP核可以通过配制来适应任意波特率的RS232口。
由于RS232C标准与Altera的FPGA系列器件I/O LVTTL标准所定义的高、低电平完全不同,前者在电气上采用负逻辑方式,因此,两者之间要进行通信,必须经过电平的转换才可以实现。本系统选用SP3232E,参考电平为3.3 V。
2.3 配置电路
Cyclone FPGA的配制方式有主动配置模式(AS)、被动配置模式和JTAG配置模式。
(1)AS调试接口
在AS配制模式下,系统使用EPCS4串行配制器件对Cyclone FPGA进行配制。在FPGA配制期间,FPGA通过串行接口读配制数据,解压缩数据,然后配制SDRAM单元,在AS配制模式下,FPGA主动控制配制接口。
(2)JTAG调试接口
JTAG是一种国际标准测试协议,主要用于芯片内部测试及对嵌入式系统进行仿真、调试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。
根据IEEE1149.1-1990标准实现的JTAG接口有TCK、TDI、TDO、TMS和TRST 5个引脚,通常TRST闲置。将Byte Blaster II的下载电缆直接连接到JTAG接口,通过Quartus II软件直接对FPGA进行配置。若采用AS方式和JTAG方式同时对FPGA进行配置,JTAG方式的优先级高,停止AS方式配置。JTAG模式使用TCK、TDI、TDO和TMS 4个专门的信号引脚具体的接口电路连接关系如图5所示。
3 系统软件设计
本系统软件设计的关键是SoPC数据采集与处理模块程序,它们主要由单台的织机控制来完成。FPGA的Nios II处理器收到上位机传送的命令后会产生相应的中断,将采集到的数据根据相应的帧格式向上位机发送。SoPC上集成了软核CPU、锁相环、存储器、I/O接口及可编程逻辑,这部分在Quartus II和Nios II IDE平台上运行。利用SoPC Builder创建和配置了Nios II软核处理器及其外设,用VC++和VHDL语言完成程序编写。
系统实际监测效果如图6所示。
本文分析了远程监测系统的现状和发展动态,根据纺织厂的实际要求,着重考虑了系统的实时性、灵活性及高速处理能力。因此,系统采用模块化设计,用FPGA模块即基于Nios II的SoPC系统代替单片机来控制外围电路工作。经过详细测试和验证,本系统做到了及时采集织机动态数据,使管理层全面快速了解生产情况和历史数据,实现了向上可以兼容纺织厂生产管理系统,向下可以兼容不同设备的监测系统。最后,通过在纺织厂的现场调试,成功与上位机进行通信,基本达到了初期设定的目标。
参考文献
[1] 吴继华,王诚.Altera FPGA/CPLD设计[M].北京:人民邮电出版社,2005.
[2] 褚镇勇.FPGA设计及其应用[M].西安:西安电子科技大学出版社,2002.
[3] 任爱锋,初秀琴,常存,等.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出版社,2004.
[4] 张志刚.FPGA与SoPC设计教程——DE2实践[M].西安:西安电子科技大学出版社,2007.
[5] 周润景,图雅,张丽敏.基于Quartus II的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社,2007.