欢迎来到天天文库
浏览记录
ID:10491178
大小:151.00 KB
页数:7页
时间:2018-07-06
《mma8451三轴加速度传感器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MMA8451三轴加速度传感器,16引脚,QFN封装,数字I2C输出,8位/14位精度可选,量程2g/4g/8g可选,电源供电1.95v~3.6v可选。输出数据速率从1.56到800Hz。有两个可编程的中断引脚,7个中断源。可检测自由落体、运动、脉冲、振动等、倾角等。32个采样FIFO,每次采样都通过高通滤波后传入FIFO。典型应用有:电子罗盘,静态姿态、运动检测,笔记本电子书等便携设备的翻滚、自由落体检测,实时的方向检测可用于虚拟现实设备或3d游戏中的位置检测,便携设备的节能应用中的运动检测等等。芯片外形不同姿态下X、Y、Z三轴对应的重
2、力输出典型连接引脚定义如下:引脚编号引脚名称引脚描述引脚状态1VDDIO内部电源供电(1.62~3.6v)输入2BYP旁路电容输入3NC悬空引脚开路4SCLI2C串行时钟漏极开路5GND接地输入6SDAI2C串行数据漏极开路7SA0I2C最低有效位地址输入8NC悬空引脚开路9INT2中断请求引脚2输出10GND接地输入11INT1中断请求引脚1输出12GND接地输入13NC悬空引脚开路14VDD电源(1.95~3.6v)输入15NC悬空引脚开路16NC悬空引脚开路灵敏度由count/g表示,2g量程下,可达4096/g,4g量程下,可达2
3、048/g,8g量程下,可达1024/gMMA8451状态转换图MMA8451内部框图,分为数字部分和模拟部分在OFF模式下,数字部分和模拟部分都不工作在STANDBY模式下,IIC通信照常进行,但模拟模块被禁止,内部时钟停止在ACTIVE模式下(WAKE或SLEEP),IIC通信照常进行,数字和模拟模块都正常工作I2C串行通信MMA8451使用I2C串行通信和外部交换数据,MMA8451可通过中断信号指示新的采样序列可用,也可通过设置使用中断信号指示设备的移动、自由落体、瞬变、方向、单/双击。I2C总线使用三根信号线进行通信,分别是SC
4、L、SDA和SA0,外部上拉电阻需要将SDA和SCL接到VDDIO上,当总线空闲时,这两根线表现为高电平状态。MMA8451的I2C接口可工作在快速模式400KHz或普通模式100KHz。总线传输开始由START信号触发,START信号定义为,当数据线从高电平跳变到低电平,而时钟线SCL仍然保持高电平。由主机发送START信号过后,I2C总线被认为从空闲(free)状态进入忙(busy)状态。紧接着START信号后主机发送的字节,前7位用于指示从机地址,第8位用于指示数据方向是读出(1数据从从机到主机)还是写入(0数据从主机到从机)。地址
5、发送完毕后,总线上的所有从机将自己的地址和总线上接收到的地址进行比较,地址匹配的设备即为主机选中设备。第9个脉冲为应答响应,发送设备必须在这个ACK周期内释放数据线,而接收设备则需要在ACK周期的时钟高电平期间将数据线拉低。SCL线是高电平时,SDA线由低电平向高电平切换,这个情况表示停止条件。停止条件将终止发送器的发送。主机也可重复发出起始(START)条件,对于MMA8451,重复的起始条件可用于读取一些特殊的寄存器。MMA8451的地址被设置为0x1c或0x1d,可用引脚7(SA0)的高低电平来选择。当SA0为高电平时,0x1d地址
6、被选中有效,当SA0为低电平时,0x1c地址被选中有效。重点概念:START条件:时钟线SCL为高电平期间,数据线从高电平跳变到低电平START代码,使用IO口模拟IIC/*******************************************I2CSTART信号时钟脉冲高电平期间,数据线负跳变********************************************/voidIIC_start(void){IIC_SCL=0;//时钟线低IIC_SDA=1;//数据线高_asm(nop);IIC_SCL=1;
7、//时钟线高_asm(nop);IIC_SDA=0;//数据线从高跳变到低_asm(nop);IIC_SCL=0;//时钟线低}STOP条件:时钟线SCL为高电平期间,数据线从低电平跳变到高电平/*******************************************I2CSTOP信号时钟脉冲高电平期间,数据线正跳变********************************************/voidIIC_stop(void){IIC_SCL=0;//时钟线低_asm(nop);IIC_SDA=0;//数据线低
8、_asm(nop);IIC_SCL=1;//时钟线高_asm(nop);IIC_SDA=1;//数据线正跳变_asm(nop);IIC_SCL=0;//时钟线低}ACK:确认,由地址匹配成功的
此文档下载收益归作者所有