您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF53x技术支持专区 -> Blackfin入门教程---BF53x_PLL
本帖共有1066个阅读者
发表帖子 发表投票 回复主题
Blackfin入门教程---BF53x_PLL
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
Blackfin入门教程---BF53x_PLL

接口功能介绍

PLL(Phase Locked Loop)是ADSP-BF53x的内核和时钟设置的机制,叫做锁相环。通过PLL配置当前处理器工作的内核和系统时钟。

输入时钟送给ADSP-BF53x后,通过DF设置是否对输入时钟分频,然后将根据MSEL的值对时钟进行倍频,倍频后将时钟送给VCO,由VCO根据设置的分频系数,分出内核时钟和系统时钟。

MSEL占用6Bit,最大可设置64倍倍频。通常情况下,该倍频频率不要超过芯片允许的最大频率。

内核时钟分频系数占2Bit,最大可设置8倍分频,当为00时,内核时钟等于VCO时钟。设置的内核时钟不要超过芯片允许的最高频率。

系统时钟分频系数占4bit,最大进行15倍的分频。设置的系统时钟不要超过133MHz。

接口寄存器说明



寄存器

功能

PLL_DIV

PLL分频寄存器,设置系统时钟和内核时钟分频系数

PLL_CTL

PLL控制寄存器,设置VCO倍频系数和一些控制开关

PLL_STAT

PLL状态寄存器,获取芯片当前工作的状态

PLL_LOCKCNT

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后,系统必须将系统设置为空闲后,系统再一次唤醒后,设置的值才会生效。

代码实现功能

代码实现了将内核时钟配置为16倍倍频,将系统时钟配置为3倍分频。板卡上输入时钟为25MHz,所以VCO时钟配置后为25*16 =400MHz,内核时钟没有做分频,所以内核时钟等于VCO时钟,也为400MHz,系统时钟为400/3=133MHz。

测试结果

运行代码后,处理器的内核时钟会运行在400MHz,系统时钟运行在133MHz。


上传的附件
   2011682003152.rar [ 303.20 KB ]



「该帖子被 andy 在 2011-06-08 20:00:47 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2011/6/8 19:54:33
许松枝(论坛新手)
许松枝
头衔:社区公民
帮派:无帮无派
帖数:17
金钱:278
积分:30
注册时间:2013/5/15
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

请问你们配置各个模块寄存器参考的是什么资料啊?


不想任人宰割的羔羊最后迷路了!
等级:论坛新手 参考IP地址:*.*.*.*
2013/5/15 15:50:33
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
VDSP软件装好后,Help菜单下有一个带望远镜的问号图标,点击后打开帮助文件,将你需要配置的寄存器输入搜索窗口,在得到的结果中找到相应的寄存器说明即可。
相关接口的寄存器可以通过VDSP软件下的寄存器菜单获知。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/5/15 17:41:40
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159251 Call, 1 Queries, Processed in 0.031250 second(s),