历史上的今天
返回首页

历史上的今天

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

正在发生

2021年10月22日 | stm32专题十七:AT24C02

2021-10-22 来源:eefocus

AT24C02的数据手册


1 硬件连接:直接是连接到I2C1的SCL SDA引脚(PB6 PB7)上,因此可以使用硬件I2C

2 存储容量描述

可以看到,AT24C02共有256个字节。跟Flash类似,EEPROM也分成不同的页。AT24C02共有32页,每页8个字节,共256字节。

支持400kHz的通讯速率(IIC快速模式)

3 引脚说明

4 设备描述

5 地址选择

6 写数据


字节写入

       字节写入操作,需要8位的数据字地址跟随在设备字地址和应答位之后。当EEPROM接收到这个地址后,会再次响应0(初次响应为设备地址)。然后计时第一个8位数据。在收到8位数据后,EEPROM会输出0,此时寻址设备(如单片机)必须以停止条件来终止写入序列。此时EEPROM进入内部定时写周期(tWR),写入到非易失性存储器。在这个写周期内,所有输入都被禁止,EEPROM将不会响应,知道写入完成。

页写入

注意,EEPROM在进行页写入时,会存在一个数据覆盖的问题。所以,在对EEPROM进行页写入时,要注意8字节对齐。就是地址为0 8 16 ...才是非常正确的数据,不然如果起点是一个页的中间,后面的数据其实会翻转到页的起始处。

       数据字地址低三(1K / 2K)或四(4K,8K,16K)位在接收到每个数据字后在内部递增。 较高的数据字地址位不递增,保留存储器页行位置。 当内部生成的字地址到达页边界时,后面的字节放在同一页的开头。 如果将超过8个(1K / 2K)或16个(4K,8K,16K)数据字传输到EEPROM,则数据字地址将“翻转”,之前的数据将被覆盖。

       还有一个非常值得注意的,因为写入数据非常耗时(所以我们才需要RAM),每当我们写入数据时,都需要我们去等待EEPROM把数据写完。而stm32的通讯速度非常快,当我们希望向EEPROM中写入新数据时,可能EEPROM还在写之前的数据(没反应过来),这是不会响应外部的操作。这时可以通过向EEPROM发起询问,具体方式是产生一个起始地址,后面带着EEPROM的设备地址(读地址或写地址),如果EEPROM写入完成,则应答0

确认轮询:一旦内部定时写周期开始并且EEPROM输入被禁止,就可以启动应答轮询。 这涉及发送开始条件,然后发送设备地址字。 读/写位代表所需的操作。 只有内部写周期完成后,EEPROM才会响应“0”,允许读或写序列继续。


读数据操作


       读操作的启动方式与写操作相同,只是器件地址字中的读/写选择位设置为“1”。 有三种读操作:当前地址读取,随机地址读取和顺序读取。


1 当前地址读取(用的很少,因为你不知道这个内部地址寄存器保存的值是多少)


        当前地址读取:内部数据字地址计数器维护上次读取或写入操作期间访问的最后一个地址,增量为1。只要保持芯片电源,此地址在操作之间保持有效。读取期间的地址“翻转”是从最后一个内存页的最后一个字节到第一页的第一个字节。写入期间的地址“翻转”是从当前页的最后一个字节到同一页的第一个字节。


这个翻转操作其实就是,我用mcu读数据,每收到一个字节后,给EEPROM一个应答信号,然后EEPROM的内部数据字地址计数器就会+1,我们就能读取下一个字节的数据。当全部读完256个字节,EEPROM的内部数据字地址计数器就会变为0,然后重新计数,这样我们就是又从头开始读取。

2 随机读取(这个很常用)


       随机读取:随机读取需要“虚拟”字节写入序列以加载数据字地址(先写入设备地址,然后写入数据字地址,这个过程和写操作一样,成为虚拟字节写入序列)。 一旦器件地址字和数据字地址被EEPROM输入并确认,微控制器必须产生另一个启动条件。 微控制器现在通过发送读/写选择位为高的器件地址来启动当前地址读取(一旦EEPROM响应后,重新产生启动条件,在发送一次设备读地址(因为数据字地址寄存器已经保存了要操作的字节地址,所以这个过程和当前地址读取一样))。 EEPROM确认器件地址并串行输出数据字。 微控制器不响应“0”,但会产生一个跟随停止条件(参见第11页的图11)。

3 顺序读取


       顺序读取由当前地址读取或随机地址读取启动。 在微控制器接收到数据字后,它以确认响应。 只要EEPROM接收到确认,它将继续递增数据字地址并串行输出顺序数据字。 达到存储器地址限制时,数据字地址将“翻转”,顺序读取将继续。 当微控制器没有响应“0”但是确实产生跟随停止条件时,顺序读取操作终止。

推荐阅读

史海拾趣

amcc [applied micro circuits corp]公司的发展小趣事

Applied Micro Circuits Corp(AMCC)是一家半导体公司,主要从事高性能处理器和高速互连解决方案的设计和制造。以下是关于AMCC公司发展的五个相关故事:

  1. 公司成立与早期发展:AMCC公司于1979年由Hemant Kanakia等人在美国加利福尼亚州的圣塔克拉拉创立。公司最初专注于设计和制造用于通信和数据中心应用的集成电路芯片。在成立初期,AMCC致力于开发高性能、低功耗的处理器和互连解决方案,以满足不断增长的通信市场需求。

  2. 技术创新与产品发布:AMCC公司在技术创新方面处于行业领先地位。公司持续投入研发,并推出了一系列创新产品。1997年,AMCC发布了第一款64位PowerPC处理器,开创了其在高性能处理器市场的先河。随后,公司不断推出新一代的处理器产品,包括PowerPC、ARM等系列,以满足不同客户的需求。

  3. 业务拓展与市场扩张:随着时间的推移,AMCC不断拓展其业务范围和市场覆盖。公司不仅在通信领域取得了成功,还逐渐进军数据中心、云计算、存储等新兴领域。AMCC通过与各大客户和合作伙伴的紧密合作,扩大了产品的市场份额和影响力。

  4. 收购与整合:AMCC通过一系列收购和整合,加强了自身的技术实力和市场竞争力。公司收购了一些在特定领域具有核心技术的公司,如Tahoe Networks(2004年)、3ware(2005年)、Mindspeed Technologies(2014年)等。这些收购使得AMCC得以快速扩大产品线,并加速了公司在新兴市场的布局。

  5. 英特尔收购:2016年,英特尔公司宣布以约17亿美元的价格收购AMCC。这一交易使得AMCC成为英特尔旗下的子公司,英特尔得以借助AMCC在通信和数据中心领域的技术优势和客户资源,进一步拓展其在半导体行业的地位。此次收购也标志着AMCC作为独立实体的终结,但其在半导体行业的技术贡献和市场影响将持续延续。

这些故事展示了AMCC公司在技术创新、产品发布、业务拓展、收购整合等方面的发展历程,以及其作为半导体行业重要参与者的地位和影响力。

DuPont公司的发展小趣事

随着全球环保意识的提高,对于环保型电子材料的需求也日益增长。DuPont公司积极响应这一趋势,致力于环保型电子材料的研发和生产。公司采用先进的环保技术和生产工艺,开发出了一系列低污染、低能耗的电子材料。这些材料不仅具有良好的性能,而且对环境友好,符合可持续发展的要求。DuPont公司的这一举措,不仅提升了公司的竞争力,也为电子行业的可持续发展做出了积极贡献。

ELESTA GmbH公司的发展小趣事

1997年,ELESTA继电器有限公司正式成立,专注于制造符合IEC 61810-3标准的强制导向触点继电器。这一战略举措进一步巩固了ELESTA在电子继电器领域的领先地位,并为公司的长期发展奠定了坚实的基础。

ALPS公司的发展小趣事

1997年,ELESTA继电器有限公司正式成立,专注于制造符合IEC 61810-3标准的强制导向触点继电器。这一战略举措进一步巩固了ELESTA在电子继电器领域的领先地位,并为公司的长期发展奠定了坚实的基础。

East Texas Integrated Circuits公司的发展小趣事

随着ETIC的产品在市场上逐渐获得认可,公司面临着市场拓展的挑战。为了扩大市场份额,ETIC决定进入国际市场。他们首先选择了亚洲市场作为突破口,通过深入了解当地市场需求和竞争环境,制定了一系列有针对性的营销策略。经过几年的努力,ETIC成功地在亚洲市场建立了稳定的客户基础,并逐渐将业务拓展到了欧洲和北美市场。

ASSMANN WSW components公司的发展小趣事

ASSMANN WSW components公司深知品质是企业生存和发展的关键。因此,公司始终坚持品质至上的原则,从原材料采购到生产流程,再到产品出厂,每一个环节都严格把控。公司还建立了完善的质量检测体系,确保每一件产品都符合最高标准。这种对品质的执着追求使得ASSMANN WSW的产品在市场上赢得了良好的口碑。

问答坊 | AI 解惑

80W汽车直流马达的功率H桥控制器

采用自绝缘垂直CMOS工艺的6A单片H桥控制器设计用在汽车电子.控制器集成了系统级接口电路和控制策略.此外,它还提供保护特性包括通过超温和过流检测的短路保护,以及由集成有源箝位电路所提供的过压保护.H桥控制器IC和少数几个外接元件组成了成本效益 ...…

查看全部问答>

无线控制步进电机

本帖最后由 paulhyde 于 2014-9-15 09:07 编辑  …

查看全部问答>

pcie2.0中的 crosslink 有哪些作用和用法?

crosslink 定义为两个上行端口或者两个下行端口的链接。那么crosslink 是否允许两个switch间存在多个crosslink?…

查看全部问答>

IS61LPS51236A SSRAM fpga控制 分析

IS61LPS51236A  DATASHEET 如下:   上图为SSRAM 模块图,清晰表示了SSRAM各个管脚的关系,一目了然,下面这张图说明管脚功能:   看看SSRAM 读写时序图:   从上面分析,FPGA 怎样读SSRAM, 1。 首先保证时钟 ...…

查看全部问答>

请高手不吝赐教,谢谢

  问题:为什么上面会说“由于T0的管压降UCE0与其b-e间电压UBE0相等,从而保证T0工作在放大状态”?  共射极放大电路三极管要工作在放大区不是应该满足Ue<Ub<Uc ,即UCE>UBE吗?他让集电极和基极短接,不就UCE=UBE,这样三极管还 ...…

查看全部问答>

LM3S_RTOS之RTX(keil自带)的邮箱使用问题

      首先想说一句别把麻烦管理员我的帖子转到其他地方,因为这里的人群旺!!高手多!!       进来发现keil自带的实时操作系统RTX(由于ARM,RTX-51是针对51的)的资源非常丰富,集成了TCP/IP ...…

查看全部问答>

G2553 晶振 问题 新手求高人

最近需要自己焊一个MSP430最小系统板,所以研究了一下晶振问题。2553只能使用32K的低频晶振,看大家说晶振可以不用接电容,但看launchpad的原理图时发现板在晶振上接了12pf的电容,所以想问一下,这两个电容是否必要?0R的电阻起什么作用?还有就是 ...…

查看全部问答>

封装问题求助

    之前设计有用到22L8742,但是始终找不到封装的尺寸,只是有一个描述如下:     PIN HEADER 12PX2R P1.27mm 180 FEMALE SMD24 LT/LF T     求助论坛的各位大神,帮忙看一下手头有没有同样的或者类似的封装让 ...…

查看全部问答>

AM335X烧写uboot出现的问题

AM335X使用securecrt超级终端烧写uboot,在使用kermit传输MLO文件的时候,总是出现传输错误,如图 这是什么问题?该怎样解决呢?谢谢! …

查看全部问答>