最新半导体和电子元器件的全球授权分销商贸泽电子(Mouser Electronics) 宣布即日起备货Silicon LabsCPT212B和CPT213B TouchXpress电容式触摸控制器。CPT212B和CPT213B TouchXpress控制器无需费时费力的固件开发,为在各类产品中添加时尚的触摸式用户界面设计提供了简单的交钥匙解决方案。这些产品包括家电、医疗设备、消费类电子产品、仪器和控制面板,以及照明控制等。

“”

贸泽电子供应的Silicon Labs CPT212B和CPT213B TouchXpress控制器可帮助设计工程师快速、轻松地向嵌入式设计中增加低功耗电容式触控界面。CPT212B支持多达12个传感器输入,能够以超低功率运行,经过优化的活动电流低至200 µA,休眠电流为1 µA。CPT213B提供多达13个传感器输入,并增加了 IEC 60730 B 类安全库支持,可防止家用电器的不安全操作。这些控制器的I2C接口提供了一种跟踪触摸传感器状态的简便方法,在检测到接近触摸后,中断引脚可以唤醒休眠中的主机处理器。

另外,贸泽还提供可用于评估TouchXpress控制器功能的评估板。CPT212B SLEXP8018A评估板配有12个电容式感应垫,而CPT213B SLEXP8019A评估板配有一个电容式感应输入引擎和13个输入。这两款评估板都有一个用于触控反馈的蜂鸣器、一个触摸确证引擎和一个用于连接Silicon Labs EFM8或EFM32入门套件的扩展接头。

有关CPT212B和CPT213B TouchXpress控制器及评估板的更多信息,敬请访问 http://www.mouser.com/new/Silicon-Laboratories/silicon-labs-cpt212b-cpt213b-sensors/

贸泽电子拥有丰富的产品线与卓越的客服,通过提供采用先进技术的最新产品来满足设计工程师与采购人员的创新需求。我们库存有全球最广泛的最新半导体及电子元件,为客户的最新设计项目提供支持。Mouser网站Mouser.cn不仅有多种高级搜索工具可帮助用户快速了解产品库存情况,而且网站还在持续更新以不断优化用户体验。此外,Mouser网站还提供数据手册、供应商特定参考设计、应用笔记、技术设计信息和工程用工具等丰富的资料供用户参考。

关于贸泽电子 (Mouser Electronics)
贸泽电子隶属于伯克希尔哈撒韦集团 (Berkshire Hathaway) 公司旗下,是一家屡获殊荣的一流授权半导体和电子元器件分销商,专门致力于以最快的方式,向设计工程师和采购人员提供业界顶尖制造商的最新产品。作为一家全球分销商,我们的网站mouser.cn能够提供多语言和多货币交易支持,分销来自超过600家生产商的400多万种产品。我们通过遍布全球的22个客户支持中心为客户提供一流的服务,并通过位于美国德州达拉斯南部,拥有最先进技术的7万平方米仓库向全球170个国家/地区,超过55万家客户出货。更多信息,敬请访问:http://www.mouser.cn

关于Silicon Labs
Silicon Labs 是芯片、软件和系统解决方案的领先提供商,旨在推动全球互联和智能化的发展。该公司屡获殊荣的技术正在引领物联网、互联网基础设施、工业自动化、消费类产品和汽车市场的未来。他们的世界级工程团队打造出了众多注重性能、节能、连接性和简约性的产品。

围观 4

作者:Matt Gordon;Thom Denholm, Silicon Labs(亦称“芯科科技”)

如果只研读最新的微控制器数据手册的话,开发人员会很容易认为高效使用CPU资源(包括内存和时钟周期),是目前硬件设计中的一个小问题。最新的32位MCU可以在嵌入式空间提供闪存和RAM分配,这在不久前都是闻所未闻的;并且其CPU与之前台式机独有的运行速度一样。然而,近来开发过物联网产品的人都知道,这些硬件的进步并非空穴来风;它们一直因应着最终用户的期望和设计要求显著地变化着。因此,现在比以往任何时候都更重要的是:开发人员要确保其软件以最大效率运行,并且有效地利用他们的时间。

在现代嵌入式系统中运行的软件往往有各种来源。应用开发人员编写的代码通常与RTOS(实时操作系统)提供商的现成软件组件相结合,而这些组件又可能利用最初由半导体公司提供的驱动程序代码。开发人员可以编写每段代码来优化效率,但本文更着重于现成的软件组件中的效率优化。特别是其中两个组成部分将作为审视本文给出的资源效率的基础:实时内核和事务文件系统(transactional file system)。

实时内核:高效系统的核心

实时内核是当今许多嵌入式系统中运行的软件的核心。简单说,内核是一个调度程序;为基于内核的系统编写应用程序代码的开发人员将代码分为任务,内核负责安排这些任务。那么,内核是main()中无限循环的替代方法,它常常作为裸机(bare-metal)嵌入式系统中的主要调度机制。使用实时内核提供了重要优点,包括提高效率。选择将其应用代码基于内核的开发人员可以优化其系统中处理器资源的使用,同时更有效地利用自己的时间。然而,并不是所有的内核都生而相同,因此简单地决定在新项目中采用内核,并不能保证效率的提升。

调度是内核可能不同且CPU资源的使用效率可以有很大差异的关键领域。通过提供一种允许任务以响应事件的方式运行的智能调度机制,内核可帮助开发人员在无限循环中提升效率;其中以固定顺序执行任务(或换句话说,函数)。基于内核的应用程序的确切效率部分取决于其调度程序的实现方式。一个内核的调度程序(只是一段负责决定每个任务何时运行的代码)最终是种开销,这个开销必须不能蚕食掉通过摆脱裸机系统获得的好处。

通常,在实时内核中,调度是基于优先级的,这意味着应用程序开发人员为其任务分配优先级(通常为数字),并且在做出调度决策时,内核支持更高优先级的任务运行。在这种机制下,内核必须保持某种类型的数据结构、跟踪应用程序不同任务的优先级以及每个任务的当前状态。

从Micrium的­C/OS-II内核获取的一个例子如图1所示。在OSRdyTbl []中,这里显示的是8元素数组(每元素八位),每个位表示不同的任务优先级;其中:第一个元素中的最低有效位对应最高优先级;最后一个元素中的最高有效位表示最低优先级。数组的位值反映任务状态:如果相关优先级的任务准备就绪,则用值1表示;若任务未准备就绪,就用0表示。作为­C / O S - I I调度程序的一部分,附带的OSRdyTbl []是图中所示的单个八位变量—OSRdyGrp。

“”
图1:在μC/OS-II调度程序中,每个任务优先级由数组中的位表示

该变量中的每个位表示数组中的一整行或元素:1位表示对应的行至少有一个就绪任务;0位表示该行的任务都没就绪。通过使用清单1中所示的代码首先扫描OSRdyGrp、再扫描OSRdyTbl[],­C/OS-II可以确定在任何给定时间已准备好运行的最高优先级任务。如列表所示,此操作很高效,只需要两行C代码。当然,紧凑、高效的代码只是开发人员在内核中寻求的特性之一。鉴于大多数新MCU提供的闪存要相对多于RAM,对于开发人员来说,考虑内核所占用空间的数据端也很重要。对于内核的调度程序来说,臃肿的RAM占用会导致过多开销,从而减少多任务应用程序代码通常带来的好处。

内核可以采用两种方法来分配多任务所需的基本资源:分配这些资源的责任可以留给应用代码;或者内核本身可以处理分配。在任何内核中必然会存在某些变量和数据结构,因为它们对于执行多任务服务至关重要,所以这些变量和数据结构完全放在内核中。然而,对诸如用于记录每个任务状态的TCB(或任务控制块)等数据结构,或甚至对于在上下文切换时存储CPU寄存器值的堆栈,内核提供者可以选择在内部分配或依赖应用代码实现。

任何一种方法,如果实现时以灵活性为目标之一,都可以产生一个高效内核。延迟将资源分配给应用代码也许是为开发人员提供最大灵活性的方法,因为它为静态,或动态分配机制留有选择。 Micrium的­C/OS-III采用这种方法,让应用程序开发人员决定如何最好地分配其TCB和堆栈。然而,如同Micrium的­C/OS-II中的TCB情况一样,强制在内核中实施资源分配可以是同样有效的方法,只要有能配置所分配资源量的方法即可。最终,应用开发人员需要一种从系统的内存空间中消除未使用资源的方法。

文件系统效率

大多数设备需要存储数据和日志事件的选项,作为在传送到云之前的临时保存空间、或者是更长久地存储在设备上。为此目的设计的任何代码都是文件系统,无论是由开发人员编写和测试的、还是作为RTOS方案的一部分提供。文件系统还可以提供效率选项。其范围可从简单(保留多少内存缓冲区)到复杂(是否支持完整的POSIX操作)。

开发人员应从其数据存储要求开始。该数据是否在现场进行操作?或仅存储并稍后传送?要测量多少内容?其数据应该分开或组合吗?在对设备实施数据采集前先行存储数据吗?还是将其传送到云?存储介质有多可靠?设计能完全免受电源故障的影响吗?首先,一些RTOS提供类似FAT的文件系统。这包括使用标准介质格式(包括文件夹和文件) 执行I /O的代码。一般来说,其可定制程度受限,很少能防范电源故障时的数据丢失。

另一个选择是Datalight的Reliance Edge,它使用交易点(transactionpoint)来提供里令人兴奋的是:设计的灵活性如何有助于提高效率。Reliance Edge提供存储选项的定制。在最小用例中,称为“文件系统要素”,不使用文件夹甚至文件名。数据存储到编号的inode中。这些位置的计数在编译时确定,但大小不是预先确定的。一个“文件”可以包含比其它文件更多的数据,并且仅当“文件”的总大小达到阈值时,存储介质才装满。还可自由地对文件进行截取、读取和写入。

相比之下,FAT格式的文件系统具有专用于两个文件分配表的介质块。对于每个用户数据文件,分配了文件名和元数据—前者可能相当大以支持长文件名。如果使用子文件夹,其元数据和长文件名也将占用空间。所有这些都会导致存储介质上所收集的用户数据可用空间变少。

对于较大的设计,Reliance Edge提供了更像POSIX的环境。这里的文件名、文件夹和文件系统元数据(如属性以及数据和时间)是一个可配置选项。对于期望从其它设计移植POSIX接口的应用来说,这可能是个非常好的选择。最终,文件系统要求的最终选择与用例直接相关,这是迄今为止最有效的资源方案。

全面考量效率

除了资源使用问题之外,多年来,在购买内核、文件系统和其他软件模块时,效率一直是开发者关注的头等大事。这是因为用于证明采用这种模块的理由通常是:从头开始编写等效的代码是浪费时间。换句话说,应用开发人员最有效的时间利用是编写应用程序,而不是死磕数万行的基础架构代码。

然而,正如内核和文件系统的使用本身并不能保证CPU资源的有效应用一样,将这些模块引入新项目的决定,也不会自动确保开发人员能最有效地使用其时间。为了真正让开发人员专注于应用级代码,嵌入式软件模块必须具有直观的界面,并且该界面必须有详尽文档。在没有有用文档的情况下,开发人员可能要花数周的时间来解决事后证明是函数误用导致的问题。

不幸的是,如果不能可靠地实现所描述的功能,甚至文档编写良好的代码也会不必要地浪费开发时间。这就是为什么除了要求完整的文档外,开发人员在为新项目选择软件时,应寻求可靠性证据—例如过去的认证或测试结果。实际上,每个软件模块在宣传文献中都是可靠的,但只有部分模块提供了可靠证明,能保证它们“言行一致”。

例如,Datalight的Reliance Edge就有用于各种不同测试的源代码,允许应用开发人员确认文件系统在特定开发环境中能否可靠运行。示例:开发具最高效率的IoT医疗设备什么类型的开发环境可能出现在物联网项目中?鉴于嵌入式设备中连接需求的快速增长,不可能确定一种硬件、软件和工具链的特定组合来界定这个范围。找到完全代表物联网可能性范围的单一终端产品同样具有挑战性。尽管如此,这一领域的讨论当然可以从具体的例子中受益。一种有助于说明物联网开发者面临的一些挑战的产品,就是在几年之前甚至不会被认为是种连接设备的—血糖仪。

该产品的关键特征之一是市场容量:血糖仪每年的产量有数百万,并且往往以低于成本的价格出售,甚至免费赠送。因此,降低BOM成本,并最短化这些仪器开发时间的压力很大。不过,开发这些设备并不容易。事实上,新血糖仪的功能列表可能包括彩色显示、数据记录功能和云连接。面对如此复杂的需求列表,负责血糖仪开发的团队当然希望利用内核的多任务功能。优化内核的内存占用可能是该团队的首要关注点之一,因为典型的高产量、低成本MCU往往只有有限的闪存和RAM资源。减少空间占用的关键步骤是删除应用代码不需要的任何内核资源(如TCB)。消除应用的各种内核管理任务所需的堆栈中的浪费也将会有帮助。

像Micrium的­C/Probe这样的工具,可用于实现这一目标,其截图如图2所示。­C/Probe可以深入了解基于内核的应用的栈(stack)和堆(heap)的使用情况,使开发人员能够轻松识别低效并提高效率。当实施血糖仪的数据记录功能时,仪器的开发团队将受益于文件系统的功能。在此,与内核一样,使用现成的软件模块可以减轻团队开发基础架构代码的负担,从而有助于实现短得多、具成本效益的开发周期。处理器资源使用作为系统的总体约束之一,在开发数据记录代码时不可避免地需要予以考虑,因此使用高效的事务文件系统是理想情况。

“”
图2:FAT文件系统与Reliance Edge (资料来源:Datalight)

借助Reliance Edge等文件系统方案,开发团队可以轻松地将服务缩减到最低限度,以便为应用程序留出尽可能多的存储空间。

“”
图3:μC/Probe提供对系统数据的运行时访问,包括内核统计信息(来源:Micrium)。

结论

虽然每个嵌入式系统都有其独特的需求,但是适用于最大限度提高血糖仪效率的方法可以很容易地用于开发其它类设备。组件重用早已被公认为软件开发的最佳实践,血糖仪所需的许多基础架构代码(包括实时内核和文件系统)可以作为其它设备的基础,除了替换少数底层代码外,仅需很少改动。通过选择质量有保证的现成的组件作为项目基础,开发团队可以确保自己的资源以及嵌入式硬件的有效利用,并且可以专注于编写创新的应用代码,使其设计在众多的产品中脱颖而出。物联网创新的曙光已经开始闪亮。

本文转载自 SiliconLabs

围观 8

让 IoT应用开发更轻松

最新半导体和电子元件的全球授权分销商贸泽电子(Mouser Electronics) 即日起备货 Silicon LabsEFR32BG12和EFR32BG13 Blue Gecko片上系统(SoC)。 作为无线Gecko产品组合中的一员,这些低功耗蓝牙® SoC提供出色的射频性能和更大容量的存储器选项、片上电容式触控以及更多的低功耗外设及传感器接口,并增强了加密加速功能。

“”

贸泽电子供应的Silicon Labs EFR32BG12和EFR32BG13 Blue Gecko SoC将高性能32位40 MHz ARM® Cortex®-M4内核与2.4 GHz和sub-1GHz无线电收发器集成在了一起。与前几代Blue Gecko设备相比,EFR32BG12和EFR32BG13 Blue Gecko SoC的存储器容量更大:EFR32BG12提供1 MB的闪存和256 KB的RAM,而EFR32BG13提供512 KB的闪存和 64 KB的RAM。这种显著的存储器扩展有助于开发功能丰富的复杂物联网 (IoT) 应用,这些应用可支持多个协议栈、Micrium OS 之类的实时操作系统、设备的备份映像以及用于现场升级以延长物联网产品寿命的 无线(OTA)更新。

EFR32BG12和EFR32BG13 Blue Gecko SoC具有2 Mbps蓝牙PHY,可为运行蓝牙5兼容协议栈的应用提供足够的吞吐能力。与蓝牙4相比,蓝牙5标准的传输距离是其4倍、速度是其2倍,广播性能是其8倍,并且增强了与其它无线IoT协议的共存能力。这两款SoC还支持一组强大的外设,包括一个硬件加密加速器、12位模数转换器(ADC)、数模转换器(DAC)、一个 12通道外设反射系统和各种通信接口。此外,这两款SoC还提供多个安全选项,包括使用128位或256位密钥的AES 、椭圆曲线加密 (ECC)、SHA-1 和 SHA-224/256。

EFR32BG12和EFR32BG13 Blue Gecko SoC还包含片上振荡器,因此就不再需要低功耗蓝牙设备通常所需的片外32 KHz晶体。这个集成的高精度低频阻-容振荡器(PLFRCO)可代替32kHz晶体用于大批量产品设计,帮助开发人员节省BOM成本,同时符合低功耗蓝牙休眠时钟精度规范。PLFRCO能够确保设备在整个工作温度范围内提供强健、可靠的低功耗蓝牙连接。

EFR32BG12和EFR32BG13 Blue Gecko SoC是物联网设备、 健身产品、家居和楼宇自动化以及智能量表的低功耗蓝牙5网络的理想选择。
有关更多信息,敬请访问http://www.mouser.com/new/Silicon-Laboratories/efr32bg-blue-gecko/

贸泽电子拥有丰富的产品线与卓越的客服,通过提供采用先进技术的最新产品来满足设计工程师与采购人员的创新需求。我们库存有全球最广泛的最新半导体及电子元件,为客户的最新设计项目提供支持。Mouser网站Mouser.cn不仅有多种高级搜索工具可帮助用户快速了解产品库存情况,而且网站还在持续更新以不断优化用户体验。此外,Mouser网站还提供数据手册、供应商特定参考设计、应用笔记、技术设计信息和工程用工具等丰富的资料供用户参考。

关于贸泽电子 (Mouser Electronics)
贸泽电子隶属于伯克希尔哈撒韦集团 (Berkshire Hathaway) 公司旗下,是一家屡获殊荣的一流授权半导体和电子元器件分销商,专门致力于以最快的方式,向设计工程师和采购人员提供业界顶尖制造商的最新产品。作为一家全球分销商,我们的网站mouser.cn能够提供多语言和多货币交易支持,分销来自超过600家生产商的400多万种产品。我们通过遍布全球的22个客户支持中心为客户提供一流的服务,并通过位于美国德州达拉斯南部,拥有最先进技术的7万平方米仓库向全球170个国家/地区,超过55万家客户出货。更多信息,敬请访问:http://www.mouser.cn

关于Silicon Labs
Silicon Labs是物联网、互联网基础设施、工业自动化、消费类电子和汽 车等 市场领域的芯片、软件和系统解决方案领先提供商。 该公司旨在解决电子行业各项难题,在性能、节能、互联和简约设计等方面为客户带来显著优势。Silicon Labs拥有世界一流的、具有卓越软件和混合信号设计经验的工程团队,为设计人员提供把最初想法快速、简便地转化为最终产品所需的工具和技术。

围观 4