3176|107

6307

帖子

8

TA的资源

管理员

>>征集 | 使用 MCU,哪些问题最令你头大? [复制链接]

 

ADI & WT ·世健 MCU 痛点问题探索季

——第一站:征集 | 使用 MCU ,哪些问题最令你头大? 活动开始啦~

 

MCU 应用中面临着诸多挑战与痛点,这些问题不仅关乎系统的性能与可靠性,更直接影响着整个系统的稳定性与用户体验。为了深入剖析这些难题,我们特发起 ADI & WT•世健 MCU 痛点探索季活动。本期是活动第一站:征集 | 使用 MCU,哪些问题最令你头大?请大家跟帖说出在MCU的研发、设计、应用中遇到的痛点问题,或者针对痛点问题的解决方案。

 

活动时间:即日起——2024年8月31日

参与方式:

1. 浏览 >>活动页面资料,了解 ADI 超低功耗 MCU MAX32675C 相关资料。

2. 更新个人信息,获取活动参与资格。

3. 在本帖下跟帖留言 MCU 应用中遇到的痛点问题、或针对痛点问题的解决方案。优秀回帖将获得下方精美礼物!

温馨提示:

痛点问题可以为:芯片选型、不同芯片软件平台的使用、芯片底层驱动的学习、整机功耗的计算、加密功能的使用等。

跟帖留言请以技术问题为主,详述技术问题,尽量避免提及同类半导体厂商名称。

活动礼品:

image.png  

 

小伙伴们快来跟帖参与活动吧!

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

最新回复

0.能提供中文资料吗,拜托了 1.丰富的库文件的提供; 2.多种传感器的整合入MCU; 3.图形化的编程模式; 4.较多的仿真工具接口; 5.便宜的价格; 6.外围器件少。   详情 回复 发表于 2024-9-6 14:40
个人签名微信搜索公众号“EEWORLDBBS”快去添加关注吧!

回复
举报

45

帖子

0

TA的资源

一粒金砂(中级)

EEWORLD社区 发表于 2024-7-24 14:28 ADI & WT ·世健 MCU 痛点问题探索季 ——第一站:征集 | 使用 MCU ,哪些问题最令你 ...

MCU的选型如何选到合适可靠的低功耗MCU,这包括价格交期,易使用性,使用中遇到问题如何快速获得原厂的支持,另外在测试中如何准确的测试评估功耗,即使使用功耗测试设备测量过,实际使用时间和评估的时间还是有较大的差异!

点评

硬件接口与兼容性: 引脚冲突:在有限的引脚资源下,如何合理安排各种外设(如GPIO、UART、SPI、I2C等)的分配,避免引脚冲突。 电源与接地问题:电源噪声、接地不良导致的信号干扰或系统不稳定。 外  详情 回复 发表于 2024-8-20 10:30

回复

1367

帖子

6

TA的资源

版主

关于MCU选型的一些问题:

1)SDK过于庞大,注释不明确,作为中国开发者,还是希望有中文资料、

2) 有问题不能得到及时回复

3)开发环境不友好,对中文支持不友好

4)功能过盛,价格偏高

5)ROM及RAM偏小,不适合发挥

6)IO驱动能力偏弱,外围电路偏多

7)下载不友好,需要断电等特殊操作

8)设计参考资料凌乱

个人签名专注智能产品的研究与开发,专注于电子电路的生产与制造……QQ:2912615383,电子爱好者群: void

回复

82

帖子

0

TA的资源

一粒金砂(高级)

1、各家IC设计逻辑不互通,开发习惯不便

2、配置顺序有差异,开发习惯不便于

3、MCU同质化严重,外设接口和处理性能相差无几,解决范围并无扩展

4、各家追求通用型,但是外设性能不曾提高,例如多数使用12bitADC,可能实际也只有十位半,而我想进行更高精度分辨,则依旧要外挂一个16bit或24bit的专用IC,性能与空间的浪费和上升了成本,提别是在如今12bit基本已经算半退前沿市场了,12bitADC将来恐怕基本鸡肋,或者无法打出差异化市场。


回复

16

帖子

0

TA的资源

一粒金砂(中级)

MCU选型是一个综合考虑多方面因素的过程,‌其核心在于满足项目需求并确保性价比。‌首要考虑的是功能需求,‌包括所需的接口、‌RAM和ROM容量等。‌此外,‌封装类型也是重要的考虑因素,‌如BGA、‌QFP等,‌需根据项目需求选择合适的封装。‌

同时,‌开发资源、‌技术支持、‌供货交期、‌价格以及厂家的售后服务和库存情况也是不可忽视的因素。‌对于特定应用,‌如车规级MCU,‌还需考虑环境要求、‌可靠性、‌供货周期以及重新认证要求等车规级特有的标准。‌

芯片选型还要看这几个维度:
1、看flash和ram容量、余量
2、看管脚数量够不够
3、看运算能力,主频多少
4、看通讯接口资源够不够—为了保证开发效率一定要选择带硬件接口的,不用软件模拟的
5、看是否带fifo或者DMA—需要处理大量数据时必须带


回复

9

帖子

1

TA的资源

一粒金砂(中级)

MCU选型要看具体应用场景的,有存储需求的,FLASH要大,有算法需求的,主频得高,有AD采集需求的,AD精度要高。

然后就是是否方便开发,对于小众MCU ,存在因MCU 本身缺陷或开发繁琐而发生项目延期的风险,故在选型阶段需要着重收集该MCU的数据手册、用户手册、DEMO库、驱动库(一般DEMO库中包含,个别为独立开来)。

在实际项目开发中,验证项目所需功能最快的方法即为在MCU 厂商提供的DMEO库中修改。对MCU上的每一个外设,MCU厂商一般会提供相应的demo,在该demo项目中做微调可验证所需实现功能是否能在该MCU正常运行,在集成阶段再将各外设模块封装成方便调用的函数实现快速开发,正所谓“君子生非异也,善假于物也”。

2022年做过一款手持工业产品,首要要求MCU支持低功耗。对比国产和国外的几款MCU ,发现手册和IDE的支持还是有些许区别的。国外的数据手册大多英文,这个已经是好多开发者的第一道拦路虎了,虽有中文翻译,但并未覆盖所有MCU如STM32F103C8T6有,但其他近年新出型号并没有。国产MCU 手册不够详细,寄存器的描述部分缺乏逻辑关系,故只有依着提供的DMEO库来理解寄存器的使用,要么就不管寄存器级别了,每次都是直接调提供的库函数。上述两种典型情况往往会增加开发者的学习成本,所以如有MCU厂商立志改变这种局面,扩大在中国的销量,请提供中国开发者能看得懂的手册和严谨的设计。

个人签名

智、信、仁、勇、严


回复

118

帖子

1

TA的资源

一粒金砂(高级)

MCU最麻烦的事跟硬体要对接,玩开发板还好,但是一但要商品化,去设计电路问题就一堆了,所以其实玩MCU最麻烦的是知识要够广,编程要懂以外,硬体多少也要懂一点才能做下去


回复

7

帖子

0

TA的资源

一粒金砂(初级)

本帖最后由 呐咯密密 于 2024-8-1 15:48 编辑

MCU的选型和项目的具体需求紧密联系,选型的原则是在满足功能需求的情况下选择更为好用和价格更低的产品,具体有以下几个方面。

1、功能需求是否满足,比如项目需求的外设是否都满足,CPU的架构,时钟和位宽是否走满足要求,内存容量是否足够使用,若不够是否方面扩展外部储存器。

2.硬件设计是否方便,比如硬件设计时MCU的接口和外围设备的接口是否便于走线,MCU的封装大小是否合乎硬件尺寸,PCB的设计和空间限制是否满足(小型PCB要求很严格)

3.工作模式下的电流消耗是否满足要求,低功耗的电流消耗是否满足,从低功耗模式恢复到工作模式所需的时间是否满足。

4.工作电压范围是否满足。

5.IO口的输入输出能力

6.,模拟功能的ADC.DAC的通道数、分辨率和采样率是否足够

7.加密算法支持能力

8.开发工具和软件支持是否符合开发人员的习惯

9.单片机成本和开发成本以及供货的稳定性

10.工作的温度范围和抗干扰抗辐射能力

11.开发生态是否完善,遇到问题能否获得支持,文档资源的丰富度

12.若产品可能会升级,还要考虑现有系统是否具备未来的可扩展性和兼容性。

针对以上问题,本人的解决方案如下:

1.首先根据自己对厂商的熟悉程度去筛选品牌,这里会考量厂商的口碑和资料丰富度,同时开发环境也是重中之重,熟悉的开发环境会更快的进行DEMO测试。在其官网找到数据手册通过个各个方向对比功能是否满足。在功能满足的情况下回和硬件讨论PCB设计时空间和走线是否方便。

2.固件安全本人偏向于使用第三方的加密烧录器。减少安全加密方面的开发时间成本。

3.工作温度会通过手册先筛选,然后申请样片和开发板进行温度测试。

4.后续升级这方面是在需求的标准上预留空间,包括外围引脚和内存。

5.选型是根据项目的需求个项目的具体行业动态调整的,针对不同项目会有不同的考量。这里只能列出大概。这也需要经验的积累和失败的教训。


回复

23

帖子

0

TA的资源

一粒金砂(中级)

使用MCU问题:需要

1.丰富的库文件的提供;

2.多种传感器的整合入MCU;

3.图形化的编程模式;

4.较多的仿真工具接口;

5.便宜的价格;

6.外围器件少。


回复

158

帖子

0

TA的资源

一粒金砂(中级)

1、比较难的是配置寄存器,再刚开始建立工程,每个功能模块需要对照手册把每个寄存器都配置一下,必要时要根技术支持一起探讨。

2、当MCU资源使用到95%的时候,就需要选择更大资源的MCU替代它,我一般都会选择可以PIN对PIN的,改动移植都很方便。

3、很多编译环境都给出了自动生产代码功能,但是一般都不怎么能用,很容易出问题,不实用,所以我基本都是自己编写,但是所需要的时间也比较长

4、在开始设计外围电路的时候,很多功能管脚都不在想要的位置,需要走线很远,所以我选择MCU一般都是IO管脚是可配置功能管脚的,方便布线及配置。

5、MCU的供货稳定性是很重要的,必须要是大量货源的或很多用户都在用的,否者冷门的芯片,当你采购的时候会等很长时间。


回复

231

帖子

0

TA的资源

一粒金砂(高级)

本帖最后由 zhoupxa 于 2024-8-2 15:53 编辑

对于追求低功耗的电池供电设备来说,在软硬件设计上经常遭遇以下痛点:

 

1. 选择具有优异低功耗特性的MCU以及外围器件,并设计出能够最大程度降低整机功耗的硬件控制逻辑;

2. 充分、合理利用MCU和外围器件的低功耗特性,开发出能够满足功能要求且具有最低功耗的软件;

3. MCU和整机电路在各种工作状态下的功耗测量,这一点往往要和软件调试配合进行。

 

一般低功耗情况下电源电流多为微安级,且电源有多个流通路径,使用常规仪器测量起来很困难且误差较大,这应该是电池供电类产品软硬件开发最大的痛点了(难以为客户提供准确的低功耗性能指标,比如电池待机时长);所以希望MCU开发商不仅能提供低功耗的芯片,也能够提供实时测试和评估MCU在各种工作状态下功率消耗的软硬件工具。

个人签名每天一个小目标......

回复

188

帖子

0

TA的资源

一粒金砂(高级)

1,RAM和flash容量,还有分区大小,flash分区太大利用率不足。

2,很多厂商的芯片参数连厂商都不知道,尤其是低功耗的情况下各个模式的电流功耗都没做测试,选型前期就没法评估是否满足要求。

3,开发工具,开发环境的不兼容,自成一体的想法很好,但是对于广大开发者和开发生态很受伤,没有开发者怎么进行扩大生态。

4,资料的保密,不签保密协议,规格书都拿不到,完全没法做选型和熟悉。

5,生命周期无法保证,更新迭代快,而且还不能相互兼容导致成熟的产品需要经常改版。

6,底层驱动不开放,而且还有各种bug,只能求救于原厂。

 


回复

29

帖子

0

TA的资源

一粒金砂(中级)

1、低功耗MCU,一般功耗降不下去很多就是IO的处理,唤醒源,唤醒后MCU工作时长,外围电路等,所以希望厂家在针对低功耗这块有针对性的例程。

2、开发环境,目前能兼容主流的KEIL和IAR肯定是最好的,毕竟嵌入式从业者天天就玩这个,但是针对不同厂家的MCU,还是要对RMA区和flash给出说明。特别在做一些FOAT升级的场景,还有升级完以后RAM区的初始化问题。

3、给出的SDK案例要有说明性的文档,清晰给出实现的方法,中文支持最好


回复

192

帖子

0

TA的资源

一粒金砂(中级)

排第一位的是官方不支持 makefile + gcc 编译、其次是没有图形化配置工具、还有是官方代码质量太差,譬如不是 utf8 编码,代码对不齐


回复

1

帖子

0

TA的资源

一粒金砂(初级)

自己总结了下面几个痛点问题:

1:芯片选型如何最优化,设计前的选型工作很关键,这个关系到是否匹配产品,是否可以实现产品性价比最大化。

2:芯片选型定好后,那么在设计中如何把产品的外围尽可能优化,让产品性价比最大化也很是关键。

3:一个优秀的产品,还需要经过一系列测试,那么在测试中遇到问题点,如何去调试也是很关键的一环。


回复

18

帖子

0

TA的资源

一粒金砂(中级)

痛点问题 1: 内存管理与资源限制
问题描述: MCU 往往具有有限的内存和资源(如闪存、RAM),而应用程序可能需要大量的存储和处理能力。

解决方案:

优化算法和数据结构: 使用更有效率的算法和数据结构来减少内存消耗。
精简代码和优化编译器选项: 移除不必要的代码、减少全局变量的使用,并使用编译器提供的优化选项来减少代码大小和提高性能。
动态内存管理: 使用动态内存分配的方法(如内存池)来灵活管理内存,避免碎片化和浪费。
硬件外设优化: 利用 MCU 的硬件外设来卸载 CPU 的负担,如使用硬件加速器或 DMA 控制器。
痛点问题 2: 实时性与响应速度
问题描述: MCU 应用通常需要实时响应外部事件或传感器数据,但由于处理能力有限,可能会出现响应速度不足的问题。

解决方案:

中断优先级管理: 合理设置中断优先级,确保关键任务的及时响应。
使用硬件定时器: 利用硬件定时器来精确计时和触发任务,避免依赖于软件延时。
任务优先级调度: 实现简单的任务调度器,管理任务的执行顺序和优先级。
预处理和数据缓冲: 预处理传感器数据或事件,减少实时计算的负担,使用合适的数据缓冲机制来处理突发性的数据量。
痛点问题 3: 软件调试与故障排除
问题描述: 在 MCU 应用开发过程中,由于缺乏调试接口或者环境限制,软件调试和故障排除可能会变得困难。

解决方案:

使用仿真器和调试器: 利用 MCU 厂商提供的仿真器和调试器来进行实时调试和代码追踪。
添加调试信息和日志: 在关键点添加调试信息和日志输出,便于定位和分析问题。
模块化开发和单元测试: 将代码分解为模块,并实施单元测试来逐步验证每个模块的功能和正确性。
远程调试支持: 部署支持远程调试的工具或机制,使开发人员可以远程访问和调试 MCU 设备。
痛点问题 4: 低功耗设计与优化
问题描述: MCU 应用可能需要长时间运行,且需要在低功耗下工作,以延长电池寿命或降低能耗。

解决方案:

睡眠模式和唤醒机制: 合理使用 MCU 的睡眠模式和唤醒机制来降低功耗。
优化算法和周期性唤醒: 优化软件算法,减少 MCU 活跃时间,并实施周期性唤醒策略来平衡功耗和实时性需求。
电源管理单元(PMU)优化: 使用专用的电源管理单元来监控和调节供电,以优化功耗。
外设和传感器管理: 使用外设的低功耗模式和传感器的自动休眠功能来降低系统功耗。
通过有效的解决方案,可以帮助开发人员克服 MCU 应用中的各种挑战,提高系统性能和稳定性。


回复

5637

帖子

6

TA的资源

版主

电源是工作的基础,低功耗设计是现在很多产品的基本要求,谈一谈这两个方面的问题
问题描述:
在MCU的研发、设计及应用过程中,电源管理与低功耗设计是几乎所有项目都会面临的重大挑战。随着物联网(IoT)、可穿戴设备及便携式设备的兴起,设备的续航时间成为了用户体验的关键因素。然而,如何在保证功能完整性和性能的同时,最大限度地减少MCU及其外围电路的功耗,成为了一个复杂且亟需解决的技术问题。

主要的考虑有以下方面:
动态功耗与静态功耗的平衡:MCU的功耗主要来源于两部分——动态功耗和静态功耗。动态功耗与CPU的工作频率、电压及负载电容相关,而静态功耗则主要由漏电流产生。设计时需要综合考虑,既要通过降低工作频率、优化时钟管理来减少动态功耗,又要通过选择合适的低功耗模式(如睡眠模式、待机模式等)和采用低功耗外围设备来降低静态功耗。
电源域的划分与管理:复杂的MCU系统可能包含多个电源域,每个域有其独立的电源供应和功耗特性。如何有效地管理这些电源域,确保在需要时快速唤醒,在不需要时迅速进入低功耗状态,是提升整体功耗效率的关键。这要求开发者具备深厚的硬件设计功底和对MCU内部电源管理机制的深入理解。
软件层面的优化:除了硬件设计外,软件层面的优化同样重要。通过合理的任务调度、中断管理、使用低功耗库函数等方式,可以在不牺牲性能的前提下显著降低MCU的功耗。
低功耗模式的正确配置与应用:大多数MCU都提供了多种低功耗模式,每种模式在功耗、唤醒时间和唤醒源方面有所不同。正确选择和配置这些模式,对于实现特定的功耗目标至关重要。开发者需要深入理解每种低功耗模式的工作原理和限制条件,并结合实际应用场景进行灵活配置。
电源监控与故障诊断:在MCU系统中集成电源监控功能,实时监测电源电压、电流等参数,对于预防因电源问题导致的系统故障具有重要意义。同时,建立故障诊断机制,能够在低功耗设计出现问题时快速定位并解决,也是保障系统稳定性和可靠性的关键。

个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引


回复

1700

帖子

4

TA的资源

纯净的硅(初级)

MCU的生态很重要,MCU已经进去了快速开发的时代,能有效的开发出所需要的功能,是需要芯片厂商和方案商共同推进,不仅需要相应的demo例子和total sulotion,更需要芯片本身具备相关优势,才能得到开发者的青睐


回复

6

帖子

0

TA的资源

一粒金砂(中级)

 

  1. 设备初始化问题:‌在MCU通电时,‌灯条可能会短暂亮起,‌然后执行预设程序。‌这通常是由于MCU内部初始化未完成导致的,‌GPIO处于不确定状态。‌解决这一问题的方法包括确保程序对GPIO的初始化尽量靠前处理,‌以及检查PWRT的时间是否设置过长。‌

  2. 调试问题:‌在调试触摸IC时,‌可能会遇到触摸IO口一直检测到有触摸信号的问题。‌这可能是由于软件设置的阈值过低或外部参考电容的参数不正确导致的。‌解决这些问题的方法包括适当降低触摸的灵敏度或更换耐高温的外部参考电容。‌

  3. 网络连接问题:‌在MCU设备无法登陆或终端无法被MCU邀请入会的情况下,‌需要确保设备已经正常启动,‌检查网络连接和配置,‌以及确认PC系统安装的管理软件是否标配。‌此外,‌还需要检查MCU与终端是否能互相PING通,‌以及测试终端点对点是否能通。‌

  4. 图像处理问题:‌会议图像效果差,‌出现抖动或马赛克现象时,‌需要利用MCU丢包状态检测来检查网络状况,‌确保有足够的线路带宽来满足图像格式要求。‌网络丢包时,‌可以启用终端或会议I帧抑制。‌

 


回复

158

帖子

0

TA的资源

一粒金砂(高级)

在MCU的使用过程中遇到的问题是比较多的,我总结了一下,主要有以下几点,其中最让人苦不堪言的就是硬件方面的EMC问题,堪称是玄学,另外一个就是软件的内存泄漏和堆栈溢出的问题了

我对开发中遇到的问题进行了总结大概如下:

  1. 电源管理
    • 供电电压波动:MCU的供电电压必须稳定且符合规格,否则可能导致MCU运行不稳定或损坏。
    • 功耗优化:在电池供电的应用中,如何有效管理MCU的功耗以延长设备的使用时间是一个关键问题。
  2. 时钟与复位问题
    • 时钟源选择:外部晶振、内部RC振荡器等不同时钟源的选择及其稳定性直接影响MCU的运行精度。
    • 复位电路不稳定:复位电路的设计不合理可能导致MCU无法正确复位或频繁复位。
  3. 外设接口问题
    • SPI、I2C、UART等通信接口的配置和使用错误,可能导致数据通信失败或设备间无法通信。
    • ADC(模拟到数字转换器)和DAC(数字到模拟转换器)的精度和采样率不满足应用需求。
  4. 编程与调试
    • 编程接口不稳定:如JTAG、SWD等接口的不稳定可能导致程序无法下载或调试困难。
    • 调试信息不足:在复杂的项目中,调试信息的缺乏可能使得问题定位变得非常困难。
  5. 固件开发与升级
    • 固件升级机制:如何设计一个可靠、安全的固件升级机制,确保在升级过程中不会损坏设备或数据丢失。
    • 固件兼容性:新固件与旧硬件的兼容性测试,确保升级后设备仍能正常工作。
  6. 电磁兼容性(EMC)问题
    • 电磁干扰(EMI)和电磁敏感度(EMS):MCU及其外设可能受到外部电磁场的干扰,或者产生干扰影响其他设备。
    • 接地与屏蔽设计:合理的接地和屏蔽设计对于减少EMC问题至关重要,但实现起来往往较为复杂。
  7. 内存管理
    • 堆栈溢出:在资源受限的MCU上,堆栈溢出是一个常见问题,可能导致程序崩溃。
    • 动态内存分配:在嵌入式系统中,动态内存分配(如使用malloc/free)需要谨慎使用,以避免内存碎片和泄漏。
  8. 性能瓶颈
    • 处理能力限制:MCU的处理能力有限,可能无法满足复杂应用的需求。
    • 外设速度限制:如GPIO、UART等外设的速度可能成为系统性能瓶颈。
  9. 硬件与软件的协同工作
    • 硬件与软件接口不匹配:硬件设计可能不符合软件预期,导致功能无法实现。
    • 软硬件调试同步:在开发过程中,软硬件调试的同步问题可能导致项目进度受阻。
  10. 文档与资源缺乏
    • 官方文档不全或难以理解:MCU及其外设的官方文档可能不够详细或清晰,给开发者带来困扰。
    • 社区支持和资源不足:在某些情况下,开发者可能无法从社区获得足够的支持和资源来解决遇到的问题。

点评

啊,我以为真的是 一点一点 敲出来的...  详情 回复 发表于 2024-8-28 16:49
这一看就是AI啊  详情 回复 发表于 2024-8-14 11:36

回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表