[发明专利]一种FPGA高速读取USB接口数据的方法有效
申请号: | 201410077587.6 | 申请日: | 2014-02-28 |
公开(公告)号: | CN103838694B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 姚引娣 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710121 陕西省西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fpga 高速 读取 usb 接口 数据 方法 | ||
技术领域
本发明涉及电子设备的USB接口领域,尤其涉及一种基于FPGA实现USB接口高速获取大容量数据的方法。
背景技术
USB具有传输速率快、即插即用、灵活性高、成本低和简便易用等特点,USB接口越来越受消费者、研究者的青睐,USB标准接口正逐渐取代其他接口,成为计算机外部设备应用最广泛的标准接口。而FPGA由于其具有高集成度、高速、可编程等优点,推动了数字系统设计的单片化、自动化发展,在超高速信号处理和实时测控方面有非常广泛的应用。因此,将FPGA与USB接口结合,使FPGA能够通过USB接口实现高速读取外部设备的数据己成为嵌入式电子系统设计的重要手段。
具有USB接口的设备可分为从设备和主设备。目前FPGA作为从设备,通过USB接口实现与上位机(通常指计算机)的通信较为成熟,应用较广的方案为上位机通过CY68013芯片实现与FPGA之间的通信,由于上位机一般体积较大,它约束了以FPGA为主的便携式嵌入式系统的推广。目前FPGA作为主设备实现高速读取U盘、SD卡、数码相机、移动硬盘等USB设备的数据存在困难,其原因有二,一是FPGA作为主设备,在其内部实现USB控制和传输协议较为困难,它需要实现USB底层传输协议,和USB控制协议;USB底层协议如果自己开发,工作量大,如果采用IP核,需要付专利费;同时USB控制协议一般需要通过内建一个CPU软核来实现,这导致设计复杂,并且也占用较多的FPGA片上资源。二是FPGA外部采用专用USB芯片的解决方案。
典型的方案有两种:第一种是集成了USB控制器和USB收发器,但需自行实现文件系统;另一种则是实现了包括文件系统在内的所有USB读取U盘所需的软硬件,只需要FPGA发送命令进行控制即可实现读取U盘。
在这两类方案中,CY7C67300集成度高,但其只支持USB1.1,传输速率较慢,同时需要FPGA对其进行配置和控制和实现文件系统,FPGA端的开发量较大。CH376支持USB2.0接口,是一个真正的单芯片解决方案。但CH376只支持FAT16/32文件系统,不支持NTFS文件系统,无法读取大于4GB的大文件;同时CH376需要FPGA进行配置和控制,因此需要实现CH376的控制逻辑并占用一定的FPGA资源而实际CH376芯片数据传输平均速度较慢,难以满足高速传输要求。
鉴于上述缺陷,本发明创作者经过长时间的研究和实践终于获得了本创作。
发明内容
本发明的目的在于提供一种FPGA高速读取USB接口数据的方法,用以克服上述技术缺陷。
为实现上述目的,本发明提供一种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外设的操作,通过指示灯提示数据发送完毕。
进一步,上述步骤4包括两个过程,分别为从USB外设读入ARM处理器的内存缓存器以及将内存缓存器的数据组帧转发给FPGA两个过程,
采用″乒乓方式″读取USB外设数据,即,ARM处理器开辟两个缓存空间,以便在进行当前缓存空间组帧发送的同时,ARM将USB外设数据读入另一缓存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410077587.6/2.html,转载请声明来源钻瓜专利网。