This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LMK05318B: SPI -MISO LINE PULLED LOW

Part Number: LMK05318B

Tool/software:

HI,

I have connected multiple SPI Line from different device with a FPGA. One of the device is LMK05318B.

The SPI miso line is continuosly pulled low . MOSI,CLK and CS are showing proper behaviour

I am observing that when I disconnect the LMK MISO line by removing a series 0 ohm resistor I see all other devices SPI line functioning properly. 

I am using LMK in spi + eeprom mode . 

I read registers too. 

R39-0x27 - value got 31

R8-0x8 - value got 4.

The SDO pin on LMK is also a gpio pin(gpio 2) . Is it possible it might be in gpio state and pulling the miso line low?

Also should the chip select line be active even after the all the data transfer has happened?

  • Hi Rachit,

    Let me loop in to further support.

    Regards,

    Jennifer

  • Hi Rachit, 

    The LMK05318B SDO pin is not high impedance, and is equivalent to a 50 Ohm pulldown when the SCS pin is high. To avoid pulling down the MISO line for other devices on the bus, we recommend adding a series resistor in the 1kOhm to 10kOhm range depending on the driving capability of the other SPI devices. Another option is to put the LMK05318B on it's own SPI bus altogether. 

    We are also planning on updating the datasheet to make the behavior of the SDO pin more clear. 

    Regards, 

    Connor 

  • Hi Connor,

    Ok understood. 

    1. SDO pin also has alternate functionality as gpio right. Can you mention how I can use it as GPIO. I cant seem to find the registers to use it as gpio. If before spi command for other ic's I will just turn off the gpio so it becomes high impedance. It can be set to open drain output right.

    2. When I am reading R50(0x32) OR when I change the bit 7 of R50 , miso line starts functioning properly for other IC's but not for LMK. So can I change this register and then read other ic and then when I want to read LMK I will reset R50 and read LMK's SPI. I have tested this and it seems to work . Will changing R50 in this way cause any other problems?

    3. Just out of curuosity why is an spi line given in which I can not connect any slaves?

    4. The resistor you mentioned to put in series from 1k to 10k ,is there any way to calculate the value or is it trial and error?

    If you can answer the above questions it will be very helpful. Thank you.

  • Hi Rachit, 

    See my feedback below: 

    1. See Table 6-2 in the datasheet for functionality for the GPIO2/SDO/FINC pin. We call this pin GPIO because it has multiple uses depending on the mode the device boots from. If HW_SW_CTRL = 0, then it us used as an input for incrementing the DPLL DCO frequency. If HW_SW_CTRL is floating, then it used as the SPI data out. If HW_SW_CTRL = 1, it is used as an input to select the ROM page during POR. However, you can not program the output functionality in the same way that you can for the status pins. In the case that you're using this pin as SPI data out, you can set the output driver type as LVCMOS or open drain by programming R39. 

    2. Setting bit 7 of R50 will enable/disable DCO frequency control. Changing this value after the LMK05318B boots up shouldn't have an impact on the GPIO2 pin unless HW_SW_CTRL is floating during POR. If you are enabling DCO frequency control, then GPIO 1 (SPI chip select) will increment the DCO frequency at each rising edge. 

    3. The SPI interface for this device was not designed to share the bus with other peripherals. If multiple peripherals need to be controlled by the same host, I2C is generally more common. 

    4. The optimal series resistor value will depend on the drive strength of the other peripherals on the bus, and the data rate you're using. For example, if you use a 1k resistor then the other peripherals will need to be able to drive at least 3.3V / 1k Ohm = 3.3mA. Larger resistors will also limit the max data rate since stray capacitance on the line will form an RC low pass filter. Ex: a 10k resistor and 10pF of capacitance on the MISO line, the 3dB cutoff would be around 1.6MHz. 

    Regards, 

    Connor