Post Go back to editing

HMC767: writing 1 to 02h (setting Reference Divider to 1) makes it so no SPI reads are correct

Hi

I have a microcontroller reading and writing SPI words to the HMC767 and I have it working without an issue, RF works as expected, etc.

However, I've noticed that after writing a 1 to register 02h, which should be a non issue since it's its default value anyway, all subsequent reads return all bits as 1.

For example, this is a read from the device just powered on:

REG 0 97370
REG 1 002
REG 2 001
REG 3 0019
REG 4 000
REG 5 654321
REG 6 01d1f
REG 7 0845
REG 8 16fff
REG 9 403264
REG a 000
REG b 1e061
REG c 0019
REG d 000
REG e 000
REG f 001
REG 10 000
REG 11 000
REG 12 000
REG 13 01259
REG 14 007

But after writing a 1 to register 02, this is what I get back:

REG 0 ffffff
REG 1 ffffff
REG 2 ffffff
REG 3 ffffff
REG 4 ffffff
REG 5 ffffff
REG 6 ffffff
REG 7 ffffff
REG 8 ffffff
REG 9 ffffff
REG a ffffff
REG b ffffff
REG c ffffff
REG d ffffff
REG e ffffff
REG f ffffff
REG 10 ffffff
REG 11 ffffff
REG 12 ffffff
REG 13 ffffff
REG 14 ffffff

Curiously enough, if I then write any other number to this register, say 53 for example, I can read back registers again, but still the value on 02h does not match what I wrote and I get this:

REG 0 97370
REG 1 0029
REG 2 001
REG 3 0019
REG 4 000
REG 5 654321
REG 6 01d1f
REG 7 0845
REG 8 16fff
REG 9 403264
REG a 000
REG b 1e061
REG c 0019
REG d 000
REG e 000
REG f 001
REG 10 000
REG 11 000
REG 12 000
REG 13 01259
REG 14 007

Reg 2 takes the value 1, when I typed 0x53 but register 1 takes value 0x29, and I can't for the life me make any sense of all this, and any other write to any other register does not cause these issues at all, as far as I can tell.

What's going on?

Thanks!

Parents Reply
  • Is it possible the device is somehow getting into HMC mode SPI rather than open mode when you have the ref div = 1. I cannot think of a reason why this would be the case, but the HMC SPI interface has been known to have issues at times with selecting between the two modes.

    Here is a document which discusses the HMC SPI selection. There may be something in here that will help

     How do I use the SPI Mode Selection feature on HMC PLL's & PLLVCO's? 

    Do you have any circuitry on your SPI lines (series resistance, pull up/pull down resistors?). I've seen some weird things happen with other PLLs that a bit of series resistance on the SPI lines helped fix. Something like 330-1k Ohms would be fine.

Children
  • Hi

    Indeed we have a 10 ohm series resistance on SPI lines. This helped fix communication issues due to glitches and reflections on the line.

    Regarding SPI mode selection on boot up, I don't think that's the issue here, as SPI communications are restored once I write to register 02h a different value, communications are restored.

    If somehow writing to register 02h is changing SPI mode... well, it looks like a silicon error, am I right?