基于嵌入式ECOS纺织控制器的设计与实现

时间:2022-08-28 06:40:11

基于嵌入式ECOS纺织控制器的设计与实现

摘要:本文提出了一种嵌入式纺织控制系统的设计方案。本系统以EP9315为处理核心,ARM ECOS为操作系统平台,构建了嵌入式纺织控制系统的软硬件平台。简要介绍了其硬件结构,详述了软件系统的设计与实现。

关键词:嵌入式系统 控制器

Abstract:The project introduces an embedded control system for knitting machine.The core processor is EP9315.ARM ECOS for the operating system platform,Construction of the embedded control system sorware and hardware of knitting.Overview of its hardware architecture,detailed implementation of software systems.

Key words:Embedded system controller

1、控制器的基本结构

该系统包含硬件部分和软件部分。CPU核心采用由Cirrus Logic 公司生产的EP9315,外接电路采用模块化设计,包括EP9315最小系统模块、键盘与显示模块与FPGA逻辑控制电路。软件部分基于vim 编辑器+arm-elf-gcc编译器开发的,采用模块化设计思想。软件主要包括用户操作界面、文件管理、基本接口、CAN通讯接口、编织动作等功能模块。

1.1系统的整体框架

嵌入式纺织控制系统,主要用EP9315负责中央控制,由作业人员通过交互式的人机界面及键盘输入完成执行指令,EP9315接收相应键盘指令后开始执行编织操作,将花型数据及导纱针床等各部件动作指令分别发送到FPGA,FPGA接收指令和数据,以完成相应数据的发送和操作的执行。

如图1所示。通过USB接口或者网络接口从U盘或者网络上下载花型文件到纺织控制系统上。整个嵌入式纺织控制系统分为ARM核心控制模块与FPGA执行模块,通过CAN总线搭建了核心模块与下层执行模块之间的快速有效通讯。

图1 嵌入式纺织控制器的总体功能模块图

2、纺织控制器的硬件结构

本文中的嵌入式系统的硬件结构采用ARM9+FPGA的方式,控制器系统核心EP9315处理器,它是一款适合于工业控制级的芯片,集成有LCD控制器、网络控制器、USB控制器、多串口等接口的控制器。本文利用EP9315出色的内核性能和丰富的外部接口,采用传统嵌入式系统设计思想设计一个基于ARM+FPGA的纺织控制系统,主控系统主要由存储器系统、UART异步串行口、时钟电路、电源与复位电路、USB接口、以太网接口、LCD接口、触摸屏接口、JTGA接口等组成。FPGA作为控制系统的协处理单元,直接参与控制逻辑工作中,分担了处理器需要处理的编织文件数据解析和逻辑时序实现工作,减轻了9315的负担。

3、纺织控制器的软件设计

3.1软件部分的实现主要分为两步:

首先,EP9315基本运行环境下的纺织控制程序,包括:

机器动作的控制逻辑

调试串行通讯

花型文件解析

机器运行时各部件状态的监控

键盘输入与LCD显示

其次,嵌入式操作系统移植之后的运行系统,包括:

操作系统下的各种任务、服务

9315基本运行环境下机器的控制程序

软件系统的结构框图如图2所示。

图2纺织控制器的软件系统结构框图

在系统启动完成后,进入了应用程序里即进入控制逻辑部分。根据目前控制器的工作流程的分析,得出这个控制的软件流程图,然后进行简要的分析。如图3所示。

图3纺织主控制程序流程图

如图3所示整个运行过程为:系统上电之后,进入初始化;处理器逻辑准备,进入测试功能选项,检测各机械器件是否处于正常状态,如果系统有问题,停机直到操作人员排除所有故障后再进入初始化,循环等待操作人员输入指令,为编织做好准备;复位完成即可上纱开始编织,系统会提示是否按上一次编织的参数进行编织,如果按上一次参数进行编织就从ROM导入上次的参数,否则需重新设置编织参数;在整个编织过程中,要实时监测各个报警信号的输入,一旦发现有报警信号,工作立即停止伴有报警声并在LCD上显示错误信息,处理器会记录此时的编织位置,这个就不会因为意外的中断而使编织不合格了。排除故障后,还能按照记录的位置进行编织;完成编织工作后复位,停机。

3.2 软件模块化设计

本课题的纺织控制软件是在vim+arm-elf-gcc环境下开发的。按照功能软件代码分成5大模块:

1.文件管理类

int NandInit(void);

void NandFormat(void);

void NandDir(const char *dname);

void NandDelFile(const char *dname);

void UsbMount(char *dev_str, char *type_str, char *mp_str);

void UsbUmount(char *dir_str);

void UsbList(char * dir_str, char *buf);

void UsbLoadFile(char *name_str);

unsigned char UsbLoadFileToNand(char *name_str);

2.基本器件接口类

void RollerInit(void);

void RollerStart(unsigned char dir, unsigned short frq, unsigned short mss);

void RollerOpen(void);

void RollerClose(void);

void RollerGo(void);

void RollerStepTimer(void);

3.CAN通讯接口类

void CanInit(void);

unsigned char ReadCanReg(unsigned char reg);

void WriteCanReg(unsigned char reg, unsigned char data);

unsigned char ReadCanData(unsigned char *buf);

unsigned char WriteCanData(unsigned char *buf);

void CanCheck(void);

unsigned char CanTest(void);

4.用户操作界面类

void GmShowKeyErr(void);

int KeyToEdit(int hWnd,int num);

int GmMessage(int x1,int y1,char* title,int buttonNum,char* text,int hWnd);

void CalDsUseStr(void);

int SetParam(HWND hWnd);

void SetEditValue(HWND hWnd,int uValue,int len);

5.编织动作类

void KntActInit(void);

void KntCheckGroup(void);

void KntLoadTragLine(unsigned short linNum);

unsigned char KntTragAct(void);

void KntDsPosInit(void);

void KntLoadDsLine(unsigned short linNum);

void KntCalLength(unsigned short linNum);

4、总结

本文介绍了一种基于ARM+FPGA为核心的嵌入式系统的电脑纺织控制器,内部通讯是采用常见的CAN总线设计,提高了控制系统的可靠性与实时性,并通过模块化设计等技术创新,在不断缩短上市周期的同时也逐步降低成本。

参考文献:

[1]邹宗峰.电脑横机控制系统的研制. 上海大学学报,2002.8

[2]寿挺.全自动电脑横机控制系统开发.浙江大学硕士学位论文,2006

上一篇:试析佛教中国化 下一篇:浅析东方超超临界机组RB逻辑及其试验