TMS320C6455入门实践(三)——PLL相关

本文主要介绍TMS320C6455的时钟相关的内容,参考文档为:

  C6455有两个PLL,PLL1输出的时钟用于大部分外设,PLL2输出的时钟专门用于DDR2控制器和以太网媒体访问器(EMAC)。

PLL1和PLL1控制器

  PLL1相关的框图如下图所示。从框图上看,整个PLL1控制器是虚线框里的部分,包括一个预分频器、一个二选一的多路选择器和四个分频器,另外可以通过PLLM配置PLL1的倍频系数。

pll1diagram

  SYSREFCLK就是系统的主频。
  SYSCLK2固定为主频的三分频,用于驱动Switched Central Resources(SCRs)、EDMA3、VCP2、TCP2和RapidIO,还有EMIFA和DDR2的数据总线。
  SYSCLK3固定为主频的六分频,主要用于驱动PCI、HPI、UTOPIA、McBSP、GPIO、TIMER和I2C外设。
  SYSCLK4的分频系数可以在一定范围内设置,主要作为EMIFA的内部时钟。
  SYSCLK5的分频系数也可以在一定范围内设置,主要用于在线仿真。
  系统复位之后PLL1控制寄存器中的PLLEN值为0,PLL1被旁路,因此复位后的系统时钟即为输入的时钟信号的频率。因此每次复位后都需要对PLL1重新进行配置,才可以保证系统工作在较高的工作频率。
  在调试过程中,因为我们只能对PLL的控制器进行操作,所以如果系统不掉电,PLL1的状态会保持前一次配置的结果。比如在第一次下板调试时,我对PLL1做了一次配置;而在不断电的情况下,我又重新载入新的程序,而不对PLL1做配置,那么PLL1还是会保持前一次程序中的设置结果。
  与之相关的寄存器配置也很简单,无非就是一些使能和倍频、分频系数的控制。设置完成后,通过PLLCMD寄存器中的GOCMD字段写入“1”来确认配置,当PLLSTAT寄存器中的GOSTAT字段变为“0”时,表示配置完成。

PLL2和PLL2控制器

  PLL2的结构比PLL1更加简单,下图就是PLL2的框图。别看图中有个多路选择器,其实仔细看会发现它的控制端始终是1,所以它的输出始终是来自PLL2产生的时钟。

pll2diagram

  PLL2固定20倍频,然后输出再二分频,所以总共就是十倍频。参考时钟如果是25MHz,那么在系统复位后,送给DDR2控制器的时钟以及SYSREFCLK都是250MHz。
PLL2能够控制的就只是D1的分配系数,以及D1的使能。默认D1为二分频且上电就使能,用户可以通过PLLDIV1来修改,使其禁用或者改为五分频。

CSL的使用

  • CSL_pllcInit()没有什么实际的作用。
  • CSL_pllcOpen()用于指定具体要用的PLLc,PLL1的控制器或者PLL2的控制器。
  • CSL_pllcHwSetup()根据CSL_PllcHwSetup的配置结构体进行配置。
  • 然后用CSL_pllcGetHwStatus()查询GOSTAT,等待配置完成即可。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小裘HUST

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值