基于ARM的橡塑机械双层网络设计

2022-06-20 08:52:56

引言

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

1 双层网络系统整体设计

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

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

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总线上。

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所示。

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

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

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

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

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