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