我的I210设计总结

2024-04-13 08:18
文章标签 设计 总结 i210

本文主要是介绍我的I210设计总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前段时间,因为项目需要做了一个I210的网卡设计。先做了miniPCIE的单板设计,后来又集到了主板上。第一次做此类设计,记录下心得体会。

1.典型原理图很容易从官网上下载到,改一下就可以用。简单说下就是PCIE信号注意收发信号匹配,供电电源可直接用芯片自带的转换。

2.做网卡一定要网络变压器的,选用你合适的。

3.硬件设计还是比较简单的,布线上都是老话,差分对等长,阻抗匹配。PCIE时钟线和数据线的阻抗值是不一样的,接网变的MDI差分线也是不一样的,切记!!电源上分了3种,注意输入输出走向,走线尽量宽,电源供不起来或者不足影响网络速度。四层板是必要的,不然很难做到信号和电源兼顾。当然,不需要千兆的话,随便来吧。

4.硬件的安全防护就看应用场合了,场合不同需要的防护也不同。一般至少要加个ESD的。

5.网卡芯片需要烧录配置的,I210可以配置成不同的模式,这个是必须要配置的,它默认的是1531,是不能工作的。

6.烧写工具和烧写文件都可以在官网上下载到。工具支持多种系统,ARM下的需要申请,到intel的嵌入式论坛。如果第一次使用这些工具和文件,估计会和我一样蒙,花些时间熟悉一下。老手就很easy了。

7.官网给的烧写文件都是同一个MAC,可用于测试,修改MAC需要修改配置文件。熟读了手册会知道改动配置需要同时修改校验码,不然烧不进去的。

8.配置文件要不要FLASH呢?I210是支持不用flash的,可以直接烧录到iNVM里面。但是,要想你的网卡适应性好,还是加上FLASH吧。我设计的网卡开始就直接用了iNvm,在windows和linux发行版都可以认出来,但是在arm下认不出来,好像默认只认1533的设备,才能装上驱动的,157b的情况下不加载驱动。改驱动应该是可以用的,没有试过,我直接加了flash,用了1533的配置。不管是哪种配置,在Windows下都没有问题。

9.顺带提一下I210使用的arm-linux内核配置。
有些 Linux 配置没有包含 i210 驱动你需要重新编译内核并将添加相应的驱动
[*]   Intel devices   │ │
 < >     Intel(R) PRO/100+ support (NEW) │ │
 < >     Intel(R) PRO/1000 Gigabit Ethernet support (NEW) │ │
 < >     Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support (NEW) 
 <*>     Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support 
 [*]       Intel(R) PCI-Express Gigabit adapters HWMON support (NEW)

10.网速测试。我使用了iperf这个工具测试网速,测得速度在970M/s,在不同系统上都有运行测试。设计是符合预期的。

11.第一次做此类设计,中间的错误很多,持续改进吧!

 

本来觉得有官网的东西还是更准确,但是总有朋友问哪里下载,现在贴出来。

https://downloadcenter.intel.com/download/19186

这个应该是新的工具,我用的不是这个,这个没有验证,大体看了下,应该是能用的。

部分烧写数据,比较关键的是MAC,校验,还有1533这里,其他的不影响调试,可以根据自己情况调整。

红色是MAC,绿色是校验。

A000 00C9 0000 0D20 FFFF 3025 FFFF FFFF
0003 0000 402F 0000 FFFF 1533 8086 3367
8002 003C 67FF 00C1 E024 0040 2400 FFFF
303D 7000 5A0E 3400 0084 0000 3200 0706
200C 0584 0000 FFFF 0280 803D 0010 0098
1C66 003C 8000 0701 00F8 0097 1000 05F8
0100 4000 1332 4003 FFFF 4000 FFFF 00F9
FFFF FFFF FFFF FFFF 0094 0430 FFFF 401F
8072 003D 05D0 8000 FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0000 0080 FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF FFFF FFFF 0091 FFFF FFFF FFFF FFFF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
FFFF AB03 88F9 FDC3 4C56 0601 0000 FFFF
000F 00DA 16E8 1541 0000 16D1 00A8 00A8
16D0 0090 5E00 0000 0241 0810 038D 3C21

 

这篇关于我的I210设计总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899608

相关文章

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi