(计算机应用技术专业论文)基于嵌入式技术的家庭智能化系统.pdf_第1页
(计算机应用技术专业论文)基于嵌入式技术的家庭智能化系统.pdf_第2页
(计算机应用技术专业论文)基于嵌入式技术的家庭智能化系统.pdf_第3页
(计算机应用技术专业论文)基于嵌入式技术的家庭智能化系统.pdf_第4页
(计算机应用技术专业论文)基于嵌入式技术的家庭智能化系统.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)基于嵌入式技术的家庭智能化系统.pdf.pdf 免费下载

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

文档简介

i 萄京航空肮大人学硕一e 学位论文 摘要 随着信息社会的发展,嘲络平i i 信息家i 乜已越来越多地出现在人们的生活之中,而 这一切发展的最终目标都是给人类提供一个衍适、便捷、高效、安全的生活环境。如 何建立一个高效率、低成本、基于嵌入式技术的智能家届系统已成为当今世界的一个 热点问题。 家庭智能化最终体现在家庭运用多元信息技术( 如嵌入式l i n u x 、h 。2 6 3 ) , 在此基础上实现监控与信息交互。基于嵌入式技术家庭智能化系统主要有以下三大模 块,即嵌入式家庭智能应用终端、嵌入式智能家庭内网通信模块、嵌入式智能家庭网 关。 智能应用终端是智能家庭局域网最基本的组成单元,也是智能家居系统的最终受 控对象,在智能家庭网关的控制与管理下,完成家庭电器设备的智能控制。 嵌入式智能家庭内网通信模块主要由消息处理模和基于国际通用的数传频段无 线收发模块构成,是智能应用终端与嵌入式家庭网关的桥梁。 嵌入式家庭网关为外部通信网络提供远程监控和信息交互的窗口,家庭内部各种 智能应用终端的信息和状态均以网页的形式通过基于8 位单片机w e b 服务器( m c u w e b ) 传送给远程监控用户,远程监控用户通过网页以c g i 形式改变和控制家庭智能终端的 参数和状态。电话控制模块支持用户通过电话实现对家庭智能终端的监视和控制。 关键词:嵌入式系统、智能家庭、嵌入式网关、嵌入式l i n u x 、h 2 6 3 基丁嵌入式技术的家庭智能纯系统 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r r n a t i o ns o c i e t y , m o r ea n dm o r en e t w o r ka n dh o u s e h o l d i n f o r m a t i o na p p l i a n c e sa r e a p p e a r i n gi ne v e r y d a yl i f e ,a n dt h e u l t i m a t e g o a l o ft h e s e d e v e l o p m e n ti s t o p r o v i d ep e o p l ew i t hac o m f o r t a b l e ,c o n v e n i e n t ,e f f i c i e n ta n ds e c u r e l i v i n ge n v i r o n m e n t h o w t od e v e l o pa ne f f i c i e n t ,l o w - c o s ts m a r th o m eb a s e do ne m b e d d e d t e c h n i q u e i sah o t r e s e a r c h i n gt o p i ci nt h ew o r l d s m a r th o m ew i l lb e f i n a l l y r e a l i z e d b yt h ea p p l i c a t i o n o fm u l t i p l ei n f o r m a t i o n t e c h n i q u e ss u c ha sh 2 6 3 a n de m b e d d e dl i n u x ,o nw h i c ht h eg o a lo fs u r v e i l l a n c ea n d i n f o r m a t i o ni n t e r a c t i o nc a nb er e a c h e d s m a r th o m eb a s e do ne m b e d d e d t e c h n i q u e c o n s i s t s o f f o l l o w i n g t h r e ep a r t s ,e m b e d d e di n t e l l i g e n ta p p l i c a t i o nt e r m i n a l s ,e m b e d d e di n t r a - h o m e n e t w o r kc o m m u n i c a t i o nm o d u l ea n de m b e d d e di n t e l l i g e n th o m e g a t e w a y t h ei n t e l l i g e n ta p p l i c a t i o nt e r m i n a li st h eb a s i cc o n s t i t u e n to ft h ei n t e l l i g e n th o m e l a n a n di ti sa l s ot h ef i n a lo b j e c tt ob ec o n t r o l l e di nt h es y s t e m c o n t r o l l e da n dm a n a g e d b y t h eh o m e g a t e w a y , t h ei n t e l l i g e n ta p p l i c a t i o nt e r m i n a l sc a n c o n t r o lt h eh o m e s e l e c t r i c a l a p p l i a n c ei n t e l l e c t u a l l y 西ee m b e d d e di n t r a - h o m en e t w o r kc o m m u n i c a t i o nm o d u l ec o n s i s t so ff n f o r m a t i 彻 p r o c e s sm o d u l ea n di s m ( i n d u s t r i a l ,s c i e n t i f i c a n dm e d i c a l ) f r e q u e n c yb a n dw i r e l e s s c o m m u n i c a t i o nm o d u l e t h ec o m m u n i c a t i o nm o d u l ei st h eb r i d g eb e t w e e nt h ei n t e l l i g e n t a p p l i c a t i o nt e r m i n a l sa n d t h ee m b e d d e dh o m e g a t e w a y t h ee m b e d d e dh o m e g a t e w a yp r o v i d e s r e m o t ec o n t r o la n di n f o r m a t i o n c o m m u n i c a t i o ni n t e r f a c ef o re x t e r i o rc o m m u n i c a t i o nn e t w o r k t h ei n f o r m a t i o na n d s t a t u s e so fa l lt h ei n t e l l i g e n ta p p l i c a t i o nt e r m i n a l sa th o m ea r et r a n s f e r r e dt ot h er e m o t e c o n t r o l l e rt h r o u g h8 - b i tm i c r o c o n t r o l l e rw e bs e r v e r ( m c u w e b ) i nt h ef o r m a to fw e b p a g e s t h e r e m o t eu s e rc a nc h a n g ea n dc o n t r o lt h e p a r a m e t e r s a n ds t a t u s e so ft h e i n t e l l i g e n tt e r m i n a l st h r o u 【g hw e bp a g e si nt h ef o r m a to f c g i t h et e l e p h o n em o d u l ec a n s u p p o r tt h eu s e rt om o n i t o ra n dc o n t r o lt h ei n t e l l i g e n ta p p l i c a t i o nt e r m i n a l st h r o u 曲t h e t e l e p h o n e k e y w o r d s :e m b e d d e ds y s t e m ,s m a r th o m e ,e m b e d d e dg a t e w a y , e m b e d d e dl i n u x , h 2 6 3 i i 南京航空航天人节硕十学化论文 1 1 背景 第一章绪论 在信息技术蓬勃发展的今天,各种信息家电不断涌现,家庭逐步成为信息基础设 施的重要组成部分。作为数字化产品的典型代表,家庭智能化系统是网络时代人民大 众进入信息社会的主要入口。据信息产业部计算机与微电子发展研究中心市场信息中 心( c c i d m i c ) 分析,到2 0 0 3 年我国有4 7 2 3 万人次不通过计算机实现联网,因此研 究适应中国特色的家庭智能化系统解决方案,不仅涉及到巨大的经济利益。而且具有 深远的社会意义。 1 2 国内外研究概况 如何建立一个高效率、低成本的智能家居系统已成为当今世界的一个热点问题。 近年来,国际上许多大公司提出了相应的解决方案,但迄今为止。这一领域的国际标 准尚未成熟,各国正努力研制适合于本国国情的智能家居系统。国外许多大公司如 e m w a r e 、m i c r o c h i p 、s i i 等联合成立了嵌入式i n t e r n e t 联盟,来专门讨论和制定嵌 入式i n t e r n e t 领域的标准和开发相关的技术 3 4 。 i 3 本论文主要内容 本文通过对嵌入式i n t e r n e t 和智能家居系统这一领域相关技术的研究和探索, 提出了一种适合中国国情的智能家居及嵌入式i n t e r n e t 解决方案。 嵌入式i n t e r n e t 是近几年发展起来的一项新兴概念和技术,是指设各通过嵌入 式模块而非p c 系统直接接入i n t e r n e t ,以i n t e r n e t 为介质实现信息交互的过程, 通常又称为非p ci n t e r n e t 接入。 智能家居系统又称智能家庭局域网,是适应现代化家庭生活而形成的个形式多 样化的网络结构。从大的方面看,家庭智能系统可由三部分组成:嵌入式家庭智能应 用终端、嵌入式智能家庭内网通信模块,嵌入式智能家庭网关。未来的家庭中,多件 家用电器与各种报警器( 统称为嵌入式家庭智能应用终端) 组成一个家庭的内部网, 并通过内网的网关接入因特网。一方面,内部网中的家电可以通过网关访问因特网上 资源。另一方面,用户可以在因特网任何一点通过浏览器对家里的家用电器与报警器 进行远程控制;嵌入式智能家庭内网通信模块主要由消息处理模块和基于工频的无线 收发模块构成。智能家居系统将成为i n t e r n e t 的发展沃土,顺应“网络服务”( 信 i 基于嵌入式技术的家庭智能化系统 息的提供) 向“网络应用”扩展的大潮”( 北京大学梅宏教授在南京航空航天大学 2 0 0 3 年5 0 年系列校庆报告) 。智能家居系统的提出和实现不仅会带来普通居民用户 家庭生活方式上的变革,而且将波及到工业控制等许多与i n t e r n e t 相关的嵌入式应 用领域。而以智能家居为最基本构成单元的一个有序化网络体系结构的诞生则会为 i n t e r n e t 注入新的生机和活力。 1 4 本文的主要贡献及创新点 1 4 1 自主研发的嵌入式m c u w e b 服务器 它由t c p i p 协议栈芯片,网络接口芯片和微控制器( m c u ) 芯片组成。m c u w e b 是一个体积为6 0 m m * 3 0 m m 的、低成本的、独立的、固化的w e bs e r v e r 。m c u w e b 由于 其体积小、成本低,灵活的接口,因此可以不加任 可修改就可以嵌入在电子设备中, 给电子设备一个i n t e r n e t 接入功能,同时,可以将电子设备的输入输出口的实时状 念以网页的形式表现出来,设备使用者无论在时间,无论在什么地点,无论使用什么 样的i n t e r n e t 浏览器,都可以随时了解到自己的设备状态。m c u w e b 还有一个更加重 要的功能是它可以嵌入c g i 程序,完成对现场设备的实时控制。它可应用于工业控制、 信息家电及办公自动化领域。 1 4 2 正在研发基于h 2 6 3 协议的w e b c a m e r a 嵌入式系统 该系统利用c m o ss e n s o r 采集图像,通过a d 公司b l a c k f i n 2 1 5 3 5d s p 实现h 2 6 3 编码器且将u c l i n u x 移植到a r m 7 t d m i 核的c p u 芯片内,在u c li n u x 基础实现h t t p ,f t p 服务,最终实现w e b c a m e r a 。目的是通过i e 或网景的n e t s c a p e 访问w e b c a m e r a , 实现实时监控。 1 4 3 回调函数的硬件实现 在开发m c u w e b 时,借鉴了协议软件的分层思想,自己独立提出了一种新观点 通过不同设备芯片闯的接口实现回调函数( c a l l b a c kf u c t i o n ) 。 1 4 4 平台丌发模式 将平台丌发模式应 2 5 用到嵌入式家庭智能应用终端的研发过程中,避免了大量 简单重复劳动。 南京航空航大人学硕十学位论文 1 5 本论文余下的各章组织如下 第二章概要描述智能家庭的系统架构、家庭智能的功能描述。第三章介绍家庭智 能终端设备具体研发和平台开发模式的思想。第四章主要描述基于嵌入式操作系统 ( e m b d d e do s ) 体系架构与开发过程,详细地说明嵌入式操作系统( o s ) ,板级支持 包,映像( i m a g e ) 的执行过程。第五章基于三、四两章介绍的开发方法,详细地剖 析嵌入式w e b 服务器( m c u w e b ) 研发过程。第六章基于第四章介绍的开发方法,描述 嵌入式o s 的移植,h 2 6 3 的算法,并针对家庭图像和嵌入式系统特点对算法作了改 进。最后对论文进行总结并提出展望。 基丁 淤入式技术的家庭智能化系统 第二章智能家庭的系统架构 水章主要介绍智能家庭的系统架构功能手f f j 述及各部分与嵌入式系统的关系。 2 1 嵌入式系统 在介绍智能家庭的系统架构前,先概要描述嵌入式系统 2 5 ,2 6 ,4 1 ,4 2 】。 嵌入式系统定义:嵌入到对象体系中的专用计算机系统( 计算机,嵌入性,专用 性) ,由嵌入到对象紧耦合引起的采集,控制要求( 接口电路,实时性) ;环境要求( 体 积,可靠性) :专用性要求( 软,硬件的裁剪性) 。这样就形成两种独立发展的嵌入式 应用。 2 1 1 电子系统应用模式 独立发展的电子系统应用模式( 单片机控制) ,由单片机直接进入电子技术领域 而形成。特征为:电子应用工程师主体,电子系统设计的应用方法,与工控对象应用 的紧密耦合。 2 1 2 计算机工程应用模式 计算机工程应用模式( 后p c 时代) ,借助现有的计算机体系结构和软件工程的方 法。特征为:计算机应用工程师主体,计算机工程的应用方法,远离工控对象应用领 域,基于软硬件平台的开发应用。 从上面的描述我们可以看到:“单片机控制”与“后p c ”统一到嵌入式系统高、 低端。 低端:电子工程领域( 底层性,测控性对象祸合) ; 高端:计算机工程应用模式( 非底层性,非测控胜,远离对象) 。 2 2 智能家庭系统体系结构 智能家庭系统如图2 1 南京航空航犬人学硕十学位论文 r ”r :ir 秽i l t 塞j f _ | | | 蓠。i1 善墨! 一紊l l 爹il 鼯茎j 蒺 嫠事铲0 毒;谳槲; ;块l 块: l 群,p i 。堕篁婴墅j :一一* 。 : ;副獬稍 图2 1 智能家庭系统的体系结构 2 3 智能家庭系统体系结构分类和功能 家庭智能系统的体系结构的总体框图如图2 1 所示。从功能的方面看,家庭智能 系统可由三部分组成:嵌入式家庭智能应用终端、嵌入式智能家庭内网通信模块,嵌 入式智能家庭网关。从嵌入式应用方面看,其中图像模块和嵌入式w e b 服务器属于嵌 入式系统高端,其余部分为嵌入式系统低端。 2 3 1 网络报警 家庭智化内部网中的各种报警器在监测到险情时触发声、光报警。如家里没人及 时处理,该报警器将自动起动与之相连的无线收发模块,无线收发模块根据报警类型 将预存的消息按一定的格式发送到控制消息分配模块与主动消息接收模块,该模块将 报警消息送到家庭智能系统的嵌入式m c u w e b ,嵌入式m c u w e b 以网页的形式或邮件形 式通过因特网及时告知家庭成员。 2 3 2 网络控制 用户可以在世界的任何一处,通过网络浏览器登陆到m c u w e b ,访问家用电器实 时交互控制主页,用户根据自己的需要选择网页中相应的表项,m c u w e b 对回送的h t t p 信息进行分析,确定其类型且传送到命令解释模块,命令解释模块根据消息类型查表 懒蠢 渗, 弋, 一计算仉 一渔嚆 基于嵌入式技术的家蜒钾能化系统 找出对应的家用电器控制命令字并将该家用电器控制命令字送到控制消息分配与主 动消息接收模块,该模块通过无线收发模块送到智能家电控制模块,由智能家电控制 模块启动带学习功能的红外遥控器对遥控类家用电器( 如电视,空调) 进行相应的操 作:由智能家电控制模块直接控制开关类家用电器( 如电灯,热水器) 开与关。由智 能家电控制模起动智能家用电器( 如桃顶盒) ,控制机顶盒,自动访问用户喜欢的某 个电视台的网站,自动下载节目。 2 3 3 网络监控 同样用户可以在的任何地方,通过网络浏览器访问m c u w e b 主页,用户选中网页 中图像监控表项,m c u w e b 通过图像监控模块启动基于h 2 6 3 协议w e b c a m ( 网络相 机) ,w e b c a m 将采集的图像通过m c u w e b 将图像送到用户的浏览器上,从而实现图像 实时监控。 2 3 4 电话报警 家庭智化内部网中的各种报警器在监测到险情时触发声,光报警。如家里没人及 时处理,该报警器将自动起动与之相连的无线收发模块,无线收发模块根据报警类型 将预存的消息按一定的格式发送到控制消息分配与主动消息接收模块,该模块将报警 消息送到家庭智能系统的电话模快,电话模快通过预先设定的电话号码,自动拨号将 险情告知家庭成员。 2 3 5 电话控制 用户可以通过拨号连接到电话模快,用户根据语音提示,点击相应的按键,电话 模快对回送的按键信息进行分析,确定其类型且传送到命令解释模块,命令解释模块 根据消息类型查表找出对应的家用电器控制命令字并将该家用电器控制命令字送到 控制消息分配与主动消息接收模块,该模块通过无线收发模块送到智能家电控制模 块,由智能家电控制模块启动带学习功能的红外遥控器对遥控类家用电器( 如电视、 空调) 进行相应的操作:由智能家电控制模块直接控制开关类家用电器( 如电灯、热 水器) 丌与关。 余下的几章将结合具体的模块介绍没汁方法。 南京航空航大人学坝十学f 矗论文 第三章家庭智能终端设备 小章在介绍嵌入式系统的低端前,藩光j i 迸“平台丌发模式”思想【2 5 ,1 6 】,最 后结合“平台开发模式”思想,晚l 蝈1 2 1 1 1 n f 改沃入式系统的低端设备。避免了大量低 水,卜的重复劳动形成顽症。 3 1 平台开发模式 在一个设计集团中,实行严格的标准化、系列化、规范化设计,并将某一类产品 领域的馕本硬件结构及基本软件形成产品的”统一机芯”,即基础平台,并将基础平台 相关的周边扩展电路及应用软件进行优化、筛选,形成基础平台的平台库资源。在开 发新产品时,利用基础平台,并选择平台库中的相关资源进行开发 2 5 。 3 1 1 基础平台设计 基础平台是系列化产品的“统一机芯”。基础平台设计的前提是产品系列的综合规 划,在没有明确的产品系列时,则以单片机最小系统为基础完成基本系统设计与资源 规划。基础平台设计内容为 2 5 : ( 1 ) 单片机系列兼容性设计 ( 2 ) 单片机最小系统电路设计 ( 3 ) 单片机资源的优先级应用分配规划 ( 4 ) 单片机外围扩展的总线配置 ( 5 ) 建立基础平台文档及应用规范 3 1 2 外围扩展规划 根据产品系列要求的系统扩展与系统配置要求,制定外围扩展的典型系列电路。 这些典型电路应具有典型性,通用性和系列性。因为作为基础平台,虽然起”统一机 芯”作用,但在不同产品中,会有不同的外围电路需求。 3 1 3 软、硬件平台库建设 软硬件平台库是以电路单元和软件子程序或库函数的文档形式存在的。所有基础 平台、外围扩展的单元电路及相应的配套软件或典型子程序都应形成平台库文件。 基丁| 跌入式技术的家j j 羔钾能化系统 3 1 4 平台文档及应用规范建设平台文档及应用规范 平台文档及应用规范建设平台文档及应用规范是单片机产品技术丌发中的技术 传递语言。新产品研发时要用基础乎台及平台库组合成新品研发的应用平台:新品研 发先成后,技术必须以平台文挡及虑川规范的形式确认。 3 2 智能家庭系统中嵌入式低端设备 在智能家庭系统中,低端设备有报警器( 如煤气泄漏报警器。玻璃破碎报警器 等等) ;设备控制器( 如红外遥控器) ;无线通信模快。它们都是基于m c s 5 1 单片机最 小系统为基础,再根据每个设备的特殊性定制外围扩展的典型系列电路和软件,就可 以设计上述产品 4 8 ,1 9 ,2 6 ,3 1 ,3 8 3 9 ,4 1 ,4 2 。从而避免了大量低水平的重复 劳动形成顽症。下面以煤气泄漏报警器为例,分别介绍有关的嵌入式低端设备。 3 2 1 煤气泄漏报警器 煤气报警器的核心是气体传感器( m q 一2 ) ,m q 一2 型适用于各类可燃性气体及烟雾、 氨、硫化物等。检测范围为2 0 p p m 1 0 0 0 0 p p m ,灵敏度高,输出信号为伏特级: 响应速度快,小于1 0 秒;功耗0 7 5 w ,尺寸:d 1 9 m m * h 1 7r a m 。连续工作使用寿 命大于三年,可靠性好。这是一个独特的电阻,当“闻”到燃气时,传感器电阻随 燃气浓度而变化。通过图3 1 所示的电路将这种电阻变化转换为电压变化。关键 点是基准点的设景,因为它直接关系到煤气泄漏报警的浓度。经过多次测试,此 基准点的电压最后稳定在2 7 v 。过低或过高将分别引起误报警和煤气中毒。 基准 样点 圈3 1 电阻变化转换为电压变化 南京航空航大人学硕十学位论文 l ,a t 8 9 c 2 0 5 1 是a t m e l 公司生产的与m c s j 1 系列兼容的单片机。内古:2 k 字节f 1 a s h e e p r o m 、1 2 8 字节r a m 、1 5 根i o 引线、2 个1 6 位定时器计数器、1 个五向量两 级中断结构,1 个全双工串行口、1 个精密模拟比较器等,其引脚如图3 2 所示。 ,l s t ( r d ,p 3 0 t d ) p 3 j c r l 2 ( _ i i 千6 ) p 3 2 煤气泄漏报警器硬件原理框图如图3 3 。 v c c p 1 1 p t 6 p 1 5 p 1 3 p t 2 p i 1 ( i n l l p 1 o ( 工n o ) p ,7 a t 8 9131 2 气c 2 0 5 11 11 0 体 慕摊占。 9r罪动 p 1 o 传 精密模拟比较 56 傅34 票样古。p 11 摊1 7 4 0 7 幽3 3煤气泄漏报警器的框图 当外界煤气泄漏达到一定浓度,电压变化使得精密模拟比较器起作用,表 现在p 3 6 引脚。平时没有煤气泄漏时p 3 ,6 为高电平:当有煤气泄漏时p 3 6 为低电平。单片机只要查寻p 3 6 脚,当p 3 6 为低电平时,单片机置p l 口( 除 p 1 0 和p 1 1 外) 其余所有引脚,经过7 4 0 7 ( t t l 集电极开路输出的六正相高 压驱动器) 第二脚驱动发光二极管一光报警;经过7 4 0 7 第四脚再加一级n p n 三 极管驱动蜂鸣器声音报警;经过7 4 0 7 第六脚再加一级三极管驱动继电器从而 启动换气扇;经过7 4 0 7 第八脚再加一级三极管驱动继电器从而切断气源。7 4 0 7 的第十和第十二脚分别作为正常工作的指示灯和自检指示灯。 媾气泄漏报警器软件。软件设计要合理考虑工作逻辑 2 6 ,软件流程图见图3 4 。 ,为了方便用户,i 我们设置了。个暂停功能键,按下此键消除声光报警,但启动换 基于嵌入式技术的家庭智能化系统 气扇和切断气源电路继续工作。因此我们将按件接在a t 8 9 c 2 0 5 1 的p 3 2 ( 外中断 0 ) 上,中断为电平触发。中断服务程序就是将p 1 2 和p 1 3 耿反。 没 有 泄 漏 主程序流程 每谴 无i 将报警信息传递给 用户 继续声光报警,同 时启动换气扇并切 断气源 中断处理 图3 4软件流程图 3 2 2 实现基础平台设计主要技术 有人处理险情 停止声音报警,开 换气扇并切断气源 各个公司的2 0 5 1 和8 0 5 1 系列单片机的指令系统,片脚兼容;不同的只是芯片内 部r a m 和r o m 大小,芯片内定时器数目,芯片内中断数目及芯片处理速度差别; 单片机必须有上电复位电路,地址和数据电路,地址锁存电路,串口电路,供电 电路,外设驱动电路: 了解单片机资源( r a m ,r o m ,定时器等等) ,中断优先级应用分配规划; 荜片机外围扩展的总线有串口,2 c ; 建立基础平台文档:主要是单片机初始化程序,1 2 c 总线软件包,虚拟u a r t 方式 软件包,中断程序详细文档。 那么在设计新产品时,只要根据新产品的特性,在基础平台上对标准电路组合, 同时主程序和若干中断子程序是可以自主运行的块而普通子程序是不能自主运行的, _ 但可以将普通子程序看作主调程序模块块的一部分,因此整个系统程序设计就是完成 主程序设计和若干中断子程序设计的过程。 o 南京航空航天大学硕士学位论文 3 2 3 红外遥控器 在硬件层面上,需要增加红外收发器件,通过u a r t 的与单片机相连,同时还要 增力i e e r o m 且通过1 2 c 与单片机相连; 在软件层面上,只要增加编码和解码部分就可实现。 3 2 4 无线通信模快 在硬件层面上,需要增 3 口n r f 4 0 1 ,通过u a r t 的与单片机相连 在软件层面上,只要增加对数据打包和解包部分就可实现。 3 2 5 电话控制模快 在硬件层面上,需要增加双音多频拨号芯片( d t m f 8 8 8 0 ) ,通过相应的接口与单 片机相连:同时还要增加e e r o m 且通过1 2 c 与单片机相连,主要用来存储语音提 示和预存电话号码;铃流检测芯片电路; 在软件层面上,增加单片机与双音多频拨号芯片通信;通过1 2 c ,单片机对e e r o m 的读写;当铃流检测芯片检测到电话打入时,启动中断服务程序。 基丁l 妖入式技术的家庭智能化系统 第四章嵌入式体系架构与开发过程 夺章主要介绍嵌入式体系架构与丌发过程,嵌入式系统通常包括构成软件行环境 的硬件和操作系统两部分,如图4 1 。其中嵌入式系统的运行环境和应用场合决定了 嵌入式系统具有区别于其它操作系统的一些特点 1 2 ,1 3 ,2 4 。 4 1 硬件层 幽4l 嵌入式系统体系架构 嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式d s p ( d i g i t a ls i g n a lp r o c e s s o r ) 。嵌入式微处理器就是和通用计算机的微处理器相对 应的c p u 。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保 留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积, j , t n 功耗低的要求。嵌入 式微控制器又称为单片机,它将c p u 、存储器( 少量的r a m 、r o m 或两者都有) 和其 它外设封装在同一片集成电路里。常见的有8 0 5 1 。嵌入式d s p 专门用来对离散时问 信号进行极快的处理计算,提高编译效率和执行速度 3 6 ,4 l ,4 2 , 。 南京航空航犬大学硕士学位论文 4 2 板级支持包 板级支持包( b s p ) 是对目标系统底层支持的软件。具体地说,b s p 是一些与硬 件相关功能的集合,它包括:硬件系统的初始化代码、控制目标系统硬件设备运行的 功能调用( 这些控制板上芯片运行的程序叫做设备驱动程序) 。b s p 处于硬件系统和 嵌入式操作系统之间,是上层软件与硬件联系的桥梁。由于它屏蔽了直接对硬件的底 层操作,使上层软件的编写可以不必关心具体硬件的实现。 4 2 1b s p 的组成 b s p 是系统用来管理外设的部分,由两部分组成:初始化和驱动程序。所谓初始 化是指从系统上电复位开始直到操作系统的核o s k e r n e l 和用户根任务( u s r r o o t ) 启动的这段时间。驱动程序就是一些包含i 0 操作的子函数。 初始化包括c p u 初始化、主板( b o a r d ) 初始化、系统( s y s t e m ) 初始化。 c p u 初始化:c p u 的内部寄存器配置; b o a r d 初始化:智能i o 的寄存器配置,将d e v i c e 打通; s y s t e m 初始化:为系统的运行准备数据结构,进行数据初始化。 初始忆 系统初始化i 板级初始化 c p u 初始化 4 , 2 2 驱动程序 圈4 2嵌入式系统初始化过稃 驱动程序的特点是不能自动执行,只能被动调用。调用可以有三种方式,如图 4 3 :直接调用、系统调用( s y s t e mc a l l ) 、调用服务( s e r v i c e ) 。 基于i 陕入式技术的家庭智能化系统 圈4 3驱动调川形式 所以驱动程序可以抽象为三个层次:常规操作、与o s 的接口、与组件( c o m p o n e n t ) 的接口。 幽4 4 驱动科序接口 常规操作是设备的固有操作逻辑,有两层含义: 1 ) i o 的编址; 2 ) 微观上表现为c p u 操作d e v i c e 的寄存器、宏观上表现为具体操作的含义。 奇, f t - 器 数字电路 状态 屯电 1 1 0p r o c e s s o r光 c p u 地址 机械 叶 控制 控制电路 图4 5 驱动常规操作过程 南京冉觅芏航火人1 ;:颂 :学1 论文 驱动程序与o s 的接口、驱动程序与c o m p o n e n t 的接口有三层含义: i ) i 0 管理 2 ) 操作类型规整 3 ) 参数舰整 驱动程序与嵌入式操作系统的接旧使d r i v o fjl - 何更好的层次性,驱动程序与组件 ( c o m p o n e n t ) 的接口使d r i v e r 具有更好的抽缘性。 4 3 嵌入式操作系统 嵌入式操作系统是由一个实时多任务内核加上周边的一些用于实现特定功能的 可选的标准软件模块组成。嵌入式操作系统的各个软件模块是与硬件无关的,它们在 系统启动时由用户定义的配置表( 包含关于应用和硬件的相关参数) 进行初始化。大 多数嵌入式操作系统采用了微内核结构,内核只提供基本的功能,比如:任务的调度、 任务之间的通信与同步、内存管理、时钟管理等。其它的应用组件,如网络功能、文 件系统、g u i 系统等均工作在用户态,以系统进程或函数调用的方式工作。因而系统 都是可裁减的,用户可以根据自己的需要选用相应的组件,下面分别予以说明。 4 6 4 3 i 嵌入式操作系统内核的基本功能划分 任务管理: 内存管理: 消息队列服务: 事件和异步信号服务: 信号量服务; 时钟管理和定时器服务 中断实现; 出错处理。 4 3 2 任务( 即进程) 概念及划分原则 任务是代码运行的一个映像。从系统的角度看,任务是竞争系统资源的最小运行 单元。任务可以使用或等待c p u 、i 0 设备及内存等系统资源。并独立于其它任 务,与它们一起并发运行( 宏观上如此) 。嵌入式操作系统内核通过一定的指示 块( 如进程控制块) 来进行任务的切换,这些指示块都是来自对嵌入式操作系统 内核的系统调用。在应用程序中。任务在表面上具有与普通函数相似的格式,但 任务有着自己较明显的特点: 基于战入式妓术的家庭智能化系统 任务具有初始化的起点( 如获取一些系统对象的i d 等) ; 具有存放执行内容的私j ;j 数抓1 蔓 任务控制块和任务标识 在每个任务创建时,嵌入式操作系统内核都会为它分配个数据结构任 务控制块( t c b ) ,用于嵌入式操作系统内核对此任务的维护和管理。在t c b 中包 含了有关任务名称、优先级、剩余时间片及其上下文( 机器寄存器状态) 的有关 信息。当任务运行时,其上下文是高度动态的( 些具体寄存器的值是在运行中 不断变化的) ,任务没有运行时,上下文则保存在t c b 中。在t c b 中还有一些结 构用于在系统范围内对任务的维护,例如,一个任务可以在如下几种队列中:就 绪任务队列、某一消息队列的等待队列或某一信号量的等待队列或r e g i o n ( 大小 可变) 内存块的等待队列等,可能还在超时队列中。 在嵌入式操作系统内核起动时,会根据嵌入式操作系统配置表中的值在内存中分 配相应数目的t c b ,当一个任务创建时,嵌入式操作系统内核给它分配一个t c b , 当任务删除时。嵌入式操作系统内核收回其t c b 。 任务创建时,系统返回的一个任务标识t i d ,其中包含了任务的t c b 地址信 息,因此绝大多数系统调用中用t i d 来表示任务作为输入,嵌入式操作系统内核 可以快速地定位该目标任务的t c b 。如果系统凋用中输入的t i d 值为0 ,则指向 调用任务本身的t c b 。 4 3 3 任务状态和状态迁移 嵌入式系统应用中每一任务都有多种运行状态,在一个任务创建( c r e a t ) 并起 南京航空航大人学顾1 :学位论文 动( s t a r t ) 之后,就可以在系统一 | 竞争一定的资源,由嵌入式操作系统内核进行调 度。 任务在系统中通常有三种状态: 1 ) 就绪( r e a d y ,缩写为r ) 2 ) 运行( r u n n i n g ,缩写为e ) 3 ) 阻塞( b l o c k e d ,缩写为b ) 由于c p u 资源是唯一的,所以同时只能有个任务为运行态。就绪的任务是可以 运行的,它与运行态的区别仅在于它没有占用c p u ,就绪态任务一直在等待高优先级 的运行态任务释放c p u 后以进入运行念。任务的阻塞态是由于它在运行态时进行的系 统调用使它处于等待状态,因为就绪态的任务不能进行系统调用,任务不可能从就绪 态迁移为阻塞态。 另外还有一种任务状态为挂起态( s u s p e n d e d ) ,挂起态又分为两种: 1 ) 挂起阻塞( s u s p e n d e db 1 0 c k e d ,缩写为s b ) 2 ) 挂起就绪( s u s p e n d e dr e a d y ,缩写为s r ) 挂起态与阻塞态有一定的相似之处,但任务挂起可由任务本身或其它任务进行, 但任务阻塞只能由其本身来完成,处于挂起阻塞态的任务可以接收所需的资源迁移为 挂起就绪态。 任务的状态改变都是由对嵌入式操作系统内核的系统调用所引发的,这些系统调 用可能是该任务本身,也有可能是其它任务或i s r 。对任务状态迁移的全面了解对正 确理解嵌入式操作系统内核和有效进行多任务应用设计的前提。图4 6 描述了系统中 可能会发生的状态迁移情况。 图4 6 嵌入式系统系统任务状态迁移图 应该注意的是,由于人为地将任务挂起会嵌入式操作系统内核对系统资源管理和 对任务的调度有不良影响,在应用程序设计时应尽量避免使用挂起态内存分配。嵌入 式操作系统内存管理服务提供了二种动态内存分配机制:定长缓冲区分配 鉴丁畋入式技术的家庭智能化系统 ( p a r t i t i o r ) 和变长内存段分配( r e g i o n ) 。r e g i o n 是一个用户定义的、在物理上 连续的内存块,用户可以使用r n g e t r e g 从r e g i o n 中分配个可变长度的内存段。 p a r t i t i o n 是一个用户定义的物理上连续的内存块,它与r e g i o n ( 大小可变内存) 不同之处在于p a r t i t i o n 被分成了一组大小牛h 同的缓冲区。使用p a r t i t i o n 的灵活性 虽刁;如r e g i o n ( 大小可变f j 存) ,但l 分眦效率较高,也不会产生内存砰片。 4 3 4 通信、同步和互斥机制 通常情况下,基于嵌入式操作系统的应用程序总是划分为一组任务和中断服务程 序( i s r ) 。从概念上讲,每个任务是可以与其它任务并发运行的一组操作,同时相互 合作的任务之间需要交换数据、进行同步和共享独占资源。为实现任务与任务之间以 及 s r 与任务之阳j 的通信、同步和互斥,嵌入式操作系统内核提供了三种机制消 息队到( m e s s a g eq u e u e ) 、事件( e v e n t ) 和信号量( s e m a p h o r e ) 。 消息队列 消息队列提供了一种高度柔性的通用的通信和同步机制,和任务一样,消息 队列也是一个抽象的系统对象,由系统调用q c r e a t e 动态地创建。q c r e a t e 的 输入参数定义了队列名、消息队列的长度( 可以对长度无限制) 、等待消息任务 的排队方式( f i f o 或按任务优先级) 以及是否为存储消息分配私有缓冲区。嵌入 式系统系统中的消息队列有二种,即定长消息队列和可变长度消息队列。 事件 嵌入式操作系统实时内核提供一系列事件同步机制。通常每一个任务有3 2 个事件标志按位排列在一个3 2 b i t s 的双字中。其中,高十六位保留为系统使用, 低十六位为用户自定义。事件是各自彼此相互独立,一个任务可通过对几个事件 的相互组合( 包括与”关系和“或”关系) 与其它的任务或i s r 进行同步。任务 和i s r 可以发送一个或多个事件到另外的任务,一个目标任务也可以用“a n y ” 或“a l l ”的方式获取等待一定的事件。如果所发送的事件满足目标任务的事件 等待条件,则任务进入就绪态。如果蜀标任务没有在等待此事件,则仅将此事件 置为到达标志。 事件与信息队列都可以进行任务间同步,但两者有诸多不同之处: 事件可被用来进行任务阍的同步,但是不能直接携带任何信息; 拓扑学上讲,事件是点到点传送,就是况,它们明确的通知接收任务。 相比较来说,信息被送往队列中。在多接收者的情况,信息发送者无须 了解该信息确切被送往的任务: 单个的e v _ r e c e i v e 调用可使任务同时等待多个事件,而q _ r e c e i v 调用, 只能从一个队列中等待一个信息包; 南京航三;三航夫人学硕十学俺论文 信息包能自动彼缓冲平编队tqr - f f q :【i | j i 记数也不编队。如粜在已纷 有事件挂起的情况下,又何旧样1 t 什到米,则后到的粤件无效。 事件相关的系统调用: e vr e c e l v e e vs e n d 获得等待事件 向仟务技送事件 信号量 嵌入式操作系统实时内核提供一系列信号量操作。一般说来,信号量在有 互斥的场合作为临界资源标识使用。 嵌入式操作系统内核支持传统的p 操作和v 操作。s i l l p 调用申请一个令 牌( t o k e n ) ,如果信号量令牌数非零,则s m p 操作将令牌数减一并表示操作成 功。如果此时令牌数为零,那么调用者可以选择等待、等待超时或无条件返回。 如果任务选择等待,它可以以先进先出方式或按优先级高低排队,这是由创建信 号量时设定的。s i i i _ v 调用归还信号量令牌。如果此时没有任务等待该信号量, 那么s m v 只是简单的将信号量令牌数加一。如果有任务在等待,那么等待队列 的第一个任务被取出进入就绪态。当一个信号量被删除时,因等待此信号量而阻 塞的任务将被从等待队列中取出并返回就绪态。 嵌入式操作系统实时内核提供一系列信号量操作。一般说来,信号量在有 互斥的场合作为临界资源标识使用。嵌入式操作系统内核支持传统的p 操作和 v 操作。s mp 调用申请一个令牌( t o k e n ) ,如果信号量令牌数非零,则s mp 操 作将令牌数减一并表示操作成功。如果此时令牌数为零,那么调用者可以选择等 待、等待超时或无条件返回。如果任务选择等待,它可以以先进先出方式或按优 先缴高低排队,这是由创建信号量时

温馨提示

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

最新文档

评论

0/150

提交评论