光模块MCU利器:出厂预置带I2C下载的Bootloader
SILICON LABS官方公布,在EFM8全系列8位MCU出厂时预置带I2C、UART或USB等多种方式下载功能的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的I2C Bootloader实现
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所示:
图2 :EFM8的I2C下载
目前UART到I2C协议转换,Silicon Labs提供基于C8051F37X和C8051F39X的全套源代码,客户也可以轻松地移植到其它平台上。
EFM8内置的Bootloader位于其代码安全页上,确保Bootloader在Flash页被锁定的情况下仍然正确更新程序,同时,如果客户不需要Bootloader,也可以用下载器擦除释放Flash空间。
综上所述,Silicon Labs充分考虑光模块的需求,适时在EFM8上增加I2C下载功能,同时继续保持其业界体积小、功耗低的优势,无疑会增加产品竞争力,使其继续保持光模块市场份额领先地位。
获取更多产品信息或样片申请可联系世强。
看到这里您是否又有项目灵感需实现,点击下面开发软件帮你忙。
Silicon Labs Simplicity Studio平台开发工具
Silicon Labs 集成开发环境工具
Silicon Labs 配置向导2开发工具
Silicon Labs FLASH编程开发工具
Silicon Labs 8位MCU Keil PK51 开发工具
Silicon Labs ToolStick 开发工具
Silicon Labs μVision 调试驱动程序开发工具
Silicon Labs 生产编程器开发工具
Silicon Labs .HEX转化.SVF开发工具
Silicon Labs USB复位实用程序开发工具
- |
- +1 赞 0
- 收藏
- 评论 4
本网站所有内容禁止转载,否则追究法律责任!
评论
全部评论(4)
-
watson Lv7. 资深专家 2018-07-17挺好的
-
小小哥布林 Lv7. 资深专家 2018-03-28不错
-
随心所愿 Lv5. 技术专家 2018-01-17给力
-
joyhw Lv5. 技术专家 2017-12-17不错
相关推荐
SILICON LABS 8-bit Microcontroller选型表
SILICON LABS 8位MCU选型,MCU Core 8051,频率20MHz~100MHz,Flash存储2kB~120kB,RAM存储0.25kB~8kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Dig I/O Pins
|
ADC 1
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
DAC
|
Comparators
|
UART
|
SPI
|
I2C
|
HS I2C Slave
|
EMIF
|
CAN
|
LIN
|
VREF
|
Debug Interface
|
C8051F392-A-GM
|
8位MCU
|
C8051F39x Small Form Factor
|
50
|
16
|
1
|
1.8
|
3.6
|
QFN20
|
4x4
|
±2
|
17
|
10-bit, 16-ch., 500 ksps
|
Temp Sensor
|
6
|
3
|
10-bit, 2-ch.
|
1
|
1
|
1
|
2
|
0
|
0
|
0
|
0
|
VREF
|
C2
|
选型表 - SILICON LABS 立即选型
【经验】如何正确使用8位MCU的PortMatch功能
Silicon Labs的8位MCU(C8051和EFM8)都具有PortMatch功能,此功能允许一个或多个端口IO引脚上的逻辑电平变化触发系统事件。
SILICON LABS EFM8 Universal Bee 8-bit Microcontrollers选型表
SILICON LABS 8位MCU选型,基于48MHz Frequency,8~64kB Flash,2~4kB RAM等参数进行选型
产品型号
|
品类
|
MCU Core
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
5 Volt Tolerant
|
ADC 1
|
USB
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
Comparators
|
UART
|
SPI
|
I2C
|
EMIF
|
CAN
|
LIN
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
VREF
|
Debug Interface
|
Temperature Range (ºC)
|
EFM8UB20F64G-QFP48
|
Microcontroller
|
8051
|
48
|
64
|
4
|
40
|
5 Volt Tolerant
|
10-bit, 32-ch.
|
USB
|
Temp Sensor
|
6
|
5
|
2
|
2
|
1
|
2
|
1
|
0
|
0
|
2.7
|
5.25
|
QFP48
|
7x7
|
±1.5
|
VREF
|
C2
|
-40 to 85
|
选型表 - SILICON LABS 立即选型
8位单片机EFM8的烧录器有哪些?
8位单片机EFM8系列采用C2调试接口,常见的烧录器有:1,官方的EFM8 STK、USB Debug Adapter、ToolStick。2,第三方的U-EC2/6、WizPro200EFM(支持EFM8和EFM32)等。
【产品】小蜜蜂8位MCU助您轻松迎接物联网时代
Silicon labs推出了一款集小封装和高性价比于一身的多用途8位MCU EFM8BB1,可轻松替代普通8051家族的MCU产品。
【经验】Silicon Labs 8位单片机EFM8系列仿真接口C2硬件电路设计
EFM8系列MCU是Silicon Labs公司推出的一款多用途、小封装8位单片机,该系列MCU经过AEC-Q100认证,被广泛应用于光通信设备,消费电子,电机控制,照明系统,医疗器械等领域。EFM8系列与C8051F系列MCU都是采用C2接口进行程序的烧写和软件的调试,但是我们实际应用中,很多客户在设计C2接口时,由于设计的不当,导致无法调试烧写,本文将对C2接口设计和注意事项,进行介绍。
【经验】PCB布线技巧:8位单片机端口Crossbar功能的使用及配置
如果单片机自带Crossbar功能,只要软件配置调整一下各端口功能,PCB布线就会畅通。
8位单片机EFM8系列中芯片上的UID是什么?
UID是芯片中新加的全球唯一ID,即每个芯片的ID都是不一样的,EFM8系列的MCU上都包含此ID。有两类获取UID的方式,一种通过读取RAM的特定地址获得,一种通过读取Flash的特定地址获得。在早期引入此ID的MCU上(比如EFM8BB1/SB1/SB2)这个ID为32位,在芯片复位时(PC指针被复位至0之前)被复制至RAM中特定位置,用户程序可以读取其值。此位置的RAM仍然可以由用户使用。需要注意的是如果此位置被编译器分配了变量,那么当函数执行至main()时此位置的内容会被初始化代码覆盖。EFM8UB2的UID也是此类,但其位数为128位。在新的EFM8系列MCU上(比如EFM8BB3/LB1/UB1),UID位数为128位,存储在Flash上。
可对标ST MCU的Silicon Labs小蜜蜂单片机EFM8,海量现货供应!
Silicon Labs的EFM8BB系列是STM8S003,STM8S103,STM8S105,STM8S005的备选方案。集成度高、体积小、功耗低、具优越的节电模式,是成本敏感型单片机应用的理想选择。
8位单片机EFM8LB11,既有I2C,也有SMBus,那么,I2C与SMBus的主要差别是什么?
SMBus和I2C的主要差别是与各种时序要求相关。下面列举最重要的方面:SMBus定义一个最小总线时钟频率FSMB,10KHz。I2C没有明确任何最小总线时钟频率。除了维持有效的总线吞吐量,该SMBus协议参数还可作为一个简单的检测总线空闲条件(除了或代替检测每个STOP条件)和实现比特位超时的方法。SMBus定义一个数据保持时间,即从SMBCLK下降沿之后,SMBDAT仍然必须维持至少300ns有效。这在I2C协议中定义的保持时间为0。SMBus时钟最大频率定义为100KHz。I2C提供多种不同速率模式操作,Standard模式最高频率达到100KHz,Fast模式为400KHz,Fast Plus为1MHz,而High-speed高达到3.4MHz。SMBus定义一个时钟低电平超时 TTIMEOUT,最大为35ms。I2C并没有明确指定任何超时限制。SMBus明确TLOW:SEXT,即SMBus从设备的累积时钟低扩展时间。I2C没有类似的规定。SMBus明确 TLOW:MEXT,即SMBus主设备的累积时钟低扩展时间。I2C没有类似的规定。
为什么在8位MCU C8051F392上运行正常的程序增加了一个全局变量后就无法执行到主程序中?
8位MCU C8051F392芯片内部集成有看门狗功能,这个功能默认是开启的,当全局变量过多时,在C语言的程序初始化没有结束时看门狗已经复位了,所以无法执行到主程序中,解决 办法是将STARTUP.A51添加到项目中,并在STARTUP.A51文件中将看门狗关闭。
8位MCU c8051f040内部时钟振荡器是否可以用于产生波特率的时基?
8位MCU c8051f040器件的内部时钟振荡器精度为±2%,可用于产生波特率。
【经验】8位单片机EFM8SB低功耗问题调试汇总
EFM8SB提供了非常优越的低功耗性能,但在设计时还是会遇到实测功耗比理论值高或无法进入Sleep状态等问题。
8位单片机EFM8BB21F16可以使用哪些仿真器,与C8051F系列有什么不同?
8位单片机EFM8系列MCU仍然使用了C2接口,所以C8051F使用的仿真器都可以与其通信。目前有如下类型: 1、EFM8 STK 上的J-Link,这种仿真器由Segger开发。 2、Silabs的UDA、第三方的仿真器。 3、Silabs的TOOL STICK。
8位单片机EFM8BB21F16中比较器参数表中的磁滞和偏移怎么理解?
8位单片机EFM8BB21F16 中比较器的磁滞是V_+在V_-附近时不会马上反转,会滞后一定的电压,磁滞的电压会导致比较器输出反转滞后,如果输入电压比较接近时有干扰可以 避免比较器输出频繁反转。比较器的偏移是指在V_+/V_-很接近时,比较器的输出电平跳转需要一定的上升/下降时间。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可定制卫星定位天线协议:GPS、北斗、伽利略 (Galileo) 、格洛纳斯(GLONASS)卫星定位;增益:5~25dBi;驻波比:≤1.5;接口连接器:IPEX:1~5代IPE、SMA接口/公头等。
最小起订量: 1000 提交需求>
登录 | 立即注册
提交评论