2019-04-09 12:53 AM
Hello everyone,
I'm trying to communicate with a SPSGRF-868 from a Nordic 52840 Development Kit, but a very strange behaviour affects my SPI communication.
When I connect ONLY pins CSN, MISO, MOSI, CLK and SDN of the SPSGRF to the Nordic, leaving VDD and GND NOT CONNECTED, it seems I get correct answers back on the MISO line.
This is the log:
RESPONSE ON MISO: 00 03
STATUS BYTES 0x00 0x03 MEANS MC_STATE = STATE:01 XO:1 ERROR_LOCK:0 RX_EMPTY:0 TX_FULL:0 ANT:0
RESPONSE ON MISO: 00 03 87 09 00
STATUS BYTES 0x00 0x03 MEANS MC_STATE = STATE:01 XO:1 ERROR_LOCK:0 RX_EMPTY:0 TX_FULL:0 ANT:0
The value read back is exactly what I wrote, and status bytes seem correct.
If I connect SPSGRF GND pin to Nordic GND pin, I get:
RESPONSE ON MISO: 24 0E
STATUS BYTES 0x24 0x0E MEANS MC_STATE = STATE:07 XO:0 ERROR_LOCK:0 RX_EMPTY:0 TX_FULL:1 ANT:0
RESPONSE ON MISO: 52 07 87 09 00
STATUS BYTES 0x52 0x07 MEANS MC_STATE = STATE:03 XO:1 ERROR_LOCK:0 RX_EMPTY:1 TX_FULL:0 ANT:0
RESPONSE ON MISO: 08 1C
RSP STATUS BYTES 0x08 0x1C MEANS MC_STATE = STATE:0E XO:0 ERROR_LOCK:0 RX_EMPTY:0 TX_FULL:0 ANT:1
RESPONSE ON MISO: 52 07 87 09 00
RSP STATUS BYTES 0x52 0x07 MEANS MC_STATE = STATE:03 XO:1 ERROR_LOCK:0 RX_EMPTY:1 TX_FULL:0 ANT:0
The value read back is ok, but status bytes seem incorrect.
If I connect SPSGRF Vdd pin to Nordic 3V Vdd pin, I get:
RESPONSE ON MISO: 52 07
RSP STATUS BYTES 0x52 0x07 MEANS MC_STATE = STATE:03 XO:1 ERROR_LOCK:0 RX_EMPTY:1 TX_FULL:0 ANT:0
RESPONSE ON MISO: 52 07 87 09 00
RSP STATUS BYTES 0x52 0x07 MEANS MC_STATE = STATE:03 XO:1 ERROR_LOCK:0 RX_EMPTY:1 TX_FULL:0 ANT:0
The value read back is ok, but status bytes seem incorrect.
If I connect both SPSGRF GND and VDD pins to Nordic GND and VDD pin 0-3V, I get
WRITING 3 bytes (0x87 09 00 ) TO 0x31.
RESPONSE ON MISO: 00 30
RSP STATUS BYTES 0x00 0x30 MEANS MC_STATE = STATE:18 XO:0 ERROR_LOCK:0 RX_EMPTY:0 TX_FULL:0 ANT:0
READING 3 BYTES FROM 0x31
RESPONSE ON MISO: 00 30 61 FF FF
RSP STATUS BYTES 0x00 0x30 MEANS MC_STATE = STATE:18 XO:0 ERROR_LOCK:0 RX_EMPTY:0 TX_FULL:0 ANT:0
Both the value read back and status bytes seem incorrect.
To sum up:
How is it possible that SPSGRF can work withouth GND and VDD connected?
How is it possible that SPSGRF answers seem incorrect when GND and VDD are connected ?
Thank you for any advice you can give!