This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320C6657:C6657 uPP 通道 B 始终读取为 NULL

Guru**** 2582415 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/633411/tms320c6657-c6657-upp-channel-b-always-reads-null

器件型号:TMS320C6657

我使用 的是 TMDXEVM6657评估板、在该评估板上、所有 uPP 引脚均可在80引脚接头上连接。

通过 uPP 转换 ChannelA 的工作原理非常好、仅在通道 B 上、I 始终得到"零"。

我的配置是:

void upp_pinmux_enable (void){
//uint32 chip_MISC_CTRL = CSL_BOOT_CFG_regs + CHIP_MISC;
//(volatile unsigned int *) chip_MISC_CTRL = 0x00000000;//将 NCASYS 作为 RPI_CHIP_CLK 的 clk 源
;//UINT32 Chip_PIN_CONTROL_0x0001;

* 0x20INT_INT_INTRUINT1
= 0x0001;volatile 1 = 0x20INT_INT_INT_CONTROUT_INT_INTRUINT1;* 0154T_INT_INT_INT_INT_INTRUT_INTRUINT1;* PIN_CONTROUT 

uPPInit():

upp_key_config ();//对 KICK0和1寄存器进行编程。
upp_pinmux_enable();//通过内部回送,在 PIN_CONTROL_1中启用 uPP

//读取 PID
int pid = CSL_FEXT (uppRegs->UPPID,UPP_UPP_REVID);
if (pid!= CSL_UPP_UPP_RESETVAL)
{ UPf("UPpREP->UPP_UPP);if (p_UPP_UPP_0+




= UPP_UPP_REPP+);if (UPP_UPP_REPP+= UPP_RETP_RETP_0+),UPP+(UPP+),在 UPP_RETP_RETP_0+(UPP+中,UPP+,UPP+,UPP_REPP+,UPP+,UPP+,UPP



CSL_FINST (uppRegs->UPPCR、UPP_UPPCR_SWRST、 运行);


//初始化寄存器:CTL、ICR、IVR、TCR
uPP = uppDevParams_default;
uPP.A.Direction = UPP_DIR_RCV;
uPP.A.datarate = UPP_DR_SDR;
uPP.A.dataWidthVal = dataWidth;
uPP.A.idleValueVal = 0xAAAA;
upp.A.clkDivVal = 0x1;//使用0到0xF
之间的时钟 div uPP.A.rcvThresh = UPP_TT_256B;
uPP.A.useStart=1;
uPP.A.useEnable=1;
uPP.A.dataPacking=UPP_DP_RJUST_0FILL;
//uPP.A.dataWidthVal = 15;

upp.B.方向= UPP_DIR_RCV;
uPP.B.datarate = UPP_DR_SDR;
uPP.B.dataWidthVal = dataWidth;
uPP.B.idleValueVal = 0xBBBB;
uPP.B.clkDivVal = 0x1;
upp.B.rcvThresh = UPP_TT_256B;
uPP.B.useStart=1;
uPP.B.useEnable=1;
uPP.B.dataPacking=UPP_DP_RJUST_0FILL;
uPP.loopback = UPP_lb_none;
upp.numChannelsVal = 2;
uPP.useInterleave=0;
status = upp_config (&uPP); 

正如我所理解的、引脚的方向是通过右上角的初始化进行配置的?

正如我在评估板-SCM 中看到的、一些 uPP 引脚是双向的、是否有任何关于如何配置这些引脚的建议?

非常感谢

此致 Martin  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们将对此进行研究。 反馈将发布在此处。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Martin、

    n`t 在 CSL-FL 中、除了低级寄存器配置之外、我们对该外设没有任何软件支持、因此我已经与硬件和设计团队联系、以了解他们是否可以在这个接口方面为您提供帮助。

    您能否在完成 INIT 函数后提供 UPP 通道控制寄存器的值?

    此致、
    Rahul
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Rahul、
    upp 通道控制寄存器@ 0x02580010的值为0x02020004
    提前非常感谢您的支持。
    此致 Martin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们现在解决了这个问题。

    测试模式。

    upp 工作正常。

    再次感谢您的帮助

    此致

    Martin