【经验】EFM8SB系列MCU I2C引脚有BUG?原来问题在这里
EFM8SB系列MCU是SILICON LABS公司的8位低功耗系列MCU,超低的功耗、快速唤醒时间等特性,使其广泛应用于电池供电的产品。另外,EFM8SB系列还提供了丰富的外设,包括SPI、UART、I2C等通讯协议。最近,有客户工程师反馈在调试EFM8SB系列MCU的I2C时,配置好I2C的引脚,但是引脚的状态程序无法控制,是不是EFM8SB的I2C有BUG?经了解,EFM8SB的I2C作为主,工程是在参考工程EFM8SB1-SMBus-Master-MultiBtye基础上移植的。
查看了工程程序,EFM8SB1-SMBus-Master-MultiBtye工程在初始化阶段,有一个对SDA处于异常低电平的处理过程,函数如下:
// If slave is holding SDA low because of an improper SMBus reset or error
while(!SDA)
{
// Provide clock pulses to allow the slave to advance out
// of its current state. This will allow it to release SDA.
XBR1 = 0x40; // Enable Crossbar
SCL = 0; // Drive the clock low
for(i = 0; i < 255; i++); // Hold the clock low
SCL = 1; // Release the clock
while(!SCL); // Wait for open-drain
// clock output to rise
for(i = 0; i < 10; i++); // Hold the clock high
XBR1 = 0x00; // Disable Crossbar
}
这段代码的目的是:如果SDA被从机异常拉低,则主机控制SCL提供时钟脉冲,以允许从机跳出当前状态,从而释放SDA。
但是这段代码Enable Crossbar时,对寄存器配置错误,应该是寄存器XBR2而不是XBR1,需要将上述代码中的XBR1改为XBR2。就是因为Crossbar配置错误,从而导致I2C引脚无法控制。
目前发现Simplicity Studio提供的参考工程中,只有EFM8SB1和EFM8SB2的SMbus Master工程Corssbar寄存器配置错误,EFM8BB、EFM8UB和EFM8LB系列暂未发现此问题。这是Simplicity Studio的参考工程出现错误,而并非EFM8SB的I2C有BUG。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由Carol提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】如何下载、安装、设置Silicon Labs 8位单片机集成开发环境IDE?
Silicon Labs的8位单片机集成开发环境IDE,简单、容易、强大,是C8051F及EFM8等8位单片机软件开发的强大利器!为了让新手能够快速上手IDE,本将详细接收Silicon Labs IDE的下载、安装、设置等方法。
【经验】如何计算8位单片机EFM8LB系列PWM最高输出频率?
在电机驱动、电源发生、可调电压发生等应用中,经常需要PWM波,Silicon Labs推出的高性能、高集成度、小体积、高性价比的EFM8LB系列8位单片机,可广泛应用光模块、电机控制等领域,它支持输出PWM波。本文将详细讲解如何计算EFM8LB系列8位单片机PWM最高输出频率。
【经验】8位单片机EFM8系列的ADC对参考电压Vref引脚设计要求
Silicon Labs的8位单片机EFM8系列,高精度ADC功能时该芯片的一大特点,为了ADC获得准确的采用值,除了正确操作ADC外设外,还需要正确设计参考电压,结合EFM8芯片的特点,介绍参考电压设计需要注意的事项。
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 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 立即选型
8位单片机EFM8的烧录器有哪些?
8位单片机EFM8系列采用C2调试接口,常见的烧录器有:1,官方的EFM8 STK、USB Debug Adapter、ToolStick。2,第三方的U-EC2/6、WizPro200EFM(支持EFM8和EFM32)等。
【应用】芯科8位单片机EFM8BB10F8G应用于电动宠物剪,主频高达25MHz,支持PWM
某客户是专门做一些小型电机产品,像羊毛剪、各种宠物剪等,由于这种宠物剪体积较小,由电池供电,在器件的选型上就偏向于小封装、集成度高、性价比高的芯片。在综合评估后,客户选用了芯科的EFM8BB10F8G单片机作为电动宠物剪的主控。
【经验】8位低功耗MCU EFM8SB1的UART配置流程与注意事项
在IOT的许多低功耗应用场合,Silicon Labs的8位低功耗MCU EFM8SB1系列MCU成为主要的中心控制器。由于NB-IOT,4G等模块的通信方式为UART,因此本文介绍EFM8SB1系列MCU的串口配置流程。
【应用】芯科主频高达80MHz的低功耗MCU用于故障指示器,运行功耗仅21μA/MHz
根据故障指示器的组成,MCU需求存储空间大于256kB,休眠功耗小于2μA,12bit以上ADC,集成2*SPI;1*UART功能。根据该需求,可以选择Silicon Labs推出的超低功耗MCU EFM32PG23B310F256IM48。
Silicon Lab收购生产高速8位单片机Cygnal
2016年,Silicon Lab公司宣布,以5800万美元的价格收购Cygnal公司。Cygnal是一家8位单片机公司,主要生产高速8位单片机,自前年进入中国市场以来,沈阳新华龙是该公司的代理,其C8051F单片机以速度快但是价格贵在国内著名。
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上。
【应用】芯科低功耗8位单片机助力于轨交通讯视频控制系统设计,睡眠电流低至50nA,唤醒时间小于2μs
轨交通讯视频控制系统中通常需要一款超低功耗的MCU作为主控,本文推荐Silicon Labs的8位单片机EFM8SB10F8G-A-QFN24作为主控方案,助力于轨交通讯视频控制系统的应用与设计。
【经验】8位单片机C8051F360如何实现多个SPI通信?
快速与不同配置的多个从设备进行通信,已经成为当前MCU芯片设计中的核心技术点之一。在现有微控制器芯片中spi接口一般只有1个,如何实现多个SPI通信是个问题。本文将介绍Silicon Labs的8位单片机C8051F360实现多个SPI通信的方法。
【应用】8位单片机EFM8SB10用于燃气表触摸按键检测功能,检测精度高达16位、最小检测单位1fF
Silicon Labs推出的8位单片机EFM8SB10,具有电容检测精度高、功耗低、体积小等优点,将它用于燃气表触摸按键检测功能,可以拥有灵敏度高、抗油烟污染、节省电池等优势。因此,EFM8SB10非常适宜用于燃气表。
【经验】解析Silicon Labs的8位单片机EFM8SB10休眠时如何处理GPIO口降低功耗
Silicon Labs的8位单片机EFM8SB10采用C8051内核,主频25MHz,集成12BIT的ADC、模拟比较器、触摸按键、UART、SPI、I2C等功能,休眠功耗低至50nA。本文将介绍EFM8SB10休眠时如何处理GPIO口降低功耗。
电子商城
现货市场
服务
可定制显示屏的尺寸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 提交需求>
登录 | 立即注册
提交评论