• 沒有找到結果。

网络互连设备

在文檔中 嵌 入 式 系 统 应 用 开 发 (頁 189-194)

第 5 章 嵌入式系统接口技术

5.4 网络接口技术

5.4.7 网络互连设备

网络互连设备包括集线器(hub)、交换机(switch)、电缆和以太网接口卡(网卡)等。

集线器和交换机都是网络中连接多个设备的一种连接设备,是对网络进行集中管理的 最小单位。

集线器是一种工作在物理层的数据通信设备。“hub”的原意是中心,它就像树的主 干一样,是各个分支的汇集点。有许多类型的网络都依靠集线器来连接各种设备,并把数 据包分发到各个设备。集线器基本上是一个共享设备,其实质是一个多端口的中继器,主 要提供信号放大和中转的功能。它把一个端口接收到的信号向其他所有端口分发出去。因 此,用集线器互连的网络称为共享式网络。

集线器主要用于星型连接,它是解决多设备互连最经济的方案。使用集线器组网灵 活,它处于网络的中心,对相连的设备进行集中管理,避免出问题的设备影响整个系统的 工作,并允许设备随时加入和退出。

交换机是实现数据包(帧)交换的数据通信设备,工作在数据链路层的称为二层交换 机,工作在网络层的称为三层交换机(也称路由交换机)。二层交换机可以根据数据链路层 的信息做出帧转分决策,同时构造自己的转分表。交换机根据帧的 MAC 地址进行转发,

因此用交换机互连的网络称为交换式网络。交换机的连接方式与集线器相同,但在功能上 有很大的差别。集线器仅起到数据接收和发送的作用,而交换机则可以智能地分析数据 包,有选择地将数据包转发出去。当一个设备向网上另一个设备发送数据包时,在共享式 网络环境中所有设备都可能收到这个数据包,而在交换式网络环境中,交换机分析这个数 据包的MAC 地址,并将数据包发送给指定的设备。

交换机的工作方式主要有直通式和存储转发式两种。在直通式工作方式,当交换机从 某个端口接收到数据包后,检查和读出数据包的 MAC 地址,查询端口到 MAC 地址的映 射表,如果与某个设备的 MAC 地址相符,就把该数据包从相应的端口发出去,交换机不 做任何处理,这使得数据包在接收到几乎无延时就被发送出去。直通式交换机的缺点是坏 帧(通常是碰撞帧)也可能被转发出去,而造成网络无为的消耗。改进型直通式交换机则把 先进来的64 个字节保存起来,如果是坏帧,可以在帧的前 64 个字节中就可被检测出来。

经过交换机检查去掉坏帧后,再把正确的数据包转发到目的地。这多少会增加一点通信的 延时,但能换来可靠性,从而可以在交换延时和错误检验之间取得最佳的平衡。

存储转发式交换机则在交换机内部增加一个高速缓冲存储器,交换机把接收到的完整 数据包放在高速缓冲器中,然后检查错误,读取帧中的目的地址,查询端口到 MAC 地址 的映射表确定转发端口,并将该数据包转发到这个端口。存储式交换机的优点是可靠性 高,并可以支持不同带宽的线路,如发送方为 10Mbps 带宽,接收方可以是 10Mbps,也 可以是 100Mbps。由于存储式交换机要等到接收到完整的帧后才能将它转发到目的地,因 此延时较大,但这使得交换机可以验证帧的 CRC,除去可能由于传输差错引起的坏帧,

避免了继续传输错误帧对网络带宽的浪费,从而间接地改善了网络性能。

交换机与集线器相比,具有以下优势。

l 增加了带宽。集线器不管有多少个端口,都是共享相同的带宽。交换机基本上是 管理、编码和译码。早期以太网接口和收发器大多是分离的,如 Intel 公司的 iSBC552,

现在基本都集成在一起,如 3Com 公司的 3C509B 网卡、Novell Ne2000 兼容网卡、

REALTEK 公司的 RTL8139 等。

网卡的驱动程序通过网卡内部提供的各种控制寄存器和状态寄存器控制网卡的工作方 式 , 完 成 数 据 交 换 。 各 种 不 同 的 网 卡 需 要 有 不 同 设 备 驱 动 程 序 的 支 持。 这 里 将 以 RTL8139 为例,简单介绍编写设备驱动程序时需要用到的一些寄存器。

RTL8139 网卡芯片是由 REALTEK 公司开发的。RTL8139 的功能相对简单,但由于 市场价格低,使其获得了广泛的应用。下面将对该网卡的部分重要寄存器进行介绍,以助 RSVD RSVD

FIG[1:0] RSVD RSVD

RSVD

RSVD

MXDMA[2:0]

RSVD

RSVD RSVD

RSVD

RSVD

图5.28 RTL8139 网卡发送控制寄存器 具体说明如下。

l FIG[1:0]—帧与帧的间隔时间 10Mbps:8.4µs+0.4*( FIG[1:0] ) µs 100Mbps:840ns+40*( FIG[1:0] )ns l LBK[1:0]—回环测试

00—从不回环

TOK TUN

NCC[3:0]

l CDH—碰撞检测

l ERTH[3:0]—对适配器能识别的一些协议,可在数据报接收到 ERTH[3:0]/16 时启 动上层接收。ERTH[3:0]为 0000 时,数据报全部接收后才启动上层接收

10—32k+16 字节

MAR PAM

图5.31 RTL8139 网卡接收状态寄存器

l ROK—接收到正确的数据报

RTL8139 为用户提供几十个可编程寄存器,有些用于特殊的功能,在这里不一一介 绍。总之,通过对这些可编程寄存器的访问便可实现网络数据的接收发送。

在文檔中 嵌 入 式 系 统 应 用 开 发 (頁 189-194)