AnsweredAssumed Answered

HMC1023 OTP and various datasheet clarifications

Question asked by MJCa on Nov 8, 2017

In the datasheet it states that "Once calibrated the HMC1023LP5E automatically writes the calibrated fine Fine Bandwidth values to Reg 03h[3:0] (ie. Reg 03h[3:0] = Reg 08h[3:0])". Having calibrated the part, I'm not finding this to be the case and Reg 03h[3:0] remains at 0x0 after the calibration even though Reg 08h[3:0] contains an updated value such as 0x7. It does appear as though the calibration has been applied to the part as the bandwidth has been adjusted. Does the fact that Reg 03h has not been updated indicate a problem of some kind?


In the "Calibrated Automatic Bandwidth Configuration" section, a footnote states " to select bandwidth of 14 MHz simply write Reg 02h[9:6] = ‘0011’b, then write Reg 01h[4]=1 to instruct the HMC1023LP5E to use provided settings.". It seems from reading the meaning of Reg 01[4] that this should be set to 0 for automatic bandwidth configuration and only set to 1 if the user is manually specifying the bandwidth. Can you please confirm that this is the case?


When writing to the OTP, it is stated that "OTP bit addresses can be found in Reg 08h" presumably it is Reg 0Ah that this is referring to?


Finally, there seem to be a couple of bits in the OTP on one of my devices that I cannot write to. I have carried out the following write sequence with the intention of writing 0x7487 to Reg 0Ah:

1)   Reg 0Bh=>0x1,

2)   Check if bit "x" of reg Ah should be set to 1 and if so write "x" to reg 0Ch

3)   Reg 0Dh=>1

4)   Wait for Reg 08h[5] to clear

5)   Loop back to 2) until I have covered the range x = 0-15

3)   Reg 0Bh => 0)


Having done this, if I power cycle the device and read back from Reg 0Ah, I'm getting 0x7403 rather than 0x7487 which indicates that I have failed to write to bits 7 and 3. Even running through a single write sequence manually, I don't seem to be able to write a '1' to bits 7 or 3.


I have run the same script on another device and it has been programmed correctly so I don't think my procedure is wrong.


Can you provide any advice as to what might be causing this issue?



Many thanks