LMK04828时钟芯片配置——配置理解

这篇具有很好参考价值的文章主要介绍了LMK04828时钟芯片配置——配置理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


配置

开发板例程的SPI指令可以import到 TICS软件,这样就可以看到例程是如何配置的了。主要就是以下三个配置界面

lmk04828,ADI例程,fpga开发
lmk04828,ADI例程,fpga开发

lmk04828,ADI例程,fpga开发
设计到的寄存器有100多个,这里我也不想每个寄存器都搞清楚要怎么用

PLL1

LMK04828内部有两个PLL,分别是PLL1和PLL2。工作模式可以设置为单个PLL,和双PLL的模式
lmk04828,ADI例程,fpga开发
PLL1输入参考时钟包括管脚CLKin0,CLKin1以及CLKin2.可以选择任何时钟输入,选择的规则由配置寄存器参数决定。

PLL2.参考时钟输入来自于VCXO/Crystal,也是PLL1的反馈输入,可以通过OSCout管脚输出

实际上,我目前的设备作为主设备的时候,时钟源就是来自本地VCXO,因此主设备实际上不需要PLL1的功能,PLL1没有输入参考时钟,因此主设备只需要使用单PLL的模式**(准备做实验验证下)**
后续有从设备的时候,通过光纤得到了一个恢复时钟从CLKin0输入,这个时候就需要双PLL模式了。PLL1使用一个很窄的环路带宽同步VCXO。PLL1的鉴相器输入是CPOUT1管脚,连接到而来CTRL_VCXO。外部XS1的器件内部包含了环路滤波器和VCO。REF_VCXO时钟输入到OSCin管脚去

lmk04828,ADI例程,fpga开发

在这里假设外部输入的是122.88MHz的时钟,经过PLL R分频器进行768倍分频,得到0.16MHz,
而另一边48MHz的VCO作为反馈输入输出先进行N分频器分频300倍得到0.16MHz。两个0.16MHz都进入鉴相器进行鉴相操作,然后对外部的VCXO进行调节。这也是PLL1的工作流程
lmk04828,ADI例程,fpga开发

PLL2

VCXO的输出就是PLL2的输入,从下图看到,48M输入,鉴相器输入经过x2后的96M。VCO输出3072M,反馈链路除以4,然后在除以8,同样也是96M。这就是PLL2的工作流程
lmk04828,ADI例程,fpga开发

SYNC/SYSREF

lmk04828,ADI例程,fpga开发
SYNC和SYSREF信号共享同一条时钟路径,也就是说同一时间,只能用其中一个的功能,要么使用SYNC实现同步功能,要么是输出SYSREF
实现各路时钟的同步功能,实际上就是用SYNC信号的上升沿来同步除法器。实现这一目的需要注意以下几点:
• SYNC_EN必须使能
• SYSREF_MUX和SYNC_MODE这两个寄存器参数必须配置正确
• 必须配置寄存器,使延时模块上电
• SYNC_DISX信号必须拉低,使得SYNC/SYSREF能够作用到除法器来完成同步功能,此时SYSREF_MUX寄存器必须切换到SYNC模式

要实现JESD204B的时钟功能,首先必须用SYNC来同步SYSREF输出时钟除法器,然后再配置SYSREF的其它功能。


下面为配置SYSREF的例子,其中VCO为3000MHz,DCLKout0和DCLKout2输出1500MHz,用来驱动转换器。DCLKout4驱动FPGA,用两路10MHz的SYSREF同步转换器和FPGA:

1、Program registers 0x000 to 0x1fff as desired, but follow the Recommended Programming Sequence section for out-of-order registers. Key to prepare for SYSREF operations:
(a) Prepare for manual SYNC: SYNC_POL = 0, SYNC_MODE = 1, SYSREF_MUX = 0
(b) Set up output dividers as per example: DCLKout0_DIV and DCLKout2_DIV = 2 for frequency of 1500 MHz. DCLKout4_DIV = 20 for frequency of 150 MHz.
© Set up output dividers as per example: SYSREF_DIV = 300 for 10 MHz SYSREF
(d) Set up SYSREF: SYSREF_PD = 0, SYSREF_DDLY_PD = 0, DCLKout0_DDLY_PD = 0, DCLKout2_DDLY_PD = 0, DCLKout4_DDLY_PD = 0, SYNC_EN = 1, SYSREF_PLSR_PD = 0, SYSREF_PULSE_CNT = 1 (2 pulses). SDCLKout1_PD = 0, SDCLKout3_PD = 0
(e) Clear Local SYSREF DDLY: SYSREF_CLR = 1.

第一步在脚本生成的时候就设定好,除了一些具体频率数值之外,跟下面寄存器相关
(a)SYNC_POL/SYNC_MODE
(d)SYNC_EN
(e)SYSREF_CLR
lmk04828,ADI例程,fpga开发
(a)SYSREF_MUX
lmk04828,ADI例程,fpga开发
(a)SYSREF_PD SYSREF_DDLY_PD SYSREF_PLSR_PD
lmk04828,ADI例程,fpga开发
DCLKout0_DDLY_PD SDCLKout1_PD。其他通道的也一样
lmk04828,ADI例程,fpga开发
SYSREF_PULSE_CNT
lmk04828,ADI例程,fpga开发

2. Establish deterministic phase relationships between SYSREF and Device Clock for JESD204B:
(a) Set device clock and SYSREF divider digital delays: DCLKout0_DDLY_CNTH, DCLKout0_DDLY_CNTL,DCLKout2_DDLY_CNTH, DCLKout2_DDLY_CNTL, DCLKout4_DDLY_CNTH, DCLKout4_DDLY_CNTL,SYSREF_DDLY.
(b) Set device clock digital delay half steps: DCLKout0_HS, DCLKout2_HS, DCLKout4_HS.
© Set SYSREF clock digital delay as required to achieve known phase relationships: SDCLKout1_DDLY,SDCLKout3_DDLY, SDCLKout5_DDLY.
(d) To allow SYNC to affect dividers: SYNC_DIS0 = 0, SYNC_DIS2 = 0, SYNC_DIS4 = 0,SYNC_DISSYSREF = 0
(e) Perform SYNC by toggling SYNC_POL = 1 then SYNC_POL = 0.

这一步 a,b,c都是已经设定好的,主要看后面两步,
(d)应该也是默认的
(e)触发一次SYNC

3. Disable SYNC from resetting these dividers when the dividers are synchronized. It is not desired for SYSREF to reset the divider of the SYSREF or the dividers of the output clocks.
(a) Prevent SYNC (SYSREF) from affecting dividers: SYNC_DIS0 = 1, SYNC_DIS2 = 1, SYNC_DIS4 = 1,SYNC_DISSYSREF = 1.

这一步比较重要,之前SYNC之后,需要屏蔽掉之后SYNC管脚对分频器的影响,因此需要disable

4. Release reset of local SYSREF digital delay.
(a) SYSREF_CLR = 0. Note this bit needs to be set for only 15 VCO clocks after SYSREF_PD = 0.
开启SYSREF开关。(关闭了SYNC通路之后把SYSREF通路打开)

5. Set SYSREF operation.
(a) Allow pin SYNC event to start pulser: SYNC_MODE = 2.
(b) Select pulser as SYSREF signal: SYSREF_MUX = 2.

SYNC_MODE模式设定为SYSREF模式 = 2,相当于通过管脚SYNC产生SYSREF事件。
如果SYNC_MODE模式设定为SYSREF模式 = 3,相当于写寄存器0x13e来触发SYSREF事件
lmk04828,ADI例程,fpga开发

6. Complete! Now asserting the SYNC pin, or toggling SYNC_POL will result in a series of two SYSREF pulses.

通过SYNC管脚或者翻转 SYNC_POL寄存器可以发出2个SYSREF脉冲

上面讲的是SYSREF Pulser模式

• SYSREF的产生模式有3种,分别为SYSREF Pulser、Continuous SYSREF以及SYSREF Request。
• 在SYSREF Pulser中,每来一次SYNC,就输出一次SYREF,SYSREF的脉冲个数可编程调节。分别为1、2、4或者8.
• 在Continuous SYSREF模式中,输出连续的SYSREF时钟,但是不推荐这种方式,因为会和相邻的时钟产生串扰。
• 在SYSREF Request模式中,芯片允许从外部输入一个SYSREF请求信号来控制连续SYSREF的输出与关断,每当SYSREF_REQ被使能,SYSREF_MUX将调整到Continuous SYSREF模式并输出SYSREF,直到SYSREF_REQ被取消。

总结

主要理解了下SYSREF的生成,因为这个比较重要文章来源地址https://www.toymoban.com/news/detail-785762.html

到了这里,关于LMK04828时钟芯片配置——配置理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ASEMI代理ADI亚德诺ADAU1961WBCPZ-R7音频处理芯片

    编辑-Z ADAU1961WBCPZ-R7芯片为ADI公司生产的音频处理芯片,致力于提供高质量的音频性能,具有很广泛的应用领域。下文将从四个方面介绍ADAU1961WBCPZ-R7的特点与应用。 一、功能特性 ADAU1961WBCPZ-R7芯片具有比较全面的音频处理功能,如音频采集、编解码、降噪、回声抑制等,同时

    2023年04月23日
    浏览(30)
  • ASEMI代理ADI亚德诺ADM202EARNZ-REEL车规级芯片

    编辑-Z ADM202EARNZ-REEL 芯片参数: 型号:ADM202EARNZ-REEL 工作电压范围:4.5-5.5V VCC电源电流:2.5 mA 输入逻辑阈值低:0.8V 输入逻辑阈值高:2.4V 输出电压摆幅:±9.0V 变送器输出电阻:300 Ω 最大数据速率:230 kbps 抗电磁干扰:10 V/m VCC:−0.3 V to +6 V 功率耗散N-16:450 mW 工作温度范围

    2023年04月26日
    浏览(31)
  • ASEMI代理ADI亚德诺AD8130ARZ-REEL7车规级芯片

    编辑-Z AD8130ARZ-REEL7 芯片参数: 型号:AD8130ARZ-REEL7 −3dB带宽:250MHz 0.1 dB平坦度的带宽:25MHz 斜率:930V/μs 建立时间:20ns 上升和下降时间:1.5ns 输出超速恢复:30ns 二次谐波/三次谐波:−72/−79dBc 输出IP3:26dBm 共模抑制:96dB 共模电压范围:1.25 to 3.8V 电容:3pF   一般说明:

    2023年04月19日
    浏览(33)
  • ASEMI代理ADI亚德诺AD8061ARTZ-REEL7车规级芯片

    编辑-Z AD8061ARTZ-REEL7芯片参数: 型号:AD8061ARTZ-REEL7 −3dB小信号带宽:320MHz −3dB大信号带宽:280MHz 0.1 dB平坦度的带宽:30MHz 斜率:650V/μs 总谐波失真:-77dBc 输入电压噪声:8.5nV/√Hz 输入电流噪声:1.2pA/√Hz 输入偏移电压:1mV 输入偏置电流:3.5uA 输入失调电流:0.3±uA 输入电阻

    2023年04月19日
    浏览(30)
  • 具于xilinx FPGA的可动态配置DDS频率控制字的DDS IP核使用例程详解

    本文用于讲解xilinx IP 的dds ip examples(动态配置频率)的功能说明,方便使用者快速上手。 本examples 是月隐编写的针对DDS的使用demo,实现通过vio控制频率控制字来调整DDS的输出频率,为大家演示一个可动态配置DDS频率的例程。 例程的平台: 1) 硬件平台:XC7Z020CLG484-2 2) FP

    2024年02月02日
    浏览(31)
  • FPGA通过读写突发对DS1302时钟的配置&驱动

    环境: 1、Quartus18.0 2、vscode 3、板子型号:EP4CE6F17C8 4、实时时钟模块:DS1302 要求: 使用 EP4CE6F17C8开发板驱动 实时时钟模块(DS1302 ),并将配置完后的时钟传回到上位机。我们上电后直接对实时时钟进行配置,在按键按下后,向上位机发送我们的时钟数据。 这里我们会先对

    2024年02月04日
    浏览(32)
  • FPGA动态配置si5338输出差分时钟,提供工程源码和技术支持

    如今的FPGA板卡随着FPGA本身性能的提高也越来越高端,特别是在高速接口方面表现得越发明显,以Xilinx的7系列FPGA为例,板卡上一般都会有DDR3、SFP、QSFP、SADA、PCIE、FMC等高速接口,不同的高度接口对时钟的要求并不完全一致,而比如vivado调用的PLL IP核无法生成差分输出时钟,

    2024年02月15日
    浏览(25)
  • 基于FPGA的百兆以太网通信(一)——MDIO配置PHY芯片

     一、以太网简介   之前提了个引子,接下来我会分享一下基于FPGA的百兆以太网通信学习过程。第一部分是对于以太网PHY芯片的配置和状态读取。   一般来说,FPGA以太网通信是需要外接的PHY芯片的,目前的很多FPGA出厂的底板上已经焊好了PHY芯片,所以这一点是比较方便的。

    2024年04月10日
    浏览(46)
  • CMS32系列芯片资源及例程代码

    中微半导体32位微控制器是基于ARM® Cortex® M0和ARM® Cortex® M0+的产品,其高速的运算处理能力能胜任绝大多数复杂应用。中微32位MCU提供一系列产品,专注于低功耗和高性能,主频可达48MHz-64MHz,多达256KB的Flash,32KB SRAM,2KB的Data Flash,工作电压1.8V~5.5V,且片上集成多种模拟外设

    2024年02月03日
    浏览(34)
  • 基于FPGA的SRIOIP例程及仿真实现

    一、IP 创建及相关介绍         首先创建一个工程,选择相应的FPGA器件,在左边选择IP Catalog来创建SRIO IP核,现在使用的是V4.1版本的IP核,双击进入SRIO 进行设置;         设置IP时有两种模式可以选择,一种是Advance模式,一种是Basic模式,在Advance模式下可以对几个相

    2024年02月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包