[发明专利]一种FPGA高速读取USB接口数据的方法有效
申请号: | 201410077587.6 | 申请日: | 2014-02-28 |
公开(公告)号: | CN103838694B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 姚引娣 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710121 陕西省西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fpga 高速 读取 usb 接口 数据 方法 | ||
1.一种FPGA高速读取USB接口数据的方法,其特征在于,该具体过程为:
步骤1,ARM处理器初始化;
ARM处理器完成自身操作系统的加载,与数据传输相关部分的初始化工作,在USB外设插入后,完成USB设备驱动的加载;
步骤2,监控FPGA初始化工作;
如果FPGA完成自身系统加载工作,FPGA会通过响应线向ARM处理器发出响应信号,表明已准备好接受数据,此时ARM处理器会通过信号指示灯指示用户进入数据转发阶段;
步骤3,被传数据参数提取;
ARM处理器读入USB外设被传数据信息,计算传输次数;
步骤4,启动数据传输;
ARM处理器将USB外设数据转发给FPGA;
步骤5,判断FPGA准备接收状态;
步骤6,组帧转发数据;
ARM处理器中的转发模块将待发的数据进行打包处理,添加帧头信息,包括是否最后一包数据以及有效数据长度,FPGA可以判定数据是否完全发送完毕以及提取每帧有效数据;
步骤7,判断数据是否发送完毕;
ARM处理器中的控制模块计算所有数据是否发送完毕,如果没有完毕,转入步骤5继续发送数据,如果发送完毕,则停止发送数据;
步骤8,结束数据转发;
在转发完数据后,ARM处理器关闭对USB外设的操作,通过指示灯提示数据发送完毕。
2.根据权利要求1所述的FPGA高速读取USB接口数据的方法,其特征在于,上述步骤4包括两个过程,分别为从USB外设读入ARM处理器的内存缓存器以及将内存缓存器的数据组帧转发给FPGA两个过程,
采用″乒乓方式″读取USB外设数据,即,ARM处理器开辟两个缓存空间,以便在进行当前缓存空间组帧发送的同时,ARM将USB外设数据读入另一缓存空间。
3.根据权利要求2所述的FPGA高速读取USB接口数据的方法,其特征在于,所述ARM处理器开辟第一缓存器和第二缓存器,所述ARM处理器监控发送模块是否发完第一缓存器的数据,如果未发完,等待数据发完;如果发送完毕,则向第一缓存器读入新的数据,再判断第二缓存器的数据是否发完,依此循环操作。
4.根据权利要求1或2所述的FPGA高速读取USB接口数据的方法,其特征在于,在上述步骤5中,所述FPGA在发送下一帧数据时判断FPGA是否准备好接收下一帧数据,如果未收到FPGA通过响应线发来的准备好接收信号,则继续等待,直到FPGA准备好接收数据为止。
5.根据权利要求1或2所述的FPGA高速读取USB接口数据的方法,其特征在于,在上述步骤6中,ARM处理器中的转发模块中传输的帧头信息默认长度为2字节,可根据需要进行调整。
6.根据权利要求1所述的FPGA高速读取USB接口数据的方法,其特征在于,所述ARM处理器和FPGA接口信号线包括片选信号、写信号、响应信号线、地址总线和数据总线,FPGA在完成初始化或接收完一帧数据后,通过响应信号线向ARM处理器发出允许发数据信号,ARM处理器通过数据总线向FPGA发数据,同时向FPGA发出片选信号、写信号和地址总线等辅助信息供FPGA正确接收数据用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410077587.6/1.html,转载请声明来源钻瓜专利网。