int ClockConfig(void)
{
u32 DIVCLK_DIVIDE = 10;
u32 CLKFBOUT_MULT = 53;
u32 CLKFBOUT_FRAC = 625;
u32 CLKOUT0_DIVIDE=11;
u32 CLKOUT0_FRAC=875;
u32 clock_config_reg_0;
u32 clock_config_reg_2;
u32 lock;
u32 timeout;
clock_config_reg_0 = ((u32)1<<26) | (CLKFBOUT_FRAC<<16) | (CLKFBOUT_MULT<<8) | DIVCLK_DIVIDE;
clock_config_reg_2 = ((u32)1<<18) | (CLKOUT0_FRAC<<8) | CLKOUT0_DIVIDE;
Xil_Out32(XPAR_CLK_WIZ_1_BASEADDR+0x200, clock_config_reg_0);
Xil_Out32(XPAR_CLK_WIZ_1_BASEADDR+0x208, clock_config_reg_2);
//fclk*CLKFBOUT_MULT.CLKFBOUT_FRAC/DIVCLK_DIVIDE/CLKOUT0_DIVIDE.CLKOUT0_FRAC=100
//fs=44.1k mclk=90.3168M
//clk0=100*53.625/5/11.875=90.316
usleep(1000);
lock = Xil_In32(XPAR_CLK_WIZ_1_BASEADDR+0x4) & 0x1;
if(lock) //check for lock
{
//Video Clock Generator not locked
Xil_Out32(XPAR_CLK_WIZ_1_BASEADDR+0x25C, 0x7);
usleep(1000);
Xil_Out32(XPAR_CLK_WIZ_1_BASEADDR+0x25C, 0x2);
timeout = 100000;
do
{
lock = Xil_In32(XPAR_CLK_WIZ_1_BASEADDR+0x4) & 0x1;
--timeout;
if(!timeout)
{
print("ERR:: Video Clock Generator failed lock\r\n");
return(XST_FAILURE);
}
}
while(!lock);
}
print("Video Clock Generator locked\r\n");
return(XST_SUCCESS);
}
VideoClockGen_WriteReg 可以更换为 xil_Out32();
VideoClockGen_ReadReg可以更换为xil_In32();
 一共4个寄存器

0x200
【7:0】八位分频值应用于所有输出时钟。
【15:8】乘法的整数部分
【25:16】乘法的小数部分
【26】对于分数乘法,该位应设置为1,将该位设置为0将使用默认配置。

CLKFBOUT分数除法的值可以为0到875,代表乘积乘以1000。

0x208 

位[7:0] = CLKOUT0_DIVIDE    整数
整数部分clkout0除数
例如,对于2.250,该值为2 = 0x2
位[17:8] = CLKOUT0_FRAC除数(3)   小数
clkout0的分数部分划分值
例如,对于2.250,该值为250 = 0xFA
位[18] = CLKOUT0_FRAC_EN(3)    使能
对于分数除法,该位应设置为1

计算方式 clko=mclk*(0x200寄存器)【25:8】/【7:0】/(208寄存器)【17:0】

clock gen sdk 代码笔记的更多相关文章

  1. JS SDK 随手笔记

    JS SDK 随手笔记 窗口模块 Frame/Multi Frame 对话框 页面间的通讯 生命周期 窗口层叠 窗口模块 窗口模块是是AppCan移动应用界面最基本的单位.窗口是每个界面布局的基础,他 ...

  2. <Python Text Processing with NLTK 2.0 Cookbook>代码笔记

    如下是<Python Text Processing with NLTK 2.0 Cookbook>一书部分章节的代码笔记. Tokenizing text into sentences ...

  3. 【hadoop代码笔记】Mapreduce shuffle过程之Map输出过程

    一.概要描述 shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述. 根据官方的流程图示如下: 本篇文章中只是想尝试从 ...

  4. 【hadoop代码笔记】hadoop作业提交之汇总

    一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...

  5. 【Hadoop代码笔记】目录

    整理09年时候做的Hadoop的代码笔记. 开始. [Hadoop代码笔记]Hadoop作业提交之客户端作业提交 [Hadoop代码笔记]通过JobClient对Jobtracker的调用看详细了解H ...

  6. 将本地开发完的SDK代码上传到SVN上面:an error occurred while contacting the repository The server may be unreachable or the URL may be incorrect

    将本地开发完的SDK代码上传到SVN上面:an error occurred while contacting the repository  The server may be unreachabl ...

  7. [学习笔记] SSD代码笔记 + EifficientNet backbone 练习

    SSD代码笔记 + EifficientNet backbone 练习 ssd代码完全ok了,然后用最近性能和速度都非常牛的Eifficient Net做backbone设计了自己的TinySSD网络 ...

  8. 《VR入门系列教程》之22---GearVR SDK代码剖析

    GearVR SDK代码剖析     接下来我们来了解一下GearVR开发包的底层代码,它底层的代码和之前在第三章中讲的桌面SDK代码非常类似,当然,也有许多不同的地方.     首先,我们看看如何构 ...

  9. DW网页代码笔记

    DW网页代码笔记 1.样式.       class  插入类样式  标签技术(html)解决页面的内容样式技术(css)解决页面的外观脚本技术       解决页面动态交互问题<form> ...

随机推荐

  1. jupyter notebook出现cannot import name 'create_prompt_application'问题(Died Kernel)

    应该是在安装其它python第三方库时更新了prompt-toolkit版本,降级到下面的版本即可: sudo pip install 'prompt-toolkit==1.0.15'

  2. easyui 进阶之tree的常见操作

    前言 easyui是一种基于jQuery的用户界面插件集合,它为创建现代化,互动,JavaScript应用程序,提供必要的功能,完美支持HTML5网页的完整框架,节省网页开发的时间和规模.非常的简单易 ...

  3. Spark SQL自定义外部数据源

    1 涉及到的API BaseRelation: In a simple way, we can say it represents the collection of tuples with know ...

  4. python基础(八种数据类型)

    Python的八种数据类型 八种数据类型分别是: number(数字).string(字符串).Boolean(布尔值).None(空值) list(列表).tuple(元组).dict(字典).se ...

  5. SFTP免密码登录原理

    概述 Public Key认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接. Public Key认证的基础在于一对密钥,public key和private key,public k ...

  6. jq的error

    error事件会在js发生错误或资源加载失败时触发.该事件主要用于window对象.<img>等元素. 此外,你可以为同一元素多次调用该函数,从而绑定多个事件处理函数.触发error事件时 ...

  7. JAVA锁和volatile的内存语义&volatile的使用场景

    JAVA锁的内存语义 当线程释放锁时,JMM(Java Memory Model)会把该线程对应的本地内存中的共享变量刷新到主内存中. 当线程获取锁时,JMM会将该线程对应的本地内存置为无效.从而使得 ...

  8. view类初探(一)

    /*************************************************************************************************** ...

  9. python基础-----列表操作

    在Python中用[]来表示列表,并用逗号隔开其中的元素. 1.访问列表元素 name=["zhangsan","lisi","ljy"] ...

  10. Spring学习1:Spring基本特性

    http://longliqiang88.github.io/2015/08/14/Spring%E5%AD%A6%E4%B9%A01%EF%BC%9ASpring%E5%9F%BA%E6%9C%AC ...