< NET > PHY

本文介绍了网络适配器中的两个关键组件:PHY(物理层)和MAC(数据链路层)。PHY负责处理电信号与光信号,而MAC则进行寻址、数据帧构建等操作。两者通过PCI总线连接。

转自:

http://baike.baidu.com/view/727826.htm


PHY指物理层,OSI的最底层。 一般指与外部信号接口的芯片。 以太网PHY芯片 。小小的不起眼但又无处不在的网卡。如果在5年前,或许网卡与您无关,但在如今这网络的时代,无论是上网冲浪还是联网玩游戏,都离不开网卡,更何况,就算您不食人间烟火,多数主板上也会为您集成一块板载网卡。所以,对于想迈入网络之门的读者而言,先认识网卡,会让您在进行各种网络应用时更得心应手。

网卡工作在osi的最后两层,物理层(PHY)和数据链路层(MAC)。
物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。
数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。

很多网卡的这两个部分是做到一起的。
他们之间的关系是pci总线接mac总线,mac接phy,phy接网线

根据上面的回复,下面的这个当前的配置会有什么问题?/include/ "system-conf.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/clock/xlnx-zynqmp-clk.h> #include <dt-bindings/phy/phy.h> #include <dt-bindings/reset/xlnx-zynqmp-resets.h> #include <dt-bindings/power/xlnx-zynqmp-power.h> / { chosen { bootargs = "console=ttyPS0,115200 root=/dev/mmcblk1p2 rw rootwait rootfstype=ext4 usb_role=host earlycon"; }; /* 修复时钟配置 - 添加缺失的dp_aclk */ dp_aclk: dp_aclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <100000000>; status = "okay"; }; refclk1: psgtr_pcie_clock { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <150000000>; status = "okay"; }; refclk2: psgtr_sata_clock { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <125000000>; status = "okay"; }; refclk3: psgtr_usb_clock { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <26000000>; status = "okay"; clock-accuracy = <100>; }; refclk4: psgtr_dp_clock { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <27000000>; status = "okay"; }; dmatest_0: dmatest@0 { compatible = "xlnx,axi-dma-test-1.00.a"; dmas = <&axi_dma_0 0 &axi_dma_0 1>; dma-names = "axidma0", "axidma1"; }; /* 显示模式配置 */ display_mode: display-mode { compatible = "display-timing"; timing_1080p: timing-1080p { clock-frequency = <148500000>; hactive = <1920>; vactive = <1080>; hfront-porch = <88>; hback-porch = <148>; hsync-len = <44>; vfront-porch = <36>; vback-porch = <36>; vsync-len = <5>; hsync-active = <1>; vsync-active = <1>; }; timing_720p: timing-720p { clock-frequency = <74250000>; hactive = <1280>; vactive = <720>; hfront-porch = <110>; hback-porch = <220>; hsync-len = <40>; vfront-porch = <5>; vback-porch = <20>; vsync-len = <5>; hsync-active = <1>; vsync-active = <1>; }; }; /* VTC 节点 */ vtc: vtc@f0 { compatible = "xlnx,vtc-6.1"; reg = <0x00 0xf0 0x00 0x100>; clocks = <&zynqmp_clk 72>; /* DP视频时钟 */ clock-names = "clk"; xlnx,generator; status = "okay"; }; /* DP 连接器 */ dp_connector: dp-connector { compatible = "dp-connector"; label = "DP"; type = "displayport"; status = "okay"; port { dp_connector_in: endpoint { remote-endpoint = <&zynqmp_dpsub_endpoint>; }; }; }; }; /* PS侧DP子系统配置 - 修复属性顺序问题 */ &zynqmp_dpsub { status = "okay"; compatible = "xlnx,zynqmp-dpsub-1.7"; /* PHY配置 */ phy-names = "dp-phy0", "dp-phy1"; phys = <&psgtr 3 PHY_TYPE_DP 0 2>, <&psgtr 2 PHY_TYPE_DP 1 2>; /* 时钟配置 */ clocks = <&zynqmp_clk 71>, /* DP_AUDIO_CLK */ <&zynqmp_clk 72>, /* DP_VIDEO_CLK */ <&dp_aclk>; /* DP_APB_CLK */ clock-names = "dp_aud_clk", "dp_vtc_pixel_clk_in", "dp_apb_clk"; /* 显示配置 */ xlnx,output-format = "rgb"; xlnx,bpc = <8>; xlnx,max-lanes = <2>; xlnx,vtc = <&vtc>; /* 删除音频相关节点和属性 - 必须在子节点之前 */ /delete-property/ audio-connected; /delete-node/ zynqmp_dp_snd_codec0; /delete-node/ zynqmp_dp_snd_pcm0; /delete-node/ zynqmp_dp_snd_pcm1; /delete-node/ zynqmp_dp_snd_card; /delete-node/ i2c-bus; /* 端口配置 - 子节点必须在属性之后 */ port { zynqmp_dpsub_endpoint: endpoint { remote-endpoint = <&dp_connector_in>; }; }; }; /* PS-GTR配置 */ &psgtr { status = "okay"; clocks = <&refclk1>, <&refclk2>, <&refclk3>, <&refclk4>; clock-names = "ref0", "ref1", "ref2", "ref3"; }; /* USB3配置 */ &dwc3_0 { status = "okay"; dr_mode = "host"; maximum-speed = "super-speed"; phy-names = "usb3-phy"; phys = <&psgtr 2 PHY_TYPE_USB3 0 2>; snps,usb3_lpm_capable; snps,dis_u2_susphy_quirk; snps,dis_u3_susphy_quirk; }; /* SDHCI0配置 */ &sdhci0 { status = "okay"; disable-wp; no-1-8-v; }; /* SDHCI1配置 */ &sdhci1 { status = "okay"; disable-wp; no-1-8-v; }; /* QSPI Flash配置 */ &qspi { status = "okay"; flash0: flash@0 { compatible = "spi-flash","spansion,s25fl256s1", "winbond,w25q256jw","jedec,spi-nor"; reg = <0>; spi-max-frequency = <50000000>; m25p,fast-read; page-size = <256>; block-size = <16>; cdns,read-delay = <2>; cdns,tshsl-ns = <0>; cdns,tsd2d-ns = <0>; cdns,tchsh-ns = <0>; cdns,tslch-ns = <0>; #address-cells = <1>; #size-cells = <1>; partition@qspi-bootbin { label = "BOOT.bin"; reg = <0x0 0xC00000>; }; partition@qspi-bootenv { label = "bootenv"; reg = <0xC00000 0x80000>; }; partition@qspi-kernel { label = "image.ub"; reg = <0xC80000 0xA00000>; }; partition@qspi-bootscr { label = "boot.scr"; reg = <0x1680000 0x20000>; }; }; };
11-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值