今天给大家带来一个新的8位MCU,由Silicon Labs生产的高性价比的MCU——BB5系列。
关于8位的MCU,常见的有宏晶半导体的STC系列、意法半导体的STM8系列,还有新塘科技的8位MCU和一些其他国产品牌。大家可能对SiliconLabs的8位MCU了解得比较少,下面就来详细介绍一下BB5系列。
本文分为三部分:
■ 一是BB5系列的架构和特性;
■ 二是BB5系列的市场应用,及与主流8位MCU的对比;
■ 三是BB5系列的开发套件介绍,方便大家快速入手这颗芯片。
一、BB5系列的架构和特性
图|BB5系列架构
首先,看左上角的内核和内存,BB5系列依然采用经典的8051内核,但它的系统时钟可以达到50MHz,在业界8位的MCU里是比较高的一个频率。BB5系列的flash和RAM空间都相对较大,flash最多可达32kB,RAM的空间将近2kB。它提供了一个双线的debug接口,方便对芯片进行程序的下载、调试、仿真。
接下来是时钟管理,这个时钟我们要重点看一下。BB5系列有一个50MHz的内部时钟晶振,晶振误差可以做到±2%,是很高的一个精度了。
在电源和能耗这方面,我们可以看到,BB5系列支持1.8-5.5V的宽电压范围。虽然有很高的主频,但在低功耗方面BB5系列也有不错的表现,可以做到10μA的功耗。低功耗模式下,唤醒速度也很快,30μs唤醒。
BB5系列的加密,是6bit的一个CRC通过8bit的SFR总线实现。
来看下BB5系列的外接设备。2个UART串口、1个SPI、最多支持2个I2C,GPIO口最多支持29个。定时器方面,BB5系列有看门狗的专用定时器,支持输出6路PWM波,此外还有16bit的定时器。
最后,看一下模拟模块。这里就比较厉害了。BB5系列支持12bit的ADC,在8位的MCU里一般都是10bit的ADC,很少有12bit的。另一个是,多数8位MCU里都没有DAC,但BB5系列有。它支持10bit的DAC,可以模拟输出。
BB5特性小结:
■ BB5系列是在上一代BB3的180nm的工艺上,进行了一个90nm的封装。
■ 它有一个优化的8051内核,速度可以做50MHz,比同类产品都要快。
■ Flash 4-32kB,RAM 0.5-2kB。
■ GPIO数量,根据不同的封装规格,可以有8-29个通用I/O。
■ 出色的模拟能力。极为精确的12位ADC、精确电压基准、快速选择10位DAC。
■ 低功耗模式下,电流低至10μA,30μs唤醒的速度。
■ 支持1.8-5.5V的宽电压范围。
■ 提供了相应的开发套件、免费软件工具,只需用一根电源线和底线就可以完成开发。
BB5系列芯片主打低成本、高性价比。售价方面,根据在元器件商城找到的数据,BB5系列的单颗芯片价格平均在4-5元左右。不同的分装型号和配置,价格会略有出入。
*BB5系列的查价链接:https://cn.silabs.com/mcu/8-bit/efm8-bb5
图|EFM8BB52F16G-QFN32的售价
二、BB5系列的市场应用,及与主流MCU的对比
2.1 BB5系列的市场应用
BB5系列芯片是专为消费电子和工业嵌入式应用而优化的。
2.1.1 消费电子
在消费市场,BB5系列可以用于电子烟、电动牙刷等小设备,电熨斗等小家电,手电钻、打钉的电枪等工具,小车等电动玩具。如果你正在寻找便宜的8位MCU解决方案,SiliconLabs的BB5系列芯片或许是个不错的选择。
图|BB5系列在消费电子的应用
选择BB5系列有两个优点:
■ 一是可以减少BOM成本。使用BB5系列芯片,可以减少不必要的组件安装。比如电压调节器,因为它内部集成了一个基准的稳压源,所以不需要再在外面装一个电压调节器。当然也不需要去扩展晶振、功率监视器等等,这些在芯片内部已经集成了。
■ 二是可以节约电路板的空间。BB5系列特有的“Crossbar”功能,提供无与伦比的引脚灵活性,形成一个整体更小的电路板。
2.1.2 LED与电机
BB5系列的另一个应用是LED灯饰以及家电等大型应用中的普通LED。BB5系列共有6个独立通道和3个互补通道,所产生的PWM 对LED的电池进行控制。BB5系列的低功耗使它擅长用于线路供电或系统中有其他设备的应用。我们可以用它来控制开光频率和电机。
图|BB5系列在LED的应用
2.1.3 工业组网
BB5系列也可用在工业组网方面。比如说我们需要一个MCU来采集外界的温度、压力、电流等等,然后通过一个小的从节点采集的信息向主节点报告。我们选择BB5系列就比较合适,它可以做小基层到传感器那一步,或者和传感器做成一体化的,这种方式就比较合理,可以替换当前使用MCU的这种方式。
图|BB5系列在工业组网的应用
2.2 与主流8位MCU的对比
让我们来看下BB5系列与主流8位MCU的对比。笔者主要列举了一下比较常用的MCU,如N761003、MS51、STM8等。STC51是一个比较老的芯片了,这里就不列举了。
图|BB5系列与N761003、MS51、STM8的对比
电压范围方面,BB5是1.71-5.5V,其他三个是二点多伏到5.5V。
内核的话,STM8比较特殊,用的是ST的STM8架构,其他三个都是8051内核。
重点看一下主频。BB5是50MHz,其他三个里最高的是24MHz。
Flash空间,BB5可达32kB,比其他三个要高。
晶振误差方面,BB5是50MHz晶振误差±2%,MS51是24MHz晶振误差±4%,STM8是16MHz晶振误差±5%。
ADC和DAC。BB5是12bit ADC,转换速度600ksps;MS51是12bit ADC,转换速度500ksps;STM8是10bit ADC,转换速度420ksps。BB5支持10bit DAC,其他三个没有。
低功耗模式。BB5是50MHz,30μs唤醒;MS51是24MHz,30μs唤醒;STM8是55μs唤醒。
2.3 与16位、32位MCU的对比
为了体现BB5的特性,笔者将其与用过的16位、32位MCU也进行了对比。总的来看,BB5在内核时钟频率上面略有领先。但是flash、RAM远低于16位和32位的。在ADC方面,BB5的性能大致接近于16位和32位。
图|BB5系列与16位、32位MCU的对比
三、BB5系列的开发套件介绍
Silicon Labs提供了相应的BB5系列开发套件。笔者选择其中一款进行介绍——BB52-EK2701A。这块开发板,EEPW正在征集试用者,感兴趣的朋友可以去报名,在12月2日前都可以提交申请。
让我们来详细的看一下BB52-EK2701A这块开发板。
图|开发板BB52-EK2701A
它上面集成了一个BB5系列中的BB52芯片,50MHz的工作频率,32kB flash,2kB RAM,还有一个用户LED和一个按钮。在上半部分,提供了一个J-Link的调试端口,用来调试BB52芯片。两边有一些外扩引脚,可以连接外扩设备。还提供了用于连接QwiicConnect系统硬件的Qwiic®连接器等硬件设备。
图|开发板BB52-EK2701A的框图
然后,我们来看这个开发板的框架,主要包括电源、板载的debug、用户LED和按钮。
电源。总线上的5伏电源使用LDO(低压差调节器)调节至3.3伏,是一种自动隔离电路,未插入USB电缆时隔离LDO。如果卸下USB电缆且套件上没有其他电源,则电源可以从外部注入VMCU网络。
图|BB52-EK2701A的供电
板载的debug。如果烧录程序的话,可以使用板载的J-Link debug或者外部的J-Link debug。这里笔者不确定是不是标准的J-Link,若是支持标准的J-Link debug的话,不需要去再买一个调试器,直接用J-Link就可以来调试。
此外,开发板还支持带硬件流控制功能的虚拟COM,与BB52芯片的一个物理串口进行连接。通过使用虚拟COM口,板载debug可以对BB52芯片进行程序下载、仿真更新和串口数据传输。