打印
[ZLG-ARM]

lpc2378能否用RTC作为系统PLL的输入?

[复制链接]
2317|5
手机看帖
扫描二维码
随时随地手机跟帖
沙发
zlgARM| | 2007-1-30 08:55 | 只看该作者

RE 楼上

我已用2378做了实验。
令2378先掉电,再用外部中断唤醒,然后再选择RTC作为时钟。实验结果正常。

估计你的问题可能出在PLL设置部分。

注意PLL要重新使能,要等待它锁定且连接。你拿主振荡器再试试,把问题范围凸显出来。

使用特权

评论回复
板凳
elyq|  楼主 | 2007-1-30 21:52 | 只看该作者

问zlgARM?

为什么要掉电再换醒?系统上电复位启动后直接设置不行吗?
补充说明:我是想让系统通过RTC时钟作为PLL的输入,PLL的输出约为288Mhz左右(根据USER GUIDE的设置方法和数值),然后四分频作为CPU CLOCK。RTC CLOCK直接作为CPU CLOCK我也试过没有问题。
另外,能不能把你的设置代码发送给我?

使用特权

评论回复
地板
zlgARM| | 2007-1-31 08:54 | 只看该作者

RE

要掉电再唤醒,仅仅因为用了其它程序的框架,便利编程而已。
上电复位启动后直接设置RTC时钟为系统振荡源,并分频作为CPU CLOCK当然也可以。这些我已经验证过了。
但如果需要我给您设置代码,很抱歉,能不能麻烦您先和我们公司的销售联系呢?在产品没推出之前,23xx方面的这类支持是有限制的。真地很抱歉,请您给予理解。

使用特权

评论回复
5
elyq|  楼主 | 2007-1-31 20:20 | 只看该作者

先帮我看一下,我的代码

要不你先帮我看一看我的代码有什么问题。如果有必要我再让南京的销售和你们联系,我的样片是南京办事处提供的。
void PllFeed(void)
{
    pgsPll->regFeed=0xaa;
    pgsPll->regFeed=0x55;
}
void SetupSysClk(void)
{
    volatile INT32 i;

    if(pgsPll->regStatus & PLL_CONNECTED)
    {
        pgsPll->regCtrl=PLL_ENABLE;
        PllFeed();
    }

    pgsPll->regCtrl=0;
    PllFeed();

    CCLKCFG=0x00;    //分频
    
    CLKSRCSEL=0x02;    //选择IRC 作为系统时钟源
    pgsPll->regCfg=0x12254;
    PllFeed();

    pgsPll->regCtrl=PLL_ENABLE;
    PllFeed();

    CCLKCFG=0x03;    //4分频=71.9995

    for(i=0;i<500;)
    {
        if(pgsPll->regStatus & PLL_LOCKED) i++ ;    //检测锁定,并延时等待PLL稳定
    }
    //无法运行到这里,请教?
    pgsPll->regCtrl=PLL_ENABLE | PLL_CONNECT;
    PllFeed();

    while(!(pgsPll->regStatus & PLL_CONNECTED)) ;
    
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

14

帖子

0

粉丝