Post Go back to editing

HMC542B SPI communication

Hello,

I am trying to program the HMC542B attenuator via SPI. The signal is generated and analyzed with a NI VST. However the configured value does not match the measured attenuation. I did measure the signal flow with an oscilloscope and appended the configuration for 4dB. Is there something wrong with my signals? Any help would be appreciated.

Green = SCLK
Orange = CS (Latch enable)
Blue = MOSI

  • Hi,

    The waveform below shows the MISO line in orange when executing the same command multiple times. It looks for me that the 4dB value is written to the internal registers though.

  • Hi,

    You should have 8 clocks before latching the LE which seems to be correct and 3rd bit is set to low on the data which should program for 4dB attenuation. Instead of applying 8 clocks, you can apply 16 clocks and observe serial output.

    What is the attenuation you read? 4dB attenuation is defined with respect to the insertion loss state so you should be looking for the delta.

    Best regards

  • Hi,

    The attenuation is 1.5dB instead of 4dB. The signal is at 1GHz. There is barely no attenuation at 4GHz at all, no matter what attenuation is set. I am using 1uF as blocking C's and 330pF at the AGC pins. Maybe theres an issue with my hardware setup?

  • Are you sure that 1uF covers GHz frequencies, what is the size of the capacitor? You may also try 1nF as recommended in the datasheet. 330pF at ACG pins are ok. The serial output waveform looks like 4dB attenuation is written. 

    Are you able to program the attenuator to other settings? Did you try to change the SPI clock speed?

    The attenuation is defined with respect to the insertion loss. For example if the insertion loss is -1.4dB at 1GHz, you should see -5.4dB S21 when you set the attenuator to 4dB. 

  • The capacitator is 1uF 0402. My frequency range if 50kHz to 50MHz. I tried different values and i can see that the attenuation changes. At 0dB my input signal is a 1MHz sinus with 200mVpp. With 31.5dB attenuation the signal has an amplitude of 60mVpp. One more question: i am planning to use two attenuators in a chain. It seems to me that the MISO line is unconditionally driven by the attenuator. Can this be an issue when two attenuators share the same SPI lines? BR

  • There are two potential issues here:

    1) SPI programming uncertainty: You can try applying an RF signal at 0.5 or 1GHz for example and observe if attenuation is setting correctly. Please also make sure your return loss is good with 1uF caps...

    2) Low frequency attenuation accuracy : You should make sure your return loss is good and DC/ACG caps having impedance <1ohm at your frequencies. 

    Your DC block and ACG caps look fine, so I dont expect an attenuation accuracy error at 1MHz but you may observe it at 50kHz. 

    3) You should avoid entering compression. At lower frequencies, part's linearity degrades. Please make a power sweep and verify that you are not 0.1dB or 1dB compression region.

  • Two attenuators can be daisy chained without any need of additional components. 

  • In the datasheets there is a schematic that shows a buffer driving the last value of the shift register directly to the MISO line. If one attenuator is set to minimum and one to maximum the former will drive a logical one and the latter will drive to ground...

  • 1) I will try this next week.

    2) What does good mean exacty? Sorry to ask... 330pF at 1MHz are approx. X_c = 480R. This would be too much than, correct? So they are not well dimensioned?

    3) I will check that.

  • For item 2, you should have X_c close to 1 at your frequency of interest.