Other Parts Discussed in Thread: TMS320DM6435
Hello all,
I have a question on priority control for EMIF/SCR access by DSP and DMA.
The context:
- We use a DM6435 with a FPGA attached to the 8-bit EMIF interface
- We transfer a large amount of data from this FPGA to DSP memory by DMA
- While this DMA is in progress we would like to read a FPGA register (read 1, 2 or 4 bytes from EMIF) occasionally and very quickly.
- Due to FPGA implementation servicing the DMA request blocks the EMIF for approx. 165 µs for each byte because it can't supply the data faster. The FPGA does not block direct register access at all.
- The current behaviour: While the DMA transfer is in progress the attempt to access the FPGA register blocks for several milliseconds
From the "EMIF User's Guide" (SPRU984b_emif.pdf, section 2.2) I understood that this behaviour results from the priority control of the SCR. There is written, that "by default DMA has higher priority than DSP". Obviously in our case the EMIF/SCR services mainly the DMA (with big delay because of the blocking behaviour of our FPGA) and only in some rare situations DSP's EMIF access is serviced meanwhile.
I understood that the priority of the DMA can be controled by the Queue priority register (QUEPRI, SPRU987a, section 4.3.1.6). By trial and error I found out that the behaviour of our system changes when I set the DMA prio to 7 (lowest). In that case each byte access by the DSP to an FPGA register is obviously blocked for approx. 165µs - the time the FPGA needs to service a byte request from DMA. It looks like DSP an DMA have the same priority now and share the EMIF in a "round robin" manner. For any other DMA priority the behaviour is always the same as the default described above.
Now my questions:
- Where can I find a detailed explanation about the priority control of the EMIF/SCR? Is the EMIF/SCR prio control really based on a byte by byte scheduling or is there any "burst mode" e.g. for reading 4 bytes?
- What's the default prio of DSP access to the SCR? (I suppose it's 7.)
- How could I change the prio of DSP access to the SCR?
Any help were greatly appreciated.
Thanks, Lars