DSP之时钟与定时器之一时钟发生器

    时钟与定时器包括 时钟产生器、通用定时器、实时时钟以及看门狗定时器等。
    时钟产生器的功能是产生CPU的工作时钟,并提供CLKOUT时钟输出;通用定时器、实时时钟及看门狗定时器的功能是通过计数器为系统提供定时时钟和年、月、日、时、分、秒等时钟信号,以及监控系统正常运行的看门狗时钟,并能发出相应中断。
    1 . 时钟发生器
     1.1 时钟模式寄存器 CLKMD
           时钟发生器可以从CLKIN引脚接收输入的时钟,将其变换为CPU及其外设所需要的工作时钟,工作时钟经过分频也能够通过引脚CLKOUT输出,供其他器件使用,如图1所示。时钟发生器内有一个数字锁相环(Digital Phase Lock LoopDPLL)和一个时钟模式寄存器(CLKMD)。时钟模式寄存器用于控制时钟发生器的工作状态
在时钟模式寄存器中的 PLL ENABLE 位控制 PLL 的两种工作模式
1 .旁路模式( BYPASS
如果 PLL ENABLE=0 PLL 工作于旁路模式, PLL 对输入时钟信号进行分频,分频值由 BYPASS DIV 确定:       
        如果 BYPASS DIV=00 ,输出时钟信号的频率与输入信号的频率 相同,即一分频。
        如果 BYPASS DIV=01 ,输出时钟信号的频率是输入信号频率一 半,即二分频。
        如果 BYPASS DIV=1x ,输出时钟信号的频率是输入信号频率 1/4 ,即四分频。
2 .锁定模式( LOCK
如果 PLL ENABLE=1 PLL 工作于锁定模式,输出的时钟频率由 下面公式确定:
         输入时钟即可乘以或者除以一个系数来获得期望的输出频率,并且输出时钟相位与输入信号锁定。
 
为了降低功耗,时钟发生器也有Idle模式,可以通过关闭CLKGEN Idle模块,使时钟发生器工作在Idle模式。
1.2 CLKOUT引脚
CPU 时钟也可以通过一个时钟分频器提供 CLKOUT 信号, CLKOUT 的频率由系统寄存器( SYSR )中的 CLKDIV 确定:
如果 CLKDIV=000b CLKOUT 的频率等于 CPU 时钟的频率。
如果 CLKDIV=001b CLKOUT 的频率等于 CPU 时钟的频率的 1/2
如果 CLKDIV=010b CLKOUT 的频率等于 CPU 时钟的频率的 1/3
如果 CLKDIV=011b CLKOUT 的频率等于 CPU 时钟的频率的 1/4
如果 CLKDIV=100b CLKOUT 的频率等于 CPU 时钟的频率的 1/5
如果 CLKDIV=101b CLKOUT 的频率等于 CPU 时钟的频率的 1/6
如果 CLKDIV=110b CLKOUT 的频率等于 CPU 时钟的频率的 1/7
如果 CLKDIV=111b CLKOUT 的频率等于 CPU 时钟的频率的 1/8
 
1.3 使用方法:
通过对时钟模式寄存器的操作,可以根据需要设定时钟发生器的 工作模式和输出频率,在设置过程中除了工作模式、分频值和倍 频值以外,还要注意其他因素对 PLL 的影响。
1 .省电( IDLE
为了节省功耗,可以使时钟发生器处于省电状态,当时钟发生器退出省电状态时, PLL 自动切换到旁路模式,进行跟踪锁定,锁定后返回 到锁定模式,
时钟模式寄存器中与省电有关的位是 IAI
2 DSP 复位
        DSP 复位期间和复位之后, PLL 工作于旁路模式,输出的 时钟频率由 CLKMD 引脚上的电平确定。
如果 CLKMD 引脚为低电平,输出频率等于输入频率;
如果 CLKMD 引脚为高电平,输出频率等于输入频率的一半。
3 .失锁
        锁相环对输入时钟跟踪锁定之后,由于其他原因使其输出时 钟发生偏移,即失锁。出现失锁现象后, PLL 的动作由时钟模式 寄存器中的 IOB 确定
 
调用时钟发生器库函数首先要在头文件中包含 csl_pll.h 文件,接下来介绍利用库 函数配置时钟发生器的方法。
        首先要声明 PLL 配置结构,具体声明如下:
PLL_Config Config_PLL = {
1, /*iai 休眠后重新锁相 */
1, /*iob 失锁后进入旁路模式并重新锁相 */
6, /*pllmult   CLKIN * pllmult = DSP 主时钟 */
0   /*div   CLKOUT= DSP 主时钟 / div+1 */
};
        之后运行配置函数:
PLL_config &Config_PLL ;
        也可以通过函数设置 PLL 频率:
       PLL_setFreq 6, 1 ;
         通过 PLL_setFreq 函数可以复位 PLL 锁相环,并改变倍频和分频数从而得 到所需的频率。
 
1.4 时钟发生器的调试
时钟发生器所产生的 DSP 工作时钟,如果时钟产生器没有正常工作, DSP 将无 法正常运行,而调试 DSP 也是不可能的。
        调试时钟发生器应遵循以下步骤:
      1 )检查 DSP 的时钟输入引脚 CLKIN 、时钟输出引脚 CLKOUT 和时钟模式 引脚 CLKMD 连接是否正确,正常情况下 CLKIN 应接时钟源,而 CLKMD 应拉 高或降低,
CLKOUT 应是信号输出引脚。
        2 )系统加电后测量 CLKIN 引脚时钟输入是否正常,信号的高低电平及占 空比是否满足需要。
        3 )在没有进行软件设置的情况下, DSP 在复位后 CLKOUT 的输出直接受 CLKMD 控制,当 CLKMD 为高, CLKOUT 的输出频率将等于 CLKIN 的频率, CLKMD 为低,
CLKOUT 输出将等于 CLKIN 的频率的 1/2
        4 )如果以上步骤运行正常,则利用软件设置 CLKMD 寄存器,使时钟产 生器工作于 PLL 锁相环模式下,此时再检测 CLKOUT 信号,查看锁相环是否正 常工作。
  • 9
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
DSP28335是一种广泛使用的数字信号处理器,它被广泛应用在各种领域,如电力电子、驱动控制、通讯等。其中,定时器DSP28335中非常关键的一部分,它可以用来产生各种不同类型的定时信号,在各种应用场景中具有非常重要的作用。 在DSP28335中,定时器主要包括三种类型:基于时钟定时器、基于捕获/比较的定时器和基于PWM的定时器。这些定时器可以用来实现不同的功能,比如产生周期性的信号、捕获和比较外部信号、控制PWM输出等。 其中,基于时钟定时器是最基本的一种,它通过配置定时器时钟源和计数器的初始值来产生定时信号。在DSP28335中,每个定时器都有多个计数模式和计数范围可以选择,可以根据具体需求来配置。 基于捕获/比较的定时器可以用来捕获和比较外部信号,它可以在定时器计数过程中,根据外部信号的到来时间来记录相应的计数值。同时,它也可以将定时器的计数值和设定的比较值进行比较,用来产生各种不同的控制信号。 基于PWM的定时器则可以用来产生PWM输出信号,它可以通过配置计数周期、计数范围和PWM占空比等参数,来产生各种不同类型的PWM信号。 总之,DSP28335中的定时器功能非常强大,可以用来实现各种不同的功能。使用者可以根据具体的应用需求,选择不同类型的定时器,并根据手册提供的配置参数进行配置,来满足不同的控制需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值