列表

详情


阅读以下关于某四轴飞行器系统设计的说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
在某四轴飞行器系统设计中,利用惯性测量单元(IMU)、PID电机控制、2.4G无线遥控通信和高速空心直流电机驱动等技术来实现一个简易的嵌入式四轴飞行器方案。整个系统的设计包括飞控板和遥控板两部分,两者之间采用2.4G无线模块进行数据传输。飞控板采用高速单片机STM32作为处理器,采用含有三轴陀螺仪、三轴加速度计的运动传感器MPU6050作为惯性测量单元,通过2.4G无线模块和遥控板进行通信,最终根据PID控制算法以PWM方式驱动空心电机来控制目标。


图2-1为李工设计的系统总体框图。飞控板和遥控板的核心处理器都采用STM32 F103。飞控系统的惯性测量单元采用MPU6050测量传感器,MPU6050使用IIC接口,时钟引脚SCL、数据引脚SDA和数据中断引脚分别接到STM32的对应管脚,图2-2为该部分原理图。遥控板采用STM32单片机进行设计,使用AD对摇杆模拟数据进行采集,采用NRF2401无线模块进行通信,图2-3为该部分原理图。
李工所设计的系统软件同样包含飞控板和遥控板两部分,飞控板软件的设计主要包括无线数据的接收、自身姿态的实时计算、电机PID增量的计算和PWM的电机驱动。遥控板主控制器软件通过ADC外设对摇杆数据进行采集,把采集到的数据通过2.4G无线通信模块发送至飞控板。图2-4为飞控系统的软件流程示意图。




【问题1】(4分)
由图2-1系统总体框图设计可知,飞控板和遥控板之间是用2.4G无线通信进行数据传输,各自主处理器和无线通信模块之间是SPI接口。同时,在飞控板上,处理器和惯性测量单元是通过IIC进行数据交互。以下关于SPI接口和IIC接口的描述中,正确的是:(1)、(2)、(3)、(4)。
A.SPI和IIC都是主从式通信方式
B.SPI的数据收发线是各自独立的,IIC也是同样
C.SPI和IIC的传输都不需要片选控制
D.IIC总线是一个多主机的总线,可以连接多于一个能控制总线的器件到总线
E.IIC总线包括标准模式,快速模式和高速模式,相互之间的传输速度差异并不大
F.在原理设计中,到底采用SPI和IIC哪种方式,需要依据外设芯片的接口而定
G.SPI是一种环形总线结构
H.在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】(顺序不限)
(1)~(4):A、D、F、G
【问题2】
(1)增强驱动能力
(2)滤波,保持信号的稳定性
【问题3】
ARR寄存器的值:99
CCR寄存器的值:20
【问题4】
(1)检查一次无线模块数据的接收
(2)count%2==0
(3)读取MPU6050单元的数据,并进行算法处理
(4)计算当前飞控板系统的姿态,对各个电机进行调速控制
(5)count%200==0
(6)采集电池电压,通过无线模块把电池电压发送给遥控板

详细解析:

本题考查嵌入式软硬件系统协同设计过程中的知识及应用。
此类题目要求考生认真阅读题目中的题干描述,仔细理解设计的原理框图,详细观察提供的硬件原理图和所描述的软件实现流程示意图。前后结合进行题目分析。
【问题1】
1.SPI总线
SPI(Serial Peripheral Interface,串行外围设备接口)是由Motorola公司开发的一个低成本、易使用的接口,主要用在微控制器(MCU)和外围设备芯片之间进行连接。
SPI是一个4线接口,主要使用4个信号:1.主机输出/从机输入(MOSI);2.主机输入/从机输出(MISO);3.串行SCLK或SCK;4.外设片选((CS) ̅)。
根据时钟极性和时钟相位的不同,SPI有4种工作模式。时钟极性有高电平、低电平两种。时钟相位有两个:时钟相位0和时钟相位1。4种工作模式分别是——模式0、模式1、模式2和模式3,它们的区别是定义了在时钟脉冲的哪条边沿转换(toggles)输出信号,哪条边沿采样输入信号,还有时钟脉冲的稳定电平值(就是时钟信号无效时是高还是低)。
2.IIC总线
IIC BUS(Inter Integrated Circuit BUS,内部集成电路总线)是由Philips公司推出的二线制串行扩展总线,用于连接微控制器及其外围设备。
I2C总线是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。直接用导线连接设备,通信时无需片选信号。
在I2C总线上,只需要两条线—串行数据SDA线、串行时钟SCL线,它们用于总线上器件之间的信息传递。
(1)SDA和SCL都是双向的。
(2)每个器件都有一个唯一的地址以供识别,而且各器件都可以作为一个发送器或接收器(由器件的功能决定)。
(3)I2C总线的数据传输过程:
①开始:主设备产生启动信号,表明数据传输开始。
②地址:主设备发送地址信息,包含7位的从设备地址和1位的数据方向指示位(读或写位,表示数据流的方向)。
③数据:根据指示位,数据在主设备和从设备之间进行传输。数据一般以8位传输,MSB先传;具体能传输多少量的数据并没有限制。接收器产生1位的ACK(应答信号)表明收到了每个字节。传输过程可以被中止和重新开始。
④停止:主设备产生停止信号,结束数据传输。

【问题2】
在一般的硬件设计尤其是IIC的电路设计中,对于SDA和SCL两线,由于其内部是漏极开路(open-drain),通过上拉电阻外加一个3.3V电源,用于增强系统的驱动能力。
同时在电源设计中,为了去除干扰噪声,需要对电源进行滤波处理,通常采用电容进行滤波处理,以保护系统电源信号的稳定性。
【问题3】

根据题干的描述可以得到公式如下:
(1)(自动装载寄存器ARR的值+1)*时钟频率=PWM频率
代入公式进行计算:(ARR+1)*1KHz=100KHz,可得到ARR=99;

(2)PWM占空比=CCR/(ARR+1)
代入公式进行计算:20%=CCR/(99+1),可以得到CCR寄存器为20。
【问题4】
根据问题的描述信息,可以获得系统的流程图:
系统启动,如果定时器到,需要检查一次无线模块数据的接收,并进行计数增加。对计数进行判断,如果是除2的余为0则说明是2次中断的倍数到达,需要进行MPU6050单元的数据读取和处理,如果中断是4的倍数,那么就说明需要计算飞控板系统的姿态,并对电机进行调速控制。如果是200次的倍数,则需要采集电池电压,并通过无线模块把电池电压发送给遥控板。

上一题