智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3726|回复: 3
打印 上一主题 下一主题

MMA7455L使用由基础到深入——红树伟业

[复制链接]

3

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
376
威望
235
贡献
129
兑换币
0
注册时间
2011-12-18
在线时间
6 小时
跳转到指定楼层
1#
发表于 2012-4-7 21:51:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、模块介绍
模块的主芯片运用freescale公司的MMA7455L芯片,模块设计在主芯片的基础上加入了简单的外围电路,使用者只需做简单的改动就可以在I2CSPI两种接口方式之间简单变换,不需另外加入电路,让使用者使用起来更加方便。它可以实现基于运动的功能,如游戏控制、手持终端和倾斜滚动的自由落体硬盘保护等。具有更高的封装高度、但价格却更低。
       MMA7455L是一款三轴的加速度传感器,它能检测物体的运动和方向,它根据物体的运动和方向来改变输出信号的电压值。各个轴在不运动或者失重的状态下(0g,其输出为1.65V。如果沿着某个方向运动,或者受到重力作用,输出电压就会根据设定的灵敏度相应的改变。然后通过I2C或者SPI的方式读取代表物体运动和方向的数值
MMA7455L是一款数字输出、低功耗、紧凑型电容式微机械加速度计,具有信号调理、低通滤波器、温度补偿、自测、可配置通过中断引脚(INT1 INT2)检测 0g、以及脉冲检测(用于快速运动检测)等功能。0g偏置和灵敏度是出厂配置,无需外部器件。客户可使用指定的0g寄存器和g-Select量程选择对0g偏置进行校准,量程可通过命令选择 3个加速度范围(2g/4g/8g)。
二、XYZ三轴加速度传感器的工作原理简介
MMA7455L加速度传感器主要由两部分组成:G-单元和信号调理ASIC电路(见上图)。G-单元是机械结构,它是用半导体制作技术、有多晶硅半导体材料制成,并且是密封的,上图中的积分、放大、滤波、温度补偿、控制逻辑和EEPROM相关电路、振荡器、始终生成器、以及自检等电路组成,完成G-单元测量的电容值到电压输出的转换。
G-单元的功能等效于上图所示,它相当于在两个固定的电容板中间放置一个可移动的极板。当有加速度作用于系统时,可移动的极板偏离起始位置。可移动极板与其中一个固定极板的距离增加,同时与另一个固定极板的距离减少,距离的变化使两个两个等效电容的值发生变化(如图)。总结而言,G-单元的原理是利用可移动的极板偏离起始位置的距离,来改变两个电容的值。
信号调理ASIC电路将G-单元测量的两个电容值转换成加速度值,并使加速度与输出电压成正比。当测量完毕后,在INT1/INT2输出高电平,用户可以通过I2CSPI接口读取MMA7455L内部的寄存器的值,判断运动的方向。自检单元用于保证G-单元和加速计芯片中的电路工作正常,输出电压成比例。
三、MMA7455L引脚说明
四、加速度模块引脚说明
五、模块三轴分布示意图与典型加速度下数字量输出
六、接线原理图及软件程序控制
传统的加速度传感器一般为模拟输出,用户需要A/D采样后,将模拟量转换为数字量,再进行数据处理。MMA7455提供数字接口,用户直接读取MMA7455L的寄存器得到输出数字量,方便用户的数据处理,在没有A/D接口的MCU上照常使用。I2C总线通讯可以使用MCU硬件I2C单元,也可以使用模拟I2C通讯,对MCU的支持更加广泛。
下图为模块与控制器连接示意图,图中的电容电阻模块已经集成,不用再加。
(一)  I2C通讯模式
1、与控制器的接线示意图
2、软件控制时序
<单字节读取>
<多字节读取>
<单字节写入>
<多字节写入>
(二)SPI通讯模式
  (1)与控制器的接线示意图
2)软件控制
<四线模式_八位寄存器读>
<三线模式_八位寄存器读>
<三线模式_八位寄存器写>
七、模块电路原理图
八、参考例程(I2C通讯模式例程)
/*******************************************************************/
/**************             I2C通信部分              ***************/
/*******************************************************************/
void iic_start()               //函数功能:I2C通信开始
{
    sda=1;
    iic_delay();
    scl=1;
    iic_delay();
    sda=0;
    iic_delay();
   
}
void iic_stop()                //函数功能:I2C通信停止
{
    sda=0;
    iic_delay();
    scl=1;
    iic_delay();
    sda=1;
    iic_delay();
   
}
void iic_ack()                 //函数功能:I2C通信查应答位
{   
    sda=1;
    scl=1;
    iic_delay();
    ack_sign=sda;
    scl=0;   
}
void iic_write_byte(uchar wdata)//函数功能:向I2C从机写入一个字节
{
     uchar i,temp,temp1;
     temp1=wdata;
     for(i=0;i<8;i++)
    {
                scl = 0;
              iic_delay();
              temp=temp1;
              temp=temp&0x80;
              if(temp==0x80)
                  sda=1;            
              else
                  sda=0;
                  iic_delay();
                  scl=1;
                  iic_delay();
                  scl=0;
                  iic_delay();
                  temp1=temp1<<1;
           
    }
}
char iic_read_byte(void)        //函数功能:从I2C从机中读出一个字节
{
     uchar x;
     char data_data;
     for(x=0;x<8;x++)
    {   
        data_data=data_data<<1;
       sda=1;
       iic_delay();
       scl=0;
       iic_delay();
       scl=1;
       iic_delay();
       if(sda==1)
          data_data|=0x01;
       //else  
       //   data_data&=0xfe;
    }
    return data_data;
}
void iic_write(uchar byte_add,uchar wdata)//函数功能:按地址写入一字节数据
{
     uchar t;
     t=(IIC_WRITE<<1);
     iic_start();
     iic_write_byte(t);
     iic_ack();
     iic_write_byte(byte_add);
     iic_ack();
     iic_write_byte(wdata);
     iic_ack();
     iic_stop();
}
char iic_read(uchar byte_add)            //函数功能:按地址读出一字节数据
{
     uchar t;
     char x;
     t=(IIC_WRITE<<1);
     iic_start();
     iic_write_byte(t);
     iic_ack();
     iic_write_byte(byte_add);
     iic_ack();
     t=((IIC_READ<<1)|0x01);
     iic_start();
     iic_write_byte(t);
     iic_ack();
     x=iic_read_byte();
     iic_ack();
     iic_stop();
     return x;
}
十、模块说明
红树伟业推出的MMA7455L模块,设计使用官方推荐设计,板卡线路经过高电磁兼容设计和优化,具有输出精确,体积小,工作可靠,各种标识清晰,扩展性好等特点。模块外围电路简单,原理易懂,使用方便可靠。有I2CSPI两种通讯模式,广泛满足各类MCU与之链接。它是MMA7660的升级版,精度更高,采集速度更快,为小车比赛有较高要求的朋友提供一个新的解决方案。
本期模块介绍刀子结束,欢迎大家一起关注我们红树伟业,我们共同讨论,共同学习,共同进步,你们的批评与建议,我们才能做到更好。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

1

主题

167

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2829
威望
1486
贡献
669
兑换币
147
注册时间
2009-8-14
在线时间
337 小时
2#
发表于 2012-4-15 13:17:46 | 只看该作者
感谢楼主分享啊
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
35
威望
101
贡献
24
兑换币
0
注册时间
2012-5-2
在线时间
1 小时
毕业学校
cjlu&nuaa
3#
发表于 2012-5-2 13:07:50 | 只看该作者
我的7660程序调出来,可以直接换7455吗?
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
威望
136
贡献
58
兑换币
11
注册时间
2012-8-15
在线时间
6 小时
毕业学校
聊城大学
4#
发表于 2012-9-7 20:23:56 | 只看该作者
谢谢楼主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-7-8 15:20 , Processed in 0.057941 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表