嵌入式系统

简介 

随着现代电子领域的不断发展,嵌入式系统变得越来越复杂。现如今,嵌入式系统在各 类应用中加入了大量传感器和元件,其中包括物联网(IoT)、可穿戴设备、医疗和数据中心等 应用。为了满足这些市场的需求,I2C 现在面临着其继任者 I3C®的挑战。在本篇博文中,我们将 探讨各类应用如何从 I3C 协议中受益,并介绍作为嵌入式系统解决方案而全新推出的 PIC18-Q20 单片机(MCU)。 

嵌入式系统迎来爆炸式增长与挑战 

在当今世界中,电子设备可谓无处不在,嵌入式系统也因此变得越来越复杂。为了增强 功能并收集有价值的数据,嵌入式系统配备了越来越多的传感器。从智能家居设备和可穿戴设 备到工业 IoT 解决方案和数据中心应用,传感器已然成为支柱一般的存在。 

传感器的数据传播带来了一系列挑战。传感器依赖不同的通信接口(如 UART、SPI 或 I2C),这可能会增加集成的复杂度。此外,随着传感器数量的增加,通信速度、电源效率和可 靠性也成为了至关重要的问题。 

I2C 协议使用起来相对简单,但也存在一定的局限性和挑战。一个明显的缺点是其数据吞 吐量有限,在传感器发送大量数据时会造成瓶颈。此外,在设计阶段需要单独处理各个器件, 这对于嵌入式设计工程师来说可能会很繁琐。此外,I2C 需要单独的引脚用于中断,这会增加接 口的复杂度。 I3C 的向后兼容性 在认识到 I2C 面临的挑战和问题之后,I3C 协议应需而生。I3C 向后兼容 I2C,因此可与现 有的 I2C 器件共存。

I3C 的这种向后兼容性

可帮助工程师和设计人员实现平滑切换,并且在处理 大量传感器数据方面尤为轻松。I3C 带来了更高的通信速率和更低的功耗,并且使用的接口引脚 数更少。

I3C 与 I2C 对比

I2C 与 I3C 之间的根本区别在于两者的性能。I2C 最高支持 1 Mbps 的数据传输速率,I3C 最 高支持 12.5 Mbps 的数据传输速率。数据吞吐率的显著提升使得 I3C 成为了注重快速数据交换的 应用的绝佳之选。 

全新推出集成 I3C 的 PIC18-Q20 MCU 

对于想要开发可靠且节能的嵌入式应用的设计工程师来说,PIC18-Q20 MCU 是一个极具 吸引力的解决方案。该 MCU 在片上集成了 I3C,以便设计工程师可以构建强大的连接并满足现 代嵌入式系统的要求。 通过集成 I3C 的 PIC18-Q20 MCU,设计工程师可以充分利用以下几个主要特性: 

1. 通用命令代码(CCC)——简化通信并促进设备间互操作性的标准化命令 

2. 热加入——消除设备加入或离开网络时的网络重启,增强系统的稳健性 

3. 带内中断(IBI)——支持实时通信和事件处理,确保在各种场景下平稳运行 

4. 最高支持 12.5 MHz 的时钟频率(与 I2C 相比提升显著),可实现高速数据交换 

5. 目标复位模式——根据需要帮助快速重新配置网络 

精简开发设计 

MPLAB® X 集成开发环境(IDE)和用户友好的 MPLAB 代码配置器(MCC)Melody 有助于 简化外设配置并针对具体应用定制功能,以便将创新的想法无缝转化为市场就绪的解决方案。 此外,还可以借助预制驱动程序和应用程序代码示例(可免费使用)简化基于 PIC18-Q20 MCU 的开发。 

着手开发 

立即使用 PIC18-Q20 Curiosity Nano 开发板开始评估 I3C。将该开发板与 MPLAB X IDE 和 MCC 配合使用可以简化设计流程,使您能够快速有效地将创新解决方案推向市场。

来源:Microchip微芯

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 12

人工智能(AI)和机器学习(ML)是使系统能够从数据中学习,进行推断并随着时间的推移提高其性能的关键技术。这些技术通常用于大型数据中心和功能强大的GPU,但是将它们部署在资源有限的设备(如微控制器MCU)上的需求越来越大。

在本博客中,Silicon Labs(亦称“芯科科技”)产品营销高级经理Gopinath Krishniah先生将带您探究MCU技术和AI/ML的交叉与汇合,以及它如何影响低功耗边缘设备的发展;同时将讨论在电池供电设备的MCU上运行AI的困难、创新和实际用例,并进一步介绍芯科科技专为边缘智能开发所提供全套MCU+AI/ML工具的解决方案。访问链接以获取完整内容:https://cn.silabs.com/blog/mcu-ai-ml-intelligence-and-embedded-systems 

AI/ML和MCU概述

人工智能创造的计算机系统可以完成类似人类的任务,比如理解语言、寻找模式和做决定。机器学习是人工智能的一个子集,涉及使用算法,让计算机从数据中学习,并随着时间的推移变得更好。机器学习模型可以找到模式,排序对象,并从示例中预测结果。

mcu在使AI和ML在边缘设备上成为可能方面发挥着重要作用。

基于MCU运行的边缘AI/ML用例包括:

  • 关键字识别:识别特定的单词或短语(例如,语音命令),而不需要云连接。

  • 传感器融合:结合来自多个传感器的数据,做出比单一传感器解决方案更明智的决策。

  • 异常检测:检测传感器数据中的异常值或异常模式,可能表明故障,错误或威胁,用于预测性维护或质量控制。

  • 目标检测:在摄像机或其他传感器捕获的图像或视频中识别和定位感兴趣的对象(例如,人脸、行人、车辆)。

  • 手势识别:在摄像机或其他传感器捕获的图像或视频中解释人类手势(如手部动作、面部表情、身体姿势),以改善人机交互。

AI/ML在MCU上的挑战

深度学习模型,特别是深度神经网络(DNN),已经成为计算机视觉和自然语言处理等复杂任务中不可或缺的一部分。然而,它们的计算需求是巨大的。这种资源密集型模型对于日常设备来说是不切实际的,尤其是那些由边缘设备中的低功耗MCU供电的设备。深度学习模型复杂性的增长是必然的,随着深度神经网络变得越来越复杂,它们的尺寸会膨胀,使它们与MCU上有限的可用计算资源不兼容。

什么是TinyML?

TinyML指的是为在资源受限的设备上部署而优化的机器学习模型和技术。这些设备在边缘运行,在那里生成数据,并在本地执行推理。TinyML系统通常运行在低功耗MCU上,对节点本地收集的数据执行推断。推理是人工智能模型的关键时刻,测试它在训练中所学知识的应用能力。本地推理使MCU能够直接执行AI模型,在不依赖外部服务器或云服务的情况下做出实时决策。

在AI/ML环境中,局部推理至关重要,原因如下:

  • 资源限制:许多嵌入式设备,特别是那些使用电池供电的设备,资源有限,例如内存、处理能力和能源效率。传统的通用微控制器由于其有限的处理能力和内存、有限的能源资源或缺乏片上加速而难以有效地执行人工智能任务。本地推理允许这些资源受限的设备在不消耗过多功率的情况下执行AI工作负载,以提高效率和性能。

  • 用户体验增强:考虑一个例子-支持人工智能的电子Cat Flap。通过训练它区分猫和其他物体,它可以只为被授权的猫开门。在这里,本地推理通过确保安全性和便利性来改善用户体验,而不需要诸如RFID项圈之类的额外硬件。

  • 效率和性能:GPU通常用于大规模人工智能部署,因为它们可以并行执行许多流程,这对于有效的人工智能训练至关重要。然而,对于小型嵌入式应用来说,GPU的成本很高,并且超出了功率预算。AI优化的MCU具有专门的架构,通过为AI工作负载提供更好的性能和功率效率来实现平衡。芯科科技提供的新型无线SoC和MCU中已包括一个矩阵矢量处理器,作为其AI/ML支持的一部分。这种专门的硬件加速器旨在增强AI/ML算法或矢量数学运算的性能,以缩短推理时间并以更低的功耗执行这些关键任务。

总之,边缘的本地推理可以实现实时决策,减少延迟,增强安全性,使电池供电的设备具有人工智能功能,并增强用户体验,使其成为现代计算系统的关键组成部分,同时满足资源限制。

芯科科技前沿的AI/ML解决方案

芯科科技作为智能、安全物联网无线连接领域的开拓者,正在致力于将AI/ML带到边缘。我们对创新的承诺导致了开创性的解决方案,它赋予资源受限的设备如MCU具备更丰富的智能功能。

针对TinyML进行优化的设备

EFR32xG24、EFR32xG28和EFR32xG26等无线MCU系列产品均结合了78 MHz的ARM-M33处理器、高性能无线电、精密模拟性能,以及一个AI/ML硬件加速器,给开发人员一个灵活的平台,用于部署边缘智能。同时,这些产品还支持广泛的物联网无线协议,提供最高的安全性与最佳的RF性能/能效比的组合。

现今的开发人员经常被迫为在边缘部署人工智能/ ML而付出许多精力。xG24、xG28和xG26使用专用的AI/ML加速器,可以大幅降低整体设计复杂性,助力开发人员更快实现产品原型。专门的硬件设计对于处理复杂的计算可提高8倍的推理速度,以及在能源效率上改进了6倍;这与基于固件和云计算的解决方案相比,可提供更高的性能和效益。硬件加速器的使用将从主应用程序MCU中触发的负担卸下了更多的时钟周期,从而服务您的应用程序。

简化AI/ML开发的工具

构建、测试和部署机器学习所需算法的工具与运行这些算法的MCU一样重要。通过与TensorFlow、SensiML和Edge Impulse等TinyML领域的领导者合作,芯科科技为初学者和专家提供了多种开发工具的选择。使用这个新的AI/ML工具链和芯科科技的Simplicity Studio开发环境,开发人员可以创建应用程序,从各种连接的设备中提取信息,以做出智能的机器学习驱动的决策。

芯科科技提供各种工具和资源来支持ML应用程序:

ML应用:开发平台支持TinyML模型推理,由TensorFlow Lite for Microcontrollers (TFLM)框架支持。存储库包含一组利用ML的嵌入式应用程序。

机器学习工具包(MLTK):这是一个带有命令行实用程序和脚本的Python包,可帮助为芯科科技的嵌入式平台开发机器学习模型。它包括从命令行界面或Python脚本执行机器学习操作的功能,确定机器学习模型在嵌入式平台上的执行效率,以及使用Google TensorFlow训练机器学习模型。

芯科科技还提供一个TinyML解决方案,作为机器学习工具包的一部分。该工具包包括TinyML基准测试使用的几个模型。这些模型可以在芯科科技GitHub上找到,包括异常检测、图像分类和关键字识别。

AI/ML驱动的边缘设备为我们与周围环境的互动开辟了新的视野,它们将很快以惊人的方式改变我们的生活。芯科科技处于TinyML创新的最前沿,使其能够将这些功能以前所未有的方式带入低功耗,连接的边缘设备。

了解更多关于我们的EFR和EFM MCU平台是如何针对边缘的AI/ML进行优化的,请访问产品页面:https://cn.silabs.com/applications/artificial-intelligence-machine-learning 

来源:SiliconLabs

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 12

德州仪器 (TI) 今日推出可扩展的 Arm® Cortex®-M0+ 微控制器 (MCU) 产品系列,进一步扩大德州仪器广泛的模拟和嵌入式处理半导体产品组合。该产品系列具有丰富的计算、引脚排列、存储器和集成模拟选项。

1.jpg

此次发布的数十款 MCU 由直观软件和设计工具提供支持,使得 MSPM0 MCU 产品系列可助力设计人员将更多时间用于创新,减少评估和编程时间,将设计时间从几个月缩短至几天。Arm® Cortex®-M0+ MCU 经济实惠、易于编程,可帮助简化电子设计。

为通用设计提供合适的处理和集成模拟功能

设计人员可以从 32MHz 到 80MHz 的各种计算选项中进行选择,这些选项具有数学加速和集成模拟信号链元件的多种配置,包括业内先进的 MCU 片上零漂移运算放大器以及 12 位、4MSPS 精密模数转换器。这种灵活性帮助设计人员实现他们当前的设计要求并规划其未来的设计,而且所有这些都是通过同一个 MCU 产品系列实现。

今年,德州仪器计划推出 100 多款 MCU,将 MSPM0 产品系列打造为业界品类齐全的 Arm® Cortex®-M0+ MCU 产品组合。

将设计时间从几个月缩短到几天,几分钟内即可开始操作

MSPM0 MCU 可以通过软件、设计支持资源和编码工具(包括简化设备配置的图形工具)帮助节省数月的设计时间设计人员仅编写一次代码,实现在未来基于 MSPM0 的设计中进行扩展。

设计人员可以使用 MSPM0 软件开发套件 (SDK) 提高系统性能和存储器利用率。该 SDK 提供了统一体验,其中包括各种驱动程序、库、200 多个简单易用的代码示例和子系统参考设计。

可扩展的处理产品系列,让嵌入式系统未来可期

新的 MCU 产品系列体现了德州仪器的承诺,即为设计人员提供更经济实用的嵌入式处理器,以应对任何设计挑战。德州仪器嵌入式处理器可帮助设计人员以智能、可靠和安全的方式连接和控制系统,同时降低成本和复杂性。

除了庞大的软件、工具和培训生态系统,所有模拟和嵌入式处理器件均由德州仪器的生产基地制造,可帮助满足客户未来几十年的需求。

包装和供货情况

MSPM0L 和 MSPM0G MCU 可通过 TI.com.cn 和授权分销商购买。这些 MCU 提供多种封装尺寸,包括 16 至 32 引脚封装选项和 8 kB 至 128 kB 闪存选项。TI.com.cn 上提供多种付款和物流选项。设计人员现在可以通过申请适用于 MSPM0L1306 和 MSPM0G3507 的 LaunchPad™ 开发套件开始原型设计。

如需获取更多在线技术支持,请访问 TI E2E™ 中文支持论坛 (e2echina.ti.com)。

来源:德州仪器

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 16

专注于引入新品并提供海量库存™的电子元器件分销商贸泽电子 (Mouser Electronics) 持续为嵌入式系统工程师提供一系列支持资源。作为Microchip Technology解决方案的全球授权分销商,贸泽备有其新一代MCU、混合信号、模拟和闪存IP解决方案,以降低各类应用的产品开发风险并加快上市。贸泽还为工程师提供了电子书等丰富的Microchip资源,为设计提供支持。

“贸泽推出各种Microchip创新MCU解决方案

电子书:贸泽和Microchip最近联手推出了《Effortless Embedded Solutions》(轻松设计嵌入式解决方案)电子书,书中提供了业界大咖就Microchip MCU如何简化设备设计的独特看法。此外,还通过信息丰富的视频和文章,解释了这些产品在测试医疗解决方案到部署物联网 (IoT) 设备等应用中发挥的重要作用。更多信息,敬请访问:https://www.mouser.com/newsroom/publicrelations-microchip-effortless-embedded-solutions-2022final/

新产品:Microchip PIC16F18015/25/44/45PIC16F18126/46系列MCU以较高的性价比提供传感器信号调理与实时控制功能。PIC16F18015/25/44/45 MCU拥有7 KB到14 KB的闪存、强大的控制和外围功能,高达32 MHz的速度,专门设计用于传感器应用。PIC16F18126/46 MCU拥有28KB程序闪存、12位差分ADCC、两个8位DAC、16位PWM外设和互补波形发生器。更多信息,敬请访问: https://www.mouser.com/newsroom/publicrelations-microchip-pic16f180xx-pic16f181x6-mcus-2022final/

新产品:AVR DD系列MCU采用AVR CPU,其中搭载了时钟速度高达24 MHz的硬件乘法器,是非常注重安全的工业和汽车应用的理想选择。此系列器件具有16/32/64 KB闪存、2/4/8 KB SRAM和256字节EEPROM的可选存储器。更多信息,敬请访问:

https://www.mouser.com/newsroom/microchip-avr-dd-mcus/

作为全球授权分销商,贸泽电子库存有极其丰富的半导体和电子元器件并支持随时发货™。贸泽旨在为客户供应全面认证的原厂产品,并提供全方位的制造商可追溯性。为帮助客户加速设计,贸泽网站提供了丰富的技术资源库,包括技术资源中心、产品数据手册、供应商特定参考设计、应用笔记、技术设计信息、设计工具以及其他有用的信息。

工程师还可以一键订阅免费的贸泽电子报,及时了解业界新品动态和资讯。在订阅贸泽的电子报时,我们可以根据您不断变化的具体项目需求来提供相关的新闻报道和参考信息。贸泽充分尊重用户的权利,让您能自由掌控想要接收的内容。欢迎登陆https://sub.info.mouser.com/subscriber-sc注册,及时掌握新兴技术、行业趋势及更多资讯。

关于贸泽电子 (Mouser Electronics)

贸泽电子隶属于伯克希尔哈撒韦集团 (Berkshire Hathaway) 公司旗下,是一家授权电子元器件分销商,专门致力于向设计工程师和采购人员提供各产品线制造商的新产品。作为一家全球分销商,我们的网站mouser.cn能够提供多语言和多货币交易支持,分销超过1200家品牌制造商的680多万种产品。我们通过遍布全球的27个客户支持中心,为客户提供无时差的本地化贴心服务,并支持使用当地货币结算。我们从占地9.3万平方米的全球配送中心,将产品运送至全球223个国家/地区、超过65万个顾客的手中。更多信息,敬请访问:https://www.mouser.cn/

围观 17

尽管许多嵌入式工程师充满了希望和梦想,但高可靠性的代码不是一蹴而就的。它是一个艰苦的过程,需要开发人员维护和管理系统的每个比特和字节。当一个应用程序被确认为“成功”的那一刻,通常会有一种如释重负的感觉,但仅仅因为软件在受控条件下的那一刻运行正常并不意味着明天或一年后还会运行正常。

从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式系统的技术有许多种。本文介绍了7个易操作且可以长久使用的技巧,它们对于确保系统更加可靠地运行并捕获异常行为大有帮助。

技巧#1——用已知值填充ROM

软件开发人员往往都是非常乐观的一群人,只要让他们的代码忠实地长时间地运行就可以了,仅此而已。微控制器跳出应用程序空间并在非预想的代码空间中执行这种情况似乎是相当少有的。然而,这种情况发生的机会并不比缓存溢出或错误指针失去引用少。它确实会发生!发生这种情况后的系统行为将是不确定的,因为默认情况下内存空间都是0xFF,或者由于内存区通常没有写过,其中的值可能只有上帝才知道。

不过有相当完备的linker或IDE技巧可以用来帮助识别这样的事件并从中恢复系统。技巧就是使用FILL命令对未用ROM填充已知的位模式。要填充未使用的内存,有很多不同的可能组合可以使用,但如果是想建立更加可靠的系统,最明显的选择是在这些位置放置ISR fault handler。如果系统出了某些差错,处理器开始执行程序空间以外的代码,就会触发ISR,并在决定校正行动之前提供储存处理器、寄存器和系统状态的机会。

技巧#2——检查应用程序的CRC

对嵌入式工程师来说一个很大的好处是,我们的IDE和工具链可以自动产生应用程序或内存空间校验和(Checksum),从而根据这个校验和验证应用程序是否完好。有趣的是,在许多这些案例中,只有在将程序代码加载到设备时,才会用到校验和。

然而,如果CRC或校验和保持在内存中,那么验证应用程序在启动时(或甚至对长时间运行的系统定期验证)是否仍然完好是确保意外之事不会发生的极好途径。现在一个编程过的应用程序发生改变的概率是很小的,但考虑每年交付的数十亿个微控制器以及可能恶劣的工作环境,应用程序崩溃的机会并不是零。更有可能的是,系统中的一个缺陷可能导致某一扇区发生闪存写入或闪存擦除,从而破坏应用程序的完整性。

技巧#3——在启动时执行RAM检查

为了建立一个更加可靠和扎实的系统,确保系统硬件正常工作非常重要。毕竟硬件会发生故障。(幸运的是软件永远不会发生故障,软件只会做代码要它做的事,不管是正确的还是错误的)。在启动时验证RAM的内部或外部没有问题,是确保硬件可以如预期般运作的一个好方法。

有许多不同的方法可用于执行RAM检查,但常用的方法是写入一个已知的模式,然后等上一小段时间再回读。结果应该是所读就是所写。真相是,在大多数情况下RAM检查是通过的,这也是我们想要的结果。但也有极小的可能性检查不通过,这时就为系统标示出硬件问题提供了极好的机会。

技巧#4——使用堆栈监视器

对许多的嵌入式开发者而言,堆栈似乎是一股相当神秘的力量。当奇怪的事情开始发生,工程师终于被难倒了,他们开始思考,也许堆栈中发生了什么事。结果是盲目地调整堆栈的大小和位置等等。但该错误往往是与堆栈无关的,但怎能如此确定?毕竟,有多少工程师真的实际执行过最坏情况下的堆栈大小分析?

堆栈大小是在编译时就静态分配好的,但堆栈是以动态的方式使用的。随着代码的执行,应用程序需要的变量、返回的地址和其它信息被不断存储在堆栈中。这种机制导致堆栈在其分配的内存中不断增长。然而,这种增长有时会超出编译时确定的容量极限,导致堆栈破坏相邻内存区域的数据。

绝对确保堆栈正常工作的一种方法是实现堆栈监视器,将它作为系统“保健”代码的一部分(有多少工程师会这样做?)。堆栈监视器会在堆栈和“其它”内存区域之间创建一个缓冲区域,并填充已知的位模式。然后监视器会不断的监视图案是否有任何变化。如果该位模式发生了改变,那就意味着堆栈增长得太大了,即将要把系统推向黑暗地狱!此时监视器可以记录事件的发生、系统状态以及任何其它有用的数据,供日后用于问题的诊断。

大多数实时操作系统(RTOS)或实现了内存保护单元(MPU)的微控制器系统中都提供有堆栈监视器。可怕的是,这些功能默认都是关闭状态,或者经常被开发人员有意关闭。在网络上快速搜寻一下可以发现,很多人建议关闭实时操作系统中的堆栈监视器以节省56字节的闪存空间。等等,这可是得不偿失的做法!

技巧#5 - 使用MPU

在过去,是很难在一个小而廉价的微控制器中找到内存保护单元(MPU)的,但这种情况已经开始改变。现在从高端到低端的微控制器都已经有MPU,而这些MPU为嵌入式软件开发人员提供了一个可以大幅提高其固件(firmware)鲁棒性(robustness)的机会。

MPU 已逐渐与操作系统耦合,以便建立内存空间,其中的处理都分开,或任务可执行其代码,而不用担心被stomped on。倘若真有事情发生,不受控制的处理会被取消,也会执行其他的保护措施。请留意带有这种组件的微控制器,如果有,请多加利用它的这种特性。

技巧#6 - 建立一个强大的看门狗系统

你经常会发现的一种总是最受喜爱的看门狗(watchdog)实现是,在看门狗被启用之处(这是一个很好的开始),但也是可以用周期性定时器将该看门狗清零之处;定时器的启用是完全与程序中出现的任何情况隔离的。使用看门狗的目的是协助确保如果出现错误,看门狗不会被清零,即当工作暂停,系统会被迫去执行硬件重设定(hardware reset),以便恢复。使用与系统活动独立的定时器可以让看门狗保持清零,即使系统已失效。

对应用任务如何整合到看门狗系统中,嵌入式开发人员需要仔细考虑和设计。例如,有种技术可能可以让每个在一定时期内运行的任务标示它们可以成功地完成其任 务。在此事件中,看门狗不被清零,强制被复位。还有一些比较先进的技术,像是使用外部看门狗处理器,它可用来监视主处理器如何表现,反之亦然。

对一个可靠的系统而言,建立一个强大的看门狗系统是很重要的。由于有太多的技术,难以在这几个段落中完全涵盖,但针对此一议题,笔者未来还会发表相关的文章。

技巧#7 - 避免易失存储器分配

不习惯在资源有限环境下工作的工程师,可能会试图使用其编程语言的特性,这种语言让他们可以使用易失存储器分配。毕竟,这是一种常在计算器系统中使用的技术,在计算器系统中,只有在有必要时,内存才会被分配。例如,以C开发时,工程师可能倾向于使用malloc来分配在堆(heap)上的空间。有一个操 作会执行,一旦完成,可以使用free将被分配的内存返回,以便堆的使用。

在资源受限的系统,这可 能是一场灾难!使用易失存储器分配的其中一个问题是,错误或不当的技术可能会导致内存泄漏或内存碎片。如果出现这些问题时,大多数的嵌入式系统并没有 资源或知识来监视堆或妥善地处理它。而当它们发生时,如果应用程序提出对空间的要求,但却没有所请求的空间可以使用,会发生什么事呢?

使用易失存储器分配所产生的问题是很复杂的,要妥善处理这些问题,可以说是一个噩梦!一种替代的方法是,直接以静态的方式,简化内存的分配。例如,只要在 程序中简单地建立一个大小为256字节长的缓冲区,而不是经由malloc请求这样大小的内存缓冲区。此一分配的内存可在整个应用程序的生命周期期 间保持,且不会有堆或内存碎片问题方面的顾虑。

结论

这些都只是一些可以让开发人员开始建立更可靠嵌入式系统的方法。另外还有很多其他技术,例如利用良好的编码标准、位翻转的监测、执行数组和指针边界检查,及使用断言等。所有这些技术都是让设计者可以开发出可靠性更高嵌入式系统的秘诀。

来源:网络转载

围观 73

来源:Silicon Labs

嵌入式开发工程师正面临着许多关于如何有效执行物联网安全措施的挑战,他们需要了解被保护的内容、威胁情况以及需要保护的特定攻击载体等复杂的工作。现今的物联网环境,保护嵌入式设备不再是选择性的,而是必须的。随着越来越多的产品连接起来,主要可感知的攻击源不只会来自互联网流量,整个嵌入式系统都可能受到持续和不同的威胁。

开发人员可以采用几种技术来简化保护系统的任务。Silicon Labs(亦称“芯科科技”)是ioXt联盟(ioXt Alliance)的创始成员之一。ioXt联盟是一个由行业主导的倡议,通过业内各个领域的合作伙伴协力创建物联网安全规范,并已经制訂了8项关键原则。

守则一:没有通用密码

通常,大批量生产的消费者设备都使用相同的默认密码。通常,用户希望快速部署他们的新设备,并未将默认密码更改为新的密码,因此,要让黑客更难进入或控制已部署的数百台设备,运送每台配备独特工厂编程密码的新设备只是简单的第一步。

守则二:安全接口

任何基于微控制器的设备都有多种接口和端口,可以在本地或远程访问。主应用程序将在操作和通信期间使用其中一些端口。但是,其他部分(特别是作为外部通信接口的部分)必须得到保护。同样,任何芯片对芯片的接口(例如,微控制器和显示控制器之间)必须是安全的。建议在使用过程中对所有接口进行加密和身份验证。

守则三:已验证的密码学

在一个充斥互操作技术的世界中,使用行业认可的、开放的和经过验证的加密标准是必不可少的。不建议使用封闭的、专有的加密算法,因为开放加密标准的使用将有助于鼓励所有开发人员、工程师和利益相关者的参与,以便他们能够持续评估针对新的安全威胁的潜在漏洞。

守则四:默认安全性

至关重要的是,当消费者购买新设备时,它已经被设置为尽可能高的安全级别。交付没有配置安全选项或配置安全选项最少的产品,很可能为攻击者抢占优势铺平道路。为用户提供的开箱即用安全体验应该要启用所有可行的安全措施。默认情况下,开发人员不应该让用户不受保护。

守则五:签署软件更新

随着越来越多的消费者智能家居设备能够通过OTA自动更新,设计者应该优先考虑的是每个更新都应该以加密方式签名。通过这种方式,黑客就无法试图用恶意代码更新设备。

守则六:自动应用软件更新

消费者不应该成为自己设备的管理员,来面对是否更新产品软件的选择。如果需要进行更新,则应该自动部署和实现更新。此外,更新应该在不影响设备运行的情况下进行。例如,智能连接的洗衣机在使用时不应更新。

守则七:漏洞报告方案

通常,遇到嵌入式智能家居设备问题的消费者不确定该联系谁。设备商提供漏洞报告方案将为客户提供一种回报途径,让他们报告问题,并传达他们对产品安全的担忧。

守则八:安全凭证到期日

与产品保修期一样,产品保修期在购买后有一个截止日期,安全更新可用的期间也应该定义并告知消费者,继续支持具有安全更新的产品涉及持续的工程成本,因此消费者在购买时需要能够做出知情的决定。制造商还可以选择延长保修期,以抵消正在进行的安全更新。

我们采用上述八大原则的方式及详细解释可以在Silicon Labs - IoT端点安全基础文档中找到:https://www.silabs.com/documents/public/user-guides/ug103-05-fundamental...

智能家居的安全

多亏了物联网,我们对自己家的控制已经远远超出了几年前的想象,而且这一趋势还在持续发展。这意味着,防范下一代网络罪犯将成为行业首要解决的挑战,为此,Silicon Labs提供业内先进的Secure Vault物联网安全解决方案,旨在帮助联网设备制造商克服不断演变的安全威胁,并保护未经授权的访问和保证芯片的真实性。通过OTA更新,Secure Vault可以在不大幅增加成本和设计复杂性的前提下,最大化加强产品安全并加速通过安全监管机构认证。

Secure Vault特色功能包括:

  • 为每个单独的芯片提供安全的设备身份证明(类似于出生证明):支持部署后安全性、真实性和基于认证站的健康检查,确保芯片在其生命周期内的真实性。
  • 先进的篡改检测:当设备经历意外的行为,如极端的电压、频率和温度变化,使开发人员能够设置适当的响应动作,以预防可能的漏洞。
  • 安全密钥管理和存储:通过加密和隔离密钥与应用程序代码,并使用物理不可克隆函数(PUF)硬件生成的主密钥加密密钥(KEK),防止对物联网设备及其数据的直接访问。

要了解更多关于网络威胁的演变以及设计人员如何应用的方案,请查看白皮书《为物联网的下一代网络攻击做准备》https://www.silabs.com/whitepapers/preparing-for-next-gen-cyber-attacks-...

围观 34

——与众多媒体及业内人士共同探讨汽车电子市场发展趋势

赛普拉斯半导体公司举办媒体交流会,并独家赞助了由TechSugar主办的SugarTalk第二期汽车电子论坛。赛普拉斯多位高管就全球汽车电子发展趋势与行业媒体进行了深入的剖析和充分的沟通,并介绍了赛普拉斯先进的汽车电子解决方案。赛普拉斯汽车事业部高级副总裁布施武司先生还在论坛现场发表了关于“创新浪潮中的汽车:变与不变”的主题演讲,表达了赛普拉斯深耕中国,全力助推中国汽车电子市场发展的决心。

赛普拉斯携先进汽车电子嵌入式系统解决方案,助力中国汽车创新
赛普拉斯汽车事业部高级副总裁布施武司在SugarTalk第二期汽车电子论坛上发表演讲

赛普拉斯认为,在智能化、网联化与电动化等技术趋势的推动下,汽车市场已进入颠覆式创新发展时代。车、城市基础设施、驾乘者,乃至各种相关服务都将实现不同级别的联网;集复杂信息显示与控制功能,以及人工智能技术于一身的人机界面也将取代现有的仪表与机械式交互方式;与驾驶安全密切相关的数据采集、记录、分析、学习、推理、预测技术发展迅猛,带动辅助驾驶和自动驾驶技术日臻完善。所有这些都将为包括汽车设计制造、驾乘体验、基础设施、汽车服务等在内的产业链各个环节带来翻天覆地的变化。

赛普拉斯携先进汽车电子嵌入式系统解决方案,助力中国汽车创新
赛普拉斯亚太区汽车产品总监文君培参加SugarTalk圆桌论坛

在Cypress3.0计划的推动下,刚刚结束的2018年第一季度中,赛普拉斯汽车电子业务取得了骄人的业绩。汽车电子营收占公司总营收的34%,同比增长15%。 在全球汽车市场中,赛普拉斯在汽车仪表盘MCU、Wi-Fi和蓝牙无线组合连接解决方案、触摸屏和触摸感应解决方案、用于高级驾驶辅助系统(ADAS)的NOR闪存等应用方面均处于市场领先地位。 赛普拉斯还是USB-C连接和快速充电解决方案的领导者,率先推出了汽车级USB-C产品。 丰富的汽车产品组合、零缺陷和提供世界一流服务的承诺,以及对于行业标准最严格的遵从,赋予赛普拉斯提供完整卓越的汽车电子解决方案的能力。

赛普拉斯全球应用及销售执行副总裁迈克•贝罗表示:“作为汽车电子供应商,赛普拉斯始终以客户为中心,致力于为客户提供优质的服务和长期的支持和供货能力。我们将汽车市场作为我们未来发展的一个关键增长动力,在包括中国在内的全球市场上,我们已经和多个顶级汽车公司及核心供应商建立了紧密的合作关系。我们愿意与中国的伙伴们分享我们对汽车市场发展趋势的看法,并为中国市场提供最先进的汽车产品组合,把豪华车用户体验引入普及车型,惠及普通大众,使之充分享受高端驾乘乐趣。”

赛普拉斯携先进汽车电子嵌入式系统解决方案,助力中国汽车创新
赛普拉斯全球应用及销售执行副总裁迈克•贝罗为到场媒体做演讲

长期以来,赛普拉斯一直致力于与全球顶尖的汽车厂商及供应商合作,开发领先的汽车系统,其中包括高级驾驶辅助系统 (ADAS)、3D图形显示、无线连接、全功能触摸屏和卓越的车身电子系统。赛普拉斯的汽车级产品组合包括:

  •   内置于汽车仪表盘和车身电子系统的Traveo™ 微控制器(MCU)
  •   用于通用控制和触摸感应功能的PSoC®MCU
  •   Wi-Fi®、Bluetooth®和组合无线连接解决方案,包括Real Simultaneous Dual Band(RSDB)技术,可以使车辆中的多个设备同时连接并传输不同内容
  •   用于移动设备连接和快速充电的USB、USB-C和USB PD解决方案
  •   用于触摸感应用户界面及液位感应的CapSense®电容式感应解决方案
  •   用于中控显示屏和后座显示屏的TrueTouch®触摸屏解决方案
  •   用于系统安全准入和个性化设置的指纹解决方案
  •   用于仪表盘、车载娱乐系统、ADAS和其他安全系统中数据存储的汽车级NOR闪存及 HyperBus™存储器
  •   用于事件数据记录仪中的Excelon™F-RAM™非易失性存储器
  •   用于安全电气操作的电源管理IC(PMIC)

围观 492

1 、电路设计原理

(1)电路板设计主要分为3个步骤:设计电路原理图、生成网络表、设计印制电路版。

(2) 网络表是电路原理设计和印制电路板设计中的一个桥梁,它是设计工具软件自动布线的灵魂。

(3)网络表的格式包括2部分:元器件声明和网络定义。(缺少任一部分都有可能在布线的时候出错)

(4) 电路原理图设计不仅是整个电路设计的第一步,也是电路设计的基础。包括以下的一些具体步骤:

A、建立元器件库中没有的库元件。
B、设置图纸属性。
C、放置元件。
D、原理图布线。
E、检查与校对。
F、电路分析与仿真。
G、生成网络表。
H、保存与输出。

2、 PCB 电路设计

(1)PCB 设计是电子产品物理结构设计的一部分,它的主要任务是根据电路的原理和所需元件的封装形式进行物理结构的布局和布线。

(2)PCB 设计包括下面一些具体步骤:

A、建立封装库中没有的封装。
B、规划电路板。
C、载入网络表和元件封装。
D、布置元件封装。
E、布线。
F、设计规则检查。
G、PCB 仿真分析。
H、存档输出。

3、多层 PCB 设计的注意事项

(1)高频信号线一定要短,不可以有尖角(90度直角),两根线之间的距离不宜平行、过近,否则可能会产生寄生电容。

(2)如果是两面板,一面的线布成横线,一面的线布成竖线,尽量不要布成斜线。

(3)一般来说,线宽一般为0.3mm,间隔也为0.3mm,这个长度约为8~10mil。但是对于电源线或者大电流线应该有足够宽度,一般需要60~80mil。焊盘一般为64mil。

(4)单面板的生产工艺都很差,因此,单面板的焊盘尽量做得大一些,线要尽量粗一些。

(5)铜膜线的地线应该在电路板的周边,同时将电路上可以利用的空间全部使用铜箔做地线,增强屏蔽能力,并且防止寄生电容。

(6)电路图上的地线表示电路中的零电位,并用作电路中其他各点的公共参考点,在实际电路中由于地线阻抗的存在,必然会带来共阻干扰,因此,在布线是,不能将具有地线符号的点随便连接在一起,这可能引起有害的耦合而影响电路的正常工作。

4 、PCB 设计中的可靠性知识

(1)地线设计:在电子设备中,接地是控制干扰的重要方法。

A、正确选择单点接地与多点接地。
a、在低频电路中(工作频率小于1MHz),采用一点接地。
b、在高频电路中(工作频率大于10MHz),采用就近多点接地。

B、将数字电路与模拟电路分开,两者地线不要相混。分别与电源端地线相连。

C、尽量加粗地线。若地线很细,接地电位则随电流的变化而变化,如有可能,接地线的宽度应大于3mm。

D、将接地线构成环路,可以明显提高抗噪声能力。

(2)电磁兼容性设计

A、选择合理的导线宽度。

a、瞬变电流在印制线条上所产生的冲击干扰主要是由印制导线的电感成分造成的。
b、时钟引线、行驱动器和总线驱动器的信号线常常载有大的瞬变电流,导线要尽可能短。
c、对于分立元件,导线宽度载1.5mm 左右可满足要求。
d、对于集成电路,导线宽度可在0.2mm~1mm 之间选择。

B、采用正确的布线策略:最好采用井字形网状布线结构。

a、PCB 的一面横向布线,另一面纵向布线,然后在交叉孔处用金属化孔相连。
b、尽量减少导线的不连续性,例如导线不要突变,拐角应大于90度。
c、尽量避免长距离的平行走线,尽可能拉开线与线之间的距离。
d、信号线与地线及电源线尽可能不交叉。
e、在一些对干扰十分敏感的信号线之间设置一根地线,可以有效抑制串扰。

C、抑制反射干扰。

(3)去耦电容配置。

配置去耦电容可以抑制因负载变化而产生的噪声,是印制电路板的可靠性设计的一种常规做法。

配置原则如下:

A、 电源输入端跨接一个10~100uF 的电解电容。
B、 为每个集成电路芯片配置一个0.01uF 的陶瓷电容。
C、 对于噪声能力弱、关断时电流变化大的器件和 ROM、RAM 等存储型器件,应在芯片的电源线和地线之间直接接入去耦电容。
D、去耦电容的引线不能过长,特别是高频旁路电容不能带引线。

(4) PCB 的尺寸与器件的布置。

A、相互有关的元件尽量放得靠近一些。
B、时钟发生器、晶振和 CPU 的时钟输入端易产生干扰,要相互靠近一些。
C、易产生噪声的元件、小电流电路、大电流电路等应尽量原理逻辑电路。

(5)散热设计。

5 、电子设计原理

(1) EDA 是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的 电子CAD通用软件包。利用 EDA 工具,电子工程师可以将电子产品的由电路设计、性能分析到 IC 设计图或 PCB 设计图整个过程在计算机上自动处理完成。

(2)“自顶向下”的设计方法。

先从系统设计入手,在顶层进行功能框图的划分和结构设计。在框图一级进行仿真和纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证,然后用综合优化工具生成具体的门电路网表,其对应的物理实现级可以是 PCB 或专用集成电路。

(3)VHDL 是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为3种描述形式的混合描述。

6、电子电路测试原理与方法

(1)故障检测:判断故障是否存在,即只判断有无故障。

(2)故障诊断(故障定位):不仅判断故障是否存在,而且指出故障位置。

(3)仿真:对设计过程中得到的电路参数验证其正确性。

(4)测试:判断产品是否合格。

(5)可测试设计的3个方面是:测试生成、测试验证、测试设计。

(6)JTAG 测试接口是 IC 芯片测试方法的标准。

7 、硬件抗干扰测试

(1)形成干扰的3个基本要素:干扰源、传播路径和敏感器件。

(2)干扰的耦合方式:干扰源产生的干扰信号要通过一定的耦合通道才对系统产生作用。

A、直接耦合:最有效的方式是加入去耦电容。
B、公共阻抗耦合。
C、电容耦合。
D、电磁感应耦合(磁场耦合)。
E、漏电耦合。

(3)抑制干扰源的技术:尽可能减小干扰源的 du/dt 和 di/dt,这是抗干扰设计中最优先考虑和最重要的原则。

A、 主要通过在干扰源两端并联电容来实现减小干扰源的 du/dt。
B、 主要通过在干扰源回路串联电感或电阻及增加续流二极管来实现 di/dt。

(4)切断干扰传播路径的技术

A、充分考虑电源对嵌入式系统的影响。例如给电源加滤波电路或稳压器。
B、若微处理器的 I/O 口接控制电机等噪声器件,应在 I/O 和噪声源之间加隔离。
C、晶振与微处理器的引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。
D、电路板合理分区,如强、弱信号,数字、模拟信号。
E、尽可能将干扰源与敏感元件远离。
F、用地线把数字区与模拟区隔离。
G、数字地与模拟地要分离,最后再一点接于电源地。
H、微处理器和大功率器件的地线要单独接地,以减小互相干扰。
I、大功率器件尽可能放在电路板边缘。

(5)提高敏感元件的抗干扰性能

A、布线时尽量减少回路环的面积,以降低感应噪声。
B、电源线和地线要尽量粗,除减小压降外,更重要的是降低耦合噪声。
C、微处理器闲置的 I/O 口不要悬空,要接地或接电源。
D、其他 IC 的闲置端在不改变系统逻辑的情况下接地或电源。
E、使用电源监控及看门狗电路,可大幅度提高整个电路的抗干扰性能。
F、在满足要求的前提下,尽量降低微处理器的晶振和选用低速数字电路。

转自: 沉舟侧畔

围观 390

页面

订阅 RSS - 嵌入式系统