基于“网芯一号”与Linux的嵌入式平台以太网口设计

/ 2


基于“网芯一号”与 Linux的嵌入式平台以太网口设计

宋腾辉 1 陈玺胜 2

  1. 中国电子科技集团公司第五十四研究所,河北 石家庄 050081

2. 中国电子科技集团公司第五十四研究所,河北 石家庄 050081

摘 要:针对千兆以太网接口传输速率高的特点,设计了一种基于“网芯一号”处理器的嵌入式系统多以太网口设备。给出该系统以太网口的特点及硬件设计方案,介绍了基于Linux操作系统的驱动程序设计对接口进行了工程验证测试,可满足高速、可靠数据的传输。

关键词:网芯一号; Linux; 以太网口

0 引言

MIPS处理器是最早、最畅销、最具代表性的嵌入式RISC处理器之一,被广泛应用在Cisco的路由器、Sony和DGI超级计算机等产品中[1]。此外,由于低功耗、高性能的特点,在高速通信设备中,MIPS也得到了较广的应用。本设计使用的“网芯一号”处理器是由中国电科54所研制的双核高性能通信MIPS处理器,内部集成了2个 内核,主频最高支持1GHz,内置1MB L2Cache,支持DDR3,具有2路高速GMAC接口,和2个x4 PCIE2.0接口。

为满足平台多网口接入的需求,嵌入式平台不仅使用“网芯一号”处理器的GMAC控制器扩展出2路千兆以太网接口,而且通过“网芯一号”处理器的PCIE控制器配合转接桥片再次扩展出2路千兆以太网接口。

  1. 硬件设计

    1. WG82574IT芯片介绍

WG82574IT芯片是 Intel公司研制的一款PCIE接口转以太网接口芯片,支持PCIE 1.0 x1传输标准,支持全双工/半双工配置,支持10/100/1000Mbps三种模式,支持流控等[2]。芯片内部结构如图1所示。

609362c6c4ad5_html_3b241098ac562f99.gif

图1 WG82574IT芯片内部结构图

芯片内部集成PHY模块,集成了MAC控制器,对外提供PCIe接口以及Link接口。该芯片提供了SMBus(System Management Bus),可以实现对芯片的管理与控制。

    1. 88E1111芯片介绍

88E1111系列芯片是Marvell公司研制千兆PHY芯片,可自适应10/100/1000Mbps三种接口速率,支持GMII、RGMII、SGMII、TBI、RTBI等多种协议接口。

609362c6c4ad5_html_205bfbf5a751187f.png

图2 88E1111芯片内部结构图

芯片包含时钟接口、JTAG接口、管理接口等,对MAC侧提供多种接口形式,对MDI侧提供光口、电口可选配置。

    1. 硬件连接

具体的硬件连接见图3所示。

609362c6c4ad5_html_19769cc7defa0921.gif

图3 PCIE网口硬件连接关系图

使用“网芯一号”处理器提供的2路PCIE x1接口连接到WG82574的PCIE接口,“网芯一号”处理器做主控设备,外部设备为从设备。PCIE接口使用的参考时钟由“网芯一号”处理器内部锁相环提供。WG82574芯片的Link端通过网络变压器对外提供千兆网口。另外,使用“网芯一号”处理器自身的2路GMAC控制器连接外部PHY芯片88E1111。使用时钟分路芯片为88E1111提供时钟,芯片支持25MHz或125MHz。88E1111芯片Link端同样通过网络变压器对外提供千兆网口。

  1. 千兆以太网驱动设计

    1. 操作系统简介

Linux是一套开放源代码程序的、可以自由传播的类Unix操作系统。Linux最初是基于x86架构的CPU,是一个可多用户、多任务,而且支持多线程、多处理器的操作系统。经过世界各地很多程序员的开发完善,Linux系统目前被广泛应用于服务器端、嵌入式开发以及桌面级个人计算机等领域,其中服务器领域是重中之重。

本次设计采用Linux内核版本为3.10,使用ubuntu 14.04版本Linux操作系统作为开发环境。

    1. 设备驱动设计

Linux下的WG82574 PCIE千兆以太网网络连接芯片驱动是由Intel公司自行开发设计并维护的开源驱动,该驱动可最大化的发挥WG82574的硬件性能,并为用户提供了各种驱动配置接口,方便进行优化。驱动的稳定版本随对应内核源代码持续更新,最新版本可在官网下载后,然后在“网芯一号”的交叉编译环境中编译后使用。Linux内核源码编译后,在终端Terminal中进入内核源代码路径下,执行“make menuconfig”命令,在弹出的内核配置界面选中设备驱动。选择完成后,再使用“make”命令编译内核。完成后即可编译出igb.ko文件。Igb驱动不仅实现了千兆网卡的通信功能,还提供多种丰富可配置接口,为不同平台使用驱动增加了灵活性。

  1. 测试及结果

完成驱动的设计后,在Linux操作系统下,对设备的网口进行测试,使用网络分析仪连接处理器的网络输出端,对网口的传输速率进行测试,测试包长选用64B、512B、1518B等不同包长,经过测试,不同包长测试结果都可以达到限速1Gbps,验证设备可以满足设计要求。

  1. 结束语

本文主要介绍了一种基于“网芯一号”处理器及Linux操作系统的嵌入式平台的网口设计,对其硬计方案进行了阐述。介绍了Linux操作系统的特点,描述了基于Linux系统的以太网接口的开发方法,对设备的接口进行了测试,验证了设备的通信能力。

参考文献

[1] 孙巧稚. 基于MIPS64指令子集的RISC处理器的设计与实现[D]. 南京航空航天大学:1-2.

[2] 徐碧辉.一种基于飞腾处理器的VPX主控制器设计[J].机电产品开发与创新,2017,30(5):128-129.


3