一种基于FPGA的USB2.0协议分析仪及分析方法技术

技术编号:20915954 阅读:20 留言:0更新日期:2019-04-20 09:34
本发明专利技术提供一种基于FPGA的USB2.0协议分析仪及分析方法,差分信号采样输入模块用于采集被测设备在正常工作情况下USB2.0差分总线上传输的数据;逻辑控制装置用于实现USB2.0协议分析仪的枚举,从采样前端读取采样结果,将数据缓冲至数据存储器,并将采样数据以预设大小的USB数据包为单位,通过主机接口上传给监控主机。能够对高速和全速USB设备差分数据总线低压差分信号进行实时采样和分析,利用硬件的并发处理特性克服了采样死区问题,解决了因不同USB接口传输相位差引起的数据积累和丢包问题,降低了对主处理器性能的要求,减小了设计成本,为USB系统开发与测试提供了一种有效支持。

A USB2.0 Protocol Analyzer Based on FPGA and Its Analysis Method

The invention provides a USB2.0 protocol analyzer and analysis method based on FPGA. The differential signal sampling input module is used to collect data transmitted by the device under test on the USB2.0 differential bus under normal working conditions. The logic control device is used to enumerate the USB2.0 protocol analyzer, read the sampling results from the sampling front end, buffer the data to the data memory, and pre-process the sampled data. Set the size of the USB data package as a unit and upload it to the monitoring host through the host interface. It can sample and analyze the differential data bus low-voltage differential signals of high-speed and full-speed USB devices in real-time. It overcomes the dead-time problem of sampling by using the concurrent processing characteristics of hardware, solves the problem of data accumulation and packet loss caused by the phase difference of transmission between different USB interfaces, reduces the performance requirements of the main processor, reduces the design cost, and provides a basis for the development and testing of USB systems. Effective support.

【技术实现步骤摘要】
一种基于FPGA的USB2.0协议分析仪及分析方法
本专利技术涉及计算机硬件领域,更为具体涉及一种基于FPGA的USB2.0协议分析仪及分析方法。
技术介绍
通用串行总线USB(UniversalSerialBus)因其通用性,高速型和即插即用等特性,成为计算机外设普遍采用的数据传输接口,然而,由于USB总线采用NRZI编码格式和无时钟同步的差分数据传输方式,其总线活动内容对用户透明性较高,再加之USB协议本身的复杂性,使得USB主机控制器、USB设备、USB固件程序和USB驱动程序开发工作十分困难,开发周期一般较长,另一方面,随着USB总线成为主流的数据传输接口,USB设备的测试和维修问题也日益突出,而目前用于USB设备测试的逻辑分析仪或协议分析仪类设备价格普遍昂贵,部分仪器有严重的采样死区,难以满足开发者的应用需求。
技术实现思路
为了克服上述现有技术中的不足,本专利技术提供一种基于FPGA的USB2.0协议分析仪,包括:差分信号采样输入模块,逻辑控制装置,主机接口以及数据存储器;差分信号采样输入模块和数据存储器分别与逻辑控制装置连接;差分信号采样输入模块用于采集被测设备在正常工作情况下USB2.0差分总线上传输的数据;逻辑控制装置用于实现USB2.0协议分析仪的枚举,从采样前端读取采样结果,将数据缓冲至数据存储器,并将采样数据以预设大小的USB数据包为单位,通过主机接口上传给监控主机。优选地,逻辑控制装置包括:FPGA主控制器模块、控制FIFO模块以及控制接口;控制FIFO模块与FPGA主控制器模块连接;FPGA主控制器模块用于从差分信号采样输入模块读取采集的差分阻抗数据,并将读取的差分阻抗数据缓冲在数据存储器中;控制FIFO模块将FPGA主控制器模块配置为以先进先出的方式从数据存储器中读取差分阻抗数据进行处理;将处理后的数据缓存在数据存储器中,同时以先进先出的方式从数据存储器中将处理后的数据通过主机接口将差分阻抗数据传输至监控主机。优选地,差分信号采样输入模块采用非侵入式探测方式,采集差分总线上的差分阻抗;差分信号采样输入模块的前端差分放大器的差分输出阻抗满足90ohm±15%的精度要求。优选地,差分信号采样输入模块采用高速差分放大器AD8352对差分阻抗进行采样。优选地,逻辑控制装置还包括:USB物理层接口芯片,在差分信号采样输入模块串行采样后,选用USB物理层接口芯片CY7C68000将串行差分信号转换为字节宽度的并行数据。优选地,FPGA主控制器模块选用Altera的CYCLONE系列FPGA芯片EP1C12;数据存储器采用IDT公司的高速异步FIFO作为数据缓冲器。优选地,逻辑控制装置的协议层和固件层处理采用基于FPGA和VHDL语言的纯硬件电路实现。一种基于FPGA的USB协议分析方法,方法包括:差分信号采样输入模块采集差分总线上的差分阻抗;逻辑控制装置从差分信号采样输入模块读取采集的差分阻抗数据,并对差分阻抗数据进行处理,处理后通过主机接口将差分阻抗数据传输至监控主机;逻辑控制装置还用于将读取的采集差分阻抗数据以及处理后差分阻抗数据储存至数据存储器。优选地,FPGA主控制器模块从差分信号采样输入模块读取采集的差分阻抗数据,并将读取的差分阻抗数据缓冲在数据存储器中;控制FIFO模块将FPGA主控制器模块配置为以先进先出的方式从数据存储器中读取差分阻抗数据进行处理;将处理后的数据缓存在数据存储器中,同时以先进先出的方式从数据存储器中将处理后的数据通过主机接口将差分阻抗数据传输至监控主机。从以上技术方案可以看出,本专利技术具有以下优点:本专利技术可在不影响被测设备正常工作的情况下将差分总线上的活动内容解码后上传至PC机供上层应用程序分析,它采用高速差分放大器解决了高速低压差分信号的探测问题;选用兼容USB2.0协议高速和全速模式的模拟收发器实现数据的串并转换,提高了系统处理能力;利用可编程逻辑器件的并发处理机制和外扩高速异步FIFO有效克服了采样死区问题,其次协议层和固件层处理采用基于FPGA和VHDL语言的纯硬件电路实现,降低了对主处理器性能的要求,有效减小了设计成本。附图说明为了更清楚地说明本专利技术的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为基于FPGA的USB2.0协议分析仪示意图;图2为逻辑控制装置示意图;图3为基于FPGA的USB协议分析方法流程图。具体实施方式本专利技术提供一种基于FPGA的USB协议分析仪,如图1和图2所示,包括:差分信号采样输入模块1,逻辑控制装置2,主机接口3以及数据存储器4;差分信号采样输入模块1和数据存储器4分别与逻辑控制装置2连接;差分信号采样输入模块1用于采集被测设备在正常工作情况下USB2.0差分总线上传输的数据;逻辑控制装置2用于实现USB2.0协议分析仪的枚举,从采样前端读取采样结果,将数据缓冲至数据存储器,并将采样数据以预设大小的USB数据包为单位,通过主机接口3上传给监控主机。这里所描述的技术可以实现在硬件,软件,固件或它们的任何组合。所述的各种特征为模块,单元或组件可以一起实现在集成逻辑装置或分开作为离散的但可互操作的逻辑器件或其他硬件设备。在一些情况下,电子电路的各种特征可以被实现为一个或多个集成电路器件,诸如集成电路芯片或芯片组。本专利技术可在不影响被测设备正常工作的情况下将差分总线上的活动内容解码后上传至PC机供上层应用程序分析,它采用高速差分放大器解决了高速低压差分信号的探测问题;选用兼容USB2.0协议高速和全速模式的模拟收发器实现数据的串并转换,提高了系统处理能力;利用可编程逻辑器件的并发处理机制和外扩高速异步FIFO有效克服了采样死区问题,其次协议层和固件层处理采用基于FPGA和VHDL语言的纯硬件电路实现,降低了对主处理器性能的要求,有效减小了设计成本。在本专利技术中,逻辑控制装置2包括:FPGA主控制器模块11、控制FIFO模块12以及控制接口14;FPGA主控制器模块11用于从差分信号采样输入模块1读取采集的差分阻抗数据,并将读取的差分阻抗数据缓冲在数据存储器4中;控制FIFO模块12将FPGA主控制器模块11配置为以先进先出的方式从数据存储器4中读取差分阻抗数据进行处理;将处理后的数据缓存在数据存储器4中,同时以先进先出的方式从数据存储器4中将处理后的数据通过主机接口3将差分阻抗数据传输至监控主机。如果在硬件中实现,本专利技术涉及一种装置,例如可以作为处理器或者集成电路装置,诸如集成电路芯片或芯片组。可替换地或附加地,如果软件或固件中实现,所述技术可实现至少部分地由计算机可读的数据存储介质,包括指令,当执行时,使处理器执行一个或更多的上述方法。例如,计算机可读的数据存储介质可以存储诸如由处理器执行的指令。逻辑控制装置中FPGA主控制器模块控制逻辑的主要功能是实现USB2.0协议分析仪设备的枚举,从采样前端读取采样结果,对数据进行缓冲,并将采样数据以USB包为单位上传给监控主机。控制逻辑的并行处理能力、数据吞吐率和数据缓冲能力是影响设备丢包率的关键因素。在本专利技术中,由于USB系统本文档来自技高网...

【技术保护点】
1.一种基于FPGA的USB2.0协议分析仪,其特征在于,包括:差分信号采样输入模块,逻辑控制装置,主机接口以及数据存储器;差分信号采样输入模块和数据存储器分别与逻辑控制装置连接;差分信号采样输入模块用于采集被测设备在正常工作情况下USB2.0差分总线上传输的数据;逻辑控制装置用于实现USB2.0协议分析仪的枚举,从采样前端读取采样结果,将数据缓冲至数据存储器,并将采样数据以预设大小的USB数据包为单位,通过主机接口上传给监控主机。

【技术特征摘要】
1.一种基于FPGA的USB2.0协议分析仪,其特征在于,包括:差分信号采样输入模块,逻辑控制装置,主机接口以及数据存储器;差分信号采样输入模块和数据存储器分别与逻辑控制装置连接;差分信号采样输入模块用于采集被测设备在正常工作情况下USB2.0差分总线上传输的数据;逻辑控制装置用于实现USB2.0协议分析仪的枚举,从采样前端读取采样结果,将数据缓冲至数据存储器,并将采样数据以预设大小的USB数据包为单位,通过主机接口上传给监控主机。2.根据权利要求1所述的基于FPGA的USB2.0协议分析仪,其特征在于,逻辑控制装置包括:FPGA主控制器模块、控制FIFO模块以及控制接口;控制FIFO模块与FPGA主控制器模块连接;FPGA主控制器模块用于从差分信号采样输入模块读取采集的差分阻抗数据,并将读取的差分阻抗数据缓冲在数据存储器中;控制FIFO模块将FPGA主控制器模块配置为以先进先出的方式从数据存储器中读取差分阻抗数据进行处理;将处理后的数据缓存在数据存储器中,同时以先进先出的方式从数据存储器中将处理后的数据通过主机接口将差分阻抗数据传输至监控主机。3.根据权利要求1或2所述的基于FPGA的USB2.0协议分析仪,其特征在于,差分信号采样输入模块采用非侵入式探测方式,采集差分总线上的差分阻抗;差分信号采样输入模块的前端差分放大器的差分输出阻抗满足90ohm±15%的精度要求。4.根据权利要求1或2所述的基于FPGA的USB2.0协议分析仪,其特征在于,差分信号采样输入模块采用高速差分放大器AD8352对差分阻抗进行采样...

【专利技术属性】
技术研发人员:韩敏吴之光李凯一王一矾
申请(专利权)人:山东超越数控电子股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1