(1)USART——通用同步异步收发器 TxD,RxD,GND
全双工;同步 / 异步
移位寄存器——发送 / 接收缓冲区——MCU内核
数据帧格式:起始位、数据位、奇偶校验位、停止位
波特率=串口时钟频率/(16*USARTDIV)
(2)IIC——两线式串行总线 SCL,SDA
半双工;同步
在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据。
空闲信号——SCL和SDA都为高电平(由上拉电阻拉高)
开始信号——SCL为高电平期间,SDA由高电平到低电平的跳变
停止信号——SCL为高电平期间,SDA由低电平到高电平的跳变
应答信号——发送器每发送一个字节,就释放数据线,由接收器反馈一个应答信号。 应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器已经成功地接收了该字节。
(3)SPI——串行外围设备接口 MOSI,MISO,SCL,CS
全双工;同步
主机和从机都有一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次传输。
外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。
(4)RS485通信
半双工;异步
串行通讯标准是RS232和RS485, 它们定义了电压,阻抗等,但不对软件协议给予定义.
RS232接口的信号电平值较高(+/-12V),易损坏接口电路。
RS485用缆线两端的电压差值表示数据。逻辑“1”以两线间的电压差+(2-6)V表示;逻辑“0”以两线间的电压差为-(2~6)V表示。
RS485推荐使用在点对点网络中,线型,总线型,不能是星型,环型网络。理想情况下RS485需要2个匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般为120Ω)。没有特性阻抗的话,当所有的设备都静止或者没有能量的时候就会产生噪声。
(5)CAN通信 CAN_L, CAN_H
半双工;同步
利用两根总线的电位差判断总线电平。显性电平对应逻辑0,隐性电平对应逻辑1.
CAN通信由以下5中类型帧组成:数据帧 (发送单元向接受单元传送数据)、遥控帧 (接收单元请求数据)、错误帧 (检测出错误时通知其它单元)、过载帧 (接收单元尚未做好接收准备)、间隔帧 (分隔数据帧和遥控帧)。数据帧有7个段组成:帧起始、仲裁段、控制段、数据段、CRC段、ACK段、帧结束.
总线的仲裁:总线空闲时,最先发送的单元获得发送优先权,一但发送,其他单元无法抢占。如果有多个单元同时发送,则连续输出显性电平多的单元,具有较高优先级.
一个位有4个段:同步段、传播时间段、相位缓冲段1、相位缓冲段2.每个段又由若干Tq(位时序)组成。因此,波特率=1/位时间(各个段时间之和).