(计算机应用技术专业论文)基于嵌入式操作系统的车用数据采集仪设计与实现.pdf_第1页
(计算机应用技术专业论文)基于嵌入式操作系统的车用数据采集仪设计与实现.pdf_第2页
(计算机应用技术专业论文)基于嵌入式操作系统的车用数据采集仪设计与实现.pdf_第3页
(计算机应用技术专业论文)基于嵌入式操作系统的车用数据采集仪设计与实现.pdf_第4页
(计算机应用技术专业论文)基于嵌入式操作系统的车用数据采集仪设计与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)基于嵌入式操作系统的车用数据采集仪设计与实现.pdf.pdf 免费下载

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

文档简介

i 繁麓漱瑟蒸露焉戮黎麟嚣鬻焉譬蠢麓翦秀曩爨霈瑟瑟瑟黧焉曩嘉孳瑟蔫麓愁懑蔫瑟瑟雾焉嚣;瑟瑟露纛嚣瓣蠢嚣戮戮黧溺飘荡襄蕊蓊麓磁i 蠹耋瑷 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表或撰写过的研究成果,也不包含为获得重压查g 皇态堂或其他教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 学位论文作者签名: 秀例 l 签字日期:伽7 年月日 学位论文版权使用授权书 本学位论文作者完全了解重庆自g 直态堂有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅 和借阅。本人授权重庞邮电太堂可以将学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:磨 导师签名 签字日期:训呷年厂月日 签字日期: 重庆邮电大学硕士论文摘要 摘要 随着中国汽车行业迅猛发展,电子技术已应用到汽车各个领域,c a n 总线的广 泛使用为车内信号采集仪器提供了一种新的手段。本文基于“c o s 嵌入式实时操 作系统,选用m c 9 s 1 2 x d 系列单片机为处理器,设计和开发了能实时显示并存储 c a n 总线采集数据的便携式车用数据采集仪,并已在汽车研发系统内部试用。 文中首先详细分析了r 虹文件系统和m d f 文件标准,在此基础上设计了对u 盘进行文件操作的函数库。其次,根据车用数据采集仪的实际功能需求和开发成本 综合考虑,以m c 9 s 1 2 x d 系列单片机为处理器的主控制器,设计了硬件电路,完 成p c b 板制作和调试。然后,选用源码公开的p c 旧s - 嵌入式实时操作系统,完 成了p c i o s 在m c 9 s 1 2 x d 硬件平台上的移植,包括p c o s - 系统的配置、基于 m c 9 s 1 2 x d 硬件平台的参数修改和一些与处理器相关的代码修改,以及对移植后的 “c o s 进行内核测试。最后,在此基础上编写了车用数据采集仪的应用软件,包 括任务的划分、任务优先级的确定及任务间通信等多任务编程的设计与实现。经过 测试和试用,该系统运行良好,并便于二次开发,具有重要的应用价值和商用潜力。 关键字:c a n 总线,数据采集,p c o s 嵌入式实时操作系统,文件系统,m c 9 s 1 2 单片机 重庆邮电大学硕士论文 a b s t r a c t a b s t r a c t e 1 e 臼0 - t e c h i l i q u eh 雒b e 印p l i e di nv 撕o u sf i e l d so fv e l l i c l e ,a l o n g 、7 i r i 吐lr 印i d d c v c l o p m to fc h i i l e s ev e l l i c l ei n d u 吣h lr e c 锄ty e a r s ,c a nb u sh 嬲b e e i l 印p l i e di i l c o l m m u l i c a t i o nb 咖e e nc o i 内的1 l e ro fv 出c l e ,i to 行e r so i 圮n e wm e n l o dt 0c 0 1 l e c ts i g n a li 1 1 v 出c l ef i e l d b 雒e d0 ne n l b e d d e dr e a l t i i l l e 0 p 饿吡0 ns y s t e i np c o s - ,s e l e c t e d m c 9 s 1 2 ) t 51 2 私i i l i c r o c o n 们1 1 坨a u 吐1 0 rd e s i 弘c dm ev e l l i c l ei l 曲m 脚i o n 确a o r d e fw h i c hc o u l dd i s p l a ya n ds t c i r ec o l l e c t e di i l :f o 衄撕伽b 觚da p p l i e di i lc h e d ra 5 s u c c e s s f i l l l y t h e 丘l es y s t e l i l 础盯a n df i l es p e c i f i c a t i o nm d fh a v eb e a i l a l y z c di nd e t a i l si 1 1t h i s p a p c r 丘r s t l m 觚dd e s i 印e dt l l e 删0 nh b e a 巧o ff i l es y s t e m 州c ht 0a d _ v 觚魄et 0 s i i l l p l i 匆p r o g r a ms 缸u c t u r e ,d e b u ga n dc o d e - r c 娜e l a t i l l 、,i e wo fa c 刚r e q u 蛔n e n to f v e l l i c l ei i 怕肌a l i o nr o c o r d e r 锄dc o s t ,s e l e c t e dm c 9 s 1 2 ) 口) t 5 1 2 勰c o n n d l l d e s i g n e d l l a r d w 眦c h 疵,砌da c c 唧1 i s h e dt 0l a y o u tp c bb o 谢觚dd e b u g 1 1 1 e l l ,s e l e c t e d 即小e d d e dr e a l 一t i n l e0 p e r a t i o ns y s t e mp c o s - 勰s 0 腑a r ep l a t f 0 衄b e c 肌s ei t s 丘 s o u r c ec o d e ,狮dt h e i li i l i g r a t e di tt 0m c 9 s 1 2 ) t 5 1 2 ,恤c l u m n gc o f i g u r es y s t 锄o f “c o s ,m o d i f i c a t i o no fp 批e t e ra n dc o d e ,觚dl a s tt e s t e dm e1 i l i g r a t e dk e m e l a t 1 a s t ,c o m p l i e da p p l i c a t i o ns o 腑a r eo fv e b i c l ei i l f o n n 撕o nr e c o r d e rb 硒e do nh 枷a r ea i l d f t w a r e p l a t f 0 功 1 i i l c l u d e i i l gd i 、,i d i i l gt a s l 【s ,勰s i 9 1 1 i n g t l l e p r i o r i 够o ft a s l 【s 锄d c 0 i 瑚i m i l i c a t i n gb c t w e e nt a s k s ,缸l de t c t i l i sv 出c l er e c o r d e r 、o r k e dw e ub ys y s t e i i l i c t e 池吕a d _ n t a g e dt 0 静d e s i 印,l 谢i l i 】p o m m t 印p l i c a t i o n v a l u ea n dc o n l i i l e r c i a l p o t 吼t i a l k e yw o r d s :c a nb u s ,h l :f o 肌a t i o nc o n e c t i o i l ,e m b e d d e dr e a l t i i i l e0 p 酬通gs y s t e m p c o s 一f i l es y s t 锄,m c 9 s 12 x d 重庆邮电大学硕士论文目录 目录 摘要i a b s t r a c t 第一章绪论”1 1 1 论文选题背景1 1 2 数据采集仪概述2 1 2 1 传统数据采集仪2 1 2 2 便携式数据采集仪2 1 2 3 基于c a n 总线的车用便携式数据采集仪”2 1 3 论文主要工作3 第二章嵌入式实时操作系统5 2 1 嵌入式系统的组成5 2 2 实时操作系统6 2 2 1 实时操作系统的概述6 2 2 2 实时操作系统的功能6 2 2 3 实时操作系统的发展7 2 3 小结8 第三章文件系统功能函数库的设计9 3 1 磁盘的物理结构9 3 2r 虹文件系统1 0 3 2 1 主引导记录m b r 区“1 0 3 2 2 系统引导记录d b r 区1 1 3 2 3 文件分配表f a t 区1 2 3 2 4 文件目录表f i ) t 区1 3 3 2 5 数据d a t a 区1 4 3 3m d f 文件标准1 4 3 3 1m d f 文件整体结构1 5 3 3 2m d f 文件头1 6 3 3 3 数据记录d a t a 鹏c o r d 1 9 3 4 创建文件系统功能函数库2 0 3 5 小结2 2 m 重庆邮电大学硕士论文目录 第四章车用数据采集仪的硬件平台设计2 3 4 1 系统整体结构”2 3 4 2 主控制器模块2 3 4 3 液晶显示模块2 4 4 4c a n 通信模块”2 4 4 5 电源模块2 5 4 6c h 3 7 5 接口电路模块”2 6 4 7a d 转换电路2 7 4 8 小结2 7 第五章嵌入式实时操作系统i l c ,o s i i 的移植”2 8 5 1p c o s 一的内核结构“2 8 5 1 1 代码的临界段“2 8 5 1 2 任务”2 8 5 1 3 任务状态“2 9 5 1 4 任务就绪表2 9 5 1 5 任务调度”3 0 5 1 6 任务间的通信与同步”3 0 5 1 7 时钟节拍3 1 5 1 8p c i o s 的初始化与启动“31 5 2p c o s - 在m c 9 s 1 2 t 51 2 上的移植3 2 5 2 1o sc p u h j 3 2 5 2 2 o s c p u a a s m 3 4 5 2 3o sc h ic c 3 7 5 3 测试移植代码3 8 5 3 1 确保编译器和链接器正常工作”3 8 5 3 2 验证o s t a s k s 墩h l i t o 和o s s 伽饪【i 曲r d y o 函数3 9 5 3 3 验证o s c 戗s w ( ) 3 9 5 3 4 验证o s i n t c 饮s w o 和o s t i c k i s r o 函数4 0 5 4d 、结4 0 第六章车用数据采集仪的应用软件设计4 2 6 1 总体设计4 2 6 2 详细设计4 3 6 2 1 任务设计4 3 6 2 2q n 消息接收中断4 5 重庆邮电大学硕士论文 目录 6 2 3 任务间协作4 7 6 3 模块化编码4 9 6 4 程序调试5 2 6 5 软件固化与试验5 3 6 6 小结5 5 第七章总结及未来工作5 6 7 1 总结5 6 7 2 未来工作。5 6 致 射5 8 攻研期间从事的科研工作及取得的研究成果5 9 参考文献。6 0 v 重庆邮电大学硕士论文 第一章绪论 1 1 论文选题背景 第一章绪论 近几年,中国汽车产业迅猛发展,汽车电子化被认为是汽车技术发展进程中的 一次革命,汽车电子化程度是衡量现代汽车水平的重要标志,是开发新车型、改进 汽车性能最重要的技术措施。在我国,随着奇瑞、吉利等汽车制造企业的崛起,自 主研发的汽车电子控制系统处于加速发展阶段,国家的政策支持和国内汽车市场的 发展给汽车电子系统开发商也带来前所未有的机遇。发展我国具有自主知识产权的 汽车电子工业,对于确保汽车工业作为国民经济支柱产业,同时摆脱过于依赖进口 的状况具有重大战略意义。根据我国半导体工业发展相对滞后的状况,利用国际半 导体芯片产品市场充分开发的有利条件,加大嵌入式软硬件平台产品、集成开发环 境和应用系统的开发则符合我国目前汽车电子产业的发展策略。 目前电子技术已广泛应用在汽车各个领域,一类是汽车控制系统,包括:发动 机、底盘以及车身电子控制,例如电子燃油喷射系统、制动防抱死控制、牵引力控 制、电子控制自动变速器等;另一类是车载汽车电子设备,是在汽车环境下能够独 立使用的电子设备,它和汽车本身的行驶性能并无直接的关系,包括:汽车信息系 统、导航系统、汽车音响、车载通信系统、上网设备等;还有一类是在汽车研发过 程中占有重要角色的精密汽车电子工具,例如数据采集仪、诊断仪、标定工具等【1 1 。 数据采集仪主要负责实时采集车内各传感器信号值,并以液晶屏幕的形式将信号数 值显示用户,或者将信号数据存储于外部存储设备,功研发人员分析研究使用。在 研发过程中,无论是整车道路实验、实验台或者各种台架实验都对数据采集仪有极 大需求。 任何一款车型的开发都凝聚了工作人员大量的心血,在其研发阶段,需要进行 无数次的标定实验和各种路况下的测试,而整车道路试验又是汽车试验的一个重要 组成部分,这些试验所需的车载数据采集仪器又有其特殊性:可移动便携、可靠性 高、操作简洁、具有实时采集等功能。由于进口设备价格昂贵,为了摆脱过分依赖 进口设备,同时增强自主研发能力,作者在实习期间,基于“c o s - 嵌入式实时操 作系统,选用m c 9 s 1 2 x d 系列单片机为处理器,设计和开发了能实时显示c a n 总 线数据并实现存储功能的便携式车用数据采集仪,并已在汽车研发系统内部试用。 该数据采集仪便于二次开发,可以根据实际情况的需要,稍微更改代码即可使用于 任一车型及其它试验领域。 重庆邮电大学硕士论文第一章绪论 1 2 数据采集仪概述 1 2 1 传统数据采集仪 在各行业中,常利用p c 或微处理器对检测数据进行采集。常用的采集方式有 两种:通过数据采集板卡,通常有加卡以及r s 4 2 2 、r s 4 8 5 等总线板卡。采用 板卡不仅安装麻烦、价格昂贵、易受机箱内环境的干扰、降低系统的采样精度和稳 定性,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备, 不易扩展。普通的外置式采样系统,一般通过r s 2 3 2 与p c 相连。r s 2 3 2 的最高 数据传输速率不超过1 1 5 k b s ,同时传输距离也不会超过1 5 m 。对于中高速连续采样 系统,以这种速度与采样系统进行数据交换,必将导致一部分的数据流失,就会失 去高速采样的原始意义。随着计算机软硬件技术的不断发展,虽然u s b 技术的出现 解决了以上这些冲突,但始终受限于现场采集系统中必须有一台计算机的模式【2 】。 1 2 2 便携式数据采集仪 近几年,市场上出现了很多适用于各个领域的便携型数据采集仪,采集速度快、 精度高、存储容量大、抗干扰能力强,能实时记录数据采集时间,携带方便等。其 最大的改进是取代以往现场数据采集系统中必须有一台计算机的模式,可将采集数 据暂存在存储卡上( u 盘、c f 卡等) ,现已广泛应用于工业、农业、军事及日常生活 各个领域,但大多是对模拟量信号进行采集。 1 2 3 基于c a n 总线的车用便携式数据采集仪 鉴于汽车复杂的多体系统和汽车电子技术的不断发展,控制器局域网c a n 【3 】 应运而生,实现了发动机控制器、变速箱控制器、a b s 控制器、车身控制器、仪表 及其它控制器的通信,更大的好处是做到了全车信息即时共享,各控制器单元通过 两根c a n 线连接构成车内网络,如图1 1 所示。 各个控制器单元将分别完成各种不同的传感器信号采集任务,并将采集数据发 送到c a n 总线上,供其他控制模块采用。例如:发动机控制单元e c u 通过c a n 总线可向外部提供发动机负荷、发动机转速、发动机扭矩、车速等参数,而变速箱 控制器t c u 可通过a n 线接收到所关心的发动机数据,来进行决策换档等,并把 决策后的档位信号通过。蝴线发出去,供发动机或其他控制器进行使用。c a n 总 线的出现,为数据采集提供了一种新的手段,可以通过采集c a n 总线消息值,即 2 重庆邮电大学硕士论文第一章绪论 可比较方便地得到所关心的信号数据。 c a nh c a nl l 中央控制器 发动机控制单元传输控制单元 ( 车身控制单元数据采集仪 a n 总线 图1 1 车内c a n 网络框图 c a n 总线被公认为是最有前途的总线之一,c a n 在解决汽车诸多问题上有着 无可比拟的优势,不论是车身系统的低速控制,还是发动机系统的实时控制,它都 可以做到游刃有余。c a n 总线在国外汽车上的应用已相当广泛,而国内奇瑞a 5 则 是第一款开始应用c a n 总线的国产车型,对于研发人员来说,迫切需要一种能实 时采集c a n 总线信息的便携式数据采集仪器。本课题所开发的基于c a n 总线的数 据采集系统即是为了适应此需求而设计的。 1 3 论文主要工作 本文探讨基于c a n 总线的车用数据采集仪的设计和实现。所开发的采集仪用 于在车辆行驶过程中实时采集汽车c a n 总线数据信息,并将采集数据以m d f 文件 格式存储在u 盘中,以u 盘为载体传输给p c 机,可运用p c 机上的软件对数据进 行分析。具体开展的研究工作如下: ( 1 ) 文件系统功能函数库的设计。论文通过对f 盯文件系统和m d f 文件格式进 行分析,在此基础上设计了对u 盘进行文件操作的函数库,例如创建文件、读u 盘 扇区、写u 盘扇区、按文件名查找f d t 表、从f a t 表中查找空闲簇等,应用软件 可以方便的调用函数库中的函数对u 盘进行操作,完成采集数据的记录功能。 ( 2 ) 数据采集仪硬件设计。根据实际的功能需求和开发成本综合考虑,选择合理 的芯片,设计硬件电路并进行电路仿真,最后完成p c b 板。实现的硬件电路模块包 括:以m c 9 s 1 2 x d 系列单片机为处理器的主控制器模块、4 路加转换模块、液 晶显示电路、c a n 驱动器模块,c h 3 7 5 接口电路以及电源模块。 ( 3 ) 斗c 帕s 一嵌入式实时操作系统在m c 9 s 1 2 x d 上的移植。根据车用数据采集 仪的要求,选用了源码公开的嵌入式实时操作系统“c o s ,完成了p c o s 在 m c 9 s 1 2 油硬件平台上的移植,完成的工作包括:p c 幻s 系统的配置、基于 3 重庆邮电大学硕士论文 第一章绪论 m c 9 s 1 2 x d 硬件平台的参数修改和一些与处理器相关的代码修改,以及对移植后的 “c o s 进行内核测试。 ( 4 ) 基于“c o s 和m c 9 s 1 2 x d 的数据采集仪应用开发。作为肛c o s - 嵌入式 实时操作系统的一个具体应用,本文完成了基于c a n 总线的车用数据采集仪的应 用开发,包括任务的划分和建立、任务的优先级确定、任务之间的通信等多任务编 程的设计与实现。 论文的章节安排和结构如下: 第一章为引言,对课题研究背景和数据采集仪进行了概述。本文所设计开发的 车用c a n 总线数据采集仪对实时性要求比较高,并需要处理大量的数据,软件设 计比较复杂,为此,选择实时操作系统作为嵌入式应用软件的基础和开发平台,所 以第二章对嵌入式实时操作系统进行了概述。 由于在数据采集过程中,需将采集数据以m d f 文件格式存储在u 盘中,因此 第三章对f a t 文件格式和m d f 文件标准进行了详细的分析研究,并创建功能函数 库,方便应用软件的使用。第四章选择以m c 9 s 1 2 x d 系列单片机为处理器的主控 制器模块,对数据采集仪的硬件电路设计进行了详细的分模块说明。第五章分析了 嵌入式实时操作系统“c 0 s - 的内核结构,详细叙述了“c o s - 在单片机 m c 9 s 1 2 x d 上的移植过程。第六章是基于“c o s - 和m c 9 s 1 2 x d 的数据采集仪应 用开发,按照嵌入式应用软件的开发流程,对数据采集仪的应用软件设计进行了详 细说明。 4 重庆邮电大学硕士论文第二章嵌入式实时操作系统 第二章嵌入式实时操作系统 2 1 嵌入式系统的组成 嵌入式系统是指以应用为核心,以计算机技术为基础,并且软硬件可裁减,适 应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。嵌 入式系统的最大特点是其目的性和针对性强,即每一套嵌入式系统的开发和设计都 有其特殊的应用场合和特定功能。另外嵌入式技术与实时性有着天然的联系:由于 嵌入式系统是为特定的目的而设计的,且常常受到空间、成本、存储的条件限制, 因此,它必须最大限度地在硬件和软件上“量身定做”以提高效率,这样的结果最 终导致了实时性的增强【4 】。 嵌入式系统通常有嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式 应用软件等几个大部分组成。 ( 1 ) 嵌入式处理器 从硬件方面来讲,嵌入式系统的核心部件是嵌入式处理器。一般具有以下4 个 特点:对实时多任务操作系统具有很强的支持能力;具有功能很强的存储区保护功 能;处理器结构可扩展;低功耗。嵌入式处理器与通用处理器的最大不同点在于嵌 入式c p u 大多工作在特定用户群设计的系统中。它通常把通用c p u 中许多由板卡 完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,并且有高效、 高可靠性等特征。 ( 2 ) 嵌入式外围设备 嵌入式外围设备是嵌入式硬件系统中除了中心控制器( m c u ,d s p 等) 以外的 其他部件,包括:存储器、外部接口、外围显示设备。 ( 3 ) 嵌入式操作系统 嵌入式系统的核心是嵌入式操作系统。嵌入式操作系统可以统称为应用在嵌入 式系统的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主 要有:可固化;可剪裁;可配置;可修改。 嵌入式操作系统可分为实时操作系统和分时操作系统两类。实时操作系统是指 具有实时性,能支持实时控制系统工作的操作系统,首要任务是调度一切可利用的 资源完成实时控制任务;其重要特点是通过任务调度来满足对于重要事件在规定的 时间内做出正确的响应。对于分时操作系统,软件的执行在时间上的要求并不严格, 时间上的延误或者时序上的错误,般不会造成灾难性的后果。 5 重庆邮电大学硕士论文 第二章嵌入式实时操作系统 ( 4 ) 嵌入式应用软件 嵌入式应用软件是针对特定的实际专业领域,基于相应的嵌入式硬件平台并能 完成用户预期任务的计算机软件。 2 2 实时操作系统 嵌入式技术与实时性有着天然的联系,实时系统( r e a l 1 i n l es y s t e m ) 是一个能够 在指定或确定的时间内完成系统功能,及对外部或内部事件在同步或异步时间内作 出响应的系统。 2 2 1 实时操作系统的概述 实时操作系统r 1 旧s 限e a l 1 白m eo p e r a t i n gs y s t 锄) 是一段在嵌入式系统启动后首 先执行的背景程序,用户的应用程序是运行于r t o s 之上的各个任务,r t o s 根据 各个任务的要求,进行资源管理、消息管理、任务调度、异常处理等工作。在r 1 的s 支持的系统中,每个任务均有一个优先级,r t o s 根据各个任务的优先级,动态地 切换各个任务,保证对实时性的要求。工程师在编写程序时,可以分别编写各个任 务,不必同时将所有任务运行的各种可能情况记在心中,大大减小了程序编写的工 作量,而且减少了出错的可能,保证最终程序具有高可靠性。 r t o s 也体现了一种新的系统设计思想和一个开放的软件框架,工程师可以在 不大量变动系统其它任务的情况下增加或去掉一个任务;一个项目开发的过程中, 可以有多个工程师同时进行系统的软件开发,各个人之间只要制订好规程和协议即 可,既缩短了开发时间,又降低了最终软件产品对于具体某个开发者个人的依赖性。 实时内核的使用使得实时应用程序的设计和扩展变得容易,不需要大的改动就可以 增加新的功能。通过将应用程序分割成若干独立的任务,r t o s 使得应用程序的设 计过程大为减化。使用可剥夺性内核时,所有时间要求苛刻的事件都得到了尽可能 快捷、有效的处理【5 】。 2 2 2 实时操作系统的功能 r t o s 应具有如下的功能【6 】: ( 1 ) 任务管理 分时操作系统中的基本调度单位一般是进程( 或者线程) ,而实时操作系统调度 6 重庆邮电大学硕士论文 第二章嵌入式实时操作系统 的基本单位就是任务,任务有四种状态:运行、就绪、挂起、睡眠。实时操作系统 支持多任务管理,任务管理负责任务的创建、挂起、恢复、删除等。 ( 2 ) 任务间同步和通信 多数实时操作系统的任务间同步和通信的机制有:消息、事件、信号量,而部 分实时操作系统还在沿用邮箱机制,另外一些实时操作系统提供了共享内存的任务 间通信机制。 ( 3 ) 内存管理 一般说来,实时操作系统的内存管理,以及对于内存的优化分配,都是为了减 少整个系统的内存占有量。 ( 4 ) 实时时钟服务 目前,商用的实时操作系统在硬时钟中断的基础上,提供了实时时钟服务。实 时时钟是系统调度的基础,也是系统定时服务器的基础。是否提供灵活的、高精度 的定时器服务是衡量实时操作系统功能完整性的一个重要指标。 ( 5 ) 中断管理服务 中断管理服务是实时操作系统的一个核心和基本的功能。实时操作系统的中断 管理有自己特殊的要求,即中断处理程序要短小,以减少中断禁止时间和中断延迟 时间。 2 2 3 实时操作系统的发展 实时操作系统的研究是从2 0 世纪6 0 年代开始的。从系统结构上看,实时操作 系统到现在已经历了3 个发展阶段:早期的实时操作系统、专用实时操作系统和通 用实时操作系统。 ( 1 ) 早期的实时操作系统 早期的实时操作系统还不能称为真正的r 1 的s ,它只是一个小而简单的、带有 一定专用性的软件,功能较弱,可以认为是一种实时监控程序。它一般为用户提供 对系统的初始化管理以及简单的实时时钟管理,有的实时监控程序也引入了任务调 度及简单的任务间协调等功能,属于这类实时监控程序的有r 1 7 m x 等。 ( 2 ) 专用实时操作系统 随着应用的发展,早期的r t o s 已越来越显示出明显的不足了。有些实时系统 的开发者为了满足实时应用的需要,自己研制与特定硬件相配的实时操作系统。这 类专用实时操作系统在国外称为r l 湖髓n e0 p 训i l l gs y s t 锄d e v e l o p e di i lh o l l s e ,一 般只能适用于特定的硬件环境,且缺乏严格的评测,移植性也不太好。属于这类实 时操作系统的有l 公司的8 6 等。 重庆邮电大学硕士论文 第二章嵌入式实时操作系统 ( 3 ) 通用实时操作系统 在各种专用r 1 、o s 中,一些多任务的机制如基于优先级的调度、实时时钟管理、 任务间的通信、同步互斥机构等基本上是相同的,不同的只是面向各自的硬件环境 与应用目标。在各种专用r 1 的s 的基础上,将最低层不同的硬件特性屏蔽掉,为不 同的应用环境提供标准的、可裁剪的系统服务组件,形成了通用实时操作系统。属 于这类i 盯o s 的有i n t e g r a t e ds y s t e m 公司的p s o s y s t e m 、i n t e l 公司的i 】姒x 38 6 、 w i l l d 黜v e rs y s t e i i l s 公司的v x w o r k s 、m i c r o w a r e 的p c o s - 等。它们一般都提供了 实时性较好的内核、多种任务通信机制、文件管理及的服务,提供了集编辑、编 译、调试为一体的集成开发环境,支持用户使用c 、c - h 进行应用程序的开发。 实时操作系统经过多年的发展,先后从实模式进化到保护模式,从微内核技术 进化到超微内核技术;在系统规模上也从单处理器的实时操作系统发展到支持多处 理器的实时操作系统和网络实时操作系统,在操作系统研究领域中形成了一个重要 分支。 在本课题中,采用了免费的p c o s - 嵌入式实时操作系统。“c i o s _ 是一个公 开源代码的、高度可移植的、可裁剪、占先式、多任务的实时内核,其实时性和内 核的健壮性早已在大量的实用中得到了实证。自1 9 9 2 年“c o s 面世以来,该系统 已经被用于上百种产品,特别是在航空电子设备的制造方面应用广泛。在应用于嵌 入式系统方面,“c o s - 小得可以放在一张软盘上运行,程序代码可以小到3 k b , 适当的裁剪也可以使数据空间变得更小。因此斗c o s 的这些特性给嵌入式开发带 来了很大的发展空间,程序开发人员可以按照自己需要改写源代码,裁减掉不需要 的部分,使操作系统变得小巧、灵活,并能满足用户特定的应用需要。 2 3 小结 本章对嵌入式实时操作系统进行了简单描述。嵌入式系统通常包括嵌入式处理 器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几个大部分,而嵌入式 技术与实时性又有着天然的联系,实时操作系统r t o s 是一段在嵌入式系统启动后 首先执行的背景程序。针对实际应用需要以及肛c o s 具有的诸多特性,采用免费 的“c o s 一嵌入式实时操作系统作为该课题的软件平台。接下来的章节将对此操作 系统内核进行详细分析,并完成在硬件平台上的移植。 重庆邮电大学硕士论文 第三章文件系统功能函数库的设计 第三章文件系统功能函数库的设计 3 1 磁盘的物理结构 u 盘、c f 卡、移动硬盘等海量存储设备,其内部结构都是一样的,均遵从硬盘 的物理结构和数据分布结构。在开发过程中,必须对硬盘物理和数据结构有个清晰 的认识,并严格按照其结构对u 盘进行读写,下面将对其物理结构进行详细分析【7 1 。 ( 1 ) 磁道 硬盘加电正常工作以后,磁盘片由主轴电动机带动高速旋转,磁头在驱动机构 的作用下沿盘片径向移动。当磁头停在一个位置时,盘片旋转一周,磁头就在盘片 表面画出一个圆形轨迹,这个圆形轨迹称为磁道。随着磁头的径向移动,磁盘就被 画出许多封闭的同心圆形磁道。磁道从盘片外缘开始编号,起始号为0 。 ( 2 ) 扇区 磁盘上的每个磁道被划分成许多弧段,弧段之间有间隔,这些弧段称为扇区。 扇区也进行编号,起始号为l 。每个磁道通常分成6 3 个扇区,每个扇区可存储的 数据通常为5 1 2 个字节。实际上现在的大容量硬盘,为了提高磁介质的存储利用率, 使用了等密度的存储方式,也就是说外圈磁道的扇区数比内圈磁道多。为了与老的 制式兼容,由硬盘控制器的驱动程序将参数进行转换。 ( 3 ) 柱面 硬盘一般由多张重叠的盘片组成,每个盘面都被划分成数目相等的磁道。具有 相同编号的磁道形成一个圆柱,这就是硬盘的柱面。每个盘面上有多少个磁道,也 就有多少个柱面,柱面的编号和磁道编号相同。 ( 4 ) 磁头 一张磁片有两个盘面,每个盘面都有一个读写磁头。将盘面进行编号,起始号 为o ,磁头的编号和盘面的编号相同。 ( 5 ) 磁盘的分区及高级格式化 硬盘在使用时,是按照不同的区域存储数据的,硬盘分区就是划分区域的过程。 u 盘通常只有一个分区,但这和没有分区的硬盘是不一样的,因为只有经过分区, 才能使硬盘的管理系统知道这块硬盘有哪些区域可以使用。 硬盘的分区格式有很多种,选用什么样的分区格式是由选用哪一种操作系统所 决定的。常用的分区格式有四种,分别是汀1 6 、盯3 2 、n r f s 和,其中使 用最多的是f a t l 6 ,它能被目前所有的操作系统所识别。 9 重庆邮电大学硕士论文第三章文件系统功能函数库的设计 硬盘在分区以后还需在每个分区内建立起完整的存储系统才能正常使用。建立 存储系统的工作由高级格式化程序伊o 眦) 来完成,目的是在分区内建立分区引 导记录d b r ( d o sb 0 0 tr e c o r d ) 、文件分配表彤汀( f i l e 砧l o c a t i o n1 i a b l e ) 、文件目录表 f d t ( f i l ed i r 咖1 a b l e ) 和数据区d 闺隗。 至此,硬盘已经建立了完整的数据结构,可以正常使用了。根据其采用的分区 格式不同,数据结构即文件系统格式会略有不同,因此处理方式上也会有所不同。 鉴于f a t l 6 能被目前所有的操作系统识别,为简便描述,本文的所有操作及描述均 默认在f a t l 6 文件系统前提下。 3 2f a t 文件系统 硬盘上的数据按照其不同的特点和作用大致可分为如图3 1 所示的5 部分: m b r 似a s t e rb o o tr e c o r d ) 区、d b r o sb 0 0 tr e c o r d ) 区、f f 虹( f i l e 舢1 0 c a t i o nn b l e ) 区、h ) t l ed i 砌。t 0 哆伽l e ) 区和d a r a 区,u 盘也是如此【8 】。 3 2 1 主引导记录m b r 区 m b r d b r f a t f d t d a l 久 新建的唧 ( d a t ) 文件 存储在此 图3 1 硬盘各区分布结构框图 由图3 1 可知,r 位于硬盘的最起始位置:硬盘0 柱面o 磁头1 扇区,该扇 区5 1 2 字节有3 部分( 主引导程序、分区表、结束标志凡够5 ) 。一块硬盘上只有一 个主引导记录,其所在磁道即o 磁道属于隐藏磁道,该磁道6 3 个扇区均属于隐藏扇 区。其中分区表记录硬盘各分区信息,u 盘通常只有一个分区,分区表描述该分区 的基本信息,包括分区起始和结束的柱面号、磁头号、扇区号,分区类型,分区起 始扇区号,总扇区数等重要信息。建立如下的数据结构用来保存r 区信息: 1 0 重庆邮电大学硕士论文第三章文件系统功能函数库的设计 聊e d e fs 咖c tj 椰r u i n t 8b 0 0 t c o d e 4 4 6 】; p t 盯o p t a b l e 【4 】; u 硫1 6 e i l d f l a g ; m b r ; ,i 如e d e f s t n l c tj a g p t 盯o u 硫8b o o t f l a g ; u i l l t 8 s 伽廿i e a d ; l l i n t l 6 s t 砒c s ; u n 8 1 卯e ; u i n t 8 e n d h e a d ; u i n t l 6 e n d c s ; u j i l _ t 3 2s t a r t s e 0 r : u i n t 3 2 1 0 t a l s e c t o r s ; p t 盯o ; 主引导程序,启动代码,一般是固定的, 用于引导x 8 6 分区表,4 个分区表项 结束标志:0 】( a a 5 5 启动标志,8 0 h 为可启动分区,否则为0 0 h 分区起始磁头号 分区起始柱面和扇区号 文件系统类型,f a n 6 瓜盯3 2 分区结束磁头号 分区结束柱面和扇区号 分区起始扇区号,即分区前扇区数 f :a t l 6 分区起始扇区通常为6 3 本分区内总扇区数 在对u 盘进行读写操作之前,首先要知道其硬盘属性信息,比如分区起始扇区 号和总扇区数,以及所采用的文件系统格式等,这些信息通过读取u 盘o 柱面o 磁 头1 扇区即r 区内容可得。以笔者所使用的u 盘为例,将其分区表信息导出发 现,分区开始于0 柱面1 磁头1 扇区,分区起始扇区号为6 3 ,由此可知,分区其实 开始于隐藏扇区之后。 3 2 2 系统引导记录d b r 区 d b r 位于硬盘o 柱面1 磁头l 扇区( 逻辑0 扇区) ,即分区起始位置,隐藏扇 区之后便是d b r 区。此扇区又叫“启动扇区 、“保留扇区 ,是f a t 卷的第一个扇 区( 此处的卷是分区的意思) 。该区是操作系统可以直接访问的第一个扇区,包括一 个引导程序和b p b ( b i o sp 繇吼e t e rb l o c k ) 。 b p b 是彤汀文件系统中非常重要的数据结构,所有的f 文件系统卷必须在 启动扇区中包含b p b 。如下给出d b r 区的数据结构定义: ,i 如e d e fs t r u c tj 徊b r u i n t l 6b p b b ”e p e r s e c t o r ;每扇区字节数,通常为5 1 2 u 缸8 b p bs e c p e 酊; 每簇扇区数 重庆邮电大学硕士论文第三章文件系统功能函数库的设计 l l i i l t 8 u i i l t l 6 u i m l 6 u i l l _ t 1 6 u i n t l 6 枷2 枷2 b p bn u m f a r s : b p br 0 0 t e m r y b p bs m a l l t b t a l s e c : b p bs e c p e i f a r : b p bs e c p a 7 i r l 【: b p bh i d d e n : b p b - j i g r o t a l s e c ; u 劬8 f i l e s y s 聊e 8 】; 咖8 c o d e 4 2 0 】; 保留区扇区数,即从d b r 到r 盯所占 扇区数,对于f a t l 6 此域必须为1 脚表的份数,通常为2 目录项的个数 分区总扇区数( 小于等于3 2 m 时用) 每个r 虹表所占扇区数 每磁道扇区数 隐藏扇区数 分区总扇区数( 大于3 2 m 时用) ,此总 扇区数包括d b r 、f a t 、f d t 、d 朋 a 区所占扇区总和 所采用的文件系统类型他虹1 6 厄a t 3 2 ) 加o s 引导程序,代码区 ,d b r ; 对硬盘的读写操作要严格按照b p b 中给

温馨提示

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

评论

0/150

提交评论