This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教DM8127启动和上电复位的问题



    有几块DM8127的板子(A板)设置成NAND或MMC启动模式上电后串口无任何打印信息,非要按下复位键(RESETn)或者POR引脚与地短路一下后可正常启动,同一批次另外几块DM8127板子(B板)一上电就可以正常启动,两者的硬件一模一样,烧录的启动程序也一样,测量所有板子的上电时序和波形都差不多,满足芯片手册上电要求。

两者异同如下:

1. 在NAND和SD卡无启动程序时都可打印CCCCC

2. 将POR引脚强制拉低后上电,等待几秒然后放开POR引脚(拉高),B板正常启动,A板无任何反应,然后按下复位键可正常启动

3. 直接上电B板正常启动,A板无任何反应,然后按下复位键可正常启动

4. 两者硬件一样,同一批次生产,烧录程序一样,上电时序和波形一样,板子上有上电复位芯片

5. A板非要在上电后额外再复位一次才能正常启动,POR或者EXTERNAL WARM RESET都可以

请问下这个问题该如何解决?是硬件问题还是启动程序的问题?谢谢!

  • 你好,

      从你的描述上看,似乎更像是上电时序的问题,另外你的复位按键是否是单独复位SOC,还是有一并复位其他IC? 

  • 复位按键单独接的8127的外部硬件复位接口,没有复位其他IC,POR复位是用的复位芯片接的8127 POR和PYH芯片复位脚

    上电时序好板和坏板测量的波形和时序都是一样的,符合芯片手册要求

    如果用串口启动模式,坏板是可以打印CCCC的,是不是表明上电和时钟都没问题?

  • 如果你的坏板也能打印CCC,那么复位基本上问题不大。

    现在我比较怀疑是bootmode没有认对。 建议你follow这个link里面提到的方法检查bootmode

    http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/68045/161569.aspx#161569

  • 不是说你的电阻上下拉不对,而是可能和电阻阻值相关,以及和上电时序相关的,最终导致了bootmode读进来有问题。

    这个和你需要多复位一次的现象比较搭。    (bootmode是在复位释放的时候锁存进芯片的)

  • 上拉电阻1K,下拉电阻10K,这个是和开发板原理图一致的。最近又打样了7块板,其中有2块板需要手动复位才能启动,其他5块是正常的。

    修改了启动模式,设置为UART-SPI-NAND,启动程序已烧进NAND里,发现一个奇怪的现象:

    1. 上电后正常的板子打印8个CCCCCCCC接着从NAND启动

    2. 不正常的板子上电后打印8个CCCCCCCC后没反应了,然后手动复位RESETN或者复位POR,会再打印8个CCCCCCCC接着从NAND启动

    怀疑:坏板能打印8个CCCCCCCC然后没反应,是不是说明BOOTMODE检测到是串口启动模式,问题有可能出在NAND上?

    仔细观察了下复位芯片出的POR的波形,在上电时是有一个短暂的拉高然后被拉低,持续200毫秒低电平后再被拉高到3.3V,由于复位芯片供电是3.3V,而1.5V和1.35V的时序是晚于3.3V的,所以POR短暂拉高再被拉低的波形在时间轴上是比1.35V要早几个毫米,不知道是不是这个原因造成的。

    另外还有一个现象,所有的坏板必须第一次先POR复位,没反应再手动复位RESETN或者复位POR则可以启动,但第一次复位RESETN,第二次再手动复位RESETN或者复位POR则启动不了,这说明第一次POR复位虽然没启动,但是还是起到一定作用的。

  • 用CCS连接不正常的板子,芯片可运行,去读取BOOTMODE值为5000302

    不知道这个5000302是十进制还是十六进制,如果按十六进制的话,低5位是00010,和板子上电阻上下拉一致

  • 你提到的这个POR的情形确实是不符合手册Figure 7-1. Power-Up Sequence要求的。如果确定是只要有重做POR就可以的话,应该可以这样解释。  芯片里面某些模块因为没有满足上电时序的要求,状态乱掉了。         你的复位逻辑是怎么样的?你说的短暂拉高再拉低的波形比1.35V早一些,还是说后面POR拉低再拉高,比1.35V建立要早?    这个短的高电平有没有可能直接并联大电容给滤掉? 

  • 您好!

    复位逻辑是这样的:复位芯片VCC是3.3V,3.3V上电的瞬间复位芯片的POR脚会有一个0.8V的小脉冲,宽度1毫秒,然后低电平持续200毫秒再被拉高。

    这个0.8V 1MS的脉冲就是之前说的短暂的拉高再拉低的波形。由于1.35V的上电顺序是晚于3.3V大概10毫秒,所以这个小脉冲是早于1.35V的。

    您所说的POR拉低再拉高,拉高好理解,POR拉低是指什么呢?是说复位芯片上电后,将POR脚的上拉拉低吗?是不是对应的这个0.8V的脉冲?

  •     今天将POR的上拉电阻去掉后,之前说的短暂的拉高再拉低的毛刺没有了,上电后POR信号一直持续大概200MS为低电平后再拉高,可还是无法启动. 不知道POR信号上电中在需要有一个拉低的过程吗?

     

  • 手册有写。

    7.2.8.1 Power-Up Sequence

    Table 7-6. Power-Up Sequence Ramping Values

    Figure 7-1. Power-Up Sequence

    有写到。   POR是要一直拉低,待所有电源稳定后再拉高的。

  • 目前调试的结果是:

    1. 手动POR复位,在上电前手动将POR脚拉到地,上电后过几秒再释放,POR会被拉高,结果好板打印8个C后可以启动,坏板只打印8个CCCCCCCC

    2. 好板和坏板都是用的同一个电源板供电,上电顺序为1.8V-3.3V-1.5V-1.35V-POR,除POR外每个电源之间间隔时间为几个毫秒,POR与1.35V间隔几秒,应该是满足手册要求的

    3. 用CCS读到的BOOTMODE与上下拉电阻设置一致

    4. 感觉此问题与上电时序和POR复位都没什么关系,从现象上看很像是上电过程中某些寄存器或者模块出现异常,非要POR或者RESETN引脚复位一次清零后才能正常启动,但是无法解释是什么原因导致的8127内部异常

    实在是没头绪了,还请TI高手们帮忙分析解决下,谢谢!

  • 再补充一个现象:

    去掉复位芯片,改用手动POR复位,POR脚有上拉电阻到3.3V

    1. 如果是上电之前就强制拉低,上电后过几秒再放开,坏板不启动

    2. 如果上电前不强制拉低,上电后过几秒再短时间内降POR脚拉低并释放,好板坏板都可以启动

    从现象可以看出,坏板需要一个POR脚上的下拉过程,再上拉才能启动,感觉是需要清空内部寄存器或者重置内部某些模块

  • 请提供一下你的供电部分和复位逻辑这部分电路看看吧。

    顺便还是测一下上电时序,对比一下好板坏板。

    POR应该还是需要一直拉低才对吧。。。

  • 因为好板和坏板都是用的同一个电源板,所以上电时序是一样的,下图是测的上电时序,最后一张图中POR的毛刺是由上拉电阻产生的,如果去掉上拉电阻POR在上拉前会一直拉低

  • 今天做了一个实验,改变上电的顺序,原先的上电顺序是1.8V-3.3V-1.5V-1.35V-POR,现在将1.5V提前,改后的上电顺序为1.5V-1.35V-1.8V-3.3V-POR,有几块坏板可以启动,有的还是不行

    另外又做了一个实验,将坏板和坏板都启动后断开其中一路电源,然后将POR拉低,再恢复断开的电源,再将POR拉高,现象为

    1. 如果断开的是1.8V或者3.3V或者1.35V,拉低POR恢复电源再拉高POR,无论好板还是坏板都可以启动

    2. 如果断开的是1.5V,拉低POR恢复电源再拉高POR,好板可以启动,坏板必须再复位一次才能启动

    3. 如果断开的是1.5V,恢复电源再拉低POR再拉高POR,好板坏板都可以启动

    以上两个实验来看,感觉与1.5V的关系比较大,坏板1.5V断开恢复后,必须POR有一个拉低的过程再复位才能启动,而好板只需要复位就可以启动

  • 今天又发现一个重要的现象:坏板上电后能打印8个CCCCCCCC,测量DDR3的时钟是400MHZ,说明NANDFLASH里的UBOOT应该启动了,有时钟但是串口没有启动信息,很有可能是UBOOT第一阶段在8127内部运行起来,对内存时钟进行了配置,但是UBOOT第二阶段在DDR里执行应该没成功,有可能问题出在DDR这部分,不知道这样分析对不对

  • 最近发现:

    1. 将坏板的DDR频率降到200MHZ,部分坏板可以正常启动

    2. 将好板的DDR频率升到533MHZ,部分好板不能正常启动,需进行2次复位才能启动

    此现象应该能说明2次复位启动问题和上电时序无关,很大可能和DDR3部分有关

    烧录的UBOOT是在8148开发板UBOOT基础上修改的,没有修改过DDR3相关的参数,现在用的是三星的2Gb内存颗粒,而8148用的是镁光的内存颗粒,都是-1600,现在对照着修改了一些寄存器参数,没有改善,也不知道修改的对不对,请TI技术支持指教,谢谢