ADSP537 SPI CS problem


I'm using the SPI lines to operate two DDS devices. The CS1 and CS2 lines are used.

In normal operation (normal temperature) these lines are in "high" state and when writing or reading from one of the DDS devices goes to "Low".

when running in cold temperature (0 - -5 deg c) these lines are always at "Low" and when writing or reading from the devices goes to "high" again and frame the data, at the end goes back to "low".

That situation causes all the devices that are connected to the SPI lines to be written all the time in parallel.

any idea ?


  • 0
    •  Analog Employees 
    on Oct 9, 2020 10:56 AM 3 months ago


    The SPISS signal is the SPI serial peripheral slave select input signal. This is an active-low signal used to enable a processor when it is configured as a slave device. This input-only pin behaves like a chip select and is provided by the master device for the slave devices. For a master device, it can act as an error signal input in case of the multimaster environment. In multimaster mode, if the SPISS input signal of a master is asserted (driven low), and the PSSE bit in the SPI_CTL register is enabled, an error has occurred. This means that another device is also trying to be the master device.

    Slave devices ignore the serial clock if the SPISS input is driven inactive (high).

    When CPHA = 0, the slave select line, SPISS, must be inactive (high) between each serial transfer. This is controlled automatically by the SPI hardware logic. When CPHA = 1, SPISS may either remain active (low) between successive transfers or be inactive (high). This must be controlled by the software via manipulation of SPI_FLG.

    Please refer the SPI COMPATIBLE PORT CONTROLLERS (PageNo:607/1236) in the HRM of ADSP-BF537.

    Anand Selvaraj.

  • Thank you Anand for the detailed answer.

    Still, We experience difficulties while working in low temperatures. For example: while working in room temperature all the SPICS lines = 1 while going down to -10 degrees the SPICS lines = 0. We solved it by adding Pull up resistors to all the SPICS lines but I am not sure why is this happening...

Reply Children