曼切斯特编码和差分曼切斯特编码

在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示"1",从低到高跳变表示"0"。还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。

两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。

就是说主要用在数据同步传输的一种编码方式

曼彻斯特编码和差分曼彻斯特

分别用标准曼彻斯特编码和差分曼彻斯特编码画出1011001的波形图

一:标准曼彻斯特编码波形图1代表从高到低,0代表从低到高

二:差分曼彻斯特编码波形图1代表没有跳变(也就是说上一个波形图在高现在继续在高开始,上一波形图在低继续在低开始)开始画0代表有跳变(也就是说上一个波形图在高位现在必须改在低开始,上一波形图在高位必须改在从低开始)

注:第一个是0的从低到高,第一个是1的从高到低,后面的就看有没有跳变来决定了(差分曼彻斯特编码)

给出比特流101100101的以下两个波形。

  (1)曼彻斯特码脉冲图形;

  (2)差分曼彻斯特码脉冲图形。

同步传输是一种以数据块为传输单位的数据传输方式,该方式下数据块与数据块之间的时间间隔是固定的,必须严格地规定它们的时间关系。每个数据块的头部和尾部都要附加一个特殊的字符或比特序列,标记一个数据块的开始和结束,一般还要附加一个校验序列,以便对数据块进行差错控制。

同步传输是以同步的时钟节拍来发送数据信号的,因此在一个串行的数据流中,各信号码元之间的相对位置都是固定的(即同步的)。

  同步传输(Synchronous)

  在同步传输的模式下,数据的传送是以一个数据区块为单位,因此同步传输又称为区块传输。

异步传输一般以字符为单位,不论所采用的字符代码长度为多少位,在发送每一 字符代码时,前面均加上一个“起”信号,其长度规定为1个码元,极性为“0”,即空号的极性;字符代码后面均加上一个“止”信号,其长度为1或者2个码元,极性皆为“1”,即与信号极性相同,加上起、止信号的作用就是为了能区分串行传输的“字符”,也就是实现了串行传输收、发双方码组或字符的同步。

同步与异步传输的区别

  1,异步传输是面向字符的传输,而同步传输是面向比特的传输。

  2,异步传输的单位是字符而同步传输的单位是帧。

  3,异步传输通过字符起止的开始和停止码抓住再同步的机会,而同步传输则是以数据中抽取同步信息。

  4,异步传输对时序的要求较低,同步传输往往通过特定的时钟线路协调时序。

  5,异步传输相对于同步传输效率较低。

简单说

  同步传输就是,数据没有被对方确认收到则调用传输的函数就不返回。

  接收时,如果对方没有发送数据,则你的线程就一直等待,直到有数据了才返回,可以继续执行其他指令

  异步传输就是,你调用一个函数发送数据,马上返回,你可以继续处理其他事,

  接收时,对方的有数据来,你会接收到一个消息,或者你的相关接收函数会被调用。

形象点说

  异步传输: 你传输吧,我去做我的事了,传输完了告诉我一声

  同步传输: 你现在传输,我要亲眼看你传输完成,才去做别的事

时间: 2024-10-28 15:34:41

曼切斯特编码和差分曼切斯特编码的相关文章

【Java】如何检测、替换4个字节的utf-8编码(此范围编码包含emoji)

> 参考的优秀文章 1.十分钟搞清字符集和字符编码 2.Java中byte与16进制字符串的互相转换 3.[异常处理]Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现 4.Why a surrogate java regexp finds hypen-minus > 如何检测.替换4个字节的utf-8编码(此范围编码包含emoji) 项目有个需求,是保存从手机端H5页面提交的信息. 大家

url 编码(percentcode 百分号编码)

http://www.imkevinyang.com/2009/08/%E8%AF%A6%E8%A7%A3javascript%E4%B8%AD%E7%9A%84url%E7%BC%96%E8%A7%A3%E7%A0%81.html 摘要 本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和编解码相关的几对函数escape / unescape,encodeURI / decodeURI和encodeUR

(七十七)地理编码与反地理编码

所谓地理编码,指的是通过地名获取位置信息,例如经纬度.详细地址等. 所谓反地理编码,指的是通过经纬度.海拔等信息获取地理位置信息. 在iOS上使用地理编码和反地理编码,如果是手动输入经纬度,是不需要获取用户授权的,但是一般是获取用户的经纬度,然后再通过地理编码实现精确定位,因此需要授权,本文因为是单独讲解地理编码的相关知识,因此采用手动输人经纬度,不再赘述授权的代码. ①导入框架: #import <CoreLocation/CoreLocation.h> ②新建CLGeocoder对象: @

刨根究底字符编码之十三——UTF-16编码方式

UTF-16编码方式 1. UTF-16编码方式源于UCS-2(Universal Character Set coded in 2 octets.2-byte Universal Character Set).而UCS-2,是早期遗留下来的历史产物. UCS-2将字符编号(即码点值)直接映射为字符编码(CEF,而非CES,详见前文中对现代字符编码模型的解释),亦即字符编号就是字符编码,中间没有经过特别的编码算法转换.因此,从现代字符编码模型的角度来看的话,此时并没有将编号字符集CCS与字符编码

objective-c开发——地图定位之地理编码和地理反编码

我们平时做地图定位,主要是靠经纬度来准确定位某个位置. 但是,我们是人啊,我们不是卫星啊. 用户在地图上查一个地方,我们总不能告诉他,这个地方是东经多少度,北纬多少度吧. 咱们好歹得告诉人家个地名不是? 这就是我们今天说的地理编码和地理反编码. 地理编码:你说个地名,比如“西湖”,我们给你返回它的经纬度,然后你通过查出来的这个经纬度去定位 反地理编码:我告诉你一个经纬度,你通过经度纬度返回地名.最好在插个大头针在地图上就更好了,啥叫大头针,咱们以后再说. 首先,我的界面是这个样纸的,就是两个按钮

刨根究底字符编码之十一——UTF-8编码方式与字节序标记

UTF-8编码方式与字节序标记 一.UTF-8编码方式 1. 接下来将分别介绍Unicode字符集的三种编码方式:UTF-8.UTF-16.UTF-32.这里先介绍应用最为广泛的UTF-8. 为满足基于ASCII.面向字节的字符处理的需要,Unicode标准中定义了UTF-8编码方式.UTF-8应该是目前应用最广泛的一种Unicode编码方式(但不是最早面世的,UTF-16要早于UTF-8面世).它是一种使用8位码元(即单字节码元)的变宽(即变长或不定长)码元序列的编码方式. 由于UTF-16对

地理编码和反地理编码

一.基本概念 地理编码:根据给定的地名,获得具体的位置信息(比如经纬度.地址的全称等) 反地理编码:根据给定的经纬度,获得具体的位置信息 编码器CLGeocoder的每个实例,同时只能处理一个任务,异步执行. 二.基本方法 1. 地理编码方法   - (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler; 2. 反地理

百度地图开发(二)之添加覆盖物 + 地理编码和反地理编码

之前写过一篇关于百度地图开发的blog,主要介绍了百度地图的基本地图的显示. 详见:Android百度地图开发(一)之初体验 下面来看一下地图上覆盖物的添加,以及地理编码和反地理编码. 添加覆盖物 在地图上添加覆盖物,一般需要以下几个步骤: 1. 定义坐标点,有可能是一个,有可能是多个(比如:多边形覆盖物). 2. 构造OverlayOptions(地图覆盖物选型基类). 3. 在地图上添加覆盖物. 4. 添加相应的监听事件. 在API中可以看到,BaiDuMap类中有一个方法: 这个方法就是用

关于编码问题以及不同平台编码及string与编码的关系

说明:这里简要说明一下不同平台的编码不同,c语言中的char *与编码的关系这些问题,及对通常困扰的乱码问题做个总结 一.编码 简单说,就是计算机识别信息的一种格式,ascal.utf-8这些都属于编码,计算机根据这些编码标准,解读出内容.l 二.ANSI.ascll.utf8.unicode等说明 1.  ASCII和Ansi编码 字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 单字节内码 -- Single-Byte charac