实例介绍
MPU-6050 六轴传感器数据手册(中文)
T。pvew Top View 8 8昌翼 24123122212019 CLKIN 18 GND CLKIN 1 18 GND Nc 2 17|Nc NC 2 Nc 6NC Nc 3 16NC MPU-6000 MPU-6050 Nc 16 NC Nc5 14NC AUX DA6 13VDD AUX_DA6 13VDD moQ B 5B召az QFN Package QFN Package 24-pin, 4mm x 4mm xo9mm 24-pin, 4mm x 4mm x 0.9mm +2 + 7.2典型应用 GND Cr 10n 2巴2222l 2巴2凹2 CLKIN MPU600回而 MPU-6050 s AX CL AUX CL GND Cl VLOGIC △ND GND Typical Operating Circuits 73所用电容规格 器件 标签 规格 数量 校准滤波电容(Pm10) C1 陶瓷,Ⅹ7R,0.1uF±10%,2V VDD旁路电容(Pin13) C2 陶瓷,Ⅹ7R,0.1uF±10%,4∨ 电荷泵电容(Pin20) C3 陶瓷,Ⅹ7R,10UF±10%,50V LOGC旁路电容(Pin8) C4 陶瓷,X7R,10uF±10%,4V 7.4上电过程建议 Power-Up Sequencing 1. TVDDR is VDD rise time: Time for vdd to rise from 10% to 90% of its final value VDDR 2. TVDDR is $100msec 3. tvr is VLOGIC rise time: Time for VLOGIC to rise from 10% to 90% of its final VDD valt lVR 4. TVGR is S3msec 90% 5. TvG-VDD is the delay from the start of VDD ramp to the start of VLOGIC rise VLOGIC 10% 6. TVLGVDD is 20: VLOGIC amplitude must always be sVDD amplitude 7. VDD and VLOGIC must be monotonic ramps 1.VLOG|C振幅必须sVDD振幅 2.VDD上升时间(TvDR)为实际值的10%到90%之间 3.VDD上升时间(TvDR)≤100ms 4.ⅥLOGC上升时间( TVLGR)为实际值的10%到90%之间 5. VLOGIO上爪时间(TvcR)≤3ms 6. TVG-VDD为从VDD上升沿到LOG|C上升沿的时间 7.VDD和ⅥLOGC必须是单调边沿 7.5系统结构图 CLKIN CLKOUT<2 CLOC CK Clock MPU-60X0 X Accel ADC Interrupt ○|NT Status Register dcs Y Accel ADC slave lac and ADO/ sDO FO FIF SPI Serial Interface SCL/ SCLK sDA/D身 Z Accel ADC Config Master 2C ○ AUX CL Serial Interface X G ADC Interface Bypass MUX OAUX_DA OFSYNC ADC Factory Calibration Digital Motion Processor ADC DMP) Temp Sensor ADC Charg Bing& LDO Pump CPOUT VDD GND REGOUT LOGIC names in round brackets( apply only to MPu6000 Pin names in square brackets apply only to MPU-6050 7.6结构描述 7.7三轴陀螺仪简介 78三轴加速度计简介 7.9数宇运动处理器(DMP) DMP从陀螺仪、加速度计以及外接的传感器接收并处理数据,处理结果可以从DMP 寄存器读出,或通过FFO缓冲。DMP有权使用MPU的个外部引脚产生中断。 7.10主要|12C和SP|接口 MPU-60X0使用|2C或者SP接口和芯片连接,并且总是作为从设备。连接主设备的 逻辑电平用ⅥLOGC引脚(MPU-6050)或VDD引脚却(MPU-6000)设置。|2C的Save 地址的最低有效位(LSB)用Pin9(AD0)设置 711辅助12C接L 可用来外接磁力计或其他传感器。有两种工作模式:l2 C Master Mode,此时MPU-60X0 作为主设备与外接传感器通信;Pass- Through Mode,此时仅用作连接,允许MPU和外接 传感器同时和芯片通信。 7.12自检 自检可用来测试传感器的机械和电气结构。对每个测量轴的自检可通过设置控制寄存器 GYRO CONFIO和 ACCEL CONFIG的相关位来进行。自检启动后,电路会使传感尜工作 并且产生输出信号 7.13使用12C接∏的9轴传感器方案 下图中,系统芯片( System Processo)作为MPU的主设备,而MPU又作为外接罗 盘传感器的主设备。然而MPU作为1C主设备的能力很有限,需要系统芯片的支持。 FC Processor Bus; for reading all Interrupt INT seneor data from MPU and for Register configuring external sensors(1. e pass in this s VDD MPU-60XO ADOSDO VDD or GND or 24人5DAD SDA Processor FIFO Sensor Fc Bus: for Config from extemal sensors Register Cenac AUX CL Senso Master tc easter Serial Interface AUX DA SDA Compass Calibration Digital otion Interface by pass mux allows direct configuration of compass by system processor Bias &LDo VDD GND REGOUT 7.14使用SP|接口MPU-6000 下图中,系统芯片作为上设备通过SP接口和MPU6000连接。由于SP接口和|2C 接∏是公用的,所以系统芯片不能直接和辅助2C总线通信,因为辅助2C总线是直接和 主|2C总线相连的 Processor sPI Bus: for reading all data from MPU and for configuring MPU and erternal sensors Interrupt status Register s MPU-6000 ADOSDO Slave rc System or sPl 23 sCLSCLK Interface 24 SDAASDI SDO FIFO Sensor FC Bus: for configuring and Config reading data from Register external sensors Sens AUX CL SCL Sensor Master c Register Serial C Interface SDA Calibration Digital Motion Processor (DMP) IC Master performs road and write transactions o Seneor IC bus Bias &LDO VDD GND REGOUT 8.可编程中断 MPU-60X0有一个可编程的中断系统,可在T脚上产生中断信号。状态标忐可以表 明中断的来源。下图是一些中断源的列表 Interrupt Name Module Free Fall Detection Free fall Motion detection Motion Zero motion detection Zero motion FIFO Overflow FIFO PLL Ready PLL DMP Interrup DMP Data Ready Sensor Registers 12C Master errors: Lost Arbitration, NACKs Ic Master ?c Slave 4 12C Master 81自由落体中断( Free Fall Interrupt) 通过检测3个轴上的加速度测量值是否在规定的阈值内来判断自由落体运动。对每 次的釆样值,如果没达到阈值将会被忽咯。旦达到阈值,即触发自由落休中断,并产生标 志位。直到计数器降到0,标志才会被清楚。计数器的取值范围在0和规定的阈值之间 可用FF_THR寄存器设置阈值,精确到1mg。用 FE DUR寄存器设置持续时间,精确 到1ms。 使用 MOT DETECT CTRL寄存器,可以设施是否用一个无效的采样值使计数器清零, 或者以1、2或4的量衰减。 下图给出了一条轴上的加速度测量值,采样计数器以及自由落体标志位。 a FF THR counter+ FF DUR g 82运动中断( Motion Interrupt) 和自由落体中断类似。为了排除重力所产生的误差,加速度计的测量值都要通过个可 配冒的数字髙通滤波器(DHPF)。通过高通滤波器后的值如果大于事先规定的阈值,则被 认为是有效的。对每个有效的采样值,计数器加1,而对无效值则计数器减1。一旦计数器 值达到用户改定的计数阈值,则触发运动中断。产生运动中断的坐标轴及其方向可以在寄存 器M○ T DETECT STATUS中读出。 类似于自由落体中断,运动中断也有一个可设置的加速阈值寄存器 MOT THR,精确 到1mg,以及一个计数阙值寄存器MOT_DUR,精确到1ms。同样也有一个寄存器来设置 耍贱率, MOT DETECT CTRL 83静止中断( Zero Motion Interrupt 静止中断也采用数字高通滤波器(DHPF)以及冋样的阈值、讣数机制。每根轴上的测 量值通过DHFT后必须小于事先规定的阈值,可在 ZRMOT THR寄存器设置。这会使计数 器值加1,当达到在 ZRMOT_DUR中设置的计数器阙值时,则产生静止中断。 和自山落体中淅及运动中断不同的是,当第一次检测到静止以及不再检测到时,静止中 断都会被触发。另外,自由洛体中断和运动中断的标志位在读取后就会被清零,而从奇存器 MOT DETECT STATUS读取静止标志位后不会清岺。 9时钟 91内部时钟机制 MPU-60X0有着灵活的时钟机制,对于内部的同步电路可使用内部或外部的时钟源。 内部同步电路包括信号调整、ADC、DMP及各样的控制电路和寄存器,其时钟可由一个片 上的PL产生。 允许的内部时钟源: ①内部的弛豫振涝器 ②陀螺仪的仟何一个轴(含有工作温度下±1%漂移的MEMS振荡器 允许的外部时钟源: ①32768kHz方波 ②19.2MHz方波 吋钟源的选择要考虑外部吋钟是香有效,功率损耗,时钟精桷性等因素。例如,如果功 率损耗是主要考虑因素,当用DMP处理加速度计数据时,使陀螺仪关闭,这时最好选择内 部振荡器作时钟;而陀螺仪工作的时候,使用其自帶时钟可以保证更妤的时钟精确性。 当MPU-60×0初次启动时,要先使用其内部时钟,直到系统设置准备好使用其他时钟 源,所以比方说要使用MEMs振荡器,就必须等到它可以稳定工作。 92传感器数据奇仔器 传感器数据寄存器包含了最新的陀螺仪、加速度计、外接传感器以及温度数据,是只读 的,通过串口连接。数据可以随时读取,并可用中断函数来设置何时新的数据是可用的 9. 3 FIFO MPU60X0包含一个1024字节的FFO寄存器。F|FO配置寄存器可以决定什么让什 么数据进入,可选陀螺仪、加速度计、温度、外部传感器,以及 FSYNC输入。一个FFO 计数器可以跟踪存入FF○的字节数。 94中断 由中断配置寄存器设置。可配置的项目包括ⅣT引脚设置,中断关闭和清除方法,以 及中断触发。可以触发中断的事件有:(1)切换时钟源:(2)DMP完成:(3)有新的数据 可供读取(从FFO和数据寄存器);(4)加速度计中断;(5)MPU-60X0未收到外接传感 器的回应(辅助12C总线)。中断状态可以从中断状态寄存器读出 95数字输出温庋传感器 片上的温度传感器通过个ADC来产生数字温度测量信号,其值可从FFO或者传感 器数据寄存器读出。 96偏压和LDO(低压差线性稳压器) 偏压和LDO部分提供了MPU-60×0需要的内部支持以及参考电压和参考电流。它的两 个输入为VDD(2.1V~3.6V)和ⅥOGC逻辑参考电压(1.71∨~VDD),其中ⅥLOG|C仅 在MPU-6050上可用。LDO输出在 REGOUT引脚,连接了一个旁路电容。 9.7电荷泵 板上的电荷泵提供了MEMS振荡器需要的高电压,输出在 CPOUT引脚,连接了一个 旁路屯容 10数字接口 10.1描述 内部寄存器可通过400kHz的12C接口或1MHz的SP接口来操作。 10.2|2C接口 二线接∏,包括串行数据线(SDA)和串行吋钟线(SCL)。连接到12C接∏的设备可 做主改备或从设备。主设备将Save地址传到总线上,从改备用与其匹配的地址来识别主设 当连接到系统芯片时,MPU-60X0总是作为从设备。SDA和SCL信号线通常需要接上 拉电阻到VDD。最大总线速率为400kHz。 MPU-60X0的Save地址为b110100X,7位字长,最低有效位Ⅹ由AD0管脚上的逻 辑电平决定。这样就可以允许两个MPU-60×0连接到同一条12C总线,此时,一个设备的 地址为b1101000(AD0为逻辑低电平),另一个为b1101001(AD0为逻辑高) 10.3|2C通讯协议 开始(S)和结束(P)标志 当SCL线为髙电平时,SDA线由髙到低的下降沿,为传输开始标志(S)。直到主设备 发出结束信号(P),否则总线状态一直为忙。结束标志(P)规定为,当SCL线为高电平 时,SDA线由低到高的上升沿。 SDA s START condition STOP Condition START and stoP Conditions 数据格式应答 12C的数据字节定义为8-bits长度,对每次传送的总字节数量没有限制。对每一次传输 必须伴有个应答(ACK)信号,其付钟由主设备提供,而貞止的应答信号由从设备发出, 在时钟为高时,通过拉低并保持SDA的值来实现。 如果从设备忙,它可以使SCL保持在低电平,这会强制使主设备进入等待状态。当从 设备空闲后,并且释放时钟线,原来的数据传输才会继续。 DATA OUTPUT BY TRANSMITTER (SDA) not acknowledge DATA OUTPUT BY RECEIVER (SDA> acknowledg SCL FROM MASTER 8 clock pulse for START acknowledgement condition Acknowledge on the ic bus 通信 开始标志(S)发出后,主设备会传送一个7位的Save地址,并且后面跟着一个第8 位,称为Read/ Write位。R^W位表小主改备是在接受从改备的数据还是在向其写数据。然 后,主设备释放SDA线,等待从设各的应答信号(ACK)。每个字节的传输都要跟随有一 个应答位。应答产生时,从设备将SDA线拉低并且在SCL为晑电平时保持低。数据传输总 是以停止标志(P)结束,然后释放通信线路。然而,主设备也可以产生重复的开始信号去 操作另一台从设备,而不发出结束标志。综上可知,所有的SDA信号变化都要在SCL时钟 为低电平时进行,除了廾始和结束标志。 SDA 9 1-7 8 9 1-7 START ADDRESS RN ACK DATA ACK DATA ACK STOP condition Complete IC Data Transfer 如果要写MPU-60X0寄存器,主设备除了发出开始标志(S)和地址位,还要加一个 R∧W位,0为写,1为读。在第9个时钟周期(高电平时),MPU-60X0产生应答信号。然 后主设备开始传送奇行器地址(RA),接到应答后,开始传送寄存器数据,然后仍然要有应 答信号,依次类推。 单字节写入时序 Master S AD+W RA DATA Slave ACK ACK ACK 连续写入时序 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论