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.

EK-TM4C123GXL ADC Pins

Other Parts Discussed in Thread: EK-TM4C123GXL, ADS7957

I am currently programming an EK-TM4C123GXL to drive six motors. So far, it has worked great for that application, but I realized that I am going to need 42 ADC pins in order to measure all the force sensors, potentiometers, and emg sensors that I need for this project. I was wondering what the best way of doing this. None of the other controllers have the number of ADC's that I need. I was looking at the ADS7957, but I am not certain it is the best way of adding more analog pins since it only has 16 channels.

  • Hello user4169229,

    Suggest looking at optimizations on the number of ADC pin externally. If not all are required at the same time, then a analog multiplexer may be used to pipeline the channels.

    Alternatively, you may want to look at RM41 and TMS570 Cortex R uC from TI which have upto 41 channels (1 short of the magic number of 42)

    Regards
    Amit
  • user4169229 said:
    I am not certain it is the best way of adding more analog pins since it only has 16 channels.

    In the dark days of the past - we were happy - and lucky - to get 4 ADC channels.

    I don't believe you'll do much better than 16 channels - and the cost & size of the device may rise to "prohibitive" levels - if one should exist.

    If one - 16 channel device makes sense - why not 3 of the same?    Yes you could reduce to just two - but then you'd have the conversions divided between the MCU and this external ADC - complicating your effort.   (not to ask - how I know!)

    The downfall of such multi-channel converters may be the time required for all 16 conversions to complete.  (I've not looked @ your spec)

    One method to reduce the number of such ADC converters - and possibly eliminate - or confine them (just) to your MCU - is by the employment of an "Analog Muliplexer IC."   This can enable 4, or 8 perhaps even 16 external ADC channels to be "time shared" by a single MCU ADC pin.

    As always - devil in the details - things such as conversion speed, accuracy dictate much - and have not (yet) been detailed...

  • cb1- said:
    As always - devil in the details - things such as conversion speed, accuracy dictate much - and have not (yet) been detailed...

    Indeed.

    A couple of things the OP may wish to consider.

    Generally not all signals need to be the same speed.  In particular things like temperature and human inputs are slow.  You could consider splitting your signals into two or more speed groups and either multiplex the slow ones onto a subset of your ADC channels or move them to slower SPI A/Ds.  Reserve your on-board A/Ds for your fast channels.

    Signals from/near motors and their power electronics should be heavily filtered and maybe even isolated.  It's a lot easier to isolate a set of SPI lines than an analog signal.

    With multiple motors is may make sense to dedicate a micro to each (or a few) motors and make use of a comms channel such as CAN.  That may be cheaper (and is more flexible) than trying to fit all of the analog onto a single controller.

    Robert

  • Robert Adsett said:
    Generally not all signals need to be the same speed.

    Bingo - so clever - and so helpful to poster (and we (very occasional) exploiters of others' good ideas!.)

    Flew quickly/completely over the head of this reporter - yet my vote lies on this as the "breakthrough" response - this thread.

    (note to Amit - swear to God - as our posts were 1 minute apart - never even saw your, "Analog Multiplexer" suggestion.   I dislike repetition w/out acknowledgement of the first source...)

  • Thank you. All of the comments have been helpful. This is just what I needed.