首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于ARM的橡塑机械双层网络监控器设计
来源:本站整理  作者:佚名  2010-07-09 08:57:05




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)错误处理。由于引起错误处理的原因很多,在产生错误中断之后,需访问错误标志寄存器确定具体错误类型,并据此做相应的处理。
最后在所有的处理中都需更新发送缓冲区使用记录,以便于发送和接收中断响应中据此判断发送缓冲区的使用情况,从而确定当前是否可以做发送处理。
3.2 应用软件设计
3.2.1 CAN服务器端设计
    CAN服务器端需要完成两大部分的工作。一是和底层控制器交互,二是处理并存储好相应的数据,以提供给人机界面和WEB服务器使用。
CAN总线默认的调度方式为CAMA/CD协议,该协议原理比较简单,技术上易实现,网络中各节点处于平等地位,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降,即会永远优先发送优先级高的节点而阻塞优先级低的节点,因此考虑到对该协议进行改进。为了自定义协议,因此我们的CAN数据采用了扩展帧。
    针对橡塑机械需要的通信数据类型设计了如下的通信协议。主要具备以下几点特点:
    (1)下位机根据仲裁段优先级来确定该段数据的优先级;
    (2)优先级的分配由服务器端进行,读取初始化配置文件(包括节点编号和优先级码两个部分)+页面设定;
    (3)优先级根据传输数据的截止时间决定(DM)。要求的时间越短,其优先级越高。
    (4)通信数据的命令格式如图4所示,其中所有字节均为ASCII字符。


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

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:203,093.80000 毫秒