TI中文支持网
TI专业的中文技术问题搜集分享网站

6657的upp DMA接收配置和重启问题

upp配置接收时,首先要禁用upp,再查询DMA传输标志位,再配置upp的DMA接收传输参数,如下实例所示

// Ensure uPP not enabled yet.
CSL_FINST(uppRegs->UPPCR, UPP_UPPCR_EN, DISABLE);

// init DMA channels
while(CSL_FEXT(uppRegs->UPQS2, UPP_UPQS2_PEND) == 0) //UPP_UPQS2_ACT
upp_dma_prog(UPP_DMA_CHAN_Q, (void *)rcvBuffer, lineCnt, xferSize / lineCnt, xferSize / lineCnt);

// Enable uPP here. PCR.EN bit
CSL_FINST(uppRegs->UPPCR, UPP_UPPCR_EN, ENABLE);

我想请问如果一直卡在等待UPP_UPQS2_PEND标志怎么办?不就不能配置下一帧接收了吗?

能手动清空upp吗,或者重启upp?芯片手册中有upp软件复位(SW reset)的描述,但软件复位不改变其寄存器的值吧,软件复位相当于重启upp吗?

Andy Yin1:

如UPP user guide中2.6节关于UPP的初始化步骤,配置EDMA不需要先disable UPP,可参看附件例程。

如果一直pend,说明之前配置的EDMA还没有完成,需要查看为何一直没有完成,如查看一下dma的参数配置等,如果要对upp复位,可以将upp power及clock domain进行软件掉电,然后重新配置一遍试试。

赞(0)
未经允许不得转载:TI中文支持网 » 6657的upp DMA接收配置和重启问题
分享到: 更多 (0)