5 Replies Latest reply on Jul 15, 2019 3:17 AM by HemanthR_06

    DMA SPI Transfer with Stall Between Words

    JuCh_3556216

      Hi everyone,

       

      I'm trying to figure out what the best method for configuring an FX3 would be in order to achieve this SPI transaction. Each SPI transaction must have an adjustable "stall time" appended after being transmitted on the order of microseconds. The entire block of SPI data to be transmitted (four 16-bit words in the attached example) must only be transmitted after receiving a "data valid" pulse on a gpio. I have successfully implemented the SPI transactions using CyU3PSpiTransmitWords() and CyU3PSpiTransferWords() and am successfully storing data in a pre-allocated buffer, but I have not been able to figure out what the best method would be to send the data to the PC over USB. I've included a few captures of what I'm looking to do, as well as what my issue is:

       

      Above Image: Desired SPI sequence

       

      Above image: Desired SPI sequence illustrating stall time

       

      Above image: SPI transactions become inconsistent after filling the transmit buffer and sending to the PC over USB

       

      Thanks!