各种总线协议
各种总线协议:
现场总线(如: Foundation Fieldbus(FF)、HART、Profibus PA、Profitbus DP、CANopen、Modbus、 ASI、I0-Link)
工业以太(如: Profinet、 EtherCAT、 SERCOSII、Powerlink、 EPA、Modbus TCP)
无线总线(如: WirelessHART、ISA100.11a、 WIA-PA、WISA、WIA-FA、IO-Link wireless)
WLAN (如: Wi-Fi, ZigBee、 Bluetooth)
蜂窝移动(如: 4G/LTE、 5G、NB-IoT、 LoRA)
1.SCI(通用异步收发器)
两线制,全双工,内部时钟提供速率,需要UART发送器接收器,两线,一根用于发送,一根用于接收。
SCI是包括UART的,UART是通信协议,SCI是接口;SCI用于串行通信,如RS422,RS485,RS232;
补充:关于RS422,RS485,RS232
RS232:全双工,单站(只能挂一个收发器),波特率20Kbps,电平是负逻辑,-15~-3V是逻辑1,对应的正的表示0,一般来说处理两线外还需要一根地线;
RS422:全双工,四线制,差分信号,抗干扰升级,逻辑0和逻辑1用电平差判断;
RS485:两线,半双工,最多可挂在128个收发器,最大速率10Mbps,差分,逻辑1差分为+2~+6(电压降低避免损坏芯片),距离可达到3000m
2.I2C
IIC最大的优势在于通过[开漏输出]和[上拉电阻两个物理特性简化了协议整体的设计和实现]
两线制长总线,半双工,用于连接微控制器和外设,由数据线SDA和SCL构成,正常速度为100kbits,高速IIC总线一般可达400kbps,多为半双工通信,多主机I2C总线系统需要将SDA和SCL两根线上拉电阻拉高。
上拉电阻:(两个连接到总线VCC的上拉电阻)因为开漏输出的特性,所以需要上拉电阻来提供高电平,当输出端输出高阻态时并且没有其它设备拉低总线时,总线被外部上拉电阻拉高,呈现高电平状态;(上拉电阻设涉及到通信速率和功耗的取舍,上拉电阻越大,信号上升时间越长,速率越低,阻值过小,低电平时功耗大,此外,电容也会影响上升时间I2C总线电容400pf限制)
开漏输出:开漏输出为低电平和高阻态两个状态,使得总线只受到输出低电平的影响,从而实现线与(当总线上只要有一个设备输出低电平,整条总线便处于低电平状态,此时总线被称为占用转态)的功能】;
程序设计时需要注意发送结束后要清除SCLK,否则设备就会认为还没有到响应结束,从而影响下一次开始时钟;
空闲状态:SDA和SCL两条信号同时处于高电平时,总线为空闲状态;
开始信号:SCL为高,SDA高到低;
结束信号:SCL为高,SDA低到高;
3.SPI
串行外设设备接口,高速(Mbits级别)可以达到30Mbits,全双工,同步的总线通信,四线制(MISO,MOSI,SCLK,CS-没有多设备的时刻可以不需要),主要应用在EEPROM,FLASH,时钟,AD转换,数字信号处理和信号解码器之间;
4.CAN总线
双线差分信号;(1Mbits<=40m);
多主站结构(协议对点的数量没有限制,正常最多110个);
每个报文的内容通过标识符辨别,网络中唯一;性
显性电平为逻辑0,因为线与的机制,0的时候表示了总线处于非空闲的状态,显性位覆盖隐性位;
NRZ编码方式-保证相同带宽的情况下,NRZ包含的信息量更大;
此图上为高速CAN(500k),下为低速容错CAN(125k);
高速CAN的容错性TJA1040:CAN_L对GND可以短路;
低速容错CANTJA1054:CAN_H和CAN_L可以分别开路短路;
?关于为什么汽车控制器很少有1M的CAN,从成本角度考虑,CAN收发器的成本会上升,此外500K足够使用了;
标准帧11位ID,扩展帧29位ID;
首位是SOF为一个显性位,逻辑0,用于数据同步;
DLC:数据长度码;
ACK:为了确保报文被至少一个节点正确接收,接收成功后置0,原本为1,回读为0后,确认被接收;
EOF:7干扰连续隐性位,表示数据结束,节点在检测到11个连续的隐性位后认为总线空闲;
数据链路层:
回读机制:总线空闲发送,发送过程中回读,判断发送位和回读位是否一致,即检测是否有别的节点发报文;
线与优先级:ID越小优先级越高;
非破坏性仲裁:并行的发送变成了串行的发送,这样的机制存在的一是一是因为在A优先级高先发送后,BCD可能会同时检测发送,此时需要检测排队;
接收多帧报文:过滤器-过滤到不要的ID;屏蔽-设置是否生效(不生效的位置,ID可变,可以检测多帧)
NRZ编码,存储量更大,但是边沿变化少,所以引入位填充;
LIN总线:
6位ID;单主节点,多从节点,最多16个节点;(基于UART/SCI接口,节省成本)
20Kbit/s;
进度表:规定帧ID的传输次序;规定帧时隙;