嵌入式系统的以太网接口设计及linux内核网络设备驱动汇编.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
嵌入式系统的以太网接口设计及 Linux 内核网络设备驱动汇编 以太网概述 以太网是当今局域网采用的最通用的通信协议标准。在以太网中,所有计算机被连接在一条电缆上,采用带冲突检测的载波侦听多路访问(CSMA/CD)方法,采用竞争机制和总线拓扑结构。基本上,以太网由共享传输媒体,如双绞线电缆或同轴电缆、多端口集线器、网桥或交换机构成。 嵌入式系统的以太网接口设计 嵌入式处理器上扩展以太网接口以太网接口控制器主要包括 MAC 乘 PHY 两部分,如图 1 所示为嵌入式处理器集成 MAC 层控制器。MAC 层控制器和 PHY 的连接是通过 MII 、RMII 等接口实现的。在 IEEE802 的标准系列中,数据链路层包括 LLC 和 MAC 两个子层。其中 MAC 负责完成数据帧的封装、解封、发送和接受功能。 PHY 层的结构随着传输速率的不同而有一定的差异。对于 1OBaseT 等网络,从以太网 PHY 芯片输出的就是传输所需的差分信号。但是还需要一个网络隔离变压器组成图 2 的结构。网络隔离变压器可以起到抑制共模干扰、隔离线路以及阻抗匹配等作用。 DM9000A 以太网控制器 DM9000A 是一款高速以太网接口芯片, 其基本特征是:集成 10/100M 物理层接口;内部带有 16K 字节 SRAM 用作接收发送的 FIFO 缓存;支持 8/16bit 两种主机工作模式;通过 HP 认证的 AUTO-Mdix(支持直接互连自动翻转)功能;支持 TCP/IP 加速,减轻 CPU 负担,提高整机效能;10ns I/O 读写时间。DM9000A 以太网控制器遵循 IEEE 颁布的 802.3 以太网传输协议。 Linux 网络驱动程序 Linux 网络驱动程序的体系结构可划分为 4 个层次。Linux 内核中提供了网络设备接口及以上层次的代码,所以移植(或编写)特定网络硬件的驱动程序最主要的工作就是完成设备驱动功能层,主要是包括数据的接收、发送等控制。Linux 中所有的网络设备都抽象为一个接口,有结构体 struct net_device 来表示网络设备在内核中的运行情况,即网络设备接口, 此结构体位于网络驱动层的核心地位。net_device 中有很多供系访问和协议层调用的设备方法。网络驱动就是要实现这些具体的设备方法。 网络设备的初始化由结构体 net_device 中的 init 函数指针所指向的初始化函数来完成。网络的初始化是设备工作的第一步。当系统加载网络驱动模块的时候,就会调用初始化过程。首先利用函数:request_mem_region 映射 DM9000A 的数据、地址端口,通过 dmfe_probe 函数检测网络物理设备是否存在,检测 DM9000A 内部串行 NIC 的值是否正确, 然后再对设备进行资源配置。
剩余12页未读,继续阅读
- 粉丝: 0
- 资源: 7万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助