登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 软考学苑 > 软考历年真题 > 嵌入式系统设计师-真题 >> 正文
正文
2015 年 11 月嵌入式系统设计师 下午卷试题解析(一)【尚大教育】
来源:尚大教育-软考考试 作者:尚大教育 时间;2018-12-18 15:27:40 点击数: 尚大软考交流群:376154208
阅读以下关于某四轴飞行器系统设计的说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏。
【说明】在某四轴飞行器系统设计中利用惯性测量单元(IMU)、PID 电机控制、2.4G 无线遥控通信和高速空心直流电机驱动等技术来实现一个简易的嵌入式四轴飞行器方案。整个系统的设计包括飞控板和遥控板两部分,两者之间采用 2.4G 无线模块进行数据传输。飞控板
阅读以下关于某四轴飞行器系统设计的说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏。
 

【说明】

在某四轴飞行器系统设计中利用惯性测量单元(IMU)、PID 电机控制、2.4G 无线遥控通信和高速空心直流电机驱动等技术来实现一个简易的嵌入式四轴飞行器方案。整个系统的设计包括飞控板和遥控板两部分,两者之间采用 2.4G 无线模块进行数据传输。飞控板采用高速单片机 STM32 作为处理器,采用含有三轴陀螺仪、三轴加速度计运动传感器 MPU6050 作为惯性测量单元,通过 2.4G 无线模块和遥控板进行通信,最终根据 PID 控制算法以 PWM 方式驱动空心电机来控制目标。
 
图 2-1 为李工设计的系统总体框图。飞控板和遥控板的核心处理器都是采用
STM32F103。飞控系统的惯性测量单元采用 MPU6050 测量传感器,MPU6050 使用
IIC 接口,时钟引脚 SCL、数据引脚 SDA 和数据中断引脚分别接到 STM32 的对应管脚。图 2-2 为该部分原理图。




遥控板采用 STM32 单片机进行设计,使用 AD 对摇杆模拟数据进行采集,采用 NRF2401 无线模块进行通信,图 2-3 为该部分原理图




 

【问题 1】(4 分)

由图 2-1 系统总体框图设计可知,飞控板和遥控板之间是用 2.4G 无线通信进行数据传输,各自主处理器和无线通信模块之间是 SPI 接口。同时,在飞控板上, 处理器和惯性测量单元是通过 IIC 进行数据交互。以下关于 SPI 接口和 IIC 接口的描述中,正确的是:(1)(2)(3)(4)
  1. SPI 和 IIC 都是主从式通信方式
  2. SPI 的数据收发线是各自独立的,IIC 也是同样C SPI 和 IIC 的传输都不需要片选控制
D IIC 总线是一个多主机的总线,可以连接多于一个能控制总线的器件到总线E IIC 总线包括标准模式,快速模式和高速模式,相互之间的传输速度差异并不大
  1. 在原理设计中,到底采用 SPI 和 IIC 哪种方式,需要依据外设芯片的接口而定
  2. SPI 是一种环形总线结构
  3. 在 IIC 总线上,可以有多个从设备具有相同的 IIC 地址
 

【问题 2】(4 分)

  1. 图 2-2 飞控板部分原理图中,R4 的作用是什么?
  2. 图 2-3 遥控板部分原理图中,C11、C12、C13、C14 的作用是什么?
 

【问题 3】(4 分)

在 STM32 处理器的 PWM 使用过程中,最为关键的就是 PWM 的频率和占空比。PWM 的频率依赖于 PWM 模块的参考时钟频率,自动装载寄存器 ARR 的值加 1 之后在乘以参考时钟频率即可得到 PWM 的频率。PWM 的占空比是用捕获比较寄存器 CCR 和自动装载寄存器 ARR 获得的,PWM 占空比=CCR/(ARR+1)。
假设当前飞控板的 STM32 处理器 PWM 模块的参考时钟频率为 1KHz,要将 PWM 模块的频率设置为 100KHz,则 ARR 寄存器的值应设置为多少?如果此时占空比希望设置为 20%,那么 CCR 寄存器的值应该设置为多少?
 

【问题 4】(3 分)

飞控系统每 0.5 毫秒进行一次定时器的触发,每次中断都会检查一次无线模块数
据的接收,以确保飞控系统控制信息的实时性。每 2 次中断(即 1 毫秒)读取一次 MPU6050 单元的数据,并进行算法处理。每 4 次中断(即 2 毫秒)通过计算当前飞控板系统的姿态,结合遥控端的目标姿态,根据两者的差值通过 PID 控制算法对各个电机进行调速控制。每 200 次中断(即 100 毫秒)采集一次电池电压, 然后通过无线模块把电池电压发送给遥控板,以告知操作人员当前电压的大小。图 2-4 为飞控系统软件实现的简要流程图,根据以上描述,请补全图 2-4 中的空
(1)~(6)处的内容。


 

问题 1 技术分析

本问题重点考察 IIC(I2C)和 SPI 总线的性质和应用。
 

1、SPI 总线

SPI 总线是由 Motorola 公司开发,用在微控制器和外围设备芯片之间的串行总线。
SPI 有 4 根信号线,分别是:
  1. MISO– 主设备数据输入,从设备数据输出;
  2. MOSI – 主设备数据输出,从设备数据输入;
  3. SCLK – 时钟信号,由主设备产生;
 
 
 
 
  1. CS – 从设备使能(片选)信号,由主设备控制。
 
SPI 分为主设备和从设备。在通信时,主设备通过 SCLK 端口发送时钟信号使从设备与主设备同步,然后通过 CS 端口发送片选信号将参与通信的从设备使能, 最后通过 MOSI 和 MISO 端口实现主从设备间的双向通信。
 

2、IIC(I2C)总线

IIC 总线是由 Philips 公司开发,用在微控制器和外围设备芯片之间的串行、双向、低速的总线。有 2 根信号线,分别是:
  1. SDA– 串行数据线;
  2. SCL –串行时钟线;
 
IIC 有 3 种速度模式:
标准模式:100Kb/S;快速模式:400Kb/S;高速模式:3.4M/S
 
IIC 分为主设备和从设备。一条 IIC 总线上可以连接多个设备,每一个设备都有唯一的地址以供识别,而且各器件都可以作为发送或者接收设备。由于只有
1 根数据线,当多个设备发起数据传输时,会通过冲突检测和仲裁的方式解决。每一个 IIC 设备有如下 4 种操作模式:
  1. 主发送模式:当前设备作为主设备,往从设备发送数据。
  2. 主接收模式:当前设备作为主设备,接收从设备发来的数据。
  3. 从发送模式:当前设备作为从设备,往主设备发送数据。
  4. 从接收模式:当前设备作为从设备,接收主设备发来的数据。
 

问题 1 问题分析

问题 1:由图 2-1 系统总体框图设计可知,飞控板和遥控板之间是用 2.4G 无线通信进行数据传输,各自主处理器和无线通信模块之间是 SPI 接口。同时,在飞控板上,处理器和惯性测量单元是通过 IIC 进行数据交互。以下关于 SPI 接口和
IIC 接口的描述中,正确的是:(1)(2)(3)(4)。A SPI 和 IIC 都是主从式通信方式
  1. SPI 的数据收发线是各自独立的,IIC 也是同样
 
  1. SPI 和 IIC 的传输都不需要片选控制
  2. IIC 总线是一个多主机的总线,可以连接多于一个能控制总线的器件到总线E IIC 总线包括标准模式,快速模式和高速模式,相互之间的传输速度差异并不大
  1. 在原理设计中,到底采用 SPI 和 IIC 哪种方式,需要依据外设芯片的接口而定
  2. SPI 是一种环形总线结构
  3. 在 IIC 总线上,可以有多个从设备具有相同的 IIC 地址
 

分析:问题 1 考察了 IIC(I2C)SPI 总线的性质和应用,只要牢记 SPI 和 IIC 的标准和使用方法,对比题目中的描述一个个的分析。就可以解决这一题。

 
描述:A SPI 和 IIC 都是主从式通信方式分析:
主从通信方式有两个特点:
1、主设备提供时钟使得从设备与之同步。
2、主设备决定数据收发。
SPI 和 IIC 在通信时都会区分主从设备,并且有主设备为从设备提供时钟。而且
SPI 和 IIC 都是由主设备决定数据的收发。所以 SPI 和 IIC 是主从通信方式。所以 A 正确
 
描述:B SPI 的数据收发线是各自独立的,IIC 也是同样分析:
SPI 的两根信号线:MISO– 主设备数据输入,从设备数据输出;MOSI – 主设备数据输出,从设备输入。所以 SPI 的数据线是各自独立的。
IIC 只有一根数据线:SDA,它是通过不同的工作模式来区分当前线是收数据还是发数据。所以 IIC 收发线是一条线。
所以 B 错误
 
描述:C SPI 和 IIC 的传输都不需要片选控制分析:
SPI 接口发送数据时,需要由主设备控制从设备的片选信号来决定该从设备是否应该接受数据,所以 SPI 需要片选控制
IIC 接口没有片选端,它是通过设备地址指定需要接收数据的设备,所以 IIC 不需要片选控制
所以 C 错误。
 
描述:D IIC 总线是一个多主机的总线,可以连接多于一个能控制总线的器件到总线
分析:IIC 是一个多主机总线,可以连接多于一个能控制总线的器件到总线。但是由于只有一条数据传输线,当多个主机同时需要传输数据时,就出现了抢占的情况。
所以 D 正确。

E IIC 总线包括标准模式,快速模式和高速模式,相互之间的传输速度差异并不大。

分析:

IIC 总线在标准模式下传输速度为 100Kb/s,在快速模式下为 400Kb/s,在高速模式下速度为 3.4Mb/S。不同模式之间的速度差距非常大。
所以 E 错误。
 
描述:F 在原理设计中,到底采用 SPI 和 IIC 哪种方式,需要依据外设芯片的接口而定。

分析:

这段描述是正确的。因为由于 SPI 是 4 信号线,可是同时收发数据,而 IIC 是 2 信号线,同一时间只能收数据或者发数据,实际情况下到底用哪一款总线肯定需要依据外设芯片的接口而定。
所以 F 正确。
 
描述:G SPI 是一种环形总线结构分析:
环形总线结构的特点是:总线上的设备首尾相连形成闭环通信线路,且其中任意一个设备都能够收发数据。
SPI 总线可以将 MOSI 连向下一个设备的 MISO,将 MISO 连向上一个设备的 MOSI, 以此类推,形成环形结构。






所以 G 正确。
 
描述:H 在 IIC 总线上,可以有多个从设备具有相同的 IIC 地址分析:
IIC 的每个器件都有一个唯一的地址以供标识,在发送数据时,通过设备的地址标识出接收设备
所以 H 错误。
 

问题 1 参考答案

答案:

A       D           F         G

 

问题 2 技术分析

本问题第一小问重点考察嵌入式系统中的总线电路及信号驱动,第二小问考察键接口的基本原理。
 

1、总线电路及信号驱动

  1. IC 总线电路工作原理
IIC 接口在设备之间进行连接所使用的两根线是 SDA 和 SCL,他们都是开漏
(open-drain),通过一个上拉电阻接到正电源,因此在不使用的时间仍保持高电平。使用 IIC 总线进行通信的设备驱动这两根线变成低电平,在不使用时就让他们保持高电平。
  1. 开漏电路
开漏电路就是指以 MOS FET 的漏极为输出的电路,如下图所示。当场效应管的输入超过导通电压时,场效应管导通,此时电路相当于将输出端接地,此时输出为
0。
当场场效应管的输入电压小于导通电压是,场效应管截止,此时电路相当于将输出端与 VCC 相连,中间串联一个电阻 R1,此时理想情况下的输出为 VCC。


 

问题 2 技术分析

本问题第一小问重点考察嵌入式系统中的总线电路及信号驱动,第二小问考察键接口的基本原理。
 

1、总线电路及信号驱动

  1. IC 总线电路工作原理
IIC 接口在设备之间进行连接所使用的两根线是 SDA 和 SCL,他们都是开漏
(open-drain),通过一个上拉电阻接到正电源,因此在不使用的时间仍保持高电平。使用 IIC 总线进行通信的设备驱动这两根线变成低电平,在不使用时就让他们保持高电平。
  1. 开漏电路
开漏电路就是指以 MOS FET 的漏极为输出的电路,如下图所示。当场效应管的输入超过导通电压时,场效应管导通,此时电路相当于将输出端接地,此时输出为
0。
当场场效应管的输入电压小于导通电压是,场效应管截止,此时电路相当于将输出端与 VCC 相连,中间串联一个电阻 R1,此时理想情况下的输出为 VCC。




 

2、按键的硬件原理

  1. 机械按键
这类按键的构造有两种。一种是内含两个金属片和一个复位弹簧,按键时,两个金属片便压在一起;另一种是用底面带一小块导电橡胶的成型泡沫硅胶帽做的, 压键时,导电橡胶将印制电路板上的两条印制线短路。
机械按键的缺点是容易产生抖动,即触电在可靠的接触之前会通断多次。



2、按键消抖按键消抖有两种方法,一种是通过软件增加延时,等电平状态稳定后再扫描按键状态;还有一种方法是硬件消抖。在检测按键状态的 IO 端口与地之间串联一个电容。如左图所示。
初始状态下,电容 C1 不带电,所以 In 端口对地电压为 0。VCC 电源打开时,VCC 对电容 C1 进行充电,C1 两端电压逐渐上升。充满电后,In 端口对地电压为 VCC 电压大小。
按键按下的一瞬间,C1 虽然 In 端口与地直接相连,但是由于此时 C1 两端还有电压,In 端口对地电压依然为 C1 两端电压。
之后,由于按键按下后使得 C1 积累正电荷的一端与地相连,于是电容开始放电,


 

问题 2 问题分析

  1. 图 2-2 飞控板部分原理图中,R4 的作用是什么?
  2. 图 2-3 遥控板部分原理图中,C11、C12、C13、C14 的作用是什么?
 
分析:(1)R4 接在 SDA 口,SDA 口是 IIC 的串行数据端口。
IIC 接口在设备之间进行连接所使用的两根线是 SDA 和 SCL,他们都是开漏
(open-drain),通过一个上拉电阻接到正电源,因此在不使用的时间仍保持高电平。使用 IIC 总线进行通信的设备驱动这两根线变成低电平,在不使用时就让他们保持高电平。
那么为什么开漏输出接上拉电阻能够在不使用的时间仍保持高电平呢?
 
首先,直接开漏输出是无法输出高电平的,必须外接电源才能输出高电平。




 
所以 R4 电阻的作用是:上拉电阻,减小流入 SDA 口的电流,保护芯片和电源。
 
分析:(2)C11、C12、C13、C14 是遥控板上的 4 个电容,分别接在 4 个 AD 端口和地之间,而 AD 端口是负责采集摇杆模拟数据的,所以这里 4 个电容的作用与摇杆模拟数据采集密切相关。当按键和电容出现在一起的时候,首先就会想到按键的消抖电容。
 

摇杆的基本原理为:

当摇杆偏向一个方向时,摇杆产生倾斜,使其接触到一个垂直方向的按键或者其他触发装置,从而触发一个按键信号。
 
所以摇杆也是按键,也存在抖动问题。而通过硬件消抖的最常用方法就是在触发

的端口与地之间串联一个电容。所以 C11、C12、C13、C14 的作用是消抖。
 

问题 2 参考答案

答案:

  1. R4 电阻的作用是:减小流入 SDA 口的电流,保护芯片和电源。
  2. C11、C12、C13、C14 的作用是消抖。
 

问题 3 技术分析

本问题重点考察嵌入式系统中的 PWM 的应用
 

1、PWM

PWM 及脉冲宽度调制(Pulse Width Modulation),是一种对模拟信号进行数字编码的方法。
在本项目中,PWM 作用是输出指定频率、指定占空比的脉冲(方波)信号。驱动电机。
 

2、PWM 驱动电机的原理

电机通常为直流电机,PWM 给电机提供一个具有一定频率且占空比可调的脉冲。占空比越大,提供给电机的平均电压越大,电机转速就高。反之电机转速就低。
PWM 不管是高电平还是低电平时电机都是转动的,电机的转速取决于平均电压。
 

3、STM32 中的 PWM 配置



 

问题 3 问题分析

【问题 3】(4 分)

在 STM32 处理器的 PWM 使用过程中,最为关键的就是 PWM 的频率和占空比。
PWM 的频率依赖于 PWM 模块的参考时钟频率,自动装载寄存器 ARR 的值加 1 之后在乘以参考时钟频率即可得到PWM 的频率。PWM 的占空比是用捕获比较寄存器CCR 和自动装载寄存器 ARR 获得的,PWM 占空比=CCR/(ARR+1)。
假设当前飞控板的 STM32 处理器 PWM 模块的参考时钟频率为 1KHz,要将 PWM 模块的频率设置为 100KHz,则 ARR 寄存器的值应设置为多少?如果此时占空比希望设置为 20%,那么 CCR 寄存器的值应该设置为多少?
 

分析:本题题目中已经给出了 STM32 中配置 PWM 输出的寄存器配制方法,所以只需要根据题目所给的公式算出 ARR 寄存器和 CCR 寄存器的值。

由题目可知:PWM 的频率=(ARR+1)*参考时钟频率=100KHz
所以:ARR = 100KHz/参考时钟频率 - 1 = 100KHz/1KHz - 1 = 99
 
由题目可知:PWM 的占空比= CCR/(ARR+1)
所以:CCR=(ARR+1)*PWM 的占空比=100*20%=20
 

问题 3 参考答案

答案: ARR=99 CRR=20
 

问题 4 技术分析

本问题重点考察嵌入式系统中的系统流程图的应用


 
【问题 4】(3 分)
飞控系统每 0.5 毫秒进行一次定时器的触发,每次中断都会检查一次无线模块数
 
据的接收,以确保飞控系统控制信息的实时性。每 2 次中断(即 1 毫秒)读取一次 MPU6050 单元的数据,并进行算法处理。每 4 次中断(即 2 毫秒)通过计算当前飞控板系统的姿态,结合遥控端的目标姿态,根据两者的差值通过 PID 控制算法对各个电机进行调速控制。每 200 次中断(即 100 毫秒)采集一次电池电压, 然后通过无线模块把电池电压发送给遥控板,以告知操作人员当前电压的大小。图 2-4 为飞控系统软件实现的简要流程图,根据以上描述,请补全图 2-4 中的空
(1)~(6)处的内容。
 
分析:解题的关键在于将流程图和流程的文字描述对应。先在描述中将操作过程列出来,再到流程描述中找出可能的决策和处理,然后对号入座。
 

1、列出操作过程

①每 0.5 秒触发一次中断,每 1 次触发中断时,检查无限模块的数据接收。
②每 2 次触发中断时,读取 MPU6050 单元的数据,并进行算法处理。
③每 4 次触发中断时,通过计算当前飞控板系统的姿态,结合遥控端的目标姿态, 根据两者的差值通过 PID 控制算法对各个电机进行调速控制。
④每 200 次触发中断时,采集一次电池电压,然后通过无线模块把电池电压发送给遥控板,以告知操作人员当前电压的大小。
 

2、找出操作过程中可能的决策和处理

在①中,存在决策:是否触发中断;存在操作:检查无限模块的数据接收。
在②中,存在决策:触发次数是否为 2 的倍数;存在操作:读取 MPU6050 单元的数据,并进行算法处理。
在③中,存在决策:触发次数是否为 4 的倍数;存在操作:通过计算当前飞控板系统的姿态,结合...
在④中,存在决策:触发次数是否为 200 的倍数;存在操作:采集一次电池电压, 然后通过无线模块把电池电压...
 

3、结合流程图将决策和操作对号入座

流程图一开始是对器件初始化,然后判断定时器是否到时,正好对应于操作过程
①中的“每 1 次触发中断” ,当定时器到时判定为 Y 时,接下来执行的操作就是操作过程①中“每 1 次触发中断时” 后面进行的操作,即:“检查无限模块的数据接收” 。所以(1)处答案为:检查无限模块的数据接收
流程继续往下,(1)执行完后执行 count++,所以 count 就应该是定时器触发次数。
流程继续往下,发现下面有三组结构相同的决策和操作,每次决策为 Y 时就执行操作。
在前面 2、节中,我们找出了全部决策和操作,去掉过程①中的一组决策和操作后,正好剩下三组。
所以流程图中剩下的三组决策和操作按照顺序应该就是过程②、③、④中的决策和操作。
 
按照上述思路,将决策和操作填入流程图中对应的位置。但是这里的决策不能向
2、节里面一样使用文字描述,需要将其转化为符号。

而图中已经给出了其中一个决策为:count%4 == 0?,意思就是触发次数是为 4 的倍数,按照这个思路,那么过程②中的决策应该是 count%2==0?,过程④的决策应该是 count%200==0?
 

问题 4 参考答案

答案:

(1)检查无限模块的数据接收
(2) count%2==0?
  1. 读取 MPU6050 单元的数据,并进行算法处理。
  2. 对各个电机进行调速控制
(5) count%200==0?
(6)采集一次电池电压,发送电压给遥控板

 

 


C1 两端电压不断降低,直到为 0。

 
 
   各省软考办 
 
来顶一下
返回首页
返回首页
上一篇:全国计算机技术与软件专业技术资格(水平)考试 2009年下半年嵌入式系统设计师-下午
下一篇:2012下半年嵌入式系统设计师 上午试题分析与解答 [1-10题]
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2020年5月23日软考考试还有
尚大软考交流群:376154208
软考各地考务机构
历年真题汇总




各省市软考报名简章