




已阅读5页,还剩59页未读, 继续免费阅读
(信息与通信工程专业论文)嵌入式系统下通信接口驱动的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学仲论文 摘要 随着嵌入式系统技术的广泛应用,越来越多的嵌入式设备要求配备一种或多种网络通 信接口。通信接口的设计和实现技术成为嵌入式系统技术中重要的一部分。由于l i n u x 良 好的开放性和u s b 总线极佳的通用性,u s b 设备在l i n u x 操作系统中得到广泛的应用。 嵌入式l i n u x 的开发和研究成为目前嵌入式领域的一个热点,在嵌入式系统下丌发u s b 接 口等通信接口的驱动是一项很有意义的工作。 论文首先分析了了嵌入式系统的特点及发展趋势,介绍了自行研制开发的嵌入式通信 平台的总体结构及论文的开发环境,阐述了在嵌入式系统下通信接口驱动的设计方法。 然后以l i n u x 为嵌入式操作系统,分析了操作系统内核与驱动程序的关系,给出在此 系统下进行驱动程序开发的原理及驱动程序的加载、调试方法。 通过对u s b 体系结构的深入研究,在嵌入式通信平台m o t o r o l a p o w e r p c8 5 0 上设计并 实现了基于嵌入式l i n u x 操作系统的u s b 系统,包括u s b 硬件接1 2 1 电路和系统软件中 m o t o r o l ap o w e r p c8 5 0 主控制器的驱动。 沦文最后从介绍u s b 设备类入手,给出了u s b 设备驱动程序的加载方法,在嵌入式 l i n u x 系统中实现了u 盘的驱动。 关键词:嵌入式系统b p c 8 5 0 驱动程序 u s b 主控制器设备类 第1 i i 页 国防科学技术大学研究生院学位沦文 a b s t r a c t w i t ht h ea p p l y i n go fe m b e d d e d t e c h n o l o g yw i d e l y , m o r ea n dm o r ee m b e d d e dd e v i c e sn e e d o n eo rs e v e r a ln e t w o r kc o m m u n i c a t i o ni n t e r f a c e b e c a u s el i n u xh a sg o o do p e n s t y l ea n du s b h a se x c e l l e n tg e n e r a l i z a t i o n ,u s be q u i p m e n t sg e te x t e n s i v e a p p l i c a t i o ni n l i n u x o p e r a t i o n s y s t e m s t u d y i n ga n dd e v e l o p i n go f e m b e d d e dl i n u xh a v eb e e n b e c o m i n g a d i s q u i s i t i v eh o t s p o t i nt h ef i e l do fe m b e d d e ds y s t e m ,a n dt o d e v e l o pc o m m u n i c a t i o ni n t e r f a c ed r i v e rs u c ha su s b d r i v e ru n d e re m b e d d e d s y s t e m i sa h i g h l ys i g n i f i c a n tj o b f i r s t l y t h e p a p e r g a v e ab r i e fd e s c r i p t i o no ft h ed e v e l o p m e n to fe m b e d d e d s y s t e m a n di n t r o d u c e dt h eg e n e r a la r c h i t e c t u r eo ft h ee m b e d d e dc o m m u n i c a t i o n p l a t f o r md e v e l o p e db y o u r s e l v e s t h em e t h o d o f d e s i g n i n gc o m m u n i c a t i o n i n t e r f a c ed r i v e ru n d e re m b e d d e d s y s t e mw a s b r o u g h t f o r w a r d s e e o n d l y b a s eo nt h ee m b e d d e dl i n u xo p e r a t i n gs y s t e m ,t h ep a p e ra n a l y z e dt h er e l a t i o no f o p e r a t i n gs y s t e m k e r n e la n dt h ed r i v e r , t h e p r i n c i p l eo f d e v e l o p i n g d e v i c ed e r i v e ra n dt h em e t h o d o f d e b u g g i n g d e v i c ed r i v e ru n d e rt h i so p e r a t i n gs y s t e mw e r e g i v e n a n d t h e n ,b yd e e p l ys t u d y i n go nu s bs y s t e ma r c h i t e c t u r e ,t h eu s bs y s t e mo fm o t o r o l a p o w e r p c8 5 0w a sd e s i g n e da n dr e a l i z e du n d e re m b e d d e dl i n u x o p e r a t i n gs y s t e mo nt h i s p l a t f o r m t h eh a r d w a r ei n t e r f a c ec i r c u i to fu s bs y s t e mw a sd e s i g n e d ,a n dt h ed r i v e ro fu s b h o s tc o n t r o l l e ro f m o t o r o l ap o w e r p c8 5 0w a s p r o g r a m m e d fi n a t1y ,t h ec o n c e p to fu s bd e v i c ee l a s sw a si n t r o d u c e d ,t h ed r i v e ro fud i s ku n d e r e m b e d d e dl i n u xs y s t e mw a sr e a l i z e d ,a n dt h em e t h o do f l o a d i n gau s bd e v i c ed r i v e ru n d e r e m b e d d e ds y s t e mw a ss u m n l a r i z e d k e yw o r d s :t h ee m b e d d e ds y s t e m ,m p c 8 5 0 ,d e v i c ed r i v e r ,u s b ,h o s t c o n t r o l l e r , d e v i c ec l a s i 第1 v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:邀厶盎歪统至通焦接望墼塑丝遮过当塞理 学位论文作者签名:曼墓红日期:二弦忤d s 为2 - 2 - 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留使用学位论文的规定本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借闯;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 堂厶盘墨统至亟篮蕉望墼叠鳗遮进皇塞煎 学位论文作者签名:垂篮红 日期:加d 中年期z 王日 储艚教师馘趣缒吼洲年,月吵 国防科学技术大学研究生院学位论文 图目录 图l 开发板6 图2 开发环境图7 图3 内核级、用户级和硬件级之间的通信1 2 图4 系统调用过程1 3 图5 设备驱动程序的作用1 4 图6u s b 电缆图2 9 图7u s b 物理拓扑结构2 9 图8 逻辑总线的拓扑3 0 图9 设备构架硬件的软件视图3 4 图1 0 软件的层次3 5 图1 lu s b 驱动程序示意图3 6 图1 2 集线器和高速设备的电阻连接4 0 图1 3m p c 8 5 0u s b 接口4 0 图1 4 m p c 8 5 0 u s b 接口连接4 l 图1 5 帧结构4 4 图1 6u s b 设备的描述符层次结构5 l 第1 页 国防科学技术大学研究生院学位论文 表l 通信接口 表2 u s b 系统结构 表3m p c 8 5 0 u s b 系统结构 表目录 8 2 6 4 2 第儿页 国防科学技术人学研究生院学位论文 第一章绪论 嵌入式系统技术将是未来高速发展的领域,后p c 时代将是嵌入式技术占据主导的时 代,后p c 时代的绝大多数计算机是以非计算机的形式出现的,如作为家庭网络组成部分 的电视机、电冰箱、空调等,这些设备的核心部分都包含计算机,但几乎都是以嵌入式系 统的形式存在,而不是以整机的形式出现。作为崭新的、面向应用的计算机系统,嵌入式 系统在集成了通用计算机系统的共性以外,还包含了很多适合“嵌入式”应用的新技术;因 此,嵌入式系统的发展越来越多地受到人们的普遍重视,其强大而灵活的可应用性得到了 计算机、通信和信息等产业的广泛认可,其就任已经扩展到前所未有的广泛领域。嵌入式 系统的出现与发展将真正实现计算机的“无处不在”。随着嵌入式技术的发展应用,嵌入 式设备要求配备一种或多种网络通信接口,通信接口的设计和应用成为嵌入式开发中的一 个重要部分。 l i n u x 操作系统自1 9 9 1 年4 月,由芬兰人l i n u xb e n e d i c tt o r v a l d s 发布以来,历经无 数版本的演进,渐渐变成一个完整的操作系统。这个发展过程吸引了全球的电脑爱好者以 及部分商业组织的参与,其开放性等特点使其成为挑战微软垄断的强有力武器,越来越受 到各个领域用户的喜爱。l i n u x 作为一种可裁减的软件平台系统,是发展嵌入式设备产品 的绝佳选择。 u s b 是英文u n i v e r s a ls e r i a lb u s 的缩写,即通用串行总线。它是针对p c 机外设的一 种新型接口技术,具有快速、双向、即插即用且价格低廉的特点。目前已在p c 机与外设 的连接以及基于p c 机的各种仪器中获得了广泛的应用。u s b 设备作为计算机的标准外围 设备以其热插拔,支持多个设备同时工作,外设自我标识,较高的传输速率等特点也倍受 人们瞩目。目前的u s b 设备包括键盘、鼠标、扫描仪、打印机以及存储设备等也日益普及。 但是要使这些设备像在w i n d o w s 中一样运行在l i n u x 操作系统中,就需要编写l i n u x 下的 该u s b 设备驱动程序。在嵌入式l i n u x 下进行u s b 的开发工作是一项复杂而重要的工作, 而我们的b c n g 板选择的m o t o r o l ap o w e r p c8 5 0 微处理器,它支持u s b 总线,并且内部 集成了自己的u s b 主控制器,由于m o t o r o l ap o w e r p c8 5 0 微处理器的主控制器结构有自己 的特点,进行主控制器驱动程序的开发是实现u s b 驱动的一个重要环节。 1 1 嵌入式系统概述2 剖 其实,嵌入式系统并不是一个新生的事物,从八十年代起,国际上就有一些i t 组织、 公司,开始进行商用嵌入式系统和专用操作系统的研发。嵌入式系统是将先进的计算机技 术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必 然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。与通用型计算机系 第1 页 国防科学技术大学研究生院学位论文 统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高;实时性强,支持多任 务;占用空间小,效率高;面向特定应用,可根据需要灵活定制。 嵌入式系统是面向用户、面向产品、面向应用的,嵌入式系统只有和具体应用有机地 结合在一起,它的升级换代也是和具体产品同步进行,嵌入式系统产品一旦进入市场,才 会具有较长的生命周期,如果独立于应用自行发展,则会失去市场。嵌入式系统应用广泛: 可用于移动计算平台( p d a 、掌上计算机) ,信息家电( 数字电视、机顶盒、网络设备) ,无线 通信设备( 智能手机、股票接收设备) ,工业商业控制( 智能工控设备、p o s a t m 机) ,电子 商务平台,甚至军事应用等诸多领域。据估计,其在全球每年带来的相关工业产值已超过 l 厅亿美元。 1 1 1 嵌入式系统的基本概念与组成 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件、硬件可裁剪、适 应应用,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。简而言之,一 个嵌入式系统就是一个计算机硬件和软件的集合体,有时还包括其它的一些机械部分,它 是为完成某种特定的功能而设计的。有时我们也称其为嵌入式设备,它是指具有计算机功 能,但又不称为计算机的设备或器材。和通用计算机不同,嵌入式系统的硬件和软件都必 须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样 才能在具体应用对处理器的选择面前更具有竞争力。嵌入式系统中的软件,一般都固化在 只读存储器中,而不是以磁盘为载体,可以随意更换,所以嵌入式系统的应用软件生命周 期也和嵌入式产品一样长。另外,各个行业的应用系统和产品,和通用计算机软件不同, 很少发生突然性的跳跃,嵌入式系统中的软件也因此更强调可继承性和技术衔接性,发展 比较稳定。 一般来说,嵌入式系统是执行专用功能并被内部计算机控制的设备或者系统。嵌入式 系统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件( f i r m w a r e ) , 终端用户很难或者不可能改变固件。” 嵌入式系统存在两种分类方法: 第一种方法分为三个阶段: 1 、一个最小的嵌入式系统仅需如下基本组成部分: 一个用作引导的可用设施r 工具) ; 一个具备内存管理、进程管理和定时器服务的l i n u x 微内核; 一个初始化进程。 2 、为使上面的最小嵌入式系统变得有一定实用性,需要加上一些东西: 硬件的驱动程序; 一个或几个应用进程以提供必要的应用功效。 3 、随着对系统要求的增加,也许还要用到下面这些组件: 第2 页 国防科学技术大学研究生院学位论文 个文件系统( 或许放在r o m 或r a m 中) t c p i p 网络协议栈: 一个磁盘用来存放半易失性数据和提供交换能力。 第二种方法将嵌入式系统分为如下三个部分: 1 、嵌入式芯片e m c u : e m p u 一嵌入式微处理器 e m c u 一嵌入式微控制器 e d s p 一嵌入式数字信号处理器 e s i c ,e p s o c 一一嵌入式片上系统,嵌入式可编程片上系统( 系统芯片) 2 、嵌入式软件e s o f t w a r e : c + + j a 脚本语言 h o p e n j i n i 3 、嵌入式操作系统( r t o s ) : v r t x p s o s v x w o r k s 、w l n c e 、e p o c l i n u x p a l m o s 一9 j a ,ac h o r u so s q n - x n a v i o 1 1 2 嵌入式系统的特点 嵌入式计算机系统与通用型计算机系统相比具有以下特点: 一嵌入式系统通常是面向特定应用的。从大体上看,嵌入式c p u 与通用型的最大不 同就是嵌入式c p u 大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、 集成度高等特点,能够把通用c p u 中许多由板卡完成的任务集成在芯片内部,从而有利于 嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 二嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应 用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断 创新的知识集成系统。 三嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同 第3 页 国防科学技术人学研究乍院学位论文 样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。 四嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进 行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 五为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片 或单片机本身中,而不是存贮于磁盘等载体中。 六嵌入式系统本身不具备自丌发能力,即使设计完成以后用户通常也是不能对其中 的程序功能进行修改的,必须有一套丌发工具和环境才能进行开发。 七嵌入式系统软件需要e o s 开发平台。通用计算机具有完善的操作系统和应用程序 接l ( a p d ,是计算机基本组成不可分割的一部分。应用程序开发以后,应用软件都在o s 平台上运行。嵌入式系统则不同,应用程序可以没有操作系统而直接在芯片上运行。但为 了合理地调度多任务、利用系统资源、系统函数以及专家函数接口,用户必须自行选配嵌 入式操作系统( e o s ) 丌发平台。这样才能保证程序执行的实时性和可靠性,并减少开发时 间,提高软件质量。一个优秀的e o s 是嵌入式系统成功的关键。 1 1 3 嵌入式l i n u x 操作系统0 4 i 嵌入式操作系统是嵌入式系统的灵魂,它的出现大大提高了嵌入式系统开发的效率。 在嵌入式操作系统中开发嵌入式系统,不仅极大地减少了系统开发的总工作量,而且提高 了嵌入式应用软件的可移植性。从八十年代起,国际上就有一些i t 组织、公司,开始进行 商用嵌入式系统和专用操作系统的研发。这其中涌现了一些著名的嵌入式系统:v x w o r k s 、 w i n d o w s c e 、p s o s 、q n x 、p a l m o s 、l i n u x 等。 l i n u x 是一套以u n i x 为基础发展而成的操作系统,一种可以运行于个人电脑上的类 u n i x 的操作系统,在源代码级上兼容绝大部分u n i x 标准,是一个支持多用户、多进程、 多线程、实时性较好的功能强大而稳定的操作系统。它充分利用了x 8 6 c p u 的任务切换机 制,实现了真正的多任务、多用户环境。l i n u x 对硬件配置的要求相当低,能够在4 m 内 存的3 8 6 机器上很好的运行,可以运行在x 8 6 p c 、s u ns p a r e 、d i g i t a l a l p h a 、6 8 0 x 0 、p o w e r p c 、 m i p s 等平台上,可以说l i n u x 是目前运行硬件平台最多的操作系统。l i n u x 最大的特点在 于它是g n u 的一员,遵循公共版权许可证( g p l ) ,秉承”自由的思想,开放的源码”的原 则,它在出现之初,就立刻以其自身独特的自由、奔放、免费的形式吸引了世界范围内的 大量优秀计算机技术人员,成千上万的专家爱好者通过i n t e r n e t 不断地完善并维护它,可 以说l i n u x 是计算机爱好者自己的操作系统。l i n u x 是爱好者们通过i n t e m e t 协同开发出来 的,它的网络功能十分强大,比如你可以通过邱,n f s 等来安装l i n u x ,用它来做网关等等。 经过十多年的发展后,l i n u x 操作系统已经在全球范围内掀起了一股愈演愈烈的l i n u x 风暴,并逐渐渗透到了几乎所有与i t 产业相关的领域,直接威胁到了w i n d o w s 等商业操 作系统的市场地位。同时,l i n u x 具备的稳定、高效、易定制、易裁减、硬件支持广泛等 特点,结合上其所独具的免费、开放源代码等特征,使得l i n u x 在近两年内迅速成为嵌入 第4 页 国防科学技术大学研究生院学位论文 式领域研究的热j 、j 。 嵌入式l i n u x 是将| = l 益流行的l i n u x 操作系统进行裁剪修改使之能在嵌入式计算机系 统上运行的一种操作系统。嵌入式l i n u x 既具有无限的开放源代码资源的特性又具有嵌入 式操作系统的特性。 首先,l i n u x 系统是层次结构且内核完全丌放。l i n u x 是由很多体积小且性能高的微内 核系统组成。在内核代码完全开放的前提下,不同领域和不同层次的用户可以根据自己的 应用需要很容易地对内核进行改造,在低成本的前提下,设计和开发出真正满足自己需要 的嵌入式系统。 其次,强大的网络支持功能。l i n u x 诞生于因特网并具有u n i x 的特性,这就保证了它 支持所有标准因特网协议,并且可以利用l i n u x 的网络协议栈将其开发成为嵌入式的 t c p i p 网络协议栈。 第三,l i n u x 具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环 境,并且可以跨越嵌入式系统开发中仿真工具的障碍。一般开发嵌入式操作系统的程序调 试和跟踪都是使用仿真器来实现的,而使用l i n u x 系统做原型的时候,可以绕过这个障碍, 直接使用内核调试器来做操作系统的内核调试和查错。 第四,l i n u x 具有广泛的硬件支持特性。无论是r i s c 还是c i s c 、3 2 位还是6 4 位等 各种处理器,l i n u x 都能运行。l i n u x 最通常使用的微处理器是i n t e lx 8 6 芯片家族,但它 同样能运行于m o t o r o l a 公司的6 8 k 系列c p u 和i b m 、a p p l e 、m o t o r o l a 公司的p o w e r p c c p u 以及i n t e l 公司的s t r o n g a r mc p u 等处理器系统,这意味若嵌入式l i n t u x 将具有更广+ 泛的 应用前景。 最后其强大的语言编译器g e e 、矿等也可以很容易得到,不但成熟完善、而且使用方 便,也是选择l i n u x 作为嵌入式操作系统的一个原因。 1 2 嵌入式系统开发环境的总体设计 1 2 1b c n g - - p p c 主板介绍 b c n g - - p p c 主板是我们课题组自行开发的基于m p c 8 5 0 的多功能通信硬件平台。采 用3 2 位嵌入式通信控制器m p c 8 5 0 为c p u ,具有串口、以太网、r s - - 4 8 5 、u s b 等多种 通信功能,采用嵌入式l i n u x 操作系统,适合远程数据采集,路由等嵌入式应用。主板外 形如图1 所示。 第5 页 国防科学技术大学研究生院学位论文 图1 开发板 开发板的基本配置如下: c p u :x p c 8 5 0 s r z t 5 3 3 a 5 0 m h z ,该主板采用s o c k e t 3c p u 插座,c p u 焊在专门的 c p u 小板上。 快闪存储:在板4 m bf l a s hr o m ,使用c s 0 ; 内存:该主板采用2 片1 6 m b y t e 内存构成3 2 位3 2 m b y t es d r a m 内存。使用c p uc s l ; 芯片型号:h y 5 7 v 2 8 1 6 2 0 h c t h ,芯片参数,1 3 3 m ,c a s = 2 ; e e p r o m :a t 2 4 c 0 2 ,使用1 2 c 接口; e t h e m e t 端口:2 个1 0 b a s e - t 以太网端口,使用s c c 2 ,s c c 3 ; 串行端口:2 个r s 2 3 2 端口,提供e s d 保护,使用s m c l ,s m c 2 ; $ 4 8 5 端口:一个,使用s m c 2 ; u s b 端口:1 个u s b 端口,和p d i u s b p l l a d 相连; s p i 接口:一个; 1 2 c 接口:一个,和a t 2 4 c 0 2 相连; 硬复位中断按钮,预留7 根外部中断请求线; 预留可编程i o 接口: b d m 调试口; 电源:该主板采用+ 5 v 电源通过p 6 插头供电,正极在里,负极在外。建议采用1 5 a 以上电源。 复位:s l 为手动硬复位按钮。 时钟:采用6 m 有源时钟,启动应用程序后,进一步内部p l l 倍频为4 8 m h z 。 其中有些通信端口在c p u 的管脚上是复用的,使用时通过软件进行协议设置并需要跳 线区别。 第6 页 国防科学技术人学研究生院学位论文 1 2 2 开发环境 l i n u x 自身具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境, 个人用l i n u x 丌发嵌入式应用时,可以在自己的p c 机上装一套l i n u x ,例如,r e dh a t l i n u x 。可以使用l i n u x 中的xw i n d o w s ( x t e r m ) 丌若干个窗口用于编译、下载、调试等;可 以使用l i n u x 中的e m a c s 作文本编译。w i n d o w s 中有的软件在l i n u x 中几乎都有。但由于 多数人对l i n u x 环境和l i n u x 中的应用程序不熟悉,宁愿用p c 上基于w i n d o w s 的操作系 统,此时可以在w i n d o w s 环境下装上c y g w i n 软件。g n u 中的c y g w i n 是在w i n d o w s 下运 行l i n u x 的自由软件。但我们发现,c y g w i n 的兼容性似乎不太好,在有的p c 机一k l l 装得 上,有的p c 机上装不上。c y g w i n 的安装过程要两三个小时,有时装到一半出现错误很不 好处理。 一种更好的开发环境如图2 所示。采用的办法是用1 台p c 机运行l i n u x 作为服务器, 所有的嵌入式丌发工具都安装在该服务器上,包括嵌入式l i n u x 内核源代码以及交叉编译 工具。每个开发人员的客户机与服务器通过局域网连接,开发人员的客户机可以安装 w i n d o w s 或l i n u x 操作系统,被开发的目标板也挂在局域网上。开发人员通过t e l n e t 协议登 陆到l i n u x 服务器上进行软件开发,在服务器的l i n u x 环境下,用g n ug c c 编译生成同标 代码,再用t f t p 下载到开发板上。我们课题组正是采用了这种适应多人开发的环境,开 发板是自己研制的b c n g - - p p c 主板。 姗 f t pi te l n e t 士 占 画 岁乎uif m 嘲,_ j 匹捧蛄 甲甲 中奸j l 吨娩 l 卓抒唆if 艋自蛰 晰睦li 聃电唆 从 出挑9 n f s ll 厂云f 1厂苫l 图2 开发环境图 我们课题组b c n g 嵌入式l i n u x 开发系统采用p p c b o o t 作为引导代码,p p c b o o t 可以加载多种操作系统。既可以从本地f l a s h 加载也可以从网络加载。我们系统加载l i n u x 操作系统。在l i n u x 程序丌发阶段,采用网络加载方式,这样可以极大的加快开发速度。 p p c b o o t 首先对c p u 以及主板进行初始化,进入控制界面,使用t 邱协议( 简单文件 传输协议,6 9 u d p ,t 邱提供简单、单纯、不昂贵的文件传输服务,最初设计于无盘工作站 第7 页 国防科学技术火学研究生院学位论文 的以太网r o m 中,目前广泛用于嵌入式系统的b o o t l o a d e r 中) 从服务器上下载内核,并 启动内核。内核启动后,再次使用d h c p d 协议获取本机i p 地址,加载网络文件系统作为根 文件系统。d h c p ( 动态主机配置协议) 用于动态i p 地址分配,是b o o t p 的升级版,是b o o t p 协议的扩展,使用动态地址可以减少网络管理工作,因为它消除了经常手工更新d n s 的 必要性。 在b o o t l o a d e r 程序的设计与实现中,能够向串口终端打印信息,p c 机从串口终端正 确地收到打印信息通过超级终端打印信息。是一个非常重要而又有效的调试手段。 1 3 嵌入式系统下通信接口底层驱动的设计 1 3 1 嵌入式通信接1 2 j 5 i 嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入式设 备必需配有通信接口,相应需要t c p i p 协议簇软件支持;由于家用电器相互关联( 如防盗 报警、灯光能源控制、影视设备和信息终端交换信息) 及实验现场仪器的协调工作等要求, 新一代嵌入式设备还需具备1 e e e l 3 9 4 、u s b 、c a n 、b l u e t o o t h 、i r d a 等通信接口,常见 的接口r s - - 2 3 2 用在两台计算机之间短距离和慢速的连接,r s 一4 8 5 用在两台或者多台计 算机之间远距离或者快速的连接。下表详细比较了各种接口。 表1 通信接口 接口格式设备数( 最大)长度( 最大,r ) 速度( 最大,b p s ) r s 2 3 2 异步串行 25 0 1 0 0 2 0 k ( 有的达1 1 5 m r s 一4 8 5异步串行3 2 单位负荷 4 0 0 01 0 m i r d a 异步红外串行 261 1 5 k m i c r o w i r e 同步串行 81 02 m s p i 同步串行 81 02 1 m 1 2 c 同步串行 4 01 84 0 0 k u s b 异步串行 1 2 71 64 8 0 m f i r e w i r e 串行 6 41 54 0 0 m i e e e 4 8 8 ( g p i b )并行 1 56 01 m e t h e m e t 串行 1 0 2 41 6 0 01 0 m m i d i 串行电流 21 53 1 5 k 并行打印接口并行2 个,有菊花 1 0 - 一3 01 m 链支持时8 个 表中r s - - 2 3 2 因为应用范围广、价格便宜并且可以比其它接口使用更长的导线,因此 第8 页 国防科学技术人学研究生院学位论文 应用广泛。r s - - 4 8 5 的价格也比较便宜,能够很方便地添加到p c 或者微控制器中。 i r d a ( 红外传输协议) 接1 2 1 可以使用与r s - - 2 3 2 相同的通用异步收发报机( u a r t ) 和 数据格式,但是数据以红外能量的形式在无线连接中进行传送,还支持比r s - - 2 3 2 更长的 距离、更快的速度以及更多的节点。 m i d l ( 乐器数字化接口) 用于传送乐器、剧院控制设备和其它机器控制器使用的信号。 它使用视觉上独立的5 m a 电流回路传送速度达到3 1 5 k b p s 。 m i c o w i r e 、s p i 和1 2 c 是同步串口,它们在短程的连接中是有用的。许多微控制器内置 个或多个这样的接口。 e t h e m e t ( 以太网) 是许多p c 网络中经常使用的网络接口。它的速度很快,功能很强大, 但是所需要的硬件和软件与其它接口比较起来显得复杂而且价格昂贵。 串口的替代接口是并口。它有多条数据线。速度很快,对于远距离传输或多台计算机 的连接中。电缆的铺设过于昂贵。 i e e e - - 4 8 8 是另一个仪器和控制应用中普遍使用的并行接口。并行打印机口这一接口 在所有的p c 中已经成为标准化配置。 u s b 和f i r e w i r e ( i e e e 1 3 9 4 ) 是新型的、高速的智能的接口。 b c n g p p c 嵌入式板的接口:该主板具有两个r s 2 3 2 串口,一个r s 4 8 5 串口;具有一 个固定1 0 m 以太网接口,使用c p us c c 2 ,对外接头使用p lr j 4 5 头,符合标准以太网r j 4 5 规范;一个u s b 端口,支持1 2 m b p s 全速模式。 1 3 2 通信接口驱动的设计思想 我们在前面介绍嵌入式系统的组成时了解到一个最小的嵌入式系统的基本组成部分 为:一个用作引导的可用设施( 工具) ;一个具备内存管理、进程管理和定时器服务的操作 系统( 如l i n u x ) 微内核:一个初始化进程。 嵌入式系统是以应用为中心的。目前,嵌入式系统的发展受到人们的普遍重视,在计 算机、通信和信息等产业领域得到了广泛的应用。一个最小的嵌入式系统是什么工作也做 不了的,要使这个最小嵌入式系统变得有一定实用性,还需要加上:硬件的驱动程序;一 个或几个应用进程以提供必要的应用功效。嵌入式系统是面向用户、面向应用的。因此在 嵌入式系统的开发中,底层硬件的驱动程序的开发非常重要。 在嵌入式系统中通信接口的驱动是与硬件的体系结构有关的,设备驱动程序是操作系 统内核和机器硬件之间的接口,由于不同的操作系统支持的函数以及调度的方式不尽相 同,驱动程序的编写方式也不相同,但基本思想可归纳如下几点: 首先,嵌入式开发需要开发环境。通常嵌入式微处理器和p c 机不同,需要构造交叉 编译环境。 其次,对所要开发的嵌入式系统的结构清楚,要清楚通信接口硬件的体系结构。 i ,要选择具体的嵌入式操作系统,驱动程序它是操作系统内核的一部分,不同的 第9 页 国防科学技术人学研究生院学位论文 操作系统中驱动程序的编写原理也不同。 四,弄清楚所选的操作系统的内核所支持的一些函数,精通编程语言,编写程序。 五,进行驱动程序的调试、加载。 这早只是讲了接口驱动的设计思路,具体的不同的接口的驱动程序由丁具体的硬件体 系结构的不同,驱动程序的编写区别很大,驱动程序的编写是一项很复杂的工作。 本文在我们课题组自己开发的b c n g 板上,在我们的嵌入式开发环境下,选l i n u x 作 为嵌入式操作系统,m p c 8 5 0 作为微处理器,以u s b 系统的设计与驱动为例具体的给出 了嵌入式系统通信接口驱动的设计与驱动的过程。 1 3 3u s b 接口介绍 通用串行总线( u n i v e r s a ls e r i a l b u s u s b ) ,是一种快速、灵活的总线接口。与其它通信 接口比较,u s b 接口的最大特点是易于使用,这也是u s b 的主要设计目标。作为一种高 速总线接口,u s b 适用于多种设备,比如数码相机、m p 3 播放机、高速数据采集设备等。 易于使用还表现在u s b 接口支持热插拔,并且所有的配置过程都由系统自动完成,无需用 户干预【5 1 。 首先,u s b 是一种“总线”。与传统的外部设备与主机之间的联系方式不同,它允许 将不同种类的外部设备混合连接到同一个接口上。可是,它与计算机内部的总线( 如p c i 总线) 不同,c p u 不能通过访内指令或v o 指令直接访问连接在u s b 上的设备。而要通过 一个“u s b 控制器”,间接地与连接在u s b 上的设备打交道,u s b 总线存在于计算机的外 部,所以说是外部总线。还有,u s b 的信号线一共只有两条( 外加两条电源线) ,线上的 信号是串行的,所以是串行外部总线。至于“通用”是指只要带有u s b 接口的设备都可以 连接到总线上,并且支持热插拔。 u s b 是一种主从总线,工作时u s b 主机处于主模式,设备处于从模式。u s b 系统所 需要的唯一的系统资源是:u s b 系统软件所使用的内存空间、u s b 主控制器所使用的内存 地址空矧( v o 地址空间) 和中断请求( i r q ) 线。u s b 设备可以是功能性的,如显示器、 鼠标或者集线器之类。它们可以作低速或者高速设备实现。低速设备最大速率限制在 1 5 m b s ,每一个设备有一些专有寄存器,也就是端点( e n d p o i n t ) 。在进行数据交换时,可 以通过设备驱动间接访问它。每一个端点支持几种特殊的传输类型,并且有一个唯一的地 址和传输方向。不同的是端点0 仅用作控制传输,并且其传输可以是双向的。 系统上电后,u s b 主机负责检测设备的连接与拆除、初始化设备的列举过程,并根据 设备描述表安装设备驱动后自动重新配置系统,收集每个设备的状态信息。设备描述表标 识了设备的属性、特征并描述了设备的通信要求。u s b 主机根据这些信息配置设备、查找 驱动,并且与设备通信扣】。 u s b 建立了一套连接和访问外围设备的方法,这些方法可以有效的减少总体成本。而 且终端用户的角度来看,它可以简化设备的连接和配置,不仅如此,还可以解决老式的外 第l o 页 国防科学技术大学研究生院学位论文 围设备所存在的某些技术问题。加之u s b 的热插拔、即插即用、低成本等优势,u s b 已 受到广大用户的青睐。在嵌入式系统u s b 驱动程序的开发有着非常的意义 1 4 论文研究的工作及内容 本文在我们课题组构造嵌入式l i n u x 系统的通信平食上进行的软件开发。嵌入式系统 驱动程序的设计要求开发人员对嵌入式系统的软、硬件基础有着较为深入的理解,并且需 要有较为丰富的编程经验。要求非常熟悉有关l i n u x 的知识、掌握l i n u x 内核的部分源代 码;在熟练运用c 语言编程的基础上掌握l i n u x 下的c 语言的编程方法;要求熟悉嵌入式 系统的软件开发方法,特别是软件的调试技术:要求了解相关的硬件知识:要掌握l i n u x 下的驱动程序的编写方法。u s b 总线结构复杂,一般开发需要时间较长。 论文中介绍了嵌入式系统的概念及嵌入式l i n u x 下的设备驱动程序的设计方法与设计 思想,深入研究了u s b 总线的体系结构及其软硬件构成,并以此理论为依据,在嵌入式 l i n u x 下设计了嵌入式微处理器m o t o r o l ap o w e r p c8 5 0 的u s b 系统,完成m p c 8 5 0 主控制 器的驱动程序的设计与实现,设计了硬件接口电路,编写了m o t o r o l a p o w e r p c8 5 0u s b 系 统驱动程序。最后介绍了u s b 设备类的概念,在b c n g 嵌入式l i n u x 下具体的实现了u 盘的驱动,总结出u s b 设备驱动程序的加载方法。 本文共分为五章,第一章绪论阐述了嵌入系统的概念、特点、应用以及我们开发的嵌 入式通信平台的总体结构,简要介绍了l i n u x 操作系统和通用串行总线( u s b ) 的概念, 阐述了嵌入式系统下通信接口硬件驱动的设计思想。第二章以l i n u x 作为嵌入式操作系统, 论述了驱动程序与内核之间的关系、驱动程序的编写原理及加载方式,介绍了驱动程序的 调试方法。第三章详细的介绍u s b 总线接口的特点、协议及系统的软硬件的构成,为u s b 系统的设计和开发提供了理论依据。第四章在b c n g 嵌入式l i n u x 下设计了以m o t o r o l a p o w e r p c8 5 0 作为微处理器的u s b 系统,完成了接口电路的设计,编写了m p c 8 5 0 主控 制器驱动程序。第五章以介绍了u s b 设备类入手,总结出设备驱动程序的加载方法,在 b c n g 嵌入式l i n u x 下实现了u 盘的驱动。 第1 1 页 国防科学技术大学研究生院学位论文 第二章通信接口底层驱动的编写原理 驱动程序的编写是在一定的操作系统下完成的。由于l i n u x 操作系统在嵌入式领域应 用最多,及它的诸多优点,我们选择l i n u x 作为嵌入式操作系统,这一章主要探讨一下l i n u x 下驱动程序的编写方法。 l i n u x 是u n i x 操作系统的一种变种,在l i n u x 下编写驱动程序的原理和思想完全类似 于u n i x 系统,但它和d o s 或w i n d o w 环境下的驱动程序有很大的区别。在l i n u x 环境下设 计驱动程序,思想简洁,操作方便,功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江事业单位笔试真题2025
- 聊城事业单位笔试真题2025
- 2024年新疆第二医学院招聘事业单位工作人员笔试真题
- 主题4 战略性矿产资源-石油教学设计-2025-2026学年高中地理选择性必修3中图中华地图版
- 2024-2025学年高中化学 第三章 第四节 离子晶体说课稿 新人教版选修3
- 九年级化学下册 第九单元 溶液 实验活动5 一定溶质质量分数的氯化钠溶液的配制说课稿 (新版)新人教版
- 油墨厂高岭土验收规章
- 企业员工保密合同协议
- 股权转让合同
- 第三节 撒哈拉以南非洲说课稿-2025-2026学年初中地理鲁教版五四学制六年级下册-鲁教版五四学制2012
- 电缆沟及盖板作业指导书培训课件
- GB/T 19867.6-2016激光-电弧复合焊接工艺规程
- GB/T 19478-2018畜禽屠宰操作规程鸡
- 三级教育考试卷(焊工)答案
- 无生上课课堂教学评价标准
- 深圳低压电工作业-实际操作培训课件-科目四-作业现场应急处理
- 中控岗位培训课件
- 宾馆酒店前台责任书
- 2.2 第2课时 基本不等式的综合应用(课件)高一数学(人教A版2019必修第一册)
- 勿忘国耻教学课件
- 《中国音乐发展简史》PPT课件
评论
0/150
提交评论