嵌入式

PIC32CZ CA器件可配置度高,配备300 MHz Arm® Cortex®-M7处理器

随着安全威胁的不断演变和日趋复杂,工业和消费应用设计人员在开发过程中必须考虑在设备中实现安全功能。为了让设计人员能轻松地将安全功能集成到应用中,Microchip Technology Inc.(美国微芯科技公司)今日宣布推出全新 PIC32CZ CA 32单片机系列。该系列器件配备了300 MHz Arm Cortex-M7 处理器、集成硬件安全模块 HSM),支持多种连接和闪存选项,从而提高了灵活性。

1.jpg

PIC32CZ CA 新器件系列包括集成HSMPIC32CZ CA90或不集成HSMPIC32CZ CA80PIC32CZ CA90中的HSM是单片解决方案,可为工业和消费应用提供高级安全性。HSM作为安全子系统运行,板载独立MCU、运行固件和安全功能,包括硬件安全启动、密钥存储、加密加速、真正的随机数生成器等。

对于需要更高安全性的产品,PIC32CZ CA90提供工厂预配置功能,可为客户提供预配置好的器件以供部署。Microchip 的可信平台开发工具包是一种内部安全配置工具,可实现大规模或小批量生产的安全供应链渠道。

Microchip 32MCU业务部副总裁Rod Drake 表示:“PIC32CZ CA单片机使我们的客户更容易在设计中实现嵌入式安全功能。这些单片机用途极为广泛,可在小批量生产时进行工厂配置,还可进行连接和内存等其他定制配置,以满足各类不同要求。”

PIC32CZ CA单片机可通过多种连接选项进行配置,包括 USART/UARTI2CSPICAN FD、高速 USB 和千兆以太网。以太网连接包括音视频桥接(AVB)和基于 IEEE 1588 标准的精确时间协议(PTP)。

这些器件可通过 24 8 MB 板载闪存、1 MB SRAM 和纠错码(ECC)存储器进行扩展,以减少数据损坏。

PIC32CZ CA 器件是最新的 32 位单片机,进一步壮大了Microchip PIC32 SAM 系列产品阵容。该系列产品具备高性能、强大的功能和多种特性,可用于定制和创造创新产品。

开发工具

这些器件支持PIC32CZ CA90 Curiosity Ultra 开发板PIC32CZ CA80 Curiosity Ultra 开发板MPLAB® Harmony v3 可在设计阶段进行测试、编程和调试。

供货与定价

PIC32CZ CA80采用BGA 208封装,单片售价14.80美元,以10,000片为单位起售;PIC32CZ CA90采用BGA 208封装,单片售价15.54美元,以10,000片为单位起售。欲了解更多信息或购买,请联系 Microchip 销售代表、全球授权分销商或访问 Microchip 采购和客户服务网站www.microchipdirect.com

Microchip Technology Inc. 简介

Microchip Technology Inc.是致力于智能、互联和安全的嵌入式控制解决方案的领先供应商。其易于使用的开发工具和丰富的产品组合让客户能够创建最佳设计,从而在降低风险的同时减少系统总成本,缩短上市时间。Microchip的解决方案为工业、汽车、消费、航天和国防、通信以及计算市场中125千多家客户提供服务。Microchip总部位于美国亚利桑那州Chandler市,提供出色的技术支持、可靠的产品交付和卓越的质量。详情请访问公司网站www.microchip.com

围观 22

软件超时机制

1、背景

在嵌入式软件程序设计过程中中,经常会遇到超时(或定时)的处理情况,基本处理思想是在时间到的时候进行相关程序处理,下面介绍两种超时(或定时)的程序设计方案。

2、方案一

基本思想:定时器中断使用一个变量TICK,中断间隔时间t,在准备定时开始时读取此时刻的TICK,在程序运行过程中实时读取当前的TICK信息并计算即可。因此在时间计算时只需计算开始STARTTICK和结束ENDTICK即可完成时间计算。时间计算T=(ENDTICK-STARTTICK) * t;使用一个定时器中断每t时间处理一次中断,中断里面时间计数值s_u32TCNT++,如下图所示:

1.png

程序中定义一个结构体来保存超时开始和超时结束时间,结构体定义如下图所示:

2.png

在需要做定时超时处理的地方实时的获取当前s_u32TCNT并赋值给u32EndTimeTick,计算开始u32StartTimeTick和结束时u32EndTimeTick的时间差来判断时间是否到来即可,程序设计示意代码如下图所示:

3.png

3、方案二

基本思想:定义回调函数和回调注册函数,将定时/超时服务函数注册回调,每一次定时器中断执行一次回调,回调函数只需对计时时间TCNT做减1操作即可。

当TCNT为0时即定时/超时时间到,并置超时标志,应用程序只需判断标志即可明确定时/超时时间是否到来;回调函数和回调注册函数定义如下图所示,多个超时/定时回调函数可注册在回调函数数组中:

4.png

定时中断函数中进行遍历处理,定时中断函数处理示意代码如下图所示:

5.png

4、对比总结

方案一优点在于中断执行单元执行内容少,代码操作容易理解,缺点是应用中实时的进行计算开始和结束TICK差值,代码执行效率不高。方案二优点在于将超时函数注册在回调中即可,程序扩展性较好,不用做过多的数值计算,代码执行效率相对较高,缺点是定时中断中需要遍历所有已注册的对调,中断执行内容相对较多。

STM32程序超时设计

在程序设计中,出现以下类似语句,是非常不可靠的,很有必要加入超时处理!

while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));

以下在STM32的system_stm32f10x.c文件中,判断外部晶振起振的程序。可以参考,在以后的程序中借鉴。

#define HSE_STARTUP_TIMEOUT   ((uint16_t)0x0500) /*!< Time out for HSE start up */
/* Wait till HSE is ready and if Time out is reached exit */
do
{    
    HSEStatus = RCC->CR & RCC_CR_HSERDY;    
    StartUpCounter++;  
} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

I2C 读写EEPROM添加超时:

uint16_t i = 0x0fff;
while ((!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))&&i){i--;};

版权声明:本文为CSDN博主「share明」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_38767222/article/details/90374420

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

围观 192

ST开辟边缘AI专区,请点击访问 https://stm32ai.st.com/zh/ 

嵌入式AI无疑将是下一个“科技风口”。

随着企业的业务部署场景和数据产生正在向端侧、边缘侧“迁移”,嵌入式AI也迎来了快速发展的机遇期——将推理过程移到深度边缘计算会带来诸多优势,比如系统响应能力、用户隐私保护、降低连接成本和功耗。

作为该趋势的主要推动者,意法半导体已经在AI方面投入大量资源,旨在帮助开发人员在基于微控制器/微处理器(STM32系列)和传感器(MEMS、ToF…)的嵌入式系统上快速部署AI应用。

ST提供了一整套工具,在STM32 MCU、MPU和智能传感器上实现边缘AI,通过简单、快速、低成本的方式为许多解决方案带来智能化,例如:预测性维护、物联网产品、智能楼宇、资产跟踪、人数统计等等。

应用案例

通过嵌入式AI,轻松增强应用,开启全新应用可能性,解锁AI应用普惠之道。ST提供了丰富的应用案例,涵盖智慧城市、智能家居、娱乐、玩具、智能楼宇、交通运输、智能办公、工业、家电等各个领域。用户可以探索这些具有启发性的真实示例,利用ST的资源打造自己的应用。

1.png

▲ 点击图片,了解详情

产品与解决方案

意法半导体为用户提供多种面向STM32和智能传感器的AI解决方案,多种微型机器学习解决方案,用于将AI嵌入到微控制器、微处理器和智能传感器上。无论在机器学习上的专业水平如何,ST提供的广泛产品都能让用户找到适合的工具,满足任何边缘AI项目需求。

2.png

▲ 点击图片,了解详情

NanoEdge AI Studio是一款简单易用的桌面工具,可增添新的数据处理功能以增强产品。任何涉及异常值/异常检测、分类或使用回归技术预测未来状态的应用案例,都可以利用机器学习的强大功能。NEAI Studio可在数分钟内创建针对任何STM32进行了优化的定制库,用以分析信号,提升产品智能性。

利用NanoEdge AI Studio,用户可以轻松为嵌入式器件生成机器学习库,其中包含数以百万计的预构建模型。这意味着无需收集和记录大而复杂的数据集。用户的模型也可以在自己器件上进行自我训练。

STM32Cube.AI是一款免费工具,可帮助优化STM32项目中经过训练的AI模型的性能和内存占用。它支持TensorFlow™ Lite、Keras和ONNX格式。如果用户具备AI知识,STM32Cube.AI将自动优化经过训练的人工神经网络,并为STM32微控制器生成对应的C代码。

STM32Cube.AI开发者云平台

STM32Cube.AI开发者云平台是STM32Cube.AI的在线版本。它可用来创建、优化和生成适用于STM32微控制器的人工智能,以及进行基准测试。无需安装任何软件,也无需评估板。利用ST Board Farm,甚至能通过多个评估板远程测试算法的实际性能。

该工具有PC版,也可通过STM32Cube.AI开发者云直接在线使用。这款在线平台提供基准测试服务,可以远程评估一系列STM32板件上的AI性能。此外,还可以访问STM32 Model Zoo,其中汇集了大量经过优化的AI模型以及一些应用示例、训练脚本等。

对于使用STM32 MPU的开发人员而言,X-LINUX-AI是一个库和运行系统的集合,可简化基于OpenSTLinux的项目中经训练的AI模型的集成。ST针对使用OpenSTLinux的开发人员开发了一个完整的框架,让用户轻松集成AI模型。

ST提供多种微控制器、微处理器和智能传感器,用以开发优化了功耗、尺寸和成本的边缘AI应用。

3.png

▲ 点击图片,了解详情

丰富的资源

用户可以在此寻找了解嵌入式机器学习所需的一切资源,查找各解决方案有用内容的链接:NanoEdge AI Studio、STM32Cube.AI和X-LINUX-AI;查找集成具体示例的功能包,轻松启动项目。

4.png▲ 点击图片,了解详情

准备好了吗?速速登陆STM32 AI解决方案专区,找到最适合的工具,通过AI升级你的产品,让我们一起开启AI应用创新的崭新旅程!

来源:STM32

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

围观 74

近日,STM32峰会重磅回归科技之都深圳!

摘要

意法半导体微控制器及数字IC事业部总裁 Remi EL-OUAZZANE亲临STM32峰会主论坛,围绕STM32进行的关键创新和服务客户的解决方案,为峰会现场来宾和直播间观众带来极具创意和新意的主题演讲。

本期微信推文以系列文章形式记录2023 STM32峰会主论坛内容精要,含峰会主论坛总览,并同期推出以下更详尽的内容介绍:推荐阅读

▷  STM32峰会AI篇 | 边缘AI是AI未来的价值保障

▷  STM32峰会连接篇 | 相连入云去

▷  STM32峰会信息安全篇 | 在芯片上构建端侧安全

▷  STM32Cube生态篇 | STM32 = 23 More-Than-Silicon reasons to chose us

▷  STM32峰会垂直应用篇 | 以平台型设计软件破题垂直应用

未来互联世界将通过可连云的智能边缘应用落地在万物智联的世界,我们相信所有应用终端将变得更加自主,同时它们将被云化,越来越多地在本地创建和处理数据。换句话说,数十亿的物联网应用终端将变得更加安全、更易连接、更加智能,这是物联网发展的必然趋势。而STM32产品组合是这个趋势的关键推动者,是实现这一宏大愿景的平台。

1.jpg

2.jpg

今天的主题演讲,将向大家介绍我们最新的产品、解决方案和工具,这些产品、解决方案和工具将帮助您构建由数十亿的智能、可连接和安全可靠的多样应用组成的物联网世界。主题演讲共有七个章节:

3.jpg

4.jpg

5.jpg

6.jpg

7.jpg

8.png

边缘AI:ST在边缘人工智能领域投入已超过10年,不仅拥有STM32Cube.AI和NanoEdge™ AI Studio软件工具;还与NVIDIA合作,整合NIVIDIA TAO和STM32Cube.AI工具,让开发者STM32微控制器上无缝地训练和实现神经网络模型;同时,推出面向边缘AI应用的STM32N6,具有MPU级人工智能性能与MCU功耗和成本。

9.jpg

10.jpg

11.jpg

12.jpg

13.jpg

连接:无线连接已经无处不在,我们期望顺应行业趋势,“云化”STM32应用,预计未来5年实现无线应用规模翻番的市场目标。STM32WBA是刚刚上市的新一代2.4GHz产品系列,基于BLE5.3高安全低功耗蓝牙SoC,通过SESIP 3认证;STM32WL3是基于Cortex-M0+内核、支持多协议Sub-Ghz无线SoC,将于2023年第四季度开始量产;ST60是集成完整60GHz射频收发器的非接触式紧凑型解决方案,目标通过Xcode认证;在有线连接方面,STM32MP1x支持主流的工业控制总线协议EtherCAT。

14.jpg

15.jpg

16.jpg

17.jpg

信息安全:随着物联网中连接对象的激增,开发人员面临多种安全挑战及来自市场或各个政府的合规及认证需求。ST利用我们自身在安全领域的独特能力和安全资产,向开发者提供简化的安全开发流程,包括可扩展的解决方案、可用的认证及持续的安全解决方案支持。STM32Trust是我们提出的一揽子安全框架,含 12 项必要的安全功能,如安全启动、安全更新、机密隔离或代码的敏感部分、加密等;我们还通过与SESIP和PSA合作,简化应用认证。意法半导体与SESIP和PSA合作,将这些安全功能作为安全保障的关键基础。新推出的高性能产品系列STM32H5提供可扩展的安全、连接性能,开发者可以通过STM32H5独有的Secure Manager安全管理器,实现开箱即用的认证服务。

18.jpg

19.jpg

20.jpg

STM32Cube生态:我们为助力开发者释放创造力,推出STM32开发者优先计划,软件下载量和硬件发货量均大幅提升,通过国内社交平台和ST中国大学计划获得电子行业从业人员对STM32的认可;在官网为MCU和MPU用户设立STM32 开发者社区;不断迭代STM32Cube软件工具,增加软件开发新功能,优化用户体验,帮助用户实现快速移植;即将推出的STM32MP2新品不仅拥有满足严苛要求的工业级品质,还拥有卓越的边缘计算能力,STM32Cube所有软件均可支持STM32MP2的开发。

21.jpg

22.jpg

23.jpg

垂直应用:STM32 高效图形界面设计解决方案TouchGFX支持快速界面开发,从智能手表、智能家居到工业应用的人机交互界面,均可支持;STM32数字电源生态可帮助开发者简化数字电源开发,以STM32F3、G4和H7系列为硬件基础,为开发人员提供了一个可扩展的路径,通过数字电源例程库X-CUBE-DPOWER(SDK)和数字电源设计平台eDesignSuite 为无论是初学者还是数字电源专家提供完整的交钥匙解决方案;在电机控制领域,无刷直流和永磁同步电机零速、无传感矢量控制是痛点,我们为开发者带来STM32 ZeST®(Zero Speed Full Torque,零速全扭矩)解决方案,不需要额外的组件,不仅降低BOM成本,还提高了PCB的可靠性。

24.jpg

STM32质量和可靠性贯彻产品设计全流程,从模拟仿真、数字和混合信号的验证,到原型和硅片上的应用案例系统验证,再到全范围的温度和电压压力测试,然后是基于大数量级样品的电特性参数标定,最后是苛刻的质量验收标准。

25.png

我们拥有训练有素的验证团队,还有STM32可靠性实验室支持优化测试;如果真的出现产品质量问题,STM32故障分析团队将采用严格的流程来确定分析原因,并向客户提供全面反馈。

我们还会对STM32 芯片设计进行横向比较,通过对STM32产品与替代品进行基准测试,评估设计领域的效率/稳健性和技术成本;同时,会对STM32仿品及替代品进行质量和可靠性横向分析,规避这些产品的弱点或硬伤,以保证我们的产品质量和可靠性达到世界级标准。

26.jpg

27.png

STM32制造产能:构建充足且灵活的STM32 生产制造产能为了满足对ST所有产品的长期增长需求,我们正大幅提升300毫米晶圆产能,法国的Crolles晶圆厂和意大利Agrate的300毫米晶圆厂都在升级扩产,预计2025年前产能提升一倍。

28.png

除了意法半导体的内部产能增长计划外,我们也在寻求更多的外部代工产能支持,与我们的代工工厂紧密合作,强化我们在90纳米和40纳米节点的工艺技术能力。

对STM32微控制器和微处理器来说,多数新产品系列将采用90纳米和40纳米节点工艺技术,涵盖超低功耗、主流、高性能、无线MCU以及MPU。从而提升STM32未来十年的供应链弹性。

29.png

共同加速可持续发展步伐30多年来,可持续发展一直铭刻在我们的商业模式和文化中。自1993年制定第一版环境政策,1997年发布第一版环境报告,我们持续公开报告我们在可持续发展方面的目标、行动和成就已有26年。

我们通过打造可持续的技术,通过可持续的方式,构建可持续的公司来实现意法半导体在可持续发展的公开承诺和长期目标。

结语Closing

30.jpg

STM32 = 23 More-Than-Silicon reasons to choose us

31.png

我们一以贯之地围绕STM32进行全方位投入,以确保为您提供的支持远远不止于芯。我们希望通过边缘人工智能、有线和无线连接解决方案以及适合初学者或专家的可扩展的信息安全功能来构建下一代智联安全的嵌入式应用产品。我们正在持续完善和拓宽开发者生态系统,提供更多更便捷的开发工具和垂直应用类开发平台,帮助开发者简化开发流程、加速开发速度。我们不懈追求从设计到制造的卓越品质,确保我们的产品达到你所需的可靠性。我们努力提升产能和供应链弹性,以确保能够支持您的长期增长。我们更希望与您达成清晰的共识,STM32为你提供的远远不止于芯。

来源:STM32

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

围观 77

随着智能工作和智能生活方式在全世界的不断发展,深度嵌入式设备在这些领域的部署量已达数十亿。这些设备包括环境传感器、工业执行器、楼宇自动化、智能家电、可穿戴设备、电动汽车控制等,尤其是安装在远端、难于检修位置的设备。

1.jpg

许多应用都需要更多的功能、更丰富的图显和更快的性能,同时要求续航时间更长、电池更小,有能量收集功能,这给作为系统控制中心的MCU产品带来了新挑战。

STM32U599/U5A9 微控制器为深度嵌入式应用赋能

为满足市场的需求,意法半导体STM32 微控制器(MCU)产品家族再扩阵容,推出新款STM32U5芯片,在降低功耗的同时提高了性能,并延长了续航时间,提升了能效。STM32U5系列新品STM32U599/U5A9 微控制器已获得NIST嵌入式随机数熵源认证,是业界首款获此认证的通用MCU。凭借增强的功能,STM32U599/U5A9 微控制器能够有效为深度嵌入式应用赋能,通过提升这些应用的性能、能效和网络安全性,加快推进深度嵌入式设备的部署。

2.png

STM32U5系列采用Arm最新一代嵌入式处理器内核Cortex-M33,该内核采用了可提升性能、能效、网络和硬件攻击防御能力的先进技术。意法半导体围绕这个处理器核将ST的超低功耗 MCU 专业技术整合进来,并利用Arm现有方法实现了一个网络安全性极高的架构。该系列中的部分产品还提供 2.5D 图形加速器。因此,这一新系列产品极具开创性,全系产品都引脚对引脚兼容,软件兼容,可以直接用于设计下一代应用。

强大的图形处理功能

STM32U5系列打破了超低功耗 MCU图形处理性能的常规限制。意法半导体的先进微控制器集成NeoChrom图形处理单元(GPU),可以运行以前只有昂贵的基于微处理器的系统才能实现的复杂的图形用户界面(GUI)。现在,即使微型嵌入式处理器也能实现媲美智能手机的图显体验,开发者可以利用ST的TouchGFX框架开发GUI,该框架现在支持 SVG并具有丰富的图形资产。

3.png

STM32U599/U5A9是首批嵌入ST先进的NeoChrom图形处理单元(GPU)的STM32系列产品,由NeoChrom GPU承担图形处理类计算,可增加每秒帧数,使得在MCU上能够运行复杂的UI。这个2.5D图形加速器可以帮助开发人员轻松增强GUI中的功能:简单和复杂的绘图、2D文本复制、alpha混合、颜色格式转换、缩放、旋转、透视正确的纹理映射(将2D纹理映射到3D表面)、图像格式压缩等。

增强的网络安全特性

STM32U5 系列还增强了网络安全性,采用带有内存保护单元的 Cortex-M33 和具有硬件隔离功能的 Arm TrustZone® 架构。该系列微控制器还集成了运行高级 AES 算法的加密加速器(AES, PKA和OTFDEC)、公钥架构 (PKA) 支持,以及物理攻击防御功能。此外,闪存和 SRAM 支持纠错码 (ECC),可防止数据损坏,增强网络保护和数据安全性。

更大的存储容量

这款STM32U5 系列将代码和数据存储容量扩展到128Kbyte闪存,适合成本敏感型应用,同时还针对复杂应用和类似智能手机的复杂用户界面增加了高容量版。集成4Mbyte闪存和2.5Mbyte SRAM的 STM32U59x/5Ax是迄今为止STM32 MCU全系产品中片上存储器容量最大的产品。

超低功耗实现更优能效

STM32U5系列的专有节能特性包括自主外设和意法半导体的低功耗后台自主模式(LPBAM)。LPBAM模式可以让应用程序的关键功能保持正常运行的同时,关闭处理器内核和其他未用模块,进入 MCU中的任何一个灵活省电的低功耗模式。MCU可以把内核从低功耗状态快速唤醒,高效处理批量数据,然后再切回到低功耗模式。

低成本、小尺寸

STM32U5 MCU 提供高达 4MB 的代码闪存和数据闪存,以及高达 2.5MB 的 SRAM,用于处理复杂的应用需求。大容量片上存储器可以在应用设计中省去额外的外部存储器,降低功耗、物料成本 (BOM) 成本和 PCB 尺寸。

此外,STM32U5 MCU通过多种100-216引脚封装(LQFP 100, LQFP 144, BGA144等)满足小型应用需求。采用经济的LQFP100封装,可以安装在层数不多的结构简单的PCB上,而支持这些复杂功能的处理器通常都需要更昂贵的封装。

强大的生态系统支持

全系STM32 MCU都基于行业标准的Arm® Cortex®-M 嵌入式处理器内核,并配备功能强大易用的 STM32CubeSTM32Cube.AI开发生态系统。该生态系统整合软硬件开发工具,从项目开始到结束全程支持客户开发工作,包括将提前训练好的神经网络转换为优化的代码,以创建前沿的 AI/ML 解决方案。

STM32丰富的资源可以帮助开发人员加快项目开发,包括STM32CubeU5软件包、新的开发板 NUCLEO-U545RE和 NUCLEO-U5A5ZJ,以及于图形界面的STM32U5A9J-DK 探索套件。除此之外,STM32U5是第一批获得NIST(美国国家标准与技术研究院)嵌入式随机数熵源认证的通用MCU。客户可以重复使用该证书,因此可简化并加速终端应用的SP800-90B认证过程。典型的应用场景包括:工业领域的先进人机界面、销售点(POS)、网关;智能家居领域如家用电器、白色家电、智能恒温器;个人电子产品如小型电动车、可穿戴设备、智能扬声器和电动自行车。

STM32U599/U5A9 新品得到新品试用客户的积极反馈,在下一代高级无线安全和智能家居解决方案的开发中,STM32U5 系列显著降低了功耗,同时保持了原有的处理性能,可媲美其他内置DSP和浮点协处理器MCU;其现有代码的90%都可以二次使用;片上集成大容量SRAM是第二大优势,足以处理双帧缓冲需求,实现快速流畅的图显性能;大容量闪存还可以用于保存资源。

新STM32U5系列计划于 2023 年第二季度开始量产,客户可从意法半导体的eStore和代理商处购买。详情请访问STM32U599/U5A9网页。

来源:STM32

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

围观 115

大家是不是经常听到这几个词:嵌入式、单片机、STM32。你知道他们之间的关系吗?今天就来科普一下他们的基础概念和关系~

嵌入式

“嵌入式”的官方定义是用于控制、监视或者辅助操作机器和设备的装置。
专业的名词或许有点晦涩难懂,我们举个例子:

  • 个人通信和娱乐系统:手机、数码相机、音乐播放器、可穿戴电子设备、PSP 游戏机

  • 家电:数字电视、扫地机、智能家电

  • 办公自动化:打印机、复印机、传真机

  • 医疗电子产品:生化分析仪、血液分析仪、CT

  • 网络通讯产品:通讯类交换设备、网络设备(交换机、路由器、网络安全)

  • 汽车电子产品:发动机控制、安全系统、汽车导航和娱乐系统

  • 工控产品:工控机、交互终端(POS、ATM)、安防监控、数据采集传输、仪器仪表

  • 军用和航空产品:无人机、雷达、作战机器人上述所有领域都使用嵌入式系统。这只是冰山一角。

所以,通俗点来说,就是在其它电子产品设备中,加入(嵌入)一个小小的"计算机"。这个小小的"计算机",就是嵌入式系统。

通常我们会要求这个小小"计算机",体积小、功耗低、成本低、实时性强、可靠性高。这是个小小的"专用"的"计算机",不追求最高性能,适用就行。

麻雀虽小,五脏俱全,要求还很高!会飞!

所以,搞嵌入式系统,即要懂硬件,也要懂软件,还要懂通信。是电子、通信、计算机的融合。

以后要求更多,主要是人工智能方面的,叫边缘计算。

单片机

上面我们说到嵌入式是一个专用计算机系统,那么系统就应该有硬件和软件,单片机就是硬件部分。在很久以前的技术不发达,没有办法把所有功能做到一个芯片里,只能把功能放到一个个片机里面,这就是单片机。

1.jpg

省流版:单片机就是一个微型电脑,它是靠程序工作的,并且可以修改。通过不同的程序实现不同的功能。

我们常说的51单片机其实是一个系列,51单片机,兼容Intel 8031指令系统。他们的来源就是英特尔(Intel) 8004单片机,51单片机靠着库存基础和大众基础,一直占领着主流市场,但是毕竟这是比较老的技术,现在使用的人已经大幅度减少了,不过因为他的价格便宜,所以在一些低端产品上还在使用。

STM32

最后就是STM32,其实STM32也是单片机的一种,只不过属于进阶版,51单片机是8位的,STM32单片机是基于ARM Cortex M 处理器内核的 32位闪存微控制器,ST厂商提供了非常丰富的函数库,所以工程师在编写程序的时候可以直接调取对应功能的函数,特别方便。51单片机的运行速度慢,显然已经跟不上现在的产品的要求,所以现在比较智能的电子产品都选用运行速度更快的STM32,并且STM32的内部资源更多,接近于计算机的CPU,所以在程序编写上有更多的选择。

2.jpg

经过讲解,你明白嵌入式,单片机和STM32的关系了吗?至于在就业层面需要如何选择,还是要看各位小伙伴自己的个人偏好啦!

本文来源:网络转载、华清远见,

转载此文目的在于传递更多信息,版权归原作者所有。

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

围观 160

嵌入式设备在运行中需要设置参数,这个工作经常由PC机来实现,需要为双方通信设计协议,有代表性协议是如下三种:

“几种常见嵌入式设备通信协议"

从上表可以看到,一般嵌入式设备内存和运算性能都有限,因此,固定二进制是首选通信协议。

一. 简单性

保证协议是一个简单的方案,晦涩难懂往往意味着实现困难和容易出错。协议的结构宜采用平面方式,每个域作用明确,数据域尽可能设计得长度和位置固定,注释详尽,文档清晰,实例丰富,让人尽快上手和理解。

协议一般都需要以下域:帧头,长度,帧类型,目标地址,源地址,数据,校验,帧尾。

二. 可扩展

必须保证将来增加功能和更改硬件后协议仍能胜任工作,这往往是通过预留空间来实现,协议的变更应该只是量的增加,不至于引起协议结构的变化。

三. 低耦合

理想情况下每个协议包是原子信息,即本协议包不与其他协议包牵连,以防止通讯丢帧和设置牵连带来的错误。

四. 稳定性

协议包长度适宜:太小包含的信息过少,协议包的种类繁多,容易引起通讯混乱和牵连错误;太大包含的信息过多,可读性较差,组帧和解帧的工作困难,还会带来通讯易受干扰的缺陷,一般协议长度以最小原子性信息为标尺。

协议必须包括校验机制,以便于接收方判别协议包正确完整接收,如果出错需要较好的机制来确保通讯成功(如重传)。

五. 高效率

按信息类型区分协议包类别,如:设置网络信息参数,设置当前运行参数,可以区分开来,方便程序处理。

将同种操作编码为一个子集是一种高效手段,如Read操作,编码为0x0010,Write操作,编码为0x0020。

数据尽可能设计成同构模式,如果实在有差异,至少将同类型数据放置在一起,这样程序可以充分利用指针和线性寻址加速处理。

六. 易实现

尽量减少复杂算法的使用,如,通讯链路稳定,数据帧的校验码可以由CheckSum代替CRC。除非资源非常紧张,否则不要将过多的信息挤压在一个数据里,因为它会带来可读性差和实现困难。

七、软件开发

尽可能地让硬件ISR完成驱动工作,不要让“进程”参与复杂的时序逻辑,否则处理器将步履蹒跚且逻辑复杂!如:

接收固定长度的数据帧,可以使用DMA,每接收完一帧DMA_ISR向进程发消息。小心处理DMA断层异常(接收的数据帧长度正常但数据错误,数据为上帧的后半部分+本帧的前半部分)。

接收不定长的数据帧,可以使用状态机,当接收到“帧尾数据”时向进程发消息。小心数据紊乱和超时异常(数据紊乱时需要将状态机及时复位,超时一般使用定时器监控)。

八、考虑硬件

如果通信链路是高速总线(如SPORT可达100Mbps),一般设计成一帧产生一次中断,它通过长度触发的DMA来实现,需要将协议设计成固定长度,如附录A。它具备高效率,但灵活性较差。

如果通信链路是低速总线(如UART一般100kbps),一般接收一字节产生一次中断,可以将协议设计成变长帧,如附录B。它具备高灵活性,但效率较低。

“几种常见嵌入式设备通信协议"

上图显示了PC发送数据帧的格式,总长为64字节,是4字节的整倍数,符合绝大部分32位处理器结构体对齐的特性。

  • 0x3C:INT8U,帧头,可见字符’<’

  • Len:INT8U,本帧的总数据长度,在图4即为64

  • Dst:INT8U,标识目标设备的ID号

  • Src:INT8U,标识源设备的ID号

  • Data:56字节的存储区,内容依赖于具体的通信帧(实例见表2)

  • Cmd:INT16U,数据帧的类别

  • CS:INT8U, 对它前面所有数据(62字节)进行8位累加和校验

  • 0x7D:INT8U, 帧尾,可见字符’}’

Data域数据结构实例:

“几种常见嵌入式设备通信协议"

一个基于变长格式的UART通信协议实例:

“几种常见嵌入式设备通信协议"

PC与iWL880A(一种无线通信产品,详见www.rimelink.com)通信帧采用变长格式,如下图所示。大部分设备(常见为PC机)对于接收以“回车符”的机制很好处理,协议中的Tail就等于0x0D(换行符)。

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

围观 123

参考地址:
https://www.designnews.com/design-software/5-best-practices-utilizing-open-source-software

嵌入式软件开发,现在相比以前方便多了,当你要实现一个项目需求,勤快一点基本上在网络上都能找到对应的资料,自己拿来修修改改也基本上能够实现大体的功能。

这或许就是开源的力量能够帮助很多开发者快速的进行现有软件资源的整合而为之所用,但这些软件和资源也存在优劣,一方面就是有开发者足够的能力把握这些软件,另一方面就是选择更加靠谱的开源组件来使用。

英文文章中描述了5点关于嵌入式开源软件的使用建议,这几点我相信是大部分嵌入式开发者都要考虑的,这里分享给大家:

正文(译文):

开源软件无处不在,有潜力帮助企业加快开发和提高软件质量。但如果不谨慎行事,它们可能是一个挑战。

下面是五个成功利用开源软件的最佳实践。

1、使用抽象层解决依赖关系

笔者审阅代码库时发现的一个常见问题是,开发人员将应用程序代码与使用的软件库紧耦合。

例如,如果一个开发人员正在使用FreeRTOS,那么应用程序代码调用特定于FreeRTOS API的方法是,如果开发人员决定更改RTOS,则必须重写大量代码来替换所有这些RTOS调用。

你可能会认为更改库是很少见的,但你会惊讶,经常是团队开始使用某个操作系统、库或组件后,而当他们决定需要进行更改时,却不得不返回并重写代码。

当团队选择一个开源组件,甚至是商业组件时,他们应该做的第一件事就是创建一个与该组件交互的抽象层。以RTOS为例,一个团队应该使用OS抽象层OSAL(它允许他们使用独立于OS的API编写应用程序代码)。

如果操作系统发生变化,应用程序不会在意,因为它正在访问一个抽象层,软件更改可能只需要几分钟而不是几天。

2、尽可能利用集成软件

大多数开源软件都是在自己的沙盒中编写的,而没有考虑到它可能需要与之交互的其他组件。组件通常使用不同的编码标准、样式、测试程度等编写。

当你开始将多个设计为不能相互协作的开源组件组合在一起时,可能会导致长时间的调试、头疼和错过最后期限。所以,尽可能选择已经集成并测试在一起的组件。

一个很好的例子是使用Amazon FreeRTOS连接AWS。FreeRTOS已经与连接到云所需的附加连接库进行了集成和测试,因此不要选择其他库,除非它也经过测试和集成。另一个例子是许多微控制器制造商生产的代码生成器工具。

这些工具通常已经集成了驱动程序软件组件、RTOS、文件系统、USB和其他一些组件。它们已经被证明可以协同工作,可以节省时间和金钱。

3、软件审核与质量分析

有很多优秀的开源软件,也有很多不太好的软件。在开发人员决定在项目中使用开源组件之前,他们需要确保他对软件进行尽职调查,或者雇佣别人做这件事。这包括花时间审核组件并执行质量分析。

在开始使用开源组件时,至少应检查源代码的以下方面:使用圈复杂度度量的复杂性、从功能上确保其满足业务需求和目标、遵守最佳实践和编码标准(根据需要)、处理错误的能力、可测试性。

这至少可以帮助开发人员了解他们正在使用什么,以及潜在的问题和陷阱。

4、从活跃设计中选择软件

通过快速的网络搜索或浏览github来找到解决问题的软件组件总是很诱人的。在选择一个开源组件时,确保其有一个活跃的社区是非常重要的。

这包括,在论坛上提问会得到快速的响应,新版本会定期发布,软件也会随着新功能的增加而不断改进。

选择一个不活跃的社区的组件会导致开发人员被迫自己解决问题,或者更糟的是,不得不维护组件。

5、由律师审查许可证

开源软件许可可能很复杂。有十几种不同的许可方案,对用户提出了不同的要求。

在某些情况下,开发人员可以使用他们认为合适的开源软件。在其他一些情况下,可以使用该软件,但任何其他软件也必须是开源的。

虽然这些许可证在最近几年变得更加容易理解,但是产品开发人员正在经营一项业务,因此有必要聘请一名律师来审查软件许可。

这是一项额外的开支,但这是成本的一部分,从长远来看可以节省开支。

6、最后

适当地利用开源软件可以使开发团队受益匪浅。然而,为了成功,开发人员需要确保明智地选择开源组件。这包括抽象出组件,以确保其应用程序保持灵活性和可维护性。

还需要仔细检查开源软件,以确保满足质量和一般要求。

遵循这些最佳实践可以帮助团队避免陷入导致产品延迟、解决方案架构不良的解决方案、质量问题以及产品开发过程中经常出现的许多其他问题的泥潭。

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

围观 36

本文将介绍如何拆焊Flash芯片,设计及制作相应的分线板。了解对嵌入式设备的非易失性存储的简单有效攻击手段。这些攻击包括:

  • 读取存储芯片内容

  • 修改芯片内容

  • 监视对存储芯片的读取操作并远程修改(中间人攻击)

想想,当你拆开一个嵌入式产品,却被挡在Flash之外,好奇的你一定想对它一探究竟。

那么,下面我们就开始。

拆焊Flash芯片

为了读取Flash芯片的内容,有以下两个基本途径:

  • 直接将导线连接到 芯片的引脚

  • 把芯片拆下来,插到另一块板子上

下面介绍的Flash为BGA(球形栅格阵列)封装——无外露引脚。因此,只能选择拆焊的方法。

“图:目标芯片"
图:目标芯片

拆焊法的优点:

  • 可避免对电路板上其他器件造成影响;

  • 可以很容易看到芯片底部的布线;

  • 可用其他芯片或微控制器代替原芯片。

一些不便之处:

  • 电路在缺少完整器件的情况下无法运行;

  • 在拆卸过程中,一些邻近器件可能被损坏;

  • 如果操作不恰当,Flash本身可能毁坏。

OK,拆焊是吧?你看,下图所示的热风枪简直就是神器。只要将芯片周围加热,便可以很容易地拿下芯片:

“图:热风枪拆焊"
图:热风枪拆焊

这种办法简单、快速只是可能伤及无辜——焊掉邻近的元件,所以,务必小心翼翼。

下图显示芯片拆下后PCB的布线。观察图片,猜想底部的两列引脚为空引脚,因为他们压根就没接入电路。

“图:拆焊下来后"
图:拆焊下来后

用KiCAD定制分线板

现在该做什么?BGA封装简直就是一团糟,依然无法外接导线。

一种可行的方法是制作分线板。通常,分线板是将芯片的所有针脚的位置“镜像”下来,这样就能将芯片的引脚引接出来。

为此,我们首先要搜集芯片的相关信息。大多数情况下,芯片的型号都印制在芯片上,这样我们就很容易识别。如上图,芯片上第一行为MXIC代表Macronix International公司,第二行为芯片的具体型号MX25L3255EXCI datasheet 。以下为datasheet资料:

“图:针脚排布"
图:针脚排布

 PCB的设计可由KiCAD ,常用的EDA软件实现。

    分线板的设计过程与其他PCB板一样:

  • 新建电路板,画出电路简图,标明元器件的具体型号

  • 确定芯片的具体尺寸

根据之前datasheet的资料。我们添加1个4×6的网格作为整个芯片的BGA封装,2个1×4的网格作为连接芯片8个有效引脚的接线柱。最后一步是,用线路将这些器件连接起来:

“图:step2"
图:step2

转接板的设计到此为止,接下来是如何把设计转化成的PCB。

PCB制作

PCB就像是由两层铜和一层基板压制成的三明治,导线分布在铜上面。

根据制作流程,分为:

  • 蚀刻法

  • 数控铣法

以下为两种方法的具体步骤。

蚀刻法

蚀刻,即是用化学药品逐步除去铜的过程。我们先用油墨保护覆铜板上的线路及要保留下来的铜。

1、首先,用热转印法制作PCB。PCB电路图用激光打印机打印在亮光纸上。然后,把亮光纸紧贴在覆铜板上,加热和施以压力,使亮光纸上的电路图转印到覆铜板上。通常,这个过程用熨衣服的熨斗即可完成,但是专用的压制器会使加热及受力更加均匀,更容易成功。

2、接下来是蚀刻,将整块PCB板浸没在腐蚀液,以此来去除多余的铜。

蚀刻后的分线板,转印的墨粉还附着在上面:

“图:step3"
图:step3

除去墨粉后:

“图:step4"
图:step4

现在可以准备手工焊接了。微型焊接与正常焊接一样,只是器件的尺寸极小,因此需要借助显微镜。

此外,传统的焊接用的是线状的焊锡丝,而BGA微型焊接用的是锡球。

“图:step5"
图:step5

接下来,开始重整锡球:

  • 将一个新的锡球放置在凹槽上,加热,熔化锡球;

  • 校准芯片和板子;

  • 回流。

“图:step6"
图:step6

锡球重整完成:

“图:step7"
图:step7

芯片焊接完成后的最终结果:

“图:step8"
图:step8

数控铣

作为替代方法,数控铣仅是将需要的线路和剩余的铜隔离开来而已。

(1)5X5的BGA通常用于制作 PCB,而4X6的常用于分线板。我们设计5X5的是为了该分线板可以直接插接在通用EEPROM 编程器的ZIF插槽里,电路简图如下:

“图:step9"
图:step9

(2)芯片的尺寸与前面设计的4X6的一样,只是网格变成5X5,板上的布线也稍显复杂:

“图:step10"
图:step10

(3)由于KiCAD无法直接生成与数控铣兼容的目标文件,因此,我们用Flatcam接收Gerber文件并确定数控铣隔离的导线的路径:

“图:step11"
图:step11

“图:step12"
图:step12

(4)接下来将生成的STL文件导入bCNC——数控铣的终端控制程序,如下图所示:

“图:step13"
图:step13

雕刻过程中:

“图:step14"
图:step14

(5)板子雕刻完成:

“图:step15"
图:step15

最终结果:

“图:step16"
图:step16

(6)下一步,涂覆阻焊层,保护铜不被氧化,并用紫外灯固化:

“图:step17"
图:step17

“图:step18"
图:step18

(7)阻焊层覆盖了BGA的铜片及1X4的接线柱,我们得刮掉这个薄层,使铜片露出来:

“图:step19"
图:step19

(8)给各个节点焊锡:

“图:step20"
图:step20

“图:step21"
图:step21

(9)回到数控铣,打孔,切削PCB的边缘:

“图:step22"
图:step22

“图:step23"
图:step23

(10)最终成品,BGA焊接在板子上,准备插到EEPROM编程器上:

“图:step24"
图:step24

结论

了解了如何拆焊Flash芯片和如何设计PCB,以及制作PCB的两种不同方法。

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

围观 141

页面

订阅 RSS - 嵌入式