TMS320C6455入门实践(三)——PLL相关
目录
- PLL1和PLL1控制器
- PLL2和PLL2控制器
- CSL的使用
本文主要介绍TMS320C6455的时钟相关的内容,参考文档为:
- SPRS276M - TMS320C6455 Fixed-Point Digital Signal Processor
- SPRUE56 - TMS320C645x DSP Software-Programmable Phase-Locked Loop (PLL) Controller
C6455有两个PLL,PLL1输出的时钟用于大部分外设,PLL2输出的时钟专门用于DDR2控制器和以太网媒体访问器(EMAC)。
PLL1和PLL1控制器
PLL1相关的框图如下图所示。从框图上看,整个PLL1控制器是虚线框里的部分,包括一个预分频器、一个二选一的多路选择器和四个分频器,另外可以通过PLLM配置PLL1的倍频系数。
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产生的时钟。
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,等待配置完成即可。
TMS320C6455入门实践(三)——PLL相关相关推荐
- TMS320C6455入门实践(六)——编写boot程序
本文主要介绍C6455的二级boot的启动程序,参考文档为: SPRUEC6G - TMS320C645x/C647x DSP Bootloader User's Guide SPRU732J - T ...
- OWIN的理解和实践(三) –Middleware开发入门
原文:OWIN的理解和实践(三) –Middleware开发入门 上篇我们谈了Host和Server的建立,但Host和Server无法产出任何有实际意义的内容,真正的内容来自于加载于Server的M ...
- QT快速入门、三点求圆心实现详解
在编程中,会经常用到数学计算,所以C++将常用的数学计算,例如求正余弦等,封装成函数(正是我们在3.2 数学计算中学习到的),我们只需要写入简单的语句就可以执行所需要的功能,这正是函数的意义.在这一章 ...
- 【转】推荐系统入门实践:世纪佳缘会员推荐(完整版)
推荐系统入门实践:世纪佳缘会员推荐(完整版) 版本 作者 联系 日期 1.0 周巍然 weiran.chow@gmail.com 20120723 2.0 严 程 supersteven198701@ ...
- kubernetes 入门实践-搭建集群
ㅤㅤㅤ ㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(一个人的真正伟大之处就在于他能够认识到自己的渺小 -- 保罗) ㅤㅤㅤ ㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤ 上一篇:kubernetes 入门实践-核心概念 下 ...
- Python与人工智能入门实践——简易人脸识别系统
Python与人工智能入门实践--简易人脸识别系统 写在前面: 笔者在寒假期间进行了一些简短的实训,主要内容包括简单的爬虫和简单的人脸识别算法,由于时间有限,对于python也是第一次详细学习,功能较 ...
- 机器学习入门实践——线性回归模型(波士顿房价预测)
机器学习入门实践--线性回归模型(波士顿房价预测) 一.背景介绍 给定一个大小为 n n n的数据集 { y i , x i 1 , . . . , x i d } i = 1 n {\{y_{i}, ...
- 爬虫入门实践之多线程爬虫
有的爬重只需要单线程就可以完成,而有的爬虫可以拆分成多线程实现,能够提高爬虫效率.比如爬虫入门实践之爬取虎扑论坛帖子一文中,介绍使用的是用单线程实现的,首先在首页找出所有的url,然后遍历url,找出 ...
- 推荐系统入门(三):矩阵分解MF因子分解机FM(附代码)
推荐系统入门(三):矩阵分解MF&因子分解机FM(附代码) 目录 推荐系统入门(三):矩阵分解MF&因子分解机FM(附代码) 一. 矩阵分解MF 1. 隐含语义分析技术 1.1 隐语义 ...
最新文章
- 重磅图书——PHP MySQL开发新圣经
- 机器学习高阶认识(一): 机器学习假设与迁移学习
- 程序员怎么样保证自己的程序没有BUG
- Android HAL 层,三个重要的结构体的源码~
- cesium html源码,Cesium源码的本地运行及调试
- python模块typing的作用
- 要认识流程管理的局限性
- linux创建分区_在Linux中创建分区-分步指南
- linux查看essbase进程,ESSBASE的使用及优化.doc
- c++11 线程的互斥量
- 推挽变压器与正激变压器的功率比较
- 苹果延长13英寸MacBook Pro背光维修计划
- 帮我起个名字,带淇,两个字的
- 体育技术机器学习金钱和灵感的圣杯
- setResulttransformer过期NativeQueryImpl,cannot be cast to org.hibernate.query.internal.NativeQueryImpl
- LeetCode70. 爬楼梯(Java解法——使用完全背包求解)
- 关于options请求的一点理解
- The requested contract was not found
- 有服务器可以远程连接电脑软件,支持远程控制电脑的工具有哪些?这几款软件值得一试!...
- reportlab教程1--第一个pdf生成
热门文章
- 计算机专业英语听力答案,计算机专业英语答案.doc
- 5.5 信号复归——一个强耦合模块的解耦过程
- 又在放大招!这个 Github 项目针对 Python 初学者!
- pandas数据分析给力教程【完整版】(一)
- 计算机应用基础office201,计算机应用基础试题及答案(填空题100道)
- Codeforces Round #723 (Rated for Div 2)
- webgl中加载模型要求以及优化方案
- 关于minio文件服务器的使用
- 第五十三讲 获取设备树属性
- IPC\DVS\DVR\NVR|XVR