基于ARM9、Linux与CAN总线实现应用于橡塑机械的监控系统设计

电子说

1.3w人已加入

描述

引言

橡塑机械是现代制造技术中一类重要工具,是一种由数控装置、伺服驱动装置、机床主体和其他辅助装置构成的机电一体化产品,它被广泛应用在橡塑产品加工制造领域。随着科技的进步,橡塑机械正朝着高速度、智能化、多功能化、高可靠性的方向发展。在监控系统方面,尤其是近年来,也发展得更为集成化、网络化。作为提升橡塑机械性能的一个重要组成部分,其监控系统也得到了长足的发展。本文设计了一款基于ARM9、嵌入式Linux以及CAN总线技术的应用于橡塑机械的双层网络。并介绍了成功应用于橡塑机械的实例。

1 双层网络系统整体设计

系统基于工业现场监控集成化、自动化的理念设计了下层CAN总线结构。在现场监控部分,。所需要完成的工作包括:通过CAN总线与底层控制器交互,读取并显示橡塑机械当前工作的状态,配置并发送需要修改的运行参数。

在CAN现场总线的基础上,基于远程维护监控的理念,设计了上层的网络支持。在上层网络部分,。提供WEB服务器,根据远程PC的请求发送相应的数据。网络结构如图1所示。

Linux

2 硬件系统设计

硬件系统采用了以ARM9内核CPU为主体的组织体结构。选择了S3C2410为核心,扩展了64M SDRAM和64M NAND FLASH的硬件系统。由于该CPU内部并未集成CAN总线控制器以及以太网控制器,因此通过MCP2510以及CS8900A分别扩展了CAN总线功能和以太网功能。以下对两个扩展部分做重点介绍。

2.1 CAN总线扩展

MCP2510完全支持CAN总线V2.0A/B技术规范,能够发送和接收标准和扩展报文,同时具备验收过滤以及报文管理功能。该器件包含三个发送缓冲器和两个接收缓冲器,能够减少S3C241O芯片的管理负担和软件设计的负担。

接口中使用了总中断引脚INT,处理器在响应总中断后,通过SPI通道访问MCP2510内部相应寄存器来确定具体的中断事件,并对其做出处理。

如图2所示,S3C2410通过SPI总线发送MCP2510控制命令以及需要传输的数据,通过MCP2510控制转换以后生成总线报文,并通过光电隔离器6N137以及总线驱动器8C250之后发送到CAN总线上。

Linux

2.2 以太网扩展

以太网和CAN现场总线的集合,大大加速了工业控制集成化、信息化的进度。采用了CS8900A芯片以完成以太网扩展。其主要包括802.3介质访问控制块,支持全双工操作,完全依照IEEE 802.3以太网标准(ISO/IEC8802-3,1993),负责处理有关以太网数据帧的发送和接收。

在硬件连接上,通过外部中断EINT9来响应通信,通过ADDR24以及其他片选读写信号来控制网卡芯片的工作以及地址空间位置。

在收到由CPU发来的数据报后,CS8900A将开始侦听网络线路。如果线路忙,就等待线路空闲,否则立即发送数据。发送过程中,需要添加以太网帧头,产生CRC校验码,最后将此数据帧发送出去。接收数据时,接收到数据帧后,还需要经过解码、剥除帧头和地址检验等步骤后存于CS8900A片内的缓存区。并还需要通过CRC校验,便会产生外部中断,通知主机收到了数据帧,最后,再根据CPU的指令,将数据传输给CPU。

网络的扩展对于橡塑机械的整体化集成化管理起着极为关键的作用,作为一个高速、开放的通信接口,网络给系统带来了很大的灵活性和可扩展性。同时,在监控系统的调试过程中网络也发挥着不可替代的作用。

3 软件系统设计

整个。的软件设计建立于嵌入式Linux操作系统的基础之上,因此软件设计分为系统软件设计和应用软件设计两大部分。系统软件主要为对应设备的驱动程序设备,CS8900A为常用的典型网络扩展设备,已经有既成的驱动程序;而CAN总线扩展则需要根据应用中所需要的网络协议来自定义实现。应用软件设计部分主要包括CAN服务器端的开发和WEB Server的移植。

3.1 系统软件设计

本设计采用外部中断EINT3连接MCP2510的总中断,配置控制器始终处于唤醒模式,发送器处于正常模式,并使能接收、发送、错误中断,以中断方式处理CAN总线数据收发。具体流程如图3所示。

Linux

对中断的处理主要包括以下三种模式:

(1)发送处理。在满足下述两种条件时会启动发送处理:其一发送中断响应中,如果当前有发送任务,通过发送缓冲区记录标志确定空的发生缓冲区并向其中填发送帧,然后启动发送;其二在接收中断响应中,在接收处理完后如果有发送任务且有发送缓冲区空闲,同样会处理发送任务。采用两种发送处理方式可充分利用MCP2510的多个发送、接收缓冲区,以提高通信效率。

(2)接收处理。首先需根据ICOD的值来确定当前准备好数据的接收缓冲区。接收帧处理过程中首先读取帧的ID值,确定当前帧的数据是哪个节点发送来的,并据此把帧中数据字段的数据存放在相应的位置。

(3)错误处理。由于引起错误处理的原因很多,在产生错误中断之后,需访问错误标志寄存器确定具体错误类型,并据此做相应的处理。

最后在所有的处理中都需更新发送缓冲区使用记录,以便于发送和接收中断响应中据此判断发送缓冲区的使用情况,从而确定当前是否可以做发送处理。

Linux

3.2 应用软件设计

3.2.1 CAN服务器端设计

CAN服务器端需要完成两大部分的工作。一是和底层控制器交互,二是处理并存储好相应的数据,以提供给人机界面和WEB服务器使用。

CAN总线默认的调度方式为CAMA/CD协议,该协议原理比较简单,技术上易实现,网络中各节点处于平等地位,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降,即会永远优先发送优先级高的节点而阻塞优先级低的节点,因此考虑到对该协议进行改进。为了自定义协议,因此我们的CAN数据采用了扩展帧。

针对橡塑机械需要的通信数据类型设计了如下的通信协议。主要具备以下几点特点:

(1)下位机根据仲裁段优先级来确定该段数据的优先级;

(2)优先级的分配由服务器端进行,读取初始化配置文件(包括节点编号和优先级码两个部分)+页面设定;

(3)优先级根据传输数据的截止时间决定(DM)。要求的时间越短,其优先级越高。

(4)通信数据的命令格式如图4所示,其中所有字节均为ASCII字符。

开始位必须放@,以示命令的开始。标题码为命令的代码;用”*”和回车(ASCII码为13)作为命令结束。

一次通讯的流程如图5所示。

Linux

设计了两个队列,分别为发送队列和接收队列,以处理大量数据的发送问题。在队列中的数据按照其优先级排序(DM判定)。

3.2.2 WEB服务器的移植

Boa是一个运行在类Unix系统中的小型Web Server,特别适合在嵌入式的场合中使用,其优点在于快速性和可靠性。

Boa网络服务器的移植主要有两个部分:src下的文件修改和config文件修改。Src部分需要修改应用的硬件平台配置,指定交叉编译器等。config文件需要针对。设备所处网络环境来配置端口号等。

根据移植好的Boa,设计了图6所示结构的远程橡塑机械WEB Server。

Linux

Boa服务器用以处理用户请求,并返回数据给浏览器。当浏览器需要访问。上动态的监控数据时,Boa服务器将调用存储在服务器中的CGI(公用网关接口)程序。首先浏览器提交请求,Boa接收网络数据后进行解析,再根据请求数据调用相关的CGI程序,CGI生成相关页面数据向屏幕输出,此时这个输出被定义为到Boa的输入,Boa再返回数据给浏览器客户端。上述CGI程序中实现了对实时更新的数据文件/tmp/currentData的调用,并输出给浏览器端。

4 在橡塑机械上的应用实例

本网络。配合相应的图形用户界面程序已经成功应用于抽真空平板硫化机上,目前已经实现了双机的同时监控。通过本。可实时监控抽真空平板硫化机在运行当中的各工序,配置硫化机的各项生产工艺参数。远程的计算机也可通过局域网读取到。上的运行设备。

5 结束语

ARM9、嵌入式Linux操作系统、以及CAN总线和网络技术在本。上的应用将结构简单、功能局限的一对一的橡塑机械。扩展到了网络化、信息化的集成系统当中。CAN总线数据的按优先级调度能适应多任务、大容量数据的处理,可有效提高。的实时性能,而嵌入式WEB服务器的成功移植实现了远程的监测和维护,可大大缩短维护时间开销,减少维护成本。

同样,本控制器不仅仅局限于现今应用中的抽真空平板硫化机,其网络的架构理念使得只需要将具体通信数据协议以及与人机界面程序的接口稍作修改即可应用于其他的橡塑机械乃至于其他工业控制应用场合。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分