以太网学习记录(一)
来源:互联网 发布:linux time sys user 编辑:程序博客网 时间:2024/05/17 06:50
(本文学习自多位大牛的博客)
网卡实现了串并转换,并在传输中进行对话来确定传输中的一些参数。
网络适配器又称网卡或网络接口卡,是使计算机联网的设备。网卡插在计算机的主板插槽中,负责将用户要传递的数据转换成网络上其他设备能够识别的格式,通过网络介质传输。数据在计算机传输是并行的,而在网络的物理缆线中说数据主要是串行的比特流方式传输的,网卡承担串行数据和并行数据间的转换。网卡在发送数据之前要同时接收网卡进行对话以确定最大可发送数据的大小,发送的数据量的大小,两次发送数据间的间隔,等待确定的时间,每个网卡在溢出前所能承受的最大数据量,数据传输的速度。
主要参数:带宽,总线方式,电气接口方式等
基本功能:从并行到串行的数据转换,包的装配和拆解,网络存取的控制,数据缓存和网络信号
工作原理:发送数据的时候,计算机把要传输的数据并行写到网卡的缓存,网卡对要传输的数据进行编码(10M以太网使用曼特斯特码,100M以太网使用差分曼特斯特码),串行发送到传输介质上,接收数据的时候正好相反。
(所以网卡既有存储功能,也有串并转换,编码解码等多种功能)
网口结构简图
在软件上对网口的操作通常分为下面几步:
1.为数据收发分配内存;
2.初始化MAC寄存器;
3.初始化PHY寄存器(通过MIIM);
4.启动收发
MII接口是MAC与PHY连接标准接口,需要发送的数据通过MII接口中的收发两组总线实现,而对PHY芯片寄存器的配置信息,则通过MII总的一组串口总线实现,即MIIM
MIIM只有两个线,时钟信号MDC与数据线MDIO。读写命令均由MAC发起,我们可以配置的也只有MAC上的寄存器。
DMA名为直接储存器访问,他允许不同速度的硬件装置来沟通,而不需要依赖CPU的大量终端负载。
DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统算法和网络是很重要的。
在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。
PHY芯片有一组寄存器用户保存配置,并更新状态。CPU不能直接访问这组寄存器,只能通过MAC上的MIIM寄存器组间接访问,同时PHY芯片负责完成MII总线的数据与Media interface上的数据转发。
阅读全文
0 0
- 以太网学习记录(一)
- 学习记录(一)
- 学习记录(一)
- 学习记录(一)
- 串口转以太网(一)
- 以太网完整协议(一)
- 车载以太网技术(一)
- AcegiSecurity学习记录(一)
- DB2学习记录(一)
- DB2学习记录(一)
- delphi学习记录(一)
- gdb学习记录(一)
- BroadCastReceiver 学习记录(一)
- JS学习记录(一)
- Android学习记录(一)
- perl学习记录(一)
- Scala学习记录(一)
- XML学习记录(一)
- xampp中集成的数据库MariaDB中文乱码问题
- [自用门户] 自适应站点
- gridview只显示一行的问题
- ASP.NET MVC4 自定义权限(角色)验证
- Spring介绍
- 以太网学习记录(一)
- Math
- 【EXCEL】VBAEN32.OLB丢失或损坏问题修复
- 进程间通信(1)-有名管道
- 智慧城市建设,云坤疯狂为你打call~
- 项目报错“JavaServer Faces 2.2 can not be installed : One or more constraints”等一系列问题
- 【Java笔记3.5.1】自动类型转化
- IntelliJ IDEA Maven Gradle的配置
- 通过uiautomator及monkey集成一个GUI进行性能测试,工具初版