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.

Interfacing with external hardware

Other Parts Discussed in Thread: TMS570LS0432, LAUNCHXL-TMS57004, TMS570LS1224, SN74CBTD1G125, SN74CBTD3306, LAUNCHXL2-RM46

What electrical precautions, if any, should I take when interfacing the GIO pins of the Hercules LaunchPad with external hardware that deliver an accept 5V TTL pulsed signals?


Cheers,

Dan

  • Dan,

    With regards to digital signals (GIO) the IOs on the MCU are generally referred to as 3.3V LVCMOS.   So they can drive your 5V TTL inputs directly, but coming in the other direction you need to introduce a level shifter or if the signal is slow enough you can use a voltage divider.

    You might take a look here at this application report scea035 or this one scea040.    These are old but the shift from 5V logic to 3.3V logic was made a long time ago so they are the most relevant I think, to start with - without getting overly complex.       Once you get your head around the 3.3V LVCMOS <> 5V TTL case then you might look at the newer app reports on ti.com under the category TI Home > Interface > Voltage Level Translation.   

    You didn't actually ask but the Analog inputs on the LAUNCHXL-TMS57004 launchpad are 3.3V only because that is all that is supported on the lower end TMS570LS0432 device.   If you were to move up in the family say to the TMS570LS1224 part that is on the new LAUNCHXL2-TMS570012 then there is an option to take 5V inputs into the ADC pins (but GIO still need translators).

  • Thanks, Anthony. Do you happen to know of any TI videos that show one how to do voltage translation? My 5V input signal to the GIO port of the LaunchPad will be a rectangular pulse of approximately 10 microsec duration. I need to edge trigger an hardware interrupt off the leading edge of that signal.

    Dan

  • I need an easy and effective solution to the level conversion problem. Is there an IC or small board that I can buy off-the-shelf to do the conversion?
  • Hi Dan,

    I made a quick check of the booster-packs listed here: http://www.ti.com/ww/en/launchpad/boosterpacks.html and didn't find any that had translators. There are prototyping booster packs available though and you could put an IC on one of these.

    There are plenty of ICs that will do the level translation job for you - the challenge is just picking the right one for your needs. I'd probably post this question to http://e2e.ti.com/support/logic/ if I were you - because you'll get a better answer than I can provide.

    But if you asked me to pick one based on what you described - I'd pick SN74CBTD1G125 for one channel, or SN74CBTD3306 for 2 channels, or maybe as high as SN74CBTD3861DBQ .. just be careful with the larger channel counts because the finer pitch packages can be difficult to hand solder. Try to stay away from 0.4mm. If you can get the DW package the pitch is easy at 1.27mm. Just my 2 cents.
  • Hi Anthony

    The Hercules LaunchPad is powered by a 5V source, correct?

    I see various places on the Hercules board where electrical ground can be obtained. Is there a place on the board to tap into a 5V source for powering other devices/circuits connected to the Hercules?

    Cheers,
    Dan
  • Yes, 5V is available on the booster pack header. See http://processors.wiki.ti.com/images/0/02/Hercules_LaunchPad_Header.pdf
    But, if you think about it, you won't be able to pull much current from the +5V pin without causing an issue. The board is normally bus powered and the on-board circuitry is going to use up most of the power budget. If you pull more than maybe 50mA I could see getting into trouble - that's just a SWAG. I'd leave something like 150-200mA for the XDS100 plus whatever your are using on the Hercules, and subtract this from the 500mA you might get from USB to figure out what you can pull.

    Also you would be directly in line with the fuse, which you might then easily blow and you'd need to replace it or you'd be down.
    You would be better off pulling from the 3.3V rail in this case because at least the voltage regulator would be there as a sort of limiter.

    The new LAUNCHXL2-TMS570012 and LAUNCHXL2-RM46 launchpads have a provision for you to add a barrel jack and provide more power for booster packs, although in this case you need to be careful that your power supply has some sort of current limiting.
  • Hi Anthony

    It sounds like I should play it safe and power the level converter and Hercules from a dedicated power source instead of powering both through the USB. Is that your assessment?

    Thanks for the link to the support/logic forum. I will post my level converter question there.

    Dan
  • Dan,

    You'd need to check the datasheet for the level shifter. If you pick something say from the CBTD family I think it will pull very little current and not be an issue. But I don't know what else (on the other side) of the level shifter you are powering as well so can't answer. You really need to add it all up to come to a conclusion.
  • Anthony

    When you say that it will "not be an issue" are you saying that if I use a CBTD family level converter then I should be able to power everything from the USB? That would be ideal. How can I check how much current the Hercules is drawing?

    Dan
  • Dan,

    What I mean is that if you pick a part like one of those CBT devices, and you are only going to draw a few mA (spec is 1.5mA max or plus a few mA if you don't drive the control input all the way to the rail) ... let's call this 5mA for grins. So the USB bus can provide 500mA, you're going to pull 5 additional mA from USB over what the board is currently pulling. If this is a problem, the board would currently be within 1% of the 'problem' area and I really don't think it's that close to the limit.

    On the other hand, I'd start worrying about pulling 50mA or so .. then it might be time to consider adding external power.

    You could go to some lengths and stick a 0.010 Ohm resistor in series w. the fuse, and measure the voltage across this resistor to get an idea of the total power consumption from +5V when running your application. Or you could try to estimate using datasheet max values (safer) but you would need to add up all the components on the board not just the Hercules.

    That may be more work than it's worth if you are just building a single prototype. Sort of up to you how to handle this depending on what you want to accomplish. If it were *me* and I was building a proto and only pulling 5 mA - I'd just try it. But if you are doing a design project for school -- and need to document all your steps and analysis as part of the exercise -- maybe it's worth being more rigourous (or maybe not if it's beside the main point of your project).
  • Thank you, Anthony.
  • Hi Anthony

    On the TI forum that you pointed me to it was suggested that I use a SN74CBTD1G125. It's datasheet gives Icc = 1.5 mA maximum. Is Icc the number I should be looking at to determine if I can use the 5V supply on the Hercules board?
  • Big thanks to Jan Cumps for showing us this today: BPW5015-IO is a board that you might be able to use.
    https://github.com/GadgetFactory/Papilio-Wings/tree/master/BPW5015-Buffer-Wing has the sources.

    But if you google the BPW5015 part # there are units for sale in various places (including ebay).

    Jan - if you're watching this you had a really cool photo showing the board connected to an RM42 launchpad doing level translation ... Dan might be interested in seeing it.
  • Yes, I would be interested in seeing that.
  • The video is here:

    The concept is explained in the datasheet for TI FET BUS switch SN74CBT16245DGGR
    (note: it's key to use this particular ic - I learned that the hard way)
    The switch's primary use is not level shifting, but it fits the purpose in a fast and good way.

    The schema design is from Jack Gasset from gadgetfactory.net . He designed it for his Papilio boards - biut it is working for the Hercules series too.

    Jack's log on this board: https://github.com/GadgetFactory/Papilio-Wings/tree/master/BPW5015-Buffer-Wing

  • Hi Jan

    That's a nice solution. What was your application?

    I wont be needing that many IO pins in my application so I will probably use a SN74CBTD1G125 instead. I ordered and received these ICs but they are really small so now I need to find a similar IC that I can mount on a breadboard.

    Dan

  • Dan - sorry to interject, but if you have small footprint parts like this you can get prototype board adapters for them. For example http://www.digikey.com/product-detail/en/33205/33205CA-ND/272914
    Fry's also carries this type of board if they have them in your area...
  • I am using this solution for level translation, where the frequency is high, and there is no need to buffer the signal.

    I'm quoting Jack Gasset here, because I have not tested the solution up to that frequency:
    The benefit of this is that it is bi-directional but also very, very fast. It can operate at speeds up to 2GHz.

    This use as level shifter is documented in TI's specifications - so you are not hacking, you are using the IC as documented.
    It is not doing buffering - that means that the current consumed by the receiver has to be provided by the sending device -
    and I haven't checked its behavior in an open-drain scenario.

    I'll have a look at the data sheet of the IC you are proposing. If it mentions the use as level shifter you should be fine.

  • Time to move to SMD :)
    It's a very forgiving technology - yes, that surprised me too. (I'm 47 and got my education during the through-hole era in the 80's. But to be honest: SMD is easier. I use hot air and a pizza oven, order my PCBs from OSHpark for a few dollars)
  • Anthony

    Ha. I should have thought of that. Thanks!
  • Hey, the chip you selected has the level shift built in. The only difference with Jack's design is that it is uni-directional.
    If you need input-only or output-only level shifting, you're good to go.