0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用LPC1752读取AT24C08C的原理与实现方案

454398 来源:一板网 作者:admin 2020-10-24 11:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1 简介

1.1 LPC1752及AT24C08C简介

LPC1752是NXP推出的一款Cortex M3的芯片,最高运行频率可达80M

AT24C08C是Atmel的一款I2C串行EEPROM,代替原来的型号AT24C08B及AT24C08A。共有8K(1024*8 bit)、1024字节的存储单元。可进行1百万次的写操作,数据可保存100年。

1.2 连接方式

AT24C08C是通过LPC1752的I2C2连接的,连接图如下:

图1 LPC1752连接图

1.3 AT24C08C设备地址

The 8K EEPROM only uses the A2 device address bit with the next twobits (P1, P0) being for memory page addressing. The A2 bit must compare to itscorresponding hardwired input pin. The A1 and A0 pins are not connected.

根据连接图可得知AT24C08的地址为0xA0。

图2 AT24C08CDevice Address

1.4 I2C运行时钟频率

主机模式下必须通过对I2SCLH和I2SCLL寄存器进行设置来选择合适的总线速率和占空比。I2SCLH定义SCL高电平所保持的PCLK_I2C周期数,I2SCLL定义SCL低电平的PCLK_I2C周期数。位频率由下面的公式得出(PCLK_I2C是外围总线APB的频率):

选用的I2SCLL和I2SCLH值必须确保得出的总线速率在I2C总线速率的范围之内。I2SCLL和I2SLH的值都必须大于或等于4。表1给出了根据PCLK_I2C频率和I2SCLL和I2SCLH值计算出来的I2C总线速率的示例。

表1 I2C时钟速率的实例

2 函数介绍

2.1 初始化函数i2c2_init

按照LPC1752用户手册(UM10360)中第三章的介绍进行初始化,步骤如下:

a)。 电源:在寄存器PCONP中置位PCI2C2。

b)。 时钟:在寄存器PCLK_SEL1中选择PCLK_I2C2。

c)。 引脚: 通过寄存器PINSEL0使能I2C2引脚。通过寄存器PINMODE来配置I2C2引脚模式。

d)。 时钟频率:向I2SCLH和I2SCLH寄存器加载频率值来定义串行时钟频率(主机模式)。

e)。 中断:在NVIC中置位I2C2_IRQn寄存器使能I2C2中断。

f)。 向寄存器I2CONSET写入0x40来置位I2EN位。

2.2 中断函数I2C2_IRQHandler

通过读取I2STAT寄存器的值判断I2C总线上的状态,并进行下一步操作。

中断函数只处理了主机接收模式与主机发送模式。

1)I2C进入主机进入发送起始条件时,串行中断标志(SI)置位,状态寄存器(I2STAT)中的状态代码为0x08。此时将从机地址和数据方向位(SLA+W)装入I2DAT,同时复位I2CON的STA,STO和SI。

2.3 I2C总线进入开始状态i2c2_start

可通过置位STA位进入主机发送模式。一旦总线空闲,I2C逻辑会马上测试I2C总线并产生一个起始条件。

2.4 I2C停止函数i2c2_stop:

I2C结束时发送停止条件并释放总线。

a)向I2CONSET写入0x14来置位STO和AA位;

b)向I2CONCLR写入0x08来清除SI标志;

2.5主机发送函数i2c2_write

启动主机发送功能,向从机发送数据,通过建立缓冲区、指针和数据计数然后发启起始条件便可执行主发送操作。

a)初始化主机数据计数器;

b)建立数据将被发送到的从机地址,并且添加写位;

c)向I2CONSET写入0x20来置位STA位;

d)在主发送缓冲区内建立要发送的数据;

e)初始化主机数据计数器来匹配正在发送的信息长度;

f)退出。

2.6主机接收函数 i2c2_read

启动主机接收功能,接收从机发出的数据。

通过建立缓冲区、指针和数据计数然后发启起始条件便可执行主接收操作。

a)初始化主机数据计数器;

b)建立数据将被发送到的从机地址,并且添加读位;

c)向I2CONSET写入0x20来置位STA位;

d)在主接收缓冲区内建立要发送的数据;

e)初始化主机数据计数器来匹配正在发送的信息长度;

f)退出。

3 测试

通过向0x00地址写入并回读固定数据验证有效性。

测试结果比较

第一次读取

第二次读取

经验证可以正常使用。
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5619

    浏览量

    130397
  • 存储单元
    +关注

    关注

    1

    文章

    68

    浏览量

    16798
  • EEPROM
    +关注

    关注

    9

    文章

    1146

    浏览量

    86333
  • Cortex M3
    +关注

    关注

    0

    文章

    7

    浏览量

    8770
  • LPC1752
    +关注

    关注

    0

    文章

    4

    浏览量

    3729
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    安森美FDMC008N08C N沟道MOSFET:高效性能与广泛应用

    FDMC008N08C是一款采用安森美先进POWERTRENCH工艺结合屏蔽栅技术生产的N沟道MOSFET。该工艺经过优化,在降低导通电阻的同时,还能保
    的头像 发表于 04-17 10:40 302次阅读

    深入解析FDMS003N08C N-Channel Shielded Gate PowerTrench® MOSFET

    ® MOSFET,了解它的特性、应用以及相关参数。 文件下载: FDMS003N08C-D.PDF 产品概述 FDMS003N08C 是一款 N 沟道屏蔽栅 PowerTrench® MOSFET,采用了 ON Semicond
    的头像 发表于 04-16 14:35 87次阅读

    onsemi FDMS2D5N08C MOSFET:性能卓越的功率器件

    MOSFET——FDMS2D5N08C。 文件下载: FDMS2D5N08C-D.PDF 一、产品概述 FDMS2D5N08C 是一款采用 onsemi 先进 POWERTRENCH
    的头像 发表于 04-16 11:20 178次阅读

    深入剖析 CAT24C02/04/08/16:I²C 串行 EEPROM 的卓越之选

    电子设备提供稳定可靠的数据存储解决方案。今天,我们将深入探讨 ON Semiconductor 推出的 CAT24C02、CAT24C04、CAT24C08 和 CAT
    的头像 发表于 04-15 16:00 152次阅读

    onsemi NTTFD021N08C:高性能N沟道MOSFET的深度解析

    )的NTTFD021N08C,一款专为高性能应用而设计的双封装N沟道MOSFET。 文件下载: NTTFD021N08C-D.PDF 一、产品概述 NTTFD021N08C包含两个专门设计的N沟道MOSFET,并
    的头像 发表于 04-10 10:35 136次阅读

    深入解析 onsemi NVTFS4C08N 单通道 N 沟道 MOSFET

    深入解析 onsemi NVTFS4C08N 单通道 N 沟道 MOSFET 在电子设计领域,MOSFET 作为关键的功率开关器件,其性能直接影响着整个电路的效率和稳定性。今天,我们就来详细解析
    的头像 发表于 04-08 14:20 157次阅读

    使用LPC810微控制器与LM75A温度传感器建立I²C通信

    ; uint16_t读取数据; i2c_addr_rsend(Addr);读 i2c_addr_wsend(Addr); 写 lpc_i2c->MSTDAT
    发表于 04-08 06:33

    Microchip AT24C512C:I²C 兼容串行 EEPROM 的深度解析

    可靠的数据存储解决方案。Microchip 的 AT24C512C 就是一款性能出色的 I²C 兼容串行 EEPROM,下面我们来深入了解一下它。 文件下载: AT24C512C
    的头像 发表于 03-30 14:15 328次阅读

    深入解析AT24C128C:一款高性能I²C串行EEPROM

    深入解析AT24C128C:一款高性能I²C串行EEPROM 在工业和商业应用领域,低功耗、低电压且高性能的存储设备需求日益凸显。AT24C128C作为一款颇具代表性的I²C兼容串行E
    的头像 发表于 03-13 16:55 911次阅读

    AT24C32E:I²C 兼容串行 EEPROM 的技术剖析与应用指南

    的数据存储解决方案。Microchip 的 AT24C32E 就是一款备受关注的 I²C 兼容串行 EEPROM,本文将深入剖析其技术特性、工作原理以及应用要点,为电子工程师们提供全面的参考。 文件下载
    的头像 发表于 03-12 17:05 646次阅读

    RA MCU众测宝典 | I²C读取EEPROM

    I2C协议读取EEPROM数据。瑞萨嵌入式小百科将带着大家从I2C总线原理、EEPROM(AT24C02)特性,到FSP中I2C的引脚配置、
    的头像 发表于 01-13 18:05 8112次阅读
    RA MCU众测宝典 | I²<b class='flag-5'>C</b><b class='flag-5'>读取</b>EEPROM

    深入解析 N24C02/04/08/16:高性能CMOS串行EEPROM

    推出的 N24C02/04/08/16 系列 $I^{2}C$ CMOS 串行 EEPROM,看看它们在设计中能为我们带来哪些便利和优势。
    的头像 发表于 12-05 15:12 1237次阅读
    深入解析 N<b class='flag-5'>24C</b>02/04/<b class='flag-5'>08</b>/16:高性能CMOS串行EEPROM

    Onsemi N24C02/04/08/16:高性能I²C EEPROM的卓越之选

    在电子设计领域,EEPROM是一种至关重要的存储元件,而Onsemi的N24C02、N24C04、N24C08和N24C16系列I²C EE
    的头像 发表于 12-02 14:02 983次阅读
    Onsemi N<b class='flag-5'>24C</b>02/04/<b class='flag-5'>08</b>/16:高性能I²<b class='flag-5'>C</b> EEPROM的卓越之选

    芯伯乐24C02/24C04/24CXX:百万次擦写非易失性存储器的解决方案

    的首选方案。无论是消费电子、工业控制还是物联网设备,都能见到它的身影。一产品概述24C02/24C04/24Cxx系列是基于IIC总线协议的串行电可擦除存储器(E
    的头像 发表于 11-28 18:32 1438次阅读
    芯伯乐<b class='flag-5'>24C</b>02/<b class='flag-5'>24C</b>04/<b class='flag-5'>24</b>CXX:百万次擦写非易失性存储器的解决<b class='flag-5'>方案</b>

    ‌深入解析安森美CAT24C32B系列EEPROM:高性能I²C存储解决方案

    存储器内部结构为4096字,每个字8位。CAT24C32B EEPROM存储器具有32字节页面写入缓冲器,工作电压范围为1.7V至5.5V。该器件采用4焊点WLCSP封装,无铅、无卤素/无溴化阻燃剂,并
    的头像 发表于 11-25 09:42 648次阅读
    ‌深入解析安森美CAT<b class='flag-5'>24C</b>32B系列EEPROM:高性能I²<b class='flag-5'>C</b>存储解决<b class='flag-5'>方案</b>