Me again. I know I take more than I give on here, but maybe one day can make up for that.
I have this very annoying problem right now in what I thought would be a simple RGB led matrix board. The problem is that leds that are supposed to be inactive are very dimly on. This has to be something silly stupid simple that I am just missing but it is driving me a bit crazy. I estimate from experiments with a single RGB led on the green element that the annoying won't-stay-dark leds are only getting about 0.5 to 1 uA. Just enough to see them in a darkish room from a foot or two away.
The 12x12 matrix is split into two 6x12 banks. Discrete P channel, logic level mosfets drive the rows (six total mosfets, each driving one row in each bank) and the column elements are driven by six Allegro A6282 16 channel current regulated sinking drivers (using only 12 of 16 channels). Three chips per bank, each driving either all the red, green, or blue elements.
I have experimented with the turn on, turn off times of the row driver fets, and even added a push pull driver to the rows along with a beefy 150mA gate driver all which made little difference. The leds are being software PWM'd by an Atmel Xmega and tight code...right now hitting the rows at a fairly slow 540Hz and much faster column (for the color control). If I slow things way way down the problem goes away (or at least can't be seen by my eye).
The row drivers are discrete Pfets, FDS9953A, 300pF gate capacitance @ Vgs -4.5V, Rds_on = 200mOhm
The column drivers are contained in the Allegro A6282 chips.
I still need to do some serious scope work, but maybe there is just something too obvious that I am missing. I am at this moment toying with the idea that the leds are acting as capacitors and feeding others even when the pmos row driver is fully off. Or I have some serious inductance, capacitance issues on the board layout. 0.5uA doesn't sound like much...
I have attached a simplified portion of a crude schematic to make things a bit more clear. Thanks ahead for any help or suggestions what to try next.