anthpo 发表于 2024-8-28 15:24

<div class='shownolgin' data-isdigest='no'><p>MCU的选型如何选到合适可靠的低功耗MCU,这包括价格交期,易使用性,使用中遇到问题如何快速获得原厂的支持,另外在测试中如何准确的测试评估功耗,即使使用功耗测试设备测量过,实际使用时间和评估的时间还是有较大的差异!</p>
</div><script>showreplylogin();</script>

yyq006 发表于 2024-8-28 15:43

<div class='shownolgin' data-isdigest='no'><p>1. 技术支持,技术支持,技术支持。重要的问题说3遍,有好的技术支持,遇到问题也能很快解决,不耽误开发进度,没有的话就麻烦了,一遍遍翻规格书、开发手册,上网搜索等等,麻烦还耽误时间。</p>

<p>2.中文资料。虽然没有中文的也能做,但是中文看起来更方便,更快。所以最好还是有中文资料。</p>

<p>其它 的倒什么了,按照需求选就行了。</p>
</div><script>showreplylogin();</script>

传媒学子 发表于 2024-8-28 16:49

<div class='shownolgin' data-isdigest='no'>申小林 发表于 2024-8-5 15:49
在MCU的使用过程中遇到的问题是比较多的,我总结了一下,主要有以下几点,其中最让人苦不堪言的就是硬件方 ...

<p>啊,我以为真的是 一点一点 敲出来的...</p>
</div><script>showreplylogin();</script>

传媒学子 发表于 2024-8-28 16:57

<div class='shownolgin' data-isdigest='no'><p>我总结了5个痛点,</p>

<p>痛点1:资料获取比较零散,很多MCU的datasheet和program guide已经app note都比较分散,找起来不方便,有时候获取资料,网络不顺畅;<br />
痛点2:芯片底层驱动学习框架各个厂家不是很统一,同一厂家不同代的MCU的驱动框架可能有有区别,学习和移植成本较高;<br />
痛点3:芯片选型困难,很多客户应用可以用多个型号的MCU来实现,但询价成本和渠道不是很方便,小客户只能需要通过代理才能确定价格,客户无法快速实现选型;<br />
痛点4: 新功能的引入缺乏对应的demo,造成客户无法真正理解新功能,无法快速使能新功能;<br />
痛点5: 很多厂商缺少linux gcc之类的不依赖IDE的编程示例。</p>
</div><script>showreplylogin();</script>

eew_GppVIy 发表于 2024-8-28 17:07

<div class='shownolgin' data-isdigest='no'><p></p>
<p>使用MCU时可能会遇到的问题包括:</p>
<p></p>
<p>时钟问题:时钟配置异常,如配置超出芯片主频工作范围,使用STM32CUBEMX图形化工具做配置可以避免这个问题1。</p>
<p>电源问题:电源质量差,纹波过大,供电芯片质量差导致输出不稳定,或系统供电能力不足引起电源波动1。</p>
<p>BOOT脚配置问题:ARM芯片的BOOT配置脚焊接或接触不良导致各类奇怪问题,多表现为芯片功能时好时坏或部分芯片正常,部分异常1。</p>
<p>启动文件问题:选错启动文件导致程序无法正常运行,尤其在不同系列芯片间移植时容易遇到1。</p>
<p>中断请求位清除问题:中断请求位没有及时清除导致中断重复进入,感觉系统死机1。</p>
<p>堆或栈的越界溢出:导致芯片无法正常工作,调试时可能有硬错提示1。</p>
<p>VCAP脚问题:MCU芯片有VCAP脚需要接上适当的电容,无视可能导致整个芯片的功能异常1。</p>
<p>上电缓慢问题:大容量电容缓慢放电的特性实现掉电保存或报警功能,但延长上下电时间可能不满足MCU的上电时间要求,导致启动失败2。</p>
<p>下电缓慢问题:下电缓慢引起的启动失败比上电时间过长的问题更普遍,影响系统启动或器件内部上电时序混乱2。</p>
<p>这些问题不太容易简单地通过查看MCU技术手册直接获得答案,需要工程师根据具体情况进行排查和解决。</p>
<p></p>
<p></p>
</div><script>showreplylogin();</script>

eew_GppVIy 发表于 2024-8-28 17:08

<div class='shownolgin' data-isdigest='no'><p>使用MCU时可能会遇到的问题包括:</p>
<p></p>
<p>时钟问题:时钟配置异常,如配置超出芯片主频工作范围,使用STM32CUBEMX图形化工具做配置可以避免这个问题1。</p>
<p>电源问题:电源质量差,纹波过大,供电芯片质量差导致输出不稳定,或系统供电能力不足引起电源波动1。</p>
<p>BOOT脚配置问题:ARM芯片的BOOT配置脚焊接或接触不良导致各类奇怪问题,多表现为芯片功能时好时坏或部分芯片正常,部分异常1。</p>
<p>启动文件问题:选错启动文件导致程序无法正常运行,尤其在不同系列芯片间移植时容易遇到1。</p>
<p>中断请求位清除问题:中断请求位没有及时清除导致中断重复进入,感觉系统死机1。</p>
<p>堆或栈的越界溢出:导致芯片无法正常工作,调试时可能有硬错提示1。</p>
<p>VCAP脚问题:MCU芯片有VCAP脚需要接上适当的电容,无视可能导致整个芯片的功能异常1。</p>
<p>上电缓慢问题:大容量电容缓慢放电的特性实现掉电保存或报警功能,但延长上下电时间可能不满足MCU的上电时间要求,导致启动失败2。</p>
<p>下电缓慢问题:下电缓慢引起的启动失败比上电时间过长的问题更普遍,影响系统启动或器件内部上电时序混乱2。</p>
<p>这些问题不太容易简单地通过查看MCU技术手册直接获得答案,需要工程师根据具体情况进行排查和解决。</p>
<p></p>
<p></p>
</div><script>showreplylogin();</script>

suncat 发表于 2024-8-28 17:22

<div class='shownolgin' data-isdigest='no'> 本帖最后由 suncat 于 2024-8-28 17:24 编辑

<p>作为一个工程师,在使用国产单片机做开发的时候,特别希望能得到全中文的资料,无论是用户手册和是单片机的数据手册,还是开发环境。毕竟要以国内市场为主。另外真心希望能开发出中文的集成开发环境,比如图形设计界面,IDE之类的。其中的关键词能用中文解释清除,是干什么用的。</p>

<p>还有就是在例程中,对函数、代码行的说明也采用中文。</p>
</div><script>showreplylogin();</script>

atmcgw 发表于 2024-8-28 18:39

<div class='shownolgin' data-isdigest='no'><p>因为供货电力系统,一直使用进口MCU,由于此前供货问题,进行了国产化。以下2点头痛1.能够PIN&nbsp;TO&nbsp;PIN直接替换的很少,多年使用良好的电路板得重新设计。2.进口MCU大多数产品在EDA设计优化中可以寻找到对应型号,便于设计电磁模拟优化设计验证。</p>
</div><script>showreplylogin();</script>

fxyc87 发表于 2024-8-29 09:15

<div class='shownolgin' data-isdigest='no'> 本帖最后由 fxyc87 于 2024-8-29 09:17 编辑

在使用低功耗 MCU 时,我遇到的一些问题:

**一、功耗控制**
难以准确评估实际功耗,特别是MCU在休眠和运行之间频繁切换时,因为休眠电流在uA级别,运行在mA级别,如果测试仪器动态测量范围不够则难以准确测量出实际功耗。

**二、开发调试**
低功耗模式下调试困难,很多调试功能受限,需特殊调试方法和工具或提前考虑调试需求。市面上的大部分MCU在休眠时是不能进行调试的,但也有部分MCU有做特殊处理在休眠期间也可以进行调试,比如我之前用过的xxxx136系列,休眠时调试器也不会断开,但相比其它的就没这个功能了。

**三、设计规划**
电源管理设计复杂,需精心设计电源管理系统,考虑多种电源情况,增加开发时间和成本。MCU支持的电压越低功耗越低,如果MCU支持1.8V的电压,那么功耗就可以做到更低了。</div><script>showreplylogin();</script>

爱吃鱼的加菲猫 发表于 2024-8-29 14:27

<div class='shownolgin' data-isdigest='no'>最头疼的是冷门产品资料不够完善,又存在bug的情况下,排查问题要人命,比如IIC通讯对起始时序要求特别严格,一不注意就踩坑</div><script>showreplylogin();</script>

电子烂人 发表于 2024-8-29 15:14

<div class='shownolgin' data-isdigest='no'><p>前面很多同僚说的大多是开发问题,我来说一个硬件头疼的问题:</p>

<p><strong>最头疼的问题莫过于芯片不稳定,容易短路烧毁;</strong></p>

<p>前面的诸多问题还有办法解决,经验丰富的情况下一眼便可以看出问题,或者用仪器可以测出问题所在</p>

<p>但是如果芯片容易短路烧毁的话,问题就不一样了;很多情况下产品会出各种各样奇怪的问题。</p>

<p>比如:A工和B工的板子程序全是一样的,环境也是一样的,都能烧录成功,但是做出来的效果完全不同。</p>

<p>最后一般才怀疑到:是不是板子的IO/PWM引脚烧毁了?</p>

<p>&nbsp;</p>

<p>还有就是<strong>操作不当进入低功耗模式/FLASH锁&nbsp;</strong></p>

<p>一般这两种模式下,完全无法DEBUG,或者直接进某个死循环,不得不找厂家的协助</p>

<p>费事,费力,费钱</p>
</div><script>showreplylogin();</script>

wxjd87 发表于 2024-8-29 16:46

<div class='shownolgin' data-isdigest='no'><p>官方的例程是很重要的,几千页的手册很难去细细读,只有遇到问题再网上查找,如果厂家提供丰富的例程或者application&nbsp;notes那么,就少踩坑</p>
<p>官方有些bug问题,要及时修正,不然用户肯定是相信mcu没问题的,这样就会浪费很多时间去解决本来的问题,比如st的i2c问题。</p>
</div><script>showreplylogin();</script>

江长活 发表于 2024-8-29 18:13

<div class='shownolgin' data-isdigest='no'><p>外设驱动问题,没有统一性!</p>
</div><script>showreplylogin();</script>

常见泽1 发表于 2024-8-29 18:34

<div class='shownolgin' data-isdigest='no'><p>痛点分两类吧 一个是MCU的 一类是使用MCU的工程师的</p>

<p>第一类</p>

<p>(1)不同家的MCU,开发平台不一样,甚至差异很大</p>

<p>&nbsp; &nbsp;比如ATMEL的是AVRSTUDIO TI的CCS,然后RISC-V更加多的开发环境,有时候换MCU很头大</p>

<p>(2)MCU资料获取很大</p>

<p>&nbsp; &nbsp;国产有的MCU厂家资料很多一点不详细,甚至很多都是参考的国外的,找不到原厂FAE很多问题根本无法解决</p>

<p>(3)下载器不方便</p>

<p>现在MCU厂家越来越多,很多开发的时候可以用JLINK,但是后面量产需要脱机烧录器,很多新的厂家支持的脱机烧录器不好买,而且价格比较贵。而通用的烧录器,新的厂家支持还得升级固件,有的原厂没有对接就没法用</p>

<p>&nbsp;</p>

<p>第二类</p>

<p>(1)MCU时序</p>

<p>MCU对程序运行时间、中断响应时间都需要考虑,如果考虑不好,大概率程序就不会按照你的时序走,最后就是没法正常工作。这点FPGA优势太大了</p>

<p>(2)MCU的容量</p>

<p>工程师得时刻关注自己的堆栈大小,空间不足的时候,特别需要关注ROM和RAM使用量,尽可能优化自己的代码</p>

<p>(3)硬件下载端口</p>

<p>以前在调试时,偶尔会打坏芯片,很头疼</p>

<p>下载端口最好加一些防护设计,使用这么多MCU,不管国内国外,热插拔都有损坏,建议还是得考虑防护</p>

<p>(4)MCU电压</p>

<p>最早的MCU很多都是5V,后来基本都是3.3V 不小心加错电压损坏芯片。</p>

<p>现在有的芯片3.3 5v都支持了,选用的时候得注意</p>

<p>&nbsp;</p>

<p>&nbsp;</p>
</div><script>showreplylogin();</script>

meiyao 发表于 2024-8-29 20:24

<div class='shownolgin' data-isdigest='no'><p>我研发多年的经验,我分享一下我的一些观点:</p>

<p>第一类:MCU本身的痛点</p>

<p>开发平台多样性</p>

<p>问题描述:不同MCU厂商提供的开发平台(如IDE、编译器、调试工具等)差异显著,导致工程师在切换MCU时需要重新学习新的开发环境和工具链。</p>

<p>影响:增加了项目初期的准备时间和成本,降低了开发效率。</p>

<p>建议:选择具有广泛兼容性和良好社区支持的MCU平台,或考虑使用跨平台的开发工具链。</p>

<p>资料获取困难</p>

<p>问题描述:部分国产MCU的官方文档不详细,缺乏深入的技术资料和示例代码,原厂技术支持响应慢或不到位。</p>

<p>影响:增加了问题解决难度,延长了开发周期。</p>

<p>建议:选择资料丰富、技术支持完善的MCU厂商,或积极利用社区资源、论坛等渠道寻求帮助。</p>

<p>下载器兼容性</p>

<p>问题描述:新厂家MCU的脱机烧录器可能不易购买,价格高昂,且通用烧录器需要频繁升级固件以支持新MCU。</p>

<p>影响:增加了硬件成本和调试复杂度。</p>

<p>建议:选择支持广泛、易于获取的烧录器,或考虑使用在线编程(ISP)等无需额外硬件的烧录方式。</p>

<p>第二类:工程师使用MCU的痛点</p>

<p>时序控制复杂</p>

<p>问题描述:MCU对时序的精确控制要求高,包括中断响应时间、外设访问时间等,控制不当易导致程序异常。</p>

<p>影响:增加了程序调试难度,影响系统稳定性和性能。</p>

<p>建议:深入理解MCU的时序特性,合理设计程序逻辑,利用MCU提供的时序控制功能(如定时器、DMA等)。</p>

<p>资源限制</p>

<p>问题描述:MCU的ROM和RAM资源有限,需要精细管理以节省空间。</p>

<p>影响:限制了程序规模和复杂度,增加了代码优化难度。</p>

<p>建议:合理规划程序结构,采用高效的算法和数据结构,利用外部存储器扩展资源。</p>

<p>硬件接口易损</p>

<p>问题描述:下载端口等硬件接口在频繁插拔或不当使用时易损坏。</p>

<p>影响:增加了硬件维护成本,影响开发进度。</p>

<p>建议:在硬件设计时考虑接口防护,如使用热插拔保护电路,提醒用户正确操作。</p>

<p>电压兼容性</p>

<p>问题描述:不同MCU的电压规格不同,加错电压易导致芯片损坏。</p>

<p>影响:造成硬件损失,影响项目进度。</p>

<p>建议:仔细查阅MCU数据手册,确保供电电压符合规格要求,使用可靠的电源管理方案。</p>

<p>选型难题</p>

<p>问题描述:选择合适的MCU需综合考虑多方面因素,功能、性能、价格、供货稳定性等。</p>

<p>影响:选型不当可能导致项目失败或成本超支。</p>

<p>建议:明确项目需求,制定详细的选型标准,综合评估各候选MCU的优缺点,选择最适合的产品。</p>

<p>MCU选型建议细化</p>

<p>明确项目需求</p>

<p>详细列出项目所需的功能、接口、性能等要求,确保选型时有的放矢。</p>

<p>评估开发资源</p>

<p>考察SDK的易用性、文档质量、社区支持等,确保开发过程顺畅。</p>

<p>考虑技术支持</p>

<p>选择技术支持体系完善、响应迅速的厂商,以便在遇到问题时能及时获得帮助。</p>

<p>性价比分析</p>

<p>综合比较不同MCU的价格、性能、功能等因素,选择性价比最优的产品。</p>

<p>关注供货交期</p>

<p>了解MCU的供货周期和稳定性,避免因供货问题导致项目延期。</p>

<p>评估外设性能</p>

<p>对于需要高精度外设的项目,仔细评估MCU自带外设的性能是否满足需求,必要时考虑外挂专用IC。</p>

<p>封装类型选择</p>

<p>根据项目需求和PCB布局选择合适的封装类型,确保焊接和布局方便。</p>

<p>特定应用考虑</p>

<p>对于车规级等特定应用场景,需额外考虑环境要求、可靠性、供货周期及重新认证要求等。</p>

<p>选型维度细化总结</p>

<p>Flash和RAM容量</p>

<p>确保有足够的容量和余量以满足程序和数据存储需求,考虑未来升级的可能性。</p>

<p>管脚数量</p>

<p>根据项目所需的外设接口数量选择合适的管脚数,考虑预留一定的管脚作为备用。</p>

<p>运算能力</p>

<p>根据处理需求选择合适的主频和运算能力,确保系统性能满足要求。</p>

<p>通讯接口资源</p>

<p>优先选择带硬件接口的MCU以提高开发效率和通信性能,如UART、SPI、I2C等。</p>

<p>DMA或FIFO</p>

<p>对于需要处理大量数据的项目,选择带DMA或FIFO的MCU以提高数据传输效率和系统响应速度。</p>
</div><script>showreplylogin();</script>

qwqwqw2088 发表于 2024-8-30 10:17

<div class='shownolgin' data-isdigest='no'><p>开发工具适配、成本和开发效率几个方面,是使用MCU时最头大的问题:</p>

<p>开发工具适配方面:现在的MCU种类繁多,不像51单片机时代品种少,现在的MCU不同的厂商提供的开发工具各有特色,这使得硬件开发人员需要花费大量时间去学习和适应新的开发工具。同时,不同工具之间可能存在不兼容性,增加了开发成本和难度。<br />
成本方面:购买MCU开发板、仿真器、编程器等设备需要较高的成本,这对于初学者和小团队来说是一笔不小的投资。</p>

<p>并且,一些高端MCU可能还需要额外的授权费用或订阅费用,进一步增加了开发成本。</p>

<p>开发效率方面:在使用MCU进行项目开发时,开发人员需要对硬件和软件都有深入的了解。这不仅要求开发者具备较高的技术能力,还需要有丰富的经验和实践能力。在实际开发过程中,可能会遇到各种问题和挑战,如硬件故障、软件错误等,这些问题都可能影响开发进度和效率。</p>
</div><script>showreplylogin();</script>

littleshrimp 发表于 2024-8-30 10:36

<div class='shownolgin' data-isdigest='no'><p>对我来说IDE&nbsp;SDK这些是不是方便使用,有没有BUG,遇到问题能不能找到相应的解决那麻烦(生态和技术支持),还有就是有没有图形化开发工具这些方便移植和生成基础代码的工具。</p>
</div><script>showreplylogin();</script>

wangerxian 发表于 2024-8-30 10:37

<div class='shownolgin' data-isdigest='no'><p>MCU选型问题,我觉得对于硬件工程师来说就是芯片引脚、外设和最小系统问题,因为不同的厂商对于引脚的定义都有所不同,引脚复用,外部中断,外设等,这些在设计硬件之前都需要有一定的了解,所以在选型问题上,我觉得厂商需要明确一下这些参数,能让人清晰的能了解到引脚定义的情况以及一些外设如果设计电路。</p>

<p>对于软件工程师,则需要在意的是芯片内部,比如主频,外设功能和数量,内存大小,还有两个非常重要的是代码库和手册,只有代码库和手册比较简介明了,这样可以让工程师更容易上手,加快产品的开发进度。</p>
</div><script>showreplylogin();</script>

eew_nl4dVK 发表于 2024-8-30 10:54

<div class='shownolgin' data-isdigest='no'><p>实时性与响应速度</p>
<p>问题描述:&nbsp;MCU&nbsp;应用通常需要实时响应外部事件或传感器数据,但由于处理能力有限,可能会出现响应速度不足的问题。</p>
<p></p>
<p>解决方案:</p>
<p></p>
<p>中断优先级管理:&nbsp;合理设置中断优先级,确保关键任务的及时响应。</p>
<p>使用硬件定时器:&nbsp;利用硬件定时器来精确计时和触发任务,避免依赖于软件延时。</p>
<p>任务优先级调度:&nbsp;实现简单的任务调度器,管理任务的执行顺序和优先级。</p>
<p>预处理和数据缓冲:&nbsp;预处理传感器数据或事件,减少实时计算的负担,使用合适的数据缓冲机制来处理突发性的数据量。</p>
</div><script>showreplylogin();</script>

eew_4R4s33 发表于 2024-8-30 14:09

<div class='shownolgin' data-isdigest='no'><p>芯片选型,不同芯片软件平台的使用、芯片底层驱动的学习、整机功耗的计算、加密功能的互联互通问题</p>
</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页: 1 2 3 4 [5] 6
查看完整版本: >>征集 | 使用 MCU,哪些问题最令你头大?