以太网接口电路设计(以太网接口引脚定义)

网友投稿 717 2023-03-11


本篇文章给大家谈谈以太网接口电路设计,以及以太网接口引脚定义对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享以太网接口电路设计的知识,其中也会对以太网接口引脚定义进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

PCB高手:以太网接口的硬件电路设计主要由哪几部分组成?DM9161的连接要注意哪些?谢谢

只用双面单层板即可。供电和数据线尽量分开。数据记得加滤波电容。
48pin LQFP封装
2.制作工艺:0.25um,IO供电电压3.3V,模拟部分2.5V 
3.支持MII和RMII连接方式(推荐使用MII)
4.支持双绞线自适应(AUTO-mix)
5.支持TCP/IP硬加速
6.与全球95%的厂家的MCU完全兼容,是ATMEL推荐使用的单口PHY。
注:目前DM9161AEP支持的温度范围是0-75°,而工业级的DM9161BIEP是支持-40°到85°。
在应用过程中,DM9161AEP常出现的错误是,晶振的连接,以及网络变压器的匹配,所以应该慎重选择。

基于FPGA的百兆以太网RGMII接口设计(读书笔记)

这篇文章的整体架构就是先介绍了百兆以太网的背景,百兆以太网又成为快速以太网。再介绍了用FPGA来实现的优点。接着介绍整体的方法和实验,具体介绍了各个模块的作用,并用视频传输作为测试工具,测试结果。

百兆以太网应用场景广,适用于突发通信和继续传送大型数据文件,互换操作性好,具有广泛的软硬件支持。

FPGA是使用逻辑处理专用硬件,无需操作系统,各条处理路径均是并发平行的,因此不同的操作过程不会争夺相同的处理资源,意味着处理速度非常快。FPGA的芯片是Altera的Cyclone IV,PHY芯片是88E1111。

介绍了FPGA芯片EP4CE115F29C7N的功能,并列举了两个方案一是单物理芯片,二是物理层加MAC层继承与同一芯片。本文采用的是第一个方案,采用的芯片是88E1111,并采用的模式是RGMII模式。
系统的整体框架分为上行和下行两个通道,数据通过PHY芯片进入 FPGA,在FPGA中进行数据处理,再送出到PHY芯片传输出去。

preamble_complete模块对前导码进行处理。
4bits_to_8bits将4bits的数据拼接为8bits。
data_processing进行IP和MAC地址替换等操作。
8bits_to_4bits模块将数据拆分成4bits送到PHY芯片输出。

要将88E1111设置为RGMII借口模式,从芯片手册中看到,HWCFG_MODE[3:0]决定了MAC层的接口模式,而HWCFG_MODE[3:0]的值由CONFIG[6:0]来进行映射,因此需要CONFIG4=011,CONFIG5=XX1。并将HWCFG_MODE[3:0]设置为1011,如图所示

说好了配置方法,然后再硬件电路实现

本文的时钟由外部晶振输入的50MHZ作为参考时钟,系统需要的时钟有
1、12.5MHZ以8bit为单位的数据的参考时钟
2、25MHZ以4bit为单位的数据的参考时钟
3、125MHZ时钟来处理数据
4、90°相移之后的25MZH作为参考时钟去产生输出参考时钟CTX_CLK。
这四个时钟都由PLL产生

这是收发时序图。
这个模块主要解决的问题就是前导码的问题,
接收端遇到的问题,首先由于前同步码不是8的整数倍,在拼接成8位时,会产生错位。
如过前导码同步是5_55_55_55_55_55_55,接着是arp的目的地址为FF_FF_FF_FF_FF_FF。那么组成8位就是55_55_55_55_55_55_55_FD,就定位不到5D。
还有一个问题就是在实际观察中,前同步码会有半个周期的0xF。

解决的方法就是使用状态机

分为两个作用,对两组4bits的数据拼接成8bits。
对参考时钟进行转换,从25MHZ转换为12.5MHZ。
拼接部分的RTL图如图

对时钟进行转换只需要通过异步FIFO,以25MHZ写入拼接后的数据,以12.5MHZ读出拼接数据即可。

这模块是核心模块,实现PORT,IP和MAC地址的过滤。使用的时钟是125MHZ,这样的处理速度更快,遇到的问题就是如何将12.5MHZ的时钟转换为125MZH,再将处理完后的时钟转换为12.5MHZ输出数据。
有三个难点:
1、数据长度的不确定性
2、相邻两个数据包间隔不确定性
3、如何保证转换后数据网络的有效性,即使data信号和DV信号的时序关系

这里采用两级FIFO解决,第一个FIFO用来存储数据,同时记录数据长度,将写完后的数据长度写入第二个FIFO,当第二个FIFO非空时,读出数据的长度,这样就做到了data和DV信号的同步。同理需要讲125MHZ转换为12.5MHZ时,再使用上述模块。

需要将8bits拆分为4bits,输出的参考时钟为25MHZ再进行相移。采用DDIO IP核来实现。该IP核如图

如图输入datain_h为1,输入datain_l为0,输出的信号就是参考时钟相移了90°。

以太网供电(PoE)浪涌保护电路设计方案详解

以太网供电RJ45/POE 端口广泛用于安防、视频监控以及智能电网等工业系统以太网接口电路设计,用以实现系统内以太网接口电路设计的数据、视频传输、流量控制、以及通过总线实现供电。由于工业以太网工作环境的严苛,对于 RJ45/POE 端口的电磁兼容的雷击浪涌防护必不可少,通常接触到的客户对于设备的以太网端口的雷击电流防护高达 4KV 甚至更高 的 6KV 10/700μs 浪涌电流保护能力。浪拓电子基于如此高的端口浪涌防护需求,推出增强型防护设计方案,该方案可以实现高达 6KV 的(10/700μs-5/320μs) 浪涌防护能力。

►百兆以太网POE静电浪涌保护方案,如下图:

从百兆以太网POE静电浪涌保护方案图中可以看出,电路保护器件选用的是低电容TVS二极管阵列:BV03C-H(SOD-323封装,功率350W,截止反向工作电压3.3V,钳位电压19V)与双芯片瞬态抑制二极管BV-SMBJ58C2H(1KV@1.2/50μs)。

实际器件选型取值可根据防护等级及器件成本综合考虑进行调整。

浪涌指标:IEC61000-4-5 (10/700μs-5/320μs)CM/DM:4KV-100A

►千兆以太网POE静电浪涌保护方案,如下图:

浪涌指标:IEC61000-4-5 (10/700μs-5/320μs)CM/DM:6KV-150A

保护方案非常可靠,足以处理系统在实际应用经受到的瞬变类型和电压水平。

想了解更多有关千兆以太网POE静电浪涌保护方案、低电容TVS二极管型号、参数、特性、规格书及应用,欢迎前来沟通交流,从方案设计、浪涌测试、样品供应、批量采购,一站式满足以太网接口电路设计你的需求以太网接口电路设计

NXP iMX7双以太网配置

By

Toradex秦海

1). 简介

NXP iMX7是NXP基于Cortex-A7和Coretex-M4异构多核架构的ARM处理器,其中iMX7 Dual型号SoC支持两路MAC控制器,可以通过外置百兆或者千兆PHY芯片扩展两路以太网接口,本文就基于Toradex基于NXP iMX7 Dual SoC的ARM核心板模块Colibri iMX7D示例扩展两路以太网。
2). 第一路以太网

a). Colibri

iMX7D模块已经通过模块上面部署的一个Microchip KSZ8041NL 百兆PHY芯片默认支持以太网接口电路设计了第一路百兆以太网
b). KSZ8041NL的参考电路请参考 这里 (原理图示例的SoC MAC端来自Toradex VF61 ARM模块的定义,在iMX7或者其他平台上面不能直接引用,请只参考PHY一侧的连接)
c). 由于选择的iMX7D ENET1 MAC RMII接口50MHz 参考时钟输出引脚GPIO1_IO12和另外一个M4核心的NMI输入引脚冲突,因此最终在设计中,这一路的KSZ8041PHY使用以太网接口电路设计了外部参考时钟,没有使用iMX7 ENET1的参考时钟输出
d). 基于上述配置的第一步以太网对应的device tree节点定义和pinmux定义请参考如下,内核基于4.9.166版本

---------------------------------------

# arch/arm/boot/dts/imx7-colibri.dtsi

……

fec1 {

       pinctrl-names = "default", "sleep";

       pinctrl-0 = <pinctrl_enet1;

       pinctrl-1 = <pinctrl_enet1_sleep;

       clocks = <clks IMX7D_ENET1_IPG_ROOT_CLK,

                <clksIMX7D_ENET_AXI_ROOT_CLK,

                <clks IMX7D_ENET1_TIME_ROOT_CLK,

                <clksIMX7D_PLL_ENET_MAIN_50M_CLK;

       clock-names = "ipg", "ahb", "ptp","enet_clk_ref";

       assigned-clocks = <clks IMX7D_ENET1_TIME_ROOT_SRC,

                          <clksIMX7D_ENET1_TIME_ROOT_CLK;

        assigned-clock-parents = <clksIMX7D_PLL_ENET_MAIN_100M_CLK;

       assigned-clock-rates = <0, <100000000;

       phy-mode = "rmii";

       phy-supply = <®_LDO1;

       fsl,magic-packet;

};



iomuxc {



pinctrl_enet1: enet1grp {

               fsl,pins = <

                       MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x73

                       MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0       0x73

                       MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1       0x73

                       MX7D_PAD_ENET1_RGMII_RXC__ENET1_RX_ER           0x73
                       MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x73

                       MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0       0x73

                        MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1       0x73

                       MX7D_PAD_GPIO1_IO12__CCM_ENET_REF_CLK1          0x73

                       MX7D_PAD_SD2_CD_B__ENET1_MDIO                   0x3

                       MX7D_PAD_SD2_WP__ENET1_MDC                      0x3

                ;

       };
       pinctrl_enet1_sleep: enet1sleepgrp {

                fsl,pins = <

                       MX7D_PAD_ENET1_RGMII_RX_CTL__GPIO7_IO4          0x0

                       MX7D_PAD_ENET1_RGMII_RD0__GPIO7_IO0             0x0

                       MX7D_PAD_ENET1_RGMII_RD1__GPIO7_IO1    0x0

                       MX7D_PAD_ENET1_RGMII_RXC__GPIO7_IO5    0x0
                       MX7D_PAD_ENET1_RGMII_TX_CTL__GPIO7_IO10 0x0

                        MX7D_PAD_ENET1_RGMII_TD0__GPIO7_IO6     0x0

                       MX7D_PAD_ENET1_RGMII_TD1__GPIO7_IO7    0x0

                       MX7D_PAD_GPIO1_IO12__GPIO1_IO12        0x0

                       MX7D_PAD_SD2_CD_B__GPIO5_IO9           0x0

                       MX7D_PAD_SD2_WP__GPIO5_IO10             0x0

                ;

       };

---------------------------------------
3). 第二路以太网

a). 第二路以太网通过模块预留的RMII或者RGMII接口连接百兆PHY或者千兆PHY来扩展,Colibri iMX7D RMII或者RGMII接口管脚定义请参考 手册 5.4章节。
b). 同样使用KSZ8041NL 百兆PHY扩展的参考电路请参考 这里 (原理图示例的SoC MAC端来自Toradex VF61 ARM模块的定义,在iMX7或者其他平台上面不能直接引用,须按照上面手册定义连接),如需要连接千兆PHY,请参考所使用的千兆PHY(如Microchip KSZ9031RNL)手册进行连接
c). 通过ENET2 RMII接口连接KSZ8041NL百兆PHY的device tree配置参考如下patch,和上面第一路以太网不同,这次使用的iMX7 SoC内部的参考时钟输出给PHY,因此在clock项目配置会有不同

https://github.com/simonqin09/colibri_imx7_2nd_ethernet/blob/master/0001-imx7d-2nd-ethernet-support_update_20200218.patch
// 对于 fec2节点中的“fsl,mii-exclusive” 参数,因为ENET1和ENET2分别使用其对应的MDIO总线,而不是共享一个MDIO总线,在4.9 kernel下,如果不配置这个参数,驱动会默认都使用ENET1的MDIO去配置ENET2,因此在这里是必须的。但在其他i.MX平台或者mainline kernel下则不一定需要。
// MX7D_PAD_EPDC_BDR0__CCM_ENET_REF_CLK2 配置为0x40000073,因为使用iMX7 SoC内部参考时钟,这个时钟要同时给PHY和MAC提供参考时钟,因此Input和Output都要配置使能,因此需要为0x40000073,关于pinctrl的更多说明请参考 这里 。
d). 通过RGMII连接千兆PHY的device tree配置请参考 这里

 

4). 总结

本文基于iMX7示例以太网接口电路设计了双路以太网的设计和配置思路,同时对于其他支持双路MAC的NXP i.MX ARM处理器(如iMX8)的配置思路也都是一致的,只是具体的clock和pinmux定义等要做对应的适配

请问电路设计时usb 以太网接口外壳都接大地的原因是什么?

当采用的线缆为屏蔽线缆时,通过这种方式可以实现屏蔽层的接地,从而为链路提供最佳的屏蔽,有效抑制传导骚扰、电瞬变脉冲骚扰等频率较高、能量较低的骚扰信号,也为静电或浪涌提供一个阻抗较低的泄放通道。 关于以太网接口电路设计和以太网接口引脚定义的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 以太网接口电路设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于以太网接口引脚定义、以太网接口电路设计的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微服务和api网关区别(微服务网关技术选型)
下一篇:api接口文档写得差(api接口文档写得差的原因)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~