常用通信接口、协议:UART

        UART接口是通用异步收发器,作为一种串行通信的物理接口形式,定义有4个pin(VCC、GND、RX、TX),采用TTL电平,低电平为0(0V)高电平为1(3.3V)。

        在共地情况下,只需要连接2个设备的TX、RX,就可以实现相互的双工通信;在不需要向另一方供电的情况下,可以不接VCC

        UART采用异步方式传输数据,没有时钟信号的同步,所以收发双方需要约定相同的波特率(双方的波特率最大不允许超过10%的偏差)和帧结构,

        UART的帧结构包括:1bit的起始信号、5~9个bit的数据、0~1个bit的校验、1~2个bit的停止信号(这里的bit 是对码元的一种方便描述)

        其通信过程的时序列由以下基本单元组成:

                空闲,信号线处于逻辑1,即高电平(3.3V)为空闲状态;

                起始位,一个码元周期(与具体的波特率相关,一个码元周期的时间是在某个波特率下表达1bit数据的时间)的逻辑0,低电平(0v);

                数据位,在使用奇/偶校验时,其长度可以是5~8个码元周期;在不使用奇/偶校验时,其长度可以长达9个码元周期,但通常会设定为8个码元周期。数据位中的数据是LSB方式发送的。

                 校验位,数据位之后可以选择不同的校验方式,无校验、奇校验(数据位中1的数量为偶数,置1;数据位中1的数量为奇数,置0)、偶校验(数据位中1的数量为奇数,置1;数据位中1的数量为偶数,置0)、mark(始终为1)、space(始终为0)。

                停止位,数据结束标记,逻辑1(高电平)表示,可选的码元周期长度为:1、1.5、2,2个码元周期长度是常间的情况。

        码元周期时间的计算方式也不复杂,比如9600bps的波特率,传输一个bit数据(即1个码元周期)的时间为:1s / 9600 ≈ 104.2us

 

你可能感兴趣的:(嵌入式,嵌入式常用通信接口)