Hi all,
I am trying to use the STP16C596 16-bit constant-current LED sink Driver
https://pdf1.alldatasheet.com/datasheet-pdf/view/85761/STMICROELECTRONICS/STP16C596.html
I have two of them (DIP samples) and I have about convinced myself either:
1.) Both samples sent were faulty
2.) The protoboard I have been using is messed up in some way.
3.) Their chip itself is terribly designed and doesn't work
4.) I'm an idiot/there is something I am missing after hours and hours of checking and looking over connections and data sheet.
If anyone has used these and gotten them to work I'd be very grateful if you would tell me a bit of how you did it.
below is the description of my problem (*be warned it is a long description):
I am working on trying to interface it with a PIC microcontroller. However, it has come down to just getting it to work at all, not even with the PIC.
I have checked and rechecked my connections and the voltages and currents with multimeter to make sure everything is correct, as welll as studied the data sheet thoroughly.
Here is my problem:
I am working on trying to interface it with a PIC microcontroller. However, it has come down to just getting it to work at all, not even with the PIC, I've tried it both using the PIC and by making the clock and load transitions by hand and can't get it to work.
I keep the serial data input high, I set output enabled (/OE to ground) I set up 16 low-current LEDs to each of the outputs, and connect the proper resistor to give them the right amount of current. Then I test shifting data in, then latching it, and this does not work properly.
Sometimes if I go for a few clock cycles and then switch the /LE from high to low and back to high, it will latch the values stored in the shift register properly. However, if I run more clock cycles (sometimes >=10 or >=14 ) And then switch the latch enable in the same way, with the input still fixed to the VDD voltage (high) source, the LEDs are all turned off, i.e., it's as if it stores low values in all the latch flip-flops. I don't even know how this could be possible according to the data sheet, since the clock only allows more values to be shifted into the shift register, and since the input is tied to high, this should always be full of 1's. Then the latch enable only allows the latch flip-flops to hold the new output values of the register, so since the register should be fixed at having only high values, latching or not the output should never be cleared in this way.
I have checked to make sure wires aren't touching and output enable is fixed on without touching other wires, and that the input and source voltages are within the proper ranges, I cannot figure out how to get this to work or what the problem is. (Also you may think I put the LEDs in backwards. but shifting in 0s causes nothing to light up, and for the small shifts, shifting in 1s does cause them to light up properly as I do it one by one, so besides the fact that I follow the data sheet, it seems that they have to be correctly connected).
Also, I was not sure how exactly the LE is triggered (i.e. rising edge, falling, both, since the data sheet is not very clear on this), but this should not matter as I described above if the steps are separated, according to the block diagram on the datasheet.
Also, it seems like the chips will selectively work, I moved one to another spot on the protoboard with same configuration, to see if that was the problem, it stopped working at all, replaced it with the other chip, and it semi-worked.
Any help would be greatly appreciated.
thanks in advance
I am trying to use the STP16C596 16-bit constant-current LED sink Driver
https://pdf1.alldatasheet.com/datasheet-pdf/view/85761/STMICROELECTRONICS/STP16C596.html
I have two of them (DIP samples) and I have about convinced myself either:
1.) Both samples sent were faulty
2.) The protoboard I have been using is messed up in some way.
3.) Their chip itself is terribly designed and doesn't work
4.) I'm an idiot/there is something I am missing after hours and hours of checking and looking over connections and data sheet.
If anyone has used these and gotten them to work I'd be very grateful if you would tell me a bit of how you did it.
below is the description of my problem (*be warned it is a long description):
I am working on trying to interface it with a PIC microcontroller. However, it has come down to just getting it to work at all, not even with the PIC.
I have checked and rechecked my connections and the voltages and currents with multimeter to make sure everything is correct, as welll as studied the data sheet thoroughly.
Here is my problem:
I am working on trying to interface it with a PIC microcontroller. However, it has come down to just getting it to work at all, not even with the PIC, I've tried it both using the PIC and by making the clock and load transitions by hand and can't get it to work.
I keep the serial data input high, I set output enabled (/OE to ground) I set up 16 low-current LEDs to each of the outputs, and connect the proper resistor to give them the right amount of current. Then I test shifting data in, then latching it, and this does not work properly.
Sometimes if I go for a few clock cycles and then switch the /LE from high to low and back to high, it will latch the values stored in the shift register properly. However, if I run more clock cycles (sometimes >=10 or >=14 ) And then switch the latch enable in the same way, with the input still fixed to the VDD voltage (high) source, the LEDs are all turned off, i.e., it's as if it stores low values in all the latch flip-flops. I don't even know how this could be possible according to the data sheet, since the clock only allows more values to be shifted into the shift register, and since the input is tied to high, this should always be full of 1's. Then the latch enable only allows the latch flip-flops to hold the new output values of the register, so since the register should be fixed at having only high values, latching or not the output should never be cleared in this way.
I have checked to make sure wires aren't touching and output enable is fixed on without touching other wires, and that the input and source voltages are within the proper ranges, I cannot figure out how to get this to work or what the problem is. (Also you may think I put the LEDs in backwards. but shifting in 0s causes nothing to light up, and for the small shifts, shifting in 1s does cause them to light up properly as I do it one by one, so besides the fact that I follow the data sheet, it seems that they have to be correctly connected).
Also, I was not sure how exactly the LE is triggered (i.e. rising edge, falling, both, since the data sheet is not very clear on this), but this should not matter as I described above if the steps are separated, according to the block diagram on the datasheet.
Also, it seems like the chips will selectively work, I moved one to another spot on the protoboard with same configuration, to see if that was the problem, it stopped working at all, replaced it with the other chip, and it semi-worked.
Any help would be greatly appreciated.
thanks in advance