基于arm的嵌入式双冗余网卡的制作方法

文档序号:7729577阅读:409来源:国知局
专利名称:基于arm的嵌入式双冗余网卡的制作方法
技术领域
本实用新型涉及网络设备,尤其涉及应用于船用导航雷达,在不增加原有导航雷 达系统负担的前提下通过嵌入式技术实现将导航雷达与舰船上以太网络进行数据交互的 网卡。
背景技术
随着现代计算机技术的发展,计算机的应用越来越向着网络方向发展,工业控制 计算机运行环境日益复杂,各控制系统之间交换的信息量急剧增加,总线网架构的传输速 度越来越难以满足控制系统的实时性要求。新一代的工业控制系统是一种基于网络的控制 系统,能够满足实时性的要求,具有数据传输率高、高度智能化、高可靠性的特点,并能适应 生产现场的恶劣环境。作为网络的核心部件,智能双网络技术及模块的研究对提高工业控制系统的整体 性能,满足新一代工业控制计算机对高度智能化、高可靠性的要求,具有一定的理论、工程意义。目前,以太网和TCP/IP为代表的成熟度较高的开放式网络技术逐渐在工业控制 领域被广泛采用,设备网络化是未来发展的趋势,人们希望能够通过局域网络连接各种设 备,读取控制中心指令,传输数据,实现设备间的IP化控制管理及数据存取。然而,传统技术通常采用非智能的双网互联技术,双网的管理和切换均由系统主 机负责。由于主机负载和任务调度的原因,在网络数据量较大的情况下,严重影响了系统的 性能和实时性。尤其在舰船电子设备选用采购时,传统的设备本身不具备接入双冗余网络的功 能。同时硬件软件平台由于设计时间较早相对落后,若采用传统的双网卡技术来实现设备 接入双冗余网络将对原设备系统本身造成较大的负担,甚至可能使原设备性能下降、可靠 性降低。

实用新型内容本实用新型的目的在于解决上述问题,提供了一种基于ARM的嵌入式双冗余网 卡,在满足导航雷达与其他网络设备进行数据通信的基本要求的基础上,提高设备性能与 可靠性。本实用新型的技术方案为本实用新型公开了一种基于ARM的嵌入式双冗余网 卡,包括第一接口,连接外部设备;第一以太网接口电路,连接该网络处理器,提供以太网接入;第二以太网接口电路,连接该网络处理器,提供以太网接入;网络处理器,连接该第一接口、该第一以太网接口电路和该第二以太网接口电路, 用于网络连接以及两块网卡之间的运行状态的切换和管理。[0013]根据本实用新型的基于ARM的嵌入式双冗余网卡的一实施例,该第一接口是串 口,和外部的导航雷达建立数据连接。根据本实用新型的基于ARM的嵌入式双冗余网卡的一实施例,该网络处理器包 括第一传送单元,将来自串口的数据流封装转换为TCP/IP协议的数据包并通过该 第一以太网接口电路或该第二以太网接口电路传送至以太网;第二传送单元,将来自以太网的数据帧进行解包,转换为串口数据后通过串口传 送至外部的导航雷达。根据本实用新型的基于ARM的嵌入式双冗余网卡的一实施例,该网络处理器是 ARM9 芯片 AT91RM9200。根据本实用新型的基于ARM的嵌入式双冗余网卡的一实施例,该第一以太网接口 电路和该第二以太网接口电路是由物理层芯片DM9161构成,该网络处理器与该第一以太 网接口电路和该第二以太网接口电路均是通过MII/RMII总线连接。本实用新型对比现有技术有如下的有益效果本实用新型的基于ARM的嵌入式双 冗余网卡将双网的管理和切换交由专门的网络处理器负责,在接收网络报文时,双冗余网 卡对报文进行解包,只做简单的串口封装后便发送给雷达;在发送网络报文时,双冗余网卡 替代雷达对网络报文进行必要的处理,减轻了导航雷达主机板的负担,提高了导航雷达系 统的运行效率。

图1是本实用新型的基于ARM的嵌入式双冗余网卡的实施例的结构图。图2是图1实施例的系统硬件框图。图3是图1实施例的以太网接口连接示意图。图4是以太网接口中断处理的流程图。图5是串口中断处理的流程图。
具体实施方式
以下结合附图和实施例对本实用新型作进一步的描述。图1示出了本实用新型的基于ARM的嵌入式双冗余网卡的实施例。基于ARM的嵌 入式双冗余网卡自带一个CPU (图1中的网络处理器11),是一种相对独立、可单独工作的基 于以太网的智能系统。本实施例是采用双网冗余技术实现系统的互联。本实施例的网卡设 置两类接口,第一类接口在本实施例中是串口 13,连接外部的导航雷达12,第二类接口是 网络接口(以太网接口),在本实施例中网络接口的数量有2个,分别是第一网口 14和第二 网口 15。网络处理器11分别和串口 13、第一网口 14和第二网口 15数据连接,用于网络连 接以及两块网卡之间的运行状态的切换和管理。在本实施例中,分别通过这两个网络接口 14、15连接的两块网卡配置成同一 IP地 址,在同一时刻,只有一块网卡处于运行状态,而另一块则处于后备状态。在双网切换程序 的运行过程中,当发现正在运行的网卡出现故障时,系统自动切换到另一块能工作的备份 网卡上。在切换之后,备份网卡成为当前工作的网卡。[0028]图2示出了本实施例的硬件结构。从图2中可知,本实施例的嵌入式双冗余网卡 的网络处理器11采用了 Atmel公司的ARM9芯片AT91RM9200,而第一以太网接口电路14 和第二以太网接口电路15由物理层芯片DM9161构成。在图2中,系统外扩了闪存(Flash Memory)用于存放程序,16M的SDRAM用于运行程序和存储数据。AT91RM9200是一款高性能工业级的32位单片系统处理器,它有适用于本设计的 标准接口,以太网接口和通用同步/异步收发器接口,更具备高性能、低功耗、稳定性好等 特性,非常适合于工业应用。AT91RM9200的外部总线接口可处理多达8个外设的数据传输,在本实施例中使外 部总线接口的片选信号分别连接SDRAM和闪存,16位宽数据总线与24位地址总线分别与之 对应连接。通常,以太网接口电路主要是由以太网控制器(MAC)和物理层接口(PHY)组成,两 者通过MII/RMII总线连接。由于在AT91RM9200片内集成有以太网控制器和MII/RMII接 口,可在全双工模式下提供10M/100Mbps的以太网接入,支持IEEE802. 3MAC控制层协议,而 两块DM9161芯片也提供了 MII/RMII接口,因此AT91RM9200芯片与DM9161芯片的时序进 行连接衔接。这两个芯片之间的硬件连接如图3所示。为了实现通信接口板的双以太网功能,系统选用2片DM9161芯片,实际上 AT91RM9200芯片的MAC控制器可通过MDC/MDI0管理接口控制多达31个DM9161芯片,每个 DM9161芯片有多个不同的物理地址(00001B-11111B)。在本实施例中是用2个DM9161芯 片,AT91RM9200芯片通过MDC/MDI0控制其中任一个DM9161芯片工作,而另外一个DM9161 芯片则保持激活状态。这2片DM9161的中断信号线MDINTR分别连接到AT91RM9200芯片的外部中断引 脚IRQO和IRQ1,当双以太网切换时,在中断程序中AT91RM9200芯片检测2片DM9161芯片 的连接状态,控制MDC/MDI0选择其中一片DM9161芯片工作即可,以此实现双冗余以太网功 能。以太网接口连接如图3所示。AT91RM9200的内嵌MAC和DM9161芯片通过RMII接口通信。在AT91RM9200芯片 对外发送数据时,首先置发送使能信号ETXEN有效。数据发送端ETXO ETXl与DM9161芯 片的RXDO RXDl引脚对应连接,作为数据发送通道,以DM9161芯片的时钟信号REF_CLK 发送数据。数据接收端ERXO ERXl与DM9161芯片的TXDO TXDl引脚对应连接,作为数 据接收通道。管理时钟信号MDC和管理数据输入输出信号MDIO用来控制芯片参数的写入 和读取。在接收数据时,DM9161芯片的MDINTR端用来产生中断信号,AT91RM9200芯片响应 中断提取数据。系统通过网络隔离变压器接入传输媒体,网络隔离变压器起到信号传输、阻抗匹 配、波形修复、杂波抑制以及高电压隔离等作用,以保护系统安全。本实施例的嵌入式双冗余网卡的软件系统主要由底层驱动、控制程序以及TCP/ IP协议实现组成。底层驱动用来完成整个系统的引导、启动和AT91RM9200芯片内部各功 能模块的初始化配置。系统上电后,先将闪存中的引导代码加载到AT91RM9200芯片内部 的SDRAM中,通过这段引导代码再将整个系统的应用程序从闪存的指定区域加载到SDRAM 中。接着运行这段应用程序,对AT91RM9200芯片中的MAC控制器和串口进行初始化配置,从 而完成整个系统的引导,启动和初始化配置。控制程序主要完成对这2片以太网接口电路DM9161芯片的控制,从而实现双冗余以太网的冗余切换。当有一个网口断开时,在中断处理 程序中,AT91RM9200芯片通过RMII总线控制DM9161芯片的控制寄存器,隔离当前物理层芯 片,切换到另一个网口继续工作,最大限度的减少数据丢失。TCP/IP协议是目前Internet 上使用最广泛的一套协议簇,它参考了开发系统互连(OSI)模型,采用一种简化的四层结 构,分别为应用层、传输层、网络层和链路层,各层主要协议如图4所示。其中TCP和UDP是 以太网数据的两种传输协议。本系统未使用TCP/IP协议的应用层部分,直接使用UDP报文 格式与以太网内其他网络设备通信。发送和接收报文是网络接口的主要工作。对于报文发送方法来说,首先,当雷达有 报文需要发送时将报文通过串口发送双冗余网卡,由串口中断处理函数将报文装载到一个 发送缓冲队列,并置位发送缓冲队列的状态标志。然后系统主循环不断查询发送缓冲队列 的状态标志,如缓冲队列里有报文需要发送,则调用网口发送函数发送报文。当网口发送完 该报文后,清除发送缓冲队列标志。对于报文接收方法来说,首先网卡接收中断响应后将报 文递交给接口输入函数,接口输入函数进行必要处理后将数据段放入串口发送缓冲队列。 然后系统主循环不断查询串口发送缓冲队列的状态标志,如果发送缓冲队列里有数据需要 发送,则调用串口发送函数发送数据。最后,待串口发送完该报文后,清除发送缓冲队列标 志。网口与串口中断处理的流程请分别参见图4和图5。在上述的方法中使用了网口发送和串口发送两个缓冲队列。使用缓冲队列的优点 是能平滑突发数据流,减小报文丢弃率,缺点是提高了对内存资源的要求,以及在发送队列 拥塞时影响响应时间。对前一个缺点,可以通过调整队列长度来灵活地平衡性能和资源上 的矛盾。对后一个缺点,可以实测发现在嵌入式环境下,由于嵌入式芯片处理速度不足,帧 的组织时间往往大于网卡的发送时间,因而队列中的帧基本上都能够迅速地发送出去。上述实施例是提供给本领域普通技术人员来实现或使用本实用新型的,本领域普 通技术人员可在不脱离本实用新型的发明思想的情况下,对上述实施例做出种种修改或变 化,因而本实用新型的保 范围并不被上述实施例所限,而应该是符合权利要求书提到的 创新性特征的最大范围。
权利要求一种基于ARM的嵌入式双冗余网卡,其特征在于,包括第一接口,连接外部设备;第一以太网接口电路,连接该网络处理器,提供以太网接入;第二以太网接口电路,连接该网络处理器,提供以太网接入;网络处理器,连接该第一接口、该第一以太网接口电路和该第二以太网接口电路,用于网络连接以及两块网卡之间的运行状态的切换和管理。
2.根据权利要求1所述的基于ARM的嵌入式双冗余网卡,其特征在于,该第一接口是串 口,和外部的导航雷达建立数据连接。
3.根据权利要求2所述的基于ARM的嵌入式双冗余网卡,其特征在于,该网络处理器包括第一传送单元,将来自串口的数据流封装转换为TCP/IP协议的数据包并通过该第一 以太网接口电路或该第二以太网接口电路传送至以太网;第二传送单元,将来自以太网的数据帧进行解包,转换为串口数据后通过串口传送至 外部的导航雷达。
4.根据权利要求1所述的基于ARM的嵌入式双冗余网卡,其特征在于,该网络处理器是 ARM9 芯片 AT91RM9200。
5.根据权利要求4所述的基于ARM的嵌入式双冗余网卡,其特征在于,该第一以太网接 口电路和该第二以太网接口电路是由物理层芯片DM9161构成,该网络处理器与该第一以 太网接口电路和该第二以太网接口电路均是通过MII/RMII总线连接。
专利摘要本实用新型公开了一种基于ARM的嵌入式双冗余网卡,在满足导航雷达与其他网络设备进行数据通信的基本要求的基础上,提高设备性能与可靠性。其技术方案为嵌入式双冗余网卡包括第一接口,连接外部设备;第一以太网接口电路,连接网络处理器,提供以太网接入;第二以太网接口电路,连接网络处理器,提供以太网接入;网络处理器,连接第一接口、第一以太网接口电路和第二以太网接口电路,用于网络连接以及两块网卡之间的运行状态的切换和管理。
文档编号H04L1/22GK201639589SQ200920212768
公开日2010年11月17日 申请日期2009年12月9日 优先权日2009年12月9日
发明者徐进明, 柏新超, 黄衍京 申请人:上海广电通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1