在高速数字系统中,时钟起到至关重要的作用,它决定系统工作的稳定性与准确性,尤其在包含Zynq、高速ADDA的数字系统中。在设计逻辑代码时,除了实际的算法设计HDL,设计Zynq的另一个重要方面是考虑系统内的时钟设计。基于Zynq的平台性能高度依赖于系统时钟的设计。如图1所示,在硬件平台系统时钟需要分别给Zynq、ADC和DAC三部分提供高精度时钟。
图1 系统时钟框图
以XC7Z100作为核心的Zynq板卡时钟系统的设计基于直接和简单的原理,时钟源选用北京晶宇兴公司生产的高精度晶振,PS侧使用一只单端输出的33.33MHz有源晶振;PL端使用一只差分输出200MHz的有源晶振作为工作时钟。
晶振型 |
频率 |
工作电压 |
输出 |
抖动 |
XO75-YDGRA |
33.33MHz |
2.5V |
CMOS |
5.0ps |
VC75L-TDGRL |
200MHz |
2.5V |
LVDS |
1.0ps |
AD9516-1输出端口包括CMOS、LVDS和LVPECL三种模式,其内部集成了整数N频率合成器、1个压控振荡器(VCO)、2个参考输入、14个时钟驱动器、可编程驱动器和可调延迟线。
图2 AD9516-1内部结构图
如图2所示为AD9516内部结构图,AD9516-1器件可以与频率高达2.4 GHz的外部振荡器一起使用。它具有6个LVPECL输出端口,并且工作频率可以达到最大VCO速率;4个输出端口可通过配置输出寄存器设置为一路LVDS或两路CMOS输出端口。AD9516-1工作模式通过SPI串行接口配置,具有较强的灵活性。
SPI接口设计框图如图3所示,在配置数字平台中的前端模块时,配置信息可由上位机发送至PS或编写于PS侧C程序中,而后通过AXI总线协议传输至PL侧BRAM中,再经过SPI逻辑驱动代码实时监测参数更新,实现高速模块功能动态配置。
图3 SPI接口设计框图
通过AXI总线存入BRAM的寄存器控制指令分为时钟芯片、高速ADC和DAC提供配置功能。如图4所示,本课题中为实现这一功能特为三种芯片的控制指令添加8位标识以便于FPGA根据不同标识对不同功能芯片实现配置,同时每条控制指令为32位数据,便于32或64位AXI总线协议传输。
图4 SPI控制指令数据格式
如图5所示为SPI写控制模块FPGA实现框图,当程序启动后处于Idle模式,表示配置功能未开始;其次在高速ADDA模块配置前配置时钟芯片AD9516-1,这样的设计可以保证时钟处于稳定状态时进行高速模数或数模转换功能。
图5 SPI写控制模块FPGA实现框图
Verilog SPI-Flash读写总线控制模块:
https://blog.csdn.net/m0_37779673/article/details/118033580
AD9516-1包含了一个频率范围为2.30~2.65 GHz的内部VCO。通过配置寄存器将内部VCO设置为2.5GHz。时钟芯片AD9516-1寄存器配置值可通过图6所示软件生成,方便设计的实现。
图6 AD9516-1芯片配置软件界面图
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!