logo资料库

基于Linux的USB蓝牙设备驱动程序的设计及实现.pdf

第1页 / 共76页
第2页 / 共76页
第3页 / 共76页
第4页 / 共76页
第5页 / 共76页
第6页 / 共76页
第7页 / 共76页
第8页 / 共76页
资料共76页,剩余部分请下载后查看
文摘
英文文摘
第1章绪论
1.1蓝牙技术的现状与前景
1.2 Linux系统的应用现状和发展前景
1.3 Linux系统上的蓝牙协议
1.4本课题研究的内容及意义
第2章Linux系统下开发环境及系统编程基础
2.1重要的基本概念
2.2开发环境简介
2.3内核
第3章Linux驱动程序框架
3.1 Linux的设备驱动程序
3.2模块
3.3 Linux下字符设备的驱动程序框架
3.4 Linux USB子系统驱动程序框架
3.5调试方法
第4章USB蓝牙设备驱动程序设计及实现
4.1驱动程序的主要数据结构
4.2驱动程序的流程
4.3驱动程序的实现细节
第5章结束语
5.1本文工作总结
5.2后续工作
参考文献
致谢
论文原创性声明
摘要基于Linux的USB蓝牙设备驱动程序的设计及实现电路与系统 硕士生:邝展华指导老师:黄晓副教授摘要 近年来,蓝牙技术在无线通信技术中已经占有一个相当重要的地位。不但数据的传输速率越来越快,安全性、易操作性等方面都得到了相当大的改善。同时,蓝牙芯片的体积不断的缩小,价格也已经下降到3美元,使得它成为了众多手持设备、嵌入式设备首选的近距离无线通信技术。 经过了多年的积累改进和技术革新,Linux已经从一个学生的课外兴趣发展成为一个具有卓越的稳定性和安全性的成熟操作系统内核,并受到了各大rr厂商和多国政府的支持。无论是在企业级的服务器中,PC和笔记本电脑中,还是嵌入式设备中,以Linux为基础的操作系统都取得了相当大的进步并日渐深入人心。 本文陈述了Linux操作系统下开发环境的建立过程,介绍了Linux下的驱动程序框架。随后将具体讲述了在该系统下的USB蓝牙设备驱动程序的设计思路和实现方法,并在描述过程中进一步探讨Linux下阻塞型v0、多线程、同步互斥等关键问题。除此之外,本文还对驱动程序的Makefile、内核空间的程序调试工具和技巧等方面作了简单的介绍。关键字:Linux USB蓝牙设备驱动
ABSTRACTThe Design and Implementation of USB Bluetooth Device Driver Based on Linux PlatformCircuit and SystemName: Zhanhua KuangSupervisor: Associate Professor Xiao HuangABSTRACT Today, Bluetooth has become one of the most important wireless technologies.The data rate of Bluetooth has been brought up dramatically, and the security and theease of use also have gained great improvement. Meanwhile, the size of Bluetoothchips are becoming smaller, and the cost of the chips has been brought down to $3,which makes Bluetooth the best choice of handheld devices and embedded devices fornear field wireless communication solution Through all these years improvement, Linux has grown from a little toy to a.;nature operating system kernel with excellent stability and security performances. itis now supported by many great companies in the IT field and the government ofmany different countries. The Linux based operating systems has gained great growthnot only in enterprise servers, PCs, but also in the embedded devices. The thesis describes the process of establishing the environment in a Linux basedoperating system and introduces the device driver framework of Linux. And then, wewill discuss the design of a USB Bluetooth device driver and its implementation indetail, and we will take a step forward to discuss the topics of messaging,multithreading programming, synchronization and mutex. We will also give a briefdescription of use of GNU make and the debugging skills in the kernel space.Key words. Linux USB Bluetooth Device Driver
绪论第1章绪论1.1蓝牙技术的现状与前景 蓝牙((Bluetooth)是一种耗电量低、成本低廉并且开放标准的短距无线通信技术,由爱立信公司开始最初的研究。到了1998年5月,爱立信公司与诺基亚(Nokia)、英特尔(Intel)、IBM和东芝(Toshiba)公司组成T蓝牙特别兴趣4.组(Special Interest Group. SIG),负责蓝牙技术标准的制定、产品测试,并协调各国蓝牙技术使用。后来该组织又陆续吸纳了微软(Microsoft).朗讯(Lucent) .摩托罗拉(Motorola) . 3Co口等知名厂商。至今为止,蓝牙SIG己经拥有7000多家成员公司。 蓝牙技术运行于不需申请许可证的工业、科技和医学(ISM)的2.4至2.485 GHz波段,使用扩频跳频全双工信号,额定速率为1600跳/秒,传输距离从1米到100米不等。随着技术的日益成熟,蓝牙己经被广泛应用于无线连接手机、便携式计算机、汽车、立体声耳机、MP3播放器等多种设备。 根据2006年ABI Research的一份报告,全球蓝牙设备的出货量已经超过了10亿件,比全球的PC用户数量还要多。该公司发言人称:蓝牙的市场在2006年得到了显著的增长,蓝牙芯片的出货量仍会保持强劲的增长势头。1.1.1国内外的发展现状 蓝牙技术自诞生以来己经得到了长足的发展,立下了众多的里程碑。这使得它成为当今世界最成功的无线通信协议之一。下面简单回顾一下蓝牙技术的发展历程w.1998年,蓝牙特别兴趣小组((SIG)成立,并决定采用“蓝牙”作为该技术 的名称。.1999年,蓝牙1.0技术规范发布,并在Comdex大会上获得了“Best of
绪论 Show Technology”奖..2000年,第一个蓝牙产品投入市场—爱立信公司的蓝牙耳机和电话适配 器。.2001年,蓝牙SIG. Inc.成立。.2002年,通过认证的蓝牙无线技术达500个。.2003年,蓝牙SIG采纳了版本1.2的蓝牙核心规范; 蓝牙产品的出货量达每星期一百万。.2004年,蓝牙SIG采纳版本2.0+EDR的蓝牙核心规范: 安装蓝牙技术的设备超过2.5亿; 蓝牙设备的出货量达到300万每周; 蓝牙SIG成员达3000.2005年,蓝牙SIG和li1J公布合作意向; 蓝牙产品出货量达500万每周; 蓝牙SIG成员达4000; 蓝牙SIG在美国西雅图成立总部并在瑞典成立欧洲办公室,在香港成立亚太 地区办公室; 蓝牙技术在规范从1.1版本升级到1.2版本的时候引入了多种的新特性[2]比如: 更快地建立连接 自适应得跳频技术(Adaptive frequency hopping) 扩展的SCO链路 增强的错误检测和流量控制 增强的同步能力 在2004年,SIG又再次把蓝牙技术规范从1.2版本升级到2.0十EDR版本,其中最重要的改变在于数据传输速率的提高。新规范增加了一套新的数据包类型,用于2Mbps到3Mbps的工作模式。 在今年的CTIA WIRELESS大会上,SIG宣布版本2.1的蓝牙和核心规范将会很快出炉,新版本的协议在以下两方面进行了改进[0].改进的配对—通过减少设备配对过程的步骤使得用户能更加容易地初始
绪论 化蓝牙设备之间的连接。.更低的能耗—在许多特定的场景中进一步降低蓝牙设备的功耗以延长电 池的寿命。蓝牙SIG工作小组正在密锣紧鼓地把上述特性添加到蓝牙profile当中。所有符合蓝牙规范2.1+EDR的设备都要向后兼容其它早期的蓝牙设备,支持早期的配对技术。1.1.2蓝牙技术的前景和困难 在2005年SIG公布跟WiMedia Alliance的合作意向,开发高速的蓝牙协议。新的技术将在底层采用UW的数据传输技术,上层仍然采用成熟的蓝牙协议,届时数据传输速率将从3Mbps一举跃升到480Mbps,而事实上,OpenInterface和Alereon已经在实验室中实现了这一传输速度。 新规范的第一个核心版本(core release)代号为“Lisbon",基本完成,覆盖增强数据速率(EDR2. 0, Enhanced Data Rate 2. 0)版本。接下来的核心版本代号为Seattle, SIG将会在Seattle的协议规范中包含超宽带(UWB)领域的协议的规格,将使蓝牙技术与'.兼容。Bluetooth SIG预见会有一个融合层,成为被选中的UWB MAC与蓝牙的逻辑连接控制及应用协议层之间接口的基础。这将允许服务发现(service discovery)等规范和增加更多的协议,从而使蓝牙能够被更多的产品所采用。Seattle core将包含的其它特点,其中包括:多点传送,它允许设备同时向多个端点发送数据,EDR规格已支持该特点;eSCO无线模式会话,允许无线模式的重新协商和无缝切换;AES安全性.这些特点都将添加到Lisbon core之中[A7 但两种技术的融合并不是一徽而就的,还有很多工作需要完成。另外,T.也面临着许多挑战,还有许多技术问题要研究解决:诸如需要更好地理解UWB传播信道的特点,建立信道模型,解决多径传播等问题;需要进一步研究高速脉冲信号的生成、处理等技术;还有高速脉冲收发电路的设计与实现,如高精度的匹配滤波、UWB天线、板上微控制器噪声的处理等;研究新的调制技术,进一步降低收发机结构的复杂度,等等阁.
绪论 虽然自诞生之日起,蓝牙技术的安全特性就一直SIG一个优先的任务,但近两年出现了一些黑客利用蓝牙技术成功窃取手机用户的私人资料的报道,证明蓝牙技术的安全特性还有待改进。 SIG和WiMedia Alliance的合作另一项主要问题,在很大程度是SIG无法控制的,就是围绕全球使用UWB的监管问题,蓝牙是一项得到普遍接受的全球性网络技术,但还没有一种!W技术在美国以外得到监管机构的批准[[n1.2 Linux系统的应用现状和发展前景 GNU/Linux是一个成熟的类Unix操作系统内核,当前比较流行的版本是2.4和2.6。以此内核为基础或作出少量修改后,再附加上其他常用的工具软件形成了众多的发行版本。当前比较流行的桌面版本有Debian, SUSE, Ubuntu,Federa和Gentoo等,他们各有不同的特性。与普通的商业软件不同,Linux遵从GPL的规定,所有人都可以免费获得的它的源代码,并拥有对该源码进行修改和重新发布的权利,但重新发布的代码也必须遵守GPL的约定,保证其使用者能够得到新发布程序的源代码。因此,所有Linux的用户都能够对其代码进行深入研究和学习,并且能对其不足进行修改,使其在调整和革新中变得更加稳定和可靠,更加安全和完善,成为当今世上一个广受欢迎的操作系统内核。英国、法国、德国、比利时、巴西等国家已通过议案,要求政府在采购之前要比较商用软件和开放源代码软件,优先考虑开放源代码的软件。在经历了多年的技术储备和市场洗礼后,中国Linux软件市场逐渐走向成熟,目前,中国市场所存在的Linux企业在产品定位、技术研发和市场销售、培训服务等方面逐步形成了相对完善的运营体系[8]1.2.1国内外的发展现状 自1991年到现在,Linux已经从一个学生的玩具演变成一个成熟而稳定的操作系统内核,他不仅拥有庞大的用户群,还受到工BM, HP, Sun、工ntel,AMD, Sony等IT巨头的青睐.各大软件公司如CA, Veritas, BEA, Oracle,
绪论SAP, Borland等也相继地成为了Linux的支持者。这些公司都确认“Linux已经完全适合于企业级应用n。根据IDC的报道,Linux已经成为全球第二大操作系统。以往开放源代码社区都是以爱好者为主导,而现在大公司派出大量技术力量,去支援开放源代码社区。例如IBM就雇用了250名研发人员,专门参与开放源代码项目;Sun派出100多人,专门负责OpenOffice的开发;Linux核心领域70%的技术人员都是Red Hat的员工En.在教育、科研和软件采购等方面,我国政府的明确提出对Linux软件的支持,这势必对中国Linux软件的发展起到积极的推动作用。 另一方面,Linu:的桌面系统也蓬勃的发展.从一开始的RedHat, Gentoo,Debian到最近流行的Fedora, SUSE, Ubuntu, Freespire等等,各式各样发行版本层出不穷。联想公司宣布在其产品中预装SUSE作为桌面操作系统,其他公司也纷纷宜布对Linux的支持,连一向对Linux最嗤之以鼻的戴尔公司也公布它对Linux的支持。各个计算机硬件设备生产商也开始针对Linux开发他们的设备驱动程序。随着开源软件的日益普及,各个设备生产商也必将更加重视对Linux平台的支持,使得Linux桌面系统更加方便易用,从而形成良性循环,带动用户群的进一步增长。 在嵌入式应用领域,Linux同样也有不俗的表现。由于Linux自身具有灵活的可裁剪特性、高度的可移植性,以及极低的成本,使得Linux系统能够很方便地应用在各式各样的嵌入式设备当中。Linux还是个带有网络连接能力的操作系统,成熟而且稳定。开放源代码意味着任何人都可以修改它,或者用它开发自己的产品。Linux系统是可以定制的,系统内核最小时目前只有134kB。一个带有中文系统以及图形化界面的核心程序也可以做到不足1MB,而且同样稳定.因此,Linux作为嵌入式系统新的选择,是非常有潜力的。正是因为这样,摩托罗拉公司率先推出了基于Linux的手机,并开始贯彻其Linux+Java发展思路。2003年,三星公司也推出了它首款基于Linux的CDMA手机。NEC也一再强调其3G手机高端产品几乎100%会采用Linux, NEC还透露自己正在开发的手机Linux内核采用的是MontaVista的MontaVista Linux ConsumerElectronics Edition,并将在此基础上增加GUI系统X Window System, GTK+和glibe等软件,并计划把数据处理、多媒体技术和通话技术的中间件应用到
绪论Linux中去,以打造一个丰富的Linux手机软件平台(a]1.2.2未来的困难 由于Linux开源、稳定、安全以及灵活的可裁剪性和高度的可移植性,它己经成为操作系统中一个举足轻重的新秀,也必将作为一个强大的竞争者继续与其他操作系统竞逐领导地位。但Linux也并不是没有缺陷,要挑战Windows跟Symbian的统治地位还有很多工作要完成。 最突出的一个问题是标准化。由于存在着种类繁多的发行版本,且各发行版本之间又处于各自为政的状态,必然导致兼容性的损害。有鉴于此,业界也都成立了相关的标准化组织来制订统一的标准,也都取得了显著的成果,但距离问题的解决还有很长的路程。 另外,在易用性方面还有待改进。Linux本来是一个黑客的玩具,有着很多功能强大的工具软件可以使用,但这就要求用户对系统有深入的了解,并且懂得使用这些配置工具。正是由于较高的使用门槛,使得一般的用户望而却步,造成Linux系统普及的困难。近两年,各个发行版本也在这方面花费了不少精力,涌现出一些更优秀更易用的新版本,比如Ubuntu, Fedora和Freespire等。但总体入门门槛还是较之Windows要高。 设备生产商的支持也是Linux一直没有能够广泛普及的另外一个重要因素。在Linux获得如此巨大的成功以前,各个设备生产商很少为商业操作系统(比如Windows, Mac OS)之外的操作系统编写驱动程序,在Linux上运行的驱动大多由爱好者自发编写。因此,一直以来Linux平台上能支持的硬件都要比各个商业操作系统要少,能支持的设备也不一定能够充分的发挥设备的性能。随着各个硬件厂商越来越重视Linux,这个问题会逐步得到解决,但仍需要一定的时间。1.3 Linux系统上的蓝牙协议Linux内核源码树集成了B1ueZ蓝牙协议找,可以方便地进行研究和学习。
分享到:
收藏