MMA8451加速度中文参考资料.docx

上传人:scccc 文档编号:14425930 上传时间:2022-02-05 格式:DOCX 页数:9 大小:167.56KB
返回 下载 相关 举报
MMA8451加速度中文参考资料.docx_第1页
第1页 / 共9页
MMA8451加速度中文参考资料.docx_第2页
第2页 / 共9页
MMA8451加速度中文参考资料.docx_第3页
第3页 / 共9页
MMA8451加速度中文参考资料.docx_第4页
第4页 / 共9页
MMA8451加速度中文参考资料.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《MMA8451加速度中文参考资料.docx》由会员分享,可在线阅读,更多相关《MMA8451加速度中文参考资料.docx(9页珍藏版)》请在三一文库上搜索。

1、MMA845总轴加速度传感器,16引脚,QFNH寸装,数字I2C输出,8位/14位精度可选,量程 土 2g/ 4g/ 土 8g可选,电源供电可选。输出数据速率从到 800Hz。有两个可编程的中断引脚,7个中断源。可检测自由落体、运动、脉冲、振动等、倾角等。32个采样FIFO,每次采样都通过高通滤波后传入FIFO。典型应用有:电子罗盘,静态姿态、运动检测,笔记本电子书等便携设备的翻滚、自由落体检测,实时的方向检测 可用于虚拟现实设备或 3d游戏中的位置检测,便携设备的节能应用中的运动检测等等。Top ViewVDDIQBYPNCSCLGNDNCGNDST1GN 口IM2芯片外形Top ViewP

2、UPin 1Xout OgYautZout OgEarth GravitySide ViewLLXout 1gYout OgZout OgL.RXout 1gYout OgZout OgBACKXoui Dg Yout Og Zout , igPDXout OgYout 1g 2 out OgFRONTXout OgYout OgZout 1g不同姿态下X、Y、Z三轴对应的重力输出1.6V-3.EVI ntertaoe Voltage ?VDDIOVDDIOJ1JBYPGND;J2-&NC W1MAS451Q IN71 !-1-i.v-3,evO.1p,F匣姆姆ZCvDDICy i g NC

3、| jY5- - - n- -AQIN12!口ZI31&崂:7:4. 7pFSCLO。IMT1。IWT2O SAD典型连接引脚定义如下:引脚编号引脚名称引脚描述引脚状态1VDDIO内部电源供电()输入2BYP旁路电容输入3NC悬空引脚开路4SCLI2C串行时钟漏极开路5GND接地输入6SDAI2C串行数据漏极开路7SA0I2C最低有效位地址输入8NC悬空引脚开路9INT2中断请求引脚2输出10GND接地输入11INT1中断请求引脚1输出12GND接地输入13NC悬空引脚开路14VDD电源()输入15NC悬空引脚开路16NC悬空引脚开路灵敏度由count/g 表示,2g量程下,可达 4096/g

4、 , 4g量程下,可达 2048/g , 8g量程下,可达1024/gMMA8451 犬态转换图MMA8451内部框图,分为数字部分和模拟部分在OFF模式下,数字部分和模拟部分都不工作在STANDB模式下,IIC通信照常进行,但模拟模块被禁止,内部时钟停止在ACTIVE模式下(WAK或SLEEP , IIC通信照常进行,数字和模拟模块都正常工作I2C串行通信MMA845他用I2C串行通信和外部交换数据,MMA81145何通过中断信号指示新的采样序列可用,也可通过设置使用中断信号指示设备的移动、自由落体、瞬变、方向、单 / 双击。I2C总线使用三根信号线进行通信,分别是SCL SDA和SA0,外

5、部上拉电阻需要将SD解口 SCL接到VDDIO上,当总线空闲时,这两根线表现为高电平状态。MMA845例I2C接口可工作在快速模式 400KHz或普通模式100KHz。总线传输开始由START言号触发,START言号定义为,当数据线从高电平跳变到低电平,而时钟线SCL仍然保持高电平。由主机发送 START言号过后,I2C总线被认为从空闲(free )状态进入忙(busy)状态。紧接着 START言号 后主机发送的字节,前 7 位用于指示从机地址,第8 位用于指示数据方向是读出( 1 数据从从机到主机)还是写入( 0 数据从主机到从机) 。 地址发送完毕后, 总线上的所有从机将自己的地址和总线上

6、接收到的地址进行比较, 地址匹配的设备即为主机选中设备。第9个脉冲为应答响应,发送设备必须在这个ACKW期内释放数据线,而接收设备则需要在ACKW期的时钟高电平期间将数据线拉低。SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。停止条件将终止发送器的发送。主机也可重复发出起始(START条件,对于 MMA8451重复的起始条件可用于读取一些特殊的寄存器。MMA8451的地址被设置为 0x1c或0x1d,可用引脚7 (SA0)的高低电平来选择。当SA0为高电平时,0x1d地址被选中有效,当SA0为低电平时,0x1c地址被选中有效。重点概念:START条件:日钟线SCL为

7、高电平期间,数据线从高电平跳变到低电平START弋码,使用IO 口模拟IICI*I2C START 信号 时钟脉冲高电平期间,数据线负跳变*/ void IIC_start(void)IIC_SCL=0;/ 时钟线低IIC_SDA=1;/ 数据线高 _asm(nop);IIC_SCL=1;/ 时钟线高 _asm(nop);_asm(nop);IIC_SCL=0;/ 时钟线低STO陈件:时钟线SCL为高电平期间,数据线从低电平跳变到高电平/*I2C STOP 信号时钟脉冲高电平期间,数据线正跳变*/void IIC_stop(void)IIC_SCL=0;/ 时钟线低_asm(nop);IIC_

8、SDA=0;/ 数据线低_asm(nop);IIC_SCL=1; / 时钟线高_asm(nop);IIC_SDA=1;/ 数据线正跳变_asm(nop);IIC_SCL=0;/ 时钟线低ACK确认,由地址匹配成功的从机在第9个脉冲周期内发出,这时主机释放数据线,从机在时钟高电平期间将数据线置为低电平。MMA8451的 I2C 操作:1.单个字节读 主机发送START紧接着主机给出 7位地址(0x1d或0x1c),并置第8位为0,表示数据从主机到从机。从机匹配地址后,返回确认 ACK言号,接着主机传输 8位寄存器地址,从机返回确认 ACK主机再次发出 START并名出7位从机地址, 并置第 8

9、位为 1 , 表示数据从从机到主机, 从机确认后返回 8 位寄存器数据。 主机不确认, 并发出STOP。注意:除了 START STOP ACK以外,其它数据在时钟高电平期间必须维持不变。STDevice Address6:0内Ffegister Addness7 HSRDevice Address(B: OGRNAKSPMasterAKAKAKData 7,0单个字节读时序主机发送八位数据或地址代码如下(使用IO 口模拟)/*/字节发送程序/发送c(可以是数据也可是地址),送完后接收从应答/不考虑从应答位void send_byte(unsigned char c)unsigned char

10、 i;for(i=0;i8;i+)IIC_SCL=0;if(ci) & 0x80)IIC_SDA=1; 发送 1else IIC_SDA=0; 发送 0_asm(nop);IIC_SCL=1;/时钟高电平_asm(nop);IIC_SCL=0;/时钟低电平_asm(nop);/ 第 9 个脉冲IIC_SDA=1;/发送完8bit ,释放总线准备接收应答位_asm(nop);IIC_SCL=1;_asm(nop); /sda上数据即是从应答位IIC_SCL=0; 不考虑从应答位,但要控制好时序*注意:发送设备地址时,MMA845地址为0011100 (0x1c, SA0=0)或0011101 (

11、0x1d, SA0=1),可将SA0弓I脚直接接地或接高电平,以接高电平为例,地址为 7位,高位在前,地位在后,第8位为数据方向选择,若后续数据为主机到从机,则为 0,若后续数据为从机到主机,则为 1。以单个字节读为例,地址设为0x1d,见时序图,START言号过后,则应发送 00111010,即0x3A可先如下定义,#define MMA8451_ADD 0X3A第二次发送地址,则后续数据为从机到主机,第8位为1,可发送MMA8451_ADD+1可2.多字节读Master 5T Device AddressB:O0 WRegister Addres&7 0 SR Device Address

12、B OO I R IShveAKAKAKAKNAKSPData7 0Data7 即Data7:0多字节读和单字节读基本相同,如果读完单字节后,主机不发送NAK STOP并对从机响应 AK则从机设备会自动将主机发送的寄存器地址加1,并发送对应的寄存器内容,直到主机响应NAK和STOP主机响应AK或NAK序代码如下/*/ 主应答(包含 ack:SDA=0 和 no_ack:SDA=1)/入口参数:ack_main:1,应答ack, 0,无需应答 nak/注:ack: scl高电平期间,数据线低/ nak : scl高电平期间,数据线高void IIC_ack_main(unsigned char

13、ack_main)IIC_SCL=0;if(ack_main)IIC_SDA=0; ack主应答else IIC_SDA=1; no_ack无需应答_asm(nop);IIC_SCL=1;_asm(nop);IIC_SCL=0;3. 单个字节写STDevice Address6:0WRegister Address7 0Data7:0SPSlave AKAKAK单个字节写入和单个字节读略有不同,区别在于发送为寄存器地址后,主机不再重复发送START信号和设备地址,而是直接给出写入的数据。代码如下:4. 多个字节写STDevice AddressB:(JWRegister Address7:0a

14、ta|7:OData7 0SFSlaveAKAKAKAK多个字节写和单个字节写类似,只要主机发送STOP言号,则可以连续写入,写入的寄存器地址自动增加。MMA845倚存器:1. 状态寄存器 STATUS/F_STATUSfe址 0x002. 控制寄存器CTRL_REG 1地址0x2a76543210ASLP_RATE1ASLP_RATE0DR2DR1DR0LNOISEF_READACTIVEASLP_RATE1:0:设置睡眠模式采样频率,默认00DR2:0:数据速率选择。默认为000,800HzDR2DR1DR0数据速率Hz周期ms000800001400010200501110010100502010180110160111640注意:当设备在睡眠模式下,数据输出速率以ASLP_RATE1:0为准,DR设置速率无效。LNOISE3. XYZ数据设置寄存器 XYZ_DATA_CRGM址0x0e76543210000HPF_OUT00FS1FS0HPF_OUT高通滤波器数据输出使能。HPF_OUT=:1 使能;HPF_OUT=0 禁止。FS1:FS0: XYZ量程设置。如下表所示:FS1FS0量程002g014g108g11保留

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1