3087|0

664

帖子

108

TA的资源

纯净的硅(中级)

【国产FPGA高云GW1N-4系列开发板测评】——9、内部OSC和rPLL的IP核测试 [复制链接]

本帖最后由 gs001588 于 2022-1-8 12:16 编辑

   【国产FPGA高云GW1N-4系列开发板测评】——9、内部OSC和rPLL的IP核测试

 

   GW1N-4、GW1N-4B等系列,内部是自带OSC的。本意是想测试一下内部OSC IP核,顺便测一下频率。但是在测试过程中发现一点问题,一直很困扰,具体是什么问题呢,在贴尾。

 

   测试过程中使用了OSC和rPLL两种IP核。其中OSC只有一个,不能添加超过一个,否则编译时会报错;rPLL有多个,可以按需添加,本工程添加了4个rPLL,生成不同频率的时钟,实际使用过程中同时只用两个。

2022-1-7_018.jpg

 

   在主菜单的“Tools”菜单下,选择调用“IP Core Generator”,弹出IP核生成器。使用到的OSC和rPLL两种IP核,如下图中红色框框出部分。

2022-1-7_019.jpg

 

   在右测的OSC说明信息部分,有提到“GW1N-4/GW1N-4B/GW1N-4D/GW1NR-4/GW1NR-4B/GW1NR-4D/GW1NRF-4B is about 210MHz”,到底是不是210MHz呢,我们来测试一下。这里假定外部有源晶振的时候是准确的。

2022-1-7_020.jpg

 

   双击上图中左侧“OSC”项,例化生成OSC模块,分频系数选择2,因为最小是2,这样的话得到时钟大约为105HHz;熟悉VHDL,因此语言选择VHDL,与主工程保持一致;其余选项,路径文件、文件名,模块名称可根据个人喜好随意来,按默认设置也没问题。

2022-1-7_022.jpg

 

   同样步骤例化生成rPLL模块,修改输入时钟频率为50MHz,输出频率为100MHz。相同方法,再例化添加其余时钟的rPLL模块,文件名和模块名要修改一下。本工程中共例化了50MHz、100MHz、125MHz、200MHz。其中100MHz用于逻辑分析仪采样时钟,200MHz综合时时序不满足报警告,实际测试效果不稳定。

2022-1-7_023.jpg

 

   测量原理为,用标准时钟生成基准1秒周期,在1秒内对OSC的时钟数进行计数,用内嵌逻辑分析仪进行观察计数波形,那么最大计数乘以2即为实际OSC的时钟频率。

   实际使用外部CLK_50M时钟和rPLL生成的CLK_50M2来测试,得到的结果有差别,暂时未能找到出差错原因。

2022-1-7_021.jpg

 

   实际测量,使用外部CLK_50M时钟时,计数值为102.95M左右,乘以2为205.9MHz。

   外部CLK_50M时钟,采样波形1

2022-1-7_017.jpg

 

   外部CLK_50M时钟,采样波形2

2022-1-7_016.jpg

 

   外部CLK_50M时钟,采样波形3

2022-1-7_015.jpg

 

   实际测量,使用经rPLL后的CLK_50M2时钟时,计数值为103.40M左右,乘以2为207MHz。

   经rPLL后的CLK_50M2时钟,采样波形1

2022-1-7_014.jpg

 

   经rPLL后的CLK_50M2时钟,采样波形2

2022-1-7_013.jpg

 

   经rPLL后的CLK_50M2时钟,采样波形3

2022-1-7_012.jpg

 

   直接使用外部CLK_50M时钟和使用经rPLL后的CLK_50M2时钟,得出的OSC时钟频率有两种结果,206MHz和207MHz,那么必然有一种是有问题的。

   有可能使用外部CLK_50M时钟时得到的1秒周期,实际不到1秒;或者使用使用经rPLL后的CLK_50M2时钟得到的1秒周期,实际可能大于1秒。

 

   从原理图来看,有源晶振的输出时钟信号,直接接到了FPGA的输入管脚,之间没有串小电阻,可能会有电压过冲或振铃现象。

2022-1-8_001.jpg    2022-1-8_002.jpg

 

   用示波器观察晶振输出时钟(OSC网络),峰峰值4.399V,最大值3.793V,最小值-605.3mV。受示波器带宽限制,如果用高带宽示波器测试的话,得到的过冲可能更严重。

IMG_20220107_230704.jpg

 

   本实验测试得到内部OSC频率大约为206或207MHz,与说明信息中的210MHz接近,基本实现了实验目的。

   但是也带来了新的疑问,使用的两种方法,到底哪种测的结果正确?导致不同结果的原因到底出自哪里?

   原理图中有源晶振直接到FPGA,这种接法一般不推荐使用,个人设计时一定要串个小电阻(22到100欧姆之间)。

 

   本实验工程文件附件:

prj_osc.rar (528.17 KB, 下载次数: 19)


回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
4种实时操作系统实时性的分析对比

4种实时操作系统实时性的分析对比,与大家分享 喜欢就顶一下:lol

不是经典我不发--电子设计应用问答(21篇)

电子设计应用问答 目录 一、电压基准及时间基准 二、压频转换器 三、高速比较器 四、运算放大器 五、数模转换器 六、Σ ...

EK_LM3S811问题集锦(Q&A)

:)看到论坛里很多关于LM3S811的资料零散在各处,于是做一个粗略的整理,期待能够对坛子里的朋友有益,也希望大家能够在这个基础 ...

Linux系统脚本的三种执行方式

1、source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限 ...

基于FPGA实现去噪 论文 -- 献给毕设的你

FPGA实现的去噪处理 这是印度同学们贡献的,他们的 ANC:Active Noise Control http://www.ijareeie.com/upload/february/ ...

ccs7.4怎么将例程下载到TMS320F28377S中,希望有详细步骤

ccs7.4怎么将例程下载到TMS320F28377S中,希望有详细步骤

Allegro软件中怎么对元器件还有模块进行旋转呢?

第一步,给大家我们讲一下单个元器件的旋转方法,第一种方法:是Rotate命令,这个命令是配合移动命令,执行移动命令,在Find面板 ...

【NUCLEO-L552ZE测评】+物联网应用开发之简单几步上云

现在物联网、智能家居的概念逐步进入日常生活中了,各种开发平台越来越方便,图形化开发方式使得物联网开发变得越来越傻瓜化 ...

esp32在vscode idf环境下编译出现undefined reference to `xxx'的解决办法

在vscode的示例工程里添加了一个C文件,然后按照以往IDE的方法引用里边的函数,编译时总提示undefined reference to `对应的函数 ...

运算放大器用做比较器时的一些问题

背景:运放放大器采用正反馈设定滞回阈值,在运放的负端输入要比较的信号,运放输出端驱动一个NMOS管作为逻辑转换。 1.外部信 ...

关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表