简介:
嵌入式常用五种通信协议为:UART、RS232、RS485、IIC、SPI。
由于这几种通信协议十分相似又有区别,所以分组记忆,红色的为一组,蓝色的为一组。
①组都有两条线,且都是异步通信没得时钟线,②组都有时钟线。
关于这五种协议网上有很多教程,也说了很多,现根据自己理解总结如下。
学习一个通信协议看三个方面:①电气接口规定 ②物理层时序图规定 ③协议层数据帧格式
一、第一组串口为核心
①串口:只有两根线:RX和TX,只能实现点对点通信,使用TTL电平,点对点就是只能两台设备通信的意思,对立面是多点通信。
②RS232:标准规定是DB25后来实际变为DB9,在工业中又变为RX、TX、GND三条线,只能实现点对点通信,使用负逻辑电平,所以单片机还需要接MAX232将串口的TTL电平转换为232的逻辑电平。其余都一样。
③RS485: 标准规定只有两条线A、B,A和B之间使用差分信号传输,所以只能实现半双工通信,主从模式,与单片机通信时也是需要外接MAX485将串口的TTL电平转换为485电平的。
二、第二组
①IIC:使用两根线CLK、SDIO,即时钟线和数据线,主从模式,也是只能实现半双工通信,同步通信,寻址靠报文。
②SPI:使用4条线,CLK、MOSI、MISO、CS,主从模式,能实现全双工通信,同步通信,但是依靠物理CS寻址。
三、五种对比表
总体来说,想要实现远距离传输只有485最合适,线少且距离远又能实现多点通信,不足的地方就是半双工。