通讯相关基础概念

串行与并行通信

并行通信是多位数据同时发送,需要多根数据线;而串行通信发送数据是一位一位的发送,需要一两根数据线。
如下为串行和并行通信的简单示意图:
在这里插入图片描述

图一 串行、并行通讯示意图
串行、并行通讯的特征对比:
特征串行通讯并行通讯解释
通讯距离较远较近因为串行通讯一位一位传输,抗干扰能力强,故传输距离远
抗干扰能力较强较弱因为串行通讯一位一位传输
传输速度较慢较高
成本较低较高

全双工、半双工和单工

根据通讯数据的传输方向,可以分为全双工、半双工和单工三种方式。
全双工:有两根不同的数据线,在同一时刻,可以同时收发数据;
半双工:只有一根数据线,这根数据线既可以作发送也可作接收,不可同时收发数据,可以分时收发数据;
半工:只有一根数据线,任何时候只能向一个方向传输数据。

同步和异步

同步与异步通讯的目的是确保在数据传输过程中,保证数据传输的准确性,防止丢包。
1 同步通讯:
发送端在发送数据时,会提供一个时钟信号,按照一定的约定将数据发送出去,接收端根据发送端提供的时钟信号,以及大家的约定,接收数据。这里的约定, 比如,在时钟信号的上升沿,发送数据。需要注意的是,发送方和接收方必须使用频率一致的时钟。发送方以一定的节奏发送数据,接收方要时刻做好准备接收数据。
2 异步通讯:
发送端发送的数据包之间的间隔不均,接收方依据数据的起始位和停止位来实现数据同步。需要注意的是,发送方只发送数据,不传输时钟,发送方和接收方必须约定相同的传输率。接收方并不知道数据什么时候会到达,收发双方有各自的时钟。
3 两者区别:
1)同步通信要求接收端时钟频率和发送端时钟频率必须一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。
2)在同步通讯中,数据信号所传输的内容绝大部分是有效数据,而异步通讯会包含有帧的各种标识符,所以同步通讯的效率更高,但是其苛刻之处在于双方允许的时钟误差较小,而异步通讯则不需要时钟。

通信的速率

比特率:其是数字信号的传输速率,指每秒钟传输的二进制位数,单位为比特每秒(bit/s);
波特率:其指数据信号对载波的调制速率,它用单位时间内载波调制状态改变次数来表示,表示每秒传输的码元个数;
码元的意思是:若一个二进制位表示一个码元,如 0v 对应 0,3.3v 对应 1,此时波特率与比特率相等;若两个二进制位表示一个码元,0v 对应 00; 2v对应 01; 4v 对应 10; 6v 对应 11,此时,比特率为波特率的二倍。
两者之间的关系为:
比特率 = 波特率 X 单个调制状态对应的二进制位数

最后我想谈谈对时钟的理解。时钟是cpu处理的心脏,是单片机的脉搏。为什么这样认为,我们从计算机指令系统和单片机两个方面来谈。
首先 就计算机而言,一台可运行的计算机主要包含5个部分,分别为处理单元,控制单元,内存,输入和输出单元。计算机指令是在控制单元的控制下,从内存中取指令给处理单元处理的过程。一条指令的执行要经过以下6个步骤,分别是 1 从内存取指令,2 指令译码, 3 地址计算,4 取操作数,5 执行指令,6 存放结果。这些操作均是在时钟的控制下执行的。如果不停止时钟,从指令层次来讲,计算机永远在执行,至于如何停止指令的执行,最根本的办法是终止时钟。
其次,就计算机而言,任何外设均需要配置时钟。首先,所有寄存器都需要时钟才能配置,寄存器是由D触发器组成,只有送来了时钟,触发器才能改写值;其次,任何MCU指令执行均需要时钟的参与,每个时钟tick,系统都会处理一步数据,这样才能让工作不出现紊乱。通常,对每个外设的时钟都设置了开关,让用户可以精确的控制,关闭不需要的设备,达到节省供电的目的。因为在编写底层程序的时候,一定要先配置时钟,再配置功能模块。
通常时钟源主要来自时钟信号发生器,其主要部件是晶体振荡器,它是一种压电类设备,即输入“电”就能转换出“压力”(振荡)。而晶振产生的时钟频率不满足CPU内核执行速度,通常需要锁相环(FMPLL)来倍频以供CPU使用;对于有些外设并不需要频率太高的时钟信号,通常需要再次分频,以降低频率满足设备需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值