不归零法编码、曼彻斯特编码和差分曼彻斯特编码

2023-11-13

    数字信号和数位化编码的数据之间存在着自然的联系。数位化存储的数据表现为0和1的序列。由于数字信号能够在两个恒量之间交替变换,所以可以简单地把0赋予其中的一个恒量,而把1赋予另一个恒量。这里恒量的具体取值并不重要。如果是电子信号的话,这两个恒量数值相同,但符号相反。为了保持论述的普遍性,我们把它们分别称为“高电平”和“低电平”。

1. 不归零法编码

    不归零法(Nonreturn to Zero, NRZ)可能是最简单的一种编码方案。它传送一个0时把电压升高,而传送一个1时则使用低电平。这样,通过在高低电平之间作相应的变换来传送0和1的任何序列。N R Z指的是在一个比特位的传送时间内,电压是保持不变的(比如说,不回到零点)。下图描述了二进制串1 0 1 0 0 11 0的NRZ传输过程。

    NRZ编码虽然简单,但却存在一个问题。研究一下下图中的传输。它正在传送什么呢?

    你可以回答说是“一个0的序列”。是的,但到底有多少个0呢?对于这个问题,你会回答说这取决于一个比特位的持续时间。现在假设我们告诉你1毫米线段对应于一个周期。那么你所要做的就是量出图中线段的长度,并转换为毫米。这一计算将告诉你线段中有多少个1毫米的分段,也就是0的个数。理论上这个方法是行得通的,但实际上却不然。假设有个人用尺子画出了一条包含1 0 0 0个1毫米分段的线段。那么总共有多长呢?答案是1米,但由于在测量和实际绘制时出现的误差,线段可能只是接近而不是刚刚好一米长。因此,当第二个人来测量这条线段时,他将得出一个比1 0 0 0个分段稍微多点或少点的答案。即使第一个人很幸运,他的测量准确无误,但第二个人度量时的不精确也将导致误差。

    这会给数据传输带来什么影响呢?当一台设备传送一个比特的数字信号时,它将在一定的周期内,假定为T,产生一个持续的信号。一个内置的时钟负责定时。接收设备必须知道信号的周期,这样它才能在每个T时间单元内对信号进行采样。它也有一个负责定时的内置时钟。剩下的就是确保两个时钟使用同样的T。

    下一个问题是:你家里所有的时钟总是保持一致的吗?我家可不是。不幸的是,任何物理设备都存在着设计上的局限性和缺陷。几乎可以肯定任何两个时钟都存在着微小的差别,这使得设备无法对传输信号作十分精确的采样。就好象我们在新年的第一天校正了两个时钟,但到了年底却发现它们已经有了轻微的差别。同样地,管弦乐队的音乐家们以同样的速度同时开始演奏,但如果他们不看指挥,也不注意听别人的拍子的话,他们的节奏将开始混乱。稍微的不和谐就将毁掉整个演奏,使它听起来就象作者和他的同事们正在表演一样。

    就象指挥家确保演奏者的同步一样,通信设备也需要某种机制以使它们的定时保持一致。不变的信号不具备同步机制。但如果信号改变的话,这种改变就可以用来保持设备的同步。有些强制信号改变的编码方案就是基于这个原因。

2 .曼彻斯特编码

    曼彻斯特编码(Manchester Code)用信号的变化来保持发送设备和接收设备之间的同步。也有人称之为自同步码( Self-Synchronizing Code)。为了避免上面第二个图中出现的情况,它用电压的变化来分辨0和1。它明确规定,从高电平到低电平的跳变代表0,而从低电平到高电平的跳变代表1。下图给出了比特串0 1 0 11 0 0 1的曼彻斯特编码。如图所示,信号的保持不会超过一个比特位的时间间隔。即使是0或1的序列,信号也将在每个时间间隔的中间发生跳变。这种跳变将允许接收设备的时钟与发送设备的时钟保持一致。曼彻斯特编码的一个缺点是需要双倍的带宽。也就是说,信号跳变的频率是NRZ编码的两倍。

    这种编码的一个变形称为差分曼彻斯特编码(Differential Manchester Encoding)。和曼彻斯特编码一样,在每个比特时间间隔的中间,信号都会发生跳变。区别在于每个时间间隔的开始处。0将使信号在时间间隔的开始处发生跳变。而1将使信号保持它在前一个时间间隔尾部的取值。因此,根据信号初始值的不同, 0将使信号从高电平跳到低电平,或从低电平跳到高电平。下图给出了比特串1 0 1 0 0 11 0的差分曼彻斯特编码。在这里,我们通过检查每个时间间隔开始处信号有无跳变来区分0和1。检测跳变通常更加可靠,特别是线路上有噪音干扰的时候。如果有人把连接的导线颠倒了,也就是把高低电平颠倒了,这种编码仍然是有效的(现在,你也许会问哪个神志清醒的人会把两根连接的导线颠倒呢。有几种可能的原因。其一是某人过于匆忙,其二是某人不小心搞错了。这种事情常有发生!)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不归零法编码、曼彻斯特编码和差分曼彻斯特编码 的相关文章

  • Timing Arc

    Timing arc 时序弧 描述从一个pin到另一个pin之间的不可分割的路径时序信息 关键术语 source pin timing arc的起始点 以下图为例 CLK是a1和a8的source pin FF1 CK是a2的source
  • 什么是soft repair 和 hard repair?

    什么是repair Repair是一个过程 是存储器修复缺陷 信号线短路 断路等情况 的过程 存储器中一般存在冗余的信号线和单元 通过检查发现有问题的单元 从而用冗余的模块替换有缺陷的模块 保证存储的正常使用 什么是softrepair 和
  • 【读书笔记】Principles and practices of interconnection networks 第一章笔记

    互联网络导论 互联网络的三个问题 数字系统的三个基本构件 数字系统由3个基本构件组成 逻辑 logic 内存 memory 通信 communication 本书关注点 通信 这本书所关注的是数字系统的通信 因为随着技术的进步 处理器与存储
  • 片上网络(1)概述

    前言 NoC On Chip Networks 片上网络 由于多核乃至众核时代的到来 用于连接它们的可扩展 低延迟 大带宽的通信结构变得至关重要 在核心较少时 总线Bus和矩阵 交叉开关Crossbar是主要的互联结构 总线可以提供较低的传
  • 浅谈时序:set_ouput_delay

    1 set output delay的本质 set output delay是对模块output信号在模块外部延迟的约束 本质上EDA工具会根据约束调整内部器件 UFF0 的类型 摆放位置以及组合逻辑 C1 以满足约束要求 即EDA工具保证
  • 低功耗技术(三)UPF的使用

    UPF是一个统一的 被广泛应用的低功耗实现标准 它用一些标准的语言描述用户的低功耗设计意图 一 UPF所需要的特殊单元库 1 Level Shifter和Isolation Cell 对于多电压设计 需要用Level shifter来实现不
  • 减少数据打拍翻转的低功耗设计方法

    在流水设计中 时常会遇到对某一路数据打多拍从而对齐另一路数据的场景 而除了最后一拍是真正需要的 中间的打拍从功耗上来看是有点浪费的 举个例子 对8bit in data打4拍 总共需要用到4个8bit寄存器 常规打拍方法传输4个数据 D0
  • 低功耗技术(一)动态功耗与静态功耗

    一 动态功耗 翻转功耗 Switching Power 翻转功耗是由充放电电容引起的动态功耗 其推导过程很简单 但是这个最终的结果却十分重要 1 switching power 和负载电容 电压 0到1变化事件的发生次数 时钟频率有关 2
  • 码住!IC设计常用工具合集!

    芯片设计过程中 选择和使用适合的工具是非常重要的 芯片设计工具通常分为三类 EDA工具 模拟仿真工具和布局工具 一 EDA工具 EDA工具是芯片设计的核心 它包括原理图绘制 逻辑综合 门级仿真工具和物理版图编辑等 可以帮助设计师设计出电路的
  • (1)基础学习——图解pin、pad、port、IO、net 的区别

    本文内容有参考多位博主的博文 综合整理如下 仅做和人学习记录 如有专业性错误还请指正 谢谢 参考1 芯片资料中的pad和pin的区别 imxiangzi的博客 CSDN博客 pin和pad的区别 参考2
  • 什么是IO Pad?

    1 什么是IO pad IO pad是一个芯片管脚处理模块 即可以将芯片管脚的信号经过处理送给芯片内部 又可以将芯片内部输出的信号经过处理送到芯片管脚 输入信号处理包含时钟信号 复位信号等 输出信号包含观察时钟 中断等 IO pad模块可以
  • 流水线设计

    1 global stall 用全局使能信号控制整条pipeline 一般会使用clock enable CE 这样在综合后会自动插入ICG 从而降低动态功耗 always posedge clk begin if ce out data
  • IC新人必看:芯片设计流程最全讲解!

    对于消费者而言 一个可以使用的系统 有数字集成电路部分 模拟集成电路部分 系统软件及上层应用部分 关于各个部分的功能 借用IC 咖啡胡总的精品图可以一目了然 外部世界是一个模拟世界 故所有需要与外部世界接口的部分都需要模拟集成电路 模拟集成
  • 利用python摘取文本中所需信息,并保存为txt格式

    项目所需 IC设计中难免会处理大量文本信息 我就在项目中遇到了 对于一个几万行的解码模块 提取出其中的指令 如果不用脚本将会很麻烦 下面我将一个小小的例子分享给大家 刚学python 如果有更方便的实现方法清多多指教 目的 1 在几万行解码
  • (四)RTL级低功耗设计

    前面介绍了系统级的低功耗设计 换句话说就是在系统级降低功耗可以考虑的方面 系统级的低功耗设计 主要是由系统级设计 具有丰富经验的人员实现 虽然还轮不到我们设计 我们了解一下还是比较好的 我们前端设计人员的重点不在系统级设计上面 而是在RTL
  • 【IC设计】ZC706板卡点灯入门(含Verilog代码,xdc约束,实验截图)

    文章目录 假定已知的前置知识 需求 注意点 代码实现 顶层模块 led闪烁模块 xdc约束 这篇博客将针对AMD Zynq 7000 SoC ZC706 Evaluation Kit板卡 对应Vivado创建工程时FPGA型号 XC7Z04
  • PAD2Reg和Reg2PAD的时序分析

    PAD2Reg 1 Input delay约束从SOC PAD输入到第一级FF的data path 2 Input delay约束中的 clock指的是launch clock 它一般存在于Device中 对SOC来说是个虚拟时钟 如果发射
  • RGMII时序约束

    RGMII是以太网MAC连接PHY的一种接口 可以实现10 100 1000M网络速度 在FPGA系统中比较常见 RGMII在1000M模式下是双沿采样 而且要求采样端是center aligned 所以其时序约束是比较复杂的 下面分TX和
  • verdi显示数据

    在波形数据上点右键 2 s complement 就是大家计算机课上学的 补码 1 s complement 是课上讲的 反码 signed magnitude 最高位是符号位 0 正数 1 负数 低位是绝对值 另外 ncverilog v
  • 集成电路模拟版图入门-版图基础学习笔记(一)

    IC模拟版图设计 了解版图 版图的定义 版图是在掩膜制造产品上实现 电路功能且满足电路功耗 性能等 从版图上减少工艺制造对电路的偏差 提高芯片的精准性 版图的意义 1 集成电路掩膜版图设计师实现集成电路制造所必不可少的设计环节 它不仅关系到

随机推荐

  • Niagara官方示例笔记 - 盘点自带重要模块

    Emitter State life cycle生命周期控制 发射器选择system 所有发射器都在system的state里设置生命周期 选择self 发射器独立控制 可以给发射器创建不同类型变量 使用set parameter模块计算
  • 【Vegas原创】ORA-16040 standby destination archive log file is locked解决

    ORA 16040 standby destination archive log file is locked Cause The target standby destination archive log file is curren
  • serverless与容器优缺点

    容器优势 1 可移植性 使用容器 开发人员可以确保他们的应用程序可以在任何云平台或本地服务器上运行 2 轻量化 容器镜像以层叠加 在本地拥有镜像层缓存 计算资源使用方面 容器也比虚拟机更高效 3 快速启动 容器启动在镜像只读层上叠加一层读写
  • 谈谈我们公司如何做Code Review

    研发中心团队越来越庞大了 开发人员越来越多了 和他们聊天过程中 发现开发人员对代码技能的提升很迷茫 诉求越来越浓厚 只不过一个接一个的项目交付没有给他们太多停留的时间 在这种情况下如何给团队营造浓厚的工程师交流氛围呢 方法有多种 最近进行了
  • 35+老测试员生涯回顾,揭秘无力吐槽的自动化真相…

    不知道从什么时候开始 软件测试行业就和 自动化 这个词联系在一起了 对于如今的测试人来说 几乎没有人不知道 自动化测试 甚至查看各大招聘网站 你从任何一个招聘渠道来看最近两年对测试岗位的要求 几乎都要求会自动化测试 而不少人一直认为手工测试
  • JS获取阴历+阳历时间

    1 阴历 获取阴历 start getLunar var nyear var nmonth var nday 1 var nwday var nhrs var nmin var nsec var lmonth lday lleap 农历参数
  • 海思麒麟985性能简介

    海思麒麟985 SoC由中国台湾积体电路制造有限公司打造 是麒麟980的升级改良版 率先使用7nm工艺制作 是对上一代10nm芯片的改进 主要在功耗和性能上做了较大改进 麒麟985大致参数为1 3 4 CPU架构 8核Mali G77 GP
  • mali GPU 官网指南

    1 简介 GPU 图形处理单元 是一种专门在个人电脑 工作站 游戏机和移动设备上图形运算工作的微处理器 以前GPU主要用于图形处理 现在GPU的通用计算技术也得到了飞速发展 事实证明在浮点运算 并行计算等部分计算方面 GPU可以提供数十倍乃
  • 【python】python如何从一个文件中引入另一个文件中的变量

    直接和导入python的函数一样导入变量名即可 十分方便 from target file import variant name
  • STM32学习笔记五、RST复位

    1 STM32硬复位 STM32片内已经有复位电路了 可以不外接复位电路 复位引脚一般不宜悬空 所以STM32在NRST引脚内接了一个上拉电阻 典型值为40K 为了防止外部干扰 STM32数据手册上建议外接一个对地电容 如果用户认为内部上拉
  • java后端接入微信小程序登录功能

    java后端接入微信小程序登录功能 前言 此文章是Java后端接入微信登录功能 由于项目需要 舍弃了解密用户信息的session key 只保留openid用于检索用户信息 后端框架 spring boot 小程序框架 uniapp 流程概
  • 【ROS】虚拟机VMware 安装ROS 一条龙教程+部分报错解决

    前言 Linux下安装ROS真是太多坑了 如何在Linux下安装ROS呢 博主带你少走弯路 目录 前言 第一步 配置软件源 1 打开设置 2 打开软件与更新 3 选源 第二步 设置sources list 第三步 设置密钥 第四步 正式安装
  • C#中断点不能调试问题(当前不会命中断点,还没有为该文档加载任何资料 )

    1 winform 程序中 经常会出现的一个错误 断点不可调试 1 当前不会命中断点 还没有为该文档加载任何资料 问题原因 窗口所在的类库或者项目在应用程序目录中 release或者debug 中只生成了dll文件 没有生成pdb文件 例如
  • css如何实现盒子在鼠标点,掌握CSS定位,才能让“盒子”飞得更高更远更稳

    众所周知 前端CSS中 盒模型 浮动 定位为必须掌握的三座大山 今天就来聊聊定位的那些事 定位是什么 先来看看哪些场景用到定位 如下图所示 凡是有盒子压住另一个盒子的地方都可定位 因为用浮动做不了 如果盒子浮动 会并排但不会出现有层级的观感
  • STM32F4 IAP

    功能实现 正常上电或复位后运行用户Bootloader程序 检查变量存储区的标志位 如果标志位为APP FLAG则跳转到APP程序运行 如果标志位为BOOT FLAG 则运行用户Bootloader程序 等待接收文件并准备IAP升级后跳转到
  • (数据挖掘-入门-8)基于朴素贝叶斯的文本分类器

    主要内容 1 动机 2 基于朴素贝叶斯的文本分类器 3 python实现 一 动机 之前介绍的朴素贝叶斯分类器所使用的都是结构化的数据集 即每行代表一个样本 每列代表一个特征属性 但在实际中 尤其是网页中 爬虫所采集到的数据都是非结构化的
  • Android界面设计:Material Design之下拉刷新

    目录 下拉刷新的核心类 SwipeRefreshLayout 下拉刷新的核心类 SwipeRefreshLayout 下拉刷新这种功能并不是什么新鲜的东西 所有的应用里都会有这个功能 把想要实现下拉刷新功能的控件放置到SwipeRefres
  • 【每日一题】字符串中找出连续最长的数字串(字符串、贪心)

    题目来源 牛客网 链接 字符串中找出连续最长的数字串 题目描述 读入一个字符串str 输出字符串str中的连续最长的数字串 输入描述 测试输入包含1个测试用例 一个字符串str 长度不超过255 输出描述 在一行内输出str中里连续最长的数
  • 数仓建模理论——高质量数据建模

    数仓质量 数据模型的概念和意义 DIKW 低质量数据模型十宗罪 低质量数据模型的影响 数仓必备技能 1 建模基础 实体 2 建模基础 属性 Attribute 3 域 Domain NULL值的处理 规范化 范式 第一范式 原子性 没有重复
  • 不归零法编码、曼彻斯特编码和差分曼彻斯特编码

    数字信号和数位化编码的数据之间存在着自然的联系 数位化存储的数据表现为0和1的序列 由于数字信号能够在两个恒量之间交替变换 所以可以简单地把0赋予其中的一个恒量 而把1赋予另一个恒量 这里恒量的具体取值并不重要 如果是电子信号的话 这两个恒