真实面经题目 · 原创解析
串口、IIC、SPI 通信特点有什么区别?
这题考常见板级串行通信的选型能力,回答要按时钟、拓扑、速度、引脚、可靠性和典型场景对比。
真实面经题目 · 原创解析
这题考常见板级串行通信的选型能力,回答要按时钟、拓扑、速度、引脚、可靠性和典型场景对比。
我会从通信模型回答。串口通常指异步全双工点对点通信,只需要 TX/RX 和公共地,没有共享时钟,双方靠约定波特率、起始位、停止位和可选校验位同步,简单、距离相对灵活,但速率和总线扩展能力有限。双线同步总线用时钟线和数据线,开漏加上拉,靠地址区分多个从设备,线少、适合板内低中速外设,但受上拉、电容和地址冲突影响。四线同步总线由主机给时钟、片选和收发数据线,通常全双工、速率高、协议开销小,适合 flash、ADC、显示屏等高速外设,但占用引脚多、每个从设备通常要片选。选型时看带宽、设备数量、距离、抗干扰、引脚资源和软件复杂度。
串口靠双方约定波特率,是异步通信;双线和四线同步总线都有主机提供时钟,接收端按时钟采样。同步方式决定了速率上限、误差来源和调试重点:异步串口看波特率误差,同步总线看时钟相位、边沿和线上的电气质量。
串口多用于点对点,最小两根信号线;双线总线用时钟和数据两根线挂多个设备,通过地址寻址;四线总线通常需要时钟、主出从入、主入从出和每个从设备片选。设备越多,双线总线更省引脚,四线总线则更容易被片选数量限制。
双线总线常用开漏输出和上拉电阻,高电平上升时间受电阻和总线电容限制,因此线长、设备数和速率要一起评估。四线总线多为推挽输出,上升下降沿快、速率高,但线多、片选时序和模式配置更容易出错。串口实现简单,但没有内建寻址和复杂错误恢复。
调试日志、模块通信和低速点对点常用串口;传感器、RTC、PMIC 这类寄存器型低速外设常用双线总线;外部 Flash、屏幕、高速 ADC/DAC 更适合四线同步总线。面试时最好补一句:不是哪个协议绝对更好,而是带宽、引脚、拓扑和可靠性要求不同。
因为它依赖开漏上拉形成高电平,总线电容越大上升越慢;四线同步总线多为推挽驱动,边沿更快,协议开销也更少。
可以通过额外协议、地址字段或物理层转换实现,但标准异步串口本身不提供总线仲裁和从设备寻址,工程上要自己处理冲突和帧格式。
先用示波器或逻辑分析仪确认电平、时序、速率和帧格式,再对照驱动日志、错误码、重试次数和协议状态机,区分硬件连接、配置参数、总线仲裁和软件缓冲问题。