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.

[参考译文] TMS320F28377D:SPI 接收数据错误

Guru**** 2524550 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/831867/tms320f28377d-spi-receive-data-error

器件型号:TMS320F28377D

尊敬的团队:

我将28377D McBSP 仿真为 SPI、以与 CPLD 进行通信、将 DSP 设置为主机、将 CPLD 设置为从器件(仅一个从器件)。

我检查了芯片选择、CLK 和传输信号是否正常、并且 CPLD 发送到 DSP 的数据也可以通过示波器看到。  但在 CCS 在线仿真中、我们观察到 DRR1始终显示0xFF。 这是什么原因?

此致

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

    显示错误值的只是 CCS Registers 窗口、还是将 DRR1读取到变量中也会在变量中输入错误值? 您能否确认 DR 引脚的引脚复用是否正确?

    惠特尼

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

    尊敬的惠特尼:

    我要将 McBSP 传输到 SPI 端口。 为了验证是否是硬件问题、我首先将这四个引脚配置到 SPI 中、并观察 CPLD 通信发送和接收的数据。 配置 SPI 时、发送和接收的数据没有问题。 但是、如果这四个端口被配置为 McBSP 扩展的 SPI 端口、则接收到的数据将会有问题。 McbspbReg.DRR1.all = 0xFF、且始终为0xFF (I 以16位发送)。

    输入总线似乎一直被上拉。 但是进入 DSP 的 GPIO 端口的电平是正确的、并非所有端口都是高电平。 我不知道配置在哪里出错。 这是我的初始化配置:

    McbspaRegs.SPCR2.all=0x0000;//重置 FS 发生器、采样率//发生器和发送器
    McbspaRegs.SPCR1.all=0x0000;//复位接收器、右对齐字

    McbspaRegs.pcr.bit.all = 0x0F08;  
    McbspaRegs.SPCR1.bit.DLB = 0;  

    McbspaRegs.SPCR1.bit.CLKSTP= 3;  
    McbspaRegs.pcr.bit.CLKXP=0;
    McbspaRegs.pcr.bit.CLKRP = 1;

    McbspaRegs.RCR2.bit.RDATDLY = 01;// RX 数据延迟为1位
    McbspaRegs.XCR2.bit.XDATDLY= 01;// TX 数据延迟为1位

    McbspaRegs.RCR1.bit.RWDLEN1 = 2;// 16位字
    McbspaRegs.XCR1.bit.xWDLEN1 = 01;// 16位字

    McbspaRegs.SRGR2.bit.all = 0x2000;  
    McbspaRegs.SRGR1.bit.all = 19;  

    McbspaRegs.SPCR2.GRST=1;  
    delay_loop();
    McbspaRegs.SPCR2.XRST=1;  
    McbspaRegs.SPCR1.RRST=1;  
    McbspaRegs.SPCR2.frst=1;

    此致

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

    尊敬的惠特尼:

    等待您的回复。

    谢谢你。

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

    您能否查看器件技术参考手册中描述在时钟停止模式下运行所需位设置的表格? 它称为"表21-14。 文档修订版 H 中用于启用和配置时钟停止模式的位"。 确保您的设置完全匹配。 它可以在您共享的代码中看到大部分内容、但请检查文档中提到的其他字段。

    谢谢、

    惠特尼