Hi,
We’re currently developing a system using the TMAG5170 Hall sensor chips.
We’re looking at our options for refinements , in this case decreasing our current draws.
Our application requires reading these hall sensors at a range of frequencies between 100Hz and 1000Hz.
We have the system working with the operating mode set to 4 – that is wakeup and sleep , where it runs automatically at either 200Hz , or 1000Hz with the settings below:
“
// [reg num][byte num]
static uint8_t TMAG_INIT_SETTINGS_BUFF[4][4] =
{
{0x0F,0x00,0x04,0x07}, //de-activate CRC , bytes 0-4
{0x00,0x31,0x40,0x00}, //write to register 0 of the TMAG sensors
{0x01,0x04,0x95,0x00}, //write to register 1 of the TMAG sensors
{0x02,0x00,0x00,0x00} //write to register 2 of the TMAG sensors
};
// address,hi,lo,misc
“
However, when we try to use sleep mode, (switching register 0 from 0x3140 to 0x3150), this causes the data sent back to be only 0’s, as shown by the below trace.
We’ve tried sending 0x10 in the final byte (as shown by the above trace) to have “CMD0=1”.
We’ve tried changing the TRIGGER_MODE (bit 10-9 of register 0x02) from 0h to 1h to activate read on chip select.
We’ve tried slowing down the frequency with which we request data down to 1Hz , in order to rule out a timing issue.
Does anyone have any guidance on how we could get the sleep mode to work properly?