【应用】如何使用EFM8 8位MCU的I2C Slave外设

2018-08-08 Silicon Labs
8位MCU,EFM8,M8BB3,M8LB1 8位MCU,EFM8,M8BB3,M8LB1 8位MCU,EFM8,M8BB3,M8LB1 8位MCU,EFM8,M8BB3,M8LB1

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代码中:

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

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

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 1
  • 收藏
  • 评论 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
    好文章
没有更多评论了

相关推荐

Silicon Labs的8位MCU EFM8SB10F8G下载程序方式有哪些?

Silicon Labs的8位MCU EFM8SB10F8G可以通过C2接口和串口(在确定片上已含bootloader的情况下)下载程序。

2018-10-31 -  技术问答 代理服务 技术支持 采购服务

关于Silicon Labs EFM8系列8位MCU,bootloader烧录/升级最新固件的问题。

需要注意的是I2C接口的硬件连接,连接的线不要过长,可以考虑在线的两端都加上拉电阻。另外,C2接口是芯片的调试接口,可以直接对芯片的FLASH进行烧录,者的烧录原理不一样,但同样的,C2接口的连接线也不能过长。

2018-08-29 -  技术问答 代理服务 技术支持 采购服务

Silicon Labs EFM8BB1系列8位MCU的量产软件有哪些?

Silicon Labs EFM8BB1系列8位MCU的量产软件可以采用Silicon Labs 原厂提供的MCU Production Programmer 和 Flash Programming Utility软件,建议采用前者,下载效率更高;

2018-11-14 -  技术问答 代理服务 技术支持 采购服务

【经验】8位MCU EFM8BB3如何工作在49MHz模式?

Silicon Labs的EFM8BB3是一款小封装、多用途8位MCU,最高运行频率可达49MHz, RAM容量最大为4352B,FLASH容量最大可达64KB。EFM8BB3默认是采用内部24.5MHz的时钟,那么如何切换到内部49MHz的时钟呢?

2020-11-10 -  设计经验 代理服务 技术支持 采购服务

Silicon Labs中的8位MCU的EFM8系列中UID与UUID什么区别?

Silicon Labs中的8位MCU的EFM8系列中 UID是芯片中新加的全球唯一ID,即每个芯片的ID都是不一样的,EFM8系列的MCU上都包含此ID,。Silicon Labs公司推出的EFM8UB系列8位微控制芯片,具有内部Flash加密功能,防止非法读取内部程序,并提供128位universally unique identifier (UUID);

2019-03-27 -  技术问答 代理服务 技术支持 采购服务

Silicon Labs 8位MCU EFM8LB1 比较器的参考电平DACLVL是如何计算的呢?

silicon labs 的 EFM8LB1 8位MCU的比较器的参考电平DACLVL 是由公式DAC Output = CMPREF * (DACLVL / 64)计算出来的,CMPREF是由INSL位配置得出,例如,将INSL设置为0x3,就是将CMP-输入连接到内部DAC输出,CMXP选择CMP+。内部DAC使用CMXN指定的信号作为全面的参考。那么再将CMP0MX设置为0XB1,也就是CMPREF的值为VDD,正端设置为P0.2,此外,如果DAC Output也就是比较器的负端输入为0.5倍的VDD,那么通过上面的公式可以得出,(DACLVL / 64)= 0.5,所以DACLVL= 32即0x20。

2020-03-16 -  技术问答 代理服务 技术支持 采购服务

Silicon Labs的8位MCU EFM8LB10的出厂默认bootloader被擦除了,如何恢复?

可以在平台搜索AN945SW,在这个文件里面包含所有EFM8LB系列的出厂默认bootloader的.HEX文件,找到对应型号,烧录进去就可以恢复了。

2019-01-21 -  技术问答 代理服务 技术支持 采购服务

Silicon Labs EFM8LB12系列8位MCU有ES0,ES1两个版本,两者之间的区别是什么?

ES0版本的mcu bootloader引脚是P0.2,P0.3;ES1版本的mcu bootloader引脚是P0.2,P0.3;此外两个芯片的 Derivative ID也是不同的,具体要看芯片封装和Flash尺寸;

2018-11-14 -  技术问答 代理服务 技术支持 采购服务

Silicon Labs的8位MCU EFM8LB12的P3.0 -P3.3引脚的管脚耐压是多少?

Silicon Labs的8位MCU EFM8LB12的结温是否和工作温度一样?

2019-11-22 -  技术问答 代理服务 技术支持 采购服务

Silicon Labs的EFM8LB1系列8位MCU的BOOTLOADER I2C硬件引脚是哪个?

Silicon Labs的EFM8LB1系列8位MCU的BOOTLOADER I2C硬件引脚如下; ES1版本的EFM8LB系列BOOTLOADER的I2C硬件引脚是P0.2(SDA),P0.4(SCL),而ES0版本的是P0.2(SDA), P0.3(SCL);

2018-10-29 -  技术问答 代理服务 技术支持 采购服务

Silicon Labs 的8位MCU EFM8LB1系列的CLU模块可以同时实现曼切斯特编码和解码功能吗?

silicon labs的8位MCUEFM8LB和EFM8BB3系列都具有CLU(配置逻辑单元),其中包括CLU0~CLU3,4个单元,可以用于实现曼切斯特编码或者解码功能,silicon labs提供相关的例程,其中解码实现需要4个CLU单元,编码实现需要使用2个CLU单元,故如果要同时实现编码解码功能,需要2个MCU才可以完成。具体资料请参考:https://www.sekorm.com/doc/706211.html

2019-03-20 -  技术问答 代理服务 技术支持 采购服务

Silicon Labs的8位MCU EFM8LB1里的PINRSTMD功能如何使用?

Silicon Labs的8位MCU EFM8LB1里的PINRSTMD功能是可通过非上电复位保持端口IO输出状态,将PCON1寄存器中的PINRSTMD置1来实现,具体操作如下:1)正常运行 - MCU运行 2)固件设置PINRSTMD位。写入PxMDIN,PxMDOUT,Pn和XBARE寄存器仍会影响引脚模式和输出状态。 3)发生非POR复位。此时,PxMDIN,PxMDOUT,Pn和XBARE寄存器复位,但端口引脚的输出状态保持不变。PINRSTMD位保持不变。 4)当PINRSTMD仍然置1时,固件可以写入PxMDIN,PxMDOUT,Pn和XBARE寄存器,但引脚模式或输出状态不会发生变化。 5)固件清除PINRSTMD位。引脚模式和输出状态会更新,以反映自非POR复位后PxMDIN,PxMDOUT,Pn和XBARE寄存器的任何变化。 6)固件设置PINRSTMD位。写入PxMDIN,PxMDOUT,Pn和XBARE寄存器仍会影响引脚模式和输出状态。(与第2步相同)

2019-09-16 -  技术问答 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.5305

现货: 94,130

品牌:SILICON LABS

品类:8位MCU

价格:¥5.8534

现货: 68,019

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥7.5258

现货: 7,505

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥5.0172

现货: 49,700

品牌:SILICON LABS

品类:8位MCU

价格:¥9.6632

现货: 46,205

品牌:SILICON LABS

品类:8位MCU

价格:¥14.1226

现货: 44,871

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥4.3667

现货: 27,741

品牌:SILICON LABS

品类:8位MCU

价格:¥22.0197

现货: 18,900

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.3528

现货: 18,044

品牌:SILICON LABS

品类:8位MCU

价格:¥49.7071

现货: 16,600

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥5.1900

现货:396

品牌:SILICON LABS

品类:8位MCU

价格:¥39.8000

现货:266

品牌:SILICON LABS

品类:Switch Hall Effect Magnetic Position Sensor

价格:¥2.2924

现货:126,000

品牌:SILICON LABS

品类:Light Sensor

价格:¥20.3400

现货:28,003

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

IC烧录代工及IC自动化烧录

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。

最小起订量: 1 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

平台客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面