C6678的PLL模块设置
这部分讲解的是Main PLL和 PLL Controller的配置,主要介绍怎样提供DSP核 C66X CorePac需要的工作时钟;C6678除了Main PLL,还有 DDR3 PLL、PASS PLL。
1、Keystone1架构 C6678: Main PLL and PLL Controller结构图:

2、 CLKIN 是提供的参考时钟,即输入时钟,经过Main PLL后时钟输出为 PLLOUT,再输入到PLL Controller中,PLL Controller可以通过设置相关寄存器对输入的PLLOUT时钟进行分频,来获取多种不同频率的时钟,满足核心和外设的时钟需求,由图可以看出PLL Controller一共输出了16种不同的时钟;
3、16种不同的时钟中,SYSCLK1时钟用来作为核C66X CorePac的工作时钟,SYSCLK1时钟频率直接等于PLLOUT,不进行分频,所以C66X CorePac的工作时钟直接等于PLLOUT;其它时钟都具有不同的分频系数,其中只有PLLDIV2、PLLDIV5、PLLDIV8三个分频系数可以通过寄存器进行调整,其它的分频系数都是固定的;这些时钟的具体作用参考data manual;
4、如何设置核C66X CorePac的工作时钟?例如:输入时钟为100MHZ,怎样设置核C66X CorePac的工作时钟为1000MHZ,即核的工作时钟为输入参考时钟的10倍?
(1)、核C66X CorePac的工作时钟为SYSCLK1,即等于PLLOUT;当MAIN PLL工作在Bypass Mode时,PLLOUT的值直接等于输入的参考时钟CLKIN;当MAIN PLL工作在PLL Mode时,PLLOUT的值由输入时钟CLKIN、Main PLL的分频系数PLLD、倍增系数PLLM、以及OUTPUTDIVIDE值共同决定,公式如下:

对于Keystone1架构的芯片,OUTPUTDIVIDE值默认为1,而Keystone2架构的芯片,OUTPUTDIVIDE值默认为0,OUTPUTDIVIDE值通过寄存器SECCTL[22:19]来设置;
PLLM的值一共有13位,PLLM[12:0],13位被分成两个部分,高位部分PLLM[12:6]由寄存器MAINPLLCTL0[18:12]决定,低位部分PLLM[5:0]由寄存器PLLM[5:0]决定;PLLD的值由寄存器MAINPLLCTL0[5:0]决定;寄存器的具体地址和设置,参考专门介绍PLL的数据手册;
(2)、当输入参考时钟为100MHZ时,设置核C66X CorePac的工作时钟SYSCLK1为1000MHZ,即PLLOUT等于1000MHZ:
根据公式设置OUTPUTDIVIDE值为1,PLLM值为19,PLLD值为0,则PLLOUT等于1000MHZ;另外寄存器的设置要满足公式:BWADJ = ((PLLM + 1)>> 1)- 1;BWADJ[11:0]的值由两部分决定,一部分BWADJ[11:8]由寄存器MAINPLLCTL1[3:0]决定,另一部分BWADJ[7:0]由寄存器MAINPLLCTL0[31:24]决定;
一般PLLM[12:6]都设为0,所以PLLM的值一般由PLLM[5:0]决定,即由寄存器MAINPLLCTL0[5:0]决定;C6678的PLL设置例程很多,可以参考例程代码;
C6678的PLL模块设置的更多相关文章
- nginx利用limit模块设置IP并发防CC攻击
nginx利用limit模块设置IP并发防CC攻击 分类: 系统2013-01-21 09:02 759人阅读 评论(0) 收藏 举报 来源:http://blog.xencdn.net/nginx- ...
- 关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法
关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法 1. 找到以下路径 ...\Kingdee\K3ERP\KDHR\SITEFILE\WEBUI\ 找到“Login.aspx” ...
- 蓝牙进阶之路 (001) - HC-05蓝牙无线模块设置
USB转串口的有线转接方式,实在太难看了,尤其是寻接头,那是相当的不方便.其它电器厂商都想把是接头做小,做精致,唯独串口接头还是那么庞大,感觉应该换一换了,都已经完全不符合这个时代的审美观了. 于是, ...
- apache +php +php curl 模块设置
2.2 linux 下面 2.2.1 web服务器安装 1目前采用的web服务器是apache2,在ubuntu 下安装 apt-getupdate apt-get installapache2 测试 ...
- python3给socket模块设置代理
最近需要在公司学习socket编程,但是不能直接连接外网,需要设置一个代理才能正常访问.报错示例: import socket def blocking(wd): sock = socket.sock ...
- 使用kuboard界面配置springcloud的其中一个模块设置环境变量,使用nacos配置地址等有关设置
总结: 工作负载类型是StatefulSet的pod,不论其上层的service是nodeport还是Headless, 对外提供的地址格式是: <pod name>.<servic ...
- FastAdmin 怎么把模块设置默认的首页?
F4NNIU: 参考 ThinkPHP5 的路由设置. fangke-河南: 或者看config.php Karson:需要把插件设置为默认首页吗?在后台就可以,设置他插件的为伪静态,即可.
- nginix.conf 中的gzip模块设置
gizp模块配置 gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; g ...
- Python调用time模块设置当前时间-指定时间
import datetimeimport time#新建元旦时间#将程序打包def A(): # 设定时间 newyear =datetime.datetime(2033,10,1) #调用当前时间 ...
随机推荐
- Navicat连接mysql出现1045错误
使用Navicat连接mysql出现1045,可能的原因为忘记密码,下面方法可以帮助重置密码. 1,以管理员权限运行cmd程序: 2,cd C:\Program Files (x86)\MySQL\M ...
- npm run dev的错误
一直出现这个问题,有试过重新npm安装之类的,也试过替换文件,后来才知道原来是我在初始目录下执行run,应该cd到该项目下在run,如图 firsttest是我的项目名字
- 简单学完HTML+CSS+JS,现在开始看算法(第四版)----欧几里得算法
欧几里得算法 package euclidean_algorithm; import java.util.Scanner; /** * @author ALazy_cat * 欧几里得算法的自然语言描 ...
- C\C++控制台程序隐藏方法总结
学习计算机,往往先从Windows环境下学习编程,学习编程,往往从C学起,学习C,往往又从控制台程序学习,何为控制台,就是那个黑框白字的界面.对于这样一个最初认为奇陋无比而现在认为无所不能的编程平台, ...
- JS判断
/***************************************************************** 表单校验工具类 (linjq) ***************** ...
- Android Tools&Cmd
1. 生成Keystore文件 keytool -genkey -v -keystore /Users/shiyantao/Desktop/xxx.keystore -alias aliasName ...
- Python第八课学习
Python第八课学习 www.cnblogs.com/resn/p/5800922.html 1 Ubuntu学习 根 / /: 所有目录都在 /boot : boot配置文件,内核和其他 linu ...
- golang struct
ex1 /* https://golangbot.com/structs/ struct 结构 结构就是一组字段. */ package main import "fmt" // ...
- git教程:远程仓库
转自:远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就 ...
- 【leetcode】476. Number Complement
problem 476. Number Complement solution1: class Solution { public: int findComplement(int num) { //正 ...