ADuCM360 SPI sends nothing in Slave mode

I am using ADUCM362 to read and convert an analog signal and transmit it to another Microprocessor via SPI1 at 1Mbit.  If we setup the ADUCM362 as a Master everything works very well, but when we use it as slave, it receives but sends nothing to the master as we can see in the next picture:

   

In the second picture (a zoom of a little portion of the first one) we see that master asserts CS and sends the clock pulses but MISO pin does not change.  I am sending a fixed data instead ADC output just to try. 

 CS5520BS.zip

  • 0
    •  Analog Employees 
    on Oct 19, 2020 12:56 PM 11 days ago

    Hi,

    It looks like you are configuring SPI in port 1, it's actually in Port 0. Please see userguide table 109 for reference. In your configuration, you are setting P1.0-3 as PWM.

    //Definition of pins for port SPI1
    pADI_GP1->GPCON = 0x00
    | GP0CON_CON3_SPI1CS0 // CS5520 CS. P0.3
    | GP0CON_CON2_SPI1MOSI // CS5520 SDIN
    | GP0CON_CON1_SPI1SCLK // CS5520 SCLK
    | GP0CON_CON0_SPI1MISO ; // CS5520 DOUT

    also, you can enable the internal pull up for the MISO to help with the drive strength...
    DioPulPin(pADI_GP0, PIN0, 1); // Enable the internal pull up on MISO1 pin

    regards,
    Mark