laser diode matrix with mosfet

Hi, I'm creating a matrix of 24x16 5v laser diode which drain 20ma each

and Im confusing in choosing the right mosfet to drive the cathode and anode to each laser,
since most article recommend mosfet as a switch over TIP120/npn transistor

and I have a few question

  1. I using irf9540n in anode row but when the pin go high, the laser is off while pin go low the laser become on. why is it such reverse?

  2. for cathode column I can't drive it via irf9540n. But it work with TIP120 but the brightness of laser is drop. So what is the best solution to drive this cathode and anode?

  3. I had try using TLC5940 for cathode column and it cannot provide enough current for for the whole column and I need to control it with firmata from processing, there is no such library as in arduino right? so is it possible to control TLC5940 from processing

Thank you

You are multiplexing?
Use 74HC595 with MIC2981 to source current to anodes, and TPIC6x595 to sink from cathode.
TPIC6A595 - can sink 350 mA
TPIC6B595 - 150mA
TPIC6C595- 100mA

So if driving 8 unique anodes with MIC2981, can use TPIC6c595 to sink from 8 unique cathodes.