一种脉冲波发生装置的制作方法

文档序号:16517497发布日期:2019-01-05 09:44阅读:222来源:国知局
一种脉冲波发生装置的制作方法

本发明涉及电子技术领域,具体涉及一种脉冲波发生装置。



背景技术:

在电子计算机、通信、雷达、电视、自动控制、遥控遥测、无线电导航和测试测量技术等电子技术领域,脉冲波起着非常重要的作用,比如,可以用于测试电路的阶跃响应、可以作为雷达的无线电脉冲波、可以在通信中进行调制产生pwm(pulsewidthmodulation,脉冲宽度调制)波等。

信号的抖动一般定义为信号在某一特定时刻相对于其理想位置的短期偏移,信号的抖动示意图可参见图1,其中真实脉冲波相对于理想脉冲波的偏移e1~e6即为信号的抖动。信号的抖动通常是由系统中的噪声或者其他干扰因素引起的,在信号采集及处理过程中会导致处理器采集到错误的信号,从而降低了数字信号的传输性能,因此,抖动是衡量信号质量的重要指标,在信号抖动的情况下保持数据的准确性也是衡量一个数字系统性能的重要指标。通过给信号添加抖动,能够模拟出系统在不同信号质量下的表现,在电子器件的研发、测试等方面具有重要的意义,但目前还无法按照实际的需求来对脉冲波的抖动进行调整。



技术实现要素:

本申请提供一种脉冲波发生装置,以产生抖动可调的脉冲波。

一种实施例中提供一种脉冲波发生装置,包括处理器、抖动脉宽系数确定模块、抖动产生模块和边沿数据确定模块;

所述处理器,用于根据用户输入的抖动脉冲参数计算抖动脉冲配置参数,并将所述抖动脉冲配置参数配置给所述抖动脉宽系数确定模块、所述抖动产生模块和所述边沿数据确定模块;

所述抖动脉宽系数确定模块,用于根据所述抖动脉冲配置参数确定带抖动的脉宽系数,并将所述带抖动的脉宽系数输出给抖动产生模块;

所述抖动产生模块,用于根据所述抖动脉冲配置参数和所述带抖动的脉宽系数确定脉冲波的边沿产生时刻,并在该边沿产生时刻输出相位给所述边沿数据确定模块;

所述边沿数据确定模块,用于根据所述抖动产生模块输出的相位和所述抖动脉冲配置参数确定脉冲波的边沿数据,得到带抖动的数字脉冲波。

依据上述实施例的脉冲波发生装置,由于抖动脉宽系数确定模块可根据抖动脉冲配置参数确定出带抖动的脉宽系数,进而由抖动产生模块根据该带抖动的脉宽系数确定出脉冲波的边沿产生时刻并由边沿数据确定模块确定出此时脉冲波的边沿数据,这样便可通过控制该边沿产生时刻来控制脉冲波相对于其理想位置的偏移,即控制脉冲波抖动的大小;而其中的抖动脉冲配置参数又是由用户输入的抖动脉冲参数计算得到的,从而可以根据用户输入的抖动脉冲参数来调节脉冲波的抖动程度,使得产生的脉冲波的抖动可调。

附图说明

图1为信号的抖动的示意图;

图2为脉冲波的相关参数的示意图;

图3为现有技术中dds产生脉冲波的原理图;

图4为本申请一种实施例的脉冲波发生装置的结构示意图;

图5为本申请一种具体实施例的脉冲波发生装置的结构示意图;

图6为本申请一种具体实施例的产生脉冲波的方法的流程图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。

本文中,脉冲波的相关参数的说明可参见图2,如图2所示,a代表脉冲波的上升沿时间,b代表脉冲波的下降沿时间,c代表脉冲波的脉宽(也可称为占空比),d代表脉冲波的周期,其反映了脉冲的频率,可代表脉冲频率。

目前,普遍采用直接数字频率合成(directdigitalsynthesis,dds)技术来产生脉冲波,其产生脉冲波的原理图可参见图3,频率控制寄存器中存储用户输入的频率控制字ftw,使相位累加器根据ftw在每个时钟周期内进行相位累加,得到一个相位值,接着截取该相位值的高比特位作为波形存储器的地址,得到波形存储器的输出,再经数字模拟转换器(dac)转换后产生所需的脉冲波。采用该技术产生脉冲波时会存在一个系统时钟周期的抖动,而且该抖动的程度无法进行控制。

在本发明实施例中,根据用户输入的抖动脉冲参数计算出抖动脉冲配置参数,再根据该抖动脉冲配置参数确定出带抖动的脉宽系数,接着根据抖动脉冲配置参数和该带抖动的脉宽系数确定出脉冲波的边沿产生时刻,并确定出此时的脉冲波的边沿数据,得到用户所需的带抖动的脉冲波。

实施例一:

请参考图4,图4为本申请一种实施例的脉冲波发生装置的结构示意图,该脉冲波发生装置包括处理器1、抖动脉宽系数确定模块2、抖动产生模块3和边沿数据确定模块4。

具体的,处理器1用于根据用户输入的抖动脉冲参数计算抖动脉冲配置参数,并将该抖动脉冲配置参数配置给抖动脉宽系数确定模块2、抖动产生模块3和边沿数据确定模块4。其中,用户输入的抖动脉冲参数可以包括脉冲波的频率f、脉宽width、上升时间rise、下降时间fall、抖动周期标准差dev和抖动分布模式,dev和抖动分布模式为控制脉冲波抖动的抖动参数。处理器1根据这些脉冲参数计算出的抖动脉冲配置参数包括频率控制字ftw1、ftw2、ftw3和第一脉宽参数p以及随机数系数r,同时将抖动分布模式也作为抖动脉冲配置参数,其中,ftw1与f成正比,ftw1和ftw2的比值与rise成正比且与1/(2*f)成反比,ftw1和ftw3的比值与fall成正比且与1/(2*f)成反比,p根据f、width、rise和fall计算得到,r与dev成正比。

在一种具体实施方式中,ftw1、ftw2、ftw3、p以及r可以由以下公式计算得到:

ftw1的计算公式为:其中的m为系统位宽,fclk为系统时钟;

ftw2的计算公式为:

ftw3的计算公式为:

p的计算公式为:其中,n表示一个周期,代表第二脉宽参数,其取值可根据实际的需求进行设计,但需要保证能够产生脉冲波的上升沿和下降沿;

r的计算公式为:r=k*dev,其中的k为系统参数,取决于系统的实际设计,比如设计中所用器件的定标等。

抖动脉宽系数确定模块2用于根据处理器1得到的抖动脉冲配置参数ftw1、ftw2、ftw3、p和r确定带抖动的脉宽系数,比如,可以通过一定的逻辑运算对这些抖动脉冲配置参数进行运算,得到带抖动的脉宽系数,然后将该带抖动的脉宽系数输出给抖动产生模块3。

抖动产生模块3用于根据抖动脉冲配置参数和带抖动的脉宽系数确定脉冲波的边沿产生时刻,即脉冲波的上升沿时刻或下降沿时刻,并在该边沿产生时刻输出相位给边沿数据确定模块4。边沿数据确定模块4用于根据抖动产生模块3输出的相位和处理器1配置的抖动脉冲配置参数确定脉冲波的边沿数据,得到带抖动的数字脉冲波。

具体的,以图1所示的信号抖动示意图为例,对于理想的脉冲波,其在t1时刻开始产生上升沿。而采用本发明的脉冲波发生装置产生脉冲波时,用户根据需要输入抖动脉冲参数,处理器1则根据该抖动脉冲参数计算出抖动脉冲配置参数,抖动脉宽系数确定模块2会根据抖动脉冲配置参数确定出带抖动的脉宽系数并输出给抖动产生模块3,此时,抖动产生模块3会根据该带抖动的脉宽系数确定出脉冲波的边沿产生时刻,如图1,其在t2时刻开始产生上升沿,这时,对于实际产生的脉冲波,其上升沿产生的时机相对于理想脉冲波将存在t2-t1的时间延后,这时由边沿数据确定模块4确定出脉冲波的边沿数据,进而产生的脉冲波相对于理想位置将有e2的短期偏移,即实际产生的脉冲波会存在抖动,且该抖动的程度由带抖动的脉宽系数决定。

这样,当用户输入的抖动脉冲参数改变时,抖动脉冲配置参数便会改变,确定出的带抖动的脉宽系数也会改变,从而使得脉冲波的边沿产生时刻也随之改变,从而产生所需抖动的脉冲波。如此,可以根据用户输入的抖动脉冲参数来控制脉冲波的边沿产生时刻,得到带有所需抖动的脉冲波,其抖动程度将跟随抖动脉冲参数的改变而改变,从而实现脉冲波抖动的调节。

本实施例提供的脉冲波发生装置,可根据用户输入的抖动脉冲参数确定出带抖动的脉宽系数,进而根据该带抖动的脉宽系数确定出脉冲波的边沿产生时刻,通过控制该边沿产生时刻来控制脉冲波相对于其理想位置的偏移,即通过控制该边沿产生时刻来控制脉冲波抖动的产生以及该抖动的大小,从而能够通过调整抖动脉冲参数来改变脉冲波的抖动程度,产生带有所需抖动的脉冲波,实现对脉冲波的抖动的控制和调节。

实施例二:

基于实施例一,图5示出了一种具体实施例的脉冲波发生装置的结构,该脉冲波发生装置包括处理器1、抖动脉宽系数确定模块2、抖动产生模块3和边沿数据确定模块4。其中,处理器1的工作方式与实施例一中的工作方式相同,此处不再赘述;抖动产生模块3包括第一相位累加器31和比较器32。

第一相位累加器31用于在接收到处理器1计算出的抖动脉冲配置参数后,以ftw1为频率控制字开始运行,并输出相位累加值给比较器32的第一端。

比较器32的第二端连接抖动脉宽系数确定模块2的输出端,该比较器32用于将其第一端的输入与其第二端的输入进行比较,将其第一端的输入大于其第二端的输入的时刻确定为脉冲波的边沿产生时刻,即脉冲波的上升沿时刻或下降沿时刻,并输出相位给边沿数据确定模块4,即将该边沿产生时刻的比较结果输出给边沿数据确定模块4。

具体的,边沿数据确定模块4包括第一乘法器41、第二相位累加器42和边沿数据存储器43。比较器32具体用于将其比较结果输入到第一乘法器41的第一端;该比较器32每次在其第一端的输入大于其第二端的输入时控制抖动脉宽系数确定模块2的输出在第一抖动脉宽系数和第二抖动脉宽系数之间进行轮流切换,并控制第一乘法器41的第二端输入在ftw3/ftw1和ftw2/ftw1之间进行轮流切换,且控制第二相位累加器42的频率控制字在ftw3和ftw2之间进行轮流切换;同时,比较器32还用于在其第二端的输入切换为第二抖动脉宽系数时控制第一相位累加器31的相位累加值减少第二脉宽参数n;其中的第一抖动脉宽系数和第二抖动脉宽系数均为抖动脉宽系数确定模块2确定出的抖动脉宽系数。具体的,比较器32用于将其第一端的输入与其第二端的输入进行比较,当其第一端的输入大于抖动脉宽系数确定模块2输出的第一抖动脉宽系数或第二抖动脉宽系数时,将超出的部分作为比较结果输出给第一乘法器41的第一端;即就是,比较器32对第一相位累加器31的相位累加值和抖动脉宽系数确定模块2输出的抖动脉宽系数进行比较,将相位累加值超出抖动脉宽系数的部分作为比较结果输出给第一乘法器41的第一端。

第一乘法器41用于将其第一端和第二端的输入进行乘法运算,并将运算结果输出给第二相位累加器42。

第二相位累加器42用于以ftw3或ftw2为频率控制字,且以第一乘法器41的运算结果为初始相位运行,在每个时钟周期输出相位给边沿数据存储器43。边沿数据存储器43则以第二相位累加器42输出的相位为脉冲地址,确定出该脉冲地址对应的脉冲波的边沿数据,得到带抖动的数字脉冲波。

实际应用中,边沿数据存储器43中可以预先存储有脉冲地址与脉冲波边沿数据的对应关系,这样便可以以第二相位累加器42输出的相位为脉冲地址,从该对应关系中查找出该地址对应的边沿数据,该对应关系可以由处理器1进行配置。

在上述装置中,抖动脉宽系数确定模块2包括脉宽调制系数产生模块21、寄存器22和加法器23,比较器32的第二端连接抖动脉宽系数确定模块2的输出端具体为:比较器32的第二端与加法器23的输出端连接。

脉宽调制系数产生模块21用于在接收到处理器1计算的抖动脉冲配置参数后,根据抖动脉冲配置参数中的抖动分布模式和随机数系数r产生脉宽调制系数r,并将r输出到加法器23的第一端;比较器32在每次其第一端的输入大于其第二端的输入时控制脉宽调制系数产生模块21更新一次r。具体的,当比较器32比较出其第一端输入的相位累加值大于其第二端输入的第一抖动脉宽系数或第二抖动脉宽系数时,控制脉宽调制系数产生模块21更新一次r。

寄存器22的输出端与加法器23的第二输入端连接,该寄存器22用于存储p和n,并在比较器32的第一端的输入每次大于比较器32的第二端的输入时将其输出端的输出在p和n之间进行轮流切换。

加法器23用于将其第一端和第二端的输入进行加法运算,并将运算结果输入给比较器32的第二端。

其中,第一抖动脉宽系数为p+r,第二抖动脉宽系数为n+r。其中的n小于或等于第一相位累加器31的相位上限的一半,以保证脉冲波发生装置能够产生脉冲波的上升沿和下降沿。在实际的应用中,可以取第一相位累加器31的相位上限为720度,n的值为360度。

基于此,当寄存器22输出p时,加法器23会将脉宽调制系数产生模块21产生的r与p相加,得到第一抖动脉宽系数(即带有抖动的脉宽系数)p+r输入给比较器32;当比较器32比较出第一相位累加器31输出的相位累加值大于p+r时,将相位累加值超出p+r的部分作为比较结果输出给第一乘法器41,同时控制寄存器22输出n,且更新一次r;此时,加法器23输出第二抖动脉宽系数n+r。当比较器32又比较出第一相位累加器31输出的相位累加值大于n+r时,将相位累加值超出n+r的部分作为比较结果输出给第一乘法器33,同时控制第一相位累加器31的相位累加值减少n,控制寄存器22输出p,且更新一次r;在比较器32比较出第一相位累加器31输出的相位累加值大于p+r或n+r时,比较器32还会控制第一乘法器41的第二端输入在ftw3/ftw1和ftw2/ftw1之间进行轮流切换,且控制第二相位累加器42的频率控制字在ftw3和ftw2之间进行轮流切换;之后,如此循环该过程。在该过程中,由于ftw2是与脉冲波的上升时间rise成正比的,ftw3是与脉冲波的下降时间fall成正比的,因此可以通过ftw2和ftw3分别来控制脉冲波的上升沿时间和下降沿时间;进一步的,通过比较器32比较第一相位累加器31输出的相位累加值和加法器23输出的p+r或n+r,以比较结果来确定脉冲波的上升沿或下降沿的产生时机,从而可以控制脉冲波的上升沿与下降沿的产生,进而通过上升沿和下降沿的产生时机来控制脉冲波的脉宽width,比如在0秒时刻产生第一个上升沿,在1秒时刻产生第一个下降沿,则脉冲波的脉宽便为1秒。

在一具体的实施方式中,脉宽调制系数产生模块21包括随机数产生模块211和第二乘法器212。其中,随机数产生模块211用于在接收到抖动脉冲配置参数后根据抖动分布模式产生随机数a,并将该随机数a输出给第二乘法器212的第一端;第二乘法器212的第二端输入r,该第二乘法器212用于将其第一端和其第二端的输入进行乘法运算,得到脉宽调制系数r(即r=a*r),并将得到的r输出到加法器23的第一端。这时,当比较器32比较出第一相位累加器31输出的相位累加值大于p+r或n+r时,比较器32控制脉宽调制系数产生模块21更新一次r即为:比较器32控制随机数产生模块211根据抖动分布模式重新产生一次随机数,相当于对a进行更新。

在实际应用中,随机数产生模块211可以根据设置的抖动分布模式产生各种按不同规律分布的随机数据,比如按照高斯分布的随机数据,其产生的随机数的大小可以按照抖动分布模式分布在0至1之间。

基于图5所示的脉冲波发生装置,图6示出了一种产生脉冲波的方法的流程图,该方法可以包括以下步骤:

步骤101:计算抖动脉冲配置参数。

处理器1根据用户输入的抖动脉冲参数f、width、rise、fall、dev和抖动分布模式,利用抖动脉冲配置参数ftw1、ftw2、ftw3、p以及r的计算公式计算出抖动脉冲配置参数,比如利用实施例一所描述的计算公式计算抖动脉冲配置参数,同时将抖动分布模式也作为抖动脉冲配置参数。处理器1计算出抖动脉冲配置参数之后,将该抖动脉冲配置参数配置给抖动脉宽系数确定模块2、抖动产生模块3和边沿数据确定模块4。

步骤102:第一相位累加器运行。

抖动产生模块3接收到抖动脉冲配置参数之后,第一相位累加器31以ftw1为频率控制字、以0为初始相位且以预设的a为相位上限开始运行,在系统时钟的作用下累加ftw1并输出相位累加值给比较器32的第一端,比如当前时刻第一相位累加器31的输出相位是a1,则下一个系统时钟将输出a1+ftw1;在实际应用中,这里的相位上限a可以取为720度。

步骤103:产生脉宽调制系数r。

随机数产生模块211接收到控制抖动分布的指令,即接收到抖动脉冲配置参数中的抖动分布模式,根据该抖动分布模式输出一个符合分布规律、且大小在0至1之间的随机数a,并将该随机数a输入给第二乘法器212的第一端,该分布规律比如可以是高斯分布;此时,第二乘法器212将该随机数a和抖动脉冲配置参数中的随机数系数r进行乘法运算,得到脉宽调制系数r,即r=a*r,然后将r输入给第二乘法器212的第一端。

步骤104:计算第一抖动脉宽系数。

寄存器22输出p给加法器23,加法器23将p和第二乘法器212输出的r进行加法运算,得到带有抖动的脉宽系数p+r,即得到第一抖动脉宽系数,然后将p+r输入给比较器32的第二端。

步骤105:比较器按第一预设规则进行比较控制。

具体的,比较器32将第一相位累加器31输出的相位累加值和加法器23输出的p+r进行比较,当相位累加值大于p+r时,比较器32将该相位累加值超出p+r的部分作为比较结果输出给第一乘法器41,同时控制随机数产生模块211根据抖动分布模式更新随机数a,控制寄存器22输出n给加法器23,控制第一乘法器41的第二端输入为ftw3/ftw1,控制第二相位累加器42的频率控制字为ftw3。此时,第二乘法器212会输出新的r,加法器23输入给比较器32第二端的数据将切换为n+r,这时,比较器32开始将第一相位累加器31输出的相位累加值和加法器23输出的n+r进行比较。实际应用中,n的取值小于或等于第一相位累加器31的相位上限的一半。在一具体实施方式中,可以取第一相位累加器31的相位上限为720度,n取为360度。

步骤106:计算第二相位累加器的初始相位。

第一乘法器33将其第一端的输入和其第二端的输入进行乘法运算,并将运算结果作为第二相位累加器42的初始相位输出给第二相位累加器42。

步骤107:确定脉冲地址。

第二相位累加器42以第一乘法器41输出的运算结果为初始相位,以比较器32确定的频率控制字为频率控制字开始运行,在系统时钟fclk的作用下,将每个时钟输出的相位作为脉冲地址输出给边沿数据存储器43。

步骤108:获取边沿数据。

边沿数据存储器43以第二相位累加器42输出的相位作为脉冲地址,读出该脉冲地址对应的脉冲波的边沿数据,得到带抖动的数字脉冲波。具体的,边沿数据存储器43中可以预先存储脉冲地址与脉冲波边沿数据的对应关系,比如,边沿数据存储器43中存储有一组上升沿数据和一组下降沿数据,其存储方式为每一个脉冲地址对应一个边沿数据;当第二相位累加器42以第一乘法器41的运算结果为初始相位运行时,每个时钟周期输出一个相位给边沿数据存储器43,边沿数据存储器43会从上述的对应关系中查找到该相位对应的一个边沿数据,第二相位累加器42从初始相位运行到达到其相位上限的过程中会输出多个相位,这多个相位对应多个边沿数据,从而可得到脉冲波的上升沿数据或下降沿数据。实际应用中,边沿数据存储器43中可以只存储一组上升沿数据,该组上升沿数据倒序排列后即为一组下降沿数据,这样,可以由每两个脉冲地址对应一个上升沿数据,相当于每一个脉冲地址对应一个边沿数据;类似的,边沿数据存储器43中也可以只存储一组下降沿数据。

步骤109:比较器按第二预设规则进行比较控制。

具体的,当比较器32比较出第一相位累加器31输出的相位累加值大于加法器23输出的n+r时,再次将相位累加值超出n+r的部分作为比较结果输出给第一乘法器41,同时控制第一相位累加器31的相位累加值减少n,控制随机数产生模块211根据抖动分布模式更新随机数a,控制寄存器22输出p给加法器23,控制第一乘法器33的第二端输入为ftw2/ftw1,控制第二相位累加器42的频率控制字为ftw2。此时,第二乘法器212会输出新的r,加法器23输入给比较器32第二端的数据将切换为p+r,这时,比较器32又会将第一相位累加器31输出的相位累加值和加法器23输出的p+r进行比较。

步骤110:执行步骤106~步骤108。

此后,循环执行步骤103至步骤110的过程。

依据上述脉冲波的产生过程,可根据用户输入的抖动脉冲参数确定出带抖动的脉宽系数,进而根据该带抖动的脉宽系数确定出脉冲波的边沿产生时刻,通过控制该边沿产生时刻来控制脉冲波相对于其理想位置的偏移,即通过控制该边沿产生时刻来控制脉冲波抖动的产生以及该抖动的大小,从而获得带有所需抖动的脉冲波,且该抖动可调节。在该过程中,一方面,第二相位累加器的初始相位越大,产生的脉冲波的边沿的第一个点越大,脉冲波在一个时钟周期内的波形越靠前,同样的,该初始相位越小,脉冲波在一个时钟周期内的波形越靠后,可以使用该提前量或延后量来抵消现有技术中采用dds原理产生脉冲波时存在的一个时钟周期的波形抖动,这样会使得最终产生的脉冲波的抖动即为用户所需的抖动,能够更好地通过调节抖动脉冲参数来改变脉冲波的抖动程度。另一方面,可以通过ftw2和ftw3分别来控制脉冲波的上升沿时间和下降沿时间,同时通过使用比较器对第一相位累加器输出的相位累加值与带抖动的脉宽系数进行比较,以比较结果来确定脉冲波的上升沿或下降沿的产生时机,从而控制脉冲波的上升沿与下降沿的产生,进而可以通过上升沿和下降沿的产生时机来控制脉宽。再者,带抖动的脉宽系数是由脉宽调制系数与脉宽参数相加得到的,该脉宽调制系数与随机数成比例,所以带抖动的脉宽系数是随机可调的,从而使得脉冲波的上升沿和下降沿的产生时机可调,进而产生可调的随机抖动,且可以通过调整抖动分布模式让随机数产生模块产生各种分布规律的随机数来控制抖动的分布规律,使得脉冲波的抖动能够按照用户的需求进行调整。另外,脉冲波的抖动范围的上限由脉冲波的周期来决定,一般不大于该周期的1/4,而抖动的下限和调整的步进值由脉冲波最小的上升沿或最小的下降沿的提前量决定,该提前量可以通过调整第二相位累加器的初始相位来实现,抖动的步进量可以达到ps(皮秒)量级。

实际应用中,上述各实施例中的处理器可以是嵌入式处理器,主要实现用户交互、抖动脉冲参数的设置、抖动脉冲配置参数的计算等功能。抖动脉宽系数确定模块、抖动产生模块和边沿数据确定模块可以由现场可编程门阵列(field-programmablegatearray,fpga)来实现。

实际应用中,上述各实施例的脉冲波发生装置还包括数模转换器(dac)和模拟通道,在得到带抖动的数字脉冲波之后,边沿数据确定模块会将该带抖动的数字脉冲波发送给dac,由dac将该带抖动的数字脉冲波转换为模拟信号(即带抖动的模拟脉冲波)之后,经过模拟通道输出该带抖动的模拟脉冲波。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1