基于Linux的USB子系统探究及其应用

VIP免费
3.0 牛悦 2024-11-19 4 4 925.74KB 55 页 15积分
侵权投诉
摘 要
近几年,无论是平板电脑、智能手机、还是电子书都得到快速发展,这些设
备也都向着高质、高速、易操作的方向发展。用户们对这些嵌入式设备的数据传
输速度也相对应的要求越来越高,目前,这些设备通常都采用的是 USB2.0 接口,
几年之后,USB3.0 将普及市场当中而取代 USB2.0 的主导地位。
因为嵌入式产品的发展使得 Linux 的用户越来越多,也因为 Linux 的开源、
内核等特点使得嵌入式产品的开发也越来越容易,二者相互促进使得现在智能设
备大都采用 Linux 系统,因此,在 Linux 下研究 USB 接口的驱动开发显得特别的
重要。
本文前期着重介绍了 USB2.0 的协议,比较了 USB2.0 USB3.0 在协议以及物
理层与之不同之处,详细讲述了 USB 的四种传输方式,之后主要是开发前的准备
工作,嵌入式开发平台的搭建,其中包u-boot 移植和更为复杂的 Linux 内核
移植,后面主要针对 USB 视频设备驱动的开发,驱动开发的同时,分析之前的视
频数据传输机制,发现数据在传输过程中由于帧缓冲机制不同而使的传输速度大
不相同,使用了新的数据传输机制,有效地加快了 USB3.0 的视频数据传输速率。
最后对 USB3.0 设备的驱动模块新方案做了大量的调试与改进,同时做了一个
总的测试,视频设备能够在此平台上正常的工作,视频相对比较清晰。数据的传
输速率较没有改动之前有明显的加快。
关键词:USB Linux 操作系统 嵌入式 视频驱动
ABSTRACT
In recent years, both the Tablet PC, smart phone, or e-books have been rapid
development,All of these devices are getting more high-quality, high-speed and easily
to process. Users want these embedded devices to transport data more fast. Most of
these devices are usually used in USB2.0 interface.A few years later, USB3.0 will
replace USB2.0 getting much more users.
The development of embedded products make linux get more and more
users.Because of the open source linux, kernel and other features make the embedded
product be easily to develop. Mutual promotion between the two features make most
intelligent devices developed using of linux operation system. Therefore, to study the
USB interface driver development in linux OS is particularly important.
In the first place ,this article focuses on the USB2.0 protocol, the differences
between USB2.0 and USB3.0 in protocol and physical layer. covering the four USB
transfer modes setting up of this embedded platform,the main method of u-boot,
kernel porting and so on. In the second place, it is mainly for the USB video device
driver development, analysising of video data' stransfer mechanism and think of a new
method of transferring video data which makes transferring more fast .At last
I have done a lot of debugging and improvement for the new USB device driver module
program. USB video devices can work properly on this platform.video is very clear. At
the same time, the datas transmission speed are more and more fast.
Key words: USB linux OS embedded video driver
目录
............................................................... 6
ABSTRACT ............................................................. 7
第一章 绪论 ......................................................... 1
§1.1 课题的研究背景以及研究的意义 ................................ 1
§1.2 USB 的发展介绍 .............................................. 2
§1.3 USB3.0 的国内外研究现状 ..................................... 2
§1.4 课题的主要研究内容与结构 ................................... 3
第二章 USB3.0 结构及协议介绍 .......................................... 5
§2.1 USB3.0 体系结构 ............................................ 5
§2.1.1 USB3.0 物理拓扑结构 ................................... 5
§2.1.2 USB3.0 软件结构 ........................................ 6
§2.2 USB3.0 的传输协议解析 ...................................... 7
§2.2.1 USB3.0 协议的字段格式 ................................. 7
§2.2.2 USB3.0 协议的包类型 .................................... 9
§2.2.3 USB3.0 事务处理 ....................................... 10
§2.2.4 USB3.0 传输类型 ...................................... 12
§2.3 USB3.0 物理层介绍 ......................................... 17
§2.4 USB3.0 协议介绍 ........................................... 18
§2.5 本章小结 .................................................. 20
第三章 开发平台搭建与 USB3.0 子系统代码分析 .......................... 21
§3.1 嵌入式开发平台搭建 ........................................ 21
§3.1.1 Bootloader 移植 ....................................... 21
§3.1.2 Linux 系统移植 ........................................ 24
§3.2 Linux 下 USB 子系统代码分析 ................................. 25
§3.3 本章小结 .................................................. 29
第四章 视频设备数据采集与传输通用方法 ............................... 30
§4.1 Linux V4L 接口与 Framebuffer ............................... 31
§4.1.1 Linux 下 V4L ...........................................31
§4.1.2 Linux 帧缓冲 Framebuffer ...............................35
§4.2 通用的数据采集与传输 ...................................... 37
§4.3 本章小结 .................................................. 40
第五章 USB3.0 视频驱动的改进与测试 .................................. 41
§5.1 加快数据传输的方法 ........................................ 41
§5.2 驱动测试 ................................................... 44
§5.3 本章小结 .................................................. 48
第六章 总结与展望 ................................................... 49
§6.1 总结 ....................................................... 49
§6.1 改进与展望 ................................................ 49
参考文献 ............................................................ 50
在读期间公开发表的论文和承担科研项目及取得成果 ........ 错误!未定义书签。
致谢 ................................................................ 53
第一章 绪论
1
第一章 绪论
§1.1 课题的研究背景以及研究的意义
USB(Universal Serial Bus)是伴随着科技的飞速发展而应用日渐广泛的接口
术,因为其规范统一、接口体积小、支持热插拔、传输速率高、可向外供电等优
点使得 USB 接口逐渐成为计算机与外围硬件设备连接的重要接口技术[1],然而,
计算机的技术在不断的发展,必然要求接口技术紧跟其后,各种外围存储设备、
USB 传输的数据设备必然会要求获得更快更稳定的速度,USB 的出现注定了计算
机通信的技术会发生一次很大的变革,从前期USB1.1
USB2.0再到现在即将雄霸于市场的 USB3.0 无一不是串口通信的变革,为了适应
用户对传输数据更大更快的要求,USB3.0 便在这种情形下应运而生,他的应用大
大提高了计算机接口技术的传输速率与节能效率。相信 USB3.0 的产生,会大大提
高整个电子行业的大步向前发展。下面列出了 USB 总线众多优点也是其为何能够
取代众多接口总线的原因。
USB 总线的众多优点:
1USB 接口相对于其它通信接口而言占用体积小,有明显的体积优势,
就使得应用非常方便。
2支持非常方便的热插热拔与即插即用技术。之前的很多通信接口当设备
插入时必须重新启动计算机才能够正常使用,当插入多次设备时必须多次重启计
算机。这就给用户带来很多的不便,而现在使用 USB 的接口,用户可以随时断开
或连接 USB 接口设备,系统会自动扫描到这种改动并作出相应处理,而不需要每
次重启计算机。
3USB 接口是一种共享式的接口技术[2]一个 USB 主控制器可以通过级链
扩展连接多个设备,包括 USB HUB 在内,理论情况下一共可以连接多达 126
USB 设备。
4)传输速率快。USB2.0 已经以 480Mbps 的传输速率而广受欢迎,相信最
新的 USB3.0 会以惊人的 5Gbps 的速度迎合几乎所有用户需求,这种速度是其它的
通信接口所难以望其项背的。
5USB 接口有外部供电能力,现在的 USB3.0 接口采用电源管理方式减少
计算机的功耗[3]
基于 Linux 内核的 USB 子系统探究及其应用
2
6USB 接口的兼容性也是首屈一指的。从最初的 USB1.0 至现在的 USB3.0
规范协议上有着很好的向下兼容特性。
7使用比较灵活,由于设备不同,数据的传输属性也就不同,USB 通过四
种传输方式输来匹配不同外设需求[4]
随着现在智能化和数字化的极快发展,嵌入式系统设备也有着非常迅速的普
及与应用[5],而现在国内对 USB3.0 接口的开发也主要是针对 USB3.0 设备的应用
的开发。因此嵌入式系统 Linux USB3.0 的设备驱动的开发成为接口技术的重要
一环[6],本文主要写的嵌入式 Linux 下的 USB3.0 子系统的研究以及其有关设备
的驱动的实现和数据传输机制的改善。
§1.2 USB 的发展介绍
传统的计算机接口存在很多的缺陷,比如体积庞大、接口规范不统一、不支
持热插拔、扩展性差等缺点,这些问题制约着计算机应用的发展,一种新型的接
口技术 USB1.0 接口于是就在这种情况下产生了。这一接口的出现使的计算机与外
围设备的连接与通信更加灵活、方便、快速。USB 1.0 协议对于设备的电缆长度有
一定的要求,后来的 USB1.1 及更新版本的协议都没有了对电缆长度的要求,
USB1.1 接口的传输速率虽然仅为 12Mbps但是相对于其它通信接口而言也不算
低,USB2.0 是我们现在大多数用户在用的,其传输速率已经达到很高 480Mbps
比前者快了几十倍,USB3.0 采用一种全新的物理层,全双工通信机制,传输速
度达到惊人的 5Gbps,这个速度足以满足现在市场上大部分设备的数据传输要求。
§1.3 USB3.0 的国内外研究现状
几年前,以英特尔为首的一些大 IT 公司如:惠普、微软、NECNXP 半导体
和德州仪器等并没有满足 USB2.0 之前所带来的高速快感,为了有所创新与改革,
他们联手组建了 USB3.0 的推广组,并且以后的时间及时的宣布研究成果,在短的
时间内完成 USB3.0 的开发,其驱动支持也是最先在 Linux OS 上,到现在为止,
市场上已经出现了较多的采用 USB3.0 通信接口的设备,很快很多厂家的主板上也
对其进行了支持,估计两三年之后 USB3.0 会逐步的替代 USB2.0 成为市场的主导,
这些进步是极大利于世界上整个 IT 行业的,再谈一下国内的对 USB3.0 的研究情
况,国内对 USB3.0 的研究主要在于 USB3.0 的实际应用方面,USB2.0 已经在中国
也有了普及的发展,但是嵌入式平台下的 USB 驱动,无论是 USB2.0 还是 USB3.0
的开发一直是一个弱项。最近几年,嵌入Linux 下的 USB 技术虽然也有了突
摘要:

摘要近几年,无论是平板电脑、智能手机、还是电子书都得到快速发展,这些设备也都向着高质、高速、易操作的方向发展。用户们对这些嵌入式设备的数据传输速度也相对应的要求越来越高,目前,这些设备通常都采用的是USB2.0接口,几年之后,USB3.0将普及市场当中而取代USB2.0的主导地位。因为嵌入式产品的发展使得Linux的用户越来越多,也因为Linux的开源、小内核等特点使得嵌入式产品的开发也越来越容易,二者相互促进使得现在智能设备大都采用Linux系统,因此,在Linux下研究USB接口的驱动开发显得特别的重要。本文前期着重介绍了USB2.0的协议,比较了USB2.0与USB3.0在协议以及物理层...

展开>> 收起<<
基于Linux的USB子系统探究及其应用.pdf

共55页,预览6页

还剩页未读, 继续阅读

作者:牛悦 分类:高等教育资料 价格:15积分 属性:55 页 大小:925.74KB 格式:PDF 时间:2024-11-19

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 55
客服
关注