文章目录

  • 一、模块介绍
  • 二、模块主要参数
  • 三、XYZ三轴加速度传感器的工作原理简介
  • 四、MMA7455L引脚说明。
  • 五、加速度模块引脚说明
  • 六、模块三轴分布示意图与典型加速度下数字量输出
  • 七、接线原理图及软件程序控制
    • I2C通讯模式
    • SPI通讯模式
  • 编程

一、模块介绍

模块的主芯片运用freescale公司的MMA7455L芯片,模块设计在主芯片的基础上加入了简单的外围电路,使用者只需做简单的改动就可以在I2C和SPI两种接口方式之间简单变换,不需另外加入电路,让使用者使用起来更加方便。它可以实现基于运动的功能,如游戏控制、手持终端和倾斜滚动的自由落体硬盘保护等。具有更高的封装高度、但价格却更低。

MMA7455L是一款三轴的加速度传感器,它能检测物体的运动和方向它根据物体的运动和方向来改变输出信号的电压值。各个轴在不运动或者失重的状态下(0g) ,其输出为1.65V。如果沿着某个方向运动,或者受到重力作用,输出电压就会根据设定的灵敏度相应的改变。然后通过I2C或者SPI的方式读取代表物体运动和方向的数值

MMA7455L是一款数字输出、低功耗、紧凑型电容式微机械加速度计,具有信号调理、低通滤波器、温度补偿、自测、可配置通过中断引脚(INT1或INT2)检测0g、以及脉冲检测(用于快速运动检测)等功能。0g偏置和灵敏度是出厂配置,无需外部器件。客户可使用指定的0g寄存器和g-Select量程选择对0g偏置进行校准,量程可通过命令选择3个加速度范围(2g/4g/8g)。

二、模块主要参数

●Z轴自测
●低压操作: 2.4V - 3.6V
●用于偏置校准的用户指定寄存器
●可编程阀值 中断输出
●电平检测模式运动识别 (冲击、震动、自由下落)
●脉冲检测模式单脉冲或双脉冲识别
●灵敏度64LSB/g@2g/8g位模式
●8 位模式的可选灵敏度(士2g、士4g、 士8g)
●环境温度: -40~85 摄氏度
●可靠的设计、 高抗震性(5000g)
●外形尺寸: 3mm5mm lmm
●环保型产品
●低成本

三、XYZ三轴加速度传感器的工作原理简介

MMA7455L加速度传感器主要由两部分组成:G-单元和信号调理ASIC电路

  1. G-单元是机械结构,它是用半导体制作技术、有多晶硅半导体材料制成,并且是密封的,上图中的积分、放大、滤波、温度补偿、控制逻辑和EEPROM相关电路、振荡器、始终生成器、以及自检等电路组成,完成G-单元测量的电容值到电压输出的转换

    G-单元的功能等效于上图所示,它相当于在两个固定的电容板中间放置一个可移动的极板。当有加速度作用于系统时,可移动的极板偏离起始位置。可移动极板与其中一个固定极板的距离增加,同时与另一个固定极板的距离减少,距离的变化使两个两个等效电容的值发生变化(如图)。总结而言,G-单元的原理是利用可移动的极板偏离起始位置的距离,来改变两个电容的值。
  2. 信号调理ASIC电路

    信号调理ASIC电路将G-单元测量的两个电容值转换成加速度值,并使加速度与输出电压成正比。当测量完毕后,在INT1/INT2 输出高电平,用户可以通过I2C和SPI接口读取MMA7455L内部的寄存器的值,判断运动的方向。自检单元用于保证G-单元和加速计芯片中的电路工作正常,输出电压成比例。

四、MMA7455L引脚说明。




五、加速度模块引脚说明

六、模块三轴分布示意图与典型加速度下数字量输出

七、接线原理图及软件程序控制

传统的加速度传感器一般为模拟输出,用户需要AD采样后,将模拟量转换为数字量,
再进行数据处理。MMA7455提供数字接口,用户直接读取MMA7455L的寄存器得到输出
数字量,方便用户的数据处理,在没有AD接口的MCU.上照常使用。I2C总线通讯可以使
用MCU硬件I2C单元,也可以使用模拟I2C通讯,对MCU的支持更加广泛。

下图为模块与控制器连接示意图,图中的电容电阻模块已经集成,不用再加。

I2C通讯模式

1、与控制器的接线示意图

2、软件控制时序

  • 单字节读取时序
  • 多字节读取时序
  • 单字节写入
  • 多字节写入

    <备注>
    ST:Start condition
    SR:Repeated Start condition
    SP:Stop condition
    AK:Acknowledge
    NAK:No Acknowledge
    R:Read=1
    W:Write=0

SPI通讯模式

1、与控制器的接线示意图

2、软件控制
有4线8位寄存器读取,3线8位寄存器读取,3线8位寄存器写入

编程

/ **********************************************************/
/ **************         I2C通信部分           **************/
/ **********************************************************/
void iic_start()//函数功能: I2C通信开始
{sda=l;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 ;sc1=1;iic_ delay();ack_ sign=sda;scl=0;
}void ic_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;elsesda=0;iic_delay() ;scl=1;iic_delay();scl=0;iic_delay();temp1 = temp1<<1;}
}char ic_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;
}

spi通信惯例

/ **************SPI通信部分***************/
/ ***************************************/
void main()
{uchar aa[3];WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 MMA7455_ Init() ;while(1){MMA_WR_Data(0x16, 0x15) ;aa[x] = MMA_RD_Data (0x06) ;aa[y] = MMA_RD_Data (0x07) ;aa[z] = MMA_RD_Data (0x08) ;_N0P() ;}
}void MMA_ WR_ Byte (uchar data)
{uchar i ;CLR_MMA_SCL;for(i=0;i<8;i++){if (data&Ox80){SET_ MMA_ _SDA;}else{CLR_MMA_SDA;}SET_MMA_SCL;data <<= 1;CLR_MMA_SCL;}
}uchar MMA_RD_Byte()
{uchar data, i;CLR_ MMA_ SCL;for(i=0;i<8;i++){data <<= 1;SET_MMA_SCL;if(RD_MMA_SDO)data|= 0x01;CLR_ MMA_ SCL;}return data;
}uchar MMA_ _RD_ Data (uchar cmd)
{uchar data;cmd &= 0x3f;CLR_MMA_CS;MA_WR_Byte ((cmd<<1));data = MMA_RD_Byte() ;SET_MMA_CS;return data;
}
void MMA_ WR_ Data (uchar cmd, uchar data)
{cmd &= 0x3f;CLR_MMA_CS;MA_WR_Byte((cmd<<1) +0x80) ;MMA_WR_Byte (data) ;SET_MMA_CS;
}
void MMA7455_ Init()
{MMA_COM_INIT;MMA_SDO_INPUT ;SET_MMA_CS;CLR_MMA_SCL;
}

MMA7455L笔记相关推荐

  1. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  2. 【运维学习笔记】生命不息,搞事开始。。。

    001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...

  3. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

  4. pandas以前笔记

    # -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...

  5. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  6. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  8. 王道考研 计算机网络笔记 第六章:应用层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  9. 王道考研 计算机网络笔记 第五章:传输层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  10. 王道考研 计算机网络笔记 第四章:网络层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

最新文章

  1. git的一些常用命令
  2. 正则表达式中的非捕获组是什么?
  3. cmake 入门学习
  4. 【python 2】python 进阶
  5. jenkins~集群分发功能和职责处理
  6. 【转】ABP源码分析二十一:Feature
  7. 模型有锯齿_小雕课堂 | 最好的抗锯齿,画质保留提升帧数
  8. 自治系统中单个路由表的构造
  9. (转)kafka 详解
  10. PHP学习记录(一)
  11. 调用css样式是不调用某个属性,CSS选择器可以引用另一个选择器属性吗?
  12. Sliverlight中xap文件详解
  13. 调研分析-全球与中国工业电源插头和插座市场现状及未来发展趋势
  14. badboy录制过程不能登录, 提示脚本错误详解
  15. 怎么在地图上标注自己的店铺
  16. EasyPoi导出Excel实现标记颜色
  17. 被微软收购两年后,GitHub 怎么样了?
  18. 我如何使用iPad作为学习工具
  19. OV代码签名和EV代码签名证书区别
  20. STM32 PWM输出原理和直流电机PWM驱动原理详解及例程

热门文章

  1. Elasticsearch:使用 Debian 软件包安装 Elasticsearch
  2. 图标搜索引擎:Findicons
  3. php 生成圆形 图片,php 图片处理 - 将图片变成圆形
  4. 中信证券:降准并非货币宽松 缺口或达9000亿
  5. ESP8266开发之旅 阿里云物联网平台篇⑥ LED智能灯控制系统 全面讲解,上手一个小项目(MQTT客户端直连 + Web配网 + WebSocket局域网通信)
  6. 固定翼飞机数学建模入门(姿态角篇)
  7. Android 支付宝支付功能实现
  8. bi工具市场排行榜-bi工具报价
  9. 每天一个RL基础理论(7)——总结篇
  10. JavaScript判断鼠标中键滑轮的上下滚动