您好!
使用 TM4C129NCZAD 时、我们注意到 RESET_N 在任何 XTAL 达到稳定时间(即稳定时钟)之前被取消置位。
- 这是个问题吗?
- 是否有任何/无要求在 RESET_N 被置为有效前使时钟保持稳定?
- 此外、12MHz 时钟通常在0V 以上摆动、而32.768kHz 时钟在0V 及0V 以上摆动。 这是问题吗?
谢谢、
Christina
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.
您好!
使用 TM4C129NCZAD 时、我们注意到 RESET_N 在任何 XTAL 达到稳定时间(即稳定时钟)之前被取消置位。
谢谢、
Christina
您好!
RST_N 是 MCU 的输入。 它可以在时钟稳定前被置为有效。 释放 RST_N 后、内部复位仍保持、直到电源达到有效工作范围。 有关复位时序、请参阅数据表中的电气部分。 如果您选择 MOSC 作为时钟源、则器件需要等待、直到 OSC 稳定、然后才能切换到它。 默认情况下、PIOSC 是复位后的时钟源。 从 SysCtlClockFreqSet()中检查以下代码片段。 如果选择 MOSC、则器件直到 MOSCPUPRIS 位被置位。
否则、if (((ui32Config & 0x38)== SYSCTL_OSC_main)
{
//
// Bounds 检查主振荡器的源频率。 是
//因为 g_pppui32XTALtoVCO 结构范围中的 PLL 表
//从5MHz 到25MHz。
//
if (((i32XtalIdx >(SysCtlXtalCfgToIndex (SYSCTL_XTAL_25MHz))))||
(i32XtalIdx <(SysCtlXtalCfgToIndex (SYSCTL_XTAL_5MHZ))))
{
返回(0);
}
ui32Osc = g_pui32Xtals[i32XtalIdx];
//
//将 PLL 源选择设置为 MOSC。
//
ui32OscSelect = SYSCTL_RSCLKCFG_OSCSRC_MOSC;
ui32振荡器选择|= SYSCTL_RSCLKCFG_PLLSRC_MOSC;
//
//清除 MOSC 断电、高振荡器范围设置、且无晶振
//当前设置。
//
ui32MOSCCTL = HWREG (SYSCTL_MOSCCTL)&
~(SYSCTL_MOSCCTL_OSCRNG | SYSCTL_MOSCCTL_PWRDN |
SYSCTL_MOSCCTL_NOXTAL);
//
//增加10MHz 及以上 MOSC 的驱动强度。
//
if (i32XtalIdx >=(SysCtlXtalCfgToIndex (SYSCTL_XTAL_10MHz)-
(SysCtlXtalCfgToIndex (SYSCTL_XTAL_5MHZ)))
{
ui32MOSCCTL |= SYSCTL_MOSCCTL_OSCRNG;
}
HWREG (SYSCTL_MOSCCTL)= ui32MOSCCTL;
//
//使用传统延迟值超时。
//
ui32Delay = 524288;
while ((HWREG (SYSCTL_RIS)& SYSCTL_RIS_MOSCPUPRIS)==0)
{
ui32 Delay--;
if (ui32Delay = 0)
{
中断;
}
}
至于 OSC 上的电压摆幅、我没有发现问题。