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.

[参考译文] TMS320C6713:ADS1278的 McASP TDM 配置问题

Guru**** 2612405 points
Other Parts Discussed in Thread: ADS1278

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/582204/tms320c6713-mcasp-tdm-configuration-problem-with-ads1278

器件型号:TMS320C6713

关于在 TDM 模式下将 ADS1278器件与 McASP 配合使用,我遇到了串行数据计时问题,我看不到如何解决该问题。  由于我以64KSPS 的速率运行设备,因此我需要以256x64KSPS 的速率运行芯片时钟(CLK)和位时钟(SCLK)(请参阅 ADS1278数据表的表8)。  这与从器件计时的位数不一致=8个 ADC x 24位=192位/TDM 帧。 由于256/24=10.6不是整数,因此我无法在 McASP 中为 TDM 帧的256个时钟周期配置正确的 TDM 模式。

 作为变通办法、我可以将 McASP RX TDM 插槽配置为具有32位的插槽大小(6个有源插槽 x 32位/插槽=总共192位、TDM 帧中的2个无源插槽总共提供256个位周期)、 然后、在处理接收到的数据之前将32位片段重新组装到24位样本中、但这种方法有点难看、如果可能、我希望避免这种情况。  

 此器件中的 TDM 模式似乎是与 TI DSP 中的 McASP 外设配合使用的、因此必须有一种更简单的方法来实现此目的。  

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

    C6713可以设置为24位插槽大小模式、因此它可以获得大小合适的数据块、并可以将数据复制到32位位置。 您可以根据需要对齐它们、根据需要填充它们、甚至可以旋转或位扩展或屏蔽它们。 这个 McASP 非常灵活。

    C6713可以生成位时钟和 FSYNC、或仅生成 FSYNC、具体取决于您要执行的操作。

    我不知道为什么你需要解决问题。

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

    Randy、

    是的、这是正确的、但在 TDM 模式下、位数/时隙*时隙数必须等于位时钟/ TDM 帧的总数。  ADS1278在高速模式下需要256位时钟/ TDM 帧、并将每个 TDM 时隙作为24位字提供、不会平均分为256。  因此、我唯一看到处理这种情况的方法是使用具有6个有效插槽的8槽 TDM、该插槽的大小为32位。  这将为我提供适当数量的位/时钟/ TDM 帧。  缺点是、总共192个被格式化为8个插槽* 24位/数据插槽的位将被读取为6个32位数据插槽。  将24位数据打包到32位字中将使其成为格式化单元无法处理24位数据的解压缩。

    从插槽格式解压缩为24位字格式:

    24+8、16+16、8+24、24+8、16+16、 8+24、空、空

    24、24、24、24、24、 24、24、24

    Dan

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

    Dan、

    [引用用户="Dan Wickstrom18"]在 TDM 模式中,位数/时隙数*时隙数必须等于位时钟/ TDM 帧的总数[/引用]

    在我们的文档中、您在哪里可以找到此要求?

    此致、
    RandyP

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

    在 McASP 参考指南(spru041j)的第1.6.1节中,有以下内容(相关位突出显示):

    TDM 格式由基本同步串行传输中的三个分量组成:时钟、数据、
    和帧同步。 在 TDM 传输中、所有数据位(AXR[n])与串行时钟(ACLKX)同步
    或 ACLKR)。 数据位被分组为字和时隙(如部分1.5中定义的那样)。 "插槽"是
    TDM 术语中通常也称为"时隙"或"通道"。 一个帧包含多个帧
    插槽(或通道)。 每个 TDM 帧由帧同步信号(AFSX 或 AFESR)定义。 数据传输
    连续和周期性、因为 TDM 格式最常用于与数据进行通信
    以固定采样率运行的转换器。


    插槽之间没有延迟。 在下一个串行时钟上、插槽 N 的最后一位紧随其后
    用插槽 N + 1的第一位循环、最后一个插槽的最后一位在下一个串行中紧随其后
    时钟与第一个时隙的第一个位进行比较。 但是、帧同步可能与第一个位的第一个位偏移
    延迟为0、1或2周期的时隙。


    系统中的发送器和接收器需要同意每个插槽的位数、这是因为
    帧同步信号不会确定时隙边界(尽管帧同步标记为)
    插槽0的开头和新帧的开头)。

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

    这听起来很清楚、我看不到 McASP 的替代方案。 也许其他人会对您有一个想法。

    您可以改用 McBSP 吗? 它可以按照我的想法进行配置、具有独立于字/槽大小和字/槽数的可编程帧周期。

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

    我无法使用 McBSP、因为我需要连接更多 ADC 和 DAC、而这是两个 McBSP 支持的。 作为替代方案、我正在考虑使用 EDMA 将32位字解压到24位样本、或者使用采用32位时隙大小的 ADC (例如、ADAU1978)。

    Dan