历史上的今天
返回首页

历史上的今天

今天是:2024年10月22日(星期二)

正在发生

2021年10月22日 | stm32专题十六:IIC(一)硬件结构框图

2021-10-22 来源:eefocus

STM32的I2C特性及架构:


1 硬件实现协议:


        由STM32的I2C片上外设专门负责实现I2C通讯协议,只要配置好该外设,它就会自动根据协议要求产生通讯信号,收发数据并缓存起来,CPU只要检测该外设的状态和访问数据寄存器,就能完成数据收发。这种由硬件外设处理I2C协议的方式减轻了CPU的工作,且使软件设计更加简单。


        stm32的硬件IIC,在某些情况下会出现错误,但也没有必要去纠结这个问题。


2 软件模拟协议:使用CPU直接控制通讯引脚的电平,产生出符合通讯协议标准的逻辑。


        STM32的I2C外设可用作通讯的主机及从机,支持100Kbit/s和400Kbit/s的速率,支持7位、10位设备地址,支持DMA数据传输,并具有数据校验功能。


stm32硬件IIC的内部:

1 通讯引脚


IIC1

IIC2

2 时钟控制逻辑


时钟控制逻辑,直接通过一些信号线与SCL引脚相连,通过这些硬件逻辑控制SCL线。时钟控制寄存器CCR,配置了SCL线的模式(标准模式100kHz,快速模式400kHz)、速度、占空比等参数,而实际上,标准库函数会帮我们计算好的,不需要每次都去手动计算。

这里计算分频系数,如何理解?


以标准模式为例,APB1总线的时钟信号PCLK1 = 36M,则T(PCLK1) = (1/36)ns,要产生100kHz的频率,则CCR必须写入的值为:2 * CCR * (1 / 36)ns = 100kHz,计算得到CCR = 180。

3 数据控制逻辑


        连接到SDA引脚。


        I2C的SDA信号主要连接到数据移位寄存器上,数据移位寄存器的数据来源及目标是数据寄存器(DR)、地址寄存器(OAR)、


PEC(帧校验)寄存器以及SDA数据线。


首先来看数据寄存器DR


当向外发送数据的时候,数据移位寄存器以“数据寄存器”为数据源,把数据一位一位地通过SDA信号线发送出去;


当从外部接收数据的时候,数据移位寄存器把SDA信号线采样到的数据一位一位地存储到“数据寄存器”中;

比较器的作用:IIC会有一个自身地址寄存器,用于作为从机。当作为从机时,必须要有IIC设备地址,通过软件配置可以写入到自身地址寄存器内。当主机寻址时,比较器会将地址比较,来确定主机是否在叫自己。

PEC寄存器:用于做数据校验,几乎不用。


4 整体控制逻辑


        包含控制寄存器CR1 CR2和状态寄存器SR1 SR2。


整体控制逻辑负责协调整个I2C外设,控制逻辑的工作模式根据我们配置的“控制寄存器(CR1/CR2)”的参数而改变。其中,CR1寄存器控制各种起始、结束的使能,CR2寄存器管理中断。

还有一个比较重要的地方:

配置的是CR2寄存器的FREQ[5:0]位:

在外设工作时,控制逻辑会根据外设的工作状态修改“状态寄存器(SR1和SR2)”,只要读取这些寄存器相关的寄存器位,就可以了解I2C的工作状态,这个非常重要,我们编程时要参考这些标志位。接下来,详细的看一下每个标志位的意义。

这些标志位,对应了IIC的时序图种,产生的各种事件标志。

然后是状态寄存器CR2


推荐阅读

史海拾趣

圣邦微电子(Fangtek)公司的发展小趣事

厦门法拉电子(Faratronic)公司的发展故事

故事一:初创与转型

厦门法拉电子的故事始于1955年,当时它以竹器合作社的形式创立。随着时代的变迁,公司在1967年敏锐地捕捉到了薄膜电容器市场的潜力,开始涉足这一领域,正式步入电子行业。这一转型为公司未来的发展奠定了坚实的基础。1970年,为了更加专业化的发展,公司更名为厦门市电容器厂,进一步明确了发展方向。通过不断的努力,法拉电子逐渐在薄膜电容器领域崭露头角。

故事二:技术引进与自动化生产

1983年是法拉电子发展历程中的一个重要节点。这一年,公司引进了国外先进的技术和设备,实现了生产过程的自动化。这一举措不仅显著提高了生产效率,还使得产品质量得到了大幅提升。自动化生产的实现,让法拉电子在竞争激烈的市场中更具优势,为其后续的发展提供了强有力的支持。

故事三:铝金属化膜的创新

1994年,法拉电子再次迈出了关键一步,成功开发出铝金属化膜。这一创新不仅使得公司的产品线得以向上游延伸,还显著缩短了电容器产品的交货时间。铝金属化膜的推出,进一步巩固了法拉电子在薄膜电容器行业的市场地位,为其后续的市场扩张奠定了坚实的基础。同年,公司更名为厦门市法拉发展总公司,标志着其业务规模和战略的升级。

故事四:股份制改革与上市

1998年,法拉电子进行了股份制改革,正式转变为厦门法拉电子股份有限公司。这一改革标志着公司正式迈入了现代化企业的新阶段。2002年,法拉电子的股票在上海证券交易所成功挂牌上市,实现了资本市场的突破。上市不仅为公司筹集到了更多的发展资金,还提升了公司的知名度和品牌影响力,为其后续的发展注入了新的动力。

故事五:全球化市场布局

进入21世纪后,法拉电子开始积极布局全球化市场。公司凭借优质的产品和服务,赢得了全球客户的认可。特别是在新能源汽车和光伏领域,法拉电子的市场份额不断扩大。2009年,公司搬迁至海沧新区,进一步提升了生产能力和研发实力。目前,法拉电子已成为全球薄膜电容器行业的领先者,产品广泛应用于照明、通讯、家电、工业控制、汽车电子等多个领域,为全球客户提供了一站式的解决方案。

Artesyn Embedded Technologies公司的发展小趣事

随着5G技术的商用化,电子行业迎来了新的发展机遇。Artesyn Embedded Technologies敏锐地把握住了这一机遇,积极研发适应5G时代需求的电源和嵌入式计算解决方案。公司推出的新产品不仅满足了5G设备对高效、稳定电源的需求,也为公司在5G时代的发展奠定了坚实的基础。

Amprobe公司的发展小趣事

Artesyn Embedded Technologies自1981年成立以来,一直致力于电源产品的研发与创新。在20世纪90年代,公司推出了一款具有突破性的精密电源产品,该产品以其高效能、低能耗的特点迅速在市场中获得了认可。这一成功不仅使公司获得了更多的市场份额,也为后续产品的研发奠定了坚实的基础。

Advanced Power Solutions公司的发展小趣事

面对日益激烈的国际竞争,Advanced Power Solutions决定实施全球化战略。公司先后在多个国家和地区设立了研发中心和生产基地,以便更好地满足当地市场的需求。同时,公司还加强了与国际同行的交流与合作,共同推动电源管理技术的发展。这些举措使公司的竞争力得到了显著提升,也为公司的长远发展奠定了坚实基础。

雅特力(Artery)公司的发展小趣事

在发展过程中,雅特力积极寻求与其他企业的战略合作,以实现共赢发展。通过与上下游企业建立紧密的合作关系,雅特力不仅确保了供应链的稳定性和高效性,还获得了更多的技术支持和市场资源。同时,雅特力还注重与同行业企业的交流与合作,共同推动电子行业的进步与发展。这些战略合作不仅增强了雅特力的综合实力和市场竞争力,也为整个电子行业的繁荣做出了积极贡献。

综上所述,雅特力公司通过技术创新、全球市场布局、企业社会责任、人才培养和战略合作等多个方面的努力,实现了从初创企业到行业领军者的华丽转身。这些故事不仅展现了雅特力的发展历程和成就,也揭示了其在电子行业中的重要地位和影响力。

eLED.com Corp公司的发展小趣事

随着国内市场的逐渐饱和,eLED.com Corp开始将目光投向国际市场。公司积极参与各类国际展会,向全球客户展示其优质的产品和技术。同时,eLED.com Corp还与国际知名企业开展合作,共同研发新技术,推动LED行业的发展。通过与国际巨头的合作,eLED.com Corp不仅提升了自身的技术水平,还拓展了国际市场,实现了品牌的全球化布局。

问答坊 | AI 解惑

接触功放电路发生的奇怪现象

今天遇到一个奇怪的现象: 我做了两种不同的功放:     一个是LM386N搭建的电路(5V供电,单端输入,差分输出)     另一个是MAX9700搭建的电路(3.3V供电,单端输入,差分输出) 功放输入用相同的音源,音源芯片的电压等 ...…

查看全部问答>

一封来自大四学生的信,虚心请教

开始做一下自我介绍吧,我是一名湘潭大学05级自动化专业的学生。性格能内能外,觉得 还应该不断完美。下面说一说我大学前面三年的生活吧。     大一大二没学什么课外的知识,平平淡淡,如果参加社团不算的话。大三有机会能够跟一 个老 ...…

查看全部问答>

不间断电源,三绕组变压器知识(就是免费)

本帖最后由 paulhyde 于 2014-9-15 09:34 编辑 大家可能都是新来的没钱,最近都是比较忙的。所以有的资料还是应该共享一下。以后可以慢慢来弄芯币,但是我觉得最近几天还是应该open一下。抛砖引玉!另外,我弄的大多是电源类的,所以其他方面的比 ...…

查看全部问答>

这个狗咋不听话呢

用看门狗是TC1232 一般的狗都是周期性给它个脉冲即可 看tc1232的说明书不大明白 小弟经验不足  喂狗时要让保持一定长的低电平   而这个喂狗周期好像也是这个长度   这样的话要不停地喂吗 肯定我哪里理解错了  ...…

查看全部问答>

msp430f5438用I2C读TMP275没有反应!

msp430f5438用I2C读TMP275没有反应!那位用过430的I2C模块,请指点一下!谢谢!…

查看全部问答>

串口的问题已经搞定 给一些还在困惑中的朋友一点光明

已经搞定 问题的原因1:max232的电容用的是25V/1uf 的电解电容,应该用50V的 问题的原因1:但是买电脑不带串口,只是有串口的扩展插口,但是插口与正常的顺序不一样,按标准的改过来就可以了…

查看全部问答>

电子变压器在电源技术中的作用

引言   电源装置,无论是直流电源还是交流电源,都要使用由软磁磁芯制成的电子变压器(软磁电磁元件)。虽然,已经有不用软磁磁芯的空芯电子变压器和压电陶瓷变压器,但是,到现在为止,绝大多数的电源装置中的电子变压器,仍然使用软磁磁芯。因此 ...…

查看全部问答>

169怎么用timer_b计时器啊??求timer_b中断服务程序例程!!!!

求timer_b中断服务程序例程!!!!谢谢高手!!!…

查看全部问答>

转让TI 28035 DSP板子,带仿真器

转让TI 28035 DSP板子,带仿真器  价格最低450…

查看全部问答>