I have a set of 4-year-old TLC59116IPWR parts. In case it's a known problem that has since been fixed, I've ordered a couple samples.
The situation is a bit odd: I've got some lighted pushbuttons in a cramped space and limited budget, mounted remotely from the main board (by "remotely" I'm talking about inches, not miles :). So I want to drive LEDs, read button presses, and control it across a small cable. It occurred to me that the TLC59116 could either drive a multiplex circuit or I could use no-load error detection. I chose the latter.
At this point my experience with the EFLAGs is that the bits are inverted (0 means error, 1 when there's a proper load). The documentation (SLDS157E –FEBRUARY 2008 –REVISED DECEMBER 2014) explicitly says that "A 1 indicates an error". See pp 12-13 and pg 21.
Rext = 1K, IREF = 0x5E, so current output should be 4.62mA. Iout,Th will be 2.31mA. I've also played with other IREF settings, the design allows brightness calibration. The buttons are connected to one output each with a series resistor, Normally Open. On currently has 330 ohms and the other has a 1K resistor; both appear to work identically.
I expected the error bits to be active (1) until I pressed a button. However, the error bits stay at 0 until I press a button, when that output's bit goes to 1. This is the opposite of how I expected them to respond, since the button not being pressed presents no load to the output.
I also have an older prototype board that has an LED on each output. That part presents a 1-bit on all "button" outputs all the time.
I guess my questions are:
- Is this something I'm doing wrong, or a flaw?
- Is it a flaw in the part, or in the documentation?
- If in the part, is it just my (older) parts?
- If in all parts, is this a known issue?
- If it's a known issue, is it scheduled for correction? (Because if it isn't, then that means it's actually a flaw in the documentation. Technically.)
I don't care whether the bits are active-high or active-low. I can program around either one. (Or since the buttons are SPDT, I can design the wiring around either one. Win-win!) (And I just now double-checked. I am indeed wired to the N.O. terminal.) I just need it to be predictable.
For the record, aside from the error flags being inverted, my prototype appears to be working very nicely. The pushbutton detection is transparent. I will probably go to production with this design.