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.

Unused GPIO and AIO pins in Concerto and Piccolo

Hello,

I saw a good reasoning in datasheet of Piccolo. It is:

" Unused ADCIN pins that are multiplexed with AIO function should not be directly connected to analog ground. They should be grounded through a 1-kΩ resistor. This is to prevent an errant code from configuring these pins as AIO outputs and driving grounded pins to a logic-high state. "

1- This is a very good reasoning. I wonder, since it is for Piccolo, if I use 1 k resistor for unused ADCIN pins in Concert, does it cause problem for Concerto? 

2- Is this reasoning valid for unused GPIO pins? I mean, can I connect the unused GPIO pins to ground through 1 k resistor?

Thanks in advance for any guide.

Best regards,

Masoud.

  • 1.  I don't see any reason you couldn't apply this reasoning to Concerto AIOs.

    2.  I think the main difference between GPIO and AIO is that the GPIO direction control registers appear to be EALLOW protected whereas the AIO direction control registers appear not to be EALLOW protected.  This gives the GPIOs some natural protection against spurious writes that the AIOs don't have.  I still think you could do this, it just depends on if the additional error tolerance is worth it to you for the additional PCB space/component cost/assembly cost of the external resistors.   

  • Thanks Devin,

    For the question 1 since I did not find any such discussion,

    Regarding second part, thank for the good and comprehensive answer.

    Best regards,

    MASOUD.

  • Most cost effective thing to do with unused GPIO pins is leave them unconnected and have software configure them to be outputs.

    Regards,

    David

  • Hi David,

    Thanks a lot for the answer.

    Since at reset, the GPIO pins are defined as input (default condition), during power up they may cause and issue to functionality and power. That is the reason I am trying some how take care of them.

    Best regards.

  • Hi Masoud,

    The impact to functionality (e.g., noise causing problems) is not an issue since one of the first things you'd do is configure the pins as GPIO outputs.  This happens before you start your main application code.  In terms of power consumption, yes, there can be some additional consumption while the pins are inputs.  But this is pretty small and occurs only for a very short interval before the pins are configured as outputs.

    Of course, absolute best practice is to never leave a pin floating even for a short interval of time.  In a military or medical application for example, one might want to follow this absolute unyielding design rule.  But in most applications, this type of design-regardless-of-cost is not necessary.

    Anyway, best of luck with your design!

    Regards,

    David

  • I should have added, on many of the C2000 devices, most of the GPIO pins have (weak) internal pullups (or pulldowns) that are enabled at reset.  One exception to this are the PWM pins since we do not know what type of power converter the user may be hooked up to.  But for those with internal pulls enabled, the pins will not be floating.  Since the internal pulls are weak, best noise immunity will be to have software configure over to outputs during code init, as I suggested before.

    Regards Again,

    David

  • David,

    Thanks a lot for very comprehensive answer. 

    Best regards,

    Masoud.