</div>
根据IEEE的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统以其占用资源少、专用性强、功耗低的特点使其广泛应用在移动通信、工业生产、安全监控等领域。以其在性能、体积及功耗等方面的优势在智能家居领域得到越来越广泛的应用。 随着嵌入式技术、网络及信息技术的发展,针对人们对智能家居的追求,提出了一种基于ARM9的嵌入式智能家居控制系统的解决方案。介绍了嵌入式Linux系统的软硬件平台,结合实例阐述了嵌入式QT图形界面系统、嵌入式数据库SQLite等关键技术在嵌入式智能家居控制系统中的应用。该方案解决了控制系统的可视化操作问题,提高了系统数据管理效率,并具有通用性可移植到其他硬件或软件平台应用。 系统结构设计 本文将控制系统分为现场控制级(主机)和多个控制对象级(分机)。主机设备能够收集到控制对象的各种信息,对这些数据进行处理,并能够在设定的条件下产生报警。通过该系统,可以得到家居的各种运行状态(例如,房间温度、湿度,煤气泄漏报警等),并能根据现场情况做出相应的调整控制(例如,照明及家电控制等)。其家居控制系统结构如图1所示。 图1 家居控制系统结构图 文章仅研究设计智能家居的分机部分,图1中的GSM和GPRS等远程通信模块作为以后系统的扩展升级。主机MCU选用ARM9芯片S3C2410,因其具有丰富的功能端口而适合设计要求和日后扩展。S3C2410嵌入式微处理器集成了众多的常用资源,例如,LCD控制器、NAND Flash控制器、SDRAM控制器、系统片选逻辑以及一些常用的通信接口等资源。 分机采用16位单片机MSP430F149,主要考虑此芯片的低功耗性能,具有超低功耗的MSP单片机可以完成分机家居现场的控制功能。报警信息的采集就是对各传感器的信息采集;对各种家电的控制是通过控制连接在家电电源的继电器来实现;现场控制手动命令是通过触摸屏来实现的。各分机通过nRF905收发模块与主机进行无线通信。各分机通过连接不同的传感器或控制器来实现不同的功能。 系统软件开发 在Windows CE.net产品的开发中,有两个重要的方面,一个是内核定制,另一个是应用程序的开发。微软在这两个方面都提供了非常好的开发工具,就是内核定制工具Platform Builder和应用程序开发工具Embedded Visual C++。 1 操作系统平台定制 Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。 Windows CE作业系统是Windows家族中最新的成员,专门设计给掌上型电脑(HPCs)所使用的电脑环境。这样的作业系统可使完整的可携式技术与现有的Windows桌面技术整合工作。 Windows CE 被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统,Windows CE 可以通过设计一层位于内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬件抽象层(HAL)(在以前解释时,这被称为 OEMC (原始设备制造)适应层,即 OAL; 内核压缩层,即 KAL。 以免与微软的 Windows NT 操作系统 HAL 混淆) 。 Windows CE平台的定制过程 (1)选择操作系统的基本配置,并且为特定的平台选择相应的微处理器和板级支持包BSP(Board Support Packet)。本系统终端采用S3C2410处理器,因此我们导入了和硬件平台相关的smdk2410.cec文件。 (2)利用标准开发向导,根据Windows CE的架构创建一个定制平台,根据目标硬件设备开发Boot Loader、设备驱动程序,适当的裁减、添加组件。 (3)通过以太网、USB或串口将镜像文件下载到目标设备,可以使用Platform Builder提供的调试工具查看Windows CE.net的运行情况并进行调试,若需要,进行重复配置、封装、下载及调试,直到满足要求,完成平台的创建。 (4)最后,导出相应的SDK(Software Development Kit)软件开发工具包,运行后安装到EVC中,使得可以进行特定硬件平台上的应用程序开发。SDK包含程序库、头文件、示例程序源代码和库函数使用文档,同时还包括编程指导和API参与以及设备驱动工具包(DDK)。 安装BSP BSP即Board Support Package,板级支持包。它来源于嵌入式操作系统与硬件无关的设计思想,操作系统被设计为运行在虚拟的硬件平台上。对于具体的硬件平台,与硬件相关的代码都被封装在BSP中,由BSP向上提供虚拟的硬件平台,BSP与操作系统通过定义好的接口进行交互。BSP是所有与硬件相关的代码体的集合。一个成熟的商用操作系统,其被广泛应用的必要条件之一就是能够支持众多的硬件平台,并实现应用程序的硬件无关性。一般来说,这种无关性都是由操作系统实现的。 BSP就是为软件操作系统正常运行提供最基本、最原始的硬件操作的软件模块,它和操作系统息息相关,但又不属于操作系统的一部分。BSP可以分为三大部分: 1:系统上电时的硬件初始化。 2:为操作系统访问硬件驱动程序提供支持。 3:集成的硬件相关和硬件无关的操作系统所需的软件模块。 开发BSP需要的条件 ·目标硬件:硬件调测完毕,经过必要的软件测试 ·必要的硬件设计文档:如地址空间的分布,CPU和其他芯片的工作模式等。 ·操作系统 ·交叉开发工具:编译器、汇编器、链接器等 ·下载机制:bootrom或仿真器等 2 BSP实际开发的主要过程 1. 掌握开发中使用的操作系统,和在这种操作系统下开发BSP的要求。 2. 研读所选CPU的资料。 3. 研读硬件设计文挡。 4. 研读电路板中器件的资料。 5. 找一个BSP模板,熟悉它并在此基础上开发自己的BSP。从头研制BSP工作量极大,也没有必要。 6. 利用仿真器进行调试,开发最小BSP系统。 7. 在最小BSP的基础上,利用Tornado集成开发环境,进一步调试外围设备,配置、完善系统。 8. 调试单板上的设备驱动程序。 把Windows CE.net移植到新硬件平台由平台构造器(Platform Builder)完成。Platform Builder 是一个定制基于Windows CE.net 操作系统的嵌入式平台的集成开发环境(IDE)。我们为一个硬件平台构建CE系统,在PB里实际上就是创建平台,然后编译平台,得到CE映像文件的过程。所以我们首先需要创建一个平台。BSP是连接一个硬件平台和操作系统内核功能的桥梁,所以,首先PB会要求选择BSP。 Platform Builder 是微软公司提供给Windows CE 开发人员进行基于Windows CE 平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试Windows CE 操作系统平台的工具。它运行在桌面Windows 下,开发人员可以通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和调试,如果开发板 您可能想查找下面的文章:文章分类 |