阅读以下关于某四轴飞行器系统设计的说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 在某四轴飞行器系统设计中,利用惯性测量单:元(IMU)、PID电机控制、2.4G无线遥控通信和高速空心直流电机驱动等技术来实现一个简易的嵌入式四轴飞

admin2016-11-11  29

问题 阅读以下关于某四轴飞行器系统设计的说明,回答问题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为该部分原理图。
    李工所设计的系统软件同样包含飞控板和遥控板两部分,飞控板软件的设计主要包括无线数据的接收、自身姿态的实时计算、电机PID增量的计算和PWM的电机驱动。遥控板主控制器软件通过ADC外设对摇杆数据进行采集,把采集到的数据通过2.4G无线通信模块发送至飞控板。图2-4为飞控系统的软件流程示意图。


【问题1】
由图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地址

选项

答案(1)~(4):A、D、F、G

解析 由图2-1系统总体框图可知,飞控板和遥控板之间是用2.4G无线通信进行数据传输,各自主处理器和无线通信模块之间是SPI接口。同时,在飞控板上,处理器和惯性测量单元是通过IIC进行数据交互。
    IIC(Inter-Integrated Circuit)和SPI(Sefial Peripheral Interface)这两种通信协议非常适合近距离低速芯片间进行通信。Philips(for IIC)和Motorola(for SPI)出于不同背景和市场需求制定了这两种标准通信协议。IIC开发于1982年,SPI总线首次推出是在1979年。
    SPI包含4根信号线,分别是:
    (1)SCLK:Serial Clock(output from master)
    (2)MOSI,SIMO:Master Output,Slave Input(output from master)
    (3)MISO,SOMI:Master Input,Slave Output(output from slave)
    (4)SS:Slave Select(actiVe low,outputfrom master)
    SPI是单主设备(single-master)通信协议,这意味着总线中只有一支中心设备能发起通信。当SPI主设备想读/写从设备时,它首先拉低从设备对应的SS线(SS是低电平有效),接着开始发送工作脉冲到时钟线上,在相应的脉冲时间上,主设备把信号发到MOSI实现“写”,同时可对MISO采样而实现“读”。SPI有4种操作模式——模式0、模式1、模式2和模式3,它们的区别是定义了在时钟脉冲的哪条边沿转换(toggles)输出信号,哪条边沿采样输入信号,还有时钟脉冲的稳定电平值(就是时钟信号无效时是高还是低)。
    与SPI的单主设备不同,IIC是多主设备的总线,IIC没有物理的芯片选择信号线,没有仲裁逻辑电路,只使用两条信号线——‘serial data’(SDA)和‘serial clock’(SCL)。IIC数据传输速率有标准模式(100 kbps)、快速模式(400 kbps)和高速模式(3.4 Mbps),另外一些变种实现了低速模式(10 kbps)和快速+模式(1 Mbps)。
    物理实现上,IIC总线由两根信号线和一根地线组成。IIC通信过程大概如下。首先,主设备发一个START信号,这个信号就像对所有其他设备喊:请大家注意!然后其他设备开始监听总线以准备接收数据。接着,主设备发送一个7位设备地址加一位的读写操作的数据帧。当所有设备接收数据后,比对地址以判断自己是否为目标设备。如果比对不符,设备进入等待状态,等待STOP信号的来临;如果比对相符,设备会发送一个应答信号一ACKNOWLEDGE作回应。当主设备收到应答后便开始传送或接收数据。数据帧大小为8位,尾随1位的应答信号。主设备发送数据,从设备应答;相反主设备接收数据,主设备应答。当数据传送完毕,主设备发送一个STOP信号,向其他设备宣告释放总线,其他设备回到初始状态。在物理实现上,SCL线和SDA线都是漏极开路(open-drain),通过上拉电阻外加一个电压源。当把线路接地时,线路为逻辑0,当释放线路,线路空闲时,线路为逻辑1。基于这些特性,IIC设备对总线的操作仅有“把线路接地”—输出逻辑0。
转载请注明原文地址:https://kaotiyun.com/show/kQWZ777K
0

最新回复(0)