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

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

3天内不再提示

芯科科技光模块利器预置I2C Bootloader功能

Silicon Labs 来源:未知 作者:工程师郭婷 2018-08-28 18:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Silicon Labs(亦称芯科科技)在全系列EFM8 8位MCU出厂时预置带I2CUARTUSB等多种方式下载功能的Bootloader进行程序更新,并提供源代码方便用户进行定制Bootloader,这对于广大的光模块研发工程师来说,无疑是注入了一支兴奋剂。

什么是Bootloader?

Bootloader顾名思义,即具有Boot引导系统和Loader更新系统功能,其功能类似计算机的BIOS,是MCU上电后执行的第一段代码,它完成CPU和相关硬件的初始化后,判断系统此时应进入Boot模式还是Loader模块。在Boot模式下,MCU会跳转到用户代码处执行用户程序;在Loader模式下,MCU接收I2C、UART或USB等方式传输的数据,覆盖用户程序代码区,更新程序代码。

通过预置Bootloader,用户可以不使用调试接口和工具,直接在通讯接口上进行程序的更新和升级,极大地方便用户更新产品程序。

光模块为何需要内置I2C Bootloader?

一直以来,Bootloader由于硬件限制,只限于在性能和存储容量大的32位嵌入式系统上使用,作为引导操作系统的功能。随着现代电子产品对体积、功能、应用和调试等多方面的需求,8位MCU上也开始出现Bootloader需求,光模块在这方面体现得尤其强烈。

光模块的作用就是光电转换,发送端把电信号转换成光信号,通过光纤传送后,接收端再把光信号转换成电信号。光模块的体积非常小,对硬件工程师布线是一个很大的考验,很多工程师为预留程序下载接口绞尽脑汁。由于光模块普遍采用I2C Slave接收数据,因此内置I2C Bootloader进行程序更新,可以极大地方便硬件工程师进行设计,同时方便客户批量生产。

EFM8的I2CBootloader实现

Silicon Labs的8位MCU由于体积小、功耗低、外围器件少、性能稳定,受到广大光模块厂家的青睐,其C8051F33X、C8051F39X和C8051F85X等系列的8位MCU在光模块领域普遍使用。今年,Silicon Labs继续发力,针对光模块市场推出EFM8BB系列的低成本和EFM8LB系列的高性能MCU,并在EFM8全系产品中加入Bootloader。

计算机通过USB或串口通过EFM8进行程序更新的原理如图1所示:

图1: EFM8的USB和串口下载

计算机上的下载软件首先将下位机上执行的固件HEX文件转换为二进制的记录文件,然后将文件内容拆分成多个数据包,分次传给EFM8 Bootloader,EFM8收到数据后解包,更新用户程序区代码。

由于计算机没有I2C接口,因此EFM8的I2C下载需要增加MCU进行UART到I2C协议转换,如图2所示:

芯科科技光模块利器预置I2C Bootloader功能

图2 :EFM8的I2C下载

目前UART到I2C协议转换,Silicon Labs提供基于C8051F37X和C8051F39X的全套源代码,客户也可以轻松地移植到其它平台上。

EFM8内置的Bootloader位于其代码安全页上,确保Bootloader在Flash页被锁定的情况下仍然正确更新程序,同时,如果客户不需要Bootloader,也可以用下载器擦除释放Flash空间。

综上所述,Silicon Labs充分考虑光模块的需求,适时在EFM8上增加I2C下载功能,同时继续保持其业界体积小、功耗低的优势,无疑会增加产品竞争力,使其继续保持光模块市场份额领先地位。

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

    关注

    147

    文章

    19121

    浏览量

    403640
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11326

    浏览量

    225873
  • usb
    usb
    +关注

    关注

    60

    文章

    8475

    浏览量

    285825

原文标题:光模块利器-预置I2C Bootloader的EFM8 8位MCU

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析DS1339 I2C串行实时时钟:功能、特性与应用

    深入解析DS1339 I2C串行实时时钟:功能、特性与应用 在电子设计领域,实时时钟(RTC)是一种至关重要的组件,它能为系统提供精确的时间和日期信息。今天我们要探讨的是Maxim
    的头像 发表于 03-24 09:30 179次阅读

    RK平台I2C开发:从硬件原理到实战排查

    在嵌入式开发中,I2C 总线是连接外设的 “桥梁”—— 小到传感器、EEPROM,大到 LCD 驱动器、音频芯片,都离不开它的控制。而瑞微(Rockchip)系列芯片作为主流嵌入式方案,其 I2C 控制器的开发是很多工程师的必
    的头像 发表于 02-05 13:42 2394次阅读
    RK平台<b class='flag-5'>I2C</b>开发:从硬件原理到实战排查

    探索MAX7306:多功能I2C/SMBus接口GPIO与LED驱动器

    探索MAX7306/MAX7307:多功能I2C/SMBus接口GPIO与LED驱动器 在电子设计领域,对于高效、灵活的GPIO扩展和LED驱动方案的需求从未停止。今天,我们将深入探讨Maxim公司
    的头像 发表于 02-02 15:55 246次阅读

    解锁NXP NTAG I2C plus:开启NFC应用新境界

    解锁NXP NTAG I2C plus:开启NFC应用新境界 在当今的电子世界中,NFC(近场通信)技术正以其便捷性和高效性逐渐成为众多电子设备的标配。NXP NTAG I2C plus系列连接式
    的头像 发表于 01-08 16:45 696次阅读

    I2C 为什么只要两根线就能搞定通信?

    到目前为止,我们已经讨论了SPI通信和UART通信的基础知识,现在让我们讨论本系列的最后一个协议,即集成电路间协议(I2C)。如果您曾经构建过使用OLED显示器、气压传感器或陀螺仪/加速度计模块
    的头像 发表于 01-04 09:14 2045次阅读
    <b class='flag-5'>I2C</b> 为什么只要两根线就能搞定通信?

    基于FPGA的I2C控制模块设计

    I2C_WRITE_WDATA.v模块实现I2C写时序,I2C_Controller (I2C控制器)例化了
    的头像 发表于 12-26 09:48 5937次阅读
    基于FPGA的<b class='flag-5'>I2C</b>控制<b class='flag-5'>模块</b>设计

    探索TCA1116:低电压16位I2C I/O扩展器的卓越性能

    探索TCA1116:低电压16位I2C I/O扩展器的卓越性能 在电子设计领域,I/O扩展器是实现系统功能扩展的重要组件。今天,我们将深入探讨德州仪器(TI)的TCA1116低电压16
    的头像 发表于 12-24 09:55 990次阅读

    AS32X601的I2C模块操作EEPROM详解

    推出的AS32X601系列MCU芯片内置的I2C模块提供了符合工业标准的两线串行制接口,可用于MCU和外部I2C设备的通讯。
    的头像 发表于 12-21 21:39 1581次阅读
    AS32X601的<b class='flag-5'>I2C</b><b class='flag-5'>模块</b>操作EEPROM详解

    I2C死锁的问题

    在实际使用过程中,I2C比较容易出现的一个问题就是死锁 ,死锁在I2C中主要表现为:I2C死锁时表现为SCL为高,SDA一直为低。 在I2C主设备进行读写操作的过程中,主设备在开始信
    发表于 12-04 06:00

    基于源CW32F030 MCU的I2C通信及应用

    源微的CW32F030是一款基于Arm Cortex-M0内核的32位低功耗MCU,具备高性能和丰富的外设功能,广泛应用于物联网、智能家居、工业控制等领域。CW32F030支持包括I2C、SPI
    发表于 11-18 08:29

    深入剖析I2C协议

    I2C也是一种可以多主设备,多从设备的总线协议,通过地址索引,I2C可以使能所需从设备,I2C的出现主要是用来实现不同集成电路组件之间的控制功能,比如通过
    的头像 发表于 08-21 15:10 3877次阅读
    深入剖析<b class='flag-5'>I2C</b>协议

    AS32系列MCU芯片I2C模块性能解析与调试

    推出的AS32X601内置的I2C模块提供了符合工业标准的两线串行制接口,可用于MCU和外部IIC设备的通讯。IIC总线使用两条串行线:串行数据线SDA和串行时钟线SCL。 I
    的头像 发表于 06-20 16:31 1094次阅读
    AS32系列MCU芯片<b class='flag-5'>I2C</b><b class='flag-5'>模块</b>性能解析与调试

    第十八章 I2C通信测试

    本章介绍了I2C协议,其物理层用SDA和SCL双线,支持多设备:协议层含起始/停止信号、应答机制等。还讲解W55MH32的I2C外设及初始化,并进行了通信测试代码的分析。
    的头像 发表于 06-19 17:07 1464次阅读
    第十八章 <b class='flag-5'>I2C</b>通信测试

    第十六章 一文浅谈I2C

    本篇文章介绍了W55MH32的I2C总线,其由SDA和SCL构成,具设备寻址等特点,协议含起始 / 停止信号等。阐述主从模式,介绍了相关例程,用于验证 I2C 通信功能
    的头像 发表于 05-28 16:07 1613次阅读
    第十六章 一文浅谈<b class='flag-5'>I2C</b>

    简单了解I2C接口

    在电子电路的复杂世界里,各种电路模块设备需要相互通信才能协同工作 ,I2C接口就像是电路模块设备间的沟通桥梁,今天就带大家深入了解它。
    的头像 发表于 05-08 14:15 2816次阅读
    简单了解<b class='flag-5'>I2C</b>接口