2015年4月

以太网开发片解

Tags: none

很多事情看上去简单的,背后是复杂的设计思想。

以太网正如上面所说一样,顺手插上网线,新世界的大门就打开了,普通人无需关心那一瞬间发生了什么,但开发者需要知道每一秒,以太网都在做什么事情。Okay,进入正题,现在的C主板上都带有以太网接口,称为板载以太网或集成网卡。这里的集成或板载指的是以太网的接口和控制芯片都在主板上。

学过网络编程开发,都知道TCP/IP是四层模型,是依照OSI七层参考模型而设计出来的。

osi-7layers.JPG

普通用户对模型的认识只在软件和硬件层的表面上,如IP,HTTP,网口。软件层上是靠TCP/IP协议栈实现,目前三大操作系统上对TCP/IP协议的实现,大都是参考BSD的TCP/IP实现,其中Linux的协议栈在PC中比较常用。嵌入式开发中协议栈也有不同的实现方式,以方便开发者移植到不同的芯片上。

硬件层上,有两个部分PHY(Physcial)和MAC(Medium Access Controller)。PHY对应的是物理层上信号的收发,MAC是控制器,对下是控制PHY的数据工作,对上提供接口,用户可以访问和控制以太网接口。MAC是通过MII(Medium Independent Interface)接口对PHY控制。除了MII还有RMII和SMII。所以,MAC可以通过不同接口访问不同PHY,如果MAC支持可以连接多个PHY,通过地址线选择当前与哪个PHY通信。

MII是四个bit通信,至少需要25MHz,同步的并行接口。

RMII是两个bit通信,至少50MHz。

以太网对传输速度的表示有10BASE-T,100BASE-TX,1000BASE-T,分别对应10Mbit/s, 100Mbit/s, 1000Mbit/s。BASE表示Baseband,T表示双绞线(Twisted pair),F表示光纤(Fiber),X表示编码方式(Encoding Method)。

最新文章

最近回复

  • Blackrose: 感谢拍砖!嗯,那句话...
  • aa: “Raspberry...
  • Blackrose: 外部只是帮你把芯片启...
  • : 内部时钟比外部的频率...
  • Blackrose: 你这评论比正文更有内容么
  • 7hao: CR+LF ...
  • Blackrose: 可以是你更新软件源后...
  • sxk: 博主,我的系统是ub...
  • Blackrose: 你深得精髓么
  • qihao: 这篇文章的简单总结就...

分类

归档

其它