- There are no other modifications required other than that in the GPIF II designer.
- Please check if the thread that you are using in the GPIF II corresponds to the DMA ready flag that you are checking.
- Also, check if you are able to perform any read/write with the GPIF II thread in use.
Thank you for your reply. Please bear with me as I am new to this chip.
First I wanted to clarify, this is not the FIFO slave example that came with the SDK, but one example in the book by John Hyde (design by example). some of the signal names are different.
The closest example to what I need had a FX3 as FIFO slave, and controlling the data with a DMA ready and watermark signals. All I did was open this project in the GPIF designer and switch the direction of the clock. I did notice 2 things:
- the DMA ready was active low, which seems reverse of the example polarity. I will try switching the polarity and see how it goes.
- the interface type was set as master
I only see 3 registers different for the GPIF config, and I am reading the reference manual to decipher these differences.
- What is the external source of the PCLK that you are using and its frequency?
- In case you have access to the UART pins of FX3, please collect the UART logs to check the state of the GPIF II state machine. The CyU3PGpifGetSMState() API can be used to obtain the current state of the GPIF II state machine.
- Can you please share the entire firmware and GPIF II project for me to reproduce the issue at my end?
Thanks for these suggestions. the PCLK source is an FPGA and is 20MHz. I am still troubleshooting the FPGA side of things, but I believe I managed to send data to the FX3 FIFO. I did so by manually setting the DMA flags. I believe I still have some bugs to fix to align GPIF and FGPA state machines.
I have confirmed that I am sending data to the FIFO using the PC utility. I did notice that preceding the data, I get this fixed "pattern" of -269488145.
I will post the the FW and GPIF project shortly.
I have confirmed that I am sending data to the FIFO using the PC utility. I did notice that preceding the data, I get this fixed "pattern" of -269488145
>> Do you mean to say that you are able to receive data on the PC utility.
DMA_Ready flag gets asserted when there is enough space on the buffer. For buffer space to be available, data needs to be read from the host. Please use the CyU3PGpifGetSMState() API to check if the firmware enters the state in which the data is read from the GPIF II interface.
Also, attach the firmware and the GPIF II project files.