关于AD9516芯片的硬件设计和FPGA程序编写心得
最近在做一个项目,其中有涉及时钟芯片AD9516的硬件设计和软件编程,有些使用心得,供大家参考讨论。
AD9516,这是一个由ADI公司设计的14路输出时钟发生器,具有亚皮秒级抖动性能,还配有片内集成锁相环(PLL)和电压控制振荡器(VCO)。片内VCO的调谐频率范围为2.55 GHz至2.95 GHz。或者,也可以使用最高2.4 GHz的外部VCO/VCXO。关于资料的获取:1.ADI公司的中文技术支持网站做的非常好,可参考AD9516_0的链接:http://www.analog.com/cn/products/clock-and-timing/clock-generation-distribution/ad9516-0.html#product-overview,好好看里面的手册和参考资料,基本就没什么问题;2.关于AD9516芯片的配置,可参考链接:http://forum.eepw.com.cn/thread/228366/1,里面有相应的工具下载和说明参考,建立在理解的基础上就很简单啦。
AD9516有6路(3对)LVPECL输出,4路(2对)LVDS输出以及8路LVCMOS(每个LVDS可以作为2路LVCMOS)输出。每对之间共享数值为1-32的分频数值,因此,每对LVPECL或者LVDS输出的时钟频率是相同的。LVPECL输出可达1.6GHz,LVDS输出可达800MHz,LVCMOS可达250MHz。输入参考时钟频率和VCO工作频率有如关系: Fvco=(Fref/R)*(P*B+A)
每路输出还有单路的分频因子(1-32)可以配置,通过参考时钟的选择,内部P、B、A寄存器以及每路分频寄存器的配置,可以得到我们想要的时钟。
给出一个参考原理图电路,和对应配置图:

原理图绘制时需要重点注意LVPECL和LVDS输出不同,需要接下拉电阻;还有REFSEL是对REF1和REF2的选择接口,需要特别注意,毕竟硬件设计需要我们的细心O(∩_∩)O。
在配置AD9516芯片时,我用的是XLINX的XC3S200AN,verilog语言,配置的流程主要是:1.根据手册弄清各个接口的意义,比如同步接口,使能端等;2.搞清每个寄存器的含义,着重关注分频寄存器;3.关注读写配置时序图,写出对应状态机。
关于分频寄存器举个例子:

给每个寄存器赋值,具体寄存器的含义参考手册。
Fvco=(Fref/R)*(P*B+A); Fref=100M ; R=24’h0011_0A;R=10,P=16,B=15;


A1=0->2.4G
Divider0=24’h01E1_01(3分频)----->800M
LVPECL : 24’h0190/3/6_11(4分频)----->200M;33(8分频)----->100M;55(12分频)----->66.7M
关于AD9516芯片的硬件设计和FPGA程序编写心得的更多相关文章
- 实时人工智能:微软发布Project Brainwave预览版 现场可编程门阵列(Field Programmable Gate Array,简称FPGA) 硬件设计可以迅速演进
https://mp.weixin.qq.com/s/bAPiPURZd-YsbV5PbzwpQQ 编者按:随着各大公司对于数据计算的要求越来越高,实时AI成为了研究者们关注的重点.在美国西雅图举行的 ...
- 数字逻辑实践4->面向硬件电路的设计思维--FPGA设计总述
本文是对实验课上讲解的"面向硬件电路的设计思维"的总结,结合数字逻辑课本,进行提炼和整理. 主要来源是课件与本人整理,部分参考了网络大佬的博客. 本文主要介绍不同于之前软件设计思维 ...
- FPGA芯片内部硬件介绍
FPGA芯片内部硬件介绍 FPGA(Filed programmable gate device):现场可编程逻辑器件 FPGA基于查找表加触发器的结构,采用SRAM工艺,也有采用flash或者反熔丝 ...
- 关于 FPGA 和 外部芯片接口时序设计
在看这篇文章之前, 建议先好好读下这篇文章.http://download.csdn.net/detail/angelbosj/8013827. 因为我不太会用 VISio.要是哪位网友能告诉我.怎么 ...
- 定点CORDIC算法求所有三角函数及向量模的原理分析、硬件实现(FPGA)
一.CORDIC算法 CORDIC(Coordinate Rotation DIgital Computer)是一种通过迭代对多种数学函数求值的方法,它可以对三角函数.双曲函数和平面旋转问题进行求解. ...
- Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application)
在Android 2.3(Gingerbread) 系统的时候,我写过一篇关于“Android 震动马达系统“的文章,当时的Linux内核还是2.6版本的.写那篇文章的目的,是想彻底的了解从硬件到驱动 ...
- USB2.0学习笔记连载(六):USB2.0硬件设计需要注意事项
笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480 ...
- 硬件设计原理图Checklist 参考案例二 【转载】
类别 描述 检视规则 原理图需要进行检视,提交集体检视是需要完成自检,确保没有低级问题. 检视规则 原理图要和公司团队和可以邀请的专家一起进行检视. 检视规则 第一次原理图发出进行集体检视后所有的修改 ...
- 硬件设计--DC/DC电源芯片详解
本文参考:http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.csdn.net/wangdapao ...
随机推荐
- mvc中DotNetOpenAuth实现了第三方应用访问自己的网站
以yahoo为例吧,即从yahoo取得用户信息,存到自己的站点,实现了用户信息在一次录入多处共享的功能.以下是在点击了使用yahoo登录本站的链接后执行action:OpenId. ProviderU ...
- Linux--线程安全与可重入函数的异同
线程安全 比如一个 ArrayList 类,在添加一个元素的时候,它可能会有两步来完成: 1. 在 Items[Size] 的位置存放此元素: 2. 增大 Size 的值. 在单线程运行的情况下,如果 ...
- xml语法规则
所有 XML 元素都须有关闭标签 在 HTML,经常会看到没有关闭标签的元素: <p>This is a paragraph <p>This is another paragr ...
- PHP 分支与循环
一.概述: 上面一章我们讲解了PHP当中的运算符和表达式,通过上面的知识点我们就可以完成一些基本的运算操作了.但是涉及到一些比较复杂的逻辑,分支与循环就必不可少了.通过分支和循环的结合使用可以使业务更 ...
- 【正常向】CODEVS上分黄金
白银上分黄金失败=.= 在之前有很认真的写了一波排序,所以排序并不是很怂,还是那个理,现阶段学习的都是比较简单的排序,都是所谓的冒泡排序啊,桶排序这类,至于插排和选择排序,再往后又是什么快拍就很尬了. ...
- cas错误:org.jasig.cas.client.validation.TicketValidationException: No principal was found in the response from the CAS server.
这个问题困扰了我好几天,最终被这个哥们解决了,具体请参考:http://www.oschina.net/question/252484_149958?sort=time
- 浅析如何在Nancy中生成API文档
前言 前后端分离,或许是现如今最为流行开发方式,包括UWP.Android和IOS这样的手机客户端都是需要调用后台的API来进行数据的交互. 但是这样对前端开发和APP开发就会面临这样一个问题:如何知 ...
- VMWare下ubuntu无法全屏的问题解决
遇到的情况: 在VMWare中,安装ubuntu 最新版操作系统(16.04).运行该系统,发现ubuntu系统在虚拟机中,只能居中显示,全屏也只能占一半显示屏幕.怎么看,怎么不舒服. 分析问题: 一 ...
- codeforces 782B The Meeting Place Cannot Be Changed (三分)
The Meeting Place Cannot Be Changed Problem Description The main road in Bytecity is a straight line ...
- map中结构体做关键字的注意事项
序: 今天做一道题,由于递归函数比较恶心,如果用记忆化搜索,数据范围极大却又用不全(二维数组存的话直接炸).所以决定干脆使用stl::map存储(反正有O2优化),但是执行insert的时候,编译器却 ...