2369652_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2369652_zh-CN

2369652_zh-CN

FRDMPT2000EVM 上的 PT2000 CLK 问题

你好,我正在使用连接到我的微控制器板的 FRDMPT2000EVM。

两块电路板之间的连接是:

RESET、DRVEN、SCLK、MISO、MOSI、CS、VCCIO (3.3V)、VCC5,CLK。

我确定 SPI 通信正常(可以读写寄存器)。

我用评估板上的 CLK 跳线(已关闭)上的示波器计验证了 CLK 信号符合规格(频率 1MHz,占空比 50%,电压等级 3.3V),但是当我读取 MainBackupClockStatus 寄存器(地址 0x1A8)时,第 0 位(loss_of_clock)已确定,表明无法识别外部时钟,但我确信时钟是正确的而且连接正确,我还尝试在同一个寄存器中设置 switch_to_clock_pin 位但没有成功,请帮帮我,错误在哪里?

此致

Re: PT2000 CLK problem on FRDMPT2000EVM

你好,拉法、

我明白你的意思。

我认为就我而言,问题在于,在启动时,PT2000 无法识别外部时钟,因为提供时钟的微控制器板无法与 PT2000 同时供电,因此 PT2000 首先在没有外部时钟的情况下启动,然后微控制器开始为时钟供电,但此时我必须手动切换时钟。

我希望,在最后一块同时启动 PT2000 和微控制器的主板中,PT2000 能够在启动阶段识别时钟。

再次感谢,并致以最崇高的敬意

Re: PT2000 CLK problem on FRDMPT2000EVM

你好 alessandrocorti

日安

如果外部时钟出现故障:设备会自动切换到备用时钟

如果外部时钟返回:设备通常不会自动返回

您必须再次手动切换

希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。

祝你愉快,好运连连。

Re: PT2000 CLK problem on FRDMPT2000EVM

你好,拉法、

谢谢您的答复,我只想问最后一个问题,因为我还有一个疑问、

一般来说,我必须每次都手动切换到外部时钟引脚,还是 PT2000 在识别到外部时钟时会自动切换?

谢谢 

此致问候

Re: PT2000 CLK problem on FRDMPT2000EVM

你好 alessandrocorti

日安

您确认我需要延迟吗?

是的,你实施得很完美。

这是正确的还是为了提高功能安全,我必须将延迟时间设置得更长?

我认为,超过 50 人是过分的。如果你想确定的话,可以再给它 20 us,50 us 应该没有问题。

一般来说,是否必须在两次连续访问寄存器之间插入延迟?

一般来说,没有必要这样做;这种延迟是为了让 PT2000 有时间稳定时钟。

希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。

祝你愉快,好运连连。

Re: PT2000 CLK problem on FRDMPT2000EVM

感谢 RafaR 的答复。

我以为 PT2000 芯片可以单独切换到外部时钟,而无需通过用户软件手动切换。

总之,正如我之前所说,我试图手动切换,但之后所有寄存器访问都返回类似 0xAAAC 的错误代码。

我不得不在写寄存器访问和读寄存器访问之间增加 50 us 的延迟时间,现在这个新函数似乎可以正常工作了:

int PT2000ClockCheck(PT2000_Device*PT2000Device)

{

PT2000Device->extClkIsOk= PT2000MissingClkBitCheck(PT2000Device);


同时( !PT2000Device->extClkIsOk)

{

PT2000Device->BkpClkStatReg.B.SwitchToClkPin= 1;


PT2000WriteRegister(PT2000Device、 主备份时钟状态,PT2000Device->BkpClkStatReg.U);

delayus(50)); // 等待 50

PT2000Device->extClkIsOk= PT2000MissingClkBitCheck(PT2000Device);

}


返回0;

}


函数 PT2000MissingClkBitCheck 的位置:


布尔 PT2000MissingClkBitCheck(PT2000_Device*设备)

{

布尔CLKCheckResult = TRUE;


// 检查 CLK 1MHz

PT2000TransferData(PT2000Device.SpiCmdWrite) SpiCmdWrite, 选择注册, common_page); // 设置公共页面


PT2000Device->BkpClkStatReg.U= PT2000TransferData(PT2000Device、 数据读取, 主备份时钟状态, 0x00); // 读取备份时钟状态寄存器


如果( PT2000Device->BkpClkStatReg.B.LossOfClk)

{

CLKCheckResult = FALSE; // 如果没有 1MHz CLK,则将结果设置为 0

}


返回CLKCheckResult;

}


如果没有 delayus(50) 就不起作用。

您确认我需要延迟吗?

这是正确的还是为了提高功能安全,我必须将延迟时间设置得更长?

一般来说,是否必须在两次连续访问寄存器之间插入延迟?


顺祝商祺!


Re: PT2000 CLK problem on FRDMPT2000EVM

你好 alessandrocorti

日安

PLL 在启用外部 CLK 后约 25 秒锁定

switch_to_clock_PIN:此位(在上升沿处于活动状态)用于提供一种重置时钟丢失条件的方法。如果该位是在时钟丢失条件下设置的,则一旦时钟管理器将 PLL 输入切换到外部基准电压源,它就会被重置。如果该位在没有时钟损失的情况下设置,则该位会立即重置而不会产生任何影响。

您能否确认在尝试执行 switch_too_clock_pin 时 PLL 确实发生了变化?

RESET后,延迟尝试。让时钟监测稳定下来。

我还建议你重读第 7.4.3 章时钟监测、闪光灯启用和数据表的 drVen

希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。

祝你愉快,好运连连。

Tags (1)
No ratings
Version history
Last update:
‎05-30-2026 04:53 AM
Updated by: