文章目录
嵌入式面试–通信协议问题回答
-
波特率、比特率、传输速率概念:
-
波特率:信号每秒状态变化的次数,是衡量串行通信速率的单位。
-
比特率:数据传输的速率,通常以每秒位数(bps)来衡量。
-
传输速率:数据在通信媒介中传输的速率,通常与比特率相同,但有时也包括数据压缩等其他因素。
-
- 波特率:是信号传输速率的度量,表示单位时间内信号状态变化的次数。对于二进制信号,一个状态变化对应一个比特的传输,但更复杂的编码可能会改变这个比例。
- 比特率:是数据传输速率的度量,表示单位时间内传输的比特数。比特率通常等于或小于波特率,取决于编码方式。
- 传输速率:通常指数据在通信媒介中的实际传输速率,它考虑了所有传输的比特,包括数据比特和用于同步、控制等的额外比特。
-
2、为什么UART的传输需要起始位?:
- 起始位用于标识一个新数据位的开始,确保接收设备能够同步并正确地识别数据位。
- 起始位用于同步,它标志着一个新数据帧的开始。由于UART是异步通信,接收器需要一个明确的信号来确定数据帧的开始,以便正确地对齐并接收后续的数据位。
3、串口异步通信的字符帧格式由哪几部分组成?:
- 一个典型的异步通信帧包括:起始位(通常为0)、数据位(5到9位,常见为8位)、可选的奇偶校验位(1位),和停止位(1到2位,常见为1位)。
- 起始位、数据位、可选的奇偶校验位和停止位。
4、I2C上拉电阻的作用:
- 为I2C总线的两根信号线(SDA和SCL)提供上拉电压,确保在没有数据传输时,线路保持高电平状态,防止线路上的浮动。。
5、为什么IIC需要漏极开路:
-
I2C使用漏极开路是为了实现多个设备共享同一总线。每个设备通过内部的晶体管控制其数据线,只有当需要将线路拉低时才激活晶体管,否则线路通过上拉电阻保持高电平。
-
- 漏极开路(Open Drain)允许多个设备共享同一总线,通过外部上拉电阻实现高电平,而低电平由设备内部的漏极开路输出驱动。
6、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?:
-
“线与”逻辑是指多个设备的输出端连接在一起,只有当所有设备的输出都为高电平时,总线才为高电平。任何一个设备输出低电平,总线就为低电平。硬件上,这要求设备的输出能够承受其他设备或上拉电阻产生的高电平。
-
- "线与"逻辑是指多个输出端通过电阻连接到一起,形成一个总线,任何设备输出低电平都会将总线拉低。硬件特性上要求设备输出能够承受低电平输入,并且具有足够的驱动能力。
7、SPI的工作流程:
-
SPI通信包括主设备和从设备。主设备生成时钟信号(SCK),并通过主输出从输入(MOSI)线发送数据,同时通过主输入从输出(MISO)线接收数据。从设备根据时钟信号的边缘变化发送或接收数据。
-
- 主设备通过MOSI线发送数据,通过MISO线接收数据,同时通过SCK线控制时钟信号,通过CS线选择特定的从设备。
8、SPI的几种工作模式:
- SPI有四种工作模式,主要区别在于数据采样和时钟信号的相位关系。
- 模式0是数据在时钟上升沿采样,下降沿改变;
- 模式1是数据在下降沿采样,上升沿改变;
- 模式2和模式3分别对应模式0和模式1的时钟极性反转。
9、UART、IIC、SPI三种通讯方式区别:
- UART是点对点异步串行通信,使用起始位和停止位进行帧同步。
- I2C是多主机同步串行通信,使用地址进行设备选择。
- SPI是主从模式同步串行通信,数据传输依赖于主设备的时钟信号。
10、RS232通信、RS485通信、RS422通信的差异:
-
RS232是单端信号,通常用于短距离通信。
-
RS485使用差分信号,支持多点通信,抗干扰能力强,适用于长距离通信。
-
RS422与RS485类似,也是差分信号,但通常只支持点对点通信。
-
RS485支持多点通信,RS422支持单点到多点通信。RS485和RS422比RS232有更远的传输距离和更强的抗干扰能力。
11、CAN通信概念、什么类型的通信线路、支持多长的通信距离:
- CAN是控制器局域网络,使用差分信号传输,支持多点通信。
- 物理介质可以是双绞线或光纤,支持长达几十公里的通信距离,具体取决于数据速率和物理介质。
12、CAN终端电阻的作用:
- 终端电阻用于匹配总线的特性阻抗,通常在总线的两端各安装一个120欧姆的电阻,以减少信号反射和回声。
13、USB2.0、USB3.0传输速率多少、阻抗控制多少欧姆:
- USB 2.0的理论最大传输速率为480 Mbps,USB 3.0为5 Gbps。
- USB电缆的特性阻抗为90欧姆,需要通过适当的线径和屏蔽来控制。
14、谈谈对PCIE和PCI理解:
- PCI是早期的计算机总线接口,用于连接主板和各种扩展卡。
- PCIe是PCI的后续技术,使用高速串行连接,支持更高的数据传输速率和更灵活的拓扑结构。
15、PCIe 3.0采用哪种编码:
-
PCIe 3.0使用8b/10b编码,这是一种用于在传输过程中保持DC平衡的编码方式,其中每8比特的数据被编码为10比特的符号。
-
PCIe 3.0使用8b/10b编码,有效数据传输率为每8个数据比特10个比特,包括冗余和校验位。
16、OSI与TCP/IP模型:
- OSI模型是一个理论上的七层网络模型,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
- TCP/IP模型是一个实际应用的四层模型,包括链路层、网络层(互联网层)、传输层和应用层。尽管TCP/IP模型没有明确区分会话层、表示层和应用层,但它在互联网中得到了广泛应用。