历史上的今天
返回首页

历史上的今天

今天是:2025年06月03日(星期二)

正在发生

2018年06月03日 | STM32 I2C硬件

2018-06-03 来源:eefocus

1,该模块默认地工作于从模式。接口在生成起始条件后自动地从从模式切换到主模式;当仲裁丢失或产生停止信号时,则从主模式切换到从模式。

2,数据和地址按8位/字节进行传输,高位在前。


3,数据流:SDA线->移位寄存器->DR寄存器


主模式

以起始条件开始并以停止条件结束。当通过START位在总线上产生了起始条件,设备就进入了主模式。

1、检测总线状态,当总线空闲时(I2C_SR2的BUSY=0)。

FlagStatus I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY);

2、设置START=1,产生起始信号。

I2C_ GenerateSTART

起始信号产生后,I2C_SR1的SB位被硬件置位,如果设置中断则产生中断;主设备等待读SR1寄存器,即等待EV5发生。

I2C_CheckEvent(I2Cx,I2C_EVENT_MASTER_MODE_SELECT)。

  当EV5发生时读取状态寄存器值就会自动清除状态位。

3、发送从设备地址

I2C_Send7bitAddress

主设备为发送器时,地址最低位为0;接收器时,地址最低位为1。

I2C_SR1的ADDR位硬件置1,如果设置中断则产生中断;主设备等待读SR1寄存器,即等待EV6发生。

I2C_CheckEvent(I2Cx,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)。

 

主发送器:

4、发送数据,

在发送了地址和清除了ADDR位后,主设备通过内部移位寄存器将字节从DR寄存器发送到SDA线上。主设备等待,直到TxE被清除,
I2C_SendData

  当收到应答信号时,TxE位被硬件置位,即当TxE被硬件置位时就已经收到应答信号。如果设置中断,则产生中断。如果TxE位被置位,但在下一个数据发送结束之前没有新数据写入到I2C_DR寄存器,则BTF位(Byte transfer finished)被置位,在清除BTF之前I2C接口将保持SCL为低电平;读出I2C_SR1之后再写入I2C_DR寄存器将清除BTF位。

5、发送停止信号

   在DR寄存器中写入最后一个字节后,通过设置STOP位产生一个停止条件(见图245的EV8_2),然后I2C接口将自动回到从模式(M/S位清除)。

I2C_GenerateSTOP
注: 当TxE或BTF位置位时,停止条件应安排在出现EV8_2事件时。



主接收器

在发送地址和清除ADDR之后,I2C接口进入主接收器模式。在此模式下,I2C接口从SDA线接收数据字节,并通过内部移位寄存器送至DR寄存器。


推荐阅读

史海拾趣

FTDI [Future Technology Devices International Ltd.]公司的发展小趣事

近年来,FTDI通过并购等方式不断拓展其业务范围。例如,电连技术通过发行股份及支付现金的方式收购了FTDI的部分股权,使FTDI成为其控股子公司。这一并购不仅为电连技术带来了FTDI在USB桥接芯片领域的领先技术,还促进了双方在产品、客户和销售渠道等方面的协同效应。同时,FTDI也借此机会进一步提升了其在新兴市场如汽车电子、物联网等领域的竞争力。

Everspin公司的发展小趣事

Everspin公司成立于XXXX年,总部和晶圆厂均位于美国亚利桑那州的钱德勒市。自成立以来,Everspin一直致力于磁阻随机存取存储器(MRAM)技术的研发和商业化。2006年,Everspin成功推出了业界第一款商业化MRAM产品,这一突破性的技术为数据存储领域带来了革命性的变化。

Analog Microwave Design公司的发展小趣事

随着公司规模的不断扩大,Analog Microwave Design公司开始将目光投向国际市场。为了更好地拓展海外业务,公司制定了一套完善的国际化战略。首先,公司加强了与国际知名企业的合作,通过技术交流和合作研发,提升了公司的技术水平和国际影响力。其次,公司积极参加国际展览和会议,展示公司的最新产品和技术成果,吸引了众多海外客户的关注。通过这些努力,公司的海外业务得到了快速发展,成为公司新的增长点。

博通集成(BEKEN)公司的发展小趣事

随着产品线的不断丰富和技术实力的提升,博通集成开始积极拓展市场。公司凭借优质的产品和服务,赢得了众多客户的信赖和支持。同时,公司注重品牌建设,通过参加行业展会、举办技术研讨会等方式,提升品牌知名度和影响力。如今,博通集成已成为无线连接芯片设计领域的知名品牌。

Crosspoint Solutions公司的发展小趣事

在电子行业的激烈竞争中,Crosspoint Solutions公司凭借一项革命性的技术创新脱颖而出。公司研发出一款高度集成的交叉点开关芯片,该芯片在数据传输速度和稳定性上均达到了行业领先水平。这一创新迅速吸引了各大电子设备制造商的注意,公司因此获得了大量订单,市场份额迅速扩大。

Hama公司的发展小趣事

H&D Wireless始终将产品创新和客户服务放在首位。公司不断推出新的物联网解决方案,以满足不同行业客户的需求。同时,H&D Wireless还建立了完善的客户服务体系,为客户提供全方位的技术支持和解决方案咨询。这种以客户为中心的经营理念赢得了广大客户的信赖和支持,也为公司的持续发展奠定了坚实基础。

以上五个故事展示了H&D Wireless公司在电子行业中的发展历程和成就,体现了其在物联网领域的创新能力和市场竞争力。

问答坊 | AI 解惑

"场效应管对照表"和"外形与管脚排列图"

在场效应管对照表中,收编了美国、日本及欧洲等近百家半导体厂家生产的结型场效应晶体管(JFET)、金属氧化物半导体场次晶体管(MOSFET)、肖特基势垒控制栅场效应晶体管(SB)、金属半导体场效应晶体管(MES)、高电子迁移率晶体管(HEMT)、静电 ...…

查看全部问答>

cpld\fpga\verilog hdl视频教程

cpld\\fpga\\verilog hdl视频教程 入门篇: 第1讲、FPGA设计基础(PDF、视频) 第2讲、FPGA设计入门(视频、课后习题) 第3讲、VerilogHDL基础(PDF、视频、课后习题) 第4讲:Verilog HDL中的组合逻辑设计方法(PDF、视频) 第5讲:ModelSim ...…

查看全部问答>

FPGA/CPLD内部冲突会怎样?烧毁芯片?

程序: module DukeTir(enable0,enable1,out_all); input enable0,enable1; output out_all; assign out_all=(enable0)?(1\'b0):(1\'bz); assign out_all=(enable1)?(1\'b1):(1\'bz); endmodule 综合: 仿真: 实际结果: 还没敢上 ...…

查看全部问答>

笔记本硬件结构终极教程

笔记本硬件结构终极教程…

查看全部问答>

NDIS协议驱动中一个例子程序的疑惑?

参看DDK下的ndisprot例子时候,有这样一段控制代码: 说等待一个全局事件。这个全局变量会在绑定完成 的时候被设置。请问这个全局事件是在哪里设置的? case IOCTL_NDISPROT_BIND_WAIT:             if ...…

查看全部问答>

DS1990R 资料介绍

 DS1990R序列号iButton®是一种非常坚固的高可靠数据载体,用于为自动识别系统提供电子注册码。数据采用1-Wire®协议以串行方式传送,只需一条数据线和一条返回地。每个DS1990R由工厂激光刻录了一个保证唯一性的64位注册码,具有绝对可 ...…

查看全部问答>

面对压力会怎么去调整自己

  [ 本帖最后由 芝锐 于 2011-6-3 10:53 编辑 ]…

查看全部问答>

LM3S811DDLLXXRR笔记之四:AD转换

为了能够使用数字系统(如MCU)处理模拟信号,必须把模拟信号转换成相应的数字信号。能够实现这种转换的电路称为ADC(Analog-to-Digital Converter,模-数转换器)。 ADC能够将连续变化的模拟电压转换成离散的数字量。 Stellaris系列ARM集成有一 ...…

查看全部问答>

MSP430FG4619通过usci_spi与LCD的通信问题,大神们帮帮忙

大家好,我第一次用MSP430FG4619这么高端的芯片,也第一次做LCD的东西,很多地方不懂,请大家多指教。 我现在遇到一些问题,请大家帮我指点一下,先谢谢了 1. 我用的LCD是采用4 pin SPI,那我设置芯片也应该设置为4 pin SPI吗?还是3 pin SPI也行 ...…

查看全部问答>

EXP430FR5739究竟有多好呢?

430FR5739究竟有多好呢? 我觉得需要测试才能说 所以 发帖子是必须的  …

查看全部问答>