Mysterious voltage drop?

Go To Last Post
31 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

 

I am trying to interface with the TMS9918ANL (TI's Video Display Processor, 30 years old!).  Min voltage requires for this chip is 4.75V.

 

I use the ATMEGA to control it, and supply the system with a 5V supply via my PC's USB port.  Everything is on breadboard.  I have two pieces of breadboards connected together, where each chip resides on each.  When I measure the voltage at the GND and Vcc pins of the TMS9918ANL, I only get around 3.5V.  Why the voltage drop there? In fact, measuring the voltage on the breadboard that gets connected to the USB power, I get around 4.85V.  But measuring the voltage of the other breadboard, I get around 3.5-3.7V.  I should be getting consistently 4.8-4.9V across the breadboards.

 

Thanks for any tips.

 

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What size wire are you using between the breadboards?  If it's too small you might have the voltage drop due to that.  I remember using that video processor, didn't it have hardware sprite animation built in?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

dksmall wrote:

What size wire are you using between the breadboards?  If it's too small you might have the voltage drop due to that.  I remember using that video processor, didn't it have hardware sprite animation built in?

 

Thank you!  That was exactly what I thought.  And I am going to try it. In fact, I just replaced the power wires with bigger ones, but haven't tested out yet.  yes, the TMS9918 has built-in hardware for sprites.  But interfacing it is not easy, as it requires 4116 DRAM chips (16K x 1).  Lots of wires.  But, I am getting the TMS9928ANL, which can work with 32K x 4 DRAM, so only two DRAM chips needed, instead of 8, for 16KB of video RAM.

 

I'll post later if the bigger wire helps.

Last Edited: Tue. Mar 29, 2016 - 11:41 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

unebonnevie wrote:

dksmall wrote:

What size wire are you using between the breadboards?  If it's too small you might have the voltage drop due to that.  I remember using that video processor, didn't it have hardware sprite animation built in?

 

Thank you!  That was exactly what I thought.  And I am going to try it. In fact, I just replaced the power wires with bigger ones, but haven't tested out yet.  yes, the TMS9918 has built-in hardware for sprites.  But interfacing it is not easy, as it requires 4116 DRAM chips (16K x 1).  Lots of wires.  But, I am getting the TMS9928ANL, which can work with 32K x 4 DRAM, so only two DRAM chips needed, instead of 8, for 16KB of video RAM.

 

I'll post later if the bigger wire helps.

 

I'll be damned! IT WORKS!  Now get I get the TMS9918 going and it notifies me via interrupt (/INT output pin) when a vertical retrace happens!!! Woot!  I use bigger wires to make sure it fits snuggly into the breadboard's holes, especially the incoming 5V and GND wires.  Where needed, I tin the tips of the wire with solder enough to make them bigger.

 

I spent one week checking my circuit and code over and over and over, until I started checking the voltages. Oh, man!!!!!  Lesson learned!  Thank you!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Never hurts to run multiple power and ground wires - especially ground wires.

 

I was excited about the TI-99 whatever-it-was computer when it came out.  As I remember, the hardware was quite powerful for the time.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Post a pitcher. Everyone wants to see if you have enough caps...

 

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bobgardner wrote:

Post a pitcher. Everyone wants to see if you have enough caps...

 

 

Ok, the damn thing is not working reliably.  Attached is the picture.  I power the entire project with a 5V USB power supply from the USBTINY programmer gadget.  The total ampere drawn by by system is around 350mA when everything is running at maximum utilization. So, that is less than the 500mA max for USB 2.0's ampere rating.  Plus, my Mac Pro is not complaining, meaning not overdrawn over the USB port.

 

The RIGHTMOST board has the ATMEGA644 as the controller to the TMS9918ANL, which is on the MIDDLE board.  The MIDDLE board also has two DRAM (4116) chips, and the LEFTMOST board has the rest of the DRAM chips, 8 total, each at 33mA max when in use.  These DRAMs are single +5V input, no negative or +12V needed.

 

The picture shows 3 pieces of breadboards attached together.  The power source starts from the RIGHTMOST board, which is annotated with a GREEN colored rectangle.   The breadboard with the GREEN color rectangle has 4.89V coming in, ideally 5V, but that's what I get.  The electrolytic cap is 100uF of 50V rating in parallel with a 0.1uF ceramic cap.  The middle breadboard is annotated with a YELLOW rectangle.  And voltage drops to around 4.3V there.  The leftmost breadboard is annotated with a RED rectangle.  And there the voltage dropped to 3.5-3.7V.  What the...

 

Thanks for any tips.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Put 100nf caps across the chips. The drams are particularly picky. You might have trouble getting it reliable using breadboards.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
Put 100nf caps across the chips. The drams are particularly picky. You might have trouble getting it reliable using breadboards.

 

Already have.  Please see the image attached previously.  Each IC has a 0.1uF decoupling cap as close as possible to their VCC pins.  Right now, the DRAM is the least of the problem.  I just want to have the TMS9918ANL to get enough juice (voltage) to perform, and it does sometimes but not always.

Last Edited: Thu. Mar 31, 2016 - 12:40 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm amazed that you got any 30-year-old circuit working on a multi-row breadboard like that. 

 

You need a real power-supply, not a USB feed.  Even a little black plastic wall-wart telephone charger that is putting out 1 Amp at +5V would be OK.

 

I'd put the DRAMs on a point-to-point-wired prototype board, at least.  Use machined-hole sockets for these old DIP 40-pin ICs.  You can usually 18 or 24 pin machined-hole sockets and split them in half with diagonal cutters to make a 40-pin 0.600" IC socket.

 

It might be even possible to stack them in a tower.  In a DRAM tower, the D and Q pins are bent out 90 degrees so that they point out away from the body of the IC.  Then eight DRAMs are stacked one on top of another like shipping containers.  The identical pins on each IC are soldered together; the bottom of the pin from the top IC is soldered to the top flat surface where the pin on the bottom IC enters the body of the IC.  It ends up looking like a miniature skyscraper/porcupine.  Wires are then soldered from the D and Q pins to the Display Controller's data bus.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This power distribution is simply awful.  From the incoming power on the right side to the chips on the left side I count 32 (!!) connection junctions (half on the gnd wires, half on the Vcc wires).  Every connection is a little unreliable resistor, messing with your power.

 

I would insert the incoming power wires directly into the rightmost power rail (or a power rail on the middle board), along with corresponding caps.  I would keep all the daisy-chained power wiring, but I would also add AT LEAST one power wire and one ground wire directly from the rightmost rail to the leftmost rail, making your power distribution a full circle rather than a straight line.  And I might add an additional short power and ground wire between each board to each neighboring board.

 

Last Edited: Thu. Mar 31, 2016 - 01:27 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'd normally use dot board (perfboard) to build this kind of stuff with tinned wire for the power and 32swg magnet wire with heat strippable coating for the interconnect.

Capacitors across the chips - not that i can see. Capacitors yes, across the chips? No.

Last Edited: Thu. Mar 31, 2016 - 02:26 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Simonetta wrote:

I'm amazed that you got any 30-year-old circuit working on a multi-row breadboard like that. 

 

You need a real power-supply, not a USB feed.  Even a little black plastic wall-wart telephone charger that is putting out 1 Amp at +5V would be OK.

 

I'll give that I try, although I think I did already but that was before using bigger wires.  I will see if it helps to move the power to the middle breadboard piece.  Thanks for your input.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

unebonnevie wrote:

Simonetta wrote:

I'm amazed that you got any 30-year-old circuit working on a multi-row breadboard like that. 

 

You need a real power-supply, not a USB feed.  Even a little black plastic wall-wart telephone charger that is putting out 1 Amp at +5V would be OK.

 

I'll give that I try, although I think I did already but that was before using bigger wires.  I will see if it helps to move the power to the middle breadboard piece.  Thanks for your input.

 

Alright....I tried with a USB power adapter that gives 5V and 1.0A output.  I arrange the power to be at the middle bread board piece.  See picture.  Here is what multimeter tells me (voltage wise).  If I measure the incoming voltage of the TMS9918ANL with the red lead to its VCC pin and the GND lead to the GND pin of the USB power adapter (the small green board),  I get about 4.53V.  If I put the multimeter's GND lead to the TMS9918ANL's VSS pin, with the red lead to its VCC pin, I get 3.56V!!!!

 

Now, the ATMEGA644 (the 40-pin PDIP on the right most piece breadboard) gives me a nice 4.54V when the multimeter's read lead goes to its VCC pin and the GND lead goes to its GND pin.  In other words, the ATMEGA644 is getting the voltage nicely, although could be more, perhaps to the 4.89V range.

 

So, what's going on? :-)

 

 

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
I'd normally use dot board (perfboard) to build this kind of stuff with tinned wire for the power and 32swg magnet wire with heat strippable coating for the interconnect. Capacitors across the chips - not that i can see. Capacitors yes, across the chips? No.

 

How do you mean capacitors across the chips?  I certainly have decoupling cap 0.1uF for each chip.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

kk6gm wrote:

This power distribution is simply awful.  From the incoming power on the right side to the chips on the left side I count 32 (!!) connection junctions (half on the gnd wires, half on the Vcc wires).  Every connection is a little unreliable resistor, messing with your power.

 

I would insert the incoming power wires directly into the rightmost power rail (or a power rail on the middle board), along with corresponding caps.  I would keep all the daisy-chained power wiring, but I would also add AT LEAST one power wire and one ground wire directly from the rightmost rail to the leftmost rail, making your power distribution a full circle rather than a straight line.  And I might add an additional short power and ground wire between each board to each neighboring board.

 

 

I just use the USB programmer power and connect the 5V out and GND directly next to the TMS9918ANL's VCC pin.  IT WORKS.  Breadboard!!!!  And to be sure, I do make sure power distribution is a loop.

Last Edited: Fri. Apr 1, 2016 - 02:46 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

unebonnevie wrote:

So, what's going on? :-)

 

What's going on has nothing to do with the resistance of wires or their lengths. It's down to poor contact between component legs and the strips inside your breadboard, and between wire ends and your breadboard.

 

As most of your chips are quite old I'd hazard a guess that their legs are quite corroded. I'll also wager that your breadboard contacts are dirty and no longer have the spring in them that they used to (if they ever did).

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brian Fairchild wrote:
As most of your chips are quite old I'd hazard a guess that their legs are quite corroded. I'll also wager that your breadboard contacts are dirty and no longer have the spring in them that they used to (if they ever did).

 

You lost the wager! :-) Chip legs are almost in pristine condition.  No corrosion.  Breadboard pieces are brand new, although bought from China on eBay, which could be an issue!  LOL!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you actually measured the voltage drop at each point? There may be no visible decrosion but there may be oxide. Once you've measured the voltage drops at various points, then wiggle the ic in and out to wipe off the oxide and re-measure.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Disconnect the wire(s) going into VCC on the VideoDisplay Controller IC.  Measure the voltage.  It is likely to be @+4.8.  Put your DVM into ammeter mode and measure the current going into the VideoDisplay Controller IC.   Is it in the range that the data sheet says that it should be? 

 

Have you been to the old home computer TI-994A web sites and asked anyone who has posted there if they have had this same situation?

 

What is the "provenance" of this IC?  Sometimes over the course of 30 years someone will have goofed up and put the wrong voltage or signals on the IC, and not said anything to anyone when it now measures 3.5 instead of 4.8V on Vcc.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Send another picture with a BFC on every red and black bus. Like a dozen of em.

 

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Let's assume you are using something like 30AWG wire as an interconnect. That has a resistance of 340 ohms per kilometre. Or, 0.34 ohms per metre.

 

Your leads are, lets assume worst case, 15cm long so they should have a resistance of 0.05 ohms.

 

You are seeing voltage drops of up to 1 volt. Ohm's Law tells us therefore that, if the leads are "too long" you must be drawing a current of 1/0.058 = 20 Amps. As you clearly aren't drawing this much current then there must be something else going on.

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What everyone means by putting caps "across" the chips is that each cap's leads should connect *directly* to the chip's power and ground pins. No other way is acceptable. I perf-boarded a 9918 many years ago, and I still have two TI99s 8). The TMS9900 had an instruction set almost identical to the PDP-11, and in the TI99 ran about the same speed as a PDP-11/05, and of course, was a chip version of the TI 990 minicomputer.

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Cool, lots of responses.

 

Kartman wrote:

Have you actually measured the voltage drop at each point? There may be no visible decrosion but there may be oxide. Once you've measured the voltage drops at various points, then wiggle the ic in and out to wipe off the oxide and re-measure.

 

Is there any particular chemical that I need to use to wipe off the oxide.  The TMS9918ANL has very clean legs, but I can try the cleaning, just in case.  I think this is the most viable thing to do now.

 

Simonetta wrote:

 

Disconnect the wire(s) going into VCC on the VideoDisplay Controller IC.  Measure the voltage.  It is likely to be @+4.8.  Put your DVM into ammeter mode and measure the current going into the VideoDisplay Controller IC.   Is it in the range that the data sheet says that it should be? 

 

Have you been to the old home computer TI-994A web sites and asked anyone who has posted there if they have had this same situation?

 

What is the "provenance" of this IC?  Sometimes over the course of 30 years someone will have goofed up and put the wrong voltage or signals on the IC, and not said anything to anyone when it now measures 3.5 instead of 4.8V on Vcc.

 

 

I'll give that a try, but, just to be clear, you mean disconnecting the wire to the VCC pin of the TMS9918ANL?  How would you measure the current if the VCC pin is disconnected, understanding that those electrons are drawn from Vss.

 

The TMS9918ANL chip that I am using now is actually from my TI99/4A working machine.  I bought one chip from eBay, and I thought it was a bad one, as I was not able to make it work.  So, luckily, TI socketed the VDP.  So, I swapped the bought one with the one that came with the TI99/4A.  The bought works as well when I turn on the machine.  So, I've been using the original one from the TI99/4A machine.

 

No, I haven't checked the TI99/4A forum, as I don't think there are crazy people like me would do this kind of things for fun, although I have seen people interfacing the TMS9918ANL with a 32KB SRAM, which, by the way, I just wired one up last night, and the same crap happens with the voltage drop, although I get a steady 4.23V on the TMS9918ANL.

 

Brain Fairchild wrote:

Let's assume you are using something like 30AWG wire as an interconnect. That has a resistance of 340 ohms per kilometre. Or, 0.34 ohms per metre.

 

I am using 22AWG wires for all power connections.  I just ordered some 18AWG.  Thanks for the info.  I have to admit that the breadboard's insertion holes are not tight enough, even with 22AWG wires, thus, looking to try 18AWG wire.  I am sure the resistance is a bit bigger, but I am not using kilometer in length. :-)

 

 

 

Last Edited: Mon. Apr 4, 2016 - 06:32 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The oxide normally gets wiped off mechanically. Again, measure the voltage drops at each point otherwise you are just guessing.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

unebonnevie wrote:

I am using 22AWG wires for all power connections.  I just ordered some 18AWG.  Thanks for the info.  I have to admit that the breadboard's insertion holes are not tight enough, even with 22AWG wires, thus, looking to try 18AWG wire.  I am sure the resistance is a bit bigger, but I am not using kilometer in length. :-)

 

18AWG will ruin the breadboard connectors.  Don't go larger than 22AWG.  But a really good idea would be to run a piece of bare 18AWG across the top of the breadboards with a piece of 22AWG going down into each "vertical" power connector, and another set going down into each ground connector.  That will be six 22AWG "drops" for power, and six for ground.  Use pieces of tubing to insulate the 18AWG wire between the 22AWG "drops".

 

If you want to get totally serious, do the exact same thing at the bottom of the boards too.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Come on. Put caps on the busses and turn it on. Works? Caps solved the problem.

 

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

bobgardner wrote:

Come on. Put caps on the busses and turn it on. Works? Caps solved the problem.

 

How do you mean "on the buses"? Data and address buses have a lot of pins for IO.  Are you saying a cap (electrolytic or ceramic) for each pin?  I did a pair of 110uF/50V electrolytic and one 100nF ceramic caps for each pieces of breadboard.  That does not help and actually makes it worse.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

He means the power busses.  Put a 100nF cap as close as you can to the power and ground leads of each chip.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

We still haven't identified the root cause. Where are the volts disappearing? 30 seconds with a multimeter will tell all.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just put 10uf caps from red to blk on the long busses. Like a half dozen of em.

 

 

Imagecraft compiler user

Last Edited: Fri. Apr 8, 2016 - 01:09 PM