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.

TMS320F28069 Pullup on GPIO

Other Parts Discussed in Thread: TMS320F28069

Hi,

In the datasheet for the TMS320F28069 (sprs698e) it is written that on pullups on PWM pins are not enabled. In the TRM (spruh18e) it is written, that pullups on GPIO0 to GPIO11 are disabled while and after reset state. The figure 1-73 clearly shows this and default values that have been read out of the device show the same. But what about GPIO30 and GPIO31? This can also be PWM pins and have pullups enabled.

In figure 1-74 it is written that GPIO42 and GPIO43 have internal pullup enabled but values read out of the device show that they have been disabled which I think is ok because they can be PWM pins. But what about GPIO44 and GPIO58? They can also be PWM pins and have pullups enabled.

Also the table 1-82 does not reflect reset values of figure 1-74 in the TRM.

Can someone from TI please clarify this situation. Thanks.

Values have been read out of the following device: TMS320F28069MPZT-CB

Best regards,
Patrick

  • Hi Patrick,

    For this device, the rule is: for GPIO pins which can be configured as a PWM pins by changing their GPxMUXn value to 1 (PERIPHERAL SELECTION 1) will have their pull-ups disabled.  The rationale is that these pins are where you'd most likely want to output the PWM pins in the mux.

    The rule matches what you are seeing in the device.  However, the rule doesn't appear to be explained as well as it could have. 

    In addition, there is a bug in Fig. 1-74 regarding GPIO42 and GPIO43 and one with Table 1-82, both of which you've uncovered.  Both are valid and I will submit a bug fix requests for them.

    Hopefully this helps.


    Thank you,
    Brett

  • Brett,

    Why is this rule not valid for GPIO30, GPIO31, GPIO44 and GPIO58? They can be configured as a PWM pin and their Pullups are enabled after Power-Up.

    Is this a silicon bug or is this a intended exception from the rule?


    Best regards,
    Patrick

  • Patrick,

    For GPIO30, GPIO31, GPIO44 and GPIO58 - the PWM option is under PERIPHERAL SELECTION 3.

    For example with GPIO30, we designed the mux "expecting" it to be used as a GPIO or a CAN signal most of the time.  Having it selectable as a PWM output was merely an extra option and therefore we enabled the pull-up by default.  We can talk about whether this was the right choice or not, but nonetheless, the above was how the chip was designed.

    Having pull-resistors on unused pins (which are configured as GPIO inputs) is often TI-preferred to get the best performance out of the chip.  Therefore we wanted to often enable pull-ups if we didn't expect them to be used as PWM (to save the customer from having to put resistors on their custom board).

    ---

    Please keep in mind that a "strong enough" pulldown can overpower the internal pullup.  The current draw of each GPIO with pull-ups enabled is a spec in each device's datasheet.  From that value you can determine what pull-down value is strong enough.  From memory, it is around 1K.


    Thank you,
    Brett

  • Brett,

    Thanks for your answer.

    For us it is all about the knowledge. It's not about wrong or right. I'm shure TI engineers made a good choice on that question.
    Most important for me is that I know that GPIO30, GPIO31, GPIO44 and GPIO58 wil have their pullups enabled after powerup and we can do our design accordingly.

    The only thing I recommend is to update the documentation (datasheet and technical reference manual) on this topic just to make things clear.

    Thanks for the support and best regards,
    Patrick