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) #调用当前时间 ...
随机推荐
- this与super
this是引用,表示当前对象,堆中每一个对象都有this,保存的地址指向自身:super不是引用,是表示当前对象的父类特征. this可以使用在构造方法中,即this(..),必须出现在代码第一行,代 ...
- Python01(linux基础)
聊一聊计算机 CPU,电源相关,时钟部分(主频),存储器,输入输出系统 计算机记忆装置:存储器分两大类:1.内存Ram(速度快,容量小(相对),断电后内容丢失) 非持久性记忆存储器2.如:硬盘,(速度 ...
- 三星Galaxy S8 刷机经验记录
这段时间用上了三星S8,由于原生系统太耗电,所以萌生了root的想法.写这篇博客记录下这段时间的各种尝试. Root过程说明: 友情提示,道路千万条,安全第一条.开始捣鼓手机之前请一定准备好官方的救砖 ...
- 今日bug:error: invalid array assignment
错误代码: struct STUD { int ID;//学号 ]; float score; }stud; STUD SS[]; student.open("student.dat&quo ...
- vue+koa实现简单的图书小程序(3)
实现一个今年过了多少天的组件的记录我们使用了原生的微信小程序开发文档里的组件 “Progress” 并不需要自己去写: https://developers.weixin.qq.com/minipro ...
- There is no getter for property named 'user' in 'class com.jyr.wh.domain.User' 异常
今天在使用mybatis时,出现了一个问题:There is no getter for property named 'user' in 'class com.jyr.wh.domain.User, ...
- 学习Markdown
目录 杂 标题 代码展示 额外空行 强调 [转载请注明出处]http://www.cnblogs.com/mashiqi 2018/01/02 杂 Markdown是承接着html语言的,它兼容htm ...
- Codeforces1099D.Sum in the tree(贪心)
题目链接:传送门 思路: 一个节点放的数越大,那么以它为根的子树的节点权值之和就越小. 所以我们要在合法的范围内,使偶数层节点的权值尽可能地大.也就是说,令它的权值是子节点的最小值,这样保证了它的子节 ...
- Floyd(求每2个点之间的最短路)
稍微改变即可求传递闭包,即关心两点之间是否有同路: for(int i=0;i<n;i++) for(int j=0;j<n;j++){ if(i==j) d[i][i]=0; else ...
- 锋利的jQuery初学(5)
层级选择器: 层级选择器 符号 解释 使用 空格 后代选择器 $("div p").css("","") + 紧邻选择器 $("d ...