MCU

MCU是Microcontroller Unit(微控制器单元)的缩写,它是一种集成了中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/O)、定时器(Timer)、串行通信接口(UART、SPI、I2C等)和其他外围设备控制器的单个芯片。MCU通常用于嵌入式系统中,用于控制各种电子设备和系统。

由于其集成度高、体积小、功耗低以及成本相对较低等特点,MCU被广泛应用于各种嵌入式系统中,例如智能家居设备、医疗设备、汽车电子系统、工业自动化等。MCU的选择通常基于应用的需求,如处理性能、功耗、外设接口等因素。

Atmel 外设触摸控制器是电容式触摸传感模块,支持 1-256 信道的自主传感。PTC 支持在相同应用内进行自电容和互电容传感器布局,这就为系统设计师提供了极高的灵活度。由于自主运行,PTC 只使用了微乎其微的 CPU 资源和电,即使是面对高 Key Count 的设计时。凭借嵌入式自动调谐和校准,PTC 将提供高质量的触摸性能,即使是在恶劣环境下。因此,有 PTC 的 MCU 是所有触摸应用的理想之选。Atmel Studio 支持代码开发和调试。对于有高集成和触摸性能要求的任何应用来说,有 PTC 的 MCU 无疑都是不二之选。PTC 可从特定 SMART ARM 设备获取。

关键特性
• 支持按钮、滑条、滑轮和触摸表面 — 触摸信道最高可达 256(视包的情况而定)
• 支持互电容和自电容触摸,即使此时并无外部组件需求
• 自校准,无调谐需求
• 自主运行,低 CPU 负载 极低的功耗
• 在恶劣环境下运行时有出众的抗传导干扰性 (CI)

ATmega328PB
关键特性
• 额外 USART:新增一个具有帧起始检测功能的 USART,可用于从休眠模式下唤醒 MCU(共两个)。
• 额外定时器/计数器:增加了两个 16 位定时器/计数器,这些器件新增独立预分频器、比较模式和捕获模式(共三个)。
• 唯一序列号:每个器件都具有唯一的 10 字节序列编号,可从应用软件中读出。 这种编号用途广泛,从物流跟踪到加密功能,在通信网络中用作器件地址,使该器件非常适用于任何一种 IoT 应用。
• 额外 SPI:增加一个主/从 SPI(共两个)。
• 更多 IO:32 引脚 megaAVR 器件将 GPIO 数量从 23 个增加到 27 个
• 在引脚 3、6、19 和 22 上新增 Port E 模拟比较器输出 - 现在,这些器件使得在引脚 3 上获得模拟比较器输出成为可能。
• 模拟性能增强 - 内部电压基准和内部振荡器提升了精度,可增强任何 ADC 测量性能,实现更高的串行通信速度。

SAM D MCU
关键特性
• 低功耗 — 市场领先的省电技术包括事件系统,可使外设直接相互通信,而无需 CPU 干预。此外,Atmel SleepWalking 外设只有在发生预先限定的事件时才唤醒 CPU,从而降低了整体功耗。
• 外设灵活性 — 创新的串行通信模块 (SERCOM) 可以在软件中进行全部配置,以便处理 I2C、USART/UART 和 SPI 通信。借助器件上的多个 SERCOM 模块,可以在您的应用中精确地定制外设组合。SAM D 21 上的 I2C 的工作频率高达 3.4 MHz(也支持 I2S、PMBus 和 SMBus)。SAM D11 和 SAM D10 还支持 IrDA。
• DMA — SAM D21 MCU 配有支持内存和外设数据传输的 8 通道 DMA 控制器,而 SAM D11 和 SAM D10 则是配有 6 通道 DMA 控制器。 高管脚利用率 — SAM D11 只需要一个电源对,最大程度地提高了可供您的应用使用的管脚数。
• 全速 USB — SAM D21 既支持 USB 嵌入式主机又支持 USB 设备模式,而 SAM D11 则支持全速 USB 设备模式。在设备模式下可以使用内部 RC 振荡器支持全速 USB,从而降低了 BOM 成本和设计复杂性。
• Atmel QTouch® 外设触摸控制器 — 可为按钮、滑条、滑轮和近距离感应提供内置的硬件支持,并支持互电容式和自电容式触摸,而无需外部元件。它具有卓越的灵敏度、耐噪性以及自校准功能,任何用户都可以调整余量。
• 可扩展性 — 闪存密度范围从 8KB 到 256KB,封装范围从 14 管脚到 64 管脚选项。

SAM L MCU
关键特性
• 低功耗 — 市场领先的省电技术包括 12 通道事件系统,可使外设直接相互通信,而无需 CPU 干预。Atmel Sleepwalking 外设可以给时钟和功率设限,从而减少漏电和转换,且仅在出现指定事件时唤醒 CPU,在活动模式中实现 35 uA/MHz 的超低功耗,ULPBench 分数达到 185.8,减少整体功耗。
• 外设灵活性 — 创新性的串行通信模块 (SERCOM) 完全可以在软件中进行配置,以便处理 I2C、USART/UART 和 SPI 通信。借助器件上的多个 SERCOM 模块,可以在您的应用中精确地定制外设组合。I2C 的运行频率可以高达 3.4 MHz(PMBus 和 SMBus 也同样支持)。SAM L22 还支持 ISO7816 接口。
• DMA — SAM L 系列以支持内存与外设数据传输的 16 通道 DMA 控制器为特点。 全速 USB — SAM L21 既支持 USB 嵌入式主机又支持 USB 设备模式,而 SAM L22 则支持全速 USB 设备模式。使用内部 RC 振荡器时,在设备模式下支持全速 USB,从而降低了 BOM 成本和设计复杂性。
Atmel QTouch® 外设触摸控制器 — 可为按钮、滑条、滑轮和近距离感应提供内置的硬件支持,并支持互电容式和自电容式触摸,而无需外部元件。它具有卓越的灵敏度、耐噪性以及自校准功能,任何用户都可以调整余量。
• 可扩展性 — 闪存的密度范围是 32 KB 到 256 KB,SRAM 最高为 40 kB,可以选择 32 至 100 管脚的封装。

围观 433

作为典型的嵌入式开发,物联网应用的开发与互联网应用从硬件配置到运行环境有巨大的不同。本文介绍了当前物联网开发者面临的挑战,并分析IoT时代完整的开发平台至少需要具备的特征。

1969年10月29日晚上10点30分,雷纳德•克兰罗克(Leonard Kleinrock)在洛杉矶向在斯坦福的比尔·杜瓦利的计算机发送了两个字符“Lo”,它们是单词“Login”的一部分,只发送了“Lo”,传输系统就崩溃了。这是一个伟大的事件,标志着世界上第一次计算机网络互连的开始,也标志计算机编程由单机向网络发展。

物联网(IoT)是个新名词,顾名思义,就是把物体用网络连接在一起。却是一个新瓶装旧酒的新名词,它不是一个新事物。看官你说,当年克兰罗克和比尔.杜瓦利手中的互相连接的两台计算机,算不算物联网设备,他们的确是用通信介质连接在一起的“物体”啊,谁说计算机不算物体的?

今天的物联网通信,与40多年前传输的两个字节,并没有本质的不同,说来也就是通信速度、通信成本、设备体积和功耗方面,逐步进化而已。然而,量变引起质变,上世纪末计算机网络通信的发展,引发了互联网革命,现在,随着通信成本的降低,功耗的减小、无线通信的普及,又引发了物联网革命。

互联网时代,承载网络应用的是通用计算机或者个人终端数字助理,例如手机、iPad等。通信主要关注的是数据流量,也就是带宽,应用主要关注的是界面的友好性、丰富性、个性化。同时,CPU功能比较强大,内存配置等也比较丰富,并不强调实时性,也不特别强调可靠性,开发平台也很一致,功能丰富。

物联网应用开发的挑战

物联网应用,与互联网应用有着巨大的不同,物联网应用开发是典型的嵌入式开发,从硬件配置到运行环境等等,都千差万别。

谈到开发平台,很多人第一反应就是编程语言,从汇编、C、C++、Pascal、VB、VC等编译型语言,到Java、JS、Python、Lua等脚本语言,说得上名字的、说不上名字的,可以罗列出成百上千种,著名的TIOBE,每年都要为各种编程语言排座次。其实要谈物联网开发平台的发展,还得从早期嵌入式系统说起。曾几何时,嵌入式MCU很多只有几十字节的内存,几百自己就算多的了,那时候,汇编语言是嵌入式编程不二的选择。那时候,也没有编程平台的说法的,也没有Shell之类的调试工具,更没有标准IO系统,总之,程序员就像在一堆沙土上盖房子,没有地基,也没有房梁,更没有混凝土,就是用泥浆砖头石块慢慢糊。及后来,出现了单片机前后台C语言(俗称裸机C)开发工具,典型的是keil,同时,也出现了RTOS,例如vrtx、pSOS、VxWorks等,但裸机C语言开发长期占主导地位。早期的C语言开发平台,从平台角度,其实没比汇编年代进步多少,同样的没有Shell、没有标准IO系统,没有异常处理系统,除了编码语言外,差不了太多。虽然代码的可移植性比汇编强,但仍然是跟硬件平台紧耦合的,它要求软件工程师了解硬件的每一个细节,了解CPU每一个寄存器的含义,硬件平台稍有变动,软件就懵逼了。

在裸C时代,首先出手改进开发平台的是MCU厂商,ST、ATMEL、Freescale、NXP等知名MCU厂家,都推出了越来越完善的固件,使用这些固件,尽可能地抹平不同型号CPU之间的差异,使用户的应用程序更加通用。同时,他们还推出了越来越完善的IDE,利用他们的IDE,可以自动化地生成一部分跟CPU相关的代码,减轻了工程师的工作。但是,所有这些工作,都仅限于同一厂家的不同型号MCU之间,甚至只在同一厂家的同一系列MCU之间,才能体现出其价值。为什么MCU厂家要做这些工作呢?因为他们要卖东西,他们的客户,大多数还使用裸机C开发,而不像系统级CPU那样有完善的开发平台支持。他们的客户,迫切需要一个开发平台,来规避晦涩难懂的硬件驱动开发,使应用和驱动相分离。一个非常典型的现象是freescale,它主要为MCU产品线提供驱动固件,而对于PPC产品线,原厂提供的驱动就是垃圾,谁用谁知道。

在物联网时代,也许某一天,牧场跑的每一只羊,农场里的每一株黄瓜,我们喝水的杯子,都是IoT的一个节点,里面都有一颗MCU,都有一套嵌入式程序,如此爆炸性发展的网络规模,使我们面临什么挑战呢?

首先我们面临的是人的问题,海量增加的物联网软件工程师队伍,你再象过去要求嵌入式工程师那样,要求他们掌握大量MCU底层技能,根本不现实,他们需要的是一个开发平台,类似PC上编程的开发平台。而裸机C语言编程,则无论如何也摆脱不了“要求程序员掌握MCU底层编程”这一现实。因此,在物联网时代,RTOS成了必须品,裸机C语言平台,必然会被RTOS环境所替代。这并不是说,物联网时代的嵌入式产品有多复杂,非RTOS不可,可是,再过几年,裸机C编程,会像现在的汇编编程那样,成为“高端技能”。现在,许多嵌入式学科的大学生,在校时就已经基本掌握了RTOS下编程技能,裸机C反倒不懂了。结果是,5年后,你将越来越难于找到能够驾驭裸机C编程的人,即使找到了,其人力成本也必然居高不下,年龄大概也会在30岁以上,你能找一个只有1~2年经验的毕业生干的事情,为什么要花更高的薪水,请“老”工程师干呢。同时,虽然摩尔定律在高性能CPU上已经失效(这个有争议),但在MCU领域,还是符合得很好,硬件的发展,使RTOS带来的额外开销,在成本上显得微不足道。

由于IoT产品必然涉及到网络编程,也就注定了不能使用太低端的处理器配置,硬件成本持续下降,运行RTOS所需要的额外硬件成本,占总成本的比例,直接可以无视之。人力成本持续上升,RTOS甚至更高级的开发平台,将会占领IoT开发领域。

一定会有人问,裸机C不是比RTOS更简单么?我问你,如果只是点个灯,用C简单还是用汇编简单?你也许会毫不犹豫地回答,用C简单。为什么呢?因为开发工具已经完成了大量的工作,有厂家的固件,完成GPIO的驱动,IDE自动生成的代码,完成了main函数之前的大量环境初始化工作。所以,你只需要3分钟,在main函数里放一个循环改变GPIO状态的代码,一个C语言的闪灯程序就完成了。事实上,如果从0开始做,汇编完成闪灯,不知比C简单多少倍。

裸机C取代汇编语言的过程,正在裸机C和RTOS编程之间重演着,不信么?我出个“简单”的题,写一个“hello world”的嵌入式程序看看。

很快,你写出来了,UartSend(“Hello World”);

别急,我的题还没出完呢,我需要输出“你好,欢迎你第xxx次光临”。

这就难一些了,聪明的,就写一个MyPrintf吧,谁知道这道题还有什么变化呢(注意这里,你不能用printf作为函数名的,下面有解释)。

花了一个星期时间,把MyPrintf弄出来了,效率够高吧?
好吧,你牛,I 服了 You,现在请你把输出重定位到板载的LCD上。
什么,玩我啊,这涉及到IO重定向呢,爷不干了。
光重定向一个输出就不干了,还没有要你把输入重定向一下呢,板子上不是有按键嘛!

IO重定向,是C语言的基本要求,然而,在裸机C环境下,这个基本要求,却让一个裸机C高手望而生畏。

IO服务,只是一个基本需求,它只是C Runtime的一部分,而C Runtime,是IoT开发所需要的进阶工具的基础,恰恰是,裸机C都是很难实现完整的、通用的、可移植的C Runtime。

先爆点料,绝大多数嵌入式RTOS,都没有fopen、fwrite、fread、printf函数,有部分RTOS会有xxx_fopen、xxx_fwrite、xxx_fread、xxx_printf之类的API,即使是一些老牌的商业RTOS也是如此,这里我就不点名了。

没有IO体系的RTOS也就罢了,那些有IO体系的RTOS,为啥要在API前加个xxx呢?你知道加上那个xxx,会给用户添加多少麻烦吗?IoT时代,许多嵌入式软件工程师,原来可能是Windows或者Linux下编程的,他们熟悉c标准函数;嵌入式设备网络化、应用程序通用化的倾向,许多IoT开发会涉及到开源软件或者第三方库,这些开源软件或者库,许多是遵循C语言标准写的,也就是说,里面很可能会大量调用fopen之类的C标准函数。你要用这些开源软件或者第三方库,就必须修改它的源码,把调用C标准IO函数的地方,全部改掉。改就改呗,改了不就行了嘛,有什么大不了的。好吧,如果是二进制的库呢,怎么改?即使是开源软件,维护方升级了,修正了bug,你是不是要再改一次?既然这么多坏处,为啥还要加哪个“xxx”前缀呢?问题就出在标准C库上,因为编译器所带的C库,实现了那些函数,OS如果要自己实现这些函数,就必须先实现C库,而C库,而许多RTOS,并没有实现自己的C库,而是借用编译器提供的C库,自然就不能使用跟C库重名的函数了。

IoT时代的嵌入式开发平台

从完整开发平台的角度,看看几十年来涌现的数以百千计的RTOS,能不能算合格的IoT开发平台呢?答案恐怕是否定的,即使有些非常知名的RTOS,也是如此,有许多RTOS,充其量是一个调度器。有意思的是,从开发平台完整性来看,目前流传的绝大多数嵌入式操作系统,甚至比不上Industrial Programming Inc(IPI)公司在上世纪70年代的MTOS。

那么,IoT时代完整的C开发平台,至少需要具备哪些特征呢?

只有调度器内核是不够的,按今天的标准,它甚至不能称作RTOS,这种系统,权且叫它“裸核”吧,并不比裸机C开发高明多少。用户使用操作系统,目的是为了省事,并没有在操作系统下能干成而裸机C干不成的事情。然而在“裸核”下开发,没有标准驱动框架,没有Shell,没有IO系统,没有C Runtime支持,真的没省多少事。

在“裸核”的基础上,起码,要提供C Runtime,提供C库,使之成为完整的C开发平台,让标准的c程序能编译运行。所谓的标准C程序,不仅仅指符合C语法的程序,C库函数也是标准的一部分,调用标准C库的程序都不能运行,不能算完整的C支持平台吧。要支持完整的C Runtime,你就必须有文件系统,有IO驱动架构,有协议栈等。有了C Runtime,才能支持C++,才能实现Python、Lua、JavaScript等更高级的开发语言,实现IoT设备的快速开发。

即使有了完整的C支持平台,在IoT时代,还是不够的。我要访问一个云服务器,还要自己写Socket通信,从最底层的http编解码开始;我要在设备间交换点数据,或者配置一下设备功能,起码JSON之类的解析器要提供吧。还有,诸如WiFi、蓝牙、ZigBee等,是IoT中最常用的无线协议,也是必须支持的。进一步地,较为复杂的设备,还需要有图形系统支持,一个完善的GUI也是非常受欢迎的了。

总之,IoT时代,需要的是能快速开发IoT设备的平台,而不仅仅是提供一个符合C语法规范的开发平台。

来源: CSDN大数据

围观 437

通过蓝牙®4.2将产品连接到智能手机,这样就提供了两个明显的优势,便于许多应用进行利用:
● 丰富的用户界面(手机之外的大多数电子产品没有大型高分辨率触摸屏)
● 低功耗接近检测和固有云连接(智能手机通常具有互联网连接)

借助TI的新SimpleLink™低功耗蓝牙CC2650MODA模块,您的产品可以极其轻松地实现这些优势。
预认证的CC2650MODA模块(有关预认证的完整列表,请参见数据表)包含配备15个通用IO(GPIO)引脚和集成天线的SimpleLink CC2650无线微控制器(MCU)。使用来自TI BLE-Stack 2.2软件开发工具包(SDK)的不同固件配置,TI的这款新模块可以作为控制系统中所有内容的独立片上系统(SoC)或作为无线网络处理器让您向任何现有的MCU添加低功耗蓝牙连接。在无线网络处理器配置中:

● 低功耗蓝牙协议栈的主机和控制器组件在CC2650模块设备上运行,这与SimpleLink低功耗蓝牙 CC2640无线MCU的引脚和代码兼容。
● 在MSP432™ MCU等主机MCU上运行的应用程序和相关的蓝牙服务和配置文件。

无论在独立还是网络处理器工作模式下使用该模块,您都将受益于CC2650MODA模块更好的6-10dB链路预算,微小的放大器待机电流以及改进的RF传输范围。

TI创建了简单网络处理器(SNP)固件配置,使系统设计人员能够在主要用于与智能手机进行数据交换的主机MCU上快速编写服务级低功耗蓝牙应用。这是通过在使用UART接口连接模块的主机MCU上集成轻量级API库来实现的。管理与智能手机的连接等低功耗蓝牙功能由模块上的SNP固件利用与主机处理器交换的用户数据来处理。

在使用现有应用MCU运行简单网络处理器配置时,使用CC2650MODA模块有几项明显的优势:
● 系统分区:用CC2650MODA模块负责所有低功耗蓝牙相关活动,而主机MCU可以专注于运行系统应用。
● 更容易学习:只需时间学习TI的简单网络处理器API,无需花时间配置和编译完整的BLE协议栈。
● 现场固件升级:简单网络处理器可以实现从智能手机安全更新主机MCU的固件。现在,您可以通过更快地将产品推向市场,之后再推出功能和改进,最大限度地提高销售收入。

降低开发和制造成本:该模块经过预测试,使用优化的天线布局,减少了对重新设计主板和在生产线上使用昂贵的测试设备执行耗时的RF测试的需求。
开始使用基于SNP的设计比您想象的更容易。首先使用CC2650MODA模块BoosterPack™插件模块和MSP432 MCU LaunchPad™开发工具包。MSP432 LaunchPad工具包作为无线主机非常不错,因为它是高度集成的32位MCU,具有48 MHz ARM®Cortex®-M4F和64 kB RAM。

您的第一个“你好世界”示例,称为“项目零”,可以在TI资源管理器中此处找到。该想法是创建最简单的应用,显示从智能手机到主机MCU的数据路径,在这此例中为MSP432 LaunchPad工具包,数据通过智能手机和CC2650MODA模块上的BLE网络处理器之间的低功耗蓝牙进行连接。“项目零”应用显示如何从智能手机应用程序设置/清除MSP432 MCU LaunchPad工具包上的LED和读取按钮状态。为此目的创建了最简单的自定义低功耗蓝牙配置文件,但是可以扩展到读取传感器值或发送指令以控制附接到应用MCU的小电机。

2

对于您自己的应用开发,可以使用项目零作为起点,使用CC2650MODA模块将非连接设备转换为配备完整物联网(IoT)的产品。下载并安装用于MSP432 MCU的TI RTOS和连接库,然后使用MSP432 LaunchPad上的板载调试器和TI的CCS云开发套装启动您的低功耗蓝牙外围设备应用。可以在TI蓝牙低功耗简单网络处理器培训模块的SimpleLink学院介绍上找到完整的指南。
(责任编辑:ioter)

来源:物联网开发

围观 362

微控制器(MCU)可视为将CPU、内存、I/O、定时/计数器等功能整合于同一芯片的微型计算机,可应用于车载、工控、消费电子、家电等领域。MCU因涵盖应用面广、可使用的终端装置多样化,相较于单一装置应用的芯片,市场变化较为稳定,不易因个别终端市场需求变化而大幅波动。

2015年全球MCU市场产值达168亿美元(比2014年增长5.6%),出货量达209亿颗(比2014年提升12.4%),而平均每颗售价则是0.81美元。预计2020年将有750亿个物联网产品连在网络上运作,对物联网的感测,数据处理及加密,传输都需要运用到MCU。

早期MCU架构多是8位为主(如Intel 8051系列、Atmel AT8/TS8系列、Labs EFM8系列),且整合开发环境也是以8位为主。随着物联网时代任务的复杂化,对计算能力越来越高促使MCU开始迈向16或32位来设计,与此同时相关的软件开发环境也提升到32位,甚至做到可以向下兼容,让开发环境不受限于硬件,以提供更具弹性的开发空间。

随着32位MCU生态环境的建立和成本的进一步降低,预计未来将有一个时间点实现井喷。但需要注意的是,由于32位MCU操作数与内存长度的增加,相同功能的程序代码长度较8/16bit MCU会增加30~40%,这导致嵌入式FLASH内存容量不能太小,而芯片引脚数量增加,可能会限制32bit MCU的成本缩减能力。

从目前MCU排名来看,瑞萨、NXP、Microchip成为全球前三大MCU厂商。物联网之于MCU必将是一个前景广阔的市场,也是众多MCU厂商布局的关键应用市场,机会在于厂商们如何将MCU差异化产品真正与实际应用相结合。依据研调机构IHS,2014-2019年整体MCU市场的年复合增长率为4%,但应用于IoT的MCU产值则有11%的增长,预估至2019年IOT相关应用的MCU市场可达28亿美元。

瑞萨:Synergy的软硬件整合平台

微控制器大厂瑞萨电子为强化物联网市场布局,在原有的芯片销售业务基础上,推出名为Synergy的软硬件整合平台。该平台除了MCU、开发板之外,还有相当完整的软件生态系统,包含开发环境、实时作业系统(RTOS)以及经过瑞萨验证的各种第三方软件资源。

瑞萨Synergy IoT事业群总经理Peter Carbone表示,该公司的Synergy自2015年第四季在美国推出以来,目前已陆续拓展到欧洲、东南亚、澳洲等区域市场,台湾与中国则分别在10月初及10月底正式发表。目前该平台累计的客户数量已达3400家,其中有部分应用开发进展较快的客户,已经准备进入产品量产阶段。

整体来说,Synergy平台可以为开发者创造三大核心价值,分别是更低的开发成本、更快的开发速度与降低进入物联网应用市场的门槛。

该平台能够为开发者带来上述价值的原因在于,Synergy平台除了备有多种硬件开发板之外,还包含免费的E2 Studio及IAR Embedded Workbench开发环境供开发者选择,以及以底层软件(RTOS、驱动、应用框架等)为主的Synergy Software Package(SSP)。此外,Synergy平台还包含多种瑞萨自身研发或第三方提供的软件外挂,这些外挂资源都经过瑞萨验证,确定可在现在及未来的SSP上随插即用。

除了有保证的软件质量外,该平台也具备降低开发者资金负担及风险的效果。除了免额外收费的开发环境及原厂软件外,倘若开发者的应用会使用到第三方外挂资源,开发者也可以等到研发工作接近尾声,产品准备量产上市时,再跟第三方软件业者讨论授权协议。

相较之下,瑞萨对Synergy平台上的软件开发商采取贵精不贵多的策略。Carbone透露,瑞萨会先严格检验开发商的软件开发流程、软件兼容性后,再让第三方业者加入平台,因为Synergy平台不仅要提供高质量的软件资源,更会提供长期支援服务,因此在挑选第三方业者时,会相对严谨很多。

恩智浦(飞思卡尔):新型开发平台KineTIs KW2x MCU

FRDM-KL05Z是一款超低成本开发平台,由基于ARM® Cortex®-M0+处理器的KineTIs L系列 KL0xMCU组成。包括可轻松访问MCU I/O,配备电池,低功率运行,采用可搭配扩展板的标准规格,以及用于闪存编程和运行控制的内置调试接口。FRDM-KL05Z受到众多恩智浦和第三方开发软件的支持。

两个电路板可以即插即用的方式轻松实现点对点连接,从而方便设计师为其电子产品设计配置Zigbee或802.15.4连接功能。该新型套件还提供大量参考设计,另外还配备了作为独立板运行或连接外部应用时所有必要的I/O接口。

基于MKW24D512 KineTIs W系列微控制器,通过软件可支持Thread、ZigBee Pro、802.15.4 MAC、SMAC及KineTIs软件开发套件(SDK)。满足与未来Zigbee智能能源2.0和互联网协议规范息息相关处理和存储器需求。新一代世界级Kinetis无线解决方案,通过对广泛的物联网产品组合的扩展,可进一步增强了连接能力。

KW2x无线MCU主要在智能能源、家庭/楼宇自动化、医疗保健、家庭娱乐等场景使用,典型的应用有:由仪表、网关家用显示器和互连设备构成的家庭网络;联网楼宇控制以及具备灯光控制、暖通空调和安保等功能的家庭自动化应用。

新唐:打造低功耗MCU平台

从8051微控制器开始,新唐发展MCU已经有20年的历史,为全方面服务客户,2009年推出ARM Cortex-M0 MCU,2014年推出ARM Cortex-M4 MCU,在全球已逐渐打响品牌知名度。

身为大中华区重要32位微控制器厂商,新唐2015年在车用、工控与消费性产品都皆取得不错的成绩,车用主打中控与后装市场,包含声音应用与车用通讯等;工控则在POS机、温控设备与马达应用等领域吸引市场目光;消费性产品应用范围广泛,包含健康医疗与小家电等智能家庭产品。推出的Nano系列为新唐低功耗MCU平台,待机电流小于650 nA,适用于长时间使用电池之终端应用,如健康照护、智能交通与电子卷标等产品。

来源:物联网开发

围观 446

1 嵌入式系统的知识体系

嵌入式系统的应用范围可以粗略分为两大类:电子系统的智能化(工业
控制、现代农业、家用电器、汽车电子、测控系统、数据采集等),计算机应用的延伸(MP3、手机、通信、网络、计算机外围设备等)。从这些应用可以看出, 要完成一个以MCU为核心的嵌入式系统应用产品设计,需要硬件、软件及行业领域相关知识。硬件主要有MCU的硬件最小系统、输入/输出外围电路、人机接口设计。软件设计有固化软件的设计,也可能含PC机软件的设计。行业知识需要通过协作、交流与总结获得。

概括地说,学习以MCU为核心的嵌入式系统,需要以下软硬件基础知识与实践训练:
①硬件最小系统(电源、晶振、复位、写入调试接口);
②通用I/O(开关量输入/输出,涉及各种二值量检测与控制);
③模/数转换(各种传感器信号的采集与处理,如红外、温度、光敏、超声波、方向等);
④数/模转换(对模拟量设备利用数字进行控制);
⑤通信(串行通信接口SCI、串行外设接口SPI、集成电路互联总线I2C、CAN、USB、嵌入式以太网、ZigBee技术等);
⑥显示(LED、LCD等);
⑦控制(控制各种设备,包括PWM等控制技术);
⑧数据处理(图形、图像、语音、视频等的处理或识别);
⑨各种具体应用。

万变不离其宗,任何应用都可以归入这几类。而应用中的硬件设计、软件设计、测试等都必须遵循嵌入式软件工程的方法、原理与基本原则。所以,嵌入式软件工程也是嵌入式系统知识体系的有机组成部分,只不过它融于具体项目的开发过程之中。

以上实践训练涉及硬件基础、软件基础及相关领域知识。计算机语言、操作系统、开发环境等均是达到这些目的的工具。有些初学者,容易把工具的使用与所要达到的真正目的相混淆。例如,有的学习者学了很长时间的嵌入式操作系统移植,而不进行实际嵌入式系统产品的开发,到最后也做不好一个嵌入式系统小产品,偏离了学习目标,甚至放弃嵌入式系统领域。这就是进入了嵌入式系统学习误区,下面对此作一些分析。

2 嵌入式系统的学习误区

关于嵌入式系统的学习方法,因学习经历、学习环境、学习目的、已有的知识基础等不同,可能在学习顺序、内容选择、实践方式等方面有所不同。但是,应该明确哪些是必备的基础知识,哪些应该先学,哪些应该后学;哪些必须通过实践才能获得;哪些是与具体芯片无关的通用知识,哪些是与具体芯片或开发环境相关的知识。

由于微处理器与微控制器种类繁多,也可能由于不同公司、机构出于自身的利益,给出一些误导性宣传,特别是我国嵌入式微控制器制造技术落后,使得人们对微控制器的发展,在认识与理解上存在差异,导致一些初学者进入嵌入式系统的学习误区,浪费了宝贵的学习时间。下面分析可能存在的几个误 区。

2.1 操作系统的困惑

如果说,学习嵌入式系统不是为了开发其应用产品,那就没有具体目标,诸如学习方法这样的问题也就不必谈了。实际上,这正是许多人想学,又不知从何开始学习的关键问题所在,不知道自己学习的具体目标。于是,看了一些培训广告,看了书店中种类繁多的嵌入式系统书籍,或上网以“嵌入式系统”为关键词进行查询,就参加培训或看书,开始“学习起来”。对于有计算机阅历的人,往往选择一个嵌入式操作系统就开始学习了。这有点像“瞎子摸大象”,只了解其一个侧面。这样如何能对嵌入式产品的开发过程有全面了解呢?针对许多初学者选择“XXX嵌入式操作系统+XXX处理器”的嵌入式系统入门学习模式,笔者认为是不合适的。建议是:首先把嵌入式系统软件与硬件基础打好了,再根据实际需要,选择一种实时操作系统(RTOS)进行学习实践。要记住:RTOS是开发某些类嵌入式产品的辅助工具,是手段,不是目的;许多类嵌入式产品,并不需要RTOS。所以,一开始就学习RTOS,并不符合“由浅入深、循序渐进”的学习规律。

RTOS本身由于种类繁多,实际使用何种RTOS,一般需要由工作单位确定。基础阶段主要学习RTOS的基本原理与RTOS上的软件开发方法,而不是学习如何设计RTOS。以开发实际嵌入式产品为目标的学习者,不要把过多的精力花在设计或移植RTOS上面。正如很多人使用Windows操作系统,而设计Windows操作系统的只有Microsoft。许多人“研究”Linux,但不使用它,浪费了时间。人的精力是有限的,学习必须有所选择。

2.2 硬件与软件的困惑

以MCU为核心的嵌入式技术的知识体系必须通过具体的MCU来体现、实践。但是,选择任何型号的MCU,其芯片相关的知识只占知识体系的20%左右,80%左右是通用的软件硬件及相关知识。80%的通用知识,必须通过具体实践才能获得,所以学习嵌入式技术一般要选择一个系列的MCU。

系统含有硬件与软件两大部分,它们之间的关系如何?有些学者,仅从电子的角度认识嵌入式系统。认为“嵌入式系统=MCU硬件系统+小程序”。这些学者大多具有良好的电子技术基础知识。实际情况是,早期MCU内部RAM小,程序存储器外接,需要外扩各种I/O,没有像USB、嵌入式以太网等这样较复杂的接
口。因此,程序占总设计量比例小于50%,使人们认为嵌入式系统(单片机)是“电子系统”,以硬件为主,程序为辅。但是,随着MCU制造技术的发展,不仅MCU内部RAM越来越大,Flash进入MCU内部改变了传统的嵌入式系统开发与调试方式,固件程序可以更方便地调试与在线升级,许多情况下与开发PC机程序的方便程度相差无几,只不过开发环境与运行环境不是同一载体而已。这使得嵌入式系统的软件硬件设计方法发生了根本变化。

有些学者,仅从软件开发角度认识嵌入式系统,甚至仅从嵌入式操作系统认识嵌入式系统。这些学者大多具有良好的计算机软件开发基础知识,认为硬件是生产厂商的事。他们没有认识到,嵌入式系统产品的软件与硬件均是需要开发者设计的。笔者常常接到一些关于嵌入式产品稳定性的咨询,发现大多数是由于软件开发者对底层硬件的基本原理不理解。特别是有些功能软件开发者,过分依赖于底层硬件的驱动软件,自己对底层驱动原理知之甚少。实际上,一些功能软件开发者,名义上在做嵌入式软件,其实仅仅是使用嵌入式编辑、编译环境而已,本质与开发通用PC机软件没有两样。而底层硬件驱动软件的开发,若不全面考虑高层功能软件对底层硬件的可能调用,也会使封装或参数设计得不合理或不完备,导致高层功能软件调用困难。可以看出,若把嵌入式系统的开发孤立地分为硬件设计、底层硬件驱动软件设计、高层功能软件设计,那么一旦出现问题,就可能难以定位。实际上,嵌入式系统设计是一个软件、硬件协同设计工程,不能像通用计算机那样,软件、硬件完全分开来看,而要在一个大的框架内协调工作。

学习嵌入式系统是以软件为主还是以硬件为主,或者如何选择切入点,如何在软件与硬件之间取得平衡?对于这个困惑的建议是:要想成为一名真正的嵌入式系统设计师,在初学阶段,必须打好嵌入式系统的硬件与软件基础。以下是从事嵌入式系统设计二十多年的美国学者JohnCatsoulis在《Designing Embedded Hardware》一书中关于这个问题的总结:嵌入式系统与硬件紧密相关,是软件与硬件的综合体,没有对硬件的理解就不可能写好嵌入式软件;同样,没有对软件的理解也不可能设计好嵌入式硬件。

2.3 片面认识嵌入式系统

嵌入式系统产品种类繁多,应用领域各异。在第1部分中,把嵌入式系统的应用范围粗略分为电子系统的智能化与计算机应用的延伸两大类。从初学者角度,可能存在分别从这两个角度片面认识嵌入式系统的问题。因此,一些从电子系统智能化角度认识嵌入式系统的学习者,可能会忽视编程结构、编程规范、软件工程的要求、操作系统等知识的积累。另一些从计算机应用的延伸角度认识嵌入式系统的学习者,可能会把通用计算机学习过程中的概念与方法生搬硬套到嵌入式系统的实践中,忽视嵌入式系统与通用计算机的差异。

实际上,在嵌入式系统学习与实践的初始阶段,应该充分了解嵌入式系统的特点,根据自身的已有知识结构,制定适合自身情况的学习计划。目标应该是打好嵌入式系统的硬件与软件基础,通过实践,为成为良好的嵌入式系统设计师建立起基本知识结构。学习过程中,具体应用系统可为实践载体,但不能拘泥于具体系统,应该有一定的抽象与归纳。例如,初学者开发实际控制系统时没有使用实时操作系统,但不要认为实时操作系统不需要学习。又例如,初学者可以一个带有实时操作系统的样例为蓝本进行学习,但不要认为任何嵌入式系统都需要实时操作系统,甚至为一个十分简明的实际系统加上不必要的实时操作系统。因此,片面认识嵌入式系统,可能导致学习困惑。应该根据实际项目需要,锻炼自己分析实际问题、解决问题的能力。这是一个长期的学习与实践过程,不能期望通过短期培训完成整体知识体系的建立,应该重视自身实践,全面地理解嵌入式系统的知识体系。

2.4 入门芯片选择的困惑

嵌入式系统的大部分初学者需要选择一个微控制器(MCU)进行入门级学习,面对众多厂家生产的微控制器系列,往往不知如何是好。

首先是关于位数问题,目前主要有8位、16位和32位MCU。不同位数的MCU各有应用领域,这一点与通用微机有很大不同。例如做一个遥控器,不需要使 用32位MCU,否则MCU芯片价格就已经超过遥控器价格需求。对于首次接触嵌入式系统的学习者,可以根据自己的知识基础选择入门芯片的位数。建议大多数初学者选择8位MCU作为快速入门芯片,了解一些汇编与底层硬件知识,之后再选16位或32位芯片进行学习实践。

关于芯片选择的另一个误区是认为有“主流芯片”存在,嵌入式系统也可以形成芯片垄断。这完全是一种误解,是套用通用计算机系统的思维模式,而忽视了嵌入式系统应用的多样性。关于学习芯片选择还有一个误区,即误认为选择工作频率高的芯片进行入门学习,更先进。实际上,工作频率高可能给初学者带来不少困难。

实际嵌入式系统设计不是追求芯片位数、工作频率、操作系统等因素,而是追求稳定可靠、维护、升级、功耗、价格等指标。初学者选择入门芯片,是通过某 一:MCU作为蓝本,获得嵌入式系统知识体系的通用基础。其基本原则是:入门时间较短、硬件成本较低,知识要素较多,学习难度较低。

3 基础阶段的学习建议

基于以上讨论,下面对广大渴望学习嵌入式系统的学子提出几点基础阶段的学习建议:

①嵌入式系统软件硬件密切相关,一定要打好软硬件基础。其实,只要找到正确的方法,加上努力,任何理工科学生,甚至非理工科学生,都能学好嵌入式系统。

②选择一个芯片及硬件评估板(入门芯片最好简单一点,例如8位MCU)、选择一本好书(最好有规范的例子)、找一位好老师(最好是有经验且热心的)。硬
件评估板的价格一定要在1000元以下,不要太贵,最好能有自己动手的空间。不花一分硬件钱想要学好嵌入式系统不实际,因为这是实践性很强的学科。好书,可以让人少走弯路,不被误导。好老师也可以是做过一些实际项目的学长(一定要找做过几个成功项目的学长或老师做指导,否则经验不足也可能误导),有教师指导,学习进程会加快(人工智能学科里有个术语叫无教师指导学习模式与有教师指导学习模式,无教师指导学习模式比有教师指导学习模式复杂许多。

③许多人怕硬件,其实嵌入式系统硬件比电子线路好学多了。只要深入理解:MCU的硬件最小系统,对I/O口、串行通信、键盘、LED、LCD、 SPI、
I2C、PWM、A/D(包括一些传感器)、D/A等逐个实验理解,逐步实践,再通过动手做一个实际的小系统,底层硬件基础就有了。各个硬件模块驱动程序的编写是嵌入式系统的必备基础。学习嵌入式系统的初期,这个过程是必须的。

④至于嵌入式实时操作系统RTOS,一定不要一开始就学,这样会走很多弯路,也会使你对嵌入式系统感到畏惧。等你软件硬件基础打好了,再学习就感到容易理解。实际上,许多嵌入式应用并不需要操作系统。也可以根据实际项目需要,再学习特定的RTOS。不要被一些嵌入式实时操作系统培训班的宣传所误导,而忽视实际嵌入式系统软硬件基础知识的学习。

⑤要避免片面地单纯从“电子”或“计算机软件”角度认识嵌入式系统。前面说过,嵌入式系统是软件与硬件的综合体。因此,要逐步从MCU的最小系统开始, 一点一点理解硬件原理及底层硬件驱动编程方法。要通过规范的例子,理解软件工程封装、可复用等思想。通过规范编程,积累底层构件(component),也就是一个一个模块;但是要封装得比较好,可复用。

⑥注重实验与实践。这里说的实验主要指通过重复来验证他人的工作,目的是学习基础知识,这个过程一定要经历。实践是自己设计,有具体的“产品”目标。如果花500元左右,自己做一个具有一定功能的小产品,且能稳定运行1年以上,就可以说接近入门了。

⑦关于入门芯片的选择。不要选太复杂的微控制器作为入门芯片,不能超越学习过程。不要一下子学习几种芯片。可以通过一个芯片入门,并具有一个实践经验后,根据实际需要选择芯片开发实际产品。注意,不要把微处理器(MPU与微控制器(MCU)概念相混淆,微处理器只是微控制器的内核。

⑧关于嵌入式操作系统的选择。可以等到具有一定实践基础后,选择一个简单、容易理解原理的嵌入式操作系统进行学习。不要一开始就学习几种操作系统,理解了基本原理,实践中确有实际需要再学习也不迟。人总是要不断学习的。

⑨关于汇编语言与C语言的取舍。随着:MCU对C编译的优化支持,对于汇编语言可以只了解几个必要的语句,而直接使用C语言编程。但必须通过第一个程序理解芯片初始化过程、中断机制、程序存储情况等,区别于PC机程序的内容。另外,为了测试的需要,最好掌握一门PC机编程语言。

⑩要明确自己的学习目的,并注意学习方法。要明确学习目的是打基础,还是为了适应工作需要而进行的短训。学习方法方面,要根据学习目的选择合适的学习途径,注意理论学习与实践、通用知识与芯片相关知识、硬件知识与软件知识的平衡,要在理解软件工程基本原理基础上理解硬件构件与软件构件等基本概念。

当然,以上只是基础阶段的学习建议。要成为良好的嵌入式系统设计师,还需要在实际项目中锻炼,并不断学习与积累经验。

来源:凌阳教育

围观 237

用编程器不仅不能提高编程效率,反而出现了极高的不良率品,更要命的是很多不良率芯片已损坏,这不是赔了夫人又折兵吗(花钱买编程器编坏芯片)?

其实客户的咨询及反馈,也印证着我们编程器技术一路以来的发展及变革史,细节决定成败!

通常,使用编程器编写芯片出现不良品率,是有众多因数造成的,比如芯片批次质量波动、编程烧录房环境及人员习惯素质、夹具使用寿命、编程器老化、编程器时序的兼容性等等原因。解决这些基本问题,一般可以通过加强人员培训,设备维护升级或者及时更新芯片时序算法就可解决,并且也达到了一定的效果!

那么问题真的是解决了吗?实际上不良品率是降低了,然而损坏芯片的现象还依然存在!

如是公司投入了大量的硬件、软件和时序研发人员来分析问题,但是得到结果是编程器硬件设计性能指标正常,软件未出现非正常的BUG,算法时序也严格地按照芯片原厂提供的编程手册来编写。

于是一切的焦点似乎都慢慢地聚集在了原厂的芯片,当然了,原厂的芯片质量都是优良的!

通过编程器厂商与用户、芯片原厂三方的不懈努力分析,终于找到了结症所在。

芯片原厂分析失效芯片反馈:芯片有两个等级的加密,第一个等级的芯片加密,用户可以通过擦除即可继续重复操作,而第二个等级的加密,也叫加死密,用户一旦加密了,将无法再次执行任何操作!并且,加密位位于芯片的Flash区域内,占用了Flash区域地址的前几个字节;

用户方方案:我们的程序是使用了第二个等级的加密(死密),加密信息就在编程文件当中;

编程器烧录流程:用户调入文件,直接从Flash区域从上至下进行顺序编程。

从看到的字眼“死密”,可想而知,对芯片的加密操作就必须慎之又慎;从以上的沟通信息得知,容易损坏芯片现象,不是编程器硬件、软件或者时序指标不良造成的,而是给芯片加上了死密,锁死了芯片。

加密位占用了芯片Flash区域的起始的几个字节,如果编程器按照了正常的流程操作,从芯片的Flash起始地址一直写到末尾地址,一旦芯片在起始地址完成了编写加密位,在后续的几十K、几百K甚至上M的容量代码的漫长时间的烧录过程当中,出现了突发事件!比如人为的违规操作、芯片与烧录座的接触不良,编程时芯片未回应等造成的烧录失败,必然导致芯片已锁死,无法使用,导致芯片废掉情况!

针对该种现象,我们编程器转变了思路,改变了操作流程;我们独立设计了一个“配置”,编程器烧录前,我们的软件会先从用户代码的加密位解析并提取出来,放在了“配置”上;编程器在执行烧录操作过程中,先把除了加密位的用户代码烧录进去,烧录成功之后,最后才通过“配置”把加密位烧录进去;在烧录过程中,即使人为的违规操作、芯片与烧录座的接触不良,编程时芯片未回应等造成的烧录失败,只要未操作加密位,芯片还是可以继续烧录的,不会出现锁死导致的芯片损坏的情况发生。 这样就可以极大地避免了损坏芯片了。



细节决定成败,编程器只是改变一个操作方式,调换一下操作顺序,即可提高芯片烧录的良品率,让客户杜绝编程不良。

来源:致远电子

围观 306



众所周知,在嵌入式系统中,微处理器用的最多的还是MCU(俗称单片机),主要原因是其性价比高、简单易学。MCU有4位、8位、16位三大系列,4位 MCU主要用在家用电器、儿童玩具领域;16位MCU则用在速度要求较高的工业控制领域;8位MCU是主流,几乎覆盖所有应用领域,其生产厂商(几十家)、产品系列(几百个)、芯片型号(几千种)都是最多的,在所有8位MCU中,51系列占一半以上。

在嵌入式系统所有处理器中,目前32位处理器虽然只占一小部分,但却是不可替代的一部分,而且是嵌入式技术未来的发展方向。32位嵌入式处理器具有如下特点:

● 运算速度高,主频高达1G以上,多总线多数据流结构,有些处理器带双核甚至多核CPU。

● 内存容量大,内带或外接大容量的Flash和SRAM,多数32位处理器可直接外接大容量的SDRAM。

● 硬件功能强大,内置AD/DA、PWM、PLA等,外带GPIO、UART、I2C、SPI、CAN、PCI、USB、1394、以太网等接口。

● 支持实时操作系统(WindowsCE、Linux/μClinux、VxWorks、μC/OS-II等),以及多功能人机交互式界面。

目前国内比较流行的32位嵌入式处理器有:x86系列、ARM、DSP、PowerPC等。

1、 x86系列(Intel或AMD)源自PC机,在嵌入式系统中用到较多的是486、586和Pentium CPU,其特点是硬件系统基本上使用标准板(PC104,3.5"或Mini-ITX单板机),软件开发也很方便,利用PC机平台就可以,且有大量第三方免费软件可以使用,操作系统以DOS、WindowsCE为主。

x86系列主要用在工业控制、医疗设备、无线网络设备、数字多媒体系统、机顶盒等领域。

这里需要特别推荐两款性价比极高且与x86指令兼容的CPU:Intel Atom(凌动)-主要用在Mini-ITX中,Transmeta Crusoe TM5xxx系列- 主要用在PC104中。

2、 ARM是英国ARM公司设计的IP核,第三方公司购买后设计出内核结构相同、具有各种特色功能的处理器。目前,全世界ARM生产商有几百家,国内就有十多家,比较流行的有NXP/Philips、Samsung、Atmel、TI、ST、ADI等,可参阅本博客中《ARM芯片选型简易指南》(阅读原文可立即查看)一文。

ARM的主要应用领域有:工业控制、网络通信、数字娱乐和安防监控等。

今后,随着ARM性价比不断提高,ARM将进入常规8/16位MCU的应用领域,目前已经推出的就有Cortex-Mx系列ARM内核。

3、 DSP原来是专用于数字信号处理的,生产厂商、产品型号都不多,主要有TI的C2000、C5000和C6000系列;AD的 BF5xx(Blackfin)、ADSP21x(SHARC)、TSx0x(TigerSHARC)系列, Motorola/Freescale和NEC的DSP等,后两个厂家的DSP在国内用的较少。随着DSP功能的不断扩展,特别是近年来国内安防监控技术的高速发展,DSP在嵌入式系统中用得越来越多。

DSP的主要应用领域有:数字语音/图像信号处理(编码压缩、FFT、FIR)、安防监控(高速球机、DVR)、工业控制(电机控制/变频调速)、军事设备(导航及制导,雷达监测)等。

4、PowerPC是由苹果(Apple)和IMB以及早期的Motorola(现在的Freescale)组成的联盟(简称为AIM)共同设计的微处理器架构,以对抗在市场上占有压倒优势的x86处理器。

在嵌入式系统中使用较多的是Motorola/Freescale的MPC7x和MPC8x系列。PowerPC除了用在苹果和IBM的电脑、工作站外,嵌入式领域主要用在通信、消费电子、军工以及航天等方面。

补充:目前已有集ARM和DSP于一体的处理器,如TI OMAP系列。此外,MCU(单片机)也有32位的,如 Microchip的PIC32系列,Freescale/Motorola的MC68K、MMC21x(M-Core))、 MCF5x(ColdFire)系列等,只是国内用的较少(可能是受ARM、DSP比较流行的影响)。

来源:电子DIY公众号

围观 512

引言

当下,物联网、移动互联技术大刀阔斧地改变着整个世界。随着嵌入式技术的不断革新,32位MCU成为主流,64位MCU的应用范围也越来越广。与此同时,唱衰8位MCU即将消亡的言论从未停息……

事实上,在工业控制、安防、物联网、消费类电子等诸多领域,8位MCU的身影依然处处可见,而且不断推陈出新。从市场的占有率和销售额来看,8位MCU的市场份额甚至还在不断攀升。根据IHS的预测,2018年8位MCU的市场规模将增长到78亿美元,继续超过每年MCU市场营收的三分之一以上。

究竟是什么原因令8位MCU的生命力如此旺盛,市场潜力依然巨大呢?未来,8位MCU又有哪些新的发展趋势和应用领域呢?且听这些行业巨头们一叙。

业界声音

纵横市场数十年的8位MCU,至今仍是开发各种嵌入式系统的关键器件,甚至在未来的物联网(IoT)时代中也将占有一席之地。尽管近年来半导体厂商纷纷转换至32位ARM CortexM内核架构,进而招来许多有关8位MCU将走出历史舞台的宿论,但事实是,它仍然在市场上屹立不倒,而且在新型消费电子、物联网、工业控制、智能传感器和电信及数据通信设备中都可见其踪迹。

Microchip:8位MCU创新空间巨大

8位MCU的创新空间是十分巨大的,Microchip一直致力于该领域的创新和研发。Microchip的研发部门有很多创新的想法,并且不断地推出一些创新性的解决方案来保持8位单片机的生命力,因此8位单片机是不会消亡的。目前,市场上并没有其他厂商在8位单片机方面继续大量地投入,然而Microchip一直以来都非常注重8位单片机市场的创新与投入,而且,未来会进一步地扩大Microchip的市场份额。在短期内,就整个8位单片机的市场而言,并不会出现特别大的突发性的增长。

新一代的8位MCU更多的是朝智能模拟、创新性的外设这样的方向发展,Microchip会仔细地倾听市场的需求,通过创新性的产品(比如创新性的外设、独立于内核的外设),来更好地满足市场需求。今年Microchip会推陈出新,新的技术至少能够让Microchip在5~7年内保持技术的领先优势。因此,对于8位单片机市场,Microchip非常有信心。特别需要强调的一点是,新技术中会有越来越多集成化的智能模拟模块集成在一起。

可以看到,8位单片机在照明领域的应用非常广泛,包括消费类的照明、工业照明,以及汽车车灯的照明等等。当然,这只是应用的其中一个方面。而上述这些概念和互联网的概念都是相关的,比如说智能照明、智能车灯等等。除此之外,8位单片机在汽车领域应用得也非常多,比如智能汽车方面。

随着用户对于产品“与众不同”和“个性化”需求的加大,Microchip也推出了不同种类、不同版本的产品,能够让客户实现他的个性化,体现他的与众不同。Microchip集成了很多的外设,目的是帮助客户在成本和价值方面取得平衡。

Silicon Labs:8位MCU应用无处不在

相较于32位设计,基于传统8051内核的8位架构常被一些工程师认为太过老旧。事实上,8051内核一直在与时俱进,不断得到显著的升级,加上其长久以来在大量开发商和工程师的支持下,所积累的设备安装量和为之编写的数以百万计的代码,使嵌入式开发人员能够继续利用这些丰富的知识宝库,来缩减产品上市时间和测试成本。

经过Silicon Labs持续优化的8051架构正是具备更高性能的典型8位MCU之一。Silicon Labs以3级流水线冯·诺依曼(VonNeuman)架构对8051内核进行了现代化和“类RISC”化,并保持与原始内核代码兼容,从而获得了巨大的性能提升。

俗话说的好,万变不离其宗!广泛部署并经过长时间考验的8051指令集仍然是许多既需要功效、又需要高性价比应用的最佳选择。对于新兴的物联网(IoT)应用而言,可连接设备和传感器网络通常有严格的功耗、占用空间和预算限制,开发商会选择在终端节点中广泛使用小尺寸、低功耗且低成本的8051 MCU,并达到加速系统设计的目的。

8位MCU市场需求依然强劲,例如在近来特别红火的无人机中,内部的电机控制电路板上便搭载了8位MCU;而许多空间受限、性能密集型应用,例如光模块、测试和测量仪器、工业控制设备和智能传感器等,也都需要高模拟性能和外设集成度的8位MCU。以Silicon Labs新款Laser Bee MCU为例,其集成了高分辨率模/数转换器和数/模转换器、高精度温度传感器等多个元器件,将能提供更快的时钟及PWM性能。

新唐看好具有强大竞争优势的8位MCU

MCU市场仍处于成长阶段,各级别的MCU的需求量持续攀升,应用范围持续扩大。一般而言,在大量数据运算与图像影音处理等方面,以32位MCU为主;在控制类应用方面,进入市场较早的8位MCU产品则具备诸多竞争优势,例如 8位MCU产品很早进入消费类、医疗用品、工业控制、汽车电子等市场应用,产品稳定,性价比满足需求,至今仍占主导地位。这些已稳定量产的产品,由于安全可靠与成本优势,也成为8位 MCU市场的发展基石。

在对价格特别敏感的市场,更能凸显8位产品价格上的优势。伴随着丰富外设的加持,小家电市场随处可见8位MCU的踪迹,IC制程也由 0.35 μm、 0.25 μm 进入到0.18 μm及0.13 μm, 性能更强、功耗更低。由此可见,8位MCU需求量仍不断增加,市场份额仍具有上升的空间。以新唐今年的销售成绩而言,8051单片机的出货量大幅超出了预期。

新唐经营8位 MCU已超过20年,为客户累积了完整的链接库与应用经验,使研发周期大幅缩短。新唐MCU包含8位的12T、 4T、 1T 8051与32位 CortexM0/M4、ARM7、ARM9 CPU 内核, 产品线完整。根据新唐长久经营MCU市场的经验来看,对客户而言,MCU位数并非选型的关键因素,平台完整度、代码复用性与可移植性、产品质量稳定可靠,以及良好的客户服务, 才是决胜的重要因素。例如,新唐以8位 MCU为核心所开发的触摸按键系列,PCB板设计简单,具备高集成度、高抗干扰性能,加上工程师可在新唐开发平台简易且快速地完成产品设计、具有良好的开发体验,这些因素使新唐触摸系列深受客户欢迎。新唐认为,触控产品需求将会是推动新唐8位 MCU成长的重要驱动力,加上积累20年的深厚客户关系,8位 MCU市场潜力依然巨大。新唐将会持续提供高性价比的MCU、体贴的开发环境与技术支持,满足市场与客户需求。

何立民教授:8位MCU的生命力长盛不衰

当ARM系列不断吞噬8位MCU的市场份额时,有人认为32位MCU将取代8位MCU,8位MCU将会退出历史舞台。殊不知,ARM系列在传统嵌入式领域大肆扩张的同时,80C51成功地实现了华丽的转身,在嵌入式系统无限大的市场领域(如物联网、可穿戴设备)中获得新生,成为MCU中的不死鸟。

从MCU无限大的市场角度看,随着智能化工具的发展,MCU产品的市场需求日益扩大,从传统电子的智能化改造、新兴的智能化设备、智能化设备的分布、智能化设备总线、智能化设备局域网,直到物联网时代,无处不在的人工智能的感知与控制终端领域,都表明了MCU有一个无限大的市场。这个无限大市场的多样性决定了对MCU的多样需求,8位、32位、64位MCU没有好坏之分,主要体现在不同的应用领域,其技术各有所长,最重要的是取其所长,把它们应用在能充分发挥其长处的地方。

编辑视角

从嵌入式系统教育角度看,由于8位MCU具有稳定、便宜、易用的特点,以51系列单片机(8位MCU)的应用作为嵌入式系统教学是十分理想的,而且嵌入式系统的初学者以51系列单片机作为入门单片机的学习是较好的。学好了51单片机,今后再学习更为复杂的单片机就容易上手了。

从系统稳定性的角度看,在控制领域、安防领域、消费类电子等领域仍会大量地使用8位MCU,大量工业现场的恶劣环境注定了系统中的核心控制器件必须稳定、可靠、易维护。同时,工控设备器件选型有一个重要原则:芯片必须稳定可靠、应用成熟,器件所含有的功能和数量应略大于设计需求。就分配给它的任务而言, 51系列的8位单片机性能足矣,在满足需求的情况下,处理器越简单,稳定性就越强,越有利于产品的安全维护。

从市场产品需求看,在大部分嵌入式产品中,8位MCU就能满足嵌入式系统中80%~90%的基本需求,嵌入式产品最低的要求也是能处理8位二进制数据或代码,众多的嵌入式产品从内核到开发工具都是以8位内核为基础的,市场的需求及其自身性价比决定了它依然能活跃在这个舞台上。

文章来源:单机片与嵌入式系统应用

围观 483

低功耗是MCU的一项非常重要的指标,尤其是在便携式和可穿戴设备中,其携带的电量有限,如果系统功耗高的话,就会很容易出现电量不足的情况,频繁的更换电池或充电必然会带来很差的用户体验,甚至存在一定安全问题,且高耗能的情况下,产品容易发热,严重影响产品的使用寿命。产品的低功耗是那么的重要,下面我将介绍一下NXP Kinetis L系列MCU的低功耗,看它在解决产品低功耗问题的“三板斧”。

一板斧
Cortex-M0+内核,能效比提高30%
Kinetis L系列MCU被誉为全球能效最高的32位MCU,基于当前能效最高的ARM Cortex®-M0+内核,同时采用90nmTFS技术,大大降低MCU静态功耗。

二板斧
10种灵活的电源模式
传统的MCU过去只采用3种电源模式:运行、睡眠和深度睡眠。然而这种“以一概全”的思路不适应现在电源配置多样设计需求。Kinetis L系列MCU将传统的3种电源模式扩展为10种灵活的模式,能够支持多种应用用例,从而大大提高了能效。


图1 10种灵活的电源模式对比

注:
* 计算操作启用:3.6 mA @ 48 MHz内核/24 MHz总线)
** 计算操作启用:144 uA @ 4 MHz内核/1 MHz总线)
a部分Kinetis L系列设备上提供


图2 10种电源模式转换

三板斧
智能电源外设
Kinetis L系列MCU在外设内实现了低功耗智能,允许外设在深度睡眠模式下通过备用时钟源自主运行。例如,MCU内包含异步DMA(ADMA)唤醒功能,允许某些外设在停止和VLPS模式下请求DMA传输。


图3 节能外设应用示例

凭借着“三板斧”的巨大威力,Kinetis L系列MCU在与竞争对手相应的16位低功耗MCU展开正面能效基准挑战赛中完胜对手,证明它作为全球能效最高的MCU选手是实至名归的。

来源:周立功单片机

围观 378

MCU深入生活应用是不容易质疑的趋势,尤其是MCU在功能优化或市场区隔目的下,进行DSP数位讯号处理器或FPU浮点运算单元功能整合,使得MCU的可应用场域大幅扩展。
  
微控制器加速芯片整合 大幅扩展MCU可应用场域
  
微控制器(MCU)深入人们应用生活,几乎大小设备都看得到MCU踪影,在MCU导入DSP数位讯号处理器、FPU浮点运算单元功能后,MCU更大幅扩展元件可适用范围,这几年来,在众多MCU大厂纷纷针对旗下商品推出多样整合方案,不管是产品策略还是市场区隔,也让MCU市场更加丰富多元。
  
MCU深入生活应用是不容易质疑的趋势,尤其是MCU在功能优化或市场区隔目的下,进行DSP数位讯号处理器或FPU浮点运算单元功能整合,使得MCU的可应用场域大幅扩展。
  
MCU整合FPU可以在进阶数值运算的精密度大幅提升、处理效能也能获得改善。
  

针对IoT应用开发的MCU方案,整合DSP可优化感测器数据撷取品质与提升信号处理效能。
如果以FPU或DSP导入目的,一般在MCU中追加FPU、DSP整合架构,主要目的还是在考量成本下的设计方向,尤其在早期半导体元件,SOC(SystemonChip)系统单晶片与MCU存在一段价格差距,如果仅需要SDP或FPU进行运算加速,又不想选用高单价SOC,这时整合DSP或FPU硬体加速单元的MCU产品、不仅可以更好的提供运行效能,同时又能在成本控制上表现更加优异。
  
MCU整合晶片封装成本骤降增加MCU功能扩充应用空间
  
以早期的SOC产品来看,搭载DSP与FPU硬体加速器是SOC产品的重要特性,其中DSP与FPU的应用方向主要以音讯、影像等处理加速运算为主,而在制程技术持续优化,SOC的成本逐步与MCU拉近,MCU在32位元甚至64位元架构下,也开始有结合DSP或是FPU硬体加速单元的解决方案。
  
先看看MCU加上硬体加速单元的优点,在MCU追加FPU导入,最直接的效益是早期利用MCU处理类似FPU运算内容,会因为MCU本身的运算架构限制,让运算结果得出时间会相对拉长,而在导入硬体加速器处理浮点运算时,因为硬体呼叫或是资料传递就能透过硬体算出数据,MCU本身耗在浮点运算的记忆体资源可以因硬体加速整合减少至少10%。
  
当然,从目的性来看,不管MCU有无整合FPU硬体加速单元,浮点运算需求使用MCU现有的运算能力也能得出结果,只是前提是计算过程会耗用较多运算时间与硬体资源,对于可等待、无需提供即时反应的系统自然可以不考虑整合FPU的MCU方案,但若是对系统效能、回馈反应速度要求高的整合需求,MCU结合FPU的效益提升不仅仅是运算资源耗用优化、节能优势等效果,反而是加快系统回应与效能提升的效用,才是MCU结合FPU硬体加速最直接、重要的功能改进,也让MCU可以因应更高复杂度的整合工作。
  
高阶数值运算运用硬体加速满足设计需求
  
在早期MCU元件仍以8位元架构为主流的应用方向,MCU在资料处理与运算处理上,本来就有因架构的问题而有其处理限制,例如,MCU进行小数点、分数处理运算时,因为4位元或是8位元位数有限,就必须采用有限数值进行处理,透过数值结果的限制换取处理复杂度简化与效能要求目的,而这种因为数值处理产生的误差即“截断误差”,截断误差也会因为使用MCU进行数据运算的限制,而令误差数值产生扩大现象。

而在MCU整合FPU硬体加速,在运算同类型的数据处理时,例如在IoT物联网或是终端感测器应用中,常有将外部类比感测数据转换成数位资料的资料撷取、处理需求,这时透过MCU整合的FPU/DSP硬体加速单元,不仅可将感测数据更快速处理完成、加快系统回应,同时,也能导入进阶运算减少数据演算的误差。
  
在实际应用中,FPU硬体加速器本身并无法完全解决误差扩大问题,所以会有FPU、DSP等不同硬体加速整合架构下的应用目的考量,举例来说,透过DSP硬体加速器,可针对特殊数据类型更高速、可靠的运算处理输出,像是DSP可利用指令来进行多种运算,处理如快速快速傅立叶转换或有限脉冲回应进阶运算中重要且耗资源的运算需求,甚至透过单周期的指令便能处理单一指令多重资料运算需求,MCU在进行进阶数值处理方面还可获得进阶增强效益。
  
FPU/DSP不同硬体加速单元具互补作用
  
虽说整合FPU或DSP基本在架构与应用方向就不同,但实际上两者分别是针对数据运算、讯号处理对应至各式演算法应用,两者功能可以说是各有互补效用,比较难被独立拆分。以ARMCortex-M4来看,若仅提供DSP硬体加速处理器反而没设置FPU浮点运算加速器反而会造成应用限制,因为在Cortex-M4应用场合如果仅有数位信号处理加速硬体支援,少了浮点运算支援,对开发需求端若碰到需要数值进阶运算加速,就会造成设计上的弹性限制,或是导致还需透过外部功能晶片支援,或利用原有的运算资源因应数值进阶计算需求,反而会因为数值处理效能限制了Cortex-M4的应用可能性。
  
同样的状况也发生在仅有FPU而没有设置DSP的微控制器应用方案上,对DSP或是FPU应用功能是相辅相成,独立整合对于微控制器的配置并未能产生综效,反而会成为发展路径的限制。
  
再者,从新一代IoT产品发展方向,透过感测器融合应用方向为例,若是SensorFusion概念为将多感测器整合在单一系统中协同运行,系统需要高阶数值与讯号处理能力,才可以将关键数值讯号自复杂数据中提取出来。
  
至于感测器融合可以再搭配即时的调整、控制与校正处理,由DSP加上FPU协同处理达到高精密度、高效率进行撷取数据的精密分析,尤其是现有的SensorFusion已做到陀螺仪、加速度器、温度、压力甚至触控感测都做在同一个模组中,必须透过DSP与FPU预先筛出相对精密且兼顾处理效率的讯号撷取与预处理的感测数据,提供相对高效的系统更具效率的感测数值处理机制。
  
DSP数位滤波应用可提升感测讯号撷取品质
  
此外,在MCU整合FPU的另一个优势在于可在系统中善用其运算特性,例如,运用数位演算法进行撷取数值的数位滤波应用,针对处理讯号进一步以基于硬体加速的数位演算法进行波形或数据再处理,形成一提升数据噪讯比(SNR)的便捷作法,数位滤波器还可利用演算机制优化提供不同程度大小的滤波效果,这在于微控制器用于感测热门的心率、血液含氧量、运动数值等生理资讯,或是数位电表、智能电表等应用,解决末端数据因为杂讯或环境噪讯影响,倒置讯号失真的数据优化回补效用,优化终端取得的讯号波形信号品质,更利于后续处理或数据使用。
  
为了优化末端应用,微控制器整合硬体加速单元也蔚为一股风潮,不只是DSP或是FPU硬体加速单元,例如就有微控制器在架构上加入了VMU硬体加速单元,处理因应马达应用重点的三角函数数值运算需求,或是对应无线电通讯需求整合的数据分析演算支援,与现有FPU浮点运算硬体加速功能区隔,采取协同分工的方式加速整体微控制器的应用效能。
  
有趣的是,针对不同的市场与运算需求定位,微控制器除在运算时脉进行差异区隔,以最实际的运算效能区分不同应用场合、市场切分外,整合不同应用所需的硬体加速单元也成为产品市场定位的重要分界,例如针对穿戴式运算应用市场的微控制器,在要求功耗、感测器融合、元器件成本方面就可仅整合FPU、DSP硬体加速定位市场区隔,在高阶的微控制器应用上,甚至有解决方案直接整合硬体绘图引擎,直接看准工业用人机介面终端的应用需求,另针对如车用电子、IoT物联网等不同市场需求,也有五花八门的硬体加速单元配置组合,满足不同整合需求的应用架构。

另一个微控制器整合DSP、FPU硬体加速单元的目的,其实加入硬体加速单元整合而不采行外部解决方案来组构硬体加速运算需求,其最大的优点在于成本方面的极致优化,因为电子电路板可以更节省载板空间,运用单一晶片就能改善运算的整体效率,而在软体开发层面,可在整合架构下运用简单呼叫与资料传递的再处理,便能满足应用服务的数据计算产出效能要求,甚至于开发完成的成品还可运用一致性侦错分析工具,直接针对系统进行全面分析与勘误,在开发设计的效率与速度都能获得改善。

来源:中国智能制造网

围观 354

页面

订阅 RSS - MCU