(通信与信息系统专业论文)嵌入式系统pcmcia协议分析及wimax的接入.pdf_第1页
(通信与信息系统专业论文)嵌入式系统pcmcia协议分析及wimax的接入.pdf_第2页
(通信与信息系统专业论文)嵌入式系统pcmcia协议分析及wimax的接入.pdf_第3页
(通信与信息系统专业论文)嵌入式系统pcmcia协议分析及wimax的接入.pdf_第4页
(通信与信息系统专业论文)嵌入式系统pcmcia协议分析及wimax的接入.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(通信与信息系统专业论文)嵌入式系统pcmcia协议分析及wimax的接入.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 目前,在无线接入领域,开发所采用的硬件套片几益成熟,相关协议也已经相当完善, 这些使得通过无线网卡的接入来为嵌入式设备添加新的通信功能成为一条经济可行的途 径。根掘课题要求,本文分析并比较了各种接入方法的性能指标和市场现状,在嵌入式h n u x 平台上,实现了一个具有良好的兼容性和稳定性的无线模块。完成的工作主要有以下几点: 1 ) 通过对接入技术和p c m c i a 子系统的分析研究,简化了p c m c i a 协议栈的按u 函 数集,并根据这些函数的目的和重要性对它们重新进行了分类和分析,捉m 了嵌 入式移植中兼容问题的一个较为通用的解决策略。 2 ) 通过对p c 卡驱动和p c m c i a 子系统交互部分的研究,实现了p c 卡驱动和 p c m c l a 子系统的交互。 3 ) 根掘对w i m a x 协议体系结构的分析,实现了w i m a x 无线模块的接入。 根掘课题的实际情况,本文验证了所提出的兼容性问题解决策略,对无线模块的u 藤容 性和稳定性进行了验证和分析。 关键词:无线接入;p c m c 队;w i m a x 第1 页 a b s t r a c t a tp r e s e n t ,i nt h ef i e l do fw i r e l e s sn e t w o r ka c c e s s ,t h ec h i p s e t st e c h n o l o g yu s e di n i m p l e m e n t a t i o ni sb e c o m i n gm o r ea n d m o r em a t u r ea n dt h er e l e v a n tp r o t o c o l sh a v eg r o w nq u i t e p e r f e c ta tt h es a m et i m e a sar e s u l t ,i ti se c o n o m i c a l l yf e a s i b l et oh a v eo n em o r ec o m m u n i c a t i o n f u n c t i o na d d e df o re m b e d d e de q u i p m e n tb ys i m p l y c o n n e c t i n gw i t haw i r e l e s sn e t c a r d a c c o r d i n gt ot h er e q u i r e m e n t so ft h ep r o j e c t ,w ea n a l y z e da n dc o m p a r e dt h ep e r f o r m a n c ea n d t h em a r k e ts i t u a t i o no fe v e r yi n s e r t i o nm e t h o d ,a n di m p l e m e n t e daw i r e l e s sm o d u l ew i t hw e l l c o m p a t i b i l i t ya n ds t a b i l i t yi nt h ee m b e d d e dl i n u xp l a t f o r m t h ea c h i e v e m e n t sa r ea sf o l l o w s : 1 ) t h r o u g ht h ea n a l y s i sa n dr e s e a r c ho fm o d u l ei n s e r t i o nt e c h n o l o g ya n dp c m c i a s u b s y s t e m ,w es i m p l i f i e dt h ei n t e r f a c ef u n c t i o n so fp c m c i ap r o t o c o ls t a c ka n d p r o p o s e dau n i v e r s a lm e t h o df o rt h ec o m p a t i b l ep r o b l e m si nt h ee m b e d d e dt r a n s p l a n tb y m a k i n gan e wc l a s s i f i c a t i o na n dp r a c t i c a la n a l y s i sf o rt h e s ef u n c t i o n sa c c o r d i n g t ot h e i r o b j e c t i v ea n ds i g n i f i c a n c e 2 ) a c c o r d i n gt oo u rr e s e a r c h ,w ei m p l e m e n t e dt h ei n t e r a c t i o np r o c e s sb e t w e e np c c a r d d r i v e r sa n dp c m c i a s u b s y s t e m 3 ) t h r o u g ht h ea n a l y s i so ft h es y s t e ma r c h i t e c t u r eo fw i m a xp r o t o c o l ,w ei m p l e m e n t e d t h ew m a xw i r e l e s sm o d u l ei n s e r t i o n a c c o r d i n gt ot h ep r a c u c a ls i t u a t i o no f t h ep r o j e c t ,w ev a l i d a t e dt h em e t h o do f t h ec o m p a t i b l e p r o b l e m s ,a n dv a l i d a t e da n da n a l y s e dt h ec o m p a t i b i l i t ya n ds t a b i l i t yo f t h ew i r e l e s sm o d u l e k e yw o r d s :w i r e l e s sa c c e s s :p c m c i a ;w l m a x 第1 i 页 信息丁稗大学硕十学付论文 图目录 图l无线模块结构简图7 图2p c m c l a 子系统层次结构8 图3 无线模块实现方案1 0 图4p c 卡资源配置流程1 7 图5 t u p l e 结构和t u p l e 指针结构1 8 图6t u p l e 队列18 图7 设备链表d e vl i n k 2 5 图8e x a m p l e 结构体26_pccard 图9 驱动程序信息列表d r i v e r 和s o c k e tt a b l e 的数掘结构2 7 图l o 卡服务接口层的实现模块仞始化2 7 图1 l 卡服务接口层的实现j 实例”的创建及配胃2 8 图1 2w i m a x 体系结构3 0 图1 3 芯片相关私有信息p r i v ,3 2 图1 4 缓冲区s kb u f f 3 3 图1 5 控制模块3 4 图1 6 网卡重启3 5 图1 7 数据块的读写3 6 图1 8 自组织网络3 7 图1 9 基础结构网络3 8 图2 0 实验环境拓扑结构3 8 第v l 页 独创性声明 所提交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所 知,除了文中标注和致谢的相关内容外,论文中不包含其他个人或集体已经公丌的研究成 果。与我一同工作的同志对本研究所做的任何贡献均己在沦文中作了明确的说明并表示谢 意。 学位论文题目: 送式丕缍丛! 协这岔扭丛盟! m 基曲篮厶 学位论文作者签名: 邋臻 日期:卯d 6 年月,闩 学位论文版权使用授权书 本人完全了解信息工程大学有关保留、使用学位论文的规定。本人授权信息丁t 程大学 可以保留并向国家有关部门或机构送交论文的复印件和电予文档,允许论文被查阅和f 阅;可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫拙等复制手段保存、汇编学位论文。 ( 涉密学位论文在解密后适用本授权书。) 学位论义题目:毖厶式丕统丛! 地! 这公拓拯盟幽x 曲篮厶 学位论文作者签名:送殖同期:泖,年月。6 同 作者指导教师签名:童建笙h 期:z 删,年彳月“同 堕:垦! :堡查兰堡主生堡苎 1 1 课题背景 第一章绪论 嵌入式设备的无线通信是当今计算机网络技术范围内最为活跃和发展最为迅速的领 域之一i l 圳。小至手机、p d a ,大到车载导航定位系统、数控机床,形式各样的嵌入式终端 正逐渐将i n t e r n e t 连接到生活的每个细节,成为继p c 机之后信息处理的一大主要 : 具1 4 “。据保守估计,未来十年问,网络冰箱、家庭网关、数字机顶盒等信息家电总量可达 到l 一1 5 亿台,总市场需求将达到9 0 0 1 5 0 0 亿元。随着越来越多的嵌入式设备“飞入哥常铂 姓家”,人们对其无线通信的稳定性和快捷性提出了更高的要求。受到这一强大的市场需求 推动,各种致力于速度更高、服务更多、性能更强的无线宽带协议应运而生,w i m a x 标 准( w o r l di n t e r o p e r a b i l i t yf o rm i c r o w a v ea c c e s s ,意即微波存取全球互通) ,也即广带无线接 入( b r o a d b a n dw i r e l e s s a c c e s s ,b w a ) 标准,就是其中之一。特别是随着第一个w i m a x 无线宽带标准的批准和英特尔w i m a x 芯片推出时间表的正式发靠,这种接入方式在嵌入 式设备上的实现条件已逐渐成熟1 7 , 8 1 。 1 嵌入式环境下无线接入方式综述 目前市场上比较常见的嵌入式系统的无线接入方案主要有5 种:k d a ( 红外线数掘) 、 b l u e t o o t h ( 蓝牙) 、g p r s ( g e n e r a lp a c k e tr a d i os e r v i c e ,即通用分组无线业务) 、c d m a ( c o d e d i v i s i o nm u l t i p l e a c c e s s ,即码分多址) 和i e e e 8 0 2 1 l b g a ( w l a n ) 一。”。 蓝牙和红外方式都属于短距离无线接入方案,能够有效的简化嵌入式设备在办公室等 场所的通信。但是,蓝牙的传送距离一般不超过1 0 0 米,红外方式只能进行点对点近跑离 传输,传输距离大多在3 0 厘米到3 米左右,都无法提供远距离、大容量的无线通信能力 1 2 - 1 4 1 。 对于中短距离的无线接入,g p r s 、w l a n 和c d m a 都是不错的方案,g p r si 】 。以神r 任何有信号的地方接入网络,具有“实时在线”、“按量计费”、“快捷登录”、“自如切换”等 优点;但它的速度慢于w l a n ,而且需要交纳一定的费用,w l a n 可以力便地接入崩域 网,传输距离达几百米;c d m a 的无线接入方式速度比w l a n 要慢,但比g p r s 伙很 多,覆盖能力介于两者之间。但是,随着嵌入式设备的同益普及,通信用户数量的急剧增 加,这些常用的接入方式无论在传输速率还是容量上都远远无法达到市场对下一一代无线通 讯网的要求。因此,作为解决途径之一,w i m a x 标准受到了越柬越多的关注【1 0 1 。 w l m a x 标准,又称i e e e 8 0 2 1 6 ,或广带( 宽带) 无线接入卡,j 、准,是一项无线城域网 ( w m a n ) 技术。它的传输距离长达5 0 公晕,采用多通道多点( m m d s ) 方式传输,可以j jr 将8 0 2 1 1 a 无线接入热点连接到互联网,也可连结公司、家庭等环境至有线骨于线路,竹 代现有的有线和d s l 连接方式,提供“最后一英罩”的无线宽带接入【l ”。在典型的3 剑1 0 第1 页 信息t 稃大学硕十学何论文 英里半径单元部署中,w i m a x 系统可以为固定和使携接入应用提供岛达每佶遁4 0 m b p s 的容量,同时支持数百使用t - i 连接速度的商业用户或数千使用d s l 连接速度的家庭川户 的需求,并提供足够的带宽。移动网络部署将能够在典型的( 最高) 3 公罩半径单九部署 中提供高达1 5 m b p s 的容量。 1 1 2 无线网卡接口概要介绍 目前,市场上提供的无线网卡,绝大多数都是基于p c m c i a 或u s b 接口的 1 8 , 1 9 j 。根 据项目采用的x h y p e r 2 5 5 b 丌发板支持的接口类型,我们选取p c m c i a 接口作为无线网 卡的接入方式。p c m c i a ( p e r s o n a lc o m p u t e rm e m o r yc a r di n t e r n a t i o n a la s s o c i a t i o n ) 是一个分 层、通用并支持即插即用的扩展接口标准。它的组织成立于1 9 8 9 年,是一个有3 0 0 多个 成员公司的国际标准组织和贸易联合会,其成员有i n t e l 、a m d 、i b m 、c o m p a q 和t i 等田 际知名公司。 当前,p c 卡可分为三种规格:t y p e i 、t y p e i i 和t y p e i i i ,它们的长宽都是8 5 6 x 5 4 m m 2 , 厚度依次增加。t y p e i 大多在内存设备中应用,t y p e i i i 则主要用于微型硬盘驱动器,最 为常用的是t y p e i i ,一般采用的p c 卡都是指这种类型。 市场上早期使用的p c 卡都是1 6 比特的,存在速度较慢、容量较小的缺点。现在市场 上流行的大多是3 2 比特的c a r d b u s 卡,它能够提供对3 2 位i o 及内存数掘通道的支持, 运行频率可达3 3 m h z 。这种卡和2 x 以前版本的p c m c i a 系统并不兼容,如果需要这些系 统支持c a r d b u s 卡,就必须修改p c m c i a 协议栈软件。 1 2 课题的提出 1 2 1w i m a x 接入方式 和市场上现有的无线终端相比,采用了w l m a x 技术的终端具有长距离、大容弩、高 速度尤其是优秀的抗干扰能力等特点,非常适合在复杂的通信环境下快捷地建立无线嘲 络。同时,w i m , a 协议还提供了多种安全控制和服务质量控制,可以有效的保障用户埘 稳定性、安全性的要求”j 。 最早的i e e e 8 0 2 1 6 标准是针对1 0 6 6 g h z 高频段视距( l o s ) 制定的无线城域网卡,j 、准, 于2 0 0 1 年1 2 月获得i e e e 批准。在2 0 0 3 年1 月随后批准通过的8 0 2 1 6 a 是为工作在2 一l l g h z 频段的非视距( n l o s ) 宽带固定接入系统而设计的。但目前所说的8 0 2 1 6 标准主要包拓 8 0 2 1 6 d ( 固定的无线接入) 和8 0 2 1 6 e ( 移动的无线接入) 两类。8 0 2 1 6 e 是当胁w 1 m a x 技术的重点,也是英特尔公司( i n t e l ) 主推的商业平台。前不久,英特尔正式发表w i m a x 芯片的推出时间表,计划0 6 上半年推出全新的w l m a x 无线芯片。 1 2 2p c m c i a 接口分析 p c m c n 卡( p c 卡) 除了具备轻巧、方便携带、设备支揭广泛的优点外,还搠仃j 第2 页 信息t 挥人宁硕十宁付论文 u s b 外设相丌j 的“热拔插”( h o t p l u g g i n g ) 功能,可以在丌机状念p 女皱和卸载,并能自曲 通知操作系统更新设备。p c m c i a 接口是嵌入式设备的必备接口之一,也是无线网卡的首 选接1 :3 类型之一【2 0 - 2 2 1 。目l ; ,市场上提供的无线网卡,一半以上都足基于这种接口的。这 种卡种类齐全、可选择性大,当前已推出和计划推出的w l m a x 无线网卡芯片也都有毖于 p c m c n 接口的版本。 p c m c i a 标准详细定义了每一层的功能及其接口( a p i ) ,特别是2 0 到2 1 版增加了“ 和插槽服务”( c a r da n ds o c k e ts e r v i c e s ) 软件规范后,凡是符合标瑁:的硬件( 控制器、p c 卡) 和软件( 应用程序、驱动程序) ,都可以更方便地移植到不同的平台和操作系统 二1 2 川。 当时比较稳定并在嵌入式系统中广泛采用的p c m c i a 版本大多是2 x 版的,最新的 p c m c i a 版本正式名称是“p cc a r ds p e c i f i c a t i o n ”( p c 卡规格) ,也被称为“3 0 版”。一般的 开发板供应商提供的软件包中都会包括p c m c i a 支持,在理想的情况下,只要再安装p c 卡需要的驱动就可以直接使用了。不过,实际情况却并非如此。虽然标准制定者已经就兼 容性方面进行了全面设计,但是大部分嵌入式系统,特别是一、两年前购买的系统,首次 安装新p c 卡时大多会被提醒更新计算机的p c m c i a 软件。以x h y p e r 2 5 5 b 丌发板为例, 官方网站提供的还是2 0 0 3 年以前的旧版本,而掘有关消息报道,w i m a x 无线网卡则要剑 2 0 0 6 年年底甚至更晚才有可能进入中国市场。新型的p c 卡驱动与老版本的p c m c i a 软件 共用时,出现兼容性方面的问题是必然的。当然,还有些p c 卡产品配套提供了p c m c i a 软件的最新版拷贝,一旦检测到兼容问题,就会自动执行安装新版本的工作。这种设汁对 于一般的p c 机( 个人电脑) 是比较有效的,但是,由于嵌入式硬件平台多样性和应用个 性化的特点,绝大部分丌发板的p c m c i a 软件包都或多或少进行过修改,所以简单地采用 p c 卡提供或网站下载的新版本p c m c l a 软件替换开发板原有的过期版本在这罩显然是行 不通的。 解决这个问题比较快速有效的方法是编写w i m a x 接入模块代码并根据需要修改原有 的“卡和插槽服务”软件模块。 1 2 3 课题的提出 针对p c 卡驱动和p c m c i a 软件的兼容问题,本课题试图通过对嵌入式l i n u x 系统 p c m c 队协议栈的分析,以w i m a x 无线模块的接入为例,为功能模块在嵌入式h n u x p c m c 队系统中的接入提供套简化并具有一定通用性的方法。它包括两个重点:嵌入弋 移植兼容性问题的解决和w i m a x 无线模块的模块化设计与实现。 研发使用的丌发平台是基于i n t e lx s c a l ep x a 2 5 5 处理器的高端a r m 丁r 发1 7 台 x h y p e r 2 5 5 b 丌发板,l i n u x2 4 1 8 内核,a r m 1 i n u x g c c 编译器。w i m a x 无线网卡选择丘 线技术中最常用的p c m c i a c o m p a c tf l a s h ( c f ) 卡。 第3 页 信息_ r 稃大学硕十学付论文 1 3 论文的主要工作和成果 论文结构安排如下: 第一章主要介绍了嵌入式无线接入技术的发展现状和课题背景。结合项目需求,分 析并比较了各种接入方式的优劣和市场现状,说明了选定w i m a x 协议作为无线接入力式 的原因;概要介绍了p c m c i a 的基本概念,分析论证了本课题的可行性和必要性。 第二章结合嵌入式接入技术的发展现状和课题要求,提出了基于嵌入式l i n u x p c m c i a 的无线模块的实现方案,简要介绍了方案中各个层次的功能特点、接口定义和纠 究重点。 第三章详细分析了p c m c 队子系统s o c k e ts e r v i c e 层和c a r ds e r v i c e 层的接l j 服务, 并根掘项目的目的和开发平台的特点对这部分代码的复用方法进行了提炼和总结。根据,j l 起兼容性问题的概率及原因,对p c m c 队协议栈的接口函数重新进行了分类和分析,提出 了p c 卡和p c m c i a 系统兼容问题的解决策略。 第四章深入剖析了p c 卡驱动和c a r ds e r v i c e 层的交互过程,实现了这两部分的交互。 第五章根据对w i m a x 协议三层体系结构的分析,模块化地实现了无线接入部分。 第六章根据课题的实际情况和后续工作,验证了第三章提出的兼容性问题解决策 略,对无线模块的兼容性和健壮性进行了验证和分析。 结束语对全文进行了总结。 论文的成果主要有以下两点: 兼容性问题的解决。兼容性问题是嵌入式移植的重点和难点,要解决这个问题就 必须查阅接口函数的资料。p c m c i a 组织发行的一系列标准和说明是当前p c m c i a 协议栈研究的经典资料,但是,这些标准篇幅巨大( 最新版本的标准总计四t j 多 页) 、分支众多;其它柏关的论文资料又往往刁i 够全面系统。因此,本文在阅读总 结了众多p c m c i a 协议栈源代码的基础上,参考上述资料,提出了嵌入式移干c 1 中 兼容性问题的解决策略,这个解决策略通用于各种遵循p c m c i a 标准的模块,按 照它的研究思路,我们也可以很快的得到适用于不同的嵌入式硬件的兼容性越 解决策略。 w i m a x 无线模块的实现。掘了解,当前有能力研制出w i m a x 芯片的几家刚外公 司都表示出售芯片时将不会同时提供驱动的源代码,这给“卡和插槽服务”软件横土火 的修改造成了巨大的困难。同时,从幽外芯片带来的安全隐患和刊能的后门耵序 考虑,也需要由我方自主研发实现这个嵌入式终端的无线模块,从而完成w i m a x 无线模块在p c m c i a 子系统的接入。由于w i m a x 协议还在不断的改进和完善中, 关于它的无线模块驱动编写的资料至今尚未见公丌发表。因此,本文对无线模块 的设计与实现主要完成了两个- 作:一是根掘对w i m a x 协议三层体系结构的分 析,完成了w i m a x 无线模块的设计及实现;二是提出并严格遵循了模块化设i 第4 页 堕星二矍盔竺堡主堂竺丝兰 第5 页 信息t 稃人学硕十学付论文 第二章无线模块实现方案 l i n u xp c m c i a 套件在经过市场和软件丌发者多年的锤炼后,其架构已经非常完善【2 “。 只要是选择遵循现有的l i n u xp c m c i a 标准结构的硬件,编写符合这个标准结构的软件, 结合p c m c i a 协议栈就可以构成本文所需要的无线模块。因此,本文所研究的无线模块的 实现方案关键不在于“由谁构成? ”,而在于“怎么构成? ”。也就是说,实现的难点和重点 并不是结构框架和其中的逻辑关系,而是各层次模块之问的结合与协作。本章第2 节将参 考通用p c m c i a 架构,提出一个基于具体的丌发平台的无线模块接入的较优方案,并加以 分析与说明。 2 1 开发平台介绍 x h y p e r 2 5 5 b 丌发板【2 5 】是基于i n t e lx s c a l ep x a 2 5 5 处理器的高端a r m 丌发平台,处理 器运算速度高达4 0 0 m h z ,集成了s d r a m f l a s h 、l c d 、u s b 、蓝牙( b l u e t o o t h ) 、多媒体 闪存卡( m m c s d m e m o r ys t i c k ) 、c m o s 摄像头等控制器,并且能够支持p c m c i a c o m p a c tf l a s h 接口,性价比较高、功耗较低,适合于数字移动电话、个人数字助理、刚 络路由器等嵌入式系统的应用。它采用s t r o n g a r mp c m c i a 控制器,支持1 6 b i tp c c a r d , 同叫也提供了对3 2 b i tc a r d b u s 卡的向上兼容。通过硬件平台的“插口”( s o c k e t ) 再加一个 w i m a x 无线网卡就可以很方便的构成一个无线网络终端所需要的硬件环境。软什采用 g n u 的开放源码和工具,操作系统内核为l i n u x2 4 1 8 ,编译器为a r m 1 i n u x 。g c c 。 2 2p c m c i a 通用架构概述 当前,在嵌入式设备里普遍采用的无线模块结构 2 6 , 2 7 1 简图如图1 所示: 第6 页 信息t 稃大学硕十学何论文 图i 无线模块结构简幽 按照各部分的功能,无线模块大致可以分为两个部分:物理层和p c m c i a 子系统。在 无线模块之上则是操作系统和各种应用程序。 2 2 1 物理层 p c m c i a 标准定义的物理层包括p c m c i a 控制器和p c 卡,它们的接口为6 8 针引脚 的“插口”( s o c k e t ) 。一台主机可以配置一个或多个控制器,所有的插口也根掘所在的挎:制 器的不同分属不同的组( g r o u p s ) ,但是所有的p c 卡都必须拥有相同的物理特性和兼徉的 电气特性。 x h y p e r 2 5 5 b 板可以支持p c m c i a c o m p a c t f l a s h ( 也就是c f 卡) ,c f 卡一般较小, 但与p c m c i a 兼容,多应用于手持设备。p c m c i a c f 卡有屙睦内存( a t t r i b u t em e m o r y ) 和公共内存( c o m m o n m e m o r y ) 两个存储空l 日j 。属性内存用来保存汽册的配置信息,称为 c a r d i n f o r m a t i o ns t m c t u r e ( c i s ) 。p c 卡通过p c m c i a 控制器连接到系统总线后,卡内打也 映射到主机i o 和内存窗口统一编址( 在a r m 体系结构中,内存和i o 地址空叫是统一编 址的) 。 因为p c m c i a 子系统是整个系统的最主要也是最大的部件,所以,需要币独介绍一一下 这一部分的基本概念。 第7 页 笪皇二翌奎竺堡兰生笙苎 应用层 f 赢夏n c a l d c l 坤n t ( p c 卡客户层) 矗莉 c 耐s e m c e sc 卡服务层) 5 0 c k ts e n a c e ( 接口驱动层) h m 瑾p c “t 地协议棱 物理层 图2p c m c i a 子系统层次结构 l i n u xp c m c i a 子系统( 图2 ) ,又称为l i n u xp c m c i a 协议栈,由三层构成,由底趸 顶分别是s o c k e ts e r v i c e 层、c a r ds e r v i c e s 层和c a r dc l i e n t 层。每层都通过标准a p i 接i j 为上层提供服务,最上层的应用软件也是通过应用层a p i 函数实现对p cc a r d s 的设7 ;和操 作。m t d 由于地位特殊,在这里就不专门画出来了,将在下面详细说明。 s o c k e ts e r v i c e 层 s o c k e ts e r v i c e 是处理最底层硬件的软件层,包含了对p c m c i a 控制器的具体操作函数 集合,并向卡服务层提供硬件无关的统一的a p i 接口。配置多个p c m c i a 控制器的系统相 应的也需要多个s o c k e ts e r v i c e 支持,以保证p cc a r d 的驱动程序与p c m c i a 插枘无关。 在p c m c i a 标准中,每一个对应的s o c k e ts e r v i c e 都被称为一个“实例”( i n s t a n c e ) 。佃足卡 服务层只有一个,所有的s o c k e ts e r v i c e “实例”都为同一个卡服务( c a r ds e r v i c e ) q - 作。 c a r ds e r v i c e s 层 c a r ds e r v i c e 是p c m c i a 予系统中最大的个组件,提供对于操作p c 卡和s o c k e t 的 杯准a p i 。它的实现采用客户机月日务器( c l i e n t s e r v e r ) 结构,可以同叫为多个c a r dc l i e n t 提供服务。上层用户( c l i e n t ) 通过c a r ds e r v i c e 管理p c 卡,无论是使用1 6 一b i tp c 卡迩是 c a r d b u sp c 卡资源都采用统一的操作。 c a r dc l i e n t 层 c a r dc l i e n t 是使用c a r ds e r v i c e 提供的接口函数实现的对于具体p c 卡的驱动稃序,返 一层中的d r i v e rs e r v i c e 模块提供了p c 卡的驱动程序和用户模式的应朋程序( c a r d m g r 、 c a r d c t l 等程序,用来记录、跟踪p c 卡的插入取出,并且加载移去相应的c a r dc l i e n t 船z 山 程序) 之删的链接。在卡插入和拔出的过程中d r i v e rs e r v i c e 永久的绑定在所j 】的s o c k e t s 上,并根掘“事件”( e v e n t s ) 的触发,通过b i n d d e v i c e 函数将普通客户驱动链接到划心的 第8 页 信息丁稃人学硕士学仲论文 卡上。因此,d r i v e rs e r v i c e 也破称为“超级_ j 户”。 说明:在p c m c i a 标准中,调用者相对被调用的函数都可以称为c l i e n t 。凶此,c a r d s e r v i c e 的上层客户( c l i e n t ) 可以是具体p c 卡的驱动程序、d r i v e rs e r v i c e 超级用户、m t d 、 应用程序以及操作系统中的相关进程。 m t d ( m e m o r yt e c h n o l o g yd r i v e r s ) 存储控制驱动( m e m o r y t e c h n o l o g y d r i v e r ) ,简称m t d ,是对p c 卡内存迸j i 数掘块 ( b u l k ) 读、写和擦除功能的卡服务模块。它可以集成在c a r ds e r v i c e s 中,作为卡服务的 一个底层模块,也可以作为独立的一部分在运行时由“卡插入”事件临时注册到卡服务q j , 注册的方法和普通的设备驱动相同。x h y p e r 2 5 5 b 板现在使用的p c m c i a 子系统采_ 】的就 足后者,m t d 模块通过r e g i s t e r c l i e n t 注册为卡服务,并通过g e t f i r s t r e g i o n 和 g e t n e x t r e g i o n 确定卡存储空问范围,调用r e g i s t e r m t d 向系统获取这块存储空| h j 的管珲 权限。 随后,当p c 卡驱动需要读、写或擦除某个数据块时,c a r ds e r v i c e s 获知事件( e v e n t ) c se v e n tm t dr e q u e s t 发生,并通知m t d 事件句柄( e v e n th a n d l e r ) 分别处理,从 而向p c 卡驱动用户提供了和硬件、存储管理方式都无关的数据块操作。 2 3 无线模块实现方案简介 根据本课题开发平台的特点,我们参考p c m c i a 的通用架构提出了如图3 所示的 w i m a x 无线模块接入的具体方案。其中,虚线空箭头显示了网卡和网络问数掘的流向, 实线实心箭头显示了各个模块问的控制逻辑。 第9 页 堕星二矍叁兰堡主生丝苎 嘤掣l 塑雾划 网络模块 p -叫公紫存l i: 虚拟史件系统模块控制模块 卡驱动层 : 卡暇务接口层 ll: 客户管理 l c i s ) j 务 l 资源管理 c a r ds e r v i c e s +t; t tv l s 。c k e ts e r v j c e i i p c 卡馊件辨蔽层 - 硬件屏蔽层4 ! 矿v 网震 w i m “i 无线叫卡i _ ip c m c l a 控制器,少?l 简i j 幽3 无线模块实现方案 2 3 1 数据流 数据的流向使用空箭头表示,包括发送和接收过程: a ) 发送过程:要传送的数据通过系统公用缓存区s k b 送给网络模块,编码及封裟j m l l 硬件屏蔽层通过网卡内部缓存发送到因特网; b ) 接收过程:从网卡缓存中得到的数掘经过网络模块去抻数据链路头,解码后放入 s k b 中等待j 二层协议层继续处理。 第l o 页 信息1 = 稃大学硕十学付论文 2 3 2 控制部分 按照控制部分功能的不同,整个方案分为四层:硬件屏蔽层、卡服务层、卡服务接口 层和卡驱动层。它们都遵循向上提供与本层无关的a p i 服务的原则。 硬件屏蔽层 p c m c i a 标准规定的硬件环境分为两部分,相应的也就需要两个“硬什屏蔽层”。s o c k e t s e r v i c e 屏蔽了各种p c m c i a 控制器在硬件上的不同,向c a r ds e r v i c e 提供了统一的函数接 口;网卡的硬件屏蔽层则屏蔽了网卡的硬件构成,向卡驱动层提供了读、写和重启等控制 接口。 其中,s o c k e ts e r v i c e 的代码一般由丌发板自带的软件包提供,由于课题不涉及跨硬 叶 平台移植的问题,因此,对于这部分代码,可以直接复用,我们只需归纳出它向上层提似 的接口函数,以便于在必要时为c a r ds e r v i c e 层添加新的卡服务功能。 数据的收发和网卡的基本控制是所有网卡驱动都必须实现的功能,但是这些功能的实 现却随着程序员编程习惯和软、硬件环境的不同而千差万别,给代码的复用和修改带末了 极大的不便。因此,为了便于层次化设计和管理,本文的实现方案把涉及网卡硬件的操作 作为一个独立的p c 卡硬件屏蔽层。 卡服务层 为了简化p c 卡驱动的编写,卡服务层( 也即c a r ds e r v i c e 层) 中实现了大部分p c 卡 都需要完成的功能( 例如,卡的注册和注销、卡信息的获取等等) ,并把这些功能作为服 务提供给p c 卡驱动,它一般由丌发板的软件包提供。 卡服务接口层 驱动的注册、注销,参数的配置、获取是这一层最主要的工作。卡服务接口层通过,叟 量p r i v 提供给卡驱动所有需要的信息,在卡服务接口层之上看不到和p c m c i a 相关的仃何 操作。 卡驱动层 卡驱动层实现了三个功能:驱动在虚拟文件系统中的添加和删除,网卡的初始化年| j 输 入输出控制、数掘包的发送和接收,分别由虚拟文件系统模块、控制模块和刚络模块完成。 关于每一层的详细内容我们将在下面的章节中说明。 第1 1 页 堕星! :翌查兰堕竺笠鲨茎 第三章无线模块嵌入式移植兼容性问题的解决策略 兼容性问题是嵌入式移植的重点和难点,p c 卡模块嵌入式移植的兼容性问题般都 是由p c m c i a 子系统和p c 卡驱动不兼容引起的。因此,要解决这个问题,我们首先要别 p c m c i a 系统进行分析和研究。s o c k e ts e r v i c e 层和c a r ds e r v i c e 层在嵌入式p c m c i a 系统 中的地位,相当于p c 机的b i o s 和d o s 。下面我们就针对兼容性问题的解决,对s o c k e t s e r v i c e 和c a r ds e r v i c e 层的接口函数进行详细的分析。 3 1 硬件接口函数的分析 s o c k e ts e r v i c e 是p c m c 队系统中惟一和p c m c i a 适配器交瓦的部分,一般山丌及板 软件包提供。编写这一层驱动也是p c m c i a 系统跨硬件平台移植时的主要工作。 x - h y p e r 2 5 5 b 丌发板的软件中已经提供了对s o c k e ts e r v i c e 的代码实现,本课题并不涉及跨 硬件平台移植问题,因此,本文只讨论这段代码的复用。 3 1 1s o c k e ts e r v i c e 服务的注册和注销 s o c k e ts e r v i c e 层是通过p c m c i a 标准规定的a p i 函数为c a r ds e r v i c e 提供私7 】- | j i 务 的,编写s o c k c ts e r v i c e 层驱动也就是实现这些操作硬件的a p i 函数。c a r ds e r v i c e 层通过 一张函数表来记录己登记的s o c k e ts e r v i c e 层的函数,函数表是以链表的形式在 d r i v e r w c m c i a c s c 文件中创建并维护的。用来注册和注销这些a p i 服务的函数也徂: d r i v e r x p c m c l a c s c 中声明: 注册函数e x t e r ni n tr e g i s t e r s se n t r y ( i n tn s o c k ,s s _ e n t r y _ te n t r y ) ; 这个函数用来登已注册到c a r ds e r v i c e 的s o c k e ts e r v i c e 服务,其中第一参数n s o c k 足 p c m c i a 的插槽号,因为系统可以支持一个或多个p c m c i a 插槽,所以在注册函数叫必须 既明是针埘哪一个插槽的;第二个参数e n t r y 指向要登记的函数,通过它i j 以为c a r ds e r v i c e 提供所请求的具体服务。 注销函数:e x t e r nv o i du n r e g i s t e rs se n t r y ( s s _ e n t r y _ te n t r y ) ; 调用函数u n r e g i s t e rs se n t r y 后,s o c k e ts e r v i c e 层将不再提供e n t r y 指向的服务。 3 1 2s o c k e ts e r v i c e 层代码的复用 x h y p e r 2 5 5 b 板现在所采用的s o c k e t s e r v i c e 服务程序实现了1 2 个a p l 函数: s sh q u i r e s o c k e 一返回p c 卡插槽的基本硬件配置情况。 ssr e g i s t e r c a l l b a c k - - 登记了卡状态发生变化( 卡插入、拔出、拌起等) h j f l 0 处 理函数,每一个s o c k e t 只能对应一个处理函数。当需要取消这个函数时,只而n 次调用此服务注册一个空指针代替原来的函数即可。 ssg e t s t a t u r 返回特定s o c k e t 的当的状态( 存储卡写保护,存储卡电源断jr , 第1 2 页 信息t 稃大学硕十。学仲论文 供应电压不能高于3 3 v 、检测剑卡存在等) 。 s sg e t s o c k e t 和s ss e t s o c k e t 一一获取设置某个事件对应的中断号。 s s 和s ss e t m e m m a p 一获取设置的内存空问映射。_ g e t m e m m a p p cc a r d s sg e t i o m 印和s ss e t i o m a p 获取设置p cc a r d 的i 0 空间映射。 s s g e t b r i d g e 和s s s e t b r i d g e 获取设置c a r d b u s 设备b r i d g e 空问映射,类似 与1 6 - b i t 卡i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论