多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现-课件 奚海蛟-第5章无人机参数存储 硬件I2C读写EEPROM-气压计MS5611_第1页
多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现-课件 奚海蛟-第5章无人机参数存储 硬件I2C读写EEPROM-气压计MS5611_第2页
多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现-课件 奚海蛟-第5章无人机参数存储 硬件I2C读写EEPROM-气压计MS5611_第3页
多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现-课件 奚海蛟-第5章无人机参数存储 硬件I2C读写EEPROM-气压计MS5611_第4页
多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现-课件 奚海蛟-第5章无人机参数存储 硬件I2C读写EEPROM-气压计MS5611_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多旋翼无人机飞行器嵌入式飞控开发实战本章通过对STM32的I2C通信以及Flash的介绍,实现了EEPROM读写以及Flash的读写。第5章无人机参数存储1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写硬件I2C读写EEPROM1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写硬件I2C读写EEPROM了解ARMCortex-M系列芯片的I2C通信原理01通过配置STM32F407芯片I2C相关寄存器,实现I2C读写EEPROM02I2C特性并行总线/I2C协议转换器多主模式功能主从模式切换7位/10位寻址以及广播呼叫的生成和检测状态标志错误标志2个中断向量可选的时钟延长内部集成电路(I2C)接口支持不同的通信速度带DMA功能的1字节缓冲可配置的PEC(数据包错误校验)生成或验证SMBus2.0兼容性PMBus兼容性I2C功能说明数据引脚(SDA)时钟引脚(SCL)I2C总线100kHz/400KHz串行格式并行格式模式选择从发送器04010203主接收器从接收器主发送器模式选择通信流程I2C接口会启动数据传输并生成时钟信号。串行数据传输始终是在出现起始位时开始,在出现停止位时结束。起始位和停止位均在主模式下由软件生成。在主模式下该接口能够识别其自身地址(7或10位)以及广播呼叫地址。广播呼叫地址检测可由软件使能或禁止。在从模式下I2C时序I2C接口框图从发送器的传输序列图从接收器的传输序列图主发送器的传输序列图主接收器的传输序列图I2C中断请求I2C中断映射图I2C控制寄存器1(I2C_CR1)位15:软件复位位13:SMBus报警位12:数据包错误校验位11:应答PEC位置位10:应答使能位9:生成停止位位8:生成起始位位7:禁止时钟延长位6:广播呼叫使能位5:PEC使能位4:ARP使能位3:SMBus类型位1:SMBus模式位0:外设使能I2C控制寄存器2(I2C_CR2)位12:最后一次DMA传输位11:DMA请求使能位10:缓冲终端使能位9:事件中断使能位8:错误中断使能位5:外设时钟频率I2C自有地址寄存器1(I2C_OAR1)位15:寻址模式位14:应通过软件始终保持为1位9:8:接口地址位7:1:接口地址位0:接口地址I2C自有地址寄存器2(I2C_OAR2)位7:1:接口地址位0:双寻址模式使能I2C数据寄存器(I2C_DR)位7:0:8位数据寄存器I2C状态寄存器1(I2C_SR1)位15:SMBus报警位14:超时或Tlow错误位12:接收期间PEC错误位11:上溢/下溢位10:应答失败位9:仲裁丢失位8:总线错误位7:数据寄存器为空位6:数据寄存器非空位4:停止位检测位3:发送10位头位2:字节传输完成位1:地址已发送位0:起始位I2C状态寄存器2(I2C_SR2)位15:8:数据包错误校验寄存器位7:双标志位6:SMBus主机头位5:SMBus器件默认地址位4:广播呼叫地址位2:发送器/接收器位1:总线忙碌位0:主/从模式I2C时钟控制寄存器(I2C_CCR)位15:I2C主模式选择位14:快速模式占空比位11:0:快速/标准模式下的时钟控制寄存器EEPROM从器件地址位24C02字节读写时序原理图硬件I2C读写EEPROM通过配置STM32F407芯片I2C相关寄存器,实现I2C读写EEPROM练习简述硬件I2C读写过程。01简述I2C是读写事件描述。02硬件I2C+DMA读写EEPROM1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写硬件I2C+DMA读写EEPROM了解ARMCortex-M系列芯片的I2C、DMA通信原理01通过配置STM32F407芯片I2C相关寄存器,实现I2C+DMA读取EEPROM02DMA数据流本次小节是以“硬件I2C读写EEPROM”为基础,通过配置I2C的DMA传输方式来获取数据硬件I2C+DMA读写EEPROM通过配置STM32F407芯片I2C相关寄存器,实现I2C+DMA读取EEPROM练习简述硬件I2C+DMA实现过程。01代码实现其他I2C+DMA。02模拟I2C通信1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写模拟I2C通信了解ARMCortex-M系列芯片的I2C通信协议01使用普通IO口模拟I2C时序,实现与AT24C02之间的通信02I2C总线的三种类型发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。应答信号SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。结束信号SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。开始信号开始信号与结束信号时序应答信号时序I2C总线时序I2C总线时序数据有效性时序模拟I2C通信使用普通IO口模拟I2C时序,实现与AT24C02之间的通信练习简述模拟I2C的ACK应答时序。01简述模拟I2C的实现过程。02Flash读写1硬件I2C读写EEPROM2硬件I2C+DMA读写EEPROM3模拟I2C通信4Flash读写Flash读写了解ARMCortex-M系列芯片的FLASH闪存01通过配置FLASH寄存器、操作FLASH扇区的擦除,达到向内存中写数据以及从内存中读数据的目的02STM32F40XX/41XX的闪存模块组织Flash等待周期与CPU时钟频率之间的对应关系PSIZE的设置必须和电源电压匹配访问控制寄存器(FLASH_ACR)位12:数据缓存复位位11:指令缓存复位位10:数据缓存使能位9:指令缓存使能位8:预取使能位2:0:延迟秘钥寄存器(FLASH_KEYR)位31:0:FPEC密钥FLASH控制寄存器(FLASH_CR)位31:锁定位25:错误中断使能位24:操作结束中断使能位16:启动位9:8:编程大小位6:3:扇区编号位2:批量擦除位1:扇区擦除位0:编程FLASH状态寄存器(FLASH_SR)位16:繁忙位7:编程顺序错误位6:编程并行位数错误位5:编程对齐错误位4:写保护错误位1:操作错误位0:操作结束Flash读写通过配置FLASH寄存器、操作FLASH扇区的擦除,达到向内存中写数据以及从内存中读数据的目的练习简述闪存的编程和擦除。01简述Flash实现过程。02无人机的数传、MPU6050传感器、QMC5883L、气压计MS5611、光流模块、遥控输入以及无人机的电机控制。第6章无人机飞控传感器采集与电机控制1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制无人机数传1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制通过利用数传模块通信,学习无线数传模块的特性和性能、功能,了解数传模块的信道配置、功率配置、接口配置等。0102无人机数传无人机数传无线数传模块,是数传电台的模块化产品。是指借助DSP技术和无线电技术实现的高性能专业数据传输电台。无线数传模块特点微发射功率频段工作频率,无需申请频点高抗干扰能力和低误码率传输间隔远看门狗实时监控多信道,多速率透明的数据传输,所发即所收高可靠性,体积小、重量轻提供RS232/485/TTL三种接口方式智能数据控制,用户无需编制多余的程序原理图飞控板上数传接口为串口3,所以需要在原理图中查看串口3对应引脚无人机数传实现无人机数传通信。加速度计与陀螺仪MPU60501234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制加速度计与陀螺仪MPU6050学习MPU6050的原理、初始化方法、数据采集及滤波方法、校准以及校准数据保存以及获取、六面校准数据采集以及六面校准参数计算-最小二乘法,掌握在实际项目中的使用。0102加速度计与陀螺仪MPU6050MPU6050是6轴运动处理传感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(DigitalMotionProcessor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。MPU6050内部结构电源管理寄存器1DEVICE_RESET位:用来控制复位,设置为1,复位MPU6050,复位结束后,MPU硬件自动清零该位。SLEEP位:用于控制MPU6050的工作模式,复位后,该位为1,即进入了睡眠模式(低功耗),所以我们要清零该位,以进入正常工作模式。TEMP_DIS位:用于设置是否使能温度传感器,设置为0,则使能。CLKSEL[2:0]:用于选择系统时钟源陀螺仪采样率分频寄存器该寄存器用于设置MPU6050的陀螺仪采样频率,计算公式为:采样频率=陀螺仪输出频率/(1+SMPLRT_DIV)这里陀螺仪的输出频率,是1Khz或者8Khz,与数字低通滤波器(DLPF)的设置有关,当DLPF_CFG=0/7的时候,频率为8Khz,其他情况是1Khz。配置寄存器DLPF_CFG[2:0]:数字低通滤波器(DLPF的设置位),加速度计和陀螺仪,都是根据这三个位的配置进行过滤的。这里的加速度传感器,输出频率(Fs)固定是1Khz,而角速度传感器的输出速率(Fs),则根据DLPF_CFG的配置有所不同。陀螺仪配置寄存器FS_SEL[1:0]:这两个位,用于设置陀螺仪的满量程范围加速度传感器数据输出寄存器每个16位加速度计测量值的满量程定义在ACCEL_FS(寄存器28)。对于每个满量程的设置,ACCEL_xOUT里加速度计测量值的灵敏度最低分辨率(LSB)加速度传感器配置寄存器每个16位陀螺仪测量值的满量程定义在FS_SEL(寄存器27)。对于每个满量程的设置,GYRO_xOUT里陀螺仪测量值的灵敏度最低分辨率(LSB)原理图加速度计与陀螺仪MPU6050实现MPU6050的数据采集、滤波、校准、校准数据保存以及获取、六面校准。练习简述MPU6050运行原理。01简述MPU6050实现过程。02磁力计QMC5883L1234气压计MS56115光流计OpticalFlow无人机数传加速度计与陀螺仪MPU6050磁力计QMC5883L6遥控输入7电机控制学习QMC5883L的原理、初始化方法、获取得到QMC5883L实时数据以及计算比例系数、偏移量校准计算以及EEPROM的保存和获取。0102磁力计QMC5883L磁力计QMC5883LQMC5883L是一款多芯片三轴磁传感器。这种表面贴装的小尺寸芯片集成了带信号条件ASIC的集成磁传感器,旨在用于无人机,机器人,移动和个人手持设备中的指南针,导航和游戏等高精度应用。QMC5883L内部结构SET/RESET周期寄存器SET/RESET周期由FBR[7:0]控制。控制寄存器1设置模式是连续模式,输出数据率为200Hz,满刻度为2G,过采样率为512。数据输出寄存器寄存器00H〜05H以连续测量的方式存储每个轴磁传感器的测量数据。在连续测量模式下,根据控制寄存器1中设置的数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论