【实验目的】
掌握I2C协议的内容,了解I2C接口的特点。
了解陀螺仪MMA8451的用途及数据采集过程。
熟悉s5p6818处理器的I2C配置,完成通过I2C读取MMA8451三轴加速度传感器芯片和加速度的改变实现计步功能数据的实验。
实验平台:
FS_6818开发平台,Ubuntu,secureCRT。
【实验原理】
I2C (Inter-Integrated Circuit)协议是由Phiilps公司开发的,由于它具引脚少,硬件实现简单,可扩展性强,不需要如USART、CAN的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。
I2C总线协议:
I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。
这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。
I2C接口特性
STM32的中等容量和大容量型号的芯片均有多达2个的I2C总线接口。
能够工作于多主模式或从模式,分别为主接收器,主发送器,从接收器及从发。
支持标准模式100Kbit/s和快速模式400Kbit/s,不支持高速模式。
支持7位或10位寻址。
内置了硬件CRC发生器/校验器。
I2C的接收和发送都可以使用DMA操作。
支持系统管理总线(SMBus)总线2.0版。






本文介绍了I2C协议的基本原理和特性,详细讲解了如何在FS_6818开发平台上使用I2C读取MMA8451三轴加速度传感器数据,并实现计步功能。通过代码示例展示了I2C总线的初始化、数据传输过程以及传感器数据的读取方法。
最低0.47元/天 解锁文章
2641

被折叠的 条评论
为什么被折叠?



