嵌入式第二轮

第一题

2小题

2.1为了实现通信,需要找两个GPIO⼝,该怎么配置

1. 设定PB11为SDA数据线,设定PB10为SDA数据线。

2. 然后设置PB11 PB10均为开漏输出模式(在输出模式下,输入模式也是有效的,一个端口只

能由一个输出,但可以有多个输入)

3. 在完成I2C基本时序单元的时候控制PB11 PB10 完成相应的操作

2.2为了让单⽚机和MPU6050互相交流,需要怎么改变这两个

GPIO⼝的电平

答:I2C规定了基本的时序单元(6个):起始条件,终止条件,发送一个字节,接收一个字节,发

送应答与接收应答

起始条件 终止条件

答:1起始条件:SCL高电平期间,SDA从高电平切换为低电平

2终止条件:SCL高电平期间,SDA从低电平切换为高电平

发送一个字节& 接收一个字节

答:单片机与mpu6050通过SDA与SCL相互联系。主机(单片机)设置SCL为低电平,当接收数据

时:从机改变SDA的值,主机在SCL高电平期间读取SDA的电压值,确定0/1;当发送数据时,主机

改变SDA的值,从机在SCL高电平期间读取SDA的值,确定0/1

发送应答 接收应答

答:发送应答:主机改变SDA的值,0表示继续发送,1表示不发送

接收应答:主机在发送完一个字节后,主机设置SDA为高电平,如果成功响应,从机会把SDA

拉回低电平,如果失败,则会SDA

变为高电平

[代码部分](##代码部分)

2.3 按照IIC通信的规则,有规律的改变这两个GPIO⼝的电平

I2C时序:指定地址读,指定地址写,当前地址读

指定地址写

  1. S代表start 即起始条件(SCL高电平时,SDA为低电平)
  2. 后紧接发送一个字节,前7位代表从机地址,第8位表示读写位,告诉从机进行写入还是读取
    的操作。(0代表写,1代表读)
  3. RA代表接收应答(0表示接收成功)
  4. 第二个字节代表操作从机的(0x19位)寄存器。RA代表接收应答
  5. 第三个字节代表写入的具体的值。RA代表接收应答。
  6. P即stop代表终止条件。

当前地址读

从机中所有的寄存器被分配到一个线性区域中,有一个单独的指针变量指示其中一个寄存器。每写
入或读出一个字节,指针自增一次。

指定地址读

  1. 第一部分使指针指向0x19位
  2. Sr代表(Start Repeat)重复起始条件
  3. 重新寻址,指定地址读。
  4. 主机读取数据结束时,在最后一个字节加上非应答位,告诉从机不要发送了。

第3小题

3.1为了让该芯⽚正常运⾏,需要配置哪些寄存器
电源管理寄存器1,电源管理寄存器2,采样分频寄存器,配置寄存器,陀螺仪配置寄存器,加速度
配置寄存器。

3.2这些寄存器应该被写⼊什么值
需要这个功能写0,不需要写1.

电源管理寄存器1

Bit7是设备复位,Bit6是睡眠模式,Bit5是循环模式,Bit3是温度传感器失能,最后三位选择时钟
(如下图,通常推荐陀螺仪时钟)

电源管理寄存器2

前两位是循环模式唤醒频率,后六位是每个轴的待机位
采样分频寄存器

配置寄存器

前5位是外部同步,后面3位是数字低通滤波器
陀螺仪配置寄存器

前面3位为自测使能,紧接两位是量程选择

加速计配置寄存器

前三位自测使能,紧接两位,量程选择,最后两位是高通滤波器。

3.3为了获取该芯⽚的测量值,需要读取哪些寄存器
加速度寄存器x y z轴 陀螺仪寄存器x y z轴 ,可能的话也需要磁场传感器xyz轴 与气压传感器

第二题

第一小题
1.简要了解通信接⼝,整理出STM32上常⻅的通信的外设,了解全/半双⼯、同/异步、单端/差分等基本概念,并指出蓝⽛模块与单⽚机交流所需要的通信协议

  1. 通信接口:是指用于连接不同设备或系统之间的硬件或软件接口,它定义了数据传输的物理连接和电气特性。通信接口规定了信号引脚的数量、排列方式、电压电平等,确保设备之间能够正确连接并进行数据的传输。
    如:RS-232定义了数据传输的物理连接和电气特性。(通信接口决定我们用嘴还是手势
    交流,通信协议决定我们每个字或姿势的含义)。
    2.整理出STM32上常⻅的通信的外设
    UART(通用同步/异步串行收发器),SPI(串行外围接口),I2C(双线制串行总线),CAN(控制器局域网),USB(通用串行总线),Ethernet(以太网接口)
    3.了解全/半双⼯、同/异步、单端/差分等基本概念
    全双工,通信双方能够同时进行双向通信,比如打电话可以同时说话跟接听
    半双工,通信的两个节点在不同的时间段内交替进行数据传输,比如对讲机,必须按下按
    钮才可以说话。
    同步,数据传输或操作遵循一个固定的时钟信号,按照严格的时序进行。发送方和接收方
    必须在相同的时钟信号下进行配合,比如I2C通信中SCL控制什么时候读数据
    异步,数据传输或操作不依赖于一个固定的时钟信号,而是通过使用起始位、数据位和停
    止位等进行同步。
    单端,引脚的高低电平都是对GND的电压差,然而,由于存在干扰和噪声等问题,单端传
    输容易受到信号品质的影响
    差分,靠两个差分引脚的电压来传输信号。电信号使用一对相互互补的导线进行传输。传
    输过程中,电信号的差值表示信息。差分传输具有抗干扰能力强、抗噪声能力高的特点
    4.蓝⽛模块与单⽚机交流所需要的通信协议
    USART

其他题目:

github仓库

一个努力学习的憨憨
最后更新于 2024-04-30