通信协议的基础知识

描述

通信的目的

将一个设备的数据传送到另一个设备,扩展硬件系统。

通信协议

制定通信的规则,通信双方按照协议规则进行数据收发。

每一种通讯协议都有硬件与软件上的要求。

常见的协议

USARTTX、RX全双工异步单端点对点
I2CSCL、SDA半双工同步单端多设备
SPISCLK、MOSI、MISO、CS全双工同步单端多设备
CANCAN_H、CAN_L半双工异步差分多设备
USBDP、DM半双工异步差分点对点

一些电平标准

电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:

TTL电平:+3.3V或+5V表示1,0V表示0

RS232电平:-3 ~ -15V表示1,+3~+15V表示0

RS485电平:两线压差+2 ~ +6V表示1,-2~-6V表示0(差分信号)

串行 并行

串口

串行就是一个一个的走,就一条道

并行就是可以一排一排的走,多车道并行

串口

全双工 半双工 单工

全双工就是,可以同时进行数据的收和发。(典型就是UART的RX与TX,不过我们在用的时候,很少用到,都是先发一段指令过去之后,再返回来要的数据)

串口

半双工就是数据的收发不能同时进行,只有一条数据线。(典型就是I2C,一条时钟线,一条数据线)

串口

单工就是只能向一个固定的方向发数据,一般就是各种遥控器,广播电视、收音机什么的。

同步 异步

简单来说 看看有没有时钟线。

如下:同步

串口

如下,异步

串口

在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些同步用的信号位,或者把主体数据进行打包,以数据帧的格式传输数据,某些通讯中还需要双方约定 数据的传输速率,以便更好地同步。

差分 单端

串口

单端就是,除了参考地之外,就只有一个信号端,也就是一根数据线。

大于VH就是1,小于VL就是0,位于中间的叫做高阻态,取决外设怎么解析, 有些硬件寄存器会表示高阻态有些表示0或者1。

优点:走线少且简单方便

缺点:抗干扰性差

串口

差分就是D+大于D-为1,D+小于D-为0。

优点:抗干扰性强;D+ /D-的差值是固定的, 不受地势差或者外部干扰。至于高低电平用D+/D-相比较得出(上面是D+大于D-为高电平),同时也不需要参考地和VH/VL阈值了!灵敏度高, 由于是比较相对差值, 振幅可以很低, 降低设备在通信上的功耗

缺点:信号线多增加布线难度和干扰

通讯速率

衡量通讯性能的一个非常重要的参数就是通讯速率,通常以**比特率 (Bitrate) **来表示,即每秒钟传输的二进制位数,单位为 比特每秒 (bit/s)

容易与比特率混淆的概念是 “波特率”(Baudrate) ,它表示 每秒钟传输了多少个码元 。而码元是通讯信号调制的概念, 通讯中常用时间间隔相同的符号来表示一个二进制数字,这样的信号称为码元 。如常见的通讯传输中,用 0V 表示数字 0,5V 表示数字 1,那么一个码元可以表示两种状态 0 和 1,所以一个码元等于一个二进制比特位,此时波特率的大小与比特率一致;

如果在通讯传输中,有 0V、2V、4V 以及 6V 分别表示二进制数 00、01、10、11,那么每个码元可以表示四种状态,即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的一半。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分