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.

[参考译文] AM3358:设置 SPI 总线速率

Guru**** 2618835 points

Other Parts Discussed in Thread: MSP430F149, TLV5616

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579777/am3358-setting-spi-bus-rate

器件型号:AM3358
主题中讨论的其他器件:MSP430F149TLV5616

尊敬的 TI 支持:

我正在设计一个基于 BeagleBone Black Rev C 的工业控制系统、该系统具有4-20mA 电流环路。 一条 SPI 总线专用于4-20mA 回路发送器、另一条专用于4-20mA 输入。  

我看到 SPI 总线时钟都是48MHz 的整数分频器。

在发送 端、这使得无法生成适用于许多标准串行传输速率的 SPI 总线时钟频率、即对于16位传输、19.2K 需要3.072MHz 的波特率、这不是48MHz 的整数商。 我可以达到的最接近的数据速率为3MHz、这使得数据速率为18.75kbs、这与19.2Kbps 相差太远误差=(18.75/19.2)-1 = 2.3%、我需要小于2%

是否有办法更改驱动 SPI 总线的48MHz 时钟?

非常感谢您的所有帮助和支持。

Jeff Cohen

Hytorc

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

    McSPI 功能时钟取自外设 PLL M2输出(192MHz)、然后除以4 (48MHz)。 要更改此频率、您必须更改外设 PLL 频率、这将影响由其计时的所有子系统(几乎所有器件外设)。 简而言之、强烈建议不要尝试更改此频率。

    我不明白为什么您担心19.2K (顺便说一下、这是每秒千兆位或千兆个样本)? 在您的情况下、AM335x 是 SPI 主器件、从器件将在馈送的任何 SPI 时钟下工作、只要该时钟处于其工作限制范围内。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    非常感谢。  我同意不更改192MHz PLL M2频率的值是有道理的。

    请允许我解释一下、所需的 SPI 总线时钟频率和实际达到的频率之间存在差异。在发送端、我可以达到230.4kbs。  大多数接收器指定2%的误差率。  下表显示了数据速率、所需的 SPI 时钟频率和误差率。 请注意、误差率=[ 1 -(实际/所需)]X 100]。  

    数据速率

    所需的 SPI 总线时钟*16频率

    分频值

    实际 SPI 总线时钟 频率

    实际数据速率

    误差%

    2400

    38400

    1250

    38400

    2400

    0

    4800人

    768

    625.

    768

    4800人

    0

    9600

    153600

    312.5.

    153846.15.

    9615.4

    0.16.

    14400

    230400

    208.33.

    23079

    14423.

    0.16.

    19200

    307200

    156.25.

    307692

    19231.

    0.16.

    38400

    614400

    78.125.

    615385

    38462

    0.16.

    57600

    921600

    52.083

    923077

    57692

    0.16.

    115200

    1843200

    26.0416

    1846154.

    115385

    0.16.

    230400

    3686400

    13.0283.

    3692308

    230769

    0.16.

    460800

    7372800

    6.51.

    6857143

    428571

    -7.0

    921600

    14745600

    3.255.

    16000000

    1000000

    8.6.

    此致、

    Jeff

    Hytorc 公司 美国新泽西州马瓦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是说 SPI 从器件(4-20mA 外设)需要连续 SPI 时钟吗? 您可以指定器件型号或发布数据表吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    时钟不连续。 它仅在通过4-20mA 环路传输数据期间有效。 通常、此类通信由 MSP430微控制器处理。

    该系统与"使用 SPI 同步通信与数据转换器:连接 MSP430F149和 TLV5616 "的图1所示类似。
    链接: www.ti.com/.../slyt137.pdf

    SPI 总线通常处于空闲状态、只要有串行数据包、数据就会以猝发方式传输、每16次数据传输时、数据就会加载到 DAC 中并进行转换。 您能想到更好的方法吗?

    此致、

    Jeff
    Jeff Cohen:Hytorc Inc、Maah、美国新泽西州
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不理解的是、为什么数据应该以这些波特率进行传输。 上表适用于异步 UART 接口、但 SPI 数据由主时钟在从器件中计时。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    你是对的。 波特率无关紧要。 这些传感器不是智能设备。 它们是模拟传感器。  

    我的印象是他们也可以携带数据。 我弄错了。  

    非常感谢您向我指出这一点。  

    此致、

    Jeff