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.

TMS320F28335: Possible to us RC to reset microcontroller

Guru 20045 points
Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE, TMDSCNCD28335, TPS3828

Hello,

Is it possible to use an RC circuit as a reset circuit to reset the TMS320F28335?

Thanks,

Stephen

  • Stephen,

    Yes, it is possible to use and RC circuit to drive the XRSn input. Please remember to make the XRSn input open drain and provide an external pullup (per datasheet).

    Regards,
    Peter

  • Hello Peter,

    The reason I asked is that I didn't think it met the 2nd requirement listed on page 43 of the TMS320F28335 datasheet., i.e.

    1. During power down, the XRS pin must be pulled low at least 8 μs prior to VDD reaching 1.5 V. Meeting this requirement is important to help prevent unintended flash program or erase.

    Also, what is the XRS pin's internal reset threshold?

    Thanks,
    Stephen

  • Hello Peter,

    Any updates?

    Stephen

  • Stephen,

    We do not recommend getting anywhere close to XRSn threshold - you should keep it rail-to-rail by using a strong pullup

    Regards,

    Peter

  • I am not sure what you mean.

    The RC circuit has a specific time constant which is based on the time it takes to reach 2/3 of the final voltage.  Knowing the threshold voltage will allow me to more accurately compute the RC values.

    What about the following isue?

    1. During power down, the XRS pin must be pulled low at least 8 μs prior to VDD reaching 1.5 V. Meeting this requirement is important to help prevent unintended flash program or erase.

  • Hi Steven,

    The XRSn pin is an open-drain output which means it should only be mated to an open drain connection for correct functionality. An open-drain pin requires a pull-up. On the F28335 device, this pull-up is provided internally. Because it is open-drain, the device only drives XRSn low, it doesn't drive it high. Consequently, any signal that you connect to the XRSn pin should only drive XRSn low and leave it as high-impedance otherwise.

    The problem is not from you driving XRSn with an RC. If you do this, you are effectively making the pull-up on XRSn stronger which could be a problem because as i mentioned, the XRSn is driven low by the device. If the effective pull-up is too strong, the device will be unable to drive it low.

    Let us know if this is not clear.

  • Ok, I understand, so the RC resistor should be fairly large (20k to 30k or larger).

    I believe there are several other problems with using an RC:

    1. The Capacitor will discharge into XRSn when XRSn goes low, potentially damaging the device.  Is that possible?

    2. The XRSn pin needs to be held low for 8us prior to the VDD reaching 1.5V.  Does the TMS320F28335 take care of this?

    Could you please comment on both of these issues.

    Thanks,

    Stephen

  • Stephen,

    You might have misunderstood my conclusion. We don't quantify the XRSn pull-up requirements on the F28335 device since it's internal so i can't tell you for a fact what value of R will be non-problematic. You might be ok with 20k or larger but as i said, we can't guarantee this since we don't recommend using an additional external pull-up.

    1. The Capacitor will discharge into XRSn when XRSn goes low, potentially damaging the device.  Is that possible?

    I don't think this is possible provided the capacitor is charged to <=VDDIO. The capacitor can't force the current, the pin will take as much as it needs. If the capacitor is charged to above VDDIO then yes, device could get damaged.

    2. The XRSn pin needs to be held low for 8us prior to the VDD reaching 1.5V.  Does the TMS320F28335 take care of this?

    No, device doesn't take care of this. This is a requirement on the user. Simplified, it means "hold the device in reset before you power it down".

  • Hello Frank,

    Ok, from your comments, I think an RC should not be use to drive the XRSn pin. 

    1. The capacitor is charged to VDDIO after power-up.  Therefore, if XRSn goes low at any time, the capacitor will discharge through the pin and possibly damage the device.

    2. The XRSn pin needs to be held low 8us prior to VDD dropping to 1.5V. 

    Do you agree?

    Stephen

  • Hi Stephen,

    I checked the controlCARD design for the F28335 device and it looks like an RC is being used. We don't require customers to do this on F28335 but if you still wanted to use an RC, you could go with the values used on the F28335 controlCARD which are 2K and 100nF. I haven't seen any reports of failing XRSn with those values on the controlCARD so i think you should be ok. Let us know if you need any other help.

  • 2000*0.1e-6 = 200us which is less than 32*OSCCLK required by the datasheet.  The 32*OSCCLK low by the datasheet is after the clock is stable, so I would think the RC time constant should be longer.

    Also,  the XRSn needs to be kept low for 8us before Vdd reaches 1.5V.  The RC circuit won't be able to do that.

  • Stephen,

    I wasn't involved in the development of the F28335 device so i'm not sure of the reason for the miscorrelation between what was implemented on the ControlCARD and what the datasheet calls for. Let me sync up with the engineers involved and get back to you.

  • Hi Stephen,

    I would recommend looking at the F28335 controlCARD schematics as an example implementation:
    In C2000Ware, \C2000Ware_X_XX_XX_XX\boards\controlCARDs\TMDSCNCD28335\F28335controlCARD_HWDevPkg_ZJZ [R2.2]\

    1) As Frank mentions, there is an RC filter on the controlCARD - a 2.2kohm resistor with a 100nF capacitor
    2) It also contains a voltage supervisor, TPS3828 - this is there to reset the device when the 3.3V line starts going low.  I will note that this supervisor's trigger point should be higher.
    3) There is a dual buck converter which has sequencing capability - made so that first 1.2V comes up then 3.3V, etc
    4) XRSn, as Frank mentions, can be pulled low internally by various sources (like watchdog reset) or externally via the supervisor chip.


    We generally recommend an external 2-10K resistor on XRSn.  This is not strictly necessary as there is a pull-up internally.  However, it does help with noise immunity - especially for the high EMI situations that this device is generally used in (power supplies, drives, etc).  For this device, each pin can source/sink 4mA, so this value is not an issue for the device.

    In addition to helping to ensure little code is run as the device is out of spec (as it's powering down), the supervisor also helps to meet the 2nd requirement you mentioned earlier in the thread.

    You can look at the VIL & VIH parameters in the datasheet to determine when the XRSn signal's thresholds are.

    Hopefully this helps!


    Thank you,
    Brett

  • Hello Brett,

    Ok, that answers my question.

    Thanks,

    Stephen

  • Why do you think the trigger point of the TPS3228 should be higher?

  • Hi Stephen,

    Ideally the external voltage supervisor would put the C2000 in reset once it goes outside of the Recommended Operating Conditions "VDDIO" voltage range.

    For example, during power-down & with this supervisor, the C2000 may execute some lines of software for which its execution may not guaranteed to be correct before becoming un-powered.  This instance may or may not be an issue, based on application.


    Thank you,
    Brett