IIC重难点-2

一、光环境传感器硬件原理图

二、i.MX6ull I2C控制器介绍

  1. Inter IC (I2C)提供标准I2C从机和主机的功能。I2C被设计为兼容标准NXP I2C总线协议。

  2. I2C是一种双线双向串行总线,它提供了一种简单有效的数据交换方法,最大限度地减少了设备之间的互连。这种总线适用于需要在许多设备之间偶尔进行短距离通信的应用。灵活的I2C标准允许将其他设备连接到总线上,以进行扩展和系统开

2.1 I2C控制器设计

2.2 Clocks

**1.**I2C有两个输入时钟(外围时钟:这个时钟用于外围总线寄存器读/写;模块时钟:这是I2C的功能时钟。串行位时钟频率来源于模块时钟。模块时钟与外设时钟是同步的。在Fast模式下,模块时钟的最小频率应为12.8 MHz,以实现400kbps的工作)。

**2.**I2C的时钟源说明如下表所示。请参阅时钟控制器模块(CCM)时钟设置,配置和门控信息

2.3 Arbitration procedure(仲裁程序)

如果多个设备同时请求总线,总线时钟由一个同步过程确定,其中低周期等于设备中最长的时钟低周期,高周期等于最短的时钟低周期。数据仲裁程序决定了竞争设备的相对优先级。

2.4 Initialization sequence(初始化顺序)

在接口能够传输串行数据之前,必须初始化寄存器,如下所列。

  1. 设置数据采样率(I2C_IFDRIC),从系统总线时钟获取SCL频率。

  2. 更新(I2C_IADR)中的地址以定义其从地址(地址范围从0到0x7f)。

  3. 设置I2C使能位(I2C_I2CRIEN),使能I2C总线接口系统。

  4. 修改I2C_I2CR中的位,使其选择"主从模式"、"收发模式"和"中断使能"。

2.5 Generation of Start(Start的生成)

  1. 初始化程序完成后,可以通过选择主传输模式来发送串行数据。在多主总线系统中,需要测试忙碌的总线(I2C_I2SRIBB)以确定串行总线是否空闲。如果总线是空闲的(IBB = 0),则可以发送起始信号和第一个字节(从机地址)。写入数据寄存器的数据包括所需从机的地址,并且最低有效位指示传输方向

2.停止和下一个开始条件之间的空闲时间内置在生成开始周期的硬件中。根据系统时钟和SCL周期的相对频率,在将调用地址写入数据寄存器(I2C_I2DR)后,可能需要等到I2C不忙,然后再将数据加载到数据寄存器(I2C_I2DR)中

2.6 Generation of Stop(停止的产生)

数据传输结束时,主站发出停止信号,这可能发生在所有数据发送后。对于主接收器终止数据传输,它必须通过不确认最后一个数据字节来通知从站发送器。这是通过在读取倒数第二个字节之前设置传输确认位(I2C_I2CRTXAK)来完成的。在读取最后一个字节之前,必须生成停止信号

2.7 Generation of Repeated Start(重复启动的产生)

在数据传输之后,如果主站仍然需要总线,它可以发出另一个启动信号,后面跟着另一个从站地址,而不用发出停止信号。

2.8 Post-transfer software response(传输后软件响应)

1.发送或接收一个字节设置数据传输位(I2C_I2SRICF),表示一个字节的通信完成。完成后,中断状态(I2C_I2SRIIF)也被设置。如果设置了中断使能(I2C_I2CRIIEN),则会产生外部中断。软件必须首先清除中断例程中的中断状态(I2C_I2SRIIF)。

2.数据传输位(I2C_I2SRICF)通过在接收模式下从I2C_I2DR读取或在传输模式下写入该寄存器来清除。

相关推荐
西城微科方案开发3 小时前
多品类电子秤一体化PCBA整体方案
单片机·嵌入式硬件·电子秤
火花页.4 小时前
【正点原子ZYNQ领航者7020】PS端GPIO中断→按键控制LED实验
单片机·嵌入式硬件
ye150127774554 小时前
4.2V升6V1A同步升压WT3213
单片机·嵌入式硬件·其他·硬件工程
嵌入式小站5 小时前
STM32 可移植教程 02:按键状态机,消抖、长按、释放一行也不用多写(实战篇)
chrome·vscode·stm32·单片机·嵌入式硬件
Szime5 小时前
AD9694 国产替代方案:四通道高速 ADC 在通信与雷达项目中的选型参考
单片机·嵌入式硬件·fpga开发
fanged5 小时前
Datasheet学习6(光机)
嵌入式硬件
芯岭技术郦6 小时前
高性能的 32 位 ARM® Cortex®-M0+内核PY32F002A
单片机·嵌入式硬件
破晓单片机7 小时前
060、STM32项目分享:养老智能手环系统
stm32·单片机·嵌入式硬件
H__Rick7 小时前
C51学习-DAY4
嵌入式硬件·学习·51单片机·硬件工程
csg11078 小时前
PIC16F1947驱动CH376芯片实现SD卡数据存储
单片机·嵌入式硬件·物联网·自动化