(微电子学与固体电子学专业论文)嵌入式rfid的驱动程序设计.pdf_第1页
(微电子学与固体电子学专业论文)嵌入式rfid的驱动程序设计.pdf_第2页
(微电子学与固体电子学专业论文)嵌入式rfid的驱动程序设计.pdf_第3页
(微电子学与固体电子学专业论文)嵌入式rfid的驱动程序设计.pdf_第4页
(微电子学与固体电子学专业论文)嵌入式rfid的驱动程序设计.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(微电子学与固体电子学专业论文)嵌入式rfid的驱动程序设计.pdf.pdf 免费下载

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

文档简介

4 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名: 垫翌虽 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名: 赴娟 导师签翔面 一j 6 摘要 摘要 本课题将r f i d 技术与嵌入式技术相结合,创新性的提出了嵌入式r f i d 的 驱动解决方案。完成了基于n r f 9 0 5 射频模块的多平台嵌入式驱动设计与移植。 构建了以a r m 及l e o n 处理器为核心的嵌入式硬件平台和基于l i n u x 内核的嵌 入式操作系统,成功运用l i n u x 设备驱动技术,实现了嵌入式平台间的r f 短距 离即时通信。 课题驱动设计采用分层设计思想,将r f 驱动程序为分底层s p i 驱动和上层 r f 驱动两个层次。本文首先详细介绍了基于a r m 嵌入式平台的r f 底层与上层 驱动设计方法,其次为增强该驱动的跨平台特性与通用性,提出了r f 驱动在 y a k 嵌入式平台的移植方案,并侧重阐述运用l i n u x 设备模型构建底层s p i 驱 动的移植过程。文章相关测试结果表明,此r f 驱动在a r m 及y a k 嵌入式平台 上均可稳定运行,并实现了嵌入式平台间的r f 短距离即时通信功能。 本课题所研究的嵌入式r f i d 驱动克服了传统r f i d 通信便携性差、功能单 一等缺点,具有功能灵活、可移植性强、可靠性高、体积小、低成本、低功耗和 开发周期短等诸多优势,对推广r f i d 技术在嵌入式领域的应用以及提高嵌入式 系统短距无线通信能力具有重要意义。 关键字:r f i d ;嵌入式:a r m iy a k :驱动 a b a r a c t a b s t r a c t i nt h i sp a p e r , an o v e lr f i dd r i v e rs o l u t i o ni s p r o p o s e d ,w h i c hi n t e g r a t e s e m b e d d e dt e c h n o l o g y b a s eo nn r f 9 0 5r a d i o - f r e q u e n c y m o d u l e ,m u l t i p l a t f o r m e m b e d d e dd r i v e rd e s i g na n dp o r t i n gi si m p l e m e n t e d t oa r ma n dl e o nc o r e e m b e d d e dh a r d w a r ep l a t f o r mi se s t a b l i s h e d ,a n dl i n u xo p e r a t i o ns y s t e mi s b u i l t u s i n gl i n u xd e v i c ed r i v e rt e c h n o l o g y , r fs h o r t - d i s t a n c ec o m m u n i c a t i o nb e t w e e n e m b e d d e dp l a t f o r m si sa c h i e v e d r fd r i v e r a p p l i e s h i e r a r c h i c a l d e s i g n m e t h o d t h ed r i v e rc o n s i s t so f b o s o m l a y e rs p id r i v e ra n dr ft o p l a y e rd r i v e r f i r s t l y , b o t t o m l a y e ra n dt o p l a y e r d r i v e r d e s i g ns o l u t i o n i s i n t r o d u c e d s e c o n d l y , i n o r d e rt oe n h a n c ed r i v e r c r o s s - p l a t f o r mf e a t u r e ,r fd r i v e rp o r t i i 玛s o l u t i o nb a s eo ny a ke m b e d d e dp l a t f o r mi s p r o p o s e d ,w h i c he m p h a s i z e so nb u i l d i n gs p id r i v e rb ya p p l y i n gl i n u xd e v i c em o d e l r e l a t e dt e s tr e s u l t ss h o wt h a tr fd r i v e rr u no na r ma n dy a k p l a t f o r mc a nb es t a b l e , a n dr fs h o r t d i s t a n c ec o m m u n i c a t i o nb e t w e e ne m b e d d e dp l a t f o r m si sc o m p l e t e d e m b e d d e dr fd r i v e ro v e r c o m e sp o o rp o r t a b i l i t ya n d s i n g l ep e r f o r m a n c e s h o r t c o m i n g ;i th a sm a n ya d v a n t a g e s ,s u c ha sf u n c t i o no ff l e x i b i l i t y , p o r t a b i l i t y , h i g h r e l i a b i l i t y , s m a l ls i z e ,l o wc o s t ,l o wp o w e rc o n s u m p t i o na n ds h o r td e v e l o p m e n tp e r i o d a p p l i c a t i o no fe m b e d d e dr fd r i v e ri ss i g n i f i c a n tf o rp r o m o t i n gt h ed e v e l o p m e n to f r f i dt e c h n o l o g yi ne m b e d d e d a p p l i c a t i o n sa n di m p r o v i n gr fs h o r t - d i s t a n c e c o m m u n i c a t i o nc a p a b i l i t yo fe m b e d d e ds y s t e m k e yw o r d s :r f i d ;e m b e d d e d ;a r m ;y a k ;d r i v e r u 摘碧暮i a b s t r a c t i i 目录i 第1 章绪论1 1 1 课题背景1 1 2 课题研究意义1 1 3 国内外发展现状1 1 4 课题研究内容3 第2 章嵌入式r f ld 系统概述5 2 1 嵌入式r f i d 系统架构。5 2 2a r m 嵌入式开发平台。6 2 3y a k 嵌入式开发平台。9 2 4 本章小结1 1 第3 章lin u x 设备驱动概述13 3 1l i n u x 设备驱动基本概念1 3 3 2l i n u x 驱动模块的构造与运行1 3 3 3 字符型设备驱动设计1 4 3 3 1 字符型设备驱动的建立1 4 3 3 2 字符型设备驱动的重要数据结构1 5 3 3 3 字符设备相关的重要操作。1 7 3 4 驱动程序相关的重要内核机制2 1 3 4 1 中断机制。2l 3 4 2 同步机制。2 3 3 4 3 简单休眠机制。2 4 3 4 4 定时测量机制2 5 3 5 本章小结2 7 第4 章a r m 嵌入式平台的r f i d 驱动设计2 9 4 1 驱动程序整体结构2 9 4 2s p i 驱动程序设计2 9 4 2 1s p i 驱动程序概述2 9 4 2 2s p i 硬件模块3 0 4 2 3 缓冲区数据结构。3 1 4 2 4s p i 驱动程序操作3 2 4 3r f 上层驱动程序设计3 9 4 3 1r f 上层驱动程序概述3 9 4 3 2n r f 9 0 5 射频收发硬件模块4 0 4 3 3n 王沛9 0 5 驱动操作4 2 4 3 4n r j :9 0 5 驱动模块信息4 8 4 4r f i d 驱动测试4 8 4 4 1r f i d 驱动测试平台概述4 8 4 4 2 测试硬件平台搭建4 9 目录 4 4 2 测试软件平台搭建。5 0 4 4 3 驱动测试程序设计5 1 4 4 4 测试结果。5 2 4 5 本章小结5 4 第5 章r f 驱动程序移植5 5 5 1r f 驱动程序移植概述5 5 5 2s p i 驱动程序移植。5 7 5 2 1s p i 驱动模型概述5 7 5 2 2s p i 驱动模型建立5 8 5 3n r f 9 0 5 驱动移植6 2 5 4 基于l e o n 3 平台r f 驱动程序测试。6 5 5 4 1s p i 驱动程序测试6 5 5 4 2r f 驱动程序测试6 5 5 5 本章小结6 6 结论6 7 参考文献。6 9 攻读硕士学位期间所发表的学术论文7 3 致 射7 5 第1 章绪论 第1 章绪论 1 1 课题背景 射频识别( r a d i of r e q u e n c yi d e n t i f i c a t i o n , r f i d ) 作为一种非接触式的自动 识别技术己经在交通、物流管理、医疗、制造防伪、防盗及过程自动化等领域被 广泛应用,射频识别系统自动以非接触的方式将电子标签中的约定识别信息读取 出来,从而实现自动识别物品或自动收集物品标志信息的功斛。在标签领域, 由于标签技术的显著优势,使其得以快速发展,与条形码技术相比,其具有读取 速度快、读取距离远、储存信息量大、标签上数据可加密、可以同时处理多个电 子标签、穿透性强、使用寿命长、工作环境适应性强等多种优点。 1 2 课题研究意义 由于各种原因( 如功耗,电路结构等) ,当今r f i d 系统大部分为固定式, 且系统功能较为单一,从而限制了r f i d 技术的发展【2 】。而目前大多数智能移动 终端( 如手机、p d a 、车载系统) 、信息家电、医疗设备以及工业控制系统中大 量应用嵌入式系统,嵌入式系统具有功能灵活、可移植性强、可靠性高、体积小、 低成本、低功耗和开发周期短等诸多优势,因此其具有广泛的应用领域。本课题 将r f i d 技术与嵌入式系统相结合,将射频识别模块嵌入到嵌入式系统中,并通 过设计驱动程序实现射频模块的收发功能。嵌入式r f i d 系统将使r f i d 技术的 应用前景更加广阔,r f i d 模块将可能被集成到移动通信终端及工业控制系统中, 实现移动设备或控制系统对于外界信号的非接触式数据采集和识别,并增强设备 间的无线通信能力。并且,嵌入式r f i d 系统将增加r f i d 技术的通用性和可移 植性,并丰富了嵌入式系统通信接口外设功能,特别是提升了嵌入式系统在无线 通信领域的发展空间,对嵌入式系统的发展起到了十分积极的作用。而本课题所 研究的基于嵌入式系统的r f i d 驱动,将为嵌入式r f i d 系统提供底层软硬件接 口程序,为嵌入式操作系统增添r f i d 管理机制,为上层应用程序提供良好服务, 降低嵌入式r f i d 的开发难度,缩短开发周期,从而降低其成本,使r f i d 的应 用更加普及。 1 3 国内外发展现状 r f i d 技术最早的应用可追溯到第二次世界大战中飞机的敌我目标识别,但 是由于技术和成本原因,它一直没有得到广泛应用。近年来,随着大规模集成电 路、网络通信、信息安全等技术的发展,r f i d 技术进入商业化应用阶段,显示 出巨大发展潜力与应用空间,被认为是2 1 世纪最有发展前途的信息技术之一【3 j 。 在技术上,一些国家和国际跨国公司都在加速推动r f i d 技术的研发和应用 进程。在过去1 0 年间,共产生数千项关于r f i d 的技术专利,主要集中在美国、 北京t 业大学t 学硕十学位论文 欧洲、日本等国家和地区【4 】。i n t e r m e c 公司、得州仪器、飞利浦、a l i e n 公司等大 型设备生产商,都已关注到迅猛发展的无线射频标签市场。惠普在2 0 0 5 年开始 成立自己的研发队伍来开发r f i d 技术相关的领域工作;i b m 已经投资2 5 亿美 元成立了专门的r f i d 咨询与实施部门;微软以设备驱动程序的形式在w i n d o w s 平台中支持r f i d 。许多大型的应用系统开发商如s u n 、s a p 、o r a c l e 等公司也纷 纷开始在其产品中集成r f i d 技术以满足未来r f i d 市场的巨大需求。 在应用方面,美国早在2 0 世纪的后半叶就开始研究r f i d 技术,现在已经 将r f i d 技术成功应用于国防管理系统。日本及欧洲国家也已经广泛应用r f i d 技术于工业自动化、商业自动化、交通运输控制管理等众多领域,如汽车火车交 通监控、高速公路自动收费、停车场管理、物品管理、流水线生产自动化、安全 出入检查、车辆防盗等【5 1 。 r f i d 在国外的应用已经越来越普及,而r f i d 在我国的发展尚处于起步阶 段。自e p c 与物联网论坛开始后,r f i d 正式进入中国,此后,许多企业、研究 机构、政府部门都开始关注这个新兴产业的发展,国内已有几家公司引进国外的 先进技术,开发自己的r f i d 系统。此外,2 0 0 4 - - 2 0 0 6 年三届国内r f i d 学术年 会的召开,标志着r f i d 技术在我国的应用即将进入发展时期。 目前我国低成本、高可靠性的标签制造装备和封装工艺正在研发中。r f i d 读写器产品类型较多,部分先进产品可以实现多协议兼容。我国已经推出了系列 r f i d 读写器产品,小功率读写模块已达到国外同类水平,大功率读写模块和读 写器片上系统( s o c ) 尚处于研发阶段。并且,我国在r f i d 应用架构、公共服 务体系、中间件、系统集成以及信息融合和测试工作等方面取得了初步成果,e p c g l o b a lc h i n a 建立了中国测试中心,其中包括对i u i d 产品及兼容性测试 6 1 。我 国已经将r f i d 技术成功应用于铁路调度系统、铁路车号识别、通信系统、第二 代身份证和票证管理、动物标识、特种设备与危险品管理、公共交通以及生产过 程管理等多个领域。 在2 0 0 8 年奥运会中,我国成功地在奥运信息平台上运用了嵌入式r f i d 技 术。北京奥运信息平台由“主控中心计算机系统 和“嵌入式服务终端 两部分 组成,各个“嵌入式服务终端 通过局域网与“主控中心相连接。“嵌入式服 务终端 以三星a r m 9 $ 3 c 2 4 1 0 嵌入式平台为载体,采用8 寸大屏幕触摸屏作 为人机交互平台。在安全方面,运用r f i d 技术进行奥运村人员识别并分类管理。 在每个“嵌入式终端”上,将附加一个r f i d 读卡器,这使得“嵌入式终端能 够实时监控周围一定范围内的所有人员,并且能够将这些人员信息发送“主控 中心计算机”及时分析处理,主控中心能够实时监视所有嵌入式终端周围的人员 动态,据此可以分析实现一套行之有效的安全管理方案。 2 第1 章绪论 1 4 课题研究内容 本课题主要研究基于以三星a r m 9 $ 3 c 2 4 4 0 处理器为核心的嵌入式系统的 n r f 9 0 5 射频芯片驱动程序设计,实现两嵌入式系统的r f 通信。并将此驱动程 序向y a k 嵌入式平台( y a k 为我实验室在研嵌入式开发平台) 移植,其中y a k 嵌 入式系统以开源l e o n 3s o c 软核作为核心处理器,并以f p g a 方法实现。两嵌 入式系统均基于l i n u x 操作系统。在驱动程序设计方面,主要应用l i n u x 字符型 设备驱动的相关技术进行n r f 9 0 5 射频芯片驱动设计,并辅以l i n u x c 编程技术 设计合理的测试程序,对驱动程序进行测试。由于n r f 9 0 5 射频芯片在底层通过 s p i 协议与上位机进行通信,因此驱动程序设计分为两个层次,即底层s p i 设备 驱动和上层r f 设备驱动。而在驱动程序移植方面,首先在硬件层次上,完成s p i 硬件模块向l e o n 3s o c 系统的嵌入。之后在操作系统层次,基于l i n u x 设备模 型,为新嵌入的s p i 硬件模块建立合理的设备模型架构,设计管理s p i 的数据结 构,并依据s p i 硬件模块的具体功能,修改原有s p i 设备驱动程序,以完成其驱 动定义的相关操作。并在此基础上,根据y a k 嵌入式硬件平台特点,修改上层 r f 驱动程序,最终完成两嵌入式系统的r f 即时通信。综上所述,本课题将完 成如下工作: 完成嵌入式硬件平台搭建,以及上层操作系统的配置与编译。 运用l i n u x 驱动技术和内核机制,完成基于a r m 嵌入式平台的r f i d 驱动程序设计和最终测试。 完成r f i d 驱动程序向l e o n 嵌入式平台的移植与测试。侧重建立基于 l i n u x 设备模型的s p i 驱动结构。 4 第2 章嵌入式r f i d 系统概述 皇曼曼皇曼曼曼曼曼曼曼曼皇曼曼曼量1 , - - 。 i i 曼皇 第2 章嵌入式r f i d 系统概述 2 1 嵌入式r f i d 系统架构 本课题所研究的嵌入式r f i d 系统是将r f 收发设备嵌入至一般的嵌入式系 统中,并基于l i n u x 操作系统,通过设计r f 设备驱动程序及上层应用程序,实 现r f 底层通信功能和上层相关r f 通信协议,使普通的嵌入式系统间实现短距 离r f 无线通信,并具有射频识别功能。系统可以辅以各种嵌入式系统中常见的 显示设备,如l c d 触摸屏、液晶屏等,基于嵌入式g u i ( g r a p h i cu s e ri n e r f a c e ) 平台,增加用户界面设计,以增强系统的人机交互特性。本课题主要研究r f 收 发设备驱动程序的实现。本系统架构如图2 1 所示。 嵌入式r f i d 系统 用户 盆 图2 1 嵌入式r f i d 系统架构图 f i g 2 1e m b e d d e dr f i ds y s t e ms t r u c t u r e 系统核心控制部分由核心处理器、s d r a m 和f l a s h 共同组成,其中核心 处理器为具有嵌入式特性的s o c 系统芯片,s d r a m 用于系统内存,f l a s h 为 整个系统的存储设备。并在此核心控制部分运行l i n u x 操作系统。r f 收发设备 作为本系统的核心通信设备,采用n r f 9 0 5 芯片,通过设计驱动程序及应用程序, 最终实现与外部r f 设备( n r f 9 0 5 ) 的射频无线通信。显示设备作为用户交互接 i :l 的硬件设备,开发人员可移植相应的o u i ( g e n e r a lu s e ri n t e r f a c e ) 平台,并设计 用户界面,方便和用户通信。同时开发人员可通过r s 2 3 2 串口与系统进行通信, 系统将通过r s 2 3 2 串口将系统信息打印至终端上,开发人员也可通过串口向系 统发送指令,以便开发人员调试。此外,本系统易于进行功能扩展和系统移植, 开发人员可通过u s bh o s t 接v i 或r s 2 3 2 串口将操作系统内核以及上层应用程序 下载到s d r a m ,并最终烧写至f l a s h 中。 系统的核心通信模块n r f 9 0 5 是挪威n o r d i cv l s i 公司推出的单片射频收发 器,工作电压为1 9 3 6 v ,3 2 引脚q f n 封装( 5 5 m m ) ,工作于4 3 3 8 6 8 9 1 5 m 】 三个i s m ( i 业、科学和医学) 频道,频道之间的转换时间小于6 5 0 u s 。n r f 9 0 5 由 北京t q k 大学t 学硕十学位论文 频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声 表滤波器,具有s h o c k b u r s t 工作模式,自动处理字头和c r c ( 循环冗余码校验) , 使用s p i 接口与微控制器通信,配置非常方便。此外,其功耗非常低,以一1 0 d b m 的输出功率发射时电流仅为1 l m a ,工作于接收模式时的电流为1 2 5 m a ,内建 空闲模式与关机模式,易于实现节能。n r f 9 0 5 适用于无线数据通信、无线报警 及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域1 7 。 本课题首先将n r f 9 0 5 射频收发芯片嵌入至基于a r m $ 3 c 2 4 4 0 作为核心处 理器的嵌入式平台中,并基于l i n u x 系统进行驱动程序开发,完成两个基于a r m 嵌入式系统的r f 即时通信。之后,将n r f 9 0 5 芯片嵌入至基于l e o n 3s o c 处理 器的y a k 嵌入式系统中,并完成驱动程序移植,实现y a k 嵌入式系统间的r f 通信。因此,下文将详细介绍a r m 嵌入式开发平台和基于l e o n 3s o c 处理器 的y a k 嵌入式开发平台。 2 2 a i w 嵌入式开发平台 此开发平台的核心处理器采用三星公司的s o c 芯片$ 3 c 2 4 4 0 ,主频为 4 0 0 m h z ,且与6 4 ms d r a m 和6 4 mn a n df l a s h 共同组成核心部分。此外,此 平台也为用户提供了大量的通信接口、显示接口、调试接口以及i o 接口。以下 列出与r f 系统开发相关的用户资源。图2 2 为a r m 嵌入式平台的实物图。 图2 - 2a r m 嵌入式平台的实物图 f i g 2 - 2a r m e m b e d d e dp l a t f o r mb o a r d 串i :1 :两个五线异步串行v i ,波特率高达1 1 5 2 0 0 b p s ; 网络接口:1 0 m 1 0 0 m 网口,采用d m 9 0 0 0 a e p : u s b 接口:u s b l 1h o s t 接口; l c d 和触摸屏接口 用户i o 接口 6 第2 章嵌入式r f i d 系统概述 其中网络接1 2 1 使开发人员可以方便地使用n f s ( n e t w o r kf i l es y s t e m ,网络 文件系统) 进行调试,基于此平台的驱动程序将采用n f s 方法进行调试。平台 还将$ 3 c 2 4 4 0 a 处理器的重要模块引脚引出作为用户i o ,并保留了大量的 g p i o ,供其他外设使用。以下重点介绍$ 3 c 2 4 4 0 处理器。 $ 3 c 2 4 4 0 a 是三星公司推出的一款高性能3 2 位r i s c 微处理器,为手持设备 和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。 $ 3 c 2 4 4 0 a 的内部结构图如图2 3 所示。 图2 - 3 $ 3 c 2 4 4 0 a 内部结构【8 1 f i g 2 3 $ 3 c 2 4 4 0 aa r c h i t e c t u r e l 8 】 $ 3 c 2 4 4 0 a 采用了a r m 9 2 0 t 的内核,o 13 u r n 的c m o s 标准宏单元和存储 器单元【8 1 。其低耗、简单,且全静态设计特别适合于对成本和功率敏感型的应用。 并且采用了a m b a 总线结构,实现了m m u ,可用于支持w m c e 、e p o c 3 2 和 l i n u x 等嵌入式操作系统,而采用h a r v a r d 体系结构所提供的高速指令和数据缓 7 北京工业大学工学硕十学位论文 冲,加之写缓冲器和物理地址t a g ,减少了主存带宽和延时带来的影响。除此 而外,$ 3 c 2 4 4 0 a 提供了一套完整的通用系统外设,减少了整体系统成本,无需 配置更多的额外设备。 $ 3 c 2 4 4 0 a 提供了大量的通信及音视频接口设备,并按其性能和速度的不同 分别连接在a m b a 总线的a h b 和a p b 总线之上。其包含如下外设: l c d 控带0 器 4 通道d m a 3 通道u 趾汀 2 通道s p i 1 通道i i c b u s 接口( 多主支持) 1 通道i i s b u s 音频编解码器接口 a c 9 7 音频解码器接口 兼容s d 主接口协议1 0 版本和m m c 卡协议2 1 1 兼容版 2 端口u s b 主机1 端口u s b 设备( 1 1 版本) 4 通道p w m 定时器和1 通道内部定时器看门狗定时器 8 通道1 0 比特a d c 和触摸屏接口 具有日历功能的i 玎c c a m a r a 接口 1 3 0 个通用i o 和2 4 通道外部中断源 p l l 片上时钟发生器 本系统将应用其中的s p i 模块的主模式与n r f 9 0 5 射频收发芯片的从s p i 进 行通信,主要负责配置n r f 9 0 5 的发送地址寄存器、发送数据寄存器以及其他配 置寄存器,读取接收寄存器及其他相关状态寄存器的值。 本系统将在此硬件平台基础上,运行l i n u x 操作系统。l i n u x 操作系统主要 分为b o o t l o a d e r 、内核( l i n u x 2 6 1 2 ) 、文件系统( e r a m f s 只读文件系统) 三个 部分。其中b o o t l o a d e r 的主要工作是初始化硬件设备和引导加载内核。而内核中 配置支持基于f r a m b u f f e r 的l c d 驱动、基于o s s 的音频设备驱动、u a r t 驱动、 u s bh o s t 、u s bd e v i c e ( 如鼠标、键盘) 、s d 卡设备驱动、蓝牙子系统、1 0 1 0 0 m 以太网卡驱动、n f s 文件系统,内核将通过锄1 i n u x 3 4 1 工具链进行编译,并 烧写至f l a s h 中。本操作系统的文件系统采用c r a m f s 文件系统,此类型的文件系 统具有体积小、配置精简的特点,适用于小型嵌入式系统产品。b o o t l o a d e r 、内 核、文件系统都将依次烧写至f l a s h 相应分区中,系统上电运行后,系统信息会 通过串口以标准输出的形式输出至用户终端,用户也可从终端输入相应操作控制 系统运行,并进行驱动程序和应用程序调试。 8 第2 章嵌入式r f i d 系统概述 2 3 墩嵌入式开发平台 此开发平台的核心部分由用以实现l e o n 3s o c 软核处理器的f p g a 、6 4 m s d r a m 和8 mn o rf l a s h 共同组成。其中f p g a 应用x i l i n x 公司的s p a r t a n 3 系 列芯片,在对l e o n 3s o c 软核处理器按需求进行配置后,将用x i l i n xi s e1 0 1 开发平台,对l e o n 3s o c 软核硬件代码进行综合、优化、布局、布线,并将最 终结果下载至f p g a 中,实现l e o n 3s o c 的硬件功能。此外,此平台还提供了 大量外设,此处列出与r f 系统开发相关的部分外设。图2 4 为y a k 嵌入式开发 平台的实物图。 图2 - 4y a k 嵌入式开发平台实物图【9 】 f i g 2 - 4y a ke m b e d d e dd e v e l o p m e n tb o a r d 9 1 两个r s 一2 3 2 串口接口 u s b h o s t 接口 j t a g 接口 1 0 1 0 0 m 以太网接口 v g a 接口 用户的接口 其中u s b h o s t 、j t a g 、以太网接i z l 均可用下载操作系统文件,并且可通过 以太网接i z l 实现n f s 调试;v g a 接1 2 1 可外接c r t 显示屏,用于显示具有用户 界面的i 江通信系统。以下重点介绍l e o n 3s o c 开源软核处理器。 l e o n 3 是s u n 公司推出的一款高性能3 2 位r i s c 处理器,是应用v h d l 硬件描述语言设计的可综合的开源i p 核。其基于s p a r cv 8 体系结构,是一款 面向高性能、低功耗嵌入式系统应用的处理器。此s o c 有如下特点: 9 北京t 业大学丁学硕十学位论文 s 腻v 8 指令集 高性能7 级流水线结构 硬件乘除法器,以及m a c 单元 f u l l yp i p e l i n e di e e e 7 5 4 的浮点运算单元 独立的指令和数据c a c h e ( h a r v a r d 结构) 可配置的c a c h e 基于s p a r c 标准的m m u ,和可配置的t l b 采用a m b a 一2 0 总线 m u l t i - p r o c e s s o r 支持 此款s o c 最大的特点是可根据用户需求实现硬件模块的灵活裁剪,并且用 户可将自己设计的硬件模块嵌入至s o c 中,大大提高了硬件系统的可扩展性。 此外,l e o n 3 内部也提供了大量的通用外设,其内部结构如图2 5 所示。 u s bp h yr s 2 3 2 a g p h yl v d sc a np c i 图2 - 5l e o n 3s o c 内部结构图 f i g 2 5l e o n 3s o ca r c h i t e c t u r e 如图2 5 所示,a m b a 总线由a h b 和a p b 总线组成。其中a h b 总线用于 连接高性能设备,如l e o n 3 处理器、内存控制器、u s b 、以太网接口等,而通 过a h b a p b 桥,a h b 被转换为a p b 总线,用于连接所有低速设备,如v g a 、 p s 2 、u a r t 等。在嵌入式r f 系统中,此s o c 配置有m m u 、f p u 、以太网接 口、p s 2 、u a r t 、v g a 等硬件模块。 在此开发平台上,将运行由g a i s l e rr e a r c h 发布的s n a p g e a rl i n u x 操作系统。 由于l e o n 3s o c 内部有高性能的m m u ,因此可运行具有l i n u x 2 6 x 内核的 s n a p g e a rl i n u x 操作系统。s n a p g e a rl i n u x 是一款用于嵌入式开发的全开源操作 系统源码包,其中包括b o o t l o a d e r 、k e r n e l 、l i b r a r i e s 以及a p p l i c a t i o nc o d e 。其中 b o o t l o a d e r 是专门针对l e o n 3 处理器硬件特性设计的,其功能齐全,十分精简。 1 0 第2 章嵌入式r f i d 系统概述 k e r n e l 使用l i n u x 2 6 2 1 1 内核版本,a p p l i c a t i o nc o d e 和l i b r a r i e s 为应用文件系统 及其所依赖的函数库。s n a p g e a rl i n u x 具有图形化配置界面,用户可根据s o c 硬 件平台配置情况对操作系统功能进行灵活裁剪。本系统配置有基于f r a m b u f f e r 的 s v g a 驱动、u s bh o s t 驱动、u a r t 驱动、p s 2 ( 如鼠标、键盘) 驱动、1 0 1 0 0 m 以太网卡驱动、n f s 文件系统。操作系统应用s p a r e 1 i n u x 3 4 4 工具链进行编译, 并最终烧写至f l a s h 中。 2 4 本章小结 本章详细介绍了r f i d 嵌入式系统的一般性特点与基本结构,以及系统中各 组成部分的功能。并结合本课题研究的r f 设备,介绍了n r f 9 0 5 射频收发芯片 的基本特点、基本功能及其应用领域。此外,本章着重说明了课题所依托的两个 嵌入式平台( a r m 嵌入式平台和l e o n 嵌入式平台) 的基本概况。首先从平台 的硬件层次,介绍了两嵌入式平台的系统资源,其中重点介绍了两嵌入式平台核 心处理器( $ 3 c 2 4 4 0 和l e o n 3 ) 的基本架构及其各自特点。其次,从软件层次, 介绍了两嵌入式平台操作系统的基本情况,其中包括操作系统的组成、内核版本、 内核基本配置以及所使用的工具链。后续章节的所有工作都将基于本章所介绍的 嵌入式平台进行。 北京t 业大学t 学硕十学位论文 1 2 第3 章l i n u x 设备驱动概述 皇i i mi iii i 一鼍i 皇量舅 第3 章l i n u x 设备驱动概述 3 1l i n u x 设备驱动基本概念 设备驱动程序在l i n u x 内核中扮演着特殊的角色。驱动程序可以被看作是一 个个独立的“黑盒子 ,使某个特定硬件响应一个定义良好的内部编程接1 2 1 ,这 些接1 2 1 完全隐藏了设备的工作细节。用户的操作通过一组标准化的调用执行,而 这些调用独立于特定的驱动程序。将这些调用映射到作用于实际硬件设备的特有 操作上,则是设备驱动程序的任务,其可以看作是应用程序和实际设备之间的一 个软件层。 驱动程序的作用在于提供机制,而不是提供策略【l o 】。机制是指需要提供何 种功能,而策略指如何使用这些功能。驱动程序存在机制和策略分离的问题。例 如,软驱的驱动程序不带策略,它的作用是将磁盘表示为一个连续的数据块阵列。 系统高层负责提供策略,如决定那些进程具有访问软盘的权限,是直接访问还是 通过文件系统访问,以及用户是否可以在驱动器上挂载文件系统等等。驱动程序 设计者不应将任何特定策略强加给用户,因为不同用户有不同的需求。驱动程序 应处理如何使硬件可用的问题,而将如何使用硬件的问题留给上层应用程序。 l i n u x 设备驱动可根据l i n u x 设备类型分为字符型设备驱动、块设备驱动、 网络设备驱动三种。字符设备是指能够像字节流一样访问的设备,如字符终端和 串1 2 1 ,由字符型设备驱动实现。字符设备驱动通常至少要实现o p e nc l o s er e a d 和 w r i t e 系统调用,字符设备可通过文件系统节点访问,如d e v t t y l ,且多数字符驱 动是一个只能顺序访问的数据通道。和字符设备类似,块设备也是通过d e v 目录 下的文件系统节点来访问,块设备上能够容纳文件系统。在l i n u x 系统中,进行 i 0 操作时块设备每次只能传输一个或多个完整的块。块设备和字符设备的区别 在于内核管理数据的方式,也就是内核及驱动程序之间的软件接口,块设备驱动 程序具有完全不同的接1 2 1 。网络设备负责相关的网络事务,软件层上由内核中的 网络子系统驱动实现,负责发送和接收数据包,但它不需要了解每项事务如何映 射到实际传送的数据包。本系统中的i 让驱动程序属于字符型设备驱动,将应用 字符型设备驱动的相关技术进行设计,因此在本章第3 节中,将详细介绍l i n u x 字符型设备驱动技术。 3 2l i n u x 驱动模块的构造与运行 l i n u x 设备驱动一个很好的特性是驱动程序模块化,这源于l i n u x 内核提供 的特性可在运行时进行扩展。这意味着当系统启动并运行时,可以向内核添加功 能。可在运行时添加到内核中的代码被称为“模块 。l i n u x 内核支持多种模块 类型,其中包括设备驱动程序。 l i n u x 设备驱动都可以构造为一个模块。在构造模块前,必须配置并构造好 运行相关应用程序调用驱动模块操作,以实现相应功能。 3 3 字符型设备驱动设计 3 3 1 字符型设备驱动的建立 对字符设备的访问是通过文件系统内的设备文件进行的,它们通常位于d e v 目录下。每个设备都拥有其设备编号,在内核中,用d e vt 类型来保存此编号。 其包括主设备号和次设备号,d e vt 是一个3 2 位数,其中1 2 位用来表示主设备 号,而其余2 0 位用来表示次设备号。主设备号标识设备对应的驱动程序,且现 代的l i n u x 内核允许多个驱动程序共享主设备号,但一般情况下,仍然按照“一 个主设备号对应一个驱动程序”的组织原则。次设备号由内核使用,用于正确确 定设备文件所指的设备。并可通过次设备号获得一个指向内核设备的直接指针, 也可将次设备号当作设备本地数组的索引。次设备主要用来指向驱动程序所实现 的设备【1 2 】【1 3 】。 在建立一个字符设备之前,驱动程序首先要获得目标设备的一个或多个设备 编号,并将此编号注册到内核中,之后建立相应的设备文件节点。l i n u x 字符设 备驱动通常有两种注册方式,即静态注册和动态注册。 静态注册方式指在已知主设备号的情况下,向内核注册字符设备,之后建立 相应设备节点。其经典方式如下: ( 1 ) 注册一个字符设备驱动程序的经典方式: i n tr e g i s t e r e h r d e v ( u n s i g n e di n tm a j o r , c o n s tc h a r * n a m e , s t r u c tf i l e _ o p e r a t i o n s 霉f o p s ) ; m a j o r 是主设备号。l l a m e 是驱动程序的名称

温馨提示

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

评论

0/150

提交评论