这部分讲解的是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模块设置的更多相关文章

  1. nginx利用limit模块设置IP并发防CC攻击

    nginx利用limit模块设置IP并发防CC攻击 分类: 系统2013-01-21 09:02 759人阅读 评论(0) 收藏 举报 来源:http://blog.xencdn.net/nginx- ...

  2. 关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法

    关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法 1. 找到以下路径 ...\Kingdee\K3ERP\KDHR\SITEFILE\WEBUI\ 找到“Login.aspx” ...

  3. 蓝牙进阶之路 (001) - HC-05蓝牙无线模块设置

    USB转串口的有线转接方式,实在太难看了,尤其是寻接头,那是相当的不方便.其它电器厂商都想把是接头做小,做精致,唯独串口接头还是那么庞大,感觉应该换一换了,都已经完全不符合这个时代的审美观了. 于是, ...

  4. apache +php +php curl 模块设置

    2.2 linux 下面 2.2.1 web服务器安装 1目前采用的web服务器是apache2,在ubuntu 下安装 apt-getupdate apt-get installapache2 测试 ...

  5. python3给socket模块设置代理

    最近需要在公司学习socket编程,但是不能直接连接外网,需要设置一个代理才能正常访问.报错示例: import socket def blocking(wd): sock = socket.sock ...

  6. 使用kuboard界面配置springcloud的其中一个模块设置环境变量,使用nacos配置地址等有关设置

    总结: 工作负载类型是StatefulSet的pod,不论其上层的service是nodeport还是Headless, 对外提供的地址格式是: <pod name>.<servic ...

  7. FastAdmin 怎么把模块设置默认的首页?

    F4NNIU: 参考 ThinkPHP5 的路由设置. fangke-河南: 或者看config.php Karson:需要把插件设置为默认首页吗?在后台就可以,设置他插件的为伪静态,即可.

  8. nginix.conf 中的gzip模块设置

    gizp模块配置 gzip  on;    gzip_min_length  1k;    gzip_buffers     4 16k;    gzip_http_version 1.0;    g ...

  9. Python调用time模块设置当前时间-指定时间

    import datetimeimport time#新建元旦时间#将程序打包def A(): # 设定时间 newyear =datetime.datetime(2033,10,1) #调用当前时间 ...

随机推荐

  1. JAVA服务cpu占用高排查

    最近线上机器偶尔有台cpu达到100%,还居高不下.同样负载的其他机器却正常,我想肯定是代码哪里有问题了 首先我们top看下 可定位到对应占用高的PID 然后=>ps -mp PID -o TH ...

  2. Openresty 进行限流的方法

    1.使用Openresty进行限流, 使用漏桶原理进行设计 和路由系统设计类似. LUA脚本去通过变量去redis取值,从redis中得到队列的大小.漏和桶的大小. 然后通过比较,队列大小与漏和桶进行 ...

  3. 马凯军201771010116《面向对象与程序设计Java》第九周学习总结

    一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...

  4. SQL Server分页查询的万能存储过程

    CREATE proc [dbo].[p_paging]@tableName varchar(8000), --表名.视图名@indexCol varchar(50) = 'id', --标识列名(如 ...

  5. 基于ZYNQ的双核启动与通信问题解决

    1    处理器间的通信 为AMP 设计创建应用之前,您需要考虑应用如何进行通信(如有需要).最简单的方法是使用片上存储器.Zynq SoC 配备256KB 的片上SRAM,可从以下四个源地址进行访问 ...

  6. 闪付卡(QuickPass)隐私泄露原理

    0×00 前言 说到闪付卡,首先要从EMV开始,EMV是由Europay,MasterCard和VISA制定的基于IC卡的支付标准规范.目前基于EMV卡的非接触式支付的实现有三个:VISA的payWa ...

  7. CentOS6.5 安装vncserver实现图形化访问

    一. 安装gnome图形化桌面 #yum groupinstall -y "X Window System" #yum groupinstall -y "Desktop& ...

  8. 微信小程序调用快递物流查询API的实现方法

    一. 创建index.wxml.index.wxss.index.js 附上代码: <view class='container'> <input class='info' plac ...

  9. python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法

    在ide中执行python程序,都已经在默认的项目路径中,所以直接执行是没有问题的.但是在cmd中执行程序,所在路径是python的搜索路径,如果涉及到import引用就会报类似ImportError ...

  10. 获取choice的value