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.

[参考译文] TMS320F28335:McBSP RJUST 字段不能用符号扩展进行右对齐

Guru**** 2341440 points
Other Parts Discussed in Thread: ADS1278, CONTROLSUITE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/589753/tms320f28335-mcbsp-rjust-field-does-not-right-justify-with-sign-extension

器件型号:TMS320F28335
Thread 中讨论的其他器件:ADS1278、controlSUITE

我有一个 TMS320C2000Tm实验套件[R3]和一个 F28335 Delfino 系列控制卡[R2.2]。

我使用其 McBSP-B 从填充了 ADS1278的 ADS1x7xEVM Rev F 中读取数据、该版本在我设置的所有配置中均按预期工作。

现在、由于 ADS1278发送数据的格式为24位二进制补码格式、 因此我想获取符号扩展、以便在检索 DRR2 (MS 字)和 DRR1 (LS 字)时 数据整个32位值将被正确解释为有符号32位值。

惊喜,惊喜! McbspbRegs.SPCR1.bit.RJUST = 0b01;不起作用!

根据数据表:

我的调查结果表明、值0和值2按预期工作、值1不会进行符号扩展、因此基本上与值0一样工作。

出于绝望、我尝试了保留的值3、建议不要使用、该值3执行了符号扩展、就像值1应该执行的那样。

编辑:抱歉、我太快无法查看数据、值3不会对值进行符号扩展! 因此、我无法像预期的那样使用 McBSP 硬件进行符号扩展。 结束编辑

我已经检查了 DSP2833x_Mcbsp.h、希望在结构 SPCR1_BITS 的位字段上找到不对齐的情况、但一切都很好。

Code Composer Studio 版本:6.1.3.00034 + controlSUITE v3.4.0

因此、我可以规避该问题、但我的芯片修订版本仍然存在一些问题、或者什么问题? 我想获得有关此类问题原因的答案。

谢谢。

此致、

Rui

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

    嗯、我自己已经明白了、它与 ADS1278评估板中可怕的触发器和逆变器组合有关。

    如果  您有兴趣了解为何需要它、请访问 e2e.ti.com/.../482598。

    基本上、我的 SCLK 过慢(f_SCLK = 15MHz、t_SCLK = 66.667 ns)、并且会遇到一些 ADC 时序规格的问题、t_SCLK/2 < t_MSBPD、t_DOPD < t_SCLK、t_MSBPDt_DOPD 最大值为31ns、超出 t SCLK 周期的一半 t <t_SCLK 。

    为了正确读取数据、我必须再延迟一个 SCLK 周期、McbspbRegs.RCR2.bit.RDATDLY = 0b10;

    此致、

    Rui

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

    感谢您将解决方案发布到您的问题!