嵌入式USB设备驱动的研究与设计开发
发布时间:2021-04-07 03:36
开发USB (Universal Serial Bus,通用串行总线)驱动程序是一项比较繁琐和复杂的工作,虽然Linux下的USB核心子系统封装了大部分的复杂性,并提供了相应的支持机制。USB协议规范定义了一套许多类型的外围设备都可以遵循的标准,但对于像视频设备这类,它们没有统一定义的标准,来自不同制造商的不同设备,都需要编写特定的驱动程序。在嵌入式系统中,资源相对不足,带宽较窄,要满足视频的实时性要求相对困难,这对嵌入式系统下开发USB摄像头驱动程序提出了较高的要求,因此在设计驱动时,应当充分利用USB总线带宽并保证内存与摄像头之间数据的高速稳定交换。为了满足这一要求,本课题参考开源项目GSPCA/SPCA5xx,采纳Linux内核建议并遵循V4L (Video for Linux, Linux下的视频标准),提出双URB (USB Request Block, USB请求块)分配策略和MMAP (Memory Map,内存映射)机制以最大限度的提高视频采集速度,最终在S3C2440ALARM开发平台上设计并实现了USB摄像头的嵌入式Linux设备驱动,并对该驱...
【文章来源】:北方工业大学北京市
【文章页数】:63 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
1 引言
1.1 课题背景
1.2 目的和意义
1.3 课题研究的主要内容
1.4 本论文组织结构
1.5 本章小结
2 嵌入式系统
2.1 嵌入式定义
2.2 嵌入式Linux
2.2.1 什么是Linux
2.2.2 嵌入式Linux系统的分类
2.2.3 嵌入式Linux的独特优势
2.3 本章小结
3 开发环境部署
3.1 选择商业版
3.1.1 是否选择商业版
3.1.2 如何选择商业版
3.2 设计和实现目标系统
3.2.1 创建一个目标Linux系统
3.2.2 安装和使用开发工具
3.3 S3C2440AL开发板配置
3.3.1 硬件配置
3.3.2 地址空间分配
3.3.3 交叉编译环境
3.4 本章小结
4 USB设备驱动程序开发
4.1 USB通用串行总线
4.1.1 USB拓扑结构
4.1.2 USB工作方式
4.1.3 USB支持的设备
4.1.4 USB设备基础
4.2 摄像头驱动设计与实现
4.2.1 USB驱动层次结构
4.2.2 Video4Linux
4.2.3 重要的数据结构
4.2.4 驱动过程
4.2.5 双URB分配策略
4.2.6 MMAP内存映射机制
4.3 本章小结
5 测试与性能分析
5.1 功能测试
5.2 性能分析
结论
参考文献
附录
probe函数调用关系图及详细函数说明
open函数调用关系图及详细函数说明
mmap函数调用详细说明
在学研究成果
致谢
【参考文献】:
期刊论文
[1]嵌入式Linux下USB摄像头驱动实现[J]. 宋丽华,高珂. 计算机工程. 2010(09)
[2]基于s3c2440的Linux摄像头驱动开发[J]. 曹占中,周余,王自强,都思丹. 电子测量技术. 2009(02)
[3]基于S3C2440的嵌入式Linux系统移植的研究与实现[J]. 赵敏,杨恢先,汤安平. 电子器件. 2008(06)
[4]基于嵌入式平台的USB摄像头驱动程序的实现[J]. 刘飞,张曦煌. 计算机工程与设计. 2008(08)
[5]基于ARM嵌入式的视频采集系统设计[J]. 李卫中,王典洪. 电子技术. 2007(Z3)
[6]基于嵌入式Linux的USB摄像头驱动开发[J]. 刘春成. 计算机工程与设计. 2007(08)
[7]Linux下基于ARM920T的USB摄像头图像采集[J]. 王永清,何波,王乾,郭磊. 微计算机信息. 2007(02)
[8]Linux下USB设备驱动研究与开发[J]. 杨伟,刘强,顾新. 计算机工程. 2006(19)
[9]基于ARM7和嵌入式Linux系统下USB接口的设计[J]. 李光明,姚斌. 计算机工程与设计. 2006(06)
[10]在嵌入式Linux平台上使用USB摄像头[J]. 王滔,季晓勇. 微计算机应用. 2006(01)
本文编号:3122718
【文章来源】:北方工业大学北京市
【文章页数】:63 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
1 引言
1.1 课题背景
1.2 目的和意义
1.3 课题研究的主要内容
1.4 本论文组织结构
1.5 本章小结
2 嵌入式系统
2.1 嵌入式定义
2.2 嵌入式Linux
2.2.1 什么是Linux
2.2.2 嵌入式Linux系统的分类
2.2.3 嵌入式Linux的独特优势
2.3 本章小结
3 开发环境部署
3.1 选择商业版
3.1.1 是否选择商业版
3.1.2 如何选择商业版
3.2 设计和实现目标系统
3.2.1 创建一个目标Linux系统
3.2.2 安装和使用开发工具
3.3 S3C2440AL开发板配置
3.3.1 硬件配置
3.3.2 地址空间分配
3.3.3 交叉编译环境
3.4 本章小结
4 USB设备驱动程序开发
4.1 USB通用串行总线
4.1.1 USB拓扑结构
4.1.2 USB工作方式
4.1.3 USB支持的设备
4.1.4 USB设备基础
4.2 摄像头驱动设计与实现
4.2.1 USB驱动层次结构
4.2.2 Video4Linux
4.2.3 重要的数据结构
4.2.4 驱动过程
4.2.5 双URB分配策略
4.2.6 MMAP内存映射机制
4.3 本章小结
5 测试与性能分析
5.1 功能测试
5.2 性能分析
结论
参考文献
附录
probe函数调用关系图及详细函数说明
open函数调用关系图及详细函数说明
mmap函数调用详细说明
在学研究成果
致谢
【参考文献】:
期刊论文
[1]嵌入式Linux下USB摄像头驱动实现[J]. 宋丽华,高珂. 计算机工程. 2010(09)
[2]基于s3c2440的Linux摄像头驱动开发[J]. 曹占中,周余,王自强,都思丹. 电子测量技术. 2009(02)
[3]基于S3C2440的嵌入式Linux系统移植的研究与实现[J]. 赵敏,杨恢先,汤安平. 电子器件. 2008(06)
[4]基于嵌入式平台的USB摄像头驱动程序的实现[J]. 刘飞,张曦煌. 计算机工程与设计. 2008(08)
[5]基于ARM嵌入式的视频采集系统设计[J]. 李卫中,王典洪. 电子技术. 2007(Z3)
[6]基于嵌入式Linux的USB摄像头驱动开发[J]. 刘春成. 计算机工程与设计. 2007(08)
[7]Linux下基于ARM920T的USB摄像头图像采集[J]. 王永清,何波,王乾,郭磊. 微计算机信息. 2007(02)
[8]Linux下USB设备驱动研究与开发[J]. 杨伟,刘强,顾新. 计算机工程. 2006(19)
[9]基于ARM7和嵌入式Linux系统下USB接口的设计[J]. 李光明,姚斌. 计算机工程与设计. 2006(06)
[10]在嵌入式Linux平台上使用USB摄像头[J]. 王滔,季晓勇. 微计算机应用. 2006(01)
本文编号:3122718
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3122718.html