L12D23 IIC控制器与MPU6050

一、Exynos4412下的控制器

 (一)IIC中的寄存器

(二)IIC的特点

1、每个器件7bit地址。

2、标准模式下的最大通信速度100kbit/s,最快模式下的最大通信速度400kbit/s。

3、IIC支持主机发送、主机接收、从机发送、从机接收模式。

4、支持终端和轮询,发送完1字节数据会产生中断信号,通知接收方读取。

把要发送的数据放在I2CDS。

地址寄存器用于从机对比第一个字节中的地址。

例:主机发送

 1、工作模式配置

2、写入从机地址

3、产生起始信号

4、发送从机地址

5、等待应答

6、判断是否继续通信

NO:

1)写入发送的1字节数据

2)清除中断挂起位

3)写入的1字节数据被发送

YES:

1)0xD0停止信号

2)清理中断挂起位

3)等待结束

主机接收

主控制器很少作为从机,一般4412做主机,其他传感器作为从机。

二、IIC寄存器详解

I2CADDn:作为从机时,设置地址

I2CLCn:滤波寄存器

(一)I2CCON

1、接收到外部信号后应答信号的产生

接收有意义

2、时钟选择

设置分频倍数,分频越高,通信速度越慢。

3、中断开关

发送和接收完1字节数据,都会产生中断信号

4、中断挂起标志位

只有打开标志位,这个寄存器才有作用,显示是否产生中断。

读走数据之后需要清零。

(二)I2CSTAT

1、设置输出模式

2、产生起始和停止信号

作为主机使用。

 3、收发数据的开关

4、收发数据的状态-只读

(三) I2CADD

做从机时才有用,做主机时没有用。

三、MPU6050原理

4412与MPU6050通信

MPU6050主要作用是测量加速度和角速度

设置陀螺仪和加速度传感器

/****************MPU6050内部常用寄存器地址****************/

#define	SMPLRT_DIV		0x19	//陀螺仪采样率,典型值:0x07(125Hz)
#define	CONFIG			0x1A	//低通滤波频率,典型值:0x06(5Hz)
#define	GYRO_CONFIG		0x1B	//陀螺仪自检及测量范围,典型值:0x18(不自检,2000°/s)
#define	ACCEL_CONFIG	0x1C	//加速计自检及测量范围及高通滤波频率,典型值:0x0(不自检,2G,5Hz)
#define	ACCEL_XOUT_H	0x3B
#define	ACCEL_XOUT_L	0x3C
#define	ACCEL_YOUT_H	0x3D
#define	ACCEL_YOUT_L	0x3E
#define	ACCEL_ZOUT_H	0x3F
#define	ACCEL_ZOUT_L	0x40
#define	TEMP_OUT_H		0x41
#define	TEMP_OUT_L		0x42
#define	GYRO_XOUT_H		0x43
#define	GYRO_XOUT_L		0x44
#define	GYRO_YOUT_H		0x45
#define	GYRO_YOUT_L		0x46
#define	GYRO_ZOUT_H		0x47
#define	GYRO_ZOUT_L		0x48
#define	PWR_MGMT_1		0x6B	//电源管理,典型值:0x00(正常启用)
#define	SlaveAddress	0x68	//MPU6050-I2C地址

 存储x,y,z轴方向上的加速度

温度传感器:

存储x,y,z轴上的角速度

黑点是参考点

电源管理寄存器

地址寄存器

高低电平两种,防止一条总线不同硬件地址相同发生地址冲突,可以通过硬件配置修改地址。

四、MPU6050寄存器读写时序

(一)写入MPU6050

写MPU6050时序,MPU6050只能做从机。

RA:指定寄存器

(二)读取MPU6050

RA指定寄存器

五、作业

简述通过主机从MPU6050中的一个寄存器中读一个字节的数据的过程

1 主机(Exynos4412)发送起始信号
2 主机发送从机地址(MPU6050的地址)及读写方向(写)
3 从机(MPU6050)发送应答信号
4 主机发送一个字节数据(要写的寄存器的地址)
5 从机发送应答信号
6 主机(Exynos4412)发送起始信号
7 主机发送从机地址(MPU6050的地址)及读写方向(读)
8 从机(MPU6050)发送应答信号
9 从机发送一个字节数据(要读的寄存器中的数据)
10 主机发送非应答信号(不再接收更多的数据)
11 主机发送停止信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值