常见通信协议问题整理


前言

通信协议相关问题整理,后续遇到新的问题会再添加。


一、IIC

1、SCL 和 SDA 为什么要上拉?

答:
1、SCL 和 SDA 都被配置成了开漏输出,可以实现线与的功能。
2、给 SCL 和 SDA 一个确定的状态,防止被误启动。
3、接上拉的开漏输出结构可以作为外部输入 IO

2、IIC 的总线仲裁机制?

答:
1.“线与机制”。多主机时,总线具有“线与”的逻辑功能,即只要有一个节点发送低电平,总线上就变现
为低电平。
2.SDA 回读机制。总线被启动后,多个主机在每发送一个数据位时都要对自己的输出电平进行检测,
只要检测的电平与自己发出的电平一致,就会继续占用总线。
3.低电平优先机制。由于线与的存在,当多主机发送时,谁先发送低电平谁就会掌握对总线的控制权。


二、SPI

1、介绍下SPI?

答:SPI ,是串行外围设备接口,是一种高速,全双工,同步的通信总线。常规只占用四根线,节约了芯片管脚,PCB的布局省空间。现在越来越多的芯片集成了这种通信协议,常见的有EEPROM、FLASH、AD转换器等。

2、SPI最大传输速率受什么影响?

答:
1.SPI的最大时钟频率
2.CPU处理SPI数据的能力
3.输出端驱动能力(PCB所允许的最大信号传输速率)


三、串口

1、USART 和 UART 的区别?

答:USART 除了支持 UART 全双工的异步通信外,还支持半双工的同步通信。
USART 是一种通用同步/异步收发器,可以在同步或异步模式下工作,并提供了更多的功能扩展选项。
UART 则是一种通用的异步收发器,仅支持异步模式。

2、UART 串口要配置哪些参数?

答:配置波特率、数据位个数、奇偶校验、停止位长度

3、UART时序?

答:一位起始位,低电平。
5~8 位数据位。
奇校验、偶检验、无校验。
0.5、1、1.5、2 位停止位,高电平。

4、RX 为什么要上拉?

答:因为读取过程以低电平作为起始信号,上拉可以防止被噪声影响信号传输。

5、UART 怎么传输浮点数?

答:将其转为整形后分字节发送,接收方接收后再解码。

6、串口怎么接收不定长数据?

答:
1、将数据打包,定义数据中不会出现的值做帧头和帧尾。
2、利用滴答定时器进行计时,当一个数据接收完后,开始计时,若经过3.5个字符传输需要的时间都没有数据传输过来,说明这一帧数据接收完成了。
3、使用串口空闲中断+DMA传输模式。在串口接收到数据后,如果在一段时间内没有接收到新数据,就会发生空闲中断,将一整帧数据利用DMA直接传输到储存器中。

7、软件怎么实现自动波特率检测?

答:设置一个“暗号“,如 0x7F,通过测定特定信号跳变的时间来换算.


四、CAN

1、CAN 总线的优势:

答:
1.数据传输速度较高,可达到 1Mbps.
2.采用差分数据线,抗干扰能力强。
3.多节点通信模式,大幅减少单点通信线束成本。
4.具有错误帧诊断功能,通信可靠度较高。


五、

1、终端电阻?

答:1、在模拟电路中,终端电阻被用于减少信号的反射和干扰,提高信号的质量和稳定性。
2、在高速电路设计中,终端电阻被用于提高信号的匹配度和信号传输的稳定性。
3、在射频电路中,终端电阻被用于防止信号的反射和干扰,提高信号的传输质量和稳定性。

2、为什么 RS485 和 CAN 总线的终端电阻一般是 120Ω?

答:终端电阻可以使信号的反射降低,提高信号传输的质量和稳定性。在数字通信和网络设备中,常常使
用的终端电阻值是 120 欧姆。
在电磁波传输中,信号的传输速度是有限的,因此信号在传输过程中会受到反射,这会导致信号的干扰和衰减。为了减少这种干扰和衰减,我们可以使用终端电阻来吸收信号的反射。当信号到达终端电阻时,终端电阻会将信号吸收,从而防止信号反射。这样,信号的传输质量和稳定性就能得到提高。

3、什么是异步传输和同步传输?

答:同步传输是按照固定时间间隔传输数据,发送和接收节点之间保持时钟同步。
异步指双方不需要共同的时钟,接受方不知道发送方什么时候发送,所以在发送信息中要有起始位。
1.同步传输的主机和从机使用的时钟要同步。如 IIC、SP
2.同步传输的是数据帧。异步传输的是字节,(带起始位和停止位)
3.同步传输的传输速率比异步传输块。

4、UART、IIC、SPI 对比的优缺点?

答:1、UART 适用于简单的点对点通信,如串口调试或与外部设备进行简单的数据传输。
2、I2C 适合于连接多个设备、短距离通信的场景,如连接传感器或外围设备。
3、SPI 适用于高速传输、需要连接多个外设的场景,如存储器、显示器和传感器等。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值