1.概述
本文使用ADI公司的9516-3芯片,输入10MHz频率的参考时钟,输出50MHz的时钟。先用评估软件获取产生目标时钟所需的寄存器配置,再通过SPI写入9516芯片内部,SPI部分由FPGA实现。
2.准备工作
阅读相关文档,并下载evaluation board评估板的配套软件(配置寄存器需要用到),相应的网址都贴在下面了
2.1 官方网站
9516-3官网https://www.analog.com/cn/products/ad9516-3.html#product-overview
2.2 官方文档
主要看三个文档
2.2.1 芯片手册
https://www.analog.com/media/en/technical-documentation/data-sheets/AD9516_3.pdf
2.2.2 评估板使用手册
https://www.analog.com/media/cn/technical-documentation/user-guides/UG-075.pdf
2.2.3 评估板电路图
2.3 评估版软件
官网下拉到下图的位置,软件一列第一个即是评估版软件
3.获取寄存器配置
打开评估版软件,选择完对应型号就会进入下图界面
具体各参数含义见手册,我就说一下我的配置流程(我本次配置使用芯片内部VCO,由REF 1端口输入参考时钟):
1.PLL MODE选择 “Norm Op”;
2.修改REF 1的频率至所需频率,并点击右边的小三角选择enable REF1;
3.点击VCO和CLK右边的黄色梯形框,使开关接VCO;
4.修改N DIVIDER,使VCO频率至合适区间;
5.修该各DIVIDER框的分频比,输出想要的频率;
6.点击最右端呈绿色三角形的输出口,关闭不需要使用的口;
7.左上角file—save setup导出当前的寄存器配置,得到如下图所示文件。
4.编写SPI程序
SPI时序参考芯片手册Serial Control Port部分,每次传输长指令+数据
长指令共计16bit,我这边要实现的操作是每次写八比特寄存器配置,故这边的长指令内容为[15:13]为0,剩下13位为目标寄存器的地址,长指令写完后紧跟着8比特数据。
故我每写一组寄存器配置需要写入24bit,这里就要用到刚才评估软件导出的stp文件,将第一列Addr和第三列Value合并即可得到所需写入的SPI数据。在这里我用ROM存储寄存器配置。
此外需注意,我们需要在寄存器配置最后添加四行内容以实现VCO校准并更新芯片内部寄存器配置,依次为0x0018寄存器写入0x06->0x0232寄存器写入0x01->0x0018寄存器写入0x07->0x0232寄存器写入0x01。
SPI时序如下图所示
5.上板验证
用fpga与9516评估板连接做测试时,注意跳线帽得改变位置,否则板子默认由评估软件也就是PC端进行操控。
移开S2跳线帽
S4接非地端