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

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

3天内不再提示

如何使用EFM8LB1/EFM8BB3 I2C slave器件

Silicon Labs 来源:互联网 作者:佚名 2018-07-27 11:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Silicon Labs(亦称“芯科科技”)EFM8 8位MCU系列产品的用户在开发产品时,需要进一步了解如何使用EFM8LB1 / EFM8BB3 I2C slave器件,使它看起来与SMBus的外设完全不同?对此,我们制作了一篇知识库文章,引导工程师们加快设计流程。欢迎往下阅读或点击阅读原文至Silicon Labs中文社区观看完整文章。

M8LB1 /BB3包含一个I2CSLAVE外设,它包含许多有助于高速传输的功能,但可能会使熟悉传统SMBus操作的用户感到困惑。在这里,我们简要介绍I2CSLAVE器件,并附加I2C SLAVE器件引导加载器示例代码以供参考。此代码示例是为EFM8BB3编写的,但如果需要,可以轻松移植到EFM8LB1。

I2C外设包含2字节FIFO和1字节移位寄存器,分别用于TX/ RX。I2C SLAVE器件支持自动ACK / NACK I2C master器件,由I2C0CN0寄存器的BUSY bit控制。默认情况下,BUSY为“1”,器件不响应I2Cmaster器件。发送到器件的所有I2C数据都将被NACKed。我们应将此BUSYbit设置为“0”,器件将确认I2Cmaster器件。 master设备持续向设备发送数据,设备自动向master设备确认最多3个ACK,因为FIFO中有两个字节,移位寄存器中有1个字节。然后SCL保持低电平以表示设备无法接收更多数据。我们应检查I2C0FCN1寄存器的RXE位,以了解FIFO中是否有数据,从I2C0DIN寄存器读取接收数据。

自动ACK功能使流量控制变得困难,如上所述,当RX FIFO已满时,SCL保持低电平,因此器件可以处理数据。 masster如何改变读/写方向呢?还有另一个功能可以帮助解决这种情况。 I2C0ADM寄存器的FACS位字段。默认值为“1”,表示FORCE_STRETCH。该位置为1时,时钟拉伸始终发生在地址字节的ACK之后,直到固件清零I2C0INT位。通过这种时钟拉伸功能,我们可以在读/写方向变化期间进行流量控制。

这里有一个基于AN945的I2C SLAVE引导加载程序示例代码,请查看它并参考I2C SLAVE机状态机的工作原理。 I2C Slave状态机在参考手册中的两个流程图(图17.7和图17.8)中可以看到,可以压缩到此状态解码表(参考手册中的表17.1 -

https://www.silabs.com/documents/public/reference-manuals/efm8bb3-rm.pdf)

I2C Bootloader的工作原理与SMBus Bootloader类似,详见AN945 -

https://www.silabs.com/documents/public/application-notes/an945-efm8-factory-bootloader-user-guide.pdf。附件中的boot_I2C.c文件显示了I2CSlave外设的使用方式 - 人们可能会注意到代码中只定义了三种状态,而上面显示的表描述了更多。有几个原因导致某些状态未包含在Bootloader代码中–

  1. Bootloader代码的编写方式使得上述某些情况永远不会发生,即使它们发生,它们也可以在默认情况下捆绑在一起。我们主要关注RD,WR和RD+ NACK状态。

  2. Bootloader的代码受大小限制。我们尝试将其放入一个Flash页面,这反过来意味着我们包含的代码只是Bootloader运行所必需的,而不是考虑永远不会发生的情况。

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

    关注

    5210

    文章

    20686

    浏览量

    337519
  • Silicon Labs
    +关注

    关注

    11

    文章

    347

    浏览量

    63777
  • efm8lb1
    +关注

    关注

    0

    文章

    8

    浏览量

    3372

原文标题:【MCU知识库】如何使用EFM8 8位MCU的I2C Slave外设

文章出处:【微信号:SiliconLabs,微信公众号:Silicon Labs】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EFM8UB2:多功能8位微控制器的技术剖析

    EFM8UB2:多功能8位微控制器的技术剖析 在电子设计领域,微控制器(MCU)是众多项目的核心组件。Silicon Labs的EFM8UB2作为Universal Bee家族的一员,是一款具备
    的头像 发表于 04-15 16:40 173次阅读

    EFM8UB1:小封装大能量的8位MCU

    EFM8UB1:小封装大能量的8位MCU 在电子设计的世界里,寻找一款性能出色、功能丰富且适用于多种应用场景的微控制器(MCU)至关重要。Silicon Labs的EFM8UB1作为
    的头像 发表于 04-15 16:40 177次阅读

    探索EFM8SB2:低功耗8位MCU的卓越之选

    探索EFM8SB2:低功耗8位MCU的卓越之选 在当今的电子设备设计领域,低功耗、高性能的微控制器(MCU)是众多工程师追求的目标。Silicon Labs的EFM8SB2系列MCU,作为
    的头像 发表于 04-15 14:20 202次阅读

    深入解析 EFM8LB1:高性能 8 位 MCU 的卓越之选

    EFM8LB1 是一款高度集成的混合信号片上系统 MCU,具备出色的性能和丰富的功能。它集成了 14 位 ADC、内部校准温度传感器(±3
    的头像 发表于 04-15 14:20 174次阅读

    深入剖析EFM8LB1:高性能8位MCU的卓越之选

    深入剖析EFM8LB1:高性能8位MCU的卓越之选 在电子工程师的工具箱中,一款性能出色、功能丰富的微控制器(MCU)往往是项目成功的关键。今天,我们就来深入探讨SILICON LABS
    的头像 发表于 04-15 14:15 206次阅读

    深入剖析EFM8LB1:高性能8位MCU的卓越之选

    深入剖析EFM8LB1:高性能8位MCU的卓越之选 在电子工程师的工具箱中,一款性能卓越的微控制器(MCU)是解决各种设计挑战的关键。今天,我们将深入探讨Silicon Labs的EFM8LB1系列
    的头像 发表于 04-15 14:15 189次阅读

    EFM8LB1:高性能8位MCU的技术解析与应用洞察

    EFM8LB1:高性能8位MCU的技术解析与应用洞察 在电子工程师的工具箱中,一款性能卓越、功能丰富的微控制器(MCU)无疑是实现创新设计的关键。Silicon Labs的EFM8LB1系列MCU
    的头像 发表于 04-15 14:15 209次阅读

    深入解析EFM8LB1:高性能8位微控制器的卓越之选

    概述 EFM8LB1系列微控制器集成了14位ADC、内部校准温度传感器(±3 °C)和多达四个12位DAC,为满足最严格
    的头像 发表于 04-15 14:05 226次阅读

    深入解析 EFM8LB1:高性能 8 位 MCU 的卓越之选

    深入解析 EFM8LB1:高性能 8 位 MCU 的卓越之选 在嵌入式系统的广阔领域中,微控制器(MCU)扮演着至关重要的角色。今天,我们将聚焦于 EFM8LB1,它作为 Laser Bee 系列
    的头像 发表于 04-15 14:05 171次阅读

    EFM8BB3:高性能8位MCU的卓越之选

    众多嵌入式应用的理想选择。今天,我们就来深入了解一下这款EFM8BB3。 文件下载: EFM8BB31F64I-B-QSOP24.pdf 一、EFM8BB3简介 EFM8BB3是一系列
    的头像 发表于 04-15 14:05 541次阅读

    深入剖析EFM8BB38位MCU的卓越之选

    它有哪些独特的魅力。 文件下载: EFM8BB31F32I-B-QFN32.pdf 一、EFM8BB3概述 EFM8BB3属于Busy Bee系列MCU,是一款高性能的8位微控制器。它
    的头像 发表于 04-15 14:05 565次阅读

    EFM8BB3微控制器:小身材大能量的嵌入式利器

    EFM8BB3微控制器:小身材大能量的嵌入式利器 在嵌入式系统开发领域,一款性能卓越、功能丰富且体积小巧的微控制器往往能为工程师们带来极大的便利。今天,我们就来深入了解一下Silicon Labs
    的头像 发表于 04-15 13:55 393次阅读

    深入剖析EFM8BB28位MCU的卓越之选

    深入剖析EFM8BB28位MCU的卓越之选 在当今的电子设备设计领域,微控制器(MCU)扮演着至关重要的角色。Silicon Labs的EFM8BB2系列MCU作为Busy Bee家族的一员,以其
    的头像 发表于 04-15 13:55 233次阅读

    EFM8BB1:小身材大能量的8位MCU

    EFM8BB1:小身材大能量的8位MCU 在电子工程师的工具箱里,一款性能出色且功能丰富的微控制器(MCU)是不可或缺的。今天,我们就来深入了解一下Silicon Labs推出的EFM8BB1,它
    的头像 发表于 03-25 14:00 245次阅读

    EFM8UB1微控制器:小身材大能量的设计之选

    EFM8UB1系列微控制器,它属于Universal Bee家族,以其丰富的功能和小巧的封装,在众多应用场景中展现出了独特的魅力。 文件下载: EFM8UB10F8G-C-QFN20.pdf 一
    的头像 发表于 02-05 15:20 264次阅读