您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF531 PLL问题
本帖共有407个阅读者
发表帖子 发表投票 回复主题
BF531 PLL问题
topsunlove(论坛新手)
topsunlove
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:249
积分:19
注册时间:2015/4/22
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF531 PLL问题
首先请问配置好PLL后怎么测系统和内核时钟啊?
第二就是代码问题,我用的12M的晶振,BF531芯片,代码如下:
void Init_PLL(void)
{    
    
*pPLL_DIV=0x0001;        // set VCO/CCLK = 1, and VCO/SCLK = 2(take effect immediately)   [CCLK=240M,SCLK=120M]                                    
*pPLL_CTL=0x2800; // set VCO/CLKIN = 20  
                      
*pPLL_LOCKCNT=0x0200; // time for PLL to stabilize
     asm("ssync;");
    
}
按说*pPLL_DIV=0x0001 VCO/SCLK应该等于1啊,也就是SCLK应该等于240M。但我SPI配置*pSPI_BAUD=3,测试SPI的SCK频率是20M,也就是说SCLK是120M。这是为什么啊,求帮助,非常感谢。

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/6/8 15:31:26
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
1. 随便运行一个死循环,运行10秒,停下,看VDSP寄存器菜单 core下的cycles,把两个32位寄存器的值拼成64位,转为10进制,然后除以10秒,就是你的内核速度。
2.你的PLL没有生效。PLL如何生效,在配置完寄存器后,必须运行idle 指令,让内核停止运行,待内核自动激活后,配置的时钟才能生效。在我们网站下载区中有很多例子代码,里面都有PLL函数,你直接使用就可以。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2015/6/13 21:02:48
topsunlove(论坛新手)
topsunlove
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:249
积分:19
注册时间:2015/4/22
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
谢谢andy

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/6/25 16:56:01
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154202 Call, 1 Queries, Processed in 0.015625 second(s),