【经验】8位单片机C2自制烧录器不能用于EFM8问题分析及解决


SILICON LABS公司推出的8位单片机,采用标准的C8051内核,开发方便。具有速度快、功能强、功耗低、体积小等优点,在各领域得到广泛应用。Silicon Labs的8位单片机,更采用独特的C2调试接口,在占用极少的引脚资源的情况下,实现在线仿真调试,烧录功能,方便软件的开发设计。
由于Silicon Labs公司的8位单片机采用的C2调试接口协议是公开的,并且提供在C8051F380芯片上实现的调试工具例程,可以根据自己的需求设计出方便自己应用的C2烧写工具。
Silicon Labs公司推出新一代8位单片机EFM8系列后,对C2调试接口做了细微的调整,导致某些自己设计的C2工具不能用在EFM8系列单片机上。如果遇到这类问题,可以通过下述3方面进行代码调整。
1. Reset时序调整
如图1所示,C2CK被拉低(tRD)大于20uS,将会复位MCU,开始编程操作。手册AN127上说明,tRD最小时间为20uS,没有最大时间限制。如果tRD为mS级,在EFM8系列上使用,可能会导致MCU编程失败,这种情况可以将tRD时间缩小,修改为20uS可以解决问题。
图1 C2接口RST时序图
2. 编程接口初始化流程更新
C2CK复位MCU后,需要发送编程接口初始化指令,才能进一步对Flash擦除、读写操作。在旧版本中,只需要向FPCTL寄存器发送0x02和0x01数据即可完成初始化。在新版本中需要向FPCTL寄存器发送0x02、0x04和0x01。所以对EFM8系列MCU编程烧写时,最好采用新的C2接口初始化流程。
图2 C2接口编程初始化流程新旧版本对比
3. 添加EFM8系列MCU的ID号
EFM8系列单片机有新的DeviceID号,由于C2接口是通过读取ID号来判断MCU型号,如果烧写软件中没有EFM8对应的ID号,可能会导致不能编程烧写EFM8系列MCU。所以需要根据图3将EFM8系列的ID号添加到自设计的C2工具中。
图3 EFM8系列的ID号
- |
- +1 赞 0
- 收藏
- 评论 0
本文由东方的风提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】如何下载、安装、设置Silicon Labs 8位单片机集成开发环境IDE?
Silicon Labs的8位单片机集成开发环境IDE,简单、容易、强大,是C8051F及EFM8等8位单片机软件开发的强大利器!为了让新手能够快速上手IDE,本将详细接收Silicon Labs IDE的下载、安装、设置等方法。
【经验】8位单片机EFM8系列的SFR Page操作
Silicon Labs的8位单片机EFM8系列,集成丰富的外设,高性能,小封装。软件开发时,由于外设多,寄存器操作引入了SFR Page机制,注意SFR Page设置,防止程序错误,让EFM8系列芯片设计出稳定的优质产品。
【经验】8位单片机EFM8系列的ADC对参考电压Vref引脚设计要求
Silicon Labs的8位单片机EFM8系列,高精度ADC功能时该芯片的一大特点,为了ADC获得准确的采用值,除了正确操作ADC外设外,还需要正确设计参考电压,结合EFM8芯片的特点,介绍参考电压设计需要注意的事项。
SILICON LABS EFM8 Sleepy Bee 8-bit Microcontrollers选型表
SILICON LABS 8位MCU选型,基于25MHz Frequency,2~64kB Flash,0.25~4kB RAM等参数进行选型
产品型号
|
品类
|
MCU Core
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
Comparators
|
UART
|
SPI
|
I2C
|
HS I2C Slave
|
I2S
|
EMIF
|
CAN
|
LIN
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
VREF
|
Debug Interface
|
Temperature Range (ºC)
|
EFM8SB10F8G-QFN20
|
Microcontroller
|
8051
|
25
|
8
|
0.5
|
16
|
12-bit, 9-ch.
|
Temp Sensor
|
4
|
3
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1.8
|
3.6
|
QFN20
|
3x3
|
±2
|
VREF
|
C2
|
-40 to 85
|
选型表 - SILICON LABS 立即选型
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 立即选型
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 立即选型
【经验】如何基于Production Programmer实现EFM8系列8位单片机HEX文件下载?
当软件工程师调试并测试完毕代码后,下一个步骤,就是交给生产进入下载、生产环节。对于Silicon Labs的8位单片机,产线上下载方式有多种多样。本文将为你介绍一种简单、高效、低成本的下载方式,即基于原厂提供的通用软件“Production Programmer”+ U-EC6的方式。
请问带SMUBUS方式下载接口,Silicon Labs的8位单片机EFM8LB12是否通过SMBUS BOOTLOADER直接下载.hex固件程序?
目前ilicon Labs的8位单片机EFM8LB系列带SMBUS接口的MCU不支持直接通过SMBUS下载.hex固件,需要先通hex2boot.exe将.hex文件转成.efm8文件然后通过efm8_load_smbus.exe将.efm8下载到EFM8LB单片机中。
使用芯科的8位单片机EFM8SB2的RTC时,为什么最多只能计数30多个小时?
RTC的计数最大时间位2的32次方时钟周期,约为36小时,所以使用RTC时,可以使用Alarm进行标记。
【经验】8位单片机EFM8的Boot代码放置模式及其特点
Silicon Labs 8位单片机EFM8支持Boot功能,通过该功能,可以使EFM8摆脱调试器进行代码下载,甚至可以实现远程代码升级等,这给单片机代码更新带来了极大的方便。而Boot在FLASH中的放置,对Boot实现具有重要影响,本文将详细为你解读Boot代码放置模式及其特点。
Silicon Labs的8位单片机EFM8LB10的I2C slave是否可以配置P1.2,P1.3?
Silicon Labs的8位单片机EFM8LB10的I2C slave是固定pin脚的,为P1.3,P1.4,如果需要使用永健I2C slave,那么pin脚不可以使用 crossbar, 如果是否模拟I2C,可以使用任意pin脚。
关于基于8位单片机EFM8LB外设CLU进行曼彻斯特解码,Silicon Labs原厂提供了相应的例程,请问,在例程中,解码出来的信号,哪个是数据输出?哪个是时钟输出?
Silicon Labs原厂给出了8位单片机EFM8LB外设CLU进行曼彻斯特解码相应的例程,在例程中,CLU3输出的是数字信号,CLU1的输出的是时钟信号。
Silicon Labs 8位单片机EFM8LB使用最新的“efm8_load_smbus.exe” GUI软件通过SMBUS下载更新固件时,只能下载.efm8格式 的固件吗?
“efm8_load_smbus.exe” GUI软件配合SMBUS接口下载更新Silicon Labs 8位单片机EFM8LB固件时目前只支持.efm8格式文件下载,需要通过 “hex2boot.exe”将.hex文件转成.efm8格式再下载。
使用Silicon Labs的8位单片机EFM8LB12F32ES1芯片,通过C2接口烧写程序,C2CK引脚使用10K电阻上拉到VDD,偶尔可以识别芯片,如何解 决?
Silicon Labs的8位单片机EFM8LB12F32ES1使用C2接口进行程序烧写,C2D直接连接到烧写器,无需上拉。C2CK直接连接到烧写器,同时需要接上拉电阻,电阻值为 1KΩ~10KΩ。采用10KΩ的上拉电阻,识别成功率低,可以减少上拉电阻值(比如4.7KΩ电阻),提高上拉能力,增强C2CK的稳定性,可以解决问题。
芯科的8位单片机EFM8LB系列,最新版本为C版本,如何区分,软件上是否可以判断?
EFM8LB系列,从芯片的丝印上无法区分版本号。软件可以读取ID号区分芯片版本。版本ID号为寄存器REVID。
电子商城
现货市场
服务

提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>

可定制导热胶的导热系数1~6W、粘度范围3000~250000cps、固化方式可加热、仅室温、可UV;施胶方式:点胶机、手工、喷胶、转印;支持颜色、硬度、固化时间等参数的个性化定制。
最小起订量: 1支 提交需求>
登录 | 立即注册
提交评论