您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> PLL求助
本帖共有735个阅读者
发表帖子 发表投票 回复主题
PLL求助
zhoumaicheng(论坛新手)
zhoumaicheng
头衔:社区公民
帮派:无帮无派
帖数:29
金钱:464
积分:54
注册时间:2012/7/10
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
PLL求助
*pPLL_DIV = pssel;                    //设置系统时钟分频系数,内核不做分频

       asm("ssync;");                                   //系统同步

       new_PLL_CTL = (pmsel & 0x3f) << 9;              //将VCO倍频系数移位至需设置的位置

       *pSIC_IWR |= 0xffffffff;            //将系统中断唤醒使能

       if (new_PLL_CTL != *pPLL_CTL)     //判断是否已经配置过倍频系数

       {

              *pPLL_CTL = new_PLL_CTL;     //配置倍频系数

              asm("ssync;");                            //系统同步

              asm("idle;");                         //将处理器设置为空闲

       }

配置完PLL后,系统必须将系统设置为空闲后,系统再一次唤醒后,设置的值才会生效。

1,对于这个程序,能 具体解释一下asm("ssync")这条指令么?到底什么 叫做系统 同步

2,*pSIC-IWR=0XFFFFFF;能具体 解释一下,什么叫做中断唤醒,不  理解?

3,对于2中的 中断 唤醒,如何才能 中断唤醒呀,程序 当中没有 设置PLL中断呀


喜欢学习
等级:论坛新手 参考IP地址:*.*.*.*
2012/8/24 10:33:53
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

ssync是系统定义的指令,DSP中有些功能必须同时执行,这个时候就需系统同步,告知系统这些指令是同时执行的,比如PPI需要定时器参与,其使能是独立的寄存器,所以必须加同步指令。另外同步指定也可作为短延时使用。

查找帮助文件,搜所SIC-IWR ,可看到该寄存器是允许系统中断唤醒的寄存器,在此允许所有中断唤醒。

PLL的中断为内核所控制,外部无法对其控制,当执行idle时,内核会进入休眠状态,然后会自动被中断唤醒,如果不加这个指令,PLL配置则无法生效。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/8/24 17:58:07
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.160138 Call, 1 Queries, Processed in 0.014648 second(s),