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.

请TI工程师回答:F2803x的BOR是否无法关闭?

Other Parts Discussed in Thread: CONTROLSUITE

目标芯片:F28033

问题描述:

EALLOW;
SysPwrCtrlRegs.BORCFG.bit.BORENZ = 1; // BOR禁用
EDIS;

软件关闭BOR功能后,当3.3V瞬间掉到2.8~2.9V时,CPU会复位,实测复位时间(nRST低电平)在0.8us左右。已确认看门狗已关闭,外部的复位IC典型复位时间>200ms,故分析只能是BOR复位引起的。

请TI技术人员帮忙分析,谢谢@!

稍后附上波形。

  • 请TI工程师帮忙回复一下。

  • 请TI工程师帮忙回复一下。

  • 问题描述:

    EALLOW;
    SysPwrCtrlRegs.BORCFG.bit.BORENZ = 1; // BOR禁用
    EDIS;

    软件关闭BOR功能后,当3.3V瞬间掉到2.8~2.9V时,CPU会复位,实测复位时间(nRST低电平)在0.8us左右。已确认看门狗已关闭,外部的复位IC典型复位时间>200ms,故分析只能是BOR复位引起的。

    ERIC:

    建议你把复位IC的连接给断开。

    另外,在测这个功能时,示波器用捕获模式,然后电源直接从3.3V下降,一直到0,别下降到一半就重新给电,会引起上电复位。

    如果软件禁止这个功能了,那么正常是关掉的。

  • 好的,我可以按照你的方法测试一下。

    但我分析这不是由于复位IC导致的,复位IC的datasheet及我们实测都发现,复位IC会拉低nRST在240ms左右,而描述的现象中nRST被拉低只有0.8个us左右。

    另外,我们不是为了测这个功能本身,而是设备在开机闭合输出继电器瞬间将会造成给F2803x供电的3.3V电源有些振荡和拉低(至2.8~2.9V),随后恢复正常,造成了

    F2803x的复位。作为一种解决办法,我们试图关闭BOR来避免F2803x复位的出现,但是发现没有效果,于是怀疑BOR没能关掉。

  • 已测试,见附件波形。

    一个通道是3.3V电压,另一个通道是nRST复位信号。

    可见在逐渐调低3.3V供电电压后,在2.7V左右nRST信号被拉低,MCU复位。

    现在测试时已经去掉了复位IC,在MCU的nRST脚只有RC。

    所以我还是倾向于F2803x的BOR无法关闭!

    请Eric Ma帮忙确认一下,急。

  • 忘了说了,内部1.8V稳压器有使能。不知道跟这个有没有关系。

  • 再次置顶,TI真的没有工程师能回答这个问题?

  • 我今天测试了一下,BOR禁止是有效的。

    使用例程:C:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\flash_f28035
    EALLOW;
    SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; // Enable ADC peripheral clock
    (*Device_cal)();
    SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 0; // Return ADC clock to original state

    SysPwrCtrlRegs.BORCFG.bit.BORENZ =1;
    EDIS;

    // Select Internal Oscillator 1 as Clock Source (default), and turn off all unused clocks to
    // conserve power.
    IntOsc1Sel();

    测试波形:

    1. BOR禁止时,当电压下降到2.7V,RESET脚直接拉低,不会产生复位情况。

    2. BOR使能时,

    当电压掉到2.8V左右,就会产生周期性复位信号,而且XRS拉低800us左右释放,这与手册中BOR的说明是一致的。

    VDDIO BOR trip point Falling VDDIO 2.50 2.78 2.96 V
    VDDIO BOR hysteresis 35 mV
    Supervisor reset release delay Time after BOR/POR/OVR event is removed to XRS     400 800 μs


    Eric

  • 要理解复位,是指拉低后,在释放,让MCU复位跑起来。

    不是指纯粹的拉低。

  • 你的回答让我不知所措。

    你谈到所谓的BOR使能是指nRST拉低又释放,MCU能重跑起来;所谓的BOR禁止是指nRST拉低后不释放了。

    那我请问:如果VDDIO一直低于trip voltage,那么你这个BOR使能的时候它持续的将nRST拉低又释放,拉低又释放,这有什么意义?

    或者更直接的一点:我就是需要nRST在低于trip voltage的时候不要复位,更不需要它拉低nRST,需要nRST不要动作,维持高电平。

    你可以查看前面的帖子,我附上了波形,跟你的测试结果是一致的,nRST在低于一个电压值的时候就直接拉低了。我现在需要的是通过软件来解决实际的一个问题:由于瞬间VDDIO会掉到trip voltage而导致复位(掉的时间只有us级),我想通过软件来禁止BOR来避免复位,看来是做不到了。

  • 1. 你要求VDDIO瞬间下降几个us的时候,XRS引脚维持高电平,这是做不到的,也不合理。

    2. BOR的意义不是说当电压在trip point的时候,不断的复位。BOR是很多MCU芯片有的功能,它的作用是,当芯片电源受到干扰下降到trip point, 超过芯片正常工作电压范围时,复位芯片,让芯片重新跑,如果这时电源回复正常,那么芯片也重新工作起来。

    反之,如果没有BOR的复位,F28034的正常工作电压是2.97~3.63, BOR trip pint是2.96. 如果电压下降到2.96一下,BOR或XRS不动作,表示芯片还在工作,那么这时,芯片是无法保证其正常工作的,PWM可能异常,ADC可能不准,时钟可能飞了。当然也有可能仍然正常。但不能保证。

    所以,如果你要求电源下降几uf的时候,芯片没有任何反应,那意味着,你的产品就埋藏着这样的一个风险,而且是偶然性的风险。

    你的问题,不应该是要求芯片不复位。我建议你应该保证芯片的供电稳定在推荐范围。超过这个范围,无法保证。

    另外的建议:你可以在电源电路上去着手,比如加大电容。

    ERIC