Post Go back to editing

Reading Register value from HMC7044

How to read Register values from HMC7044?

Which register to set as General purpose Output pin to read register value?

I am setting register 0x53  = 0x5 (to SDATA from SPI communication).

what is the spi sequence to request register value.

I am doing the following in my code using STM32

1. Sending Read Command with register value and count of registers to be read:1. (SPI Write)

2. SLEN High

3. 10 ms delay

4. SLEN LOW

5. Clearing buffer 

6. SPI read 

but i am not receiving anything. 

I do not know which register to set to request data.

Urgently solution required. Immediate answer would be appreciated.

  • Hi,

    GPIO4 is configured as input by default. If you want to use it as output you need to disable GPIO input buffer first, by writing Reg0x049[0]=0. Reg0x53=0x05 shows that you are using open drain mode. Do you have pull-up resistor on the pin? If so, what is the value?

    Can you send a scope shot to see timing of SLEN,SCLK and SDATA pins.

    Kudret

  • Mr. Kudret, Thank You so much for your reply.

    issue solved!

    As You said i wrote  b0 of Reg 0x049 = 0.

    I dint have a pull up resister but a pull down resistor of 27kohm so i changed the mode to CMOS mode

    Solution of read was: The SDATA Pin is bidirectional. SPI has to be configured in half duplex master mode. and simply SPI_Recieve function could read the register values. 

    Also it came to notice that when Reg 0x00 = 0x1, ie global soft reset control is high, registers cant be written to. when i made this register zero--> i could write and read the registers. 

    Oscilloscope: The data transfer from mcu to HMC (SDATA) was in sync with falling edge of clock (SCLK).

    Again Thanks for your swift answer.