《基于ARM的网络智能家居系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于ARM的网络智能家居系统的设计与实现.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、苏州大学本科生毕业设计(论文)基于ARM的网络智能家居系统的设计与实现苏州大学 应用技术学院 09电子转班级(学号0916936074) 徐金波前言3第1章 绪论4第1.1节 研究背景4第1.2节 国内、外智能家居的发展与现状4第1.3节 智能家居远程控制系统技术的发展趋势5第1.4节 方案研究的内容与特色6第2章 智能家居远程控制系统的总体方案8第2.1节 系统的需求分析8第2.2节 系统的总体规划设计82.2.1. 系统的体系结构92.2.2. 系统实现功能10第3章 智能家居远程控制系统硬件设计11第3.1节 硬件体系架构11第3.2节 电源管理模块11第3.3节 时钟复位模块12第3.
2、4节 RS232串口模块13第3.5节 JTAG模块13第3.6节 Flash存储模块14第4章 智能家居远程控制系统软件开发16第4.1节 嵌入式开发软件平台16第4.2节 交叉编译环境16第4.3节 U-Boot原理分析与移植16第4.4节 Linux内核分析与移植18第4.5节 文件系统制作20第4.6节 Boa服务器分析与移植22第5章 智能家居远程控制系统服务器的实现24第5.1节 嵌入式Web系统原理24第5.2节 HTML静态网页的制作24第5.3节 CGI程序开发26结论28参考文献29致谢30附录左齐标题131附录1:实物照片说明31附录2:部分源程序32- i -基于ARM
3、的网络智能家居系统的设计与实现苏州大学 应用技术学院 09电子转班级(学号0916936074) 徐金波【摘要】:伴随着社会经济水平的提高,人们对家居生活的质量的要求也越来越高。随着计算机与嵌入式技术的生活化,各种智能化、信息化的消费电子产品不断涌现。这些家用电器在方便人们的生活,提高人们的生活质量的同时,也提出了一个问题,如何对家庭中越来越多的信息家电进行有效的控制。智能家居是由欧美等发达国家提出的一种概念,旨在将家庭中离散的信息设备连接到一个家庭智能化系统上进行集中的或异地的监视控制和家庭事务的管理。本文针对这一目标设计了一款基于网络平台的智能家居控制器。智能家居控制器是智能家居系统中不可
4、缺少的一部分。本文在ARM平台上,结合嵌入式Linux系统,Internet技术,在智能家居控制器上实现了嵌入式Web服务器、CGI脚本服务体系及后台控制系统。分析并定义了智能家居控制器与信息家电之间的通信方式。用户在任何可以获得Internet的地方,通过web浏览器登录家居控制系统的主控页面,就可以控制自己家中的信息家电。 具体如下: 本文分析了智能家居的起源、发展和研究现状。对比了当前较为流行的几种可用于构建智能家居内部网络的相关技术,确定以蓝牙技术作为家庭内部网络通信工具。并在文中阐述了实现蓝牙技术串口通信的方法。以ARM9核心开发板搭建了智能家居控制器的硬件实验平台,并阐述了系统实现
5、所需要的软件开笈平台的建立过程。描述了引导程序u-boot的移植、Linux系统内核的移植、根文件系统的制作、交叉编译环境的构建过程。分析了家居控制系统的工作原理。完成了嵌入式Web服务器的移植,描述了CGI服务脚本体系并给出了具体的实现方法。分析并设计了后台服务模块的程序结构及工作流程,描述了实现过程。本文实现了智能家居控制器的网络控制功能。经过模拟平台的搭建及对系统的测试,利用现有网络资源,本文设计的智能家居控制器能够实现与被控端设备的连通及控制信号的发送,实现了对信息家电的控制,基本实现了既定的目标要求。【关键词】:ARM;智能家居;控制器;CGI;Abstract : With the
6、 improvement of socio-economic level,peoples demands of home-1iving quality become more and more。As the computer and embedded technology coming into our life,lots of intellectualized and information appliances continue to emergeWhile these information appliances making convenience and improving peop
7、les home-living quality,it also raises a question that how to control more and more information appliances effectivelyThe concept of Smart Home is made by those developed countries such as the Europe and the United StatesIt aimed that all independent informafion appliances in home connect to a Home
8、Intelligence System in order to supervisory them in home or remote and manage family affairsSo aimed at this issue,the thesis designed a kind of home controller based on networkHome controller is all indispensable part of Smart Home management systemOn ARM platform,this thesis implemented embedded W
9、eb server,CGI scripts service system and background control system based on embedded Linux systems and Internet technology This thesis analyzed and defined a kind of communication mode between home controller and information appliancesUsers can log on the homepage of home control system via hternet
10、browser at any location to control their information appliancesThe main work in this thesisis below:The thesis analysed the origin,development and research of Smart Home Built hardware experimental platform of home controller based On the ARM9 core development board,and described building process of
11、 software development platform which is need by the system implementation。It describes the transplantation of the bootloader,u-boot,and Linux kernel,the process of making a root file system,the construction of cross-compiler environment.Analyzed the principle of home control syster.Completed the tra
12、nsplantation of embedded web ServerDescribed the CGI scripting system and giw a concrete method to realize it。Analyzed and designed the program framework of background service module and described its realezed processThis thesis realized the fianetion to control the information appliances on network
13、 with the Smart Home controllerAfter constcting the simulated platform and testing the system, it confirmed that the information appliances controller designed in this thesis can connect and send control signal to the controlled appliances,which realized the control of information appliances using o
14、f existing network resourcesThe expected requirements have been fuilfilledKey words:ARM;Smart Home;CGI;Controller;前言智能家居也叫智能住宅,英文叫Smart Home。也可以叫做网络家庭、电子家庭、家庭自动化等等。智能家居概念的起源甚早,首先由美国、欧洲等经济比较发达的国家提出来的。其目标就是:通过家庭内部的一个智能系统,将各种信息家电连接起来进行集中的或异地的监视控制。智能家居系统是一个综合的信息管理平台。本文设计的智能家居控制器,是智能家居系统的核心,通过控制嚣将家庭内部网络和
15、外部网络进行连接及数据交换。在家庭内部网络,利用控制器连接各种信息家电,对设备的各类信息进行采集。在外部网络,用户通过Internet连接到控制器,可以查看或者修改信息家电的状态。方便了人们对信息家电的监测和控制。智能家居作为综合国力和科技水平的具体体现,能够为人们提供安全、舒适、节能和高效的现代生活方式,市场前景广阔。智能家居是未来家庭生活的趋势。但是由于国内的相关企业起步较晚,因此在家电的技术层次上还大多停留在PC平台的有线通信上。鉴于有线通信的种种缺点,国很多企业也开始了针对无线家居控制的研究,但是具体的产品应用还不是很多。本是针对目前智能家居的背景情况,依托ARM平台和internet
16、技术,研究一种可行的基于网络的智能家居控制系统,实现信息家电的管理。所完成的工作主要有;1分析了智能家居的起源、发展和研究现状。对比了当前较为流行的几种可用于智能家居内部网络的相关技术。2措建了智能家居控制器的硬件实验平台,并阐述了系统实现所需要的软件开发的建立过程。描述了引导程序u-boot的移植、Linux系统内核的移植、根文件系统的、交叉编译环境的构建以及BOA移植的实现方法。3分析了基于网络技术的智能家居控制系统的工作原理。完成了嵌入式Web服务移植,描述了CGI服务脚本体系并给出了具体的实现方法。分析并设计了后台服务的程序结构及工作流程,描述了实现方法。第1章 绪论第1.1节 研究背
17、景智能家电是计算机技术、电子技术、控制技术向传统家电产业渗透发展的必然结果。近年来随着信息化的普及应用,通讯的高层次化与自由化、业务量急速增加,以及人类对工作、生活环境的安全性、效率性、舒适性要求的提高,对家居智能化提出了强劲需求;此外在技术方面,由于电子技术、计算机控制技术、通信技术的飞速进步,也促进了智能家居的发展。目前通常把智能家居定义为利用计算机技术和电子控制技术,通过家庭信息管理平台将与家居生活有关的各种子系统有机地结合的一个系统。也就是说,首先它们都要在一个家居中建立一个通讯网络,为家庭信息提供所需的通路,在家庭网络操作系统的控制下,通过相应的硬件和执行体系,实现对连接在家庭网络上
18、的家电和设备的监控。其次,它们要通过一定的系统界面平台,构成与外界的通讯通道,实现与家庭以外的网络互通信息,实现远程控制、监视和交换信息的,最终满足人们对安全、舒适、方便和符合绿色环境保护的越来越高的需求。进入21世纪,数字化技术取得了更加迅猛的发展并日益渗透到各个领域。随着Internet网向普通家庭生活不断扩展,消费电子、通讯、计算机一体化趋势日趋明显,智能化信息家电产品已经开始步入社会和家庭。智能家居在我国已经历了7年的发展。智能家居涉及不少行业领域:电子、通信、计算机、自动控制、建筑装饰等,在实际需求确定中最重要的一点不是智能化如何先进,产品如何高档,而是智能家居系统怎样与家居环境有机
19、融为一体。智能家居怎样做到实用、易用、人性化,真正提高人们的生活品质,才是智能家居的发展方向。第1.2节 国内、外智能家居的发展与现状早在1979年,美国斯坦福研究所就提出了在建筑物内将家用电器、电器设备的控制线统一为家庭总线的概念。之后,在美国成立了现代住宅研究会,专门从事这一顿域的研究。1983年,美国电子工业协会开始制定家用电器的设计标准。1984年,第一幢智能建筑在美出现后,美国住宅建筑者协会成立了现代住宅开发公司,开始有关基础性研究工作,并在1989年推出了将电力供应、空调控制和数据通信合成一个整体的布线系统示范单元。在这期间,智能住宅的概念在欧美等发达国家得到了广泛的认同和发展。欧
20、洲在1985年把集成化的家居系统研究列为尤利龙计划,大力进行该方面的研究。在上世纪80年代,欧洲电器标准化委员会制定了家用数字总线标准,进一步规划了智能住宅的技术标准。在东南亚,新加坡的智能建筑技术研究处于领先水平,如宝德胜家庭智能化系统,已经用于30多个住宅小区。在“亚洲家庭电器与电子消费品国展览会”上展示的“未来之家”,其智能品质受到人们的普遍关注。由于我国的房地产,自动化技术等起步较晚,对智能住宅的研究刚刚起步,但己经引起了有关部门的高度重视。有关机构统计表明,全球家庭智能化市场的年平均增长率为8,家庭网络市场总额为57亿美元,智能家居产品销售额达到140亿美元。为了抢夺这块“蛋糕”国内
21、众多企业纷纷试水该产业,包括TCL、海尔、清华同方等大型企业利用品牌优势系入该产业,而数干家中小企业也一日益成为行业中的生力军。业界人士认为,制约该产业发展有“三道坎”:一是由于智能家居产业国家还没有统一的行业标准,很多中小企业各自为政,相互间的产品不具兼容性;第二,由于技术人员投有做深入的市场调查,开发出的产品虽然技术上具有先进性,但实用性差,操作复杂,与市场需求脱节:第三,由于技术上需要投入大量研发资金,一些中小企业没有能力持续创新,更难形成规模生产,造成产品价格居高不下。总的来说,我国智能家居信息化有着广泛的市场前景,研究适合于中国国情的智能家居系统必然有着巨大的市场前景。第1.3节 智
22、能家居远程控制系统技术的发展趋势数据采集是现代检测技术的基础,同时也是自动化测试中重要的组成部分,它为测试系统提供可供分析的数据。常用的数据采集系统有两种,一种是以单片微处理器为核心的数据采集系统它的构成主要由传感器、放大器、采样保持器、模拟多路开关、AD转换器、微处理器及其它一些外围器件构成。第二种是基于通用微型计算机(如PC机)的数据采集系统。这类系统一般由计算机和数据采集卡组成,目前数据采集卡一般基于标准总线(如工控标准总线STD、传输位总线BITBUS、CAN总线、PC总线等总线系统)并带有高速DSP,通过计算机插槽与计算机相连,形成内插式工作方式。数据采集系统的性能可以通过以下几个指
23、标来衡量:(1)系统分辨率。是指系统可以分辨的输入信号的最小变化量。(2)系统精度。指当系统工作在额定采集速率时每个离散子样的转换精度,是系统实际输出值与理论输出值之差。系统精度是系统各个环节精度的集中表现一般达不到模数转换器的精度。模数转换器的精度是系统精度的极限值。(3)采集速率。是指在满足系统精度指标的前提下,系统对输入模拟信号在单位时间内所完成的采样次数,即系统每个通道、每秒钟可采集的子样数目。(4)动态范围。信号的动态范围是指信号的最大幅值和最小幅值之比的分贝数。目前国外的数据采集系统的研制已经相当成熟,而且种类繁多,性能好,功能强大,并且以基于通用微型计算机的系统居多,这种系统的核
24、心是可插入计算机标准插槽的高速数据采集卡。在国内,很多大学、科研机关、公司也从事着数据采集系统的研制。随着数据采集技术不断发展市场上出现了很多新型的数据采集器。如北京中泰研创科技有限公司的数据采集系统PCI-8344B,它具有16位A/D,8通道并行同时转换,每个通道的转换速率都可以达到l00KHz。四川拓普数字设备有限公司的PCI-10016具有4通道模拟量输入,具有16位的A/D,最高采样率l00Ksps。北京康泰电子有限公司的DAQ-1602/PCI 16位PCI总线数据采集板,具有16位、250KHz和500KHz的A/D输入、四种可编程增益选择、2048字节的数据缓存。对比国内外现有
25、数据采集系统的性能、价格和功能,可以看出:国外的数据采集系统精度高、采样速度快、功能全,但是价格昂贵并且体积较大,操作复杂。国内的数据采集系统虽然价格较为便宜,但与国外的相比无论精度和速度都存在一定的距离。第1.4节 方案研究的内容与特色方案研究的目的就在于设计一种低成本、高效率、简捷便利的智能家居控制器。传统控制技术中若对家居设备进行监控,需要通过专用通信线,不仅通信介质是专用的,而且通信协议、配套软件和硬件都要专门设计。而采用嵌入式Web技术,只需将嵌入式设备连接到Internet,便可方便的实现监控功能。本文设计的控制器采用嵌入式Web技术将家庭中的大量传统家电设备和信息家电互连,实现集
26、中控制和管理,并可提供一个家居内部以太网与外部以太网或Internet的接口,以满足远程访问和控制,使原来的普通住宅真正成为一座融安全性、舒适性、方便性、健康性、经济性于一体的智能化住宅。利用以太网能与Intemet进行无缝连接,还有比较大的带宽,能适应家庭语音、视频等数据量较大的通信场合。用以太网组建智能家居网络平台具有其它网络无法达到的优点。嵌入式设备可以通过以太网口直接与Interact进行交互。无需增加额外的设备如协议转换网关等。为适应现代家庭生活而设计的家庭网络智能控制体系结构,方案集成了当今的网络技术、自动化技术、计算机技术。整体来看,智能家属系统由家庭智能应用终端、嵌入式家庭内部
27、网络通信平台、和嵌入式智能家庭网关组成。一方面,家庭内部网可以通过内部智能通信平台在家庭内部通过摇控板、按键操作等方式与用户进行交互,如无线控制设备的开关、异常事件如煤气泄漏、漏电、漏水、火情的语音报警等。另一方面家庭内部网也可以通过网关与Internet进行交互,用户可以通过Web来访问或控制家用电器设备(主动访问),或者家电设备可以通过手机模块进行短信群发或邮件群发等方式向用户报告家庭内部状况(被动访问)。 本文中着重讨论了利用以太网口以嵌入式计算机为硬件平台,开发家居控制中心的设计与实现。主要完成的工作有: (1)、在目标机的NAND Flash上下载引导程序U-Boot (2)、在目标
28、机的NAND Flash上移植和下载Linux内核 (3)、在目标机的NAND Flash上下载自制根文件系统 (4)、安装交叉编译环境 (5)、配置NFS网络文件系统 (6)、架设嵌入式WEB服务器 (7)、编写Linux驱动程序 (8)、设计WEB用户界面 (9)、编写启动脚本 所设计的方案具有以下的特色:(1)、由于采用的嵌入式WEB服务器BOA为单任务服务器,因此不具有并发性。通过采用Linux的内核定时器机制使系统具有了并发执行多个任务的能力,同时提高了WEB页面的响应速度,改善了用户的体验和系统的整体性能。(2)、系统所采用的用户界面贯彻了“傻瓜化”思想,简单易用。即使不会用电脑也
29、能在几分钟内轻松学会。同时系统豹安全性也得到了改善。(3)、“一键通”。即插上网线后打开电源就能使用。同样贯彻了“傻瓜化”的思想。第2章 智能家居远程控制系统的总体方案第2.1节 系统的需求分析经过前几年各商家、媒体对家居智能化概念性的宣抟,现在消费者对智能家居产品已经不断熟悉。有关调查显示,消费者已经接受了智能家居这一产品的概念且有购买意向。而在家电控制产品价格方面绝大多数的消费者的承受价位在5000元以内,近l3的消费者承受价位在2000元以下。然而时至今日,国内厂家自行研制、开发的智能家居产品不太成熟,而有一些国外的知名品牌由于价格太高,无法满足国内市场的需求。所以智能化家居产品的确蕴涵
30、了无限商机。但是要真正挖掘如此大的市场,则需要研究消费者的深层需求哪。嵌入式技术在最近几年得到了广泛的发展。嵌入式处理器的性能得到了显著的提高,这就为以嵌入式为基础的智能化家居系统的发展奠定了硬件基础,使较复杂的检测和识别算法在系统中得到应用。在软件方面,出现了丰富的支持嵌入式设备的软件,使嵌入式系统的开发的难度降低。出现了大量专注于嵌入式的企业,使嵌入式开发中能得到良好的技术支持。同时智能化家居的概念也更加明确。相关的智能化技术得到了显著的发展,使开发能获得大量先进的资料。第2.2节 系统的总体规划设计随着互联网技术的发展,宽带网络在全国范围内迅速扩展。许多新建住宅小区都将以太网铺设到了用户
31、家庭,使得整个小区的居民通过以太网实现宽带上两成为可能。同时,随着社区服务的完善。智能小区需要通过一个安装在每个家庭的终端设备实现信息发布、物业管理、三表传送、紧急求助等功能。以往,这样的信息终端和社区服务中心通过铺设专线,如485总线来进行连接,工程量大,故障率高,且由于只能采取主机轮循方式而效率较低。如果能够利用已经铺设到用户家庭的、现成的、稳定的以太网络组建社区综合服务体系是一项非常有意义的事情。而目前基于以太网的信息终端通常采用32bit的微处理器和Linux等通用操作系统,这种结构开发周期短、功能强、信息交换速率高、但致命的是成本太高,这也是一直在国内无法推广的主要问题。因此,向智能
32、小区的每个住宅提供一个基于16/32位MCU连接以太网的低成本信息终端。不仅具有实用价值,而且市场前景也相当广阔。在本方案中,设计了一台家居服务器,即家庭主机,可以安装在智能小区的每个家庭中,它是相对独立的智能测控设备,可以直接与小区的以太网相连接。考虑作为一个成本敏感的消费电子产品,以提供实用化功能为原则,将其控制在一个适当合理的价格范围。在此应用中,信息终端对数据交换的速率要求并不高,所以可采用价格低廉的高速CPU,从而将整个终端的成本降到用户能承受的范匿内。2.2.1. 系统的体系结构(1)、嵌入式家庭远程监控系统结构:如图2-1所示。图 2-1 嵌入式家庭远程监控系统反馈(2)、系统软
33、件架构浏览器请求嵌入式Web服务器CGI程序 静态HTML驱动模块3驱动模块2驱动模块1硬件图 2-2 系统框架2.2.2. 系统实现功能系统采用32位嵌入式系统作为控制终端和家中各种家电设备相连,完成数据采集和控制信号的传输。控制终端和Internet的互连和用户的交互,则由控制终端嵌入式操作系统的Web服务器来完成,在嵌入式系统的存储器中存放着我们设计好的控制页面,该页面位于服务器默认的目录下,当控制终端配置好IP地址并运行Web服务器后,远程用户在网络上任何一台客户机上输入控制终端的IP地址,就可以访问到服务器的监控主页。用户和服务器的动态交互是通过CGI程序束实现的,它是服务器接受用户
34、信息进行处理并将结果返回给用户的过程。当用户通过控制页面输入了一个控制命令(比如电灯的打开),这个指令将作为一个请求传给Web服务器,服务器守护进程接收到该请求后,就会创建一个子进程称为CGI子进程,该CGI子进程将用户的请求设置成环境变量,然后启动外部CGI程序,该程序的输出通过硬件控制器变为开关量或模拟量,从而实现对家庭中各种设备的控制和调节,结果可以返回给客户端浏览器。第3章 智能家居远程控制系统硬件设计第3.1节 硬件体系架构硬件平台一般采用模块法设计,包括核心板和扩展板。核心板为基于ARM的最小系统,包括ARMS3C2410、Flash、SDRAM、串口等基本部分。这样,只需设计不同
35、的扩展板即可实现不同的系统功能,节省了开发成本并提高开发的灵活性,扩展板主要包括特殊用图的USB接口、以太网接口、LCD接口。主要模块的功能描述: CPU单元:S3C2410 16/32-bit ARM920T内核,内部带有全性能MMU(内存管理单元),具有开放式设计,集成度商,可扩展性强,功耗低等特点。存储器单元:64MB Nand Flash,64MB SRAM电源管理单元:为系统提供5V、3.3V、1.25V的供电电源。复位电路:包括上电复位和手段复位,至少保持4个时钟周期的有效低电平,保证系统的可靠复位。时钟电路:外部12MHz时钟输入,经内部PLL倍频至200MHz及32.768kH
36、z的RTC时钟输入。网络接口:为系统提供以太网接入的物理通道。第3.2节 电源管理模块系统需要使用5V、3.3V、1.25v的直流稳压电源,其中内核工作需要1.25V电源,ARM的IO端口工作和部分器件需要3.3V。为触摸屏提供5V直流稳压电源。这三种电压产生方法是5V从外部直接引入,作为系统的总电源,一路直接供给作为工作电源,一路分流到LT1085的输入端;LT1085电源稳压芯片的输出端产生3.3V电压,一路供给板子上器件,一路分流到稳压MAX8860EUA的输入端,其输出端产生1.25 V,两电源原理图如图3.1所示。图 3-1 电源电路原理图第3.3节 时钟复位模块S3C2410部分需
37、要两路时钟输入,一路是S3C2410工作时钟输入,另一路提供给RTC电路。S3C2410工作时钟是一个有源晶振,直接输出12MHz时钟信号到S3C2410,由S3C2410内部PLL倍频到200MHz,两路时钟输入见图3.2。 图 3-2 时钟电路原理圈 复位对于系统来说很重要,由于各个单元要进入正常工作状态,需要可靠地复位,正常情况下,一般有上电复位和手动复位。如果电源电压出现波动,系统会非正常复位,这个时候会发生复位时间不够而造成一些错误甚至死机,所以复位监控电路也是必要的。复位电路选用的芯片是MAX811S,原理图见图3.3。图 3-3 复位电路第3.4节 RS232串口模块S3C241
38、0的UART单元提供独立的异步串行I/O端口,每个都可以在中断和DMA两种模式下工作。支持最高波特率为1152kbps,每个UART通道包含2个16位的FIFO,分别用于接收和发送数据。UART可以进行以下参数设置:可编程波特率,红外收发模式,1或2个停止位,5位、6位、7位或8位数据宽度和奇偶校验位。每个UART包含一个波特率发生器、发送器、接收器和控制单元。波特率发生器以MCLK作为时钟;发送器和接收器包含16字节的FIFO和移位寄存器。系统中采用芯片MAX3232作为RS-232的电平转换,实现串口通信。串口UART模块见图3.4,其中C40-C44电容值均为0.luF。 图 3-4 串
39、口UART模块第3.5节 JTAG模块 JTAG对于产品来说不需要这个接口,但是在开发产品的过程中,JTAG接口是必不可少的,板子运行的第一个程序:Bootloader是通过JTAG下载,调试阶段JTAG也起到非常重要的作用其原理图见图35。 图 3-5 JTAG电路原理图第3.6节 Flash存储模块与Flash存储器相比较,SDRAM不具有掉电保持数据的特性,但其存储速度大大高于F1ash存储器,且具有读写的属性,因此,SDRAM在系统中主要用作程序运行空间,数据及堆栈区。当系统启动时,CPU首先从复位地址0x0处读取启动代码,完成系统初始化后,程序代码一般应调入SDRAM中运行,以提高系
40、统的运行速度,同时系统及用户堆栈、运行数据也都放在SDRAM中。S3C2410在片内具有独立的SDRAM刷新控制逻辑,可方便地与SDRAM接口。本系统采用的两片Samsung公司的K4S56132C-TC75芯片构建32位的SDRAM存储器系统。每片K4S561632C的存储容量为16组*6M位,工作电压为3.3V,常见封装为54脚TSOP,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh),16位数据宽度,连接原理图见图3.6a、3.6b。图 3-6 SDRAM电路原理图(a) 图 3-7 SDRAM电路原理图第4章 智能家居远程控制系统软件开发
41、第4.1节 嵌入式开发软件平台目前市场上流行的嵌入式操作系统比较多,主要有:嵌入式Linux、uC/OS、WinCE等。相比之下Linux从诞生到现在短短的十几年的时间已经发展成为功能强大、设计完善的操作系统。不仅在通用系统领域与Windows等商业系统分庭抗争,而且在嵌入式操作系统领域也获得了飞速的发展。嵌入式Linux对标准的Linux进行了小型化裁剪处理,固化在存储器或单片机中。在操作系统的选择上,对实时系统,uC/OS-II当然是比较好的选择,但本智能家居系统中对实耐性要求不高,况且uC/OS-II的驱动程序太少。缺少必要的“基础设施”,许多设备比如以太网口都要自己编制驱动程序,相比之
42、下,嵌入式Linux是个不错的选择。因为既有以下优势:(1)开放源码有丰富的软件资源。(2)功能强大的内核,性能高教、稳定,多任务。(3)支持多种体系结构(4)完善的网络通信、图形和文件管理机制(5)支持大量周边的硬件设备(6)大小功能都可定制。第4.2节 交叉编译环境交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。这里的平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86
43、体系结构和Linux for x86操作系统的统称;而x86 winNT平台实际上是Intel x86体系结构和windows NT for x86操作系统的简称。就ARM而言,之所以使用交叉编泽是因为在该硬件上无法安装我们所需的编译器,只好借助于宿主机,在宿主机上对即将运行在目标机上的应用程序进行编译,生成可在目标机上运行的代码格武。第4.3节 U-Boot原理分析与移植UBoot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。U-Boot源码目录结构1. board:开发板相关目录2. common:通用的命令函数3.
44、cpu:特定CPU架构相关目录,如arm920t4. doc:uboot的开发、使用文档5. drivers:uboot支持的设备驱动程序,比如串口,nandflash,网卡6. fs: 支持的文件系统,Uboot现在支持cramfs、fat、fdos、jffs2和registerfs。7. include:头文件和开发板配置文件,configs目录下是开发板的配置文件8. lib_xxxx: 与体系结构相关的库文件。如与ARM相关的库放在lib_arm中。9. lib_generic:通用的库函数10. net:各种网络协议,TFTP协议、NFS协议等。11. tools:uboot自带的工
45、具 4.1.2.1 U-Boot的移植解压U-BOOT-1.1.6,进入U-BOOT目录,修改Makefile:在smdk2410_config : unconfig $(MKCONFIG) $(:_config=) arm arm920t smdk2410 NULL s3c24x0加上XJB2410_config:unconfig $(MKCONFIG) $(:_config=) arm arm920t XJB2410 NULL s3c24x0在第128行:ifeq ($(ARCH),arm) CROSS_COMPILE = arm-linux-修改完Makefile后,在board目录下,
46、新建自己的开发板目录XUJINB2440,把smdk2410目录下的所有文件拷到XUJINB2440,把smdk2410.c改为XUJINB2440.c。修改该目录下的Makefile,把smdk2410.o改为XJB2410.o。COBJS:= XUJINB2440.o flash.o将board目录下所有文件夹全部删除,只留XUJINB2440,在include/configs目录下创建板子的配置头文件,把smdk2410.h改名为XUJINB2440.h,再把所有的文件全部删除,只留XUJINB2440.h,用chmod 764 mkconfig加上权限,然后再make,成功后可出现 C
47、onfiguring for XUJINB2440 board.修改SDRAM配置,在board/XUJINB2440/lowlevel_init.S中,检查#define B6_BWSCON (DW32) 位宽为32,把B1_BWSCON 改为(DW16) B5_BWSCON 改为(DW8)根据HCLK设置SDRAM 的刷新参数,主要是REFCNT寄存器,开发板HCLK为100M,将 #define REFCNT0x1113 改为 #define REFCNT 0x4f4,增加对S3C2440的支持,2440的时钟计算公式、NAND操作和2410不太一样。对于2440开发板,将FCLK设为400MHz,分频比为FCLK:HCLK:PCLK=1:4:8。编译U-Boot, #make,在顶层目录下可以看到编译完成的映像文件U-Boot.bin,利用Embest Online Flash Programmer for ARM软件,将映像文件U-Boot.bin通过JTAG烧写到Nor Flash中,烧写地址为:0x00000000-0x00020000。烧写完成后,重启开发板就可以在超级终端中看到U-Boot的启动信息了。至此,U-Boot的移植工作就完成了。移植开发环境搭建完成,接下来就可以进行Linux内核的移植了。第4.4节 Linux内核分析与移植
限制150内