请教各位专家:
最近进行EDMA3传输测试时遇到以下两个问题,还请高手不吝赐教
1.怎样去测量EDMA3传输的时钟周期?我用TSCL寄存器仅测得EDMA的参数配置时间,请问需要读哪个寄存器的传输完成标志位呢
2.EDMA3测试从Simulator转到评估板上测试时应当注意些什么呢?自己在将工程转到评估板上跑时EDMA3传输结果总是出错,我是先编译、再连接器件、然后载入GEL文件和OUT文件的。
谢谢各位专家!!
King Wang1:
Ku你好:
问题1:
EDMA的传输时间可以通过Parameter中的OPT设置完成标志,你可以设置TCCHEN Enable,这样完成后对应通的的CER/CERH寄存器中的bit会置位,或者你设置TCINTEN Enable,这样完成后IPR/IPRH寄存器中的对应bit会置位,你通过不断查询就可以得到具体的时间。
问题2:
Emulator时你在启动传输前请比较你的parameter参数是否和simulator一致,通常EDMA3传输错误都是由parameter参数配置错误导致。
谢谢!
Ryan KU:
回复 King Wang1:
KingWang 您好:问题1:根据main.c中OPT参数设置,我用IPR寄存器来测试时钟周期
但是传输不同数据量时测得的时钟周期仍然是一样的,还请专家们指出问题出在哪儿?
Ryan KU:
回复 King Wang1:
King Wang您好:
关于问题2按照您的建议,我在同一个源文件下进行了Simulator和Emulator的实验,但是Emulator下EDMA3传输后还是出现错误
图片贴得不太好,还麻烦您查看附件
谢谢!
King Wang1:
回复 Ryan KU:
你好:
TSCL需要先初始化,比如在开始的时候执行TSCL=0;
你的函数中有几个问题:
1)CNT值不为1,但是你有值触发1此,所以CNT值只会减1;不会减到0;
2)IPR应该在触发就判断,你在函数里面已经清除了IPR,到main函数中判断没有意义。
3)还是像上次说的,如果EDMA搬移出错你要比对Parameter参数,我没有在附近中看到你的parameter比对,同时,是要比对触发传输前状态的parameter参数。
建议能详细阅读EDMA文档,同时也对每个CSL库函数的使用方法进行进一步的了解,应该能解决你的问题。谢谢
Ryan KU:
回复 King Wang1:
King Wang 您好:
这两天我把代码中的指令进行了理解,并基于此做了一些测试,请专家看看不知理解正确与否
问题1:
代码中 instNum = 0, chAttr.regionNum为GLOBAL,通道数为0,因此对应IPR寄存器的地址为(0x02701068),且传输完成后IPR第一位应该挂起
测试过程中我在每一条指令下均观测IPR的值,结果显示IPR并未执行挂起,当是观测srcbuf和dstbuf值确实完成了数据传输。
同时我也对do { } while循环前后regionIntr.intr的只进行了观测,发现它的数值在循环过后由0变为了1
总之,传输不同数据量时使用TSCL通过查询寄存器的方式测得的时钟周期并没有改变(TSCL都是经过初始化的)
请专家指点如何去测EDMA传输的时钟周期,能够给相关例程参考吗?
问题2:
您一直强调要比对Parameter参数,但是如何去比对呢? 我是用同一个源文件只是将ccmxl文件作了修改,应该说参数不会改变啊 求教!
谢谢各位专家!!
King Wang1:
回复 Ryan KU:
你好:
我将你代码改了一下,这个代码在Emulator和simulator方式下都运行过,可以显示,请参考。
备注:simulator下测试cycle是不准确的,你需要在Emulator下进行测试。
Ryan KU:
回复 King Wang1:
King Wang您好:
通过您修改的代码我做了一些测试,有一些收获,但同时还存在一些疑问
1. Simulator上确不能进行EDMA传输时钟的测试;
2. 问题二得到了解决,并且在评估板上进行了EDMA传输时钟测试,经过多组不同数据量的测试(从共享内存传到DDR3)测得DataSorting的数据传输率为200MBPS——600MBPS,数据量越大传输速率越大,但有上限。
疑问有两点:
疑问一、我测得的Data Sorting的数据传输率不知是否正确,因为共享内存和DDR3-1333之间的比特率理论值为10.66GBPS,考虑到读写冲突也高达5.33GBPS,
Data Sorting模式下速率会有衰减,但不能确定我测得速率是否正确,请专家评判!
疑问二、在增大数据量时发现,BCNT和CCNT均不可大于或等于4K,否则传输会出错,同样的情况在Simulator中也会出现,
请教各位专家这是寄存器设置问题还是DDR3硬件特性的问题?(测试结果见附件)
谢谢专家!
Ryan KU:
回复 King Wang1:
King Wang 您好:
这两天我又在EVM板上做了一些测试,测得从共享内存到DDR3 SDRAM写数据的速率可高达5GBPS,这与理论的5.33GBPS很接近,所以觉得Data Sorting传输模式下数据率降到百兆级应该是合理的。
同时,我将BCNT改成(4K-1)时能够完成传输,但是BCNT=4K或者更大时数据不能正确传输,传输结果跟之前测得的一样,不知是什么原因导致的,请专家不吝赐教!
谢谢专家!!
Ryan KU:
回复 King Wang1:
King Wang专家您好:
通过你给的例程确实成功完成了EDMA的Data Sorting传输,但是这种模式下BCNT不能大于或等于4K,这个问题困扰了自己很久了(BCNT=4095时可以成功传输),不知专家您有何高见。
自己的确是想把这个问题搞懂搞透,而4K这个点把自己给卡住了,所以希望专家能够给予一定的建议、暗示或者解决方案!
谢谢专家!