【应用】如何使用EFM8 8位MCU的I2C Slave外设
SILICON LABS(亦称“芯科科技”)EFM8 8位MCU系列产品的用户在开发产品时,需要进一步了解如何使用EFM8LB1 / EFM8BB3 I2C slave器件,使它看起来与SMBus的外设完全不同?对此,我们制作了一篇知识库文章,引导工程师们加快设计流程。
M8LB1/M8BB3包含一个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机状态机的工作原理。(https://www.sekorm.com/doc/627258.html)
有几个原因导致某些状态未包含在Bootloader代码中:
Bootloader代码的编写方式使得上述某些情况永远不会发生,即使它们发生,它们也可以在默认情况下捆绑在一起。我们主要关注RD,WR和RD+ NACK状态。
Bootloader的代码受大小限制。我们尝试将其放入一个Flash页面,这反过来意味着我们包含的代码只是Bootloader运行所必需的,而不是考虑永远不会发生的情况。
- |
- +1 赞 0
- 收藏
- 评论 5
本文由下线老捷达转载自Silicon Labs,原文标题为:【MCU知识库】如何使用EFM8 8位MCU的I2C Slave外设,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
评论
全部评论(5)
-
用户68909777 Lv5. 技术专家 2018-11-15了解下
-
qditz Lv9. 科学家 2018-10-25不错的资料
-
地瓜糖 Lv6. 高级专家 2018-10-13学习了
-
守猪待兔 Lv7. 资深专家 2018-08-08学习了
-
闲云 Lv7. 资深专家 2018-08-08好文章
相关推荐
BB5x 8位MCU用于嵌入式的三大优势——小尺寸、经济高效、设计简化
芯科科技的8位MCU产品组合,在芯科科技提供Simplicity Studio软件开发平台上同步支持8位和32位产品,还可支持EFR32系列无线SoC。这种单一平台解决方案有助于消除设计过程中不必要的复杂性,使设计人员能够将时间和精力集中在产品研发方面,而不是适应新的开发环境,从而缩短了开发周期并加快了上市时间。
应用方案 发布时间 : 2023-12-27
【应用】芯科高性能8位MCU EFM8LB1系列用于钟表检测仪,具有完整的模拟和数字功能,最大工作频率为72MHz
对于钟表检测仪的主控MCU选择,推荐SILICON LABS 8位高效高性能EFM8LB1系列MCU,具有完整的模拟和数字功能,小封装高集成度,满足钟表检测仪多种模拟和数字功能需求应用。
应用方案 发布时间 : 2022-10-08
【应用】72MHz时钟频率、3*3QFN封装的8位MCU EFM8LB11F16用于守时模块
守时模块设计中采用Silicon Labs的8位MCU EFM8LB11F16作为主控,集成了最高14位精度、采样速率高达1Msps@12位的ADC和内部校准温度传感器(±3 °C) 可以实现对模块内环境温度采集,对守时模块的的压控温度晶振进一步补偿,还集成了12位精度的DAC。
应用方案 发布时间 : 2020-11-09
【经验】8位MCU EFM8系列编程接口与U-EC6的连接方法
Silicon Labs 的EFM8系列的MCU是最新一代的8位MCU,芯片支持在线调试功能,采用的调试接口继承了C8051F系列的C2调试接口,这是一个两线制的调试接口,调试时只需要C2CK时钟信号与C2D数据信号就可以。本文介绍U-EC6的信号定义及Silicon Labs 8位MCU EFM8的编程接口与U-EC6的连接方法。
设计经验 发布时间 : 2019-10-31
【经验】Silicon Labs 8位MCU 烧录程序异常的解决方法
本文介绍Silicon Labs的8位MCU C8051F/EFM8系列的芯片在量产烧录过程中遇到问题的解决方法。
设计经验 发布时间 : 2019-01-27
【经验】8位MCU EFM8中插入NOP空指令的三种方法:RC-51编译器、SDCC编译器、Keil C51编译器
EFM8系列是Silicon Labs公司的8位MCU,由于其高性价比被广泛的应用于各种行业。并且EFM8系列资源丰富,能满足不同场景需求。对于单片机开发通常需要延时,对于简单的延时NOP空指令不失为一种最优的办法。
设计经验 发布时间 : 2019-10-10
【经验】8位MCU EFM8LB1的SPI时钟频率度计算方法
EFM8LB1系列是Silicon Labs公司推出的高性能8位MCU,带有通信速率最高12 Mbps的 SPI,支持主/从模式,本文将介绍SPI时钟频率度是如何计算的,以及要产生一个时钟频率,软件如何初始化。
设计经验 发布时间 : 2020-12-24
【经验】如何解决8位MCU在烧录过程中烧录器或者调适配器与C2调试接口连接不上的问题
本文介绍如何解决生产时出现烧录器(或者调适配器) 与目标板连接不上的问题。以Silicon Labs 8位MCU为例,主要说明讨论了每个用户功能的C2复用由于隔离配置问题导致目标设备连接不上。
设计经验 发布时间 : 2020-07-02
【经验】如何正确使用8位MCU的PortMatch功能
Silicon Labs的8位MCU(C8051和EFM8)都具有PortMatch功能,此功能允许一个或多个端口IO引脚上的逻辑电平变化触发系统事件。
设计经验 发布时间 : 2018-02-08
【经验】8位MCU EFM8系列内部BOOTLOADER的空间分配
本文介绍Silicon Labs的8位MCUEFM8系列内部BOOTLOADER占用FLASH空间的情况,及程序中对FLASH空间地址的分配。
设计经验 发布时间 : 2021-08-17
【经验】一文教你如何快速搭建8位MCU EFM8开发环境
Silicon Labs(芯科科技)在本文讲述如何快速搭建8位MCU EFM8开发环境,帮助行业人士深入掌握EFM8 8位MCU的开发及应用技巧。
设计经验 发布时间 : 2019-01-27
Silicon Labs EFM8系列8位MCU的IO Crossbar硬件分配
EFM8系列是Silicon Labs公司的8位MCU,总共分为4个系列:通用型EFM8BB系列、低功耗EFM8SB系列、带USB的EFM8UB系列和高性能的EFM8LB系列。EFM8系列MCU的IO具有Crossbar功能,即软件上可以分配IO的外设,为硬件设计提供了灵活性。但是Crossbar功能分配外设时并不是引脚随意分配,而是具有优先级要求的。
设计经验 发布时间 : 2018-06-27
【经验】 8位MCU EFM8LB1用定时器产生SMBUS时钟的方法
Silicon Labs公司推出的EFM8LB系列8位MCU,工作主频达72MHz,同时集成有丰富的通信接口,本文将介绍如何通过定时器产生SMBUS的时钟,以及时钟频率的计算方法。
设计经验 发布时间 : 2020-12-21
【经验】8位MCU EFM8LB1 FLASH擦写操作步骤
EFM8LB1系列是silabs专门针对光模块以及消费市场推出的高度集成的3x3mm小封装8位MCU,内部自带温度传感器,+/-3℃温度范围,可选0-4路DAC,UART或者SMBUS bootloader,以及其他通用接口。本文主要介绍EFM8LB1系列Flash的擦写方式以及步骤。
设计经验 发布时间 : 2019-01-31
【经验】在Simplicity Studio中8位MCU EFM8用C编程时嵌入汇编代码的方法
目前MCU领域主流的编程语言仍是C语言,但是在某些关键的地方仍需要使用少部分汇编代码来实现,比如精确的延时,在不使用定时器的情况下C代码很难控制精确,这时嵌入汇编就有很大优势。下面就是以Silicon Labs 8位MCU EFM8BB10为例的一个操作例子。
设计经验 发布时间 : 2019-09-21
电子商城
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论