关于C6678的网口问题
1、C6678 Keystone1架构的GbE switch subsystem如图所示:

2、从图中可以看到MAC层与物理层PHY芯片的连接接口是由SGMII+SerDES构成,SGMII是以太网MAC与PHY之间的媒体接口,SerDES为可编程的串行接口,为差分输入输出。
3、网上很多资料说SGMII接口电器特性与SerDES兼容,可以配置成串行接口,可以直接与PHY芯片连接,但是C6678为什么设计成SGMII+SerDES这种模式?
4、解释3的原因:SGMII只是一个普通的高速串行接口,用来连接MAC与PHY芯片,类似GMII和RGMII,只不过GMII和RGMII都是并行的,而且需要随路时钟,PCB布线麻烦;而SGMII是串行的,不需要另外提供时钟,具有8b/10b编码,速率为1.25Gb。SerDES一般集成在高端FPGA,或者专用加串/解串器IC上。另外:C6678采用SGMII+SerDES这种模式,可能是为了测试SGMII和SerDES进行内部循环通信;还有SGMII的发送接口和接收接口是分开独立的,发送数据时,SGMII的发送接口可以进行8b/10bB编码,将发送数据编码为SerDES接口需要的编码格式;接收数据时,SerDES对从PHY接收的数据进行8b/10bB编码,再传送给SGMII接收接口,接收接口对8b/10bB编码数据进行解码,完成数据接收;如果SGMII与PHY可以直接相连,就不用进行中间的8b/10bB编码解码,为什么要加上SerDes,反而更麻烦;因为8b/10bB编码后的数据抗干扰性更强,传输更稳定,所以中间通过SerDes传输;这说明SGMII与PHY之间不能直接传输8b/10bB编码信号吗。。。。
关于C6678的网口问题的更多相关文章
- 基于双XCKU060+双C6678 的双FMC接口40G光纤传输加速计算卡
基于双XCKU060+双C6678 的双FMC接口40G光纤传输加速计算卡 一.板卡概述 板卡采用基于双FPGA+双DSP的信号采集综合处理硬件平台,板卡大小360mmx217mm.板卡两片FPGA提 ...
- 基于双XCKU060+双C6678 的双FMC接口40G光纤传输加速计算卡381
一.板卡概述 板卡采用基于双FPGA+双DSP的信号采集综合处理硬件平台,板卡大小360mmx217mm.板卡两片FPGA提供两个FMC接口,4路QSFP+接口:每片FPGA挂接2簇32-bit DD ...
- 410-基于XCVU9P+ C6678的40G光纤的加速卡
基于XCVU9P+ C6678的40G光纤的加速卡 一.板卡概述 二.处理板技术指标 • 板卡为自定义结构,板卡大小332mmx260mm; • FPGA采用Xilinx Virtex Ultra ...
- dm9000网口收发控制以及mac地址过滤设置
目的 :完成网口收发调试 过程 : 1.网口初始化,根据芯片数据手册配置 2.网口发数,先向DM9000中的TX FIFO存入数据,然后出发发送寄存器完成发送: 3.网口接收 . ...
- 网口扫盲三:以太网芯片MAC和PHY的关系
转载:http://www.cnblogs.com/jason-lu/articles/3195473.html 问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MA ...
- Linux 中查看网口流量的利器 -- sar
Linux 中查看网口流量的利器 -- sar 有这么一个小工具,通过它能够查看各个网口的IP报文流量统计. 利用sar命令,加上-n DEV参数,即可统计出所有网卡上的流量,在显示的第五和第六列 ...
- openStack 云平台管理节点管理网口流量非常大 出现丢包严重 终端总是时常中断问题调试及当前测试较有效方案
tuning for Data Transfer hosts connected at speeds of 1Gbps or higher <一.本次OpenStack系统调试简单过程简单记录& ...
- 基于Centos6.6的R720服务器四网口端口聚合的实践
服务器多网口端口聚合,其目的主要在于网卡容灾和提升带宽.linux端口绑定,提供7种模式,如下: 关于mode共有0-6等7种模式,详细请参考官方手册!mode的值表示工作模式,他共有0,1,2,3, ...
- 网口做trunk
首先发现这个服务器的两个网口对应的交换机端口 ailixin-asw2960>en ailixin-asw2960#terminal monitor 查看端口的状态 ailixin-asw296 ...
随机推荐
- Bootstrap 总结
Bootstrap 首先要引入下面三个文件 <!-- 新 Bootstrap 核心 CSS 文件 --> <link href="https://cdn.bootcs ...
- C++面试笔记(2)
11 explicit 显式构造函数 explicit修饰的构造函数可用来防止隐式转换 class Test1 { public: Test1(int n) // 普通构造函数 { num=n; } ...
- makefile笔记3 - makefile规则
target ... : prerequisites ... command ... ... 规则包含两个部分,一个是依赖关系,一个是生成目标的方法. 在 Makefile 中,规则的顺序是很重要的, ...
- Linux中彻底删除Google-Chrome浏览器
sudo apt-get autoremove --purge google-chrome-stable 卸载chrome后, 删除-/.config/google-chrome,重新安装.
- SQA计划与系统测试
(一)目的 本计划的目的是定义我们该小组所做的“爱上长大”项目的SQA任务和职责,在项目过程中应遵循的流程.规范和约定等,以确保软件质量得到维持. (二)范围 本计划应用于“爱上长大”项目开发的整个生 ...
- Javascript 数组相关操作
数组排序问题: sort() arr.sort() 可以直接进行排序,但是排序的方式是按unicode 顺序而来,比如1,1000,200,这个顺序不是我们想要的结果: 所以有了另一种方法,针对num ...
- 在Linux服务器上使用Vbox安装虚拟机
先去官网(www.virtualbox.org)上下载对应Linux系统的Vbox版本. 我这边用的是Oracle Linux 7系统(KDE安装) 使用rpm安装virtualbox 发现报错,按照 ...
- SpringBoot的学习【7.引入配置文件】
1.@PropertySource 作用:加载指定的配置文件 2.@ImportResource ---恢复内容结束---
- Python中使用多进程来实现并行处理的方法小结
进程和线程是计算机软件领域里很重要的概念,进程和线程有区别,也有着密切的联系,先来辨析一下这两个概念: 1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和 ...
- Ubuntu如何使用Vscode写C++代码
(一). 下载Vscode (1). 打开Ubuntu软件 (2). 搜索Vscode,下载并运行. (二). 安装C++ (1). 看到右边的列表,点击最下面的 (2). 然后我们搜索和下载 C++ ...