大家好,
我的一款设计中,IMX6ULL从EMMC FLASH(SD2接口、4GB)中引导启动。电路板上电后,由USB OTG下载程序,再断电重新上电,串口输出打印信息。后续每次断电重启,CPU都能正常引导,串口输出正常,其他所有功能都正常。但在带电工作中,按下手动复位键(已量CPU的POR#引脚同时变低,以确保复位电路是正确的),CPU不复位(或者可能CPU复位了,但不从EMMC FLASH引导),串口也没有输出。手动复位时,CPU正常工作,不处于挂起或掉电模式。电路板打样了4块,4块现象完全相同。
上图为本设计的复位电路,MN_RST#为手动复位,SYS_RST#复位CPU,同时该信号也复位EMMC FLASH芯片(未用到CPU的SD2_RST#信号复位FLASH芯片)。后来,我把SYS_RST#信号只复位CPU,EMMC FLASH信号的复位由CPU的SD2_RST#完成,但现象还是一样。
在我的另外一款IMX6ULL设计中,使用8位的NAND FLASH启动,复位电路以及外部电源(包括上电时序电路)基本一致,但每次热复位,CPU都能正常工作。
请熟悉IMX6ULL的朋友帮忙查查问题,谢谢!
Hi wigros,
根据您的回复,我检查了一下电路,并做了一下实验:
1、MAX706同时复位CPU和EMMC FLASH时,板上LCD_DATA1确实是拉低的。这个是我最原始的设计,但热复位后不引导程序。
2、我把EMMC FLASH的复位引脚飞线到CPU的SD2_RST#引脚,此时MAX706只给CPU复位了,同时拉高LCD_DATA1。按参考手册上的说明,此时热复位时CPU应该是可以EMMC FLASH引导程序的。但很遗憾,还是和第1点一样的结果。板子断电重启还是可以正常工作的。
在实验过程中,我量过POR_B引脚和LCD_DATA1引脚信号,保证硬件电路没有出错。
上图为板子引导设置,帮忙看看还有哪里设置有问题。一开始R43和R44是贴片的,但上电时CPU不引导。目前已改成去掉这两个电阻,CPU才能从EMMC FLASH引导。EMMC FLASH型号为:MTFC4GACAJCN-4M IT (JEDEC/MMC standard version 5.0-compliant),为何MMC 5.0的芯片只支持1-bit引导,4-bit,8-bit,4-bit DDR和8-bit DDR都不支持?
谢谢!