Post Go back to editing

Use of OSPI interface to stream logging data

Category: Hardware
Product Number: ADSP-SC598

Hi

Is it possible to use the OSPI interface on the SC598 to stream data to an external device?

I would like to stream logging data over QSPI.  The stream of data will not be continuous or constant data rate.

Best Regards

Howard

  • Hi Howard,

    Is it possible to use the OSPI interface on the SC598 to stream data to an external device?
    >>> Yes, You can use the Octal SPI in SC598.

    You can refer the SOMCRR-EZKIT and SC598 SOM schematics for OSPI interface.

    Also, Please refer the "ospi" examples available in Board support package of SC59x for programming purposes.
    download.analog.com/.../ADI_EV-SC59x_EZ-KIT-Rel3.2.0.exe

    After installation please navigate as below.
    <Installation path>:\Analog Devices\EV-SC59x_EZ-KIT-Rel3.2.0\EV-SC59x_EZ-KIT\Examples\drivers\ospi

    Let us know for further assistance.

    Regards,
    Ranjitha R

  • Hi

    I looked at the BSP and the hardware reference manual for the SC59x and they only seem to talk about interfacing the OSPI to Flash chips.

    I want to use it for sending data to an external data logger for sending high speed data to a PC for analysis.

  • Hi

    Do you have an update on this please

  • Hi Howard,

    Sorry for the delay.

    If Data Logger has support for OSPI, by referring to the flash interfacing in schematics you can interface the logger. You can also refer the maximum speed supported for OSPI
    In the "Table 22. Clock Operating Conditions " Pg: 62 of SC598 Datasheet.  https://www.analog.com/media/en/technical-documentation/data-sheets/adsp-sc596-adsp-sc598.pdf
    Also, You can try configuring the device with taking the BSP example as reference as per your application.

    Regards,

    Ranjitha.R

  • Hi

    I've been trying to get SPI DMA working, based on the example in "EV-SC59x_EZ-KIT-Rel3.2.0" , but the DMA seems to terminate early, resulting in missing data.

    I've recreated the issue with a simple test program in the attached zip.  When I run the program, it should be sending 12 bytes to SPI-1, but only 10 bytes are being sent.  I've attached screen grab of the DSP trace.

    The program configures the following GPIO for SPI output

    /* Configure PA_10 as SPI1_CLK */
    /* Configure PA_11 as SPI1_MISO */
    /* Configure PA_12 as SPI1_MOSI */
    /* Configure PA_13 as SPI1_SEL1 */

    It initiates a 12 byte DMA transfer, then waits 100ms before initiating another.

    Why is the DMA not sending 12 bytes as I expect?

    Best Regards

    Howard

    spi_dma_test.zip

  • Hi Howard,

    Apologies for the delay in getting back to you.

    The ENUM_DMA_CFG_XCNT_INT bit generates a DMA interrupt based on the Xcount value.
    If this interrupt occurs after the specified number of transfers, it might lead to data loss. So the SPI buffer hasn't yet received all the data on the buffer. We suggest you to using the ENUM_DMA_CFG_PERIPH_INT instead of ENUM_DMA_CFG_XCNT_INT.
    This configuration has been tested on the SC594 SOM Board and successfully sent 12 bytes. Please test this configuration on your setup and let me know the outcome.

    Regards,
    Nandini C