查看原文
其他

上电不规范,芯片就完蛋

曹楠&妮mo 达尔闻说 2021-01-17

不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我!

上电千万条,SNVS第一条;

上电不规范,芯片就完蛋!

开始这篇文章之前,先记住楠哥给大家的小口诀。
小身材大容量的1美元单片机(点击这里回看)的课堂上带着大家初步认识i.MX RT的芯片,很多人在问:
  • i.MX RT贵么?在哪买?么上手?

  • i.MX RT的工作电压有好几种,是否也有上电时序的要求?

  • 片的很多个高速GPIO在使用时,和普通的IO使用有什么区别?

  • i.MX RT用在低功耗场景时,怎么进行内部时钟切换到合适的频率呢? 

别急,光凭嘴说好多人还是不会用,索性带着大家动手进入i.MX RT的实验课。达尔闻特别与曹楠联合推出i.MX RT应用实验课堂系列,每节课5分钟教大家快速上手使用i.MX RT芯片。

 上手实验第一步,就是上电!这个搞不好卡死在第一关了
为什么i.MX RT系列第1节实验课是要讲上电呢?因为这里处理不好,往小了说系统不启动无法正常工作,往大了说,砰,烧掉了,所有工作都要重新来一遍。在设计开发板,或者系统调试的时候,硬件工程师一定不能忽略一个重要的问题,就是芯片上电的先后顺序。
如果我们使用i.MX RT时,无法满足上电时序的要求的话,可能会导致:

芯片启动阶段电流过大;

芯片无法正常启动;

最糟糕情况,对芯片造成不可逆的损坏。


如何避免以上情况产生呢?
最重要就是要注意i.MX RT上电时序。我们以i.MX RT1010为例,带领大家走一遍i.MX RT的上电过程。

i.MXRT1010的外部电源电路图

 i.MX RT1010的电源设计电路和上电时序图

如上时序图中的VDD_SNVS_IN代表的是Supply input voltage to Secure Non-Volatile Storage and Real TimeClock;

VDD_HIGH_IN则是VDD_HIGH_INsupply voltage;

DCDC_IN则是Powerfor DCDC。
首先,第一个上电的是VDD_SNVS_IN。从时序图上,可以看到最上面就是VDD_SNVS_IN。
其次,当VDD_SNVS_IN上电之后,i.MX RT1010芯片会输出一个驱动信号叫PMIC_REQ_ON,使能外部的DC/DC产生电能给DCDC_IN供电。这时VDD_HIGH_IN和DCDC_IN产生供电,起来工作了。在这种情况下,其实i.MX RT1010的外部供电就基本上已经完成了。
然后,i.MX RT1010的内核启动,还需要一个DC/DC。启动内核DC/DC需要在DCDC_IN供电之后,至少等待一个毫秒的时间。芯片内部会将DCDC_PSWITCH 这个信号拉高,内部的DCDC_OUT就会输出一个1.1V给VDD_SOD_IN。这样,i.MXRT1010所有的电压信号都就完成了。

最后待所有的电源就完成了上电之后, POR_B的信号拉成高电平,告知芯片内部电源供电正常。

一句话总结上电时序:在VDD_SNVS_IN上电之后,VDD_HIGH-IN和DCDC_IN同时上电,再等一毫秒以后,DCDC_PSWITCH拉一个上升沿上去。


 除上电时序外,上电不规范,内核也起不来 

在上电的过程中,发现芯片无法工作的情况非常多。这里给大家举两个例子:

案例一:比如说挂上串口、挂上I2C、挂上JTAG,有时候我们DCDC 1.1V就出不来。这个问题的原因也是在PSWITCH这边。

在使用i.MX RT芯片时,很多的小伙伴们用的JLINK是非正常渠道的JLINK,内部会有一个自供电的功能在插上芯片的一瞬间,自供电的功能很有可能早于SNVS这个电源域的上电,就会造成内部的电源域工作不正常。
所以如果大家有手头上有这种不正规的JLINK,一定要把自供电功能给它去掉,就可以了。
案例二:比如有一个pin脚上挂上一个3.3V的一个上拉电阻比SNVS上电早。这种情况下,很容易就造成i.MX RT1010内核的1.1V起不来。
总之,一定要保证SNVS上面不要有任何的外部的电源。
芯片启动之后,就赶快开始i.MX RT的设计吧!下节课我们将给大家带来如何使用i.MX RT 高速GPIO口的实战应用
END

达尔闻必考系列——提供工程师最常用的,最需要学习的知识点,请继续关注常用元器件系列、常用总线系列、常用接口系列。

《达尔闻必考课堂》往期回顾:

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存