1、 四平职业大学 毕业设计(论文)开题报告 理工类 题 目 : 基于 ARM9 的智能家居远程监控系统(监控模块)的设计与实现 学 院 : 计算机工程学院 专业班级 : 计算机 应用技术 计 056 学生姓名 : 李文成 学 号: 0930301822 指导教师 : 王野 (讲师) 2009年 01 月 09日 淮海工学院毕业设计(论文)开题报告 1.课题研究的意义,国内外研究现状、水平和发展趋势 当网络席卷整个社会,带来经济飞速发展的同时,也给人们的生活带来无限的惊奇。不断更新的生活方式,使得越来越多的人追求对生活的舒适度和享受度。智能家居作为新生力量呼之欲出,自然地走进了我们的生活,随之,引
2、领新一代的数字家庭生活。 智能家居( Smart Home),又称智能住宅。它是以住宅为平台,兼备建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理为一体的 高效、舒适、安全、便利、环保的居住环境。与智能家居的含义近似的还有家庭自动化( Home Automation)、电子家庭( Electronic Home、 E-home)、 数字家园( Digital family)、网络家居( Network Home) ,智能家庭 /建筑( Inte1ligent home/building)等。智能家居也可以定义为一个系统。利用计算机技术、网络通讯技术、综合布线技术、将与家居生活有关
3、的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。 目前,智能 家居在全球都呈现良好的发展趋势。国外,智能家居在美国、德国、新加坡、日本等国都有广泛应用。目前在新加坡也有近 30个住宅小区近 5000户的家庭采用了 “ 家庭智能化系统 ” ,美国已有近 4 万户家庭安装了这一类的“ 家庭智能系统 ” 。三星已经开始在中、韩两国同时推出起智能家居系统。统计资料显示: 2004 年,家庭网络市场总额可达 57 亿美元,国际智能家居的产品销售额可达 148 亿美元。在国内,智能家居已经走过了 “ 概念期 ” ,正是基于对智能家居市场发展前景的展望,使得智能家居不断地纳入各
4、研发单位、房产开发公司、网络公司下期的开发计划 ,也是竞相销售的卖点。他们正是基于对这个难得机遇的意识,开始为研究和开发相关系统和产品进行先期的部署和规划,越来越多的企业开始介入智能家庭网络这个全新的领域。 智能家居与普通家居相比,它不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间,还由原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。 智能家居是数字家庭的一部分,只有将智能控制和 上网功能集成起来,才形成真正意义上的数字家庭。数字家庭
5、涉及的领域将综合生活中的娱乐、工作、投资理财、学习、医疗、教育等,是实现家庭内部、家庭和社会的实时性沟通的综合系统。数字家庭伴随着无线而产生,也使无线技术得到了充分的应用和体现。 淮海工学院毕业设计(论文)开题报告 2.课题的基本内容,可能遇到的困难,提出解决问题的方法和措施 本课题的基本内容: 本课题是基于 ARM9的 智能家居监控 模块开发与实现, 我们 采用 ARM9 内核的S3C2410处理器为控制芯片, 再将 Linux系统移植到硬件平台上,然后设 计好相应的驱动程序和应用程序,最后将软件下载到硬件平台来对家电进行本地和远程控制。 系统主要有 GSM通讯模块和 ARM9系统板两个部分
6、组成。而系统软件主要完成各个模块之间交互通信的功能,在下面会详细讲到。 可能遇到的困难: 由于是首次接触 GSM模块的开发,对其原理及应用程序的设计都还只是初步了解。而对于 GSM 的信号机制也正在研究阶段。如何将收到的信号解析,通过串口通讯显示到终端,这都是有待解决的问题。 在选用系统平台时,采用嵌入式Linux 作为系统运行平台,其内核裁剪 ,编译 ,bootloader 移植及文 件系统的制作 ,需要有很大的工作量来完成 ,由于以前未接触过嵌入式 linux 系统移植工作 ,估计在实际操作中会遇到很多困难。 2 智能家居 控制器 操作系统的移植及裁剪 考虑到成本,以及系统对实时性的要求不
7、高等因素,所以决定选用 Linux 操作系统。目前发行的 Linux 操作系统都能支持 ARM 机的体系结构,所以只要根据平台的具体结构进行移植。移植主要包括建立交叉编译环境、修改内核源码、内核裁剪和内核编译 4等个环节。 2.1 建立交叉编译环 境 交叉编译是指利用运行在某台计算机上的编译器编译某个源程序生成在另一种结构计算机上运行的目标代码的过程。编译器的生成依赖于相应的函数库,而这些函数库又得依靠编译器来编译。建立交叉编译环境就是将 ARM 使用的编译器(如: arm-linux-gcc)和函数库(如: glibc)安装到指定目录,并使用 configure配置好 Makefile 文件
8、。 2.2 修改内核源代码 修改内核源代码主要包括启动代码的修改、内核的链接及装入、参数传递和内核引导几个部分。 Linux 内核分为体系结构相关部分和体系结构无 关部分。在Linux 启动的第一阶段,内核与体系结构相关部分首先执行,它会完成硬件寄存器设置,内存映射等初始化工作。 然后把控制权转给内核中与系统体系结构无关的部分。在移植工作中要修改的代码主要集中在与体系结构相关的部分。 ARM芯片的体系结构在 arch/arm 目录下。首先根据芯片手册修改 boot/init.S 文件中的:片选组基地址寄存器、 DRAM存储配置寄存器、 DRAM 片选寄存器、中断屏蔽寄存器等。然后修改内核的链接
9、及装入 ELF。最后将系统中可用页面的数目、文件系统大小等信息以参数形式从启动代码传给内核 ,完成设置陷阱,初始化中断,初始化计时器,初始化控制台等一系列操作而使内核正常启动。 2.3 内核裁剪和编译 内核裁剪是根据控制系统的要求将不需要的模块从内核中裁剪了, Linux 内核的裁剪有好几个版本,可以使用命令 make menuconfig 对系统进行裁剪。 内核裁剪之后,最后要进行交叉编译生成内核映象文件 zImage。具体命令如下: make clean /清理编译环境 make dep /编译依赖文件 make zImage /编译内核 3.课题拟采用的研究手段(途径)和可行性分析 研究
10、途径: 在设计智能家居控制器时,考虑到系统的稳定性和扩展性,因此将控制器硬件设计成核心板和控制板 2 部分。核心板主要用来构成一台嵌入式计算机系统,控制板主要是一些外围接口。系统硬件如图 1所示。 图 1 智能家居硬件结构图 根据图 1所示 核心板采用三星公司生产的 S3C2410 微处理器。 ROM采用SAMSUNG K9F1208 芯片构成 64M NAND FLASH,将 FLASH 芯片连接到系统的 nGCS0,所以它的起始地址为: 0x00000000。 RAM 采用 2片 HY57V561620AT-H构成 64M ,将它连接到系统 nGCS6,所以它的起始地址为: 0x03000
11、000。为了让系统从 NAND FLASH 启动,要将 S3C2410 的OM0 和 OM1 引脚都接地。最后将 S3C2410 处理器的串口控制信号、 USB 主机控制信号、 LCD 控制信号、触摸屏信号、数据总线、地址总线、控制总线、外部中断等信号全部连接到核心板上的 200芯插座上。 GPRS 模块采用 SIMCOM 公司生产的 SIM100-E芯片。通过第三个串口信号线TXD2 和 RXD2 和处理器相连接。 LCD 直接由 CPU 来控制,不过要增加驱动电路。 触摸屏采用 4 线电阻式,直接将它和 CPU 的 nYPON、 YMON、 nXPON、 XMON 相连。 传感器接口的输出
12、信号连接到 CPU的 EINT9 外部中断引脚上,当传感器接收到某个信号时,就可以通过外部中断引脚向 CPU申请服务。 家电控制接口的输入控制信号连接到 CPU 的 GPIO 端口,当要对某个家电进行控制时,只需向指定的端口写入 0 或 1,然后再由家电控制接口发遥控信号去控制相应的家电。 应用程序的设计 为了提高应用程序的运行速度,以及程序运行 的稳定性,所以将应用程序设计成多线程结构,如图 2所示。应用程序由 7个线程和一个共享数据结构组成。 图 2 应用程序结构框图 共享数据主要用于存放家电开启和关闭时间,发送短信的电话号和短信内容等信息。共享数据是通过 2 个设置线程来修改的。家电控制
13、线程主要是根据控制数据、检测短信线程的内容和操作线程的内容来进行操作。发送短信线程主要是根据控制数据、检测传感器线程的内容和操作线程的内容来进行操作。 应用程序的具体内容如下。 #include /线程库头文件 int main() pthread_creat( /创建发送短信线程 pthread_creat( /创建家电控制线程 pthread_join(th_b, /等待家电控制线程结束 pthread_join(th_a, /等待发送短信线程结束 /发送短信线程 / int send_msg() tty_init(); /初始化串 口 gprs_init(); /初始化 GPRS 模块
14、tty_writecmd(“at”,strlen(“at”); / 发送 AT命令 tty_writecmd(“at+cmgf=1”,strlen(“at+cmgf=1”);/ 发送修改字符集命令 tty_write(“at+cmgs=”,strlen(“at+cmgs=”); / 发送短信命令 tty_writecmd(msg.send_tel,strlen(msg.send_tel); /发送电话号码 tty_writecmd(msg.send_text,strlen(msg.send_text); /发送短信内容 tty_end(); return 0; 其它线程的设计方法有很多相似之处
15、。应用程序设计完成之后,再经过交叉编译就可生成目标文件。 可行性分析: 1技术可行性 该系统主要使用 C/C+语言来完成,使用 linux 交叉编译 环境和 S3C2410开 发板。 整个系统开发思路比较清晰,使用成熟的开发工具和开发环境,且国内外已有类似成熟产品上市,在技术上是完全可行的 2经济可行性 目前,嵌入式系统的开发 一般都是在单片机或者是 ARM 上进行,相比之下,无论在功能以及技术支持方面还是硬件资源方面, ARM都要比单片机强得多,而两者之间价格的差距却越来越小,所以,用 ARM来做相关的开发,在经济上占据绝对优势。 操作系统采用免费的嵌入式 linux,不需支付额外的费用。
16、淮海工学院毕业设计(论文)开题报告 指导教师意见 (对课题的深度、广度及工作量的意见和对设计结果的预测) 指导教师(签名) 2009 年 01 月 09 日 系审查意见: 系主任 (签名 ): 年 月 日 毕业设计 (论文 )外文资料翻译 学 院 : 计算机工程学院 专业班级 : 计算机科学与技术 计 056 学生姓名 : 任晓飞 学 号: 110511623 指导教师 : 傅阳烈 (讲师 ) 外文出处 : http:/ 附 件 : 1.外文资料翻译译文; 2.外文原文 指导教师评语: 签名: 2009 年 03 月 10 日 嵌入式 Linux概述 摘要 本文我将 论述一下 嵌入式 Linu
17、x 目前的 发展趋势( 状况 ) 。我将概述 Linux是什么 ,嵌入式 Linux 系统与桌 面系统有什么不同的特点 。然后,我 将详细地论述 六个关键领域: 配置 实时性 图形用户界面 开发工具支持 经济 性 技术支持选项 下面,我将比较嵌入式 Linux 与 Windows CE 的实时 性,操作系统映像大小和内存需求 。然后我会讨论一些基于嵌入式 Linux 的 零售设备 并与大家讨论一下关于 嵌入式 Linux 一些大概的评论 。 简介 除非你在过去的几年里 一直与世隔绝 , 否则 毫无疑问 你一定 听说过 Linux操作系统。 作 为微软的 Windows NT 在软件开源中的 竞
18、争对手,它已经 在 软件开发和系统管理 社区,以及主流 的 非技术性 新闻媒体 上被广泛宣传和激烈的讨论 。 当 Linux 系统 首次推出 的时候,它 是专门针对运行 在 英特尔 80x86 或兼容的微处理器 上 台式电脑。 引用 Linux 操作系统的 创始 Linus Torvalds 说 过的一句话 : “ 从 Linux操作系统 诞生之日起,它将只会 运行在 拥有一块 IDE硬盘 的 PC上 ” 。回首 至今为止的 21 世纪, 这句话显得非常滑稽 。如今的 Linux 已经被移植到许多不同的微处理器 上并运行在许多并不含有硬盘的平台上 。这些 设备 甚至没有通用的 计算机系统, 也
19、没有 如网络路由器, 核心监控程序和用来 跟 踪 旋风管的 数据收集单位 。正是这些类型的系统, 被统称 为 “ 嵌入式 Linux” 。 在下一节我会 关注 嵌入式 Linux 系统 和它的 堂兄弟 桌面 Linux 系统之间的区别 。然后,我要 回详细描述 嵌入式 Linux 在 :配置,实时性 , GUIs ,开发工具的支持,经济 性 ,和技术支持 这 六个方面 的特点 。然后,我将比较 一下基于同样配置的嵌入式 Linux 内核 与 Windows CE 内核 的大小 和 实时性特征 。 然后,我将讨论三个基于嵌入式 Linux 的 有趣的设备:光学遥测系统, NetTel 路由器和 IBM 公司的掌上电脑研究项目 “ itsy ” 。我会再总结了一些一般性意见的作用和未来的嵌入式 Linux 。 是什么让 Linux 成为“嵌入式” ?