【秋招】嵌入式面试八股文 - ARM 各类通讯协议

本文为 第二章 ARM 部分,具体整篇目录可以看前言!

【秋招】嵌入式面试八股文分享

第一部分(纯八股)

1 通讯协议概述

(1)不同双工通讯:

(图片点开更清晰)

(2)同步/异步通讯:

  • 时钟线,有时钟线那就是同步通信,否则就是异步通信。

2 串口通讯协议总结

2.1 RS232物理层

(图片点开更清晰)

  • 其中RS-232提高电压后,增加了串口通信的远距离传输能力和抗干扰能力。

2.2 RS485物理层

(图片点开更清晰)

  • RS-485 通讯网络的最大传输距离可达 1200 米,总线上可挂载 128 个通讯节点,而由于 RS-485 网络只有一对差分信号线,它使用差分信号来表达逻辑,当 AB 两线间的电压差为-6V~-2V 时表示逻辑 1,当电压差为 +2V~+6V 表示逻辑 0,在同一时刻只能表达一个信号,所以它的通讯是半双工形式的。

(图片点开更清晰)

2.3 串口通讯协议

(图片点开更清晰)

  • ​起始位:为低电平;
  • 停止信号:可由0.5、1、1.5、2个逻辑1的数据位表示
  • 位0~位7:有效数据可被约定为 5—8位长
  • 校验位:奇校验;偶校验

2.4 波特率

(图片点开更清晰)

  • fPLCK为usart时钟,USARTDIV是存放在波特率寄存器中的一个无符号定点数。其中 DIV_Mantissa[11:0]位定义USARTDIV 的整数部分,DIV_Fraction[3:0]位定义USARTDIV 的小数部分
  • 我们知道USART1使用APB2总线时钟,最高可达72MHz,其他USART的最高频率为36MHz。我们选取USART1作为实例讲解,即fPLCK=72MHz。为得到 115200bps 的波特率,此时:​

  • 解得USARTDIV=39.0625,可算得 DIV_Fraction=0.0625*16=1=0x01,DIV_Mantissa=39=0x27,即 应该设置 USART_BRR 的值为 0x271。

2.5 波特率与比特率的区别

  • 波特率是指单位时间内传送二进制数据的位数,单位用bps(位/秒)表示,记作波特
  • 比如:波特率为9600,则1秒传送9600位,一个字节是8位,也就是9600/8=1200个字节。
  • 比如在异步串行传输系统中,若字符格式:1位起始位,8位数据位,1个校验位,1个终止位,假设波特率为1200bps。
  • 有效数据位8位,传送一个字符为1+8+1+1=11,比特率为:1200*(8/11)

3  I2C通讯协议总结

3.1 物理层

注意:

  • 开漏输出:高电平无驱动能力,需要借助外部上拉输出高电平。
  • 因为I2C协议是支持多个主设备与多个从设备在一条总线上的,此时就会有多个GPIO口连接在同一条总线上,就势必会出现输出高、低电平不统一的情况,如果采用推挽输出时,就可能会出现某个GPIO的Vcc和GND连接在一起造成短路的情况,当你采用开漏输出时,因为有上拉电阻的存在就可以避免这一问题的出现。
  • 总线通过上拉电阻接到电源。当I2C设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。
  • 多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用总线。
  • SDA线在输入时配置成上下拉输入模式。
  • 数据传送过程中,先传送最高位(MSB),每一个被传送的字节后面都必须跟随着1位应答位(即一帧共有9位长)。

3.2 协议层

(1) 主机写数据给从机

  • 这些图表示的是主机和从机通讯时,SDA 线的数据包序列。
  • 其中S表示由主机的 I2C 接口产生的传输起始信号(S),这时连接到I2C总线上的所有从机都会接收到这个信号。
  • 起始信号产生后,所有从机就开始等待主机紧接下来广播的从机地址信号(SLAVE_ADDRESS)。
  • 在 I2C 总线上,每个设备的地址都是唯一的,当主机广播的地址与某个设备地址相同时,这个设备就被选中了,没被选中的设备将会忽略之后的数据信号。
  • 根据 I2C 协议,这个从机地址可以是7位或1。:

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

双非本,211硕。本硕均为机械工程,自学嵌入式,在校招过程中拿到小米、格力、美的、比亚迪、海信、海康、大华、江波龙等offer。八股文本质是需要大家理解,因此里面的内容一定要详细、深刻!这个专栏是我个人的学习笔记总结,是对很多面试问题进行的知识点分析,专栏保证高质量,让大家可以高效率理解与吸收里面的知识点!掌握这里面的知识,面试绝对无障碍!

全部评论
有需要改进的地方欢迎大家提意见
点赞 回复 分享
发布于 05-07 18:53 山东

相关推荐

04-27 08:59
常州大学 Java
牛客139242382号:《两门以上汇编语言》
点赞 评论 收藏
分享
评论
4
31
分享

创作者周榜

更多
牛客网
牛客企业服务