嵌入式开发学习之--通讯的基本概念

Source

提示:本章主要了解一下通讯的基本概念,无代码


前言

  对于嵌入式开发来说,基本就是在传递信息和解析信息,根据不同的环境选择不同的通讯方式,这很重要。


提示:以下是本篇文章正文内容,下面案例可供参考

一、通讯的基本概念

1.1串行通讯与并行通讯

  按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。而并行通讯一般是指使用 8、16、32 及 64 根或更多的数据线进行传输的通讯方式。

  把通讯理解成流水线,串行就是只有一条流水线那么数据只能一个一个的发,而并行则是有8条流水线,可以同时发送8个数据。所以这两种发送方式的不同又会导致其自身的优劣性不同。

  串行线少,简单,所以成本低,抗干扰也强;并行线多,发送速度快,但是成本高,抗干扰也差。

  随着通讯速率的提高,信号干扰的问题会显著影响通讯性能,现在随着技术的发展,越来越多的应用场合采用高速率的串行差分传输,如can通讯。

1.2全双工、半双工及单工通讯

在这里插入图片描述
  理论上来说肯定是全双工最好,两者能同时收发数据这样自由度高,但是受不同通讯方式的硬件原理影响,有的无法做到,只能退而求其次,半双工,甚至是单工方式传输。这些半双工、单工传输方式虽然在这方面受到了限制,但是会在其它方面获得极大的优势。

1.3同步通讯与异步通讯

  根据通讯的数据同步方式,又分为同步和异步两种,可以根据通讯过程中是否有使用到时钟信号进行简单的区分。

  同一个时钟下的设备就是可以理解为是同步的,比如基于我们系统时钟下的设备都是同步的,板子与板子之间通讯会用一根线当做时钟线,作为该通讯的“系统时钟”,然后所有数据依赖此“系统时钟”传递。

  异步的系统时钟就是两者通讯之间没有共同的时钟线,只有数据线。这种通讯方式需要双方约定好传输速率,在数据包中加一些标识,从而实现数据的传递。

  这里多说几句,还记得刚开始写led灯的时候,提到的一个概念叫做“坐标系”,这种理念用在很多地方,通讯也是,而时钟就是坐标,如果没有时钟作为参考,那么发送的数据只是一些无序的高低电平。

1.4通讯速率

  衡量通讯性能的一个非常重要的参数就是通讯速率,通常以比特率(Bitrate)来表示,即每秒钟传输的二进制位数,单位为比特每秒(bit/s)。容易与比特率混淆的概念是“波特率”(Baudrate),它表示每秒钟传输了多少个码元。而码元是通讯信号调制的概念,通讯中常用时间间隔相同的符号来表示一个二进制数字,这样的信号称为码元。如常见的通讯传输中,用 0V 表示数字 0,5V 表示数字 1,那么一个码元可以表示两种状态 0 和 1,所以一个码元等于一个二进制比特位,此时波特率的大小与比特率一致;如果在通讯传输中,有 0V、2V、4V 以及 6V 分别表示二进制数 00、01、10、11,那么每个码元可以表示四种状态,
即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的一半。

  不过大多时候都是一个码元一个bite,所以除特殊情况外没什么区别。


总结

  这篇了解了一下通讯的基本概念,下一篇开始学习各种具体的通讯模式。