本发明涉及usb供电和通讯领域及信号测试技术领域,尤其是一种基于usb的标频信号发生和测试系统及工作方法。
背景技术:
usb(universalserialbus,通用串口总线)为解决即插即用需求而诞生,支持热插拔。usb协议版本有usb1.0、usb1.1、usb2.0、usb3.0等。usb设备有两种供电方式,其一为自供电设备,设备从外部电源获取工作电压;其二为总线供电设备:设备从5vvbus取电。usb1.0和usb1.1支持1.5mb/s的低速模式和12mb/bs的全速模式。在usb2.0以上支持480mb/s的高速模式。usb3.0最终成为了大部分mac和pc的标准接口,带来了速度上的极大提升,5gbps的传输速率超过上代接口10倍还多。
在硬件设计验证过程中,需要进行标频信号采集测试和输出标频信号是否正确的测试。其中,标频采集中需要信号发生器产生标频信号以供采集,标频测试是对硬件板卡输出标频信号的频率、占空比等参数是否符合要求进行测试。由于在测试过程中,标频信号的应用无处不在,所以急需要一个便携设备,可以随时随地,只用一个usb接口即可完成信号采集和输出的工作。
技术实现要素:
本发明的目的在于提供一种基于usb的标频信号发生和测试系统及工作方法,它可以解决现有技术中存在的问题,是一种结构简单、使用及携带方便且操作简单的系统及方法。
本发明的技术方案:一种基于usb的标频信号发生和测试系统,其特征在于它包括板卡、单片机单元、fpga控制单元、高精度晶体振荡器单元、输出驱动器单元、输入驱动器单元、差分转单端信号电路单元和对外连接器单元;其中,所述单片机单元、fpga控制单元、高精度晶体振荡器单元、输出驱动器单元、输入驱动器单元、差分转单端信号电路单元和对外连接器单元均集成安装在板卡上;所述单片机单元带usb接口,与pc机之间呈双向连接;所述usb接口从板卡上引出,便于与pc机通讯,且由pc机向板卡提供电源;所述fpga控制单元的输入端连接高精度晶体振荡器单元,同时还与单片机单元、输出驱动器单元、输入驱动器单元和差分转单端信号电路单元之间呈双向连接;所述对外连接器单元接收单端输入信号,与输入驱动器单元连接,输出的信号接入fpga控制单元;所述外连接器单元接收差分输入信号,经差分转单端信号电路单元后接入fpga控制单元;所述单端信号电路单元输出单端输出信号,最后由fpga控制单元输出,经过输出驱动器单元与对对外连接器单元连接。
所述板卡尺寸为7.0cm×5.0cm,外部引出单片机单元的usb接口,为板卡供电的同时实现与pc机的通讯;同时,引出对外连接器单元,接入标频测试信号和信号发生器发出的信号。
所述单片机单元为带usb接口的pic24fj128gb210芯片;单片机单元通过usb接口(接口信号a_usb_p+、a_usb_p+)与外部usb接口相连,主机与本板通过usb通讯协议通信。单片机单元通过epmp(psp)并行通讯接口与fpga相连接,实现二者并行通讯。单片机工作时钟由12mhz的晶振提供。这里从单片机信号包括rs-232串口调试信号,单片机编程接口信号(下载程序和调试用接口信号),usb接口信号,并行通讯接口信号。。
所述输入驱动器单元是sn74lvc1g14驱动芯片,与fpga控制单元及对外连接器单元的输出端连接,用于采集外部单端输入信号;板卡预设两路单端信号输入,具体连接关系为由对外连接器db9引入两路单端输入信号(sig_in1和sig_in2),经过sn74lvc1g14驱动芯片增加一级驱动能力后,接入fpga(接入信号名称sig1_fpga和sig2_fpga)供采集使用。
所述差分转单端信号电路单元是sp485een芯片或hcpl0631芯片fpga及对外连接器的输入端连接,用于采集外部差分输入信号。板卡预设引入一对差分信号(diff_sig1+、diff_sig1-)通过sp485een芯片实现差分转单端后由fpga采集输入信号,另一对差分信号(diff_sig2+、diff_sig2-)通过hcpl-0631-000e芯片实现差分转单端后由fpga(接入信号名称diff_in1和diff_in2)采集输入信号。这个预设两个差分转单端芯片,还有许多差分转单端功能芯片,可根据具体工程项目中应用选择相应芯片。
所述输出驱动单元电路是把fpga输出的信号(信号名称为sout1_fpga和sout2_fpga),经sn74lvc1g125dbvr芯片驱动后输出至对外连接器db9。预设sig_out1、sig_out2两路信号作为输出信号输出至对外连接器。
所述对外连接器是db9连接器。提供标频信号的输入输出接口,其中预设2路单端输入信号(sig_in1和sig_in2)、2路差分输入信号(diff_sig1+/-、diff_sig2+/-)、2路单端输出信号(sig_out1和sig_out2),gnd信号为对应单端信号接地点。
所述fpga控制单元是ep3c5e144i7n控制芯片,与高精度晶体振荡器单元连接;所述fpga控制单元输出单端信号,经由输出驱动器单元,发送给对外连接器,并将输入驱动器输入信号作标频信号采集。
一种基于usb的标频信号发生和测试系统的工作方法,其特征在于它包括以下步骤:
(1)外部单端输入信号和外部差分输入信号分别通过输入驱动器单元和差分转单端信号输入电路单元与fpga控制单元连接;
(2)fpga控制单元将对高精度晶体谐振器进行倍频处理,利用fpga控制单元内部自带的pll结构,将fpga控制单元计数用时钟倍频至100mhz,即以10ns的精度对输入信号进行采集,以10ns为单位进行计数操作,fpga控制单元上传个采集信号的高电平计数值,低电平计数值。标频信号测试的具体实现为输入标频信号经输入驱动器或差分转单端电路后以单端脉冲形式输入到fpga控制单元,fpga控制单元以100mhz为基准时钟对输入脉冲进行计数,其中fpga控制单元中会对输入脉冲信号相邻的上升沿和下降沿的时间进行计数(即高电平计数值),对输入脉冲信号相邻的下降沿和上升沿的时间进行计数(即低电平计数值)。输出标频信号由fpga控制单元接收pc机指令输出指定高低电平(及不同占空比)输出。如pc机和单片机之间约定通讯协议,收到指定指令(即fpga控制单元采集到1地址上数据为0x1000,即输出占空比50%的1khz信号;采集到1地址上数据为0x1001,即输出占空比20%的1khz信号;可根据需求设置占空比和频率的通讯协议)。
(3)单片机单元对步骤(2)中采集的信号的计数值进行收集,在上位pc机上,对占空比、频率或周期值进行实时显示;具体计算由单片机完成,包括根据占空比计算,即占空比=高电平计数值/(电平计数值+低电平计数值);频率=1/(高电平计数值+低电平计数值);周期=高电平计数值+低电平计数值。
(4)在上位pc机上,可以根据标频信号的输出指示,确认单端标频信号的输出和停止输出。
所述步骤(2)中以10ns为单位进行计数值操作包括对每个周期高电平的计数和低电平的计数。
所述步骤(3)中上位pc机上对占空比、频率或周期值进行显示是以1s为间隔的滚屏显示,且显示最近的5次计数值和最大计数值及最小计数值。
所述步骤(4)中的单端标频信号为1khz,也可以根据测试需要,通过改写fpga相应的程序值进行设置。
本发明的优越性在于:采用高精度晶体谐振器,再通过fpga内部pll,采集精度可达10ns;单片机与pc机的连接在硬件上由usb接口连接,同时由usb接口取5v电为板卡供电;结构简单、使用及携带方便且操作简单。
附图说明
图1是本发明所涉一种基于usb的标频信号发生和测试系统的整体结构示意框图。
图2是本发明所涉一种基于usb的标频信号发生和测试系统中单片机单元的具体连接原理示意图。
图3是本发明所涉一种基于usb的标频信号发生和测试系统中单片机单元的架构示意图。
图4是本发明所涉一种基于usb的标频信号发生和测试系统中输入驱动器单元的具体连接原理示意图。
图5是本发明所涉一种基于usb的标频信号发生和测试系统中差分转单端信号电路单元的具体连接原理示意图。
图6是本发明所涉一种基于usb的标频信号发生和测试系统中输出驱动单元电路的具体连接原理示意图。
图7是本发明所涉一种基于usb的标频信号发生和测试系统中对外连接器的具体连接原理示意图。
图8是本发明所涉一种基于usb的标频信号发生和测试系统中fpga控制单元的具体连接原理示意图。
图9是本发明所涉一种基于usb的标频信号发生和测试系统中fpga控制单元的信号配置连接原理示意图。
具体实施方式
实施例:一种基于usb的标频信号发生和测试系统,其特征在于它包括板卡、单片机单元、fpga控制单元、高精度晶体振荡器单元、输出驱动器单元、输入驱动器单元、差分转单端信号电路单元和对外连接器单元;其中,所述单片机单元、fpga控制单元、高精度晶体振荡器单元、输出驱动器单元、输入驱动器单元、差分转单端信号电路单元和对外连接器单元均集成安装在板卡上;所述单片机单元带usb接口,与pc机之间呈双向连接;所述usb接口从板卡上引出,便于与pc机通讯,且由pc机向板卡提供电源;所述fpga控制单元的输入端连接高精度晶体振荡器单元,同时还与单片机单元、输出驱动器单元、输入驱动器单元和差分转单端信号电路单元之间呈双向连接;所述对外连接器单元接收单端输入信号,与输入驱动器单元连接,输出的信号接入fpga控制单元;所述外连接器单元接收差分输入信号,经差分转单端信号电路单元后接入fpga控制单元;所述单端信号电路单元输出单端输出信号,最后由fpga控制单元输出,经过输出驱动器单元与对对外连接器单元连接。
所述板卡尺寸为7.0cm×5.0cm,外部引出单片机单元的usb接口,为板卡供电的同时实现与pc机的通讯;同时,引出对外连接器单元,接入标频测试信号和信号发生器发出的信号。
所述单片机单元为带usb接口的pic24fj128gb210芯片,芯片内部结构框图2、图3所示,在电路上的具体连接关系如附图2,单片机单元通过usb接口(接口信号a_usb_p+、a_usb_p+)与外部usb接口相连,主机与本板通过usb通讯协议通信。单片机单元通过epmp(psp)并行通讯接口与fpga控制单元相连接,实现二者并行通讯。单片机工作时钟由12mhz的晶振提供。这里从单片机信号包括rs-232串口调试信号,单片机编程接口信号(下载程序和调试用接口信号),usb接口信号,并行通讯接口信号。
所述输入驱动器单元是sn74lvc1g14驱动芯片与fpga控制单元及对外连接器的输出端连接,用于采集外部单端输入信号。具体电路如附图4,板卡预设两路单端信号输入,具体连接关系为由对外连接器db9引入两路单端输入信号(sig_in1和sig_in2),经过sn74lvc1g14驱动芯片增加一级驱动能力后,接入fpga控制单元(接入信号名称sig1_fpga和sig2_fpga)供采集使用。
所述差分转单端信号电路单元是sp485een芯片或hcpl0631芯片fpga控制单元及对外连接器的输入端连接,用于采集外部差分输入信号。具体电路如附图5,板卡预设引入一对差分信号(diff_sig1+、diff_sig1-)通过sp485een芯片实现差分转单端后由fpga控制单元采集输入信号,另一对差分信号(diff_sig2+、diff_sig2-)通过hcpl-0631-000e芯片实现差分转单端后由fpga控制单元(接入信号名称diff_in1和diff_in2)采集输入信号。这个预设两个差分转单端芯片,还有许多差分转单端功能芯片,可根据具体工程项目中应用选择相应芯片。
所述输出驱动单元电路是把fpga控制单元输出的信号(信号名称为sout1_fpga和sout2_fpga),经sn74lvc1g125dbvr芯片驱动后输出至对外连接器db9。具体电路连接如附图6,预设sig_out1、sig_out2两路信号作为输出信号输出至对外连接器。
所述对外连接器是db9连接器。提供标频信号的输入输出接口,具体电路如附图7,其中预设2路单端输入信号(sig_in1和sig_in2)、2路差分输入信号(diff_sig1+/-、diff_sig2+/-)、2路单端输出信号(sig_out1和sig_out2),gnd信号为对应单端信号接地点。
所述fpga控制单元是ep3c5e144i7n控制芯片,与高精度晶体振荡器单元连接;所述fpga控制单元输出单端信号,经由输出驱动器单元,发送给对外连接器,并将输入驱动器输入信号作标频信号采集。具体电路连接如附图8,图中信号为与单片机单元并行总线的连接、与输入输出驱动器及差分转单端单元连接的信号、与高精度晶体谐振器连接的示意图,附图9中信号为fpga控制单元的配置信号的连接。
一种基于usb的标频信号发生和测试系统的工作方法,其特征在于它包括以下步骤:
(1)外部单端输入信号和外部差分输入信号分别通过输入驱动器单元和差分转单端信号输入电路单元与fpga控制单元连接;
(2)fpga控制单元将对高精度晶体谐振器进行倍频处理,利用fpga控制单元内部自带的pll结构,将fpga控制单元计数用时钟倍频至100mhz,即以10ns的精度对输入信号进行采集,以10ns为单位进行计数操作,fpga上传个采集信号的高电平计数值,低电平计数值。标频信号测试的具体实现为输入标频信号经输入驱动器或差分转单端电路后以单端脉冲形式输入到fpga控制单元,fpga控制单元以100mhz为基准时钟对输入脉冲进行计数,其中fpga中会对输入脉冲信号相邻的上升沿和下降沿的时间进行计数(即高电平计数值),对输入脉冲信号相邻的下降沿和上升沿的时间进行计数(即低电平计数值)。输出标频信号由fpga控制单元接收pc机指令输出指定高低电平(及不同占空比)输出。如pc机和单片机之间约定通讯协议,收到指定指令(即fpga采集到1地址上数据为0x1000,即输出占空比50%的1khz信号;采集到1地址上数据为0x1001,即输出占空比20%的1khz信号;可根据需求设置占空比和频率的通讯协议)。
(3)单片机单元对步骤(2)中采集的信号的计数值进行收集,在上位pc机上,对占空比、频率或周期值进行实时显示;具体计算由单片机完成,包括根据占空比计算,即占空比=高电平计数值/(电平计数值+低电平计数值);频率=1/(高电平计数值+低电平计数值);周期=高电平计数值+低电平计数值。
(4)在上位pc机上,可以根据标频信号的输出指示,确认单端标频信号的输出和停止输出。
所述步骤(2)中以10ns为单位进行计数值操作包括对每个周期高电平的计数和低电平的计数。
所述步骤(3)中上位pc机上对占空比、频率或周期值进行显示是以1s为间隔的滚屏显示,且显示最近的5次计数值和最大计数值及最小计数值。
所述步骤(4)中的单端标频信号为1khz,也可以根据测试需要,通过改写fpga控制单元相应的程序值进行设置。
下面结合实施例及其附图对本发明进一步详细说明。
本发明设计一种具有标频信号发生器和测试模块的便携usb设备的实现方法,具体为:采用具有usb接口的处理器,以单片机pic24fj128gb210为例,usb接口一端可采用方头usb接口连接器,一般usb仿真器采用方头usb接口与仿真器连接,对接电脑一端为扁口usb接口连接器,通过通用usb线缆连接至pc机,设备通过usb接口供电的同时实现与pc机的通讯。
单片机芯片的pmp接口连接到fpga控制单元(以ep3c5e144i7n为例)上,fpga控制单元同时连接高精度晶体振荡器,且外部输入差分或单端信号均可以通过相应处理电路接至fpga控制单元,实现频率及占空比的采集和指定频率的输出;其中,外部单端输入信号由连接器输入经由输入驱动器芯片(以sn74lvc1g14为例)驱动后接到fpga控制单元上,外部差分输入信号由连接器输入经由差分转单端芯片(以sp485een、hcpl0631为例)后接入fpga控制单元,由此完成信号输入。标频信号发生器为由fpga输出单端信号后,经由输出驱动器(以1g125为例)后输出到连接器。对外连接器可选价格低廉的db9连接器。具体原理框图及电路图可见附件。这里的待测试标频信号可以是rs-422串口通讯信号。
pic24fj128gb210为具有usb接口的单片机芯片,软件编程及硬件电路设计简单,可操作性强。可通过usb接口完成基本的通讯。
fpga控制单元可选用ep3c5e144i7n,芯片封装为表贴芯片,焊接简单,且fpga中具有pll资源,可实现倍频,提高测试精度。fpga控制单元可根据实际需要输出指定占空比、频率的标频信号信号,也可对输入的标频信号对占空比和频率进行采集。
sn74lvc1g14、1g125芯片可增加信号的驱动能力,为输出信号提供一定的输出电流,为输入信号供fpga控制单元处理提供一定的驱动能力,标频信号的输出提供一定的驱动能力。
sp485een芯片为差分转单端芯片,此芯片可满足对差分标频信号进入fpga采集的功能。
供电电路说明:电源芯片apl5916实现5v转3.3v、5v转2.5v,5v转1.2v,为fpga实现io、pll及核电供电。同时也提供了3.3v给单片机供电。5v电取自usb接口。上电复位电路可有tps3823实现,上电先有一个200ms的低电平为各个设备统一复位后,开始电路工作。
工作原理详述:外部信号经由处理电路(差分转单端、输入驱动器)后接入fpga控制单元,fpga控制单元上接有的50mh高精度晶体振荡器(精度高达1ppm),再由fpga控制单元内部自带的pll,将其倍频至100mhz,以10ns的精度对输入信号进行采集,以10ns为单位的计数值,其中包括每个周期的高电平计数值,低电平计数值,经由pmp总线被单片机采集,并在pc机界面显示,具体占空比,及频率(或周期值)由上述计数值计算后在界面上以1s为间隔进行滚屏显示,显示最近5次值,最大值最小值也在界面显示,具体的计算由单片机完成,占空比及频率(或周期)实时计算显示。pc机界面上有标频信号输出指示,点击开始输出后,单端标频信号(1khz)输出,按下停止按钮后停止输出(注:这里的标频信号可根据具体需要进行设置,具体更改fpga控制单元代码即可实现)。单片机与pc机的连接在硬件上由usb接口连接,同时由usb接口取5v电为板卡供电。软件编写专有单片机驱动程序,通过pc机界面实现控制和显示。
以上实施例仅是对本发明具有标频信号发生器和测试模块的便携usb设备具体应用例子,并不、限制本申请权利要求。凡是在本申请权利要求技术方案上进行的修改和非本质改进的,均在本申请权利要求保护范围之内。
本发明未述及之处适用于现有技术。