I have setup a DMA AUTO with two p-port sockets 0 and 3. So I have data rx on 0 and tx on 3. The flag on 3 seems to do something I dont expect although it may be correct. Its the dma rdy flag. It seems to go low when the rx starts. There is a dma rdy on the rx too which goes low then high once the rx ends. The tx dma rdy godes high again once the tx ends. Is this corrrect? Also is there anything wrong with this setup? I realsie its a bit strange to send the rx data back out but I want to test something.
Are your flags active high or active low?
The DMA_RDY flag for a rx socket should be interpreted as a Full Flag.
The DMA_RDY flag for a tx socket should be interpreted as a Empty Flag.
The flags are set as active high.
From the GPIFII help it states :-
This trigger is true when the DMA is ready to send or receive data.
So I have ,DMA_RDY_TH0 on a recieve port and ,DMA_RDY_TH3 on a transmit port.
So you are saying that the TH0 will be high when the DMA buffer is full and the TH3 will be high when the DMA buffer is empty?
Yes, that is correct.
The terminology here (dma_rdy) is not perfectly right.
The outputs you will observe will adhere to the !(dma_rdy) logic.
They are essentially full/empty flags.