I2C Setup with MLX90393 Sensor Array

I am looking to create a sensor array of up to 100 MLX90393 sensors to measure the magnetic field at multiple points in space. I plan to control the system using LabView and a PCIe-6353 DAQ connected to my circuit board. The board itself consists of a PCA9548A Multiplexer to resolve addressing conflicts. My question is about the interupt and the int/trg pins on each individual sensor.

I need to know if I need separate physical DIO pins for the interupt on each sensor or if they can be wired together as a common line since only one sensor is read at a time.

Thanks!

A secondary question is if I use the INT/TRIG pin as a trigger to start the measurements of each sensor simultaneously, Can I then stop the measurement and then read the data from each sensor before starting a new measurement?

Greetings,

Separate lines for the INT/TRIG pin of each device would be required if you choose to configure it as an output, though not necessarily so if it is used as an input. The Single Measure mode of the device would indeed appear to allow synchronized measurements with sequential readback of the data from each member in an array of such sensors sharing a common interface bus, at an obvious cost of limiting the rate at which the array could be read.

Hi rick,

I don’t need super high sampling frequency. I would optimally like to read the whole array at 50-100 Hz.

Is it possible to trigger each sensor at 50Hz and read back the data? If not, Do I need to use the INT pins at all (they are listed as optional on the data sheet)? I do not have the option of using the INT pins as an output because I do not have enough DIO pins on my DAQ.

Maybe. I see no reason why the sensor itself would be prohibitive of such an operational scheme, but there are many more moving parts in a system such as you are describing.

You’ll need to sit down with a pencil and a few sheets of paper, draw out the system as you intend to assemble it, figure out everything that has to happen in order to read your sensor array once, figure out how long each step takes, add it all up, and see if your digital interface is fast enough to get it all done as many times per second as you’d like to.

Use of the INT pin(s) is indeed optional depending on how you want to use the sensor, and would not appear to be necessary in an externally triggered mode of operation like that being contemplated.

Thanks Rick,

I am thinking of wiring the INT pin only for the first sensor in the array so I have an indication that the measurement is complete and then start my read loop.

I will go through and see how long the loop should take.