Part Number: 66AK2H14
Other Parts Discussed in Thread: TMS320C6678, , CDCLVP1212
Hi,
I am currently testing a DDR3 interface on our custom board , the purpose being to get a correct setup for controller and phy registers (based upon the "keystone II register calculation" EXCELsheet)
The software I am using has been validated for several years on TMS320C6678, and adapted to 66AK2H14 (compiler, linker)
Basically this software makes uses of AB type EDMA (DSP core 0 only activated) (only one DMA at a time) (BCNT=32K and ACNT=16K) (read or write EDMA) to go through the entire memory bank.
The issue we are facing is that EDMA are quickly stuck (let say between the first and 50th trig) : CORE_0 is indefinitely waiting for "IPR" register set...
(Also note that note only the DMA stopped but it becomes impossible to CCS to recover access to the component)
I admit that my Phy/controller setup could be wrong in some points, or DDR3 hardware not optimum but how can this stop the EDMA after a while ?
1) My setup is as follow :
- external SYSCLK input : 250 Mhz ; internal core clock : 250*(48/5)/2 = 1.2 Ghz
- external DDR clock input : 250 Mhz ; internal DDR clock : 250*(12/5)/2 = 300 Mhz ; external clock output : 300*2 = 600 MHz (and frequency verified with a scope)
2) in a secondary setup I trageted the DDR output clock to 500 Mhz, with the phy/controler setup as well and the test becomes OK
3) in a third setup I changed the external SYSCLK and DDR_CLK to 100 MHz, and retargeted the DDR3 interface to 600 MHZ ==> the test is also OK
core clock = 100*(24/1)/2 ; internal DDR clock : 100*(12/1)/4 = 300 Mhz ; external clock output : 300*2 = 600 MHz (frequency verified with a scope)
Would you have some ideas/suggestions that could explain this phenomenon ?
With best regards,
Bruno