1、SPI
(1)SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线
(2)四线:
SDO/MOSI – 主设备数据输出,从设备数据输入;
SDI/MISO – 主设备数据输入,从设备数据输出;
SCLK – 时钟信号,由主设备产生;
CS/SS – 从设备使能信号,由主设备控制
(3)SPI通信有4种不同的模式,不同的从设备可能在出厂是就是配 置为某种模式,这是不能改变的;但我们的通信双方必须是工作在同一模式下,所以我们 可以对我们的主设备的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来 控制我们主设备的通信模式,具体如下:
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1
它们的区别是定义了在时钟脉冲的哪条边沿转换(toggles)输出信号,哪条边沿采样输入信号,还有时钟脉冲的稳定电平值(就是时钟信号无效时是高还是低)。
2、IIC
(1)I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。
(2)数据传输
当SCL保持“高”时,SDA由“高”变为“低”为开始条件;
当SCL保持“高”且SDA由“低”变为“高”时为停止条件;
(3)SDA线上的数据在时钟“高”期间必须是稳定的,只有当SCL线上的时钟信号为低时,数据线上的“高”或“低”状态才可以改变。输出到SDA线上的每个字节必须是8位,每次传输的字节不受限制,但每个字节必须要有一个应答ACK。
(4)一般情况下,数据线SDA和时钟线SCL都是处于上拉电阻状态。因为:在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。
(5)并且能够以10Kbps的最大传输速率支持40个组件。
3、USART
(1)USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。
(2)它在USART基础上裁剪掉了同步通信功能,只有异步通信。简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用的串口通信基本都是UART。
(3)stm32 UART
数据位的长度8个位 ,设置校验位“无,设置1个停止位,波特率
4 485
计算机通过232、485转换器,依次连接多台485设备,采用轮询方式对总线上的设备轮流进行通信。
5、CAN
CAN 总线的主要特点有:
( 1) CAN 为多主工作方式 ,网络上的任意节点在任意时刻都可以主动地向其他节点发送信息 ,不分主从 ,方式灵活。
( 2) CAN 网络节点可以安排优先级顺序 ,以满足和协调各自不同的实时性要求。
( 3) 采用非破坏性的总线仲裁技术 ,多点同时发送信息时 ,按优先级顺序通信 ,节省总线冲突仲裁时间 ,避免网络瘫痪。
( 4) 可以进行点对点、一点对多点和全域广播方式传递信息。
( 5) 通信速率最高可达 1M bps( 40m以内 ) ,最长传递距离达 10km(速率为 5kbps以下 )。
( 6) 网络节点目前可达 110个 ,报文标志符 2 032种 ( CAN2. 0A) ,扩展标准 ( CAN2. 0B)中报文标志符几乎不受限制。
( 7) 短帧数据结构 ,传输时间短 ,抗干扰能力强 ,检错效果好。
( 8) 通信介质可以用双绞线、同轴电缆或光纤。
( 9) 网络节点在错误严重的情况下可以自动关闭输出功能 ,脱离网络。
( 10) 实现了标准化、规范化 (国际标准 ISO11898)。
CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻,但是为什么是120欧姆呢?那是因为电缆的特性阻抗为120欧。