CN104980130B - 基于fpga 的oserdes2的改变方波上升时间的方法 - Google Patents
基于fpga 的oserdes2的改变方波上升时间的方法 Download PDFInfo
- Publication number
- CN104980130B CN104980130B CN201510414885.4A CN201510414885A CN104980130B CN 104980130 B CN104980130 B CN 104980130B CN 201510414885 A CN201510414885 A CN 201510414885A CN 104980130 B CN104980130 B CN 104980130B
- Authority
- CN
- China
- Prior art keywords
- square wave
- oserdes2
- fpga
- output
- 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.)
- Active
Links
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输入相应的时钟关系,就可以在Topin 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 (4)
1.基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:该方法采用的硬件部件包括CPU、FPGA、方波整形电路和幅度控制电路,所述CPU的输出端与FPGA的输入端电性连接,所述FPGA的输出端与方波整形电路的输入端电性连接,所述方波整形电路的输出端与幅度控制电路电性连接,所述FPGA内置有计数器、输出寄存器和OSERDES2模块;
该方法具体步骤如下:
S1、初始化PFGA中的计数器和输出寄存器;
S2、用户设置方波频率值,CPU根据设置的方波频率值计算出方波频率控制字传送给FPGA;
S3、FPGA接收到CPU传送过来的方波频率控制字后,计数器开始累加,当计数器的值等于方波频率控制字的一半时,将该方波的输出寄存器设置为1111,计数器继续累加,当计数器的值等于方波频率控制字时,将该方波的输出寄存器设置为0000,同时,将计数器清零;
S4、将步骤S3中的输出寄存器的输出接入所述OSERDES2模块的两个以上并行数据输入端口,通过对OSERDES2模块的配置进行调整,提高方波的输出速度,即提高了方波的上升时间;
所述步骤S4中的OSERDES2模块配置如下:
第一步:设置OSERDES2 的参数
S11、设置BYPASS_GCLK_FF旁路始终为FALSE,即 BYPASS_GCLK_FF("FALSE");
S12、因为处理的数据为普通的‘0’、‘1’因此将OSERDES2 的数据模式设置为SDR的方式;
S13、由于将上升时间由8ns 变为2ns数据位数为4bit,因此将OSERDES2的数据位宽设置为4bit;
S14、方波输出为普通IO,将OUTPUT_MODE设置为"SINGLE_ENDED";
S15、由于只采用了一个OSERDES2,因此将.SERDES_MODE设置为 "NONE";
第二步:设置OSERDES2 的输入输出
将方波寄存器信号连接到OSERDES2的D1、D2、D3和D4上,将方波的输出信号连接到OSERDES2的输出端OQ,将OSERDES2的时钟设置为系统时钟125M,即就完成Oserdes2的配置;
S5、OSERDES2模块将上述提高了方波的上升时间的方波输出,经过方波整形电路和幅度控制电路后输出。
2.根据权利要求1所述的基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:所述的S1中,将计数器的初始值设置为0,方波的输出寄存器设置为0000。
3.根据权利要求1所述的基于FPGA 的OSERDES2的改变方波上升时间的方法,其特征在于:所述的S2中,所述的用户是通过人机交互界面设置方波频率。
4.根据权利要求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 CN104980130A (zh) | 2015-10-14 |
CN104980130B true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325893A (zh) * | 2015-06-15 | 2017-01-11 | 中兴通讯股份有限公司 | 逻辑器件配置方法及装置 |
CN108471303B (zh) * | 2018-03-29 | 2021-06-25 | 中国人民解放军国防科技大学 | 一种基于fpga的可编程纳秒级定时精度脉冲发生器 |
CN108768350B (zh) * | 2018-05-23 | 2021-11-23 | 成都玖锦科技有限公司 | 上下沿可独立调节的稳定性方波产生方法 |
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驱动设计;侯淼林等;《液晶与显示》;20131031;第693-697页 * |
基于FPGA的高速任意波形发生器的设计;张鸿飞等;《第十六届全国核电子学与核探测技术学术年会》;20121231;第62-67页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104980130A (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104202040B (zh) | 位电平检测电路以及方法 | |
EP2587385B1 (en) | Usb key device and method for realizing intelligent card communication using usb interface | |
Patel et al. | VHDL implementation of UART with status register | |
CN104980130B (zh) | 基于fpga 的oserdes2的改变方波上升时间的方法 | |
US20060153326A1 (en) | Serial data communication apparatus and methods of using a single line | |
CN102819282B (zh) | 一种时钟恢复电路装置及相应的方法 | |
US9054941B2 (en) | Clock and data recovery using dual manchester encoded data streams | |
CN2922277Y (zh) | 一种时钟毛刺检测电路 | |
CN104242934B (zh) | 带冗余位全异步sar adc亚稳态消除电路与方法 | |
CN104660220B (zh) | 一种产生整数频率脉冲的信号发生器及信号产生方法 | |
CN103888147B (zh) | 一种串行转并行转换电路和转换器以及转换系统 | |
CN106897238A (zh) | 一种数据处理装置及方法 | |
CN103870421A (zh) | 一种基于fpga的串行接口和pwm组合应用ip核 | |
WO2018120612A1 (zh) | 一种数据采样方法、芯片和计算机存储介质 | |
CN107025092A (zh) | 一种基于latch 结构真随机数发生器的随机数提取方法 | |
CN104579320A (zh) | 时钟延迟方法、装置、延迟锁相环及数字时钟管理单元 | |
CN109947226A (zh) | 一种mcu芯片的uart唤醒电路 | |
CN105591645B (zh) | 一种多级串并转换电路 | |
CN103645379A (zh) | Ttl信号频率跳变监测系统和方法 | |
CN108984446B (zh) | 基于fpga原语的phy接口及fpga芯片 | |
CN105515610B (zh) | 一种数字接收机模块及其信号处理方法与射频卡布线方法 | |
CN108170616B (zh) | 利用锁存器实现跨时钟域信号传输的系统 | |
CN104283561B (zh) | 一种异步时钟并串转换半周期输出电路 | |
CN104215307A (zh) | 用于流量标准装置的双计时脉冲插值计数器及其实现方法 | |
US20170353335A1 (en) | Low-skew channel bonding using phase-measuring fifo buffer |
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 |