mcu失效的原因有哪些?

电子技术

48人已加入

描述

  1)MCU 的电源

  某公司 MCU电源的拓扑如下:

  Logic supply VDD ,供给 MCU内部 Core---CPU 的电源,一般电压约 1.8V。当电源电压 《1.8V ,CPU 可能会出现故障。

  VDDF ,供给 MCU内部 Flash 读写,一般电压约 2.8V。当电源电压 《2.8V ,进行读写操作可能会损坏 Flash

  MCU 内部的 LVR( low voltage reset )在电源电压 《4.2V,会发生 Reset ,强制终止MCU 工作。

  那么问题来了:如果要准确地 ” 识别低压“ 这个异常工况,很显然需要 LVR 具备在更低电压下工作的能力。

  MCU 内部用 bandgap来实现这一要求, bandgap 的工作电压一般为 1.25V,即用 1.25V 来识别4.2V 。

  2) MCU 的运算核心 Core

  CPU 是大脑,负责计算和逻辑。

  对于单核 MCU来说,解决这个问题比较棘手,没特别好的办法。大脑往往是不知道大脑出问题了。

  主 /辅 MCU 呢,是通过分立的 2个 CPU ,2 个大脑相互比较( comparison )来纠错。

  双核MCU ,比较科幻了,不分立,直接在一个机体内长出 2 个大脑,冗余 2个 CPU 核来降低失效率;

  3)MCU 的时钟

  MCU 一般有三路独立时钟的来源:

  1 )晶体振荡器或陶瓷振荡器的时钟

  2 )内部 RC振荡的时钟,一般频率为 1MHz

  3 )来自 API(Asynchronous periodic interrupt)的时钟,一般频率为 10KHz

  有了三路时钟来源,还得辅以复杂的时钟拓扑,可以降低 ” 时钟丢失而程序跑飞 “的风险。

  4)MCU 的存储器

  受电气环境和宇宙射线的影响, Flash /EPROM/RAM 会发生其内存储的数据发生 0《-》1 跳变。

  存储器1bit 出现错误,可能还好。但是,骨感的现实中 2bit 以上的跳变是存在的。

  于是,出现了 ECC技术( Error Correcting Code )循环冗余校验码,可以实现 1bit 错误能被纠正过来, 2bit以上的错误能被检测。

  由于ECC 的原理还是挺复杂的,此处省略。 ECC 的实现可软件或硬件。硬件 ECC 的好处就是节省 MCU资源。

  5)指令

  顺便提一下, ECC好比可以保证存储在电脑硬盘上数据是可靠的。

  那问题来了,如果读取电脑硬盘的命令出错了,比如本意是读取一个文件夹的内容,结果命令被篡改成 ” 删除这个文件夹 “的命令了。

  于是,发明了 CRC( Cyclic Redundancy Check )循环冗余校验码。

  6)MCU 的外设: I/O

  MCU 的外设众多,此处仅展示 I/O 的失效问题。

  整个回路每个支线都有可能失效。

  比如MCU 的 die -》 封装 pin 脚 -》 外围设备等之间

  那么,通过回采提高诊断覆盖率是个好办法,但是回采回路也存在支线 ” 外围设备 -》 封装 pin脚 -》 MCU 的die“ 。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分