一、C5509时钟发生器的两个功能

1.将从CLKIN引脚输入的时钟信号变换为适当频率的CPU时钟,提供给CPU、外设和其他模块使用;

2.将CPU时钟通过可编程分频器输出到CLKOUT引脚。

时钟发生器内部有数字锁相环PLL(phase lock ring)和时钟模式寄存器(CLKMD)。

二、时钟发生器的工作模式

1.旁路模式Bypass Mode

  时钟模式寄存器CLKMD中的PLL ENABLE位为0,此时锁相环(PLL)被禁用,输出时钟信号频率为输入时钟信号频率的一分频、二分频或者四分频。分频值由BYPASS DIV确定:

BYPASS DIV

分频值

00

1

01

2

1X

4

旁路模式下LOCK位为0。

2.锁定模式Lock Mode

  时钟模式寄存器CLKMD中的PLL ENABLE位为1,此时锁相环(PLL)进入锁相程序,当PLL产生所需输出频率,并且输出时钟信号的相位被锁定在输入信号相位之后,时钟发生器进入锁定模式(Lock Mode)。在那之前,时钟发生器一直处于旁路模式(Bypass Mode)。

  如果时钟发生器处于锁定模式,并且PLL需要重新进行相位锁定时 (IOB = 1 in CLKMD),时钟发生器会进入旁路模式直到相位被再次锁定为止。

  输出时钟频率的计算:

  PLL MULT:2~31

  PLL DIV:0~3

  最大时钟频率:31*input frequency

  最小时钟频率:1/2*input frequency

  此外锁定模式中遇到的相关寄存器位还包括:

  IAI(initialize after idle):时钟发生器退出空闲模式时锁相环是否需要重启锁相程序。0:不重启;1:重启。

  BREAKLN:指示锁相状态是否中断。0:已中断;1:已修复或向CLKMD写入了新值。

  IOB(initialize on break):相位失锁时是否需要重新锁相。0:不需要;1:需要。

  LOCK:锁定模式下该值为1。

3.空闲模式Idle(Low-Power) Mode

  为了节省电量,可以通过加载Idle Configuration使时钟发生器进入空闲模式。空闲模式下,输出时钟停止,时钟保持在高电平。

  如果进入空闲模式之前,时钟发生器为旁路模式,则在退出空闲模式之后,时钟发生器仍为旁路模式;如果进入空闲模式之前,时钟发生器为锁定模式,则在退出空闲模式之后,时钟发生器先进入旁路模式,进行重新锁相,再进入锁定模式。重新锁相的方式与IAI位有关。IAI=0:不重启锁相程序,使用之前的锁相设置进行锁相;IAI=1:重启锁相程序,适用于空闲模式下输入时钟改变或者可能改变的情况。

三、CLKOUT引脚和相关的分频器

  时钟产生器产生的CPU时钟除了供CPU,外设和其他模块使用之外,还可以通过分频器传送给CLKOUT引脚。CLKOUT的频率值由系统寄存器SYSR中的CLKDIV位决定。

四、DSP复位过程中时钟发生器的情况

  复位时(during reset):(此时复位信号保持为低电平)

  1.时钟发生器处于旁路模式;

  2.输出时钟频率由输入引脚CLKMD的电平决定。CLKMD为低电平时,输出时钟频率等于输入时钟频率;CLKMD为高电平时,输出时钟频率等于输入时钟频率的1/2。

  复位后(after reset):(复位信号的上升沿)

  时钟模式寄存器CLKMD的预设值由输入引脚CLKMD的电平决定。CLKMD为低电平时,时钟模式寄存器CLKMD的值为2002H;CLKMD为高电平时,时钟模式寄存器CLKMD的值为2006H。根据此值计算得知:复位之后时钟发生器也处于旁路模式,输出时钟频率也由输入引脚CLKMD的电平决定。

五、时钟模式寄存器CLKMD

六、使用方法和实例

  利用库函数配置时钟发生器的方法:

  1.在头文件中包含csl_pll.h文件;

  2.声明PLL配置结构体:

  PLL_Config Config_PLL={

  1,  //IAI

  1,  //IOB

  6,  //PLL MULT

  0   //PLL DIV

  };

  3.运行配置函数:

  PLL_config(&Config_PLL);

  也可以通过函数设置PLL频率:PLL_setFreq(6,1);

DSP5509的时钟发生器(翻译总结自TI官方文档)的更多相关文章

  1. 如何使用CSL(翻译总结自TI官方文档)

    为了使用CSL来进行编译和连接,必须先配置CCS开发环境. 1.指定目标设备 Project/options/complier/preprocessor,在define symbols中输入设备支持符 ...

  2. CSL概述(翻译总结自TI官方文档)

    一.简单介绍 CSL是函数,宏和符号常数的集合,用来控制和配置片上外设.(Chip Support Library) 每一个外设都有自己对应的CSL模块.每个模块有自己的支持符,来表示对于给定的设备, ...

  3. 【翻译】Django Channels 官方文档 -- Tutorial

    Django Channels 官方文档 https://channels.readthedocs.io/en/latest/index.html 前言: 最近课程设计需要用到 WebSocket,而 ...

  4. Google Android官方文档进程与线程(Processes and Threads)翻译

    android的多线程在开发中已经有使用过了,想再系统地学习一下,找到了android的官方文档,介绍进程与线程的介绍,试着翻译一下. 原文地址:http://developer.android.co ...

  5. [转]Commons IO 官方文档

    原文地址:http://ifeve.com/commons-io/ 本文翻译自 Commons IO 官方文档 译者:MagicWolf Common IO 是一个工具库,用来帮助开发IO功能 它包括 ...

  6. Spark官方文档 - 中文翻译

    Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...

  7. Spark SQL 官方文档-中文翻译

    Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...

  8. 自己翻译 delegation 官方文档

    什么是代理,知道怎么用,见过N次.会用代理传值,还不够.代理到底是用来干嘛的嘛?还是看看官方文档吧,自己翻译出来看看是不是通顺 代理: 代理是一个简单高效的模式,尤其是一个类在编程的过程中代表或者需要 ...

  9. Spring boot 1.3.5 RELEASE 官方文档中文翻译--目录

    说明: 打算利用闲暇时候翻译一下Spring boot的官方文档,翻译的版本是1.3.5 RELEASE. 做这件事的目的呢有四: 国内中文的Spring boot资料实在不多,希望能给后来人一点小小 ...

随机推荐

  1. rails的字符编码

    想练练手,随意的写了个登陆页面,简单的只有几行. <%= form_tag('login_check') do -%><%= text_field_tag 'user_name', ...

  2. 动态切换采用 CSplitterWnd 静态划分的视图布局(MFC)

    标题读起来有些拗口,具体是什么情况,我们来看: 一.问题的提出 一个采用MFC开发的软件,其窗体视图采用CSplitterWnd三分,效果如下图所示: 图1 软件的默认视图布局 该MFC开发的软件功能 ...

  3. Partition分组使用和行列转换

    CREATE TABLE score ( name NVARCHAR(20), subject NVARCHAR(20), score INT ) --2.插入测试数据 INSERT INTO sco ...

  4. 一个.net程序员教你使用less

    我是一个.net 程序员,虽然说一直做后台,但是web 前端也会去学,虽然说技术只是层窗户纸,但是像我这种多动症患者,不捅破我心难受啊! 好!废话不多提,下面直接正题,至于less 是什么这里不多讲因 ...

  5. sublime3快捷键

    Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数名等. ...

  6. Swift TabeleViewCell dequeueReusableCellWithIdentifier 使用的新的细节,原来现在可以这样

    今天在看官方的TableView Guide,突然想起来最近写的一个代码中实现tableViewCell复用的时候有点问题: var cell = UITableViewCell(style: UIT ...

  7. HMMPfam的安装使用手记(转载)

    转载至:http://blog.sina.com.cn/s/blog_3f6403290100rb61.html(感谢原文作者) HMMPfam的安装使用手记前言 简要介绍一下 HMMPfam吧.这还 ...

  8. c# 各种排序算法+找第二大的数+句子单词反转

    冒泡排序 // 冒泡排序 bubble sort public static int[] BubbleSort(int []array) { bool isContinue = true; ; i & ...

  9. [转载]EF Code First 学习笔记:约定配置

    要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就 ...

  10. 字符串流sstream[part2/使用同一个字符串流反复读写数据]

    stringstream构造函数会特别消耗内存,似乎不打算主动释放内存(或许是为了提高效率),如果你要在程序中使用同一个流反复读写大量数据,将会造成大量的内部消耗,因此建议:    1:调用clear ...