嵌入式-各个通讯协议
2022-03-05 14:58:35 20 举报
AI智能生成
登录查看完整内容
包含CAN协议、modbus协议、网络协议等
作者其他创作
大纲/内容
主设备输入/从设备输出引脚
MISO
主设备输出/从设备输入引脚
MOSI
时钟信号线
SCLK
总线
从设备选择信号线/片选信号线
CS
片选
通信
SPI
待补充
IIC
UART
总线连接优点:使用的线缆数量<=n+1
历程:为了减少线缆数量而开发了CAN-bus协议现在每辆汽车上几乎都有CAN-bus
概况
不同的CAN-bus协议,仅物理层不同
物理信号转逻辑信号,逻辑信号转为差分电平信号
CAN收发器
H:3.5V L:1.5V
显性0
H:3.0V L:3.0V
隐性1
高速
H:4V L:1V
H:1.75V L:3.25V
低速
2种标准,高度和低速
信号电平
开关断开,高电平;开关闭合,低电平;
单节点信号
多个节点接到总线上,只要一个节点为低电平,则总线就为低电平;所有节点都为高电平,总线才为高电平;
线“与”原理
按照时钟信号的沿来采样数据
同步串行
按照约定的频率进行采样,受波特率影响
异步串行
同步和异步
将信号跳变沿作为同步的时刻,误差会限制在两个跳变沿之间
同步
如何消除波特率误差带来的影响?
规定信号位相同时,每五个信号位插入一个相反位,产生跳变沿,强制进行一次同步;
如果多个相同的信号,一直没有跳变沿,误差就会不短了累积,怎么处理?
传输速率与距离
物理层
单个显性位组成
帧起始
ID[0:10] 11位ID
RTR 远程帧发送标识位,显性,1bit
标准格式
ID[0:10]
替代远程帧请求为,显性,1bit
SRR
识别符拓展位,标准显性,拓展隐性,1bit
IDE
ID[11:28] 和前11位共同组成28位ID
拓展格式
优先级:帧ID越小越高数据帧大于远程帧标准帧大于拓展帧
总线仲裁
仲裁段
IDE
r0
数据段的长度码,占4bit;BCD编码,范围0~8
DLC
相同
r1
控制段
短小的优势:实时性好,抗干扰性强
byte0~byte7
数据段
校验
CRC段
发送节点:发送1个隐性电平
帧起始到CRC段都没错,将发一个显性电平
ACK槽
1个隐性电平
ACK界定符
ACK段
7个连续的隐性位组成
帧结束
数据帧
无数据段,且RTR位为隐性,1bit;其他段分类和数据帧一样
……
和数据帧对比的区别
远程帧
发送节点计算的和接受到的CRC值不同
CRC错误
数据帧格式和合法格式不同
格式错误
发送节点在ACK阶段未收到应答
应答错误
发送节点发送时总线与发送节点电平不同
位发送错误
线缆传输信号违反“位填充”规则
位填充错误
CAN-bus错误类型
主动错误:6个显性位;被动错误,6个隐性位
错误标志
8个隐性位
错误界定符
结构
主动错误
被动错误
总线关闭
3种状态以及行为
错误帧
过载标志
过载界定符
过载帧
隔开数据帧和远程帧
作用
帧间隔
通信帧
数据链路层
应用层
通信层次
第一章
物理信号逻辑信号转换
解析协议
CAN控制器
MCU
功能电路
CAN节点电路
第二章
编程基础
第三章
第四章
CAN
485+
485-
RS232转485
RXD
TXD
GND
RS232
接口
从机地址
01读线圈
03读保持寄存器
04读输入寄存器
05写单个线圈
06写单个寄存器
15写多个线圈
16写多个寄存器
功能码
数据地址
数据
校验位
格式
modbus
TCP/IP
UDP
HTTP
HTTPS
SNMP
NTP
SNTP
DNS
网络协议
电总协议
蓝牙协议
Wifi协议
Type-C协议
Zigebee
其它协议
通讯协议
收藏
0 条评论
回复 删除
下一页