一种基于USB数据侦听系统及方法技术方案

技术编号:27810477 阅读:25 留言:0更新日期:2021-03-30 09:42
本发明专利技术涉及一种基于USB数据侦听系统及方法,属于电子与通信技术领域。本发明专利技术在不干扰原有USB主从设备间数据流的情况下,直接从连接主从设备的USB总线中间引线,提取USB数据差分线上的信号;通过专用USB2.0 PHY芯片接收该差分信号,将其还原成电平信号,并进一步转换成并行数据送入FPGA;专门设计的FPGA内部逻辑电路对数据包做分析、处理,解包整合后的主从设备传输数据通过8位并行总线输出。本发明专利技术通过USB PHY无侵入式截取信号、FPGA处理数据包,可以不通过其他专用设备(如PC)直接通过并行IO端口输出USB主从设备之间传输的数据。IO端口输出USB主从设备之间传输的数据。IO端口输出USB主从设备之间传输的数据。

【技术实现步骤摘要】
一种基于USB数据侦听系统及方法


[0001]本专利技术涉及一种基于USB数据侦听系统及方法,属于电子与通信
,特别提供一种将侦听到的图像数据用基于单片机、CPLD或FPGA底板做实时处理。

技术介绍

[0002]随着数码产品不断发展和普及,设备之间的数据交流也变得更加高频化和高速化,USB协议成为了各种设备间数据传输的主流协议之一。支持USB协议的设备不仅仅是在我们的日常生活中很常见,在科学研究中也非常的普遍,例如:各类外接检测装置、仪器仪表、望远镜、各类信号分析仪等都配有符合USB标准的接口。USB总线是常见的外部总线标准中的一种,用于USB总线模型中的主机和设备之间的数据交换和交流。USB接口因为高速稳定、即插即用、接口规范统一以及使用方便等优点,成为现代数据传输的主流趋势之一。USB接口标准有三种:USB 1.1,USB 2.0和USB 3.0。虽然现在USB3.0接口的设备很多,但目前市场中还是USB2.0设备占有份额高于3.0。
[0003]USB是一种便捷的,点对点的数据传输方式,但该协议不支持三个设备间的数据传输。若需要实现对USB 2.0总线上数据的实时侦听和采集功能,需要开发一个特定的设备或系统来完成这个任务。目前市场上出售的USB协议分析仪可以实现基于计算机的数据监听和分析功能。少数的文献中也是将侦听到的数据最终上传到PC端。而在计算机上通过软件实现的对USB接口的实时收发数据的监听和采集,没有很好的便携性和通用性,不同的计算机需要进行多次配置和调试;并且脱离了上位机软件的辅助,将不能够正常工作。目前并没有一种对USB 2.0总线上的两个方向的数据进行实时侦听、采集,并处理组合成一个USB事务发给底板电路,供底板电路去使用的系统。

技术实现思路

[0004]本专利技术要解决的技术问题是:本专利技术提供一种基于USB数据侦听系统及方法,系统使用USB接口芯片侦听总线双向数据,使用FPGA将数据组合成USB事务发送给底板电路。
[0005]本专利技术技术方案是:一种基于USB数据侦听系统,包括FPGA模块1、USB接口芯片模块2、IO扩展口模块3、USB接口A11、USB接口B12;
[0006]所述USB接口芯片模块2通过USB接口A11、USB接口B12的USB总线无侵入式的连接主设备9和从设备10;USB接口芯片模块2还与FPGA模块1连接,FPGA模块1包括ULPI接口模块4、包分解模块5、事务组合模块6、传输模块7、时钟模块8;时钟模块8均分别与USB接口芯片模块2、ULPI接口模块4、包分解模块5、事务组合模块6、传输模块7连接;所述IO扩展口模块3连接着FPGA模块1的传输模块7;IO扩展口模块3与底板电路对接。
[0007]作为本专利技术的进一步方案,所述ULPI接口模块4为ULPI PHY接口模块,与USB接口芯片模块2建立协议层的联系,并把数据完整输出给包分解模块5;包分解模块5用于将USB数据包缓存到RAM,并把包信息存入FIFO中缓存;事务组合模块6用于USB事务处理,将若干个相关联的令牌包、数据包、握手包组合成一个USB事务并提供EN信号;时钟模块8由USB接
口芯片模块2输入,控制着ULPI接口模块4、包分解模块5、事务组合模块6、传输模块7的时钟;传输模块7用于将组合好的USB事务、提供给底板电路的同步时钟和EN信号组合通过IO扩展口模块3输出给底板电路,当EN信号为高时,每一个同步时钟周期就会输出USB事务中的一个字节。
[0008]一种基于USB数据侦听方法,所述方法包括:
[0009]USB接口芯片模块2通过USB接口A11、USB接口B12的USB总线无侵入式截取主设备9和从设备10之间的信号并发送给FPGA模块1处理,FPGA模块1将处理完后的数据组合成一个USB事务从IO扩展口模块3输出给底板电路;底板电路根据事务的头文件筛选所需要的数据去使用。
[0010]作为本专利技术的进一步方案,每个USB事务输出时,前4个字节为事务信息头,4字节的事务信息头格式为:
[0011]第1个字节:tid[7:0],表示该事务的类型;
[0012]第2个字节:addr[6:0],表示该事务对应的设备地址;
[0013]第3个字节:低4位为ep[3:0],表示该事务对应的端点号,高4位为len[3:0];
[0014]第4个字节:len[11:4],len[11:0]表示该事务对应的数据长度;
[0015]后面跟随0~1024字节的事务数据。
[0016]本专利技术的工作原理是:
[0017]基于USB数据侦听系统及方法使用底板5V供电。由于各个模块使用电压不同,所以使用2路AMS1117低压降线性电源芯片分别产生3.3V,1.2V,供整体使用。
[0018]所述USB接口A11用于连接进行USB通讯的主设备9、USB接口B12用于连接进行USB通讯的从设备10。两个USB接口的DM和DP直接与USB接口芯片模块2相连,并加1kΩ的的保护电阻与FPGA相连;VBUS加100kΩ电阻与FPGA模块1相连,并加了100kΩ下拉电阻。
[0019]所述USB接口芯片模块2所使用芯片是基于UTMI+等级3封装而成接口为ULPI接口的USB3300;ULPI使用12个引脚将完整的OTG主机/设备PHY连接到系统级芯片上。一条8位双向数据总线,时钟为60MHz,允许FPGA模块1访问这个内部寄存器阵列,并将USB数据包传输到物理层。剩下的3个管脚用于控制数据流和仲裁数据总线。8位数据总线的方向由ULPI接口模块4的DIR输出控制。另一个输出NXT用于控制进出设备的数据流。最后,输入到ULPI接口模块4的STP终止传输,并用于启动和从挂起状态恢复。
[0020]USB3300使用内部晶体驱动器和锁相环子系统提供无噪声、稳定的480MHz参考时钟,PHY在发送和接收期间使用该时钟。USB3300需要一个稳定的、无噪声的24MHz晶体或时钟作为频率基准。USB3300可以使用晶体或外部时钟振荡器作为24MHz基准。晶体连接到USB3300引脚。一旦480MHz锁相环锁定到正确的频率,它将用60MHz时钟驱动CLKOUT引脚。该芯片ULPI接口信号电平为3.3V。工作于高速480Mbps速度模式。
[0021]DIR即Direction,用于控制数据总线的传输方向;当USB接口芯片向FPGA传输数据时候,驱动DIR为高;没有数据传输时,驱动为低并监视FPGA端的控制信号;同时,USB接口芯片会在不能接收数据时驱动DIR为高。NXT即Next,USB接口芯片会在传输数据时控制该信号;当FPGA发送数据到USB接口芯片,USB接口芯片接收到数据时会马上拉高NXT;随后FPGA会在下一个时钟周期时将下一字节放到数据总线上;相应的,当USB接口芯片正在发送数据给FPGA,NXT代表此时有新字节数据要发送给FPGA。STP即Stop,当FPGA置STP有效时在一个
时钟周期内,停止总线本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于USB数据侦听系统,其特征在于:包括FPGA模块(1)、USB接口芯片模块(2)、IO扩展口模块(3)、USB接口A(11)、USB接口B(12);所述USB接口芯片模块(2)通过USB接口A(11)、USB接口B(12)的USB总线无侵入式的连接主设备(9)和从设备(10);USB接口芯片模块(2)还与FPGA模块(1)连接,FPGA模块(1)包括ULPI接口模块(4)、包分解模块(5)、事务组合模块(6)、传输模块(7)、时钟模块(8);时钟模块(8)均分别与USB接口芯片模块(2)、ULPI接口模块(4)、包分解模块(5)、事务组合模块(6)、传输模块(7)连接;所述IO扩展口模块(3)连接着FPGA模块(1)的传输模块(7);IO扩展口模块(3)与底板电路对接。2.根据权利要求1所述的基于USB数据侦听系统,其特征在于:所述ULPI接口模块(4)为ULPI PHY接口模块,与USB接口芯片模块(2)建立协议层的联系,并把数据完整输出给包分解模块(5);包分解模块(5)用于将USB数据包缓存到RAM,并把包信息存入FIFO中缓存;事务组合模块(6)用于USB事务处理,将若干个相关联的令牌包、数据包、握手包组合成一个USB事务并提供EN信号;时钟模块(8)由USB接口芯片...

【专利技术属性】
技术研发人员:李彬华苗旺金建辉何春
申请(专利权)人:昆明理工大学
类型:发明
国别省市:

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

1