首页 > 编程知识 正文

异步通信的优缺点,i2c是同步吗还是异步传输

时间:2023-05-04 09:36:11 阅读:58856 作者:4226

同步传输和异步传输的区别、优缺点

同步传输以数据块为单位进行数据传输,数据块和数据块之间的时间间隔是固定的,各个数据块带有时序信息,接收端可以通过时序信息进行检查。

异步传输一般以字符为单位进行,接收端通过字符的开头和停止代码确定接收信息,不需要与发送端同时动作。

同步传输是以数据块为传输单位的数据传输方式,数据块与数据块之间的时间间隔是固定的,必须严格规定它们的时间关系。 每个数据块的开头和结尾都有一个特殊的字符或位串,用于指示数据块的开始和结束,通常还提供一个验证序列,用于对数据块进行错误控制。

由于同步传输以同步时钟发送数据信号,所以串行数据流中固定(即,同步)每个信号元素之间的相对位置。

在同步传输模式下,数据传输是以数据块为单位进行的,因此同步传输也称为块传输。

传输数据时,发送2个同步字符,然后发送批量数据。

同步传输的比特分组相当大。 每个字符都有自己的开始位和停止位,而不是每个字符独立发送,它们将组合发送。 这些组合称为数据帧,或简称为帧。

数据帧的第一部分包含一组同步字符,它们是与前面提到的起始位相同的唯一位组合。 这用于通知接收方帧已经到达,但也可以确保接收方的采样速度和比特到达速度一致,并同步发送和接收双方。

帧的最后一部分是帧结束标记。 与同步字符一样,它是一个与上述停止位相似的独特位串,用于指示在下一帧开始之前没有其他预计到达的数据。

同步传输要求收发两端对时间的精度。 “同步通信”的通信必须由双方先建立同步,也就是说,必须将双方的时钟调整到相同的频率。 双方不断发送和接收连续的同步比特流。 但是,此时有两种不同的同步方式。 一种方法是使用完全网络同步,使用非常精确的主时钟同步完全网络所有节点上的时钟。 另一种是使用准同步来允许每个节点的时钟之间有很小的误差,并使用其他措施来实现同步传输。

同步传输通常比异步传输快得多。 接收方不需要对每个字符执行开始和停止操作。 如果检测到帧同步字符,则在下一个数据到达时接收。 此外,同步传输的开销也很少。 例如,典型帧有500字节或者说4000比特的数据,其中可能仅包括100比特的开销。 此时,如果增加位,传输的位总数将增加2.5%,远远小于异步传输的25 %的附加值。 当数据帧中的实际数据比特增加时,开销比特所占的百分比相应地减小。 但是,数据位越长,缓存数据所需的缓冲区也越大,从而限制了一帧的大小。 另外,帧越大,占用传输介质的连续时间也越长。 极端情况下,这将导致其他用户等待太久。

在前面的描述中,尽管同步传输是利用同步时钟发送数据信号的,但是单个串行数据流中每个信号元素之间的相对位置是固定的(即,同步的)。 同步传输通常比异步传输快得多。

异步传输将位分成组进行传输,组可以为8位一个字符以上。 发送端可以随时发送这些比特组,但接收端不知道什么时候到达。 一个常见的例子是计算机键盘与主机的通信。 按下一个字符键、数字键或特殊字符键将发送8位ASCII码。 键盘可以随时发送代码。 这取决于用户的输入速度,内部硬件必须能够随时接收输入的字符。

异步传输是数据传输的一种方法。 由于数据通常按1位串行传输,因此例如在传输一系列字符信息时,各字符代码由7位二进制位构成。 但是,在一系列二进制位中,每个7位从哪个二进制位开始计数? 对于异步传输,在传输每个数据字符之前发送一个称为开始位的二进制位。 接收端接收到该信号后,可知依次被送来的7位的二进制位是一个字符数据。 以后,再提供1比特或2比特的二进制比特,称为结束比特。 接收方收到结束位后,表示一个数据字符的传输结束。 这样,在异步传输的情况下,每个字符都是单独同步的。 也就是说,字符中的每个二进制位是同步的,但字符和字符之间的间隙长度不是恒定的。

异步传输一般以字符为单位,无论使用的字符代码长度是多少位,在发送各字符代码时都会在前面加上“开始”信号。 其长度规定为1个符号,极性为“0”,即空号的极性。 字符代码后面附加有长度为1或2个符号的“停止”信号。 极性都是“1”。 也就是说,和信号的极性相同。 另外,为了区分串行传输的“字符”,实现了传出、接收、发送双方的代码组或字符的同步。

使用异步串行端口传输单字符信息时,数据格式有以下规则: 规定了空闲位、起始位、数据位、奇偶校验位和停止位。

其中大家的意思如下。

开始位:先发出“0”的逻辑信号,表示传输字符的开始。

数据位:紧接在开始位之后。 数据的位数为4、5、6、7、8等,构成一个字符。 通常采用ASC代码。 从最低有效位开始传输,用时钟定位。

奇偶校验位:将此位添加到数据位以使“1”的位数为偶数(偶数检验)或奇数(奇数检验),从而验证数据传输的正确性。

停止位:字符数据的结束标志。 也可以是1位、1.5位、2位的高电平。

空闲位:逻辑“1”的状态,表示当前线路上没有数据传输。

波特率:测量数据传输速度的指针。 表示每秒发送的二进制位数。 例如120字符/秒数据传输率

,而每一个字符为10位,则其传送的波特率为10×120=1200位/秒=1200波特。

注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准(依靠检测起始位来实现发送与接收方的时钟自同步的)。

异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达。在它检测到数据并做出响应之前,第一个比特已经过去了。这就像有人出乎意料地从后面走上来跟你说话,而你没来得及反应过来,漏掉了最前面的几个词。因此,每次异步传输的信息都以一个起始位开头,它通知接收方数据已经到达了,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止。按照惯例,空闲(没有传送数据)的线路实际携带着一个代表二进制1的信号,异步传输的开始位使信号变成0,其他的比特位使信号随传输的数据信息而变化。最后,停止位使信号重新变回1,该信号一直保持到下一个开始位到达。例如在键盘上数字“1”,按照8比特位的扩展ASCⅡ编码,将发送“00110001”,同时需要在8比特位的前面加一个起始位,后面一个停止位。

异步传输的实现比较容易,由于每个信息都加上了“同步”信息,因此计时的漂移不会产生大的积累,但却产生了较多的开销。在上面的例子,每8个比特要多传送两个比特,总的传输负载就增加25%。对于数据传输量很小的低速设备来说问题不大,但对于那些数据传输量很大的高速设备来说,25%的负载增值就相当严重了。因此,异步传输常用于低速设备。

同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。

异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。

区别点

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

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

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

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

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

简单形容

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

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

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

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

形象形容

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

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

所有传输介质都易受干扰和由介质本身引进的问题的影响,如电阻和信号衰减。外来干扰可以由背景噪声、大气辐射、机器甚至故障设备引起。受干扰影响的比特数随传输速率的增力而增加,因为在干扰的时帧中涉及到更多的比特。要更正这些问题,需使用检错与纠错方法。

在奇偶校验时,各组中1的数目必须总是相同(无论奇或偶),以表示一组比特正确无误地传输。逐个字符的检查叫做VRC (垂直冗余校验)。逐块检查叫做LRC(纵向冗余校验)。在传输开始之前,两个系统的奇偶校验方法必须达成一致。有偶校验(1的数目必须为偶数)、奇校验(1的数目必须为奇数)、空号奇偶校验(校验位始终为0)和传号奇偶校验(校验位始终为1)。

异步通信指两个互不同步的设备通过计时机制或其他技术进行数据传输。异步通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。基本上,发送方可以随时传输数据,而接收方必须在信息到达时准备好接收。相反,同步传输是一个精确同步的位流,其中字符的起始是由计时机制来定位的。

在大量使用异步与同步传输的大型机/终端环境中,异步传输用于传输来自用户周期性按键的终端的字符。接收系统知道等待下一次按键,即使这会花费较多的时间。相反,同步传输用作定期传输大量信息的大型系统之间的数据链路。协议为在公用电话系统上利用慢速链路而进行了优化,因此无关位将从传输中删除,并且时钟用于隔开字符。

在异步通信中,字符作为比特串编码,由起始位(start bit)、数据位(data bit)、奇偶校验位(parity)和停止位(stop bit)组成。这种用起始位开始,停止位结束所构成的一串信息称为帧(frame)。校验比特有时用于检错和纠错。传输的“起始一停止”模式意味着对于每个新字符,传输都重新从头开始,而消除在上次传输过程中可能出现的任意计时差异。当差异确实出现时,检错和纠错机制能够请求重传。

在传送一个字符时,由一位低电平的起始位开始,接着传送数据位,数据位的位数为5~8。在传输时,按低位在前,高位在后的顺序传送。奇偶校验位用于检验数据传送的正确性,也可以没有,可由老实的水蜜桃指定。最后传送的是高电平的停止位,停止位可以是1位、1.5位或2位。停止位结束到下一个字符的起始位之间的空闲位要由高电平2来填充(只要不发送下一个字符,线路上就始终为空闲位)。

异步通信中典型的帧格式是:1位起始位,7位(或8位)数据位,1位奇偶校验位,2位停止位。

在异步通信中,每接收一个字符,接收方都要重新与发送方同步一次,所以接收端的同步时钟信号并不需要严格地与发送方同步,只要它们在一个字符的传输时间范围内能保持同步即可,这意味着对时钟信号漂移的要求要比同步信号低得多,硬件成本也要低的多,但是异步传送一个字符,要增加大约20%的附加信息位,所以传送效率比较低。异步通信方式简单可靠,也容易实现,故广泛地应用于各种微型机系统中。

综上,介绍了异步传输,异步传输是数据传输的一种方式。由于数据一般是一位接一位串行传输的,在传送每个数据字符之前,先发送一个叫做开始位的二进制位。当接收端收到这一信号时,就知道相继送来7位二进制位是一个字符数据。在这以后,接着再给出1位或2位二进制位,称做结束位。接收端收到结束位后,表示一个数据字符传送结束。这样,在异步传输时,每个字符是分别同步的,即字符中的每个二进制位是同步的,但字符与字符之间的间隙长度是不固定的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。