在平时工作中,发现大家有时候会将扰码和mB/nB变换搞混,因为从字面意思看,扰码就是通过一定手段将数据打乱,而mB/nB也通过一定的编码规则起到了打乱数据的效果,两者的效果差不多,让大家误以为这两种处理是不是一个意思,其实不是,下面简单分析扰码的原理,mB/nB由于前文分享过8B/10B 的编码过程,这里不再赘述,大家可参看《【以太网硬件三】以太网信道编码方式有哪些?》一文。

从某些以太网接口物理层框图各子层的功能分析中我们可以看到,数据在PCS子层进行mB/nB编码后,通常还需要做一次扰码,如下图中万兆以太网光口物理层框图中scramble模块:

扰码目的有如下两个:

  1. 把集中的数据能量分散开,改善EMI效果;
  2. 避免长0长1,便于时钟恢复和直流平衡。

在使用8B/10B 编码时,编码规则可以解决直流平衡问题,此时加扰是可选项,但如64B/66B编码,编码规则无法完全解决直流平衡问题,加扰是必选项。

举个例子,1000base-T采用得Side-stream scrambler,其master和slaver对应得生成多项式(扰码多项式有多种)如下:

下图为通过线性反馈移位寄存器实现主和从PHY侧流扰码器。在时间n处存储在移位寄存器延迟线中的比特位由Scrn[32:0]表示。在每个符号周期,移位寄存器前进一位,并生成一个由Scrn[0]表示的新比特位。在执行PCS复位功能时,将复位发射器侧流加扰器。如果执行PCS复位,则加扰器的33位向量的所有位都被任意设置。但在任何情况下,均不得将加扰器状态初始化为全零。

从上图可以看出,扰码不会增加码元。扰码就是将信号通过一个m序列(最长线性反馈移位寄存器)后输出,但是它除了改善EMI性能和直流平衡外,它也有缺点,主要缺点是:对系统的误码性能有影响。只要传输中发生了误码,就会在接收解扰反馈时扩大误码。

一句话总结:扰码和mB/nB原理是完全不同的,扰码不会增加码元,mB/nB会增加码元。但两者的目的,或者说效果是类似的,都能改善直流平衡,减少甚至避免长0长1。

【以太网硬件七】扰码和mBnB有什么区别和相同点?相关推荐

  1. 【以太网硬件三】1000base-T和1000base-TX有什么区别?

    从以太网的发展历程我们知道,以太网接口速率越来越高.传输距离越来越远.编码方式在不断变化发展,诞生了各种各样的以太网物理接口类型,我们先按速率划分,对这些接口做个简单介绍. 1.原始以太网:1Mbps ...

  2. Verilog数字系统基础设计-扰码与解扰

    Verilog数字系统基础设计-扰码与解扰 扰码可以对原始的用户数据进行扰乱,得到随机化的用户数据.发送电路在发送数据前先对数据进行随机扰乱,接收电路使用相同的扰乱算法重新恢复出原始的数据. 什么是扰 ...

  3. WCDMA系统中的扰码规划

    摘要:宽带码分多址(WCDMA)系统采用码分多址的无线接入方式,不需频率规划,但需进行相邻小区扰码的规划用以区分各小区.通过WCDMA无线网络的扰码规划,可以确定两个使用相同扰码的小区的复用距离,区分 ...

  4. 用 Python脚本生成 Android SALT 扰码

    发布Android 有偿应用时需要随机生成 SALT 扰码夹在文件中,以下是 Python脚本(当然你选择 C/Java/SHELL/Perl 或别的都行) #!/usr/bin/python # F ...

  5. mimo-ofdm无线通信技术及matlab实现_智芯文库 | FPGA无线通信课程连载——扰码的原理及实现...

    一.扰码的作用 对数字信号的比特进行随机处理,减少连0和连1的出现,从而减少码间干扰和抖动,方便接收端的时钟提取:同时又扩展了基带信号频谱,起到加密的效果.为了保证在任何情况下进入传输信道的数据码流中 ...

  6. MIPI CSI-2笔记(12) -- Low Level Protocol(数据加扰,扰码,Data Scrambling)

    数据加扰(Data Scrambling)的目的是减轻EMI和RF自干扰做造成的影响,加扰是通过将链路的信息传输能量扩展到一个尽可能大的频带上,使用了一种数据随机化技术(data randomizat ...

  7. 星星之火-30:什么是WCDMA的伪随机码与扰码?

    1 扰码的动机 WCDMA的正交码真正的目的不是编解码,而是为了复用与解复用. 正交码的最重要的特性是:正交码不是孤立的存在,而是与其他正交码一起存在的,正交码之间的内积为0,正交码与自身的内积不为0 ...

  8. 无线通信关键技术---扰码

    原文出处:http://blog.sina.com.cn/s/blog_6617106b0100hdgn.html 扰码概念 扰码(Scrambling codes) 就是用一个伪随机码序列对扩频码进 ...

  9. android studio 扰码,Visual Studio 调试技巧 (三) -- 调试第三方组件代码

    上次我们提到,没有源代码而且没有调试符号,我们也可以 Debug.有人可能会问,我什么时候需要在这种情况下调试吗?! 是的.比方说,我们用了某些第三方的组件,这些组件里面难免也会有 Bug.就算是微软 ...

最新文章

  1. SAP MM MRKO功能里的Display与Settle功能之分离?
  2. 基于SSM实现在线洗衣平台
  3. leetcode算法题--唯一元素的和
  4. iOS 富文本风格NSMutableParagraphStyle、定制UITextView插入图片和定制复制
  5. Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令
  6. python中调用万年历_python 打印万年历
  7. thinkphp5运行原理_ThinkPHP5.1~5.2全版本远程代码执行高危漏洞预警
  8. 清华大学2019计算机录取分数线,2019年清华大学各省各批次录取分数线
  9. c++ 协程_Python3 协程(coroutine)介绍
  10. 深入解读Linux进程调度系列(8)——调度与cgroup
  11. linux终端怎么设置monaco,[Linux]Vim设置Monaco字体Vim颜色模板
  12. java+mysql 基于ssm205网上购物超市系统#毕业设计
  13. PS 图层的基本操作
  14. 异次元发卡源码/荔枝发卡V3.0二次元风格发卡网全开源源码/对接免签约支付接口
  15. FineReport 创建报表模板
  16. BUUCTF 藏藏藏
  17. Windows8.1环境如何删除FlashHelperService.exe文件
  18. Cocos Creator 随笔(1)-- 世界坐标,相对坐标转换问题
  19. Errors while compiling. Reload prevented
  20. linux蓝牙语音遥控器,蓝牙智能遥控器介绍

热门文章

  1. 复数fft的时间复杂度,如何复数捕获阶段,振幅和频率的FFT的结果?
  2. 什么事DDoS?什么事ADS?看ADS如何治愈DDoS伤痛
  3. 视频提取关键帧工具类KeyFramesExtractUtils.py,动态支持三种取帧方式,关键参数可配置,代码经过优化处理,效果和性能更好。
  4. Arch 中 fcitx5 提示拼音不可用的解决过程
  5. v中国数字线卡行业发展动态与投资前景展望报告2022-2027
  6. 手机DCIM\.thumbnails 文件删除
  7. 登录中国专利电子申请网的正确姿势
  8. 2016-05-20-信息系统实践手记7-对接卡口平台细节
  9. CVPR2022:将X光图片用于垃圾分割,探索大规模智能垃圾分类
  10. 视频教程-Android Studio 开发详解-Android