- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式Linux下USB设备的大容量数据传输驱动开发与实现
DOI:10.3969/j.issn.1001-3824.2011.02.O14
嵌入式Linux下USB设备的大容量数据
传输驱动开发与实现
范耀武,何维,田增山
(重庆邮电大学无线定位与空间测量研究所,重庆400065)
摘要:针对手持终端探测过程中大容量数据传输驱动开发存在的难点,利用嵌入式Linux平台及USB驱动架构,
分析了EZ—USB驱动读取数据的流程,提出了大缓存USB驱动的设计方案,通过原型设备测试验证了该设计方案
的有效性,解决了EZ—USBFX2芯片高速传输中出现的数据丢失现象.
关键词:嵌入式Linux;高速传输;USB设备驱动;内存页申请
O引言
USB以其低成本,速度高,通用性强,支持即插
即用等优点使得越来越多的设备采用USB接口.
随着Linux系统的逐步完善,功能逐渐强大,在嵌入
式Linux平台下的USB设备驱动开发成为了该领域
工程实现的热点和难点.
本项目研发的手持终端主要应用于定位和跟
踪手机目标,在刑警抓获匪徒,解救人质,以及在地
震等灾难后定位和搜寻人员都有着重大的意义.
但是手持终端在定位和跟踪目标时需要采集大量
的数据来解算,如果是4倍采样的话,则速率高达’
20.48Mbit/s,实时高速的传输是整个项目的一个研
发难点.
基于Linux嵌入式平台,我们开始设计了3种方
案,分别采用GPIO,GPMC,USB来传输.GPIO(gen—
eral—purposeI/O)由于收发之间没有时钟约定以及I//
O本身数据传输能力有限导致数据丢失的问题无法
解决.GPMC(general—purposememorycontroller)专门
用于高速存储之间的访问,一般用于SRAM等设备,
在Hnux内核源码中仅仅有nandflash访问的源码,开
发用于FPGA高速传输的驱动难度较高.由于上述
原因我们采用较为成熟的USB2.0芯片,其理论速度
收稿日期:2010—12—28
高达60Mbit/s,同时在Linux下也有USB的相关源
码,仔细分析Linux内核及USB源码,从USB读取数
据流程中提出USB驱动改进的方案,经原型设备测
试其有效性后,基于EZ.USBFX2设备的4Mbit/s大
缓存的USB驱动最终被项目采用.
1硬件系统介绍
本次项目开发采用的嵌入式开发板是Dev,
Kit8000,具有ARM+DSP双内核的OMAP3530处理
器,可兼顾设备的数据处理强度大,调度和控制功
能要求高的需要.DSP内核对数据的压缩处理能力
非常强,而ARM内核可以完成系统的整体控制功
能和对DSP运算结果的访问.
USB芯片采用的是EZ—USBFX2,EZ.USBFX2
拥有1个独特的结构,其串行接口引擎SIE负责完
成独立串行数据的编解码,差错控制,位填充等与
USB协议有关的功能,FX2还包含一个通用可编程
接口(GPIF),它支持所有通用的总线标准,如ATA
PI(PIO和UDMA),IEEE1284(EPP并行口),UTOP—
LA等,并可与外部ASIC,DSP等直接连接.
为了验证数据传输的正确性还加了EP3C5E144
型号的FPGA,根据项目需要,FPGA的工作频率是
10.24MHz,让其产生16位的循环码,通过USB传送
给DevKitS000,并计算其丢包率和误码率.
一
53—
硬件系统结构如图1所示.
AITEl{AFP(
FZ~ljSBFX2i)evKit8(x)0
I1.1
控制器lt;————_c)q———S1AVE1USBUSBj测试
FIF()【20驱动l程序F1FO日———目———口
图1硬件系统结构图
1.1嵌入式Linux系统
1.1.】嵌入式Linux系统
嵌入式Linux系统主要分为4个部分,分别为
MLO,Uboot,ulmage和rootfs.Linux启动过程也是
按照这个顺序,先加载MLO即x.1oader,为第一阶段
引导装载器,主要实现的功能是初始化最基本的硬
件,然后根据启动方式从nandflash或mme/sd拷贝
u—boot代码到内存,把系统引导到能够装载第二阶
段引导装载器的状态.第二阶段引导装载器是u—
hoot,但是大多数发行版在u.hoot.bin文件中提供
自己的U—boot版本.U.boot对大部分的硬件进行
初始化,然后引导Linux内核,完成系统的启动.
1.1.2系统移植步骤
MLO与uboot的编译非常相似,都是在其对应
源码中修改makefile”CROSS—COMPILE”为自己的
交叉编译器,然后执行”makedistclean”和”make
omap3530stalkerconfigamp;amp;make”,MLO还要多1个
签名
原创力文档


文档评论(0)