百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

一文读懂,网卡由哪些部分组成

haoteby 2024-11-26 03:27 26 浏览

1. 网卡

网卡基本单元有4个:MAC、PHY、变压器、RJ45。框图里舍去晶振、电源、存储设备、LED等外设,根据方案差异,某些数字电路部分不同程度地整合到一个芯片内。

网卡上至少有两个LED灯,分别表示Link(链路正常)和数据传输或数据速率选择(10M/100M)。

晶振是处理器自同步的时钟源。

存储设备指的是EEPROM存储设备,我没用过,绝大多芯片手册里介绍MAC链接一个几K的EEPROM,内部存储MAC地址,其实没有这个EEPROM网卡也能工作,MAC地址可以待CPU启动后由CPU写入。

网卡BOOTROM,是无盘启动的ROM接口,通过远程启动服务构造无盘工作站。

1.1. MAC

媒体访问控制(MAC,Media Access Control),平时所说的MAC地址(局域网地址)指的是MAC芯片的地址。按设计要求它应该是全球唯一,实际上只做到局域网广播域内唯一即可,Windows和Linux都有修改MAC地址的方法。

MAC的作用:在局域网广播链路里控制和协调所有站点对共享介质的访问,以避免或减少冲突。这种冲突检测的方法叫载波侦听多路访问/冲突检测(CSMA/CD,Carrier Sense MultipleAccess With Collision Detection)。 下图的多块网卡MAC链接到同一个HUB上,相当于所有MAC的收、发信号连接在一起,组成星形拓扑。

CSMA/CD协议逻辑是:

  • 发送前检查信道是否空闲,空闲则发送,信道繁忙则继续监听,直到信道空闲
  • 边发送边检测冲突。如果发送完毕都没有检测到冲突,则发送成功
  • 如果发送时检测到冲突,立即停止数据发送,并发送jamming信号增强链路冲突,随机等待一段时间等待信道空闲
  • 1.2. PHY

    物理层(PHY,Physical Layer),是数、模转换模块。

    它实现物理层.IEEE-802.3标准定义了以太网PHY。包括MII/GMII(介质独立接口)子层,PCS(物理编码子层),PMA(物理介质附加)子层,PMD(物理介质相关)子层,MDI子层。

    PHY是MAC的 工具人,PHY是CSMA/CD的执行部件,当发生冲突时它告知MAC,由MAC做决策。

    PHY眼里只有数据没有帧概念,数据、地址、CRC都同等看待。它负责网络数据编码、解码、链路错误检测。在100Base-T里PHY采用4B/5B编码,用5bit编码传递4bit信息的编码方式,带宽利用率80%,5bit可有32种编码方式,4bit有16种编码方式,从5bit里取出16组编码作为信道信息编码,对这16组编码只有两个要求:5bit组里至少有2个1;5bit里不能有连续3个0。其余的16组表示无用信号或者控制码。

    1.3. 变压器

    变压器作用:

  • 提高传输距离、波形修复
  • 电气隔离、抗干扰、防雷
  • 其实没有变压器两网卡之间也可以通信,只是这个距离会很短,距离越远衰减越大,加上变压器提高信号幅度通信距离得以提高,同样远端传递的信号幅度太低,经过变压器后得以放大,实现波形修复功能。

    变压器使芯片端与外部隔离,抗干扰能力大大增强,而且对芯片增加了很大的保护作用

    1.4. RJ45

    RJ45是布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。RJ是Registered Jack的缩写,意思是“注册的插座”。在FCC(美国联邦通信委员会标准和规章)中RJ是描述公用电信网络的接口,计算机网络的RJ45是标准8位模块化接口的俗称。

    网线有8根4对双绞线,百兆以太网中只用到其中4根:1、2发送、3、6接收。

    2. 典型案例

    现在嵌入式SOC中,MAC常集成到SOC芯片内,如STM32F4、龙芯1B、i.MX287。下图是龙芯片1B芯片结构图,GMAC指的是千兆网媒体访问控制。

    早些年的处理器内部集成MAC,代表有S3C2440,以太网解决方案是外接明显网卡芯片DM9000,下图是DM9000芯片结构图。内部集成MAC和PHY,S3C2440的外部地址总线(内存总线)留出一块区域为DM9000用,访问数据就如同读写内存一样。

    下图是某宝PCIE网卡实物图,可以看出MAC和PHY集成到一起,右上角8脚芯片没有焊接,应该是电源转换芯片,网卡的电源直接从PCIE获取。

    更多精彩内容,请关注公众号“写个解

    相关推荐

    一日一技:用Python程序将十进制转换为二进制

    用Python程序将十进制转换为二进制通过将数字连续除以2并以相反顺序打印其余部分,将十进制数转换为二进制。在下面的程序中,我们将学习使用递归函数将十进制数转换为二进制数,代码如下:...

    十进制转化成二进制你会吗?#数学思维

    六年级奥赛起跑线:抽屉原理揭秘。同学们好,我是你们的奥耀老师。今天一起来学习奥赛起跑线第三讲二进制计数法。例一:把十进制五十三化成二进制数是多少?首先十进制就是满十进一,二进制就是满二进一。二进制每个...

    二进制、十进制、八进制和十六进制,它们之间是如何转换的?

    在学习进制时总会遇到多种进制转换的时候,学会它们之间的转换方法也是必须的,这里分享一下几种进制之间转换的方法,也分享两个好用的转换工具,使用它们能够大幅度的提升你的办公和学习效率,感兴趣的小伙伴记得点...

    c语言-2进制转10进制_c语言 二进制转十进制

    #include<stdio.h>intmain(){charch;inta=0;...

    二进制、八进制、十进制和十六进制数制转换

    一、数制1、什么是数制数制是计数进位的简称。也就是由低位向高位进位计数的方法。2、常用数制计算机中常用的数制有二进制、八进制、十进制和十六进制。...

    二进制、十进制、八进制、十六进制间的相互转换函数

    二进制、十进制、八进制、十六进制间的相互转换函数1、输入任意一个十进制的整数,将其分别转换为二进制、八进制、十六进制。2、程序代码如下:#include<iostream>usingna...

    二进制、八进制、十进制和十六进制等常用数制及其相互转换

    从大学开始系统的接触计算机专业,到现在已经过去十几年了,今天整理一下基础的进制转换,希望给还在上高中的表妹一个入门的引导,早日熟悉这个行业。一、二进制、八进制、十进制和十六进制是如何定义的?二进制是B...

    二进制如何转换成十进制?_二进制如何转换成十进制例子图解

    随着社会的发展,电器维修由继电器时代逐渐被PLC,变频器,触摸屏等工控时代所替代,特别是plc编程,其数据逻辑往往涉及到数制二进制,那么二进制到底是什么呢?它和十进制又有什么区别和联系呢?下面和朋友们...

    二进制与十进制的相互转换_二进制和十进制之间转换

    很多同学在刚开始接触计算机语言的时候,都会了解计算机的世界里面大多都是二进制来表达现实世界的任何事物的。当然现实世界的事务有很多很多,就拿最简单的数字,我们经常看到的数字大多都是十进制的形式,例如:我...

    十进制如何转换为二进制,二进制如何转换为十进制

    用十进制除以2,除的断的,商用0表示;除不断的,商用1表示余0时结束假如十进制用X表示,用十进制除以2,即x/2除以2后为整数的(除的断的),商用0表示;除以2除不断的,商用1表示除完后的商0或1...

    十进制数如何转换为二进制数_十进制数如何转换为二进制数举例说明

    我们经常听到十进制数和二进制数,电脑中也经常使用二进制数来进行计算,但是很多人却不清楚十进制数和二进制数是怎样进行转换的,下面就来看看,十进制数转换为二进制数的方法。正整数转二进制...

    二进制转化为十进制,你会做吗?一起来试试吧

    今天孩子问把二进制表示的110101改写成十进制数怎么做呀?,“二进制”简单来说就是“满二进一”,只用0和1共两个数字表示,同理我们平常接触到的“十进制”是“满十进一”,只用0-9共十个数字表示。如果...

    Mac终于能正常打游戏了!苹果正逐渐淘汰Rosetta转译

    Mac玩家苦转译久矣!WWDC2025苹果正式宣判Rosetta死刑,原生游戏时代终于杀到。Metal4光追和AI插帧技术直接掀桌,连Steam都连夜扛着ARM架构投诚了。看到《赛博朋克2077》...

    怎么把视频的声音提出来转为音频?音频提取,11款工具实测搞定

    想把视频里的声音单独保存为音频文件(MP3/AAC/WAV/FLAC)用于配音、播客、听课或二次剪辑?本文挑出10款常用工具,给出实测可复现的操作步骤、优缺点和场景推荐。1)转换猫mp3转换器(操作门...

    6个mp4格式转换器测评:转换速度与质量并存!

    MP4视频格式具有兼容性强、视频画质高清、文件体积较小、支持多种编码等特点,适用于网络媒体传播。如果大家想要将非MP4格式的视频转换成MP4的视频格式的话,可以使用MP4格式转换器更换格式。本文分别从...