2
\$\begingroup\$

I'm working with a Microchip USB hub IC (USB2533 to be specific) and can't nail down a straightforward answer on how their configuration straps work through my own research. On this device, many pins perform multiple functions which is done through the use of configuration straps.

Here's what I've found in their documentation, quoting from the datasheet directly:

Note 3-3: Configuration strap values are latched on Power-On Reset (POR) and the rising edge of RESET_N (external chip reset). Configuration straps are identified by an underlined symbol name. Signals that function as configuration straps must be augmented with an external resistor when connected to a load. Refer to Section 6.3, "Device Configuration Straps," on page 23 for additional information.

And Section 6.3 says:

Configuration straps are multi-function pins that are driven as outputs during normal operation. During a Power-On Reset (POR) or an External Chip Reset (RESET_N), these outputs are tri-stated. The high or low state of the signal is latched following de-assertion of the reset and is used to determine the default configuration of a particular feature. Configuration straps are latched as a result of a Power-On Reset (POR) or a External Chip Reset (RESET_N). Configuration strap signals are noted in Section 3.0, "Pin Descriptions," on page 7 and are identified by an underlined symbol name. The following sub-sections detail the various configuration straps. Configuration straps include internal resistors in order to prevent the signal from floating when unconnected. If a particular configuration strap is connected to a load, an external pull-up or pull-down should be used to augment the internal resistor to ensure that it reaches the required voltage level prior to latching. The internal resistor can also be overridden by the addition of an external resistor.

From this, my takeaway is that weak pullups/pulldowns are to be applied to set the configuration, which is only determined on startup or reset. Afterwards, the pullups/pulldowns are ignored and the pin is driven as an output (hence weak pullups/pulldowns so as not to interfere with normal operation). I believe the timing diagrams (figures 9-2 and 9-3) support this conclusion.

However, I wasn't able to find anything that explicitly states that these weak pullups/pulldowns are the solution. The other scenario I can come up with is that the configuration straps are to be applied for a brief period of time and then removed after a reset or power cycle using an external device (unused pins on a microcontroller, for instance). I'd rather not commit to one design until I'm sure due to the turnaround time and expense of getting it wrong.

Am I interpreting Microchip's datasheet correctly?

\$\endgroup\$
3
  • \$\begingroup\$ Your on the right track, but I am not sure where you draw the line for "weak" pullup . They are specifically telling you to enhance the "weak" on-silicon resistor with a "stronger" external resistor for the pinstrap options, even if you plan to use the "default" option. \$\endgroup\$
    – crasic
    Commented May 4, 2021 at 17:11
  • \$\begingroup\$ "Weak" in a wishy-washy sense, in that it's enough to give the pin a stable state, but doesn't have enough influence to affect how it operates when driven as a output. My knee-jerk reaction to any pullup/down is to throw a 10k resistor at it, but that's for pins whose sole job is to be a configuration input. \$\endgroup\$
    – b.angle
    Commented May 4, 2021 at 17:15
  • \$\begingroup\$ 10K should have no impact on the drive for most applications , but you can definitely test if you have a concern or are power sensitive \$\endgroup\$
    – crasic
    Commented May 4, 2021 at 17:24

1 Answer 1

2
\$\begingroup\$

The weak pull-up/pull-down being referred to is internal to the device. Typically they are 50k-100k; actual value depends on the design and due to the manufacturing process may vary quite a bit. As stated, the weak pull-up/pull-down is simply there to prevent the pin from floating if it is not connected to anything.

To set a configuration, one needs to connect a stronger pull-up/pull-down resistor externally. Typically 10k is used. This value will over power the internal pull-up/pull-down but is not too strong to interfere with the output when driven.

When the device is in reset, the output pads are disabled and in a high impedance state. At this point the pull-up/pull-down resistors pull the pin high/low as desired. As soon as reset is released (see the data sheet timing) the device will capture the state of these pins and configure itself for the proper operation. At this time the device will then enable the output driver.

\$\endgroup\$
1
  • \$\begingroup\$ Sounds like I was on the right track. Thanks! \$\endgroup\$
    – b.angle
    Commented May 10, 2021 at 12:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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