当前位置: 首页 > news >正文

详解Xilinx FPGA高速串行收发器GTX/GTP(5)--详解8B10B编解码

1、8B/10B编码是什么?

        简单来说,8B/10B编码就是将原本是8bits的数据,按照一定的规则扩展编码到10bits。8B10B编码是1983年由IBM公司提出的传输编码标准,通常用于高速收发器中,以太网、JESD204B、SATA等接口协议都使用了这个编码规则。

        原本用8bits就能表示的数据现在要用10bits来表示,那肯定就会造成一定程度的浪费,也就是我们所说的 “编码开销” ,对接收端来说,它接收的10位数据只有8位是有效的,2位是相对无效的,所以它的编码开销是 2/10*100% = 20% 。存在编码开销也就是意味着传输带宽的浪费,那么8B/10B编码究竟有什么好处,以至于我们能容忍20%的编码开销也要使用它呢?

        8B/10B编码最大的好处是直流平衡(DC平衡),8B/10B编码可以保证编码后的数据在一定时间内0的个数与1的个数保持相等。

        对于高速信号的处理,可以使用直流耦合和交流耦合,若要实现远距离通讯或者光通讯,则只能使用交流耦合的方式。在交流耦合电路中的信号线会接电容(隔直通交),电容特性是 “隔直通交” ,如果数据流中长时间没有电平翻转,那么必然会将其视为直流被阻断造成极性偏差,也就是电势差不满足高低电平的判断阈值,进而造成对接收电平信号的误判,进而导致接收数据出错,如下图所示。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Mojo中值的所有权简介
  • 区块链的搭建和运维4
  • 数据可视化Axure大屏原型制作分享
  • CAN 应用编程基础-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板
  • 华为OD-D卷找座位
  • 计算机毕业设计选题推荐-生活垃圾治理系统-Java/Python项目实战
  • 苹果应用程序清理卸载工具:App Cleaner Uninstaller Pro for Mac
  • Python设计模式 - 抽象工厂模式
  • Java学习Day20
  • RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
  • 接口自动化测试框架中动态参数接口,加密接口,签名接口你们是怎么处理的?
  • TCP如何建立长连接
  • Jar工具完全指南:从入门到精通
  • C语言学习——函数
  • MySQL常用的日期和时间函数
  • 【Amaple教程】5. 插件
  • HTTP 简介
  • input实现文字超出省略号功能
  • JavaWeb(学习笔记二)
  • Java编程基础24——递归练习
  • JDK9: 集成 Jshell 和 Maven 项目.
  • mysql innodb 索引使用指南
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Promise面试题,控制异步流程
  • SpingCloudBus整合RabbitMQ
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 基于axios的vue插件,让http请求更简单
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何使用 JavaScript 解析 URL
  • 算法---两个栈实现一个队列
  • 06-01 点餐小程序前台界面搭建
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​MySQL主从复制一致性检测
  • "无招胜有招"nbsp;史上最全的互…
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (5)STL算法之复制
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (七)理解angular中的module和injector,即依赖注入
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET 分布式技术比较
  • .NET 通过系统影子账户实现权限维持
  • .project文件
  • //解决validator验证插件多个name相同只验证第一的问题
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [ 数据结构 - C++]红黑树RBTree
  • [20171101]rman to destination.txt