CN104980130A - 基于fpga的oserdes2的改变方波上升时间的方法 - Google Patents
基于fpga的oserdes2的改变方波上升时间的方法 Download PDFInfo
- Publication number
- CN104980130A CN104980130A CN201510414885.4A CN201510414885A CN104980130A CN 104980130 A CN104980130 A CN 104980130A CN 201510414885 A CN201510414885 A CN 201510414885A CN 104980130 A CN104980130 A CN 104980130A
- Authority
- CN
- China
- Prior art keywords
- square wave
- oserdes2
- output
- fpga
- counter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种基于FPGA的OSERDES2的改变方波上升时间的方法,该方法如下步骤:S1、初始化PFGA中的计数器和输出寄存器;S2、CPU接收用户设置的方波频率,并根据用户设置的方波频率,计算出方波频率控制字传送给FPGA;S3、FPGA接收到CPU传送过来的方波频率控制字后,计数器开始累加,当计数器的值等于方波频率控制字的一半时,将方波的输出寄存器设置为1111,计数器继续累加,当计数器的值等于方波频率控制字的时,将方波的输出寄存器设置为0000,同时,将计数器清零;S4、将步骤S3中的输出寄存器的输出接入所述OSERDES2模块的并行数据输入端口;本发明由OSERDES2模块控制输出,这样可将数据的输出速度提升为原来的4倍,显著的提高了方波的上升时间。
Description
技术领域
本发明涉及一种示波器,尤其涉及一种基于FPGA的OSERDES2的改变方波上升时间的方法。
背景技术
信号发生器是用来产生各种电子信号的仪器,其广泛的应用在科研、教学、工程等领域,方波是信号发生器产生的一种标准信号,上升时间是方波的一个重要参数。上升时间是指输出电压从10%到90%所需的时间,上升时间越短说明波形的跳变时间越短,跳变的时间越短,说明波形从低电平到高电平的时间也越短暂,这样生成的波形也更近似于方波。
方波通常是采用计数器的方式产生的,用户通过按键设置方波的周期,FPGA根据用户的设置来生成不同的计数器来产生不同频率的方波。通过该方法可以方便的产生各种方波,但是方波的上升时间用计数器的时间决定。例如 FPGA的计数器时钟为125M,则该方波的上升时间为1/125M = 8ns。
发明内容
有鉴于此,本发明提供一种有效减少波形上升时间基于FPGA 的OSERDES2(输出并串行转换器)的改变方波上升时间的方法。
本发明采用以下技术方案:基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:该方法采用的硬件部件包括CPU、FPGA、方波整形电路和幅度控制电路,所述CPU的输出端与FPGA的输入端电性连接,所述FPGA的输出端与方波整形电路的输入端电性连接,所述方波整形电路的输出端与幅度控制电路电性连接,所述FPGA内置有计数器、输出寄存器和OSERDES2模块;
该方法具体步骤如下:
S1、初始化PFGA中的计数器和输出寄存器;
S2、用户设置方波频率值,CPU根据设置的方波频率值计算出方波频率控制字传送给FPGA;
S3、FPGA接收到CPU传送过来的方波频率控制字后,计数器开始累加,当计数器的值等于方波频率控制字的一半时,将该方波的输出寄存器设置为1111,计数器继续累加,当计数器的值等于方波频率控制字的时,将该方波的输出寄存器设置为0000,同时,将计数器清零;
S4、将步骤S3中的输出寄存器的输出接入所述OSERDES2模块的两个以上并行数据输入端口,通过对OSERDES2模块的配置进行调整,提高方波的输出速度,即提高了方波的上升时间;
S5、OSERDES2模块将上述提高了方波的上升时间的方波输出,经过方波整形电路和幅度控制电路后输出。
进一步,所述的S1中,将计数器的初始值设置为0,方波的输出寄存器设置为0000。
进一步,所述步骤S4中的OSERDES2模块配置如下:
第一步:设置OSERDES2 的参数
S11、设置BYPASS_GCLK_FF旁路始终为FALSE,即 BYPASS_GCLK_FF("FALSE");
S12、因为处理的数据位普通的‘0’、‘1’因此将OSERDES2 的数据模式为SDR的方式;
S13、由于将上升时间由8ns 变为2ns数据位数为4bit,因此将SERDES2的数据位宽设置为4bit;
S14、方波输出为普通IO,将OUTPUT_MODE设置为"SINGLE_ENDED;
S15、由于只采用了一个SERDES,因此将.SERDES_MODE设置为 "NONE";
第二步:设置OSERDES2 的输入输出
将方波寄存器信号连接到Oserdes2的D1、D2、D3和D4上,将方波的输出信号连接到Oserdes的输出端OQ,将OSerdes2的时钟设置为系统时钟125M,即就完成Oserdes2的配置。
进一步,所述的S2中,所述的用户是通过人机交互界面设置方波频率。
进一步,所述硬件部件还包括与CPU相连的人机交互界面及其按键。
本发明采用以上技术方案,用户通过按键设置方波的周期,CPU根据设置的方波周期计算出方波频率控制字并传送给FPGA,在计数器和输出寄存器协同作用,将方波寄存器的输出接入所述OSERDES2模块的并行数据输入端口中,由OSERDES2模块控制输出,这样可将将数据的输出速度提升为原来的4倍,显著的提高了方波的上升时间。
附图说明
现结合附图对本发明做进一步详述:
图1是本发明改变方波上升时间的方法之硬件结构示意图;
图2是本发明改变方波上升时间的方法之OSERDES2模块结构示意图。
具体实施方式
如图1所示,本发明提供了基于FPGA 的OSERDES2的改变方波上升时间的方法,该方法采用的硬件部件包括CPU、FPGA、方波整形电路和幅度控制电路,所述CPU的输出端与FPGA的输入端电性连接,所述FPGA的输出端与方波整形电路的输入端电性连接,所述方波整形电路的输出端与幅度控制电路电性连接,所述FPGA内置有计数器、输出寄存器和OSERDES2模块。
为进一步详述本发明,下面对本发明中所采用的OSERDES2模块控制方式做进一步说明。
如图2所示, D1、D2、D3、D4 为并行数据输入端口,OCE为使能端,Global Clock 为全局时钟输入端,I/O Clock 为输出时钟输入端(根据用户的需要输出串行的速度来决定,可以设置为Global Clock的1~4倍),T1,T2,T3,T4 为输出三态的控制端,控制当输出数据为D1,D2,D3,D4, To pin 输出为高阻还是 数据 ,TCE 为三态控制的使能段。
用户可以通过 OSERDES2的控制端口输入想要串并转换的倍数(2 ~4),并且在D1,D2,D3,D4 ,输入相应的数据,Global Clock,I/O Clock输入相应的时钟关系,就可以在To pin s 得到相应的串行数据。
当 输出 为2 倍的串行数据时候,To pin 输出的数据依次为 D2,D1(高位到低位)
当 输出 为3 倍的串行数据时候,To pin 输出的数据依次为 D3,D2,D1(高位到低位)。
当 输出 为4 倍的串行数据时候,To pin 输出的数据依次为 D4,D3,D2,D1(高位到低位)。
该方法具体步骤如下:
S1、初始化PFGA中的计数器和输出寄存器;将计数器的初始值设置为0,方波的输出寄存器设置为0000。
S2、用户通过屏幕按键设置方波频率,CPU接收用户设置的方波频率,并根据用户设置的方波频率,计算出方波频率控制字传送给FPGA;
计算方法如下:CPU根据FPGA在系统时钟除以用户的设置频率就可以得到方波的频率控制字,例如FPGA的系统时钟为125M,用户设置的频率为1K,则频率控制字为125M/1K = 125000
S3、FPGA接收到CPU传送过来的方波频率控制字后,计数器开始累加,累加的步进为1,当计数器的值等于方波频率控制字的一半时(例如当频率控制字为62500),将方波的输出寄存器设置为1111,计数器继续累加,当计数器的值等于方波频率控制字的时,将方波的输出寄存器设置为0000,同时,将计数器清零;
S4、将步骤S3中的输出寄存器的输出接入所述OSERDES2模块的D1~D4,并将OSERDES2的模块配置如下:
第一步:设置OSERDES2 的参数
S11、设置BYPASS_GCLK_FF旁路始终为FALSE,即 BYPASS_GCLK_FF("FALSE");
S12、因为处理的数据位普通的‘0’、‘1’因此将OSERDES2 的数据模式为SDR的方式;
S13、由于将上升时间由8ns 变为2ns数据位数为4bit,因此将SERDES2的数据位宽设置为4bit;
S14、方波输出为普通IO,将OUTPUT_MODE设置为"SINGLE_ENDED;
S15、由于只采用了一个SERDES,因此将.SERDES_MODE设置为 "NONE";
第二步:设置OSERDES2 的输入输出
将方波寄存器信号连接到Oserdes2的D1、D2、D3和D4上,将方波的输出信号连接到Oserdes的输出端OQ,将OSerdes2的时钟设置为系统时钟125M,即就完成Oserdes2的配置。
具体代码如下:
OSERDES2 #(
.BYPASS_GCLK_FF("FALSE"),
.DATA_RATE_OQ("SDR"),
.DATA_RATE_OT("SDR”),
.DATA_WIDTH(4),
.OUTPUT_MODE("SINGLE_ENDED"),
.SERDES_MODE("NONE")
OSERDES2_inst (
.OQ(square_out), // 方波输出
.CLK0(clkfx), // 系统时钟
.CLKDIV(Gclk), // 分频时钟输入
.D1(square_register[0]),
.D2(square_register[1]),
.D3(square_register[2]),
.D4(square_register[3]),
.OCE(1’b1),
.RST(1’b0) );
本实施例通过以上OSERDES2的配置,方波的输出变化时间由原来的8ns(125M的系统时钟),变成现在的串行输出(2ns),因此上升时间也由原来的8ns,变成现在的2ns,上升时间得到了极大的改进。
Claims (5)
1.基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:该方法采用的硬件部件包括CPU、FPGA、方波整形电路和幅度控制电路,所述CPU的输出端与FPGA的输入端电性连接,所述FPGA的输出端与方波整形电路的输入端电性连接,所述方波整形电路的输出端与幅度控制电路电性连接,所述FPGA内置有计数器、输出寄存器和OSERDES2模块;
该方法具体步骤如下:
S1、初始化PFGA中的计数器和输出寄存器;
S2、用户设置方波频率值,CPU根据设置的方波频率值计算出方波频率控制字传送给FPGA;
S3、FPGA接收到CPU传送过来的方波频率控制字后,计数器开始累加,当计数器的值等于方波频率控制字的一半时,将该方波的输出寄存器设置为1111,计数器继续累加,当计数器的值等于方波频率控制字的时,将该方波的输出寄存器设置为0000,同时,将计数器清零;
S4、将步骤S3中的输出寄存器的输出接入所述OSERDES2模块的两个以上并行数据输入端口,通过对OSERDES2模块的配置进行调整,提高方波的输出速度,即提高了方波的上升时间;
S5、OSERDES2模块将上述提高了方波的上升时间的方波输出,经过方波整形电路和幅度控制电路后输出。
2.根据权利要求1所述的基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:所述的S1中,将计数器的初始值设置为0,方波的输出寄存器设置为0000。
3.根据权利要求1所述的基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:所述步骤S4中的OSERDES2模块配置如下:
第一步:设置OSERDES2 的参数
S11、设置BYPASS_GCLK_FF旁路始终为FALSE,即 BYPASS_GCLK_FF("FALSE");
S12、因为处理的数据位普通的‘0’、‘1’因此将OSERDES2 的数据模式为SDR的方式;
S13、由于将上升时间由8ns 变为2ns数据位数为4bit,因此将SERDES2的数据位宽设置为4bit;
S14、方波输出为普通IO,将OUTPUT_MODE设置为"SINGLE_ENDED;
S15、由于只采用了一个SERDES,因此将.SERDES_MODE设置为 "NONE";
第二步:设置OSERDES2 的输入输出
将方波寄存器信号连接到Oserdes2的D1、D2、D3和D4上,将方波的输出信号连接到Oserdes的输出端OQ,将OSerdes2的时钟设置为系统时钟125M,即就完成Oserdes2的配置。
4.根据权利要求1所述的基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:所述的S2中,所述的用户是通过人机交互界面设置方波频率。
5.根据权利要求1所述的基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:所述硬件部件还包括与CPU相连的人机交互界面及其按键。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510414885.4A CN104980130B (zh) | 2015-07-15 | 2015-07-15 | 基于fpga 的oserdes2的改变方波上升时间的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510414885.4A CN104980130B (zh) | 2015-07-15 | 2015-07-15 | 基于fpga 的oserdes2的改变方波上升时间的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104980130A true CN104980130A (zh) | 2015-10-14 |
CN104980130B CN104980130B (zh) | 2018-05-15 |
Family
ID=54276294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510414885.4A Active CN104980130B (zh) | 2015-07-15 | 2015-07-15 | 基于fpga 的oserdes2的改变方波上升时间的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104980130B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325893A (zh) * | 2015-06-15 | 2017-01-11 | 中兴通讯股份有限公司 | 逻辑器件配置方法及装置 |
CN108471303A (zh) * | 2018-03-29 | 2018-08-31 | 中国人民解放军国防科技大学 | 一种基于fpga的可编程纳秒级定时精度脉冲发生器 |
CN108768350A (zh) * | 2018-05-23 | 2018-11-06 | 成都玖锦科技有限公司 | 上下沿可独立调节的稳定性方波产生方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104596553A (zh) * | 2014-12-29 | 2015-05-06 | 武汉理工大学 | 时分复用fbg传感网络的相移脉冲产生装置 |
-
2015
- 2015-07-15 CN CN201510414885.4A patent/CN104980130B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104596553A (zh) * | 2014-12-29 | 2015-05-06 | 武汉理工大学 | 时分复用fbg传感网络的相移脉冲产生装置 |
Non-Patent Citations (2)
Title |
---|
侯淼林等: "基于FPGA片内ODDR接口技术的LCD驱动设计", 《液晶与显示》 * |
张鸿飞等: "基于FPGA的高速任意波形发生器的设计", 《第十六届全国核电子学与核探测技术学术年会》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325893A (zh) * | 2015-06-15 | 2017-01-11 | 中兴通讯股份有限公司 | 逻辑器件配置方法及装置 |
CN108471303A (zh) * | 2018-03-29 | 2018-08-31 | 中国人民解放军国防科技大学 | 一种基于fpga的可编程纳秒级定时精度脉冲发生器 |
CN108471303B (zh) * | 2018-03-29 | 2021-06-25 | 中国人民解放军国防科技大学 | 一种基于fpga的可编程纳秒级定时精度脉冲发生器 |
CN108768350A (zh) * | 2018-05-23 | 2018-11-06 | 成都玖锦科技有限公司 | 上下沿可独立调节的稳定性方波产生方法 |
CN108768350B (zh) * | 2018-05-23 | 2021-11-23 | 成都玖锦科技有限公司 | 上下沿可独立调节的稳定性方波产生方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104980130B (zh) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1686458B1 (en) | Oscillator-based random number generator | |
US8023602B2 (en) | Serial data communication apparatus and methods of using a single line | |
EP2147361B1 (en) | Usb based synchronization and timing system | |
CN102819282B (zh) | 一种时钟恢复电路装置及相应的方法 | |
CN106897238A (zh) | 一种数据处理装置及方法 | |
EP2050191A1 (en) | Pulse counter with clock edge recovery | |
CN105718404A (zh) | 一种基于fpga的方波发生器及方法 | |
CN103117732B (zh) | 多路视频脉冲信号发生装置及方法 | |
CN104980130A (zh) | 基于fpga的oserdes2的改变方波上升时间的方法 | |
CN107025092B (zh) | 一种基于latch结构真随机数发生器的随机数提取方法 | |
CN104242934B (zh) | 带冗余位全异步sar adc亚稳态消除电路与方法 | |
US11888480B2 (en) | Method and apparatus for synchronizing two systems | |
WO2016041278A1 (zh) | 时钟动态切换方法、装置及计算机可读介质 | |
US20150023458A1 (en) | Clock and data recovery using dual manchester encoded data streams | |
TW201439712A (zh) | 用於串列資料傳輸的顫動電路 | |
CN105353600B (zh) | 一种应用于阵列系统的高精度低功耗三段式tdc电路 | |
CN103645379A (zh) | Ttl信号频率跳变监测系统和方法 | |
CN104216462B (zh) | 一种基于fpga的大动态高精度可编程延时装置 | |
CN108984446B (zh) | 基于fpga原语的phy接口及fpga芯片 | |
CN105894079B (zh) | 时钟加扰电路 | |
US6445230B1 (en) | Programmable digital phase lock loop | |
TW202101908A (zh) | 用於產生具有可控脈衝寬度之脈衝輸出的電路 | |
CN105811971A (zh) | 基于计数器的可变频时钟源和fpga器件 | |
CN104215307A (zh) | 用于流量标准装置的双计时脉冲插值计数器及其实现方法 | |
CN100498863C (zh) | 一种可变长度编码的方法及其电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |