打印
[其它]

老兵传奇-8bit MCU和EFM8BB1LCK开发板评测

[复制链接]
6082|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
巧克力娃娃|  楼主 | 2019-10-15 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
老兵传奇-8bit MCU和EFM8BB1LCK开发板评测

板子

图 板子前视图

拿到这个板子, 可以说没有什么惊奇.这个板子从外观还是功能讲, 在笔者最近用过的板子中可以说非常普通. 不过评价一个板子并不能仅仅从外貌出发吧, 借着这次评测机会, 想跟大家聊聊嵌入式处理器的一些个人看法.

近年来,随着工艺与IP的逐渐成熟, 32bit的MCU增长迅速, 风头之劲乃至于16bit的MCU基本上被跳过了. 现在说嵌入式MCU, 要么就是8bit, 要么就是32bit, 16bit的MCU产品型号屈指可数:

1. Intel公司曾经想在8051上逐渐升级的80251, 现在市场上基本见不到踪影. 细心的程序员可能还会注意到Keil现在还有C251的开发工具出售. 某些过时的大学教材中也有过80251的痕迹. 但是至少在中国市场上, 80251没有存在感.

2. TI的MSP430, 主打低功耗, 随着其他厂商也在低功耗上下功夫, MSP430的低功耗特性也不再是独门绝技.在市场上的份额也是逐渐萎缩.

3. 还是TI的一些16bit的DSP, 主要是定点DSP. 在电机控制领域还有一些份额. 主要是厂商在垂直领域做了很多优化.从产品本身来讲, 这种非主流的DSP必要性也在慢慢降低.

4. Microchip的dsp24系列, 跟TI的16bit定点DSP情形相似.

5. 英飞凌的C166系列, 主打汽车市场. 也是着重于存量市场.

6. 凌阳的一个16bit系列, 主打简单语音处理应用. 上大学我还学过一阵子, 但是现在连型号也不记得了.

当然还有一些专攻垂直领域的产品, 这里不多说了.

可以看出的是16bit的MCU并没有像人们曾经想象的那样, 替代8bit的市场份额, 在市场上唱主角若干年后再被32bit的MCU取代. 现代嵌入式处理器市场的现实是: 简单的任务还是基本上使用8bit的内核, 有一定复杂性的应用就会使用32bit的MCU. 16bit的MCU处理能力不及32bit, 成本功耗上不及8bit, 所以市场份额一直没有起来.

那么8bit的MCU的情形又如何, 很多嵌入式工程师都有一些误解. 下面来简单分析下.

关于8 bit的误解

8位处理器正在被淘汰

这是最常见的误解, 先说事实: 根据最新的Gartner的市场报告. 8bit的市场营收额和增长额跟32bit的相比都仅仅差几个百分点. 考虑到8bit的单个芯片比32bit芯片要便宜很多的事实, 8bit的出货量其实远高于32bit的.

打个直观的比方, 现在我们有了高铁, 是不是所有传统的普快,特快火车都要立即淘汰呢. 显然事实并非如此, 至于原因就太多了.现实情况就是8bit的MCU曾经的应用领域并不能立即用32bit的MCU直接替代.

8位处理器缺乏创新

不少人会认为既然现在市场的宠儿是32bit的MCU, 厂商们是不是都没有投入研发资源在8bit产品上了. 这么想的人可能一想到8bit的MCU, 脑海中会浮现40DIP的”经典8051”的形象.

事实上芯片厂商们并没有停止创新, Silicon labs这样的厂商同时有32bit与8bit的产品. 但是在8bit产品线上的创新一直没有停止. 比如CIP-51内核因为采用了一个时钟周期等同于一个指令周期的设计, 瞬间将同频率的8051性能提高了12倍. 国内的一些半导体厂商也有基于8051或其他8bit内核的创新.

8位处理器难以使用C/C++语言编程

如果你了解Arduino的设计原理, 这个误解就不攻自破. 当然坦白讲, 8bit的MCU使用高级语言编程确实比32bit的MCU要困难些. 主要障碍就是内存地址的不统一. 比如8051内核的内存地址就分为CODE, data, sfr, idata, xdata. 如果涉及到banking就更复杂了. 8bit的PIC还有硬件Stack这样更加”非主流”的设计. 但是这些障碍都可以通过工具的优化来缓解.

8位处理器专为简单应用而生

这个观点倒是有几分真实, 但是嵌入式应用本身就是简单应用居多. 嵌入式系统应用的本身特点决定了8bit依然有很多用武之地. 外设, 编译器的进化将慢慢拓展8bit处理器的应用范畴.

8位处理器不能胜任IoT应用需求

IoT应用不是一个单独的应用, 而是一个复合应用. 智能手表, 智能音箱, 主控制器, 网关这种当然需要复杂的处理器来实现. 但是IoT应用还包含大量的传感器节点, 执行节点, 转换节点. 这种节点用低功耗的8bit处理器来实现更加适合.

8位处理器响应慢

这个就是完全的误解了, 典型的嵌入式应用中, 响应速度主要跟中断响应和唤醒延迟相关. 8bit处理器有天然的优势(地址转换工作量小, IP单元实现门数少). 至少不输于32bit的处理器.

8位处理器的能效低于32位处理器

曾经看过ARM公司的权威工程师写的一本书, 书中观点是32bit处理器的能效比高于8bit的MCU. 理由是32bit处理器能快速处理完任务, 休眠时间的比例更大. 但是这个结论包含一个假设, 就是任务有一定复杂度, 如果任务本身非常简单, 唤醒过程的功耗也很大, 那么这个假设不成立. 针对不同应用场景, 不能简单说8bit, 32bit哪个能效比更高. 至少非常简单的应用中, 8bit的能效比要高. 如果再加上单独响应,无需CPU干预的一些任务, 8bit的能效比甚至能高出很多.

相同价格的32位处理器功能远强于8位处理器

这个也有一定程度的可信度. 但是不要忘记有相当大的一部分的应用, 使用8bit的MCU就足够的情况下, 非要购买平均价格高一点的32bit MCU, 成本是会上升的. 很多基本上标准化了的嵌入式产品有很大的量, 就会发现8bit的成本优势还是会高一点的.

8位处理器设计的应用不能适应未来变化

这是个思维角度问题, 作为嵌入式程序员, 更应该是考虑当前的任务. 不管是什么类型的MCU, 如果产品形态变化了或者需求本身变化了,就要重新设计. 未来谁都看不清, 何必考虑那么多没有实际意义的前瞻.

8位处理器开发工作更繁重

32bit处理器的处理更加以软件中心, 可以做更多的代码复用. 8bit处理器更多地利用硬件外设来完成任务. 综合而言, 没有绝对的差别.

8位处理器没有升级路径

只要是嵌入式处理器, 升级路径都不大明确. 如果你采用既有8bit, 又有32bit的产品的厂家, 你会发现很多外设都很相似. 考虑到现在图形化配置外设的趋势, 升级路径逐渐变得不那么重要, 反正都是图形化或者脚本化来生成基础驱动代码.

EFM8BB1芯片

图 芯片功能框图

图 芯片结构框图

芯片亮点:

1. 内核是8051世界中的明星:CIP-51. EFM8BB系列中这个内核最高25MHz,相当于经典8051跑在300MHz. 使用内部时钟可以跑在24.5MHz, 相当于经典8051跑在294MHz.

2. 内部低速时钟,80KHz与24.5MHz的内部高速时钟互为补充, 方便低功耗设计.

3. 16-bit CRC硬件计算单元

4. AEC-Q100认证, 套用一句广告语:“不是所有的MCU都能过AEC-Q100认证”. 通过这个认证表示可以使用在汽车级别的恶劣环境.

5. 其余特点不用单独拿出来讲, 但是很多人会忽视的一个亮点就是Silicon Labs的图形配置开发工具界面, 能大大节省开发时间.

软件开发-Simplicity Studio+图形化配置

关于图形化配置式开发

顾名思义, 所谓的图形化配置就是通过GUI方式来配置外设, 生成代码. 这一点很重要, 因为现代MCU的外设越来越多, 越来越复杂, 涉及到的初始化配置非常繁琐, 容易出错, 已经不适合工程师慢慢查阅动辄几百,几千页的参考手册来手动书写寄存器读写代码. 除了外设配置之外, 还有IO分配, 纯软件组件的配置,时钟树的配置, 这些重复机械的工作以前都是工程师手工完成的. 目前市场上领先的MCU厂家都有自己的图形化配置工具, 可以说图形化配置工具+优化过的编译链接工具链+图形化的调试工具是现代嵌入式开发的必不可少的三项标配. 笔者印象中,Silicon Labs公司是最早推出图形化配置工具的MCU厂家之一. 当然最初的工具只能配置Cross Bar, 解决IO口分配问题. 经过多年进化, Simplicity Studio内置的配置工具现在已经非常完善了, 很多功能笔者现在也还没有用到过. 下面以一个例子来演示一下子图形化配置的效率.

从头到尾创建一个工程

Simplicity Studio的下载安装这里不赘述了, 后文有参考连接.

第一步, 新建工程, 注意选择Silicon Labs MCU Project, 相当于是一个模版:.....阅读完整内容:http://www.21ic.com/evm/evaluate/MCU/201910/919643.htm#





使用特权

评论回复

相关帖子

沙发
巧克力娃娃|  楼主 | 2019-10-15 11:20 | 只看该作者
马克

使用特权

评论回复
板凳
yygdzjs| | 2019-10-29 16:17 | 只看该作者
分析不错。

使用特权

评论回复
地板
昨天| | 2020-3-12 15:36 | 只看该作者
21IC  有你更精彩,讲的好,好样的。

使用特权

评论回复
5
XIVN1987| | 2020-5-14 13:17 | 只看该作者

关于8位、32位MCU的相对优缺点讲的很好、很客观,,感谢分享

使用特权

评论回复
6
YZJYWU| | 2020-6-12 15:40 | 只看该作者
曾记得Silicon Labs 的MCU安全性不好,航模电调上面很多用C8051F330,据说一两千块钱就能读出CODE.不知道现在改进了没有。

使用特权

评论回复
评论
巧克力娃娃 2020-6-19 13:51 回复TA
额,还有这种事,这种8位的是不是安全性都比较差啊 
7
YZJYWU| | 2020-6-19 17:04 | 只看该作者
现在新唐出来的芯片,好像安全性有了改善

使用特权

评论回复
8
zeshoufx| | 2020-9-26 18:50 | 只看该作者
谢谢分享【老兵传奇-8bit MCU和EFM8BB1LCK开发板评测 】

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:送板子~ 借板子~ 玩板子 评板子~

172

主题

1231

帖子

23

粉丝