• 欢迎访问伊栖物联网社区,聚焦物联网技术和解决方案QQ群:735553309
  • ,从传感器到片上嵌入式系统,无线接入,边缘计算,在这里您可以讨论一切
  • 参加最新的物联网研讨会报名
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏伊栖Eccee

ConnectCore 6UL启动电路研究

片上系统 Robin TU 4年前 (2021-04-25) 1421次浏览 0个评论

ARM处理器启动电路一般需要遵循一定时序,这是因为处理器上电过程中,在还没完全起来之前有个很短的时间,其IO端口还处于未确定状态,一般需要隔离以保护CPU,这是防止外部的IO电路对未启动好的MCU引脚形成钳位或短路,而这些都有可能会导致启动失败。通常的做法是处理器先加电,外部接口稍作延时加电。ConnectCore 6UL中集成有功能性的MCA,相关引脚可以配合外部电路实现多种启动模式和上电顺序。

i.MX6UL模块有四种启动模式,它是通过处理器的两根I/O线来配置BOOT_MODE寄存器,从而选择合适的启动模式:

BOOT_MODE[0]和BOOT_MODE[1] 在LGA引脚上可以找到,但在邮票孔型号中,只有BOOT_MODE[1] 。默认地BOOT_MODE[0]在模块内部通过100K电阻下拉置0。

一、Fuse配置启动模式
除非高安全性要求,否则不建议在在开发阶段就设计为eFuse启动模式,因为这需要一次性烧写相关配置到OTP,并且它是不可逆的。
如果要用该种方式,需要写入BOOT_CFG1寄存器,对应的启动配置如下:

二、板上配置启动模式

这是开发阶段建议使用的方法,当这种模式选中后,同样是用BOOT_CFG1寄存器,只不过它对应的比特位是由模块的IO引脚来配置定义。为了配置从模块内的NAND闪存启动,建议用10K上拉或下拉电阻配置下列引脚:
启动后这些引脚同时也是i.MX6的功能引脚线,为了防止启动失败,在启动时应使用保护隔离电路。详见后文。
三、Serial Downloader模式
这个模式允许你通过串口或USB下载镜象到板子内存来启动模块,当其它方式启动选中但启动失败时,CPU自动跳变为Serial Downloader模式,从而这种模式可以修复模块。

系统上电顺序

ConnectCore 6UL可配置两种上电方式:插电启动和开关启动。
插电启动:这是默认的上电启动方式,当电源接通时,系统就能启动。模块内的PMIC和MCA是最先上电的两个元器件。在上电时,协处理器MCA最先运行,PMIC则遵循一个固定的实始化过程(参考NXP PF3000了解详情),在这一过程中MCA会在大约50ms,即内部PMIC已经可以受控时,通过内部开关信号PMIC_ON_REQ开启PMIC。
模块内的PMIC开启后,另一个固定的初始化过程随即发生,最后CPU的reset线POR_B_CPU被释放,启动完成。
开发板上固定电源供电也同样同PMIC_ON_REQ控制,这个开关信号其实就是模块上的PWR_ON引脚,MCA按照自定义的延时(默认是50ms)通过PWR_ON来开启NMOS管2N7002T,从而打开PMOS管FDMA908PZ,从而VPWR通电,通过LDOG控制,最终VSYS得以供电。也就是5V左右供电要接四个电源:模块MCA的VCC_MCA, 模块上的VPWR,LDOG,VSYS。如果是锂电池供电,只要VSYS就可以启动。
系统启动最后,POR_B信号线被拉高,标志着启动完成。POR_B通常也可以用作总线开关或外部IO上电的控制线。
插电启动模式下的上电时序如下:
开关启动:PWR_IO是SOM的开关信号线,它可以连接到一个按钮上。在这种模式下,直到有按钮按下,上电顺序才进行。该模式下的上电时序如下:
更多设计上的资料,请参考Digi官方CC6UL硬件设计文档

ECCEE版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ConnectCore 6UL启动电路研究
喜欢 (1)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址