The attached photo is pulled from a Piccolo DSP reference design from TI. They use 57.6k pull-up resistors and 2.2k pull-down resistors to allow configuration of boot pins at startup. I've seen all sorts of values for static configurations like these, and I'm not sure why you would choose 57.6k/2.2k vs. 10k/1k, or 10k/0 (i.e. tie switch pin directly to GND).

Are the SW1 pins not shorted to GND to protect against an accidental short if the GPIO is misconfigured to be an output?

Why did they choose 57.6k/2.2k?

Piccolo boot pins

Another example is the write-protect pin on an EEPROM. It can be configured via pull-up/down resistor to set a static config, but I've seen designers choose to use 330/1k/2.2k/10k/etc resistor to pull the pin to GND or VCC (even when the pin can't be misconfigured as an output). The only reason I can think of is that this provides flexibility for some kind of automated manufacturing ICT test to pull the pin in the other direction. For example, if the EEPROM is normally write protected, but manufacturing wants the ability to program in-circuit, then connecting the pin via 2.2k ohm resistor (instead of shorting it to VCC or GND) allows the test probe to pull the pin into write-enable mode temporarily.

What are the other considerations for choosing pull-up/down resistor values?

  • \$\begingroup\$ Hopefully that answers your question, it only mentions pull-ups but the same principles apply. \$\endgroup\$ – PeterJ Feb 19 '14 at 8:06
  • \$\begingroup\$ An important factor will be what values they have in stock/just happen to like because they can/are already on the bill of materials. \$\endgroup\$ – jippie Feb 19 '14 at 8:19
  • \$\begingroup\$ @PeterJ (or anybody else) I somehow missed that question before posting this one. One thing I didn't see an answer to is why the values for pull-up/down are asymmetric. For example, in the EEPROM WP pin example, I've seen 10k used for the pull-up option, but 1k used for the pull-down option for the same pin (assuming only one footprint is actually stuffed to set the config). Why not 10k for both? Is this to make sure the pin voltage is correct even if both config resistors are accidentally stuffed during manufacturing? Or is there a reason for the different values for pull-up/down? \$\endgroup\$ – cdwilson Feb 19 '14 at 19:33

As you have demonstrated with your experience pull-ups/downs generally can be a wide range of values and so if other parts of the design have used (say) a 57k6 for something more critical, why add another part to the bill-of-material - use what you already must have.

I'm not saying this is always going to be the case - I can imagine a scenario where a particular company may have excessive stock of one value - using that value helps the inventory.

As for the 2k2 resistors in series with the switches - your reasoning is good and it may also be that the switch is located some distance from the chip and the 2k2s protect the chip in some way. TDO is an output during JTAG programming - there isn't enough shown of the schematic to determine what the other line is.


Not the answer you're looking for? Browse other questions tagged or ask your own question.