cancel
Showing results for 
Search instead for 
Did you mean: 

Strange values on SPI MISO line of SPSGRF, only if connecting GND and VDD ?!

giova
Associate

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: 

  • WRITING 3 bytes (0x87 09 00 ) TO 0x31. 

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

  • READING 3 BYTES FROM 0x31 

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:

  • WRITING 3 bytes (0x87 09 00 ) TO 0x31.

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

  • READING 3 BYTES FROM 0x31

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

  • WRITING 3 bytes (0x87 09 00 ) TO 0x31.

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

  • READING 3 BYTES FROM 0x31

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:

  • WRITING 3 bytes (0x87 09 00 ) TO 0x31.

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

  • READING 3 BYTES FROM 0x31

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:

  • If I don't connect GND and VDD pins, values read back from SPSGRF on the MISO line seem correct.
  • When connecting one of GND or VDD, I get answers incorrect in first two bytes on the MISO line.
  • If I connect both GND and VDD pins, answers do not make sense

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!

0 REPLIES 0