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.

[参考译文] CCS/TMS320VC5502:TMS320VC5502-clk 在30MHz 时的 UART 波特率计算

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/790325/ccs-tms320vc5502-uart-baud-rate-calculation-for-tms320vc5502-clk-as-30mhz

器件型号:TMS320VC5502

工具/软件:Code Composer Studio

您好,

   我正在使用 TMS320VC5502处理器。 使用外部晶振30MHz。 我将 C55x 公式的芯片选择库称为

分频值=(clk)/(16 x 波特率)

因此、我计算1、15、200波特率的分频值为16。 但在超级终端中不显示字符。

我使用逻辑分析仪测量波特率,它是960000。

波特率计算的工作原理是什么?? 有人解释或提供任何链接?

(注意:从关于测量波特率,我预测除数值为133,在115200波特率的超级终端中显示字符)

是否有其他公式?

 

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    UART 模块从所谓的"慢速外设时钟组"获取时钟。 这意味着涉及到分频器 D2、哪个输出为 SYSCLK2。
    您必须检查 PLL 控制寄存器设置、才能正确计算波特率。
    我想您是指 www.ti.com/.../tms320vc5502.pdf。
    如果是这样、您应该选中"图3-14. 时钟发生器寄存器"

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

    我需要使用30MHz 外部晶振将200MHz 上5502 DSP 的 PLL 设置为1。在 PLLM 寄存器中、我可以选择哪个值来获得200MHz??
    如果我选择 PLLM=0x0006 (6*30=180MHz)或 PLLM=0x0007 (7*30=210MHz、超过200MHz)

    我在 PLL 设置中替换以下值

    PLLM=0x0006 (180MHz)
    PLLDIV0=0x8000
    PLLDIV1=0x8001
    PLLDIV2=0x8001 (180/2=90MHz)
    PLLDIV3=0x8003


    现在我进行计算
    分频值=(clk)/(16 x 波特率)= 90MHz/(16*115200)=48.8 ~ 49分频值

    但是、我在 Hyperterminal 中没有得到字符。

    高于 Procedur 是否正确 SIR?? 是否有任何解决方案?

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您说外部晶体为30Mhz。 因此、您的 X2/CLKIN (主振荡器)等于超出规格的该频率。
    对于 VC5502、该频率应介于5和20 MHz 之间。 您可以先纠正此问题并重新计算所需的频率。
    例如、PLL 时钟由 PLLM 寄存器和 PLLDIV0寄存器决定、因此您可以选择10或20MHz 的晶体、并轻松实现 VC5502时钟的200MHz。 之后、UART 输入时钟可由 PLLDIV2调节、波特率由波特率分频器控制。 由于输入晶振超出规格、因此无法保证时钟发生器模块和 PLL 正常工作。

    Michail