基于zigbee技术的智能家居安全监控系统设计毕业设计(编辑修改稿)内容摘要:
系统电源电路部分: TMS320F2812 为 +3. 3V 信号电平,核心电平为 +1. 8V,而以太网控制器都是 +5V 的信号电平。 因此需要设计三种不同 参考电压的电源电路。 复位电路部分: SP708 给 TMS320F2812 和 SL811HS 提供低电平复位信 号。 西华大学硕士学位论文 以太网通信接口部分:数据处理后通过 RTL8019AS 网络控制芯片与以 太网连接,且以太网与 RTL8019AS 之间要接隔离模块后方可以连接。 RS232 串行通信部分:设计这一部分是为了方便调试。 此外, TMS320F2812 支持 JTAG 口下载仿真,需要设计 JTAG 接口;为了 方便将来对程序的调试,也需要设计串行通信接口。 考虑到协议转换需要大量 的数据存储空间,而 TMS320F2812 内部空间有限,因此需要外扩一块高速静态 RAM,本文采用的是 ISSI 公司生产的 IS6lLV25616AL。 I/ O 口扩展引脚的分配如下: XD[0]XD[7]分配给液晶显示屏作数据输入口, EVA、 EVB 事件管理器的口留出来已备后续开发 (进行中断程序开发 ),其余口 被用于扩展外部 RAM 和 FLASH。 基于 ZigBee 技术的智能家居安全监控系统设计 图 4. 1 数据处理模块结构 4. 2 数据处理模块的外围电路设计 4. 2. 1 系统电源电路设计 本模块用到了 +5V、 +3. 3V和 +1. 8V的器件。 TMS320F2812 采用 +3. 3V的外 设供电和 +1. 8V 的内核供电,芯片采用这种分离式供电方式,可以大大降低 DSP 芯片功耗。 所以本模块采用 NationalSemiconductor 公司的芯片 LM2596 和LMlll7, 将电路板外接的 +9V 转换成 +3. 3V 和 +1. 8V。 供电电路如图 4. 3所示。 基于 ZigBee 技术的智能家居安全监控系统设计 图 4. 3 电源电路 基于 ZigBee 技术的智能家居安全监控系统设计 4. 2. 2 复位电路设计 为了提高系统的可靠性,保证系统稳定地运行,使用了 Sipex 公司生产的 低功耗 SP708R处理器监控芯片,可以提供高/低复位电平。 如图 4. 4所示。 SP708R 还可以监控电源和电池供给,它集成了很多器件在其中,包括:一个看门狗定 时器、一个 uP 的复位、一个掉电比较器和一个手动复位输入。 MR脚就是手动 复位引脚,当该引脚输入电平被下拉至低于 0. 8V 时, SP708R 将输出一个复 位 脉冲。 而 PFI脚是掉电输入引脚,当 SP708R 的输入电压低于 1. 25V 时,肋将 为低,所以通常将 PFI连接到地。 脚 RESET 是低电平复位输出引脚,当 Vcc 电 压低于复位阈值时,这个引脚将输出低复位电平 200ms。 SP708R 在这里主要是 为 TMS320F2812 芯片、 USB 控制芯片 SL811HS 提供低电平的复位信号。 手动 复位的功能是当系统出现程序跑飞或者需要系统重新初始化并运行时,按下复 位键产生的复位信号,使 DSP 进入正常的程序入口。 图 4. 复位电路 4. 2. 3 以太网通信接口电路设计 为了把经过 DSP 处理模块的数据通过以太网动态的显示在监控机上,这就 需要设计以太网通信接口电路。 这里选用台湾 Realtek 公司生产的高性能工业以 太网控制器 RTL8019AS, RTL8019AS 的内部包含一块双端口的 16K 字节的 RAM,基于 ZigBee 技术的智能家居安全监控系统设计 有两套总线连接到该 RAM 上,一套是本地 DMA,另一套是远程 DMA。 本地 DMA 完成控制器与网线的数据交换,远程 DMA 负责 DSP 与 RAM 之间的数据传输, DSP 收 发数据只对远程 DMA 操作。 芯片复位时,通过检测 96 引脚 IOCSl6B(SLOTl6)的电平来确定是采用 了 16 位还是 8 位插槽 (这时该引脚称为 SLOTl6)。 为了做到这点,如果 33 引 脚 RSTDRV 置高,则网络适配器被认为放入 16位插槽,而 IOCSl6B 脚将会连 ~ 300W 的上拉电阻;反之,则被认为放入 8 位插槽,而 IOCSl6B 脚将会连一 27KW 的下拉电阻。 同时,通过在 RSTDRV 引脚输出大于 800ns 的高电平可实 现 RTL8019AS 的硬件复位。 如图 所示。 图 以太网通信接口电路 辅助串行通信电路 基于 ZigBee 技术的智能家居安全监控系统设计 考虑到以后调试工作的需要,所以为数据处理模块设计了串行接口。 本设计 使用 MAX232 芯片实现 TTL电平和 RS. 232 电平之间的转换,硬件电路如图 所示。 图 串行通信电路 4. 3 本章小结 本章概述了数据处理模块的设计目的和原理,并以 TMS320F2812 为核心, 详细介绍了外围电路设计和辅助通信电路设计方案。 5嵌入式实时操作系统μ c/ osII在 TMS320F2812上的移植 5. 1 μ c/ os— II 的概述及特点 考虑到在智能家居系统中, ZigBee 收发模块 (对应于安防传感器的部分 ) 是一个要求实时传输数据的模块,这也就要求整个系统必须 是一个实时系统, 能够对各种传感器或命令做出及时反应,且智能家居系统软件必须能够对内存 管理、对消息反应能够实时。 所以说移植一个实时操作系统是有必要的。 同时, 基于 ZigBee 技术的智能家居安全监控系统设计 还考虑到以后可以对智能家居系统进行升级改造 (在嵌入式实时操作系统环境 下,开发新的应用程序 )的需要,移植一个实时操作系统也是非常有用的。 本设计在考虑到整个设计成本问题时,首选免费型实时操作系统,考虑到μ C/ OS 比较适合家庭这种小型的控制系统,同时执行效率高、占用空间小、实时性能优良和可扩展性强等特点,对处理器的移植比较简单,所以最后选择了μ C/ os— II作为本设计将要移植的实时操作系统。 μ C/ OS. II是由 JeanJ. Labrosse 于 1992 年编写的一个嵌入式多任务实时操作系统。 最早这个系统叫做μ C/ OS,后来经过近 10 年的应用和修改,在1999 年 JeanJ. Labrosse 推出了μ C/ OS. II,并在 2020 年通过了美国联邦航空管理局的 RTCADO: 178B 标准认证,从而证明μ C/ OS. II具有足够的稳定性和安全性。 μ C/ OS 一Ⅱ是用 C语言和汇编语言来编写的。 其中绝大部分代码都是用 C语言编写的,只有极少数部分与处理器密切相关的代码是用汇编语言编写的,所以用户只要做很少的工作就可把它移植到各类 8位、 16 位和 32位嵌入式处理器上。 Ps]I.μ C/ OS. II的体系结构如图 5. 1 所示。 μ C/ OS. H 操作系统是一种性能优良、源码公开且被广泛应用的免费嵌入式操作系统,其主要特 点有: (1)μ C/ OS. II 是一个可剥夺型的实时内核,其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。 (2)μ C/ OS. II 非常适合小型控制系统,具有执行效率高,占用空间小、确定性、实时性能优良和扩展性强等特点。 (3)μ C/ OS.Ⅱ最多可以支持 64 个任务,采用的是占先式的实时多任务内核, 保证任务优先级最高的任务能够即时完成。 (4)μ C/ OS. II 的移植较为简单,只需要修改 3 个与硬件相关的文件和重写几个函数即可。 基于 ZigBee 技术的智能家居安全监控系统设计 图 5. 1 μ C/ OS. II 的体系结构 5. 2 μ C/ 0S— II 的移植 在本设计中,所移植的系统建立了 8个任务 (参照见图 1. 2): O号任务,用来监测安防传感器 (煤气泄露 )。 在执行该任务时通过 ZigBee 网络协调器选择与安防传感器 (煤气泄露 )终端节点通信,采集传感器数据。 1号任务,用来监测安防传感器 (温度 )。 在执行该任务时通过 ZigBee 网络 协调器选择与安防传感器 (温度 )终端节点通信,采集传感器数据。 2号任务,与 0 号任务对应,将安防传感器 (煤气泄露 )采集的数据最终通 西华大学硕士学位论文 过以太网上传到监控机 (PC 机 )上。 3号任务,与 1 号任务 对应,将安防传感器 (温度 )采集的数据最终通过以 太网上传到监控机 (PC 机 )上。 4号任务,用来控制冰箱、空调、电视、灯的电源开关,通常情况下,这些 开关型控制,只用一个任务就可以完成,只要在执行该任务时,同时通过 ZigBec 网络协调器同时发送一个 16 位地址符就可以选择出所要执行开关任务的终端节 点。 基于 ZigBee 技术的智能家居安全监控系统设计 5号任务,单独为窗帘建立一个任务。 因为窗帘的控制是一个闭环控制。 6号任务,为电表、水表、燃气表的数据采集建立一个任务。 因为水表、电 表、燃气表的数据对实时性要求没有那么高,可以分时采集,在执行该任务时, 同 时通过 ZigBcc 网络协调器同时发送一个 16位地址符就可以选择出所要执行 数据采集任务的终端节点,另外,还要为该任务调用一个延时函数,并设置延 时时钟周期数,从而最终实现在三表间轮流数据采集。 7号任务,用来对三表数据上传到监控机 (PC 机 )建立任务。 对应于任务 6,分别将从水、电、燃气表采集的数据立即上传。 从任务的代码上来看,任务是如下形式的一个 C 函数: void task(void) { 参数定义; for(; ; ) { 执行任务代码; 调用 OSTimeDly()延时函数,清除该任务就绪位,设置延时时钟 周 期数,调用任务切换宏 OSTASKswo 进行任务调度; ) 它们具有各自独立的堆栈空间和不同的静态优先级, 0号任务优先级最高, 7号任务优先级最低。 对于 0 号任务 ~3 号任务,由于它们是保证家居安全的是 不允许中断响应的,所以在这些任务开始执行时,一定要设置程序状态字 PSW 为 0x0002(关中断 )。 同时任务可以在系统和应用程序的控制下,根据具体情况改变自己的状态,这个改变叫做任务状态的转换。 任务在不同状态之间的转换即有 5 种状态: 基于 ZigBee 技术的智能家居安全监控系统设计 (1)睡眠状态 (DORMANT):指任务驻留在程序空间中,还没有交给操作系 统管理。 把任务交给内核是通过调用任务创建函数 OSTaskCreateO 或提供了一些 附加功能的 OSTaskCreateExt0 实现的。 (2)就绪状态 (READY):当任务~旦建立,这个任务就处于就绪态准备运行。 就绪态的任务都被放在就绪列表中,在任务调度时,指针 OSTCBHighRdy 指向 优先级最高的那个任务控制块 OSTCB,就立即运行该任务。 (3)运行状态 (Rl 烈 NING):处于就绪状态的任务如果经调度器判断获得了处 理器的使用权,则任务就进入了运行状态。 任何时候只能有~个任务处于运行 状态,就绪 的任务只有当所有优先级高于本任务的任务都转为等待状态时,才 能进入运行状态。 这时,控制块指针 OSTCBCur 指向正在运行的任务的任务控 制块。 (4)等待状态 (WAITING):正在运行的任务由于调用延时函数 OSTimeDlyO 或等待事件信号量的来临而将处理器的使用权让给其他任务而使任务处于等待 状态。 (5)中断服务状态 (ISR):一个正在运行的任务一旦响应中断申请就会中止运 行而去执行中断服务程序,这时任务的状态叫做中断服务状态。 由此可知,在智能家居系统中的 8 个任务就是在这 5 种状态间转换的。 行 I. μ C/ OS. II 移植,主要进行以下部分的操作: (1)在 OSCPU. H文件中用 define 语句定义与处理器相关的常数、宏和 类型;根据处理器堆栈结构在 OSCPU. H中定义堆栈增长方向。 (2)在 OS CPU. C文件中用 C 语言编写与处理器相关的 C语言代码模块, 即编写 6个简单的 C语言函数。 (3)在 OSCPUA. ASM 文件中,集中了所有与处理器相关的汇编语言代 码模块,在 OSCPUA. ASM 中要编写 4个汇编语言函数。 μ C/ OS. II移植到 TMS320F2812 采用的是 CCS2. 0编译软件, CCS2. 0 支持交叉编译 (允许在 C源代码中插入汇编语言 ),所以适合嵌入式实时操作系统 基于 ZigBee 技术的智能家居安全监控系统设计 μ C/ OS. II的移植。 5. 3 本章小结 本章结合第 4章对 TMS320F2812 的研究,简要介绍了μ C/ OS. II 的特点和 结构,为 pC/ OSII 的移植做了原理性解释,同时介绍了移植μ C/ OS. II实时操作系统的方法及步骤。 6 智能家居。基于zigbee技术的智能家居安全监控系统设计毕业设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。