software pull-up resistor on reset pin possible?

36 posts / 0 new
Last post
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I forgot to put a pull-up resistor on my ATmega2560 and for design reasons it will cause me a lot of trouble to solder one on between power and reset.

Is there a pull up resistor I can turn on in software?

(couldn't find any info on this in the datasheet, so I'm thinking no, but just in case)

How do YOU make a robot?
http://www.societyofrobots.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

for design reasons it will cause me a lot of trouble to solder one on between power and reset.

You should have both those signals on the ISP header, and the pads are probably near each other.

You can put lipstick on a pig, but it is still a pig.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I realize that, but:

Quote:
for design reasons it will cause me a lot of trouble to solder one on between power and reset

:mrgreen:

How do YOU make a robot?
http://www.societyofrobots.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You're being a little cryptic. But... assuming you have an ISP header (do you?) then you really don't need it when the ISP is connected, so you could solder a resister to two female pins and plug in the reset pull-up when the ISP isn't connected.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

All new chips have a weak pull up on reset anyway. The 2 pins, in a standard ISP header, are at the opposite ends. (maybe you don't need one? Use the BOD for reset)

Is the header through hole? An 1/8w resistor could be mounted under the pcb....like the good professional equipments do....

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

societyofrobots wrote:
...for design reasons it will cause me a lot of trouble to solder one on between power and reset.

Evidently, you didn't study the Maga2560 data-sheet well enough!

societyofrobots wrote:
Is there a pull up resistor I can turn on in software?

(couldn't find any info on this in the datasheet, so I'm thinking no, but just in case)


Look at page 60, Figure 12.2.1. The drawing clearly shows an internal pull-up resistor connected between VCC and the RESET line.

On Page 370, Table 31.1, at the bottom of the page, it states... The internal RESET Pull-Up resistor is specified to be between 30K Ohms and 60K Ohms.

I think you've learned something for your next design, I hope.

As a suggestion...

On your next design, you might want to consider adding just a 0.1uF to 1.0uF capacitor between RESET and GND. But in addition, add a "Split Pad " style shorting jumper between the end of the capacitor that connects to RESET and RESET proper. Then, without the "Split Pad " jumper shorted, you can use ISP programming without interference by the capacitor. When the program is complete and fully debugged, you simply place a solder short across the "Split Pads " and you're good to go. I really don't think an external Pull-Up resistor is required in most cases - especially if there is a capacitor holding the RESET input steady.

Carl W. Livingston, KC5OTL
microcarl@roadrunner.com

"There are only two ways to sleep well at night... be ignorant or be prepared."

The original Dragon Slayer !

Long live the AVR!!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The internal pull-ups are only available on I/O Port pins. The Reset pin is not listed as an I/O Port pin on your AVR, therefore it has no software selectable internal pull-up. However, as john pointed out it does have a non-selectable internal weak pull-up. See this application note for more information:

AVR042: AVR Hardware Design Considerations
http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Unfortunately that weak pull up resistor wasn't enough on this design - it always was before so I left out adding one . . . lesson learned.

Thanks Mike, looks like I'll be soldering a resistor to a thousand boards. Yeap, you read that right! I was hoping for a simple software solution . . .

For everyone else, next time trust me when I say its not feasible :wink:

How do YOU make a robot?
http://www.societyofrobots.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Unfortunately that weak pull up resistor wasn't enough on this design - it always was before so I left out adding one . . . lesson learned.

I'm more curious as to *why* the internal pullup isn't enough. Makes me suspect other problems with the design. Can you elaborate on the problems you are having?

Quote:
For everyone else, next time trust me when I say its not feasible Wink

But see, it turned out to be feasible, just not very pleasant 8-)

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

tpappano wrote:
I'm more curious as to *why* the internal pullup isn't enough. Makes me suspect other problems with the design.
The ATMEL application note has an answer.
AVR042 wrote:
The reset line has an internal pull-up resistor, but if the environment is noisy it can be insufficient and reset can therefore occur sporadically......
A discussion of different solutions depending on how you use the AVR reset pin follows.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

tpappano wrote:
Quote:
Unfortunately that weak pull up resistor wasn't enough on this design - it always was before so I left out adding one . . . lesson learned.

I'm more curious as to *why* the internal pullup isn't enough. Makes me suspect other problems with the design. Can you elaborate on the problems you are having?

Quote:
For everyone else, next time trust me when I say its not feasible Wink

But see, it turned out to be feasible, just not very pleasant 8-)


I think Tom has it right.

But thinking out loud here, I'd like to offer the following...

My personal feeling is that 40K Ohms to 60K Ohms is quite enough of a pull-up resistor for all but the noisiest of environments. After all, the intent of the internal pull-up resister between VCC and the RESET line is to get that RESET line up to VCC, or at least very close. So, if the input impedance of the RESET input is say, 1Meg Ohm, the internal pull-up resistor 40K Ohm and VCC = 5 Volts, then:

                1Meg
Vreset = VCC ---------- = 4.8 VDC.
             40K + 1Meg

This is plenty good to pull the RESET up to a proper logic high level.

And even if you treated the RESET input in Thevenin:

                500K
Vreset = VCC ---------- = 4.6 VDC.
             40K + 500K

Still plenty good!

A capacitor of sufficient value will filter out any noise that might cause the RESET line to go low enough to trigger a valid RESET sequence.

Obviously, the Atmel engineers must be of at least close to the same opinion, else they would have used internal pull-up resistor values in the range of 4.7K Ohm to 10K Ohm.

Carl W. Livingston, KC5OTL
microcarl@roadrunner.com

"There are only two ways to sleep well at night... be ignorant or be prepared."

The original Dragon Slayer !

Long live the AVR!!!

Pages